Add emergency aftermath: evacuation, investigation, review copy
- Responder outcomes now reach the shift review (ShiftCoordinator.responder_outcomes), and the review screen names them. - "evacuation" (emergency call, low danger, no weapon) actually clears the entrance: the door is locked, every NPC flees and is marked as leaving, and a security_failure reputation hit applies. - An emergency call the situation did not justify (no weapon, danger <= 1) appends an investigation note, records investigation_opened, and applies the existing false_report hit. The review lists the investigations. - Fix dispatch dying after the first shift: coordinator.setup() builds a new RadioSystem, so the responder_arrived connection made in _ready was lost on every venue switch/restart. _connect_radio() re-wires it beside _connect_crowd(). Tests/docs - Headless suite 105 -> 113 (test_emergency_aftermath.gd), new smoke_emergency.gd covering the investigation, evacuation aftermath, and review copy. - README controls/status/smoke checklist, TODO section moved to DONE, MEMORY notes. - Version 0.2.5.
This commit is contained in:
1 parent
71b0b53705
commit
921bab796e
25 files changed
+1019
-23
No files matched your search
@@ -1,21 +1,11 @@
|
||||
# TODO
|
||||
|
||||
Godot 4.3 prototype. Release **v0.2.4** is tagged; CI builds the installers and AppImage.
|
||||
Headless suite **105/105**, plus `smoke_session_shell.gd`, `smoke_plan_verbs.gd`,
|
||||
`smoke_crowd.gd`, and the windowed focus/radial smoke.
|
||||
Godot 4.3 prototype. Release **v0.2.5** is tagged. Headless suite **113/113**, plus
|
||||
`smoke_session_shell.gd`, `smoke_plan_verbs.gd`, `smoke_crowd.gd`, `smoke_emergency.gd`, and the
|
||||
windowed focus/radial smoke.
|
||||
|
||||
Host `REQUIRE_SIGNIN_VIEW` stays deferred.
|
||||
|
||||
## Emergency aftermath
|
||||
|
||||
Responder outcomes (`command` / `restraint` / `evacuation` / `arrest`) are log lines. PLAN also
|
||||
wants evacuation, a closed street, and an investigation when the call was unjustified.
|
||||
|
||||
- [ ] `evacuation` outcome actually clears the entrance (NPCs leave, door stays locked).
|
||||
- [ ] Unjustified emergency (low danger, no weapon) writes an investigation note on the shift
|
||||
review and applies the existing false-report / reputation hit.
|
||||
- [ ] Review copy names the responder outcome, not only battery and crowd %.
|
||||
|
||||
## Body-camera replay
|
||||
|
||||
- [ ] Shift review: a timeline of recorded incident events (ADR-0005 already stores them).
|
||||
@@ -66,6 +56,18 @@ Verified via API+host credentials (2026-10-31):
|
||||
|
||||
- [ ] Keep `%` placeholders stable in `Strings.fmt` when adding keys (positional formatting).
|
||||
|
||||
## Screen design references (QA tooling)
|
||||
|
||||
- [x] `tools/screen_designs.py generate` writes one reference design per screen
|
||||
(from the `docs/` descriptions) to `docs/screens/designs/`, with an offline
|
||||
`--draft` wireframe mode and an OpenRouter `--ai` mockup mode.
|
||||
- [x] `tools/screen_designs.py compare` checks `docs/screenshots/*.png` against the
|
||||
designs (aspect ratio, size, blank-frame, and layout/palette/detail drift).
|
||||
- [ ] Vision-model judge for semantic screenshot comparison. Pixel and perceptual
|
||||
metrics cannot decide whether a frame's composition is correct; a follow-up
|
||||
should send the capture + reference design to a vision model and ask whether
|
||||
they depict the same screen.
|
||||
|
||||
## Tooling (when an editor workflow exists)
|
||||
|
||||
- [ ] IDE/editor-based GUT integration. Until then the custom headless runner stays.
|
||||
|
||||
Reference in new issue
Block a user