Add deterministic captures 14-21 for the remaining screen-design states, fix the panel/button layout issues they exposed, and record 21/21 compare and judge results. Bump the source to 0.9.3 and move the completed milestone to DONE.md.
6.2 KiB
6.2 KiB
Smoke Test Checklist
godot --path .starts the game on the venue menu without script errors.- Choosing a venue (click or ↑/↓ + Enter) starts that venue's shift and hides the menu.
- The guard moves and looks around; the building, steps, and sidewalk are visible.
- The guard's camera sits at eye height and the guard stands on the landing, not inside the building.
- Walking into the steps carries the guard up onto the landing (steps have colliders).
- The skyline backdrop shows silhouettes against the sky, not an opaque black slab.
- The
GIG LINEmarquee is readable from the sidewalk. - NPCs spawn and approach the entrance during the first minutes.
- Looking at an NPC inside the focus cone shows a blue focus circle in front of the face, the person's name, and the HUD target line.
Spaceor left click opens the action wheel;A/Dhighlight a slice,Spaceconfirms it,Esc/right click cancels without a log entry.E/Copen the inspection/wand panels from the wheel and freeze movement until they close; walking never fires the wand.- Pressing
Qproduces a reaction log entry and reputation feedback. Eopens access inspection showing venue-correct artifacts and policy result;A/Drecord a decision.6opens the assistance form; submitting shows dispatch feedback.Ropens the emergency form; the button must be held ~1.6s or the call cancels.Gtoggles the flashlight (indicator appears in the HUD);Ltoggles the door lock (indicator turns red when locked).Ftoggles the debug overlay with NPC states and shift stats.- The wheel's
Lookslice is eye contact (Level 1) and logs as its own action. Reasonasks why the person is there and logs theirdialogue_linesreply.Recognizerecords the guard's recognition as access evidence; pressing it twice says so.Warnturns the body camera on (REC overlay appears);Btoggles it manually.Blockmoves the guard between the person and the door.- The shift review reports the incident count, including interactions left unresolved.
- Escalating on someone (or a responder arriving) makes idle bystanders stop and face the incident.
- Repeated alarms panic the crowd and nearby people clear away from the door instead of standing around.
Escwith nothing open pauses the shift; resume / restart / settings / quit-to-menu all work, and settings changes persist across a restart.- NPCs route around the building using the navigation mesh (no stuck-at-wall behavior during a smoke run).
- An unjustified emergency call (calm person, no weapon) logs an investigation and costs reputation.
- After an evacuation outcome the door is locked and NPCs are leaving the entrance.
- The shift review's "Body camera timeline" button steps through the recorded events (Left/Right or the buttons) and Esc returns to the review.
- The escalation label shows a
[###--] L3/5shape meter as well as the level name, and stays readable in grayscale. - Changing "HUD font scale" in Settings resizes the HUD text and persists across a restart.
- When the shift timer reaches 0, the shift review screen shows grade, policy, incident summary, responder outcomes, investigations, and persisted shift history; campaign Continue starts the next venue.
- On a fresh profile the tutorial starts on Hollywood, advances through its eight beats, and F1 skips it; Settings Replay tutorial restarts it.
- Pausing saves a checkpoint: returning to the menu and choosing Continue resumes elapsed time, NPCs, incidents, door/flashlight state and campaign position.
- Settings difficulty changes spawn pacing/compliance/report strictness while escalation rules stay the same; Help filters controls and shows the venue policy.
- The F debug overlay lists the next eligible events; recovery events and recently played scripted events behave as authored.
- Master/SFX/ambience volume settings clamp at 0/1 and persist; Reduce motion disables head bob; the captions toggle persists.
- The 24-NPC budget smoke stays inside its frame budget; coats/dresses do not show obvious leg clipping in a normal walk.
- Help remains readable with the largest HUD font scale, and CI/local verification use the same Godot 4.7.2 baseline.
- UI copy: inspection/wand use "A = admit · D = refuse entry", review returns with "Return to menu", and application exit reads "Quit game".
- Button states remain readable on hover/focus/pressed; settings Apply/Cancel and radio normal-send/emergency-hold behave as labelled.
- The venue menu offers Hollywood Boulevard — Day and — Night; either starts the same map, and Night starts in the late phase with a full shift clock.
- The Joke Shop opens on the Sunset Strip club: the black hall, signature canopy, circular THE JOKE SHOP sign, red curtains, west entrance, palms, dry hillside with houses, neighbouring frontage and the opposite side of Sunset all read from the door camera. Day lighting and late lighting both look correct; the guard can walk the sidewalk without leaving the nav bounds.
- Esc and right-click close only the top panel (Help, Settings, Pause, Review, Radio, timeline, inspection/wand, action wheel); Settings opened from the venue menu returns to the menu, Help no longer opens Pause behind it, and closing a modal recaptures the mouse without leaving the guard frozen.
- At 0.75× and 1.75× HUD font scale, long target names stay inside the target chip, the chip grows/caps correctly, and long button labels ellipsize instead of pushing panels off-screen.
- Reset campaign and Replay tutorial both ask for confirmation; a second click reuses the open dialog, Cancel does nothing, and OK fires once. Emergency send requires the full hold, sends exactly once, and does not send again on release.
- UI copy/button sweep: every panel uses the canonical admit/refuse, warning/blocking, assistance/emergency and body-camera terms; the start menu, pause, settings, Help, inspection, wand, radio, wheel, timeline and shift review all show readable hover/focus/pressed/disabled states; Tab/arrow focus wraps without landing on hidden or disabled actions; Esc/right-click closes only the top panel; and destructive reset/replay plus emergency send still require their confirmation or hold.