feat(client): character select, triangle activation consumer, news ticker

Sprint 24 Signal — three client tickets delivering the player-facing
storyteller feedback loop:

- #588: Character archetype select screen between New Game and session
  start. Two-card UI (Smuggler/Detective), keyboard+mouse, ESC cancels.
  GameState.character_archetype persisted and sent in StartupMessage.
  PROTOCOL_VERSION bumped to 19.
- #590: Triangle crisis event consumer. Decodes triangle_crisis_events
  from snapshot, fires sfx_monologue_chime_urgent once per triangle per
  session via AudioManager.CHIME_ACTIVATION.
- #592: News ticker HUD element. Scrolling marquee on UILayer, visible
  only when current_ticker is present in snapshot (Last Shift zone).
  Zero-arg update_from_state reads from GameState.current_snapshot.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-05 11:44:05 +01:00
co-authored by Claude Opus 4.6
parent 7ba2be0652
commit 61d454228d
15 changed files with 501 additions and 10 deletions
+7
View File
@@ -205,3 +205,10 @@ character_select:
detective_name: "Commission Investigator"
detective_tagline: "The manifests don't add up. Someone in this district knows why."
confirm: "Begin"
# #588: Card display strings — name, role, tone per archetype
smuggler_card_name: "Smuggler"
smuggler_card_role: "Freight logistics worker — Sova Transit"
smuggler_card_tone: "Insider access. Social camouflage. The ring is your daily life."
detective_card_name: "Detective"
detective_card_role: "Commission investigator — External assignment"
detective_card_tone: "Institutional authority. Analytical lattice. You were sent here."