fix(client): neutral not-ready HUD state and server-authoritative HUD commands (P1/P2)
- Stats 6-11 decoded per ItemStatCost ValShift 8 (unconditional >>8, no
magnitude heuristic); evidence in self.ts doc (capture 1e 07 00 32 = 50<<8).
- Neutral defaults: no Sorceress/lvl85/850k gold/starter gear/belt potions/
quests/waypoints; class null until server assigns it; XP from
D2_EXPERIENCE_TABLE_99; no 'Wanderer'/'Player'/'sor'/||100 fallbacks.
- HudCommandSink: HudManager routes stat/skill alloc, skill select, belt use,
weapon swap, item pick/place/equip/unequip/drop/use, gold drop, transmute and
waypoint to HudModel commands with no local mutation; render stamina tick
removed; fabricated skill damage strings removed.
- HudModel.syncFromWorld rebuilds skills/quickbar/containers/waypoints/quests
unconditionally; derived stats via derived-stats.ts; BeltUse uses real ids.
- netproto: C2S 0x50 DropGold command + encoder.
- ClientWorld: waypoint unitId from 0x63, 0x79 self/partner trade gold split,
pseudo StatSet ids (>0x1ff) never enter StatLists.
- Tests migrated to explicit demo fixtures (tests/fixtures/hud-demo-state.ts)
plus new hud-server-authority / drop-gold regression tests.