52 commits on gear/screen-2026-10-17, fast-forwarded to main. Designs and plans under
docs/superpowers/.
Gear: see, compare, equip, wear
- A bag per class: every piece you collect stays yours; a drop never salvages a worn piece. Saved characters migrate on first load (worn and starter pieces move into the bag).
- Rank 1–5 belongs to the slot and applies to whatever it wears; starter pieces use it too.
- Tiers carry power (starter 0.5×, raid 1×, tier 2 1.25×, legendary 1.5×); item level = 20 × tier × rank; a gear score (sum of worn item levels) on the hero card and the sheet.
- Gear sheet dialog (layout A): slot doll with name, item level, stars and effect beside each icon; hover a slot for its panel (worn, owned with Equip, unowned greyed with where they drop); one-click Equip and Unequip; green/red deltas including set bonuses; two-line Upgrade button with the cost, the gain and what's short; currency strip with hover explanations; NEW badges cleared when you open the slot; no stars on empty slots.
- Run results: the drop card shows item level, rarity, stars, what you wear, Equip now / Keep in bag; equipping from results works (the Armory locks only while a run is live).
- The hero wears the equipped gear in the menu (re-dressed on equip, no scene reload) and in the
run; an equipped bow goes to the ranged slot and replaces the class melee prop. TBC/Wrath
weapon models (Thori'dal, Warglaives) are not drawn yet: the class weapon shows instead
(
docs/archive/research/TBC-WRATH-WEAPON-MODELS-PLAN.md). - Legendary effect text corrected (+1.2% damage per rank, max 6%).
Main screen and parties (direction A)
- Hero card (name, class, gear score, currencies, Gear / Talents / Spells dialogs), next-run card with PLAY (solo starts at once, no party screen), Change zone and Difficulty dialogs (payouts read from the live rules), friends card (Create a party, Join with a code, Open parties), corner bar (Codex, How to play, Offline Practice, Feedback, Download, Options, Logout).
- Party card: members, code with Copy invite, Listed / Invite only as one toggle button (changeable live by the leader), Start / Ready, the world loads dimmed behind it with the HUD out of sight until Start. Unlisted rooms need no password; any click on the card keeps it alive.
- First visit once per account: Welcome, class with one-line roles, the first run alone
(The Barrens, Normal). Hover explanations for every term, one-time hints under cards and
dialogs, in-run hints on the first run (cache, objective, boss, rune, level up) at the bottom
centre; all remembered per account (
account_prefs,/api/profile/prefs). - Solo results offer Back to the main screen. Vocabulary: Play, Party, Difficulty, Start.
- Idle forming lobbies close after 10 minutes; a disconnected seat in a forming lobby is kept 2 minutes.
In the run
- Click to move: a short left click on open ground walks the hero there (green ring); WASD, F, Esc or a new click cancels; a reward pause only holds the walk.
- N shows your three talent trees with learned ranks and effects (read-only); C shows your equipped gear in the character slots with tooltips.
- Berserking grows its carrier 2× (was 3×).
- From main: enemies spawn without the fade-in, off-screen bodies stop animating, corpses fade in 0.7 s, idle views stop costing bind groups, rosters preload, 110 enemies at once by default.
Tooling
scripts/local-build.ps1+Dockerfile.local: a running local server in about 2 minutes from the warm dev container (the release Dockerfile stays for CI).- Zone probe and report (
scripts/zone-probe.ps1,scripts/zone-report.py), 35-zone catalog with measured bounds (shipped earlier today in 8943e03/491c2e3).