feat(rust): named NPC markers, bigger bosses, and an event's progress lines (runicnpc stage 8) #54

Merged
whitlocktech merged 1 commits from feat/runicnpc-stage8 into edge 2026-10-06 13:32:58 +00:00
Member

What

RunicNPC stage 8 in the app (D302–D304), matching the site.

  • The map.
    • An NPC's card says its name, or "(boss)" or "(a boss's add)".
    • The card names its event, with the title taken from the run resolver's existing calendar read; the resolver gains titles(), which never reads by itself.
    • A boss is bigger and magenta.
    • A boss outside any event is a world-layer marker with its name.
  • The event screen renders the live occurrence's progress lines (MODULE_API 1.12.0): "Bandit: 2 of 3 left", "Walk Juggernaut: 59%". While the event is live it re-reads every 15 s, quietly; a failed re-read keeps the page.
  • DTOs gain the new fields with defaults, so an older site decodes as before.

Tested

  • Unit tests: 743 pass, including new tests for progress text, boss and add markers, resolver titles, and decoding new and old shapes. lintDebug and assembleDebug pass, as in CI.
  • Emulator walk (s22_ultra, against the walk site with website#210 and Module-Rust's branch):
    • The event screen showed both lines and moved from "2 of 3 left" to "1 of 3 left" while open.
    • The map drew both bosses bigger.
    • A world boss's card read "Walk Juggernaut (boss)".
    • An add's card read "Bandit (a boss's add)", with "Site event · Stage 8 walk — the harbour raid" and Open event.

Checklist

  • I have read CONTRIBUTING.md.
  • AI tools were used. Tool(s): Claude Code (Claude Opus 5.5). The commit carries the Co-Authored-By trailer.
  • I agree that my contribution is licensed under GPL-3.0-or-later.

🤖 Generated with Claude Code

https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY

## What RunicNPC stage 8 in the app (D302–D304), matching the site. - **The map.** - An NPC's card says its name, or "(boss)" or "(a boss's add)". - The card names its event, with the title taken from the run resolver's existing calendar read; the resolver gains `titles()`, which never reads by itself. - A boss is bigger and magenta. - A boss outside any event is a world-layer marker with its name. - **The event screen** renders the live occurrence's `progress` lines (MODULE_API 1.12.0): "Bandit: 2 of 3 left", "Walk Juggernaut: 59%". While the event is live it re-reads every 15 s, quietly; a failed re-read keeps the page. - **DTOs** gain the new fields with defaults, so an older site decodes as before. ## Tested - **Unit tests:** 743 pass, including new tests for progress text, boss and add markers, resolver titles, and decoding new and old shapes. `lintDebug` and `assembleDebug` pass, as in CI. - **Emulator walk** (`s22_ultra`, against the walk site with website#210 and Module-Rust's branch): - The event screen showed both lines and moved from "2 of 3 left" to "1 of 3 left" while open. - The map drew both bosses bigger. - A world boss's card read "Walk Juggernaut (boss)". - An add's card read "Bandit (a boss's add)", with "Site event · Stage 8 walk — the harbour raid" and Open event. ## Checklist - [x] I have read CONTRIBUTING.md. - [x] AI tools were used. Tool(s): `Claude Code (Claude Opus 5.5)`. The commit carries the `Co-Authored-By` trailer. - [x] I agree that my contribution is licensed under GPL-3.0-or-later. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
wtclaude added 1 commit 2026-10-06 13:28:10 +00:00
feat(rust): named NPC markers, bigger bosses, and an event's progress lines (runicnpc stage 8)
All checks were successful
PR Checks / android-build (pull_request) Successful in 13m36s
e6aa9526c8
- The map (D302, D303), as the site draws it:
  - an NPC's card is its name, or "(boss)" or "(a boss's add)";
  - the card names its event, with the title from the run resolver's
    existing calendar read;
  - a boss is bigger and magenta;
  - a boss outside any event is a world-layer marker with its name.
- The event screen renders the live occurrence's progress lines
  (MODULE_API 1.12.0, D304): "Bandit: 2 of 3 left", "Walk Juggernaut:
  59%". It re-reads quietly every 15 s while the event is live.
- DTOs gain the new fields with defaults, so an older site decodes as
  before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E14m6SuuY6i1vASFeGDBeY
whitlocktech merged commit 3dddcb6525 into edge 2026-10-06 13:32:58 +00:00
whitlocktech deleted branch feat/runicnpc-stage8 2026-10-06 13:32:59 +00:00
Sign in to join this conversation.
No description provided.