# UI copy and button inventory Status: audit in progress for the 0.9.2 UI polish patch. ## Screen inventory | Screen / panel | Owner | Primary actions | Notes | | --- | --- | --- | --- | | Start / venue menu | `start_menu.gd` | Continue shift, choose venue, Help, Settings, Quit | Campaign status and free-play venues share this screen. | | Tutorial card | `tutorial_overlay.gd` | F1 skip | Non-blocking; no mouse capture. | | HUD | `hud.gd` | Observe, target, inspect, wheel, radio, flashlight, body camera, door, pause | No interactive controls; must stay mouse-transparent. | | Action wheel | `action_radial.gd` | Choose de-escalation/access/radio action | Confirm with Space/click; cancel with Esc/RMB. | | Access inspection | `hud.gd` | A = admit, D = refuse | Real access evidence cards. | | Wand screening | `hud.gd` | A = admit, D = refuse | Shows alert and carried items. | | Radio / emergency | `radio_panel.gd` | Send request / hold Send emergency, Cancel | Normal click vs emergency hold. | | Pause | `pause_overlay.gd` | Resume, restart, Settings, quit to menu | Esc resumes. | | Settings | `settings_panel.gd` | Apply, Cancel, Replay tutorial, Reset campaign, rebind controls | Destructive reset asks for confirmation. | | Help | `help_overlay.gd` | Filter controls, Close | Policy card and current bindings. | | Shift review | `shift_review.gd` | Continue campaign, timeline, return to menu, quit | Campaign next step is shown here. | | Timeline | `event_timeline.gd` | Previous, Next, Close | Review evidence stepper. | ## Canonical terms - **Admit / refuse** — access decisions. Do not alternate with “allow / deny” or “grant / reject” in player-facing controls. - **Warning** — Level 2. - **Blocking** — Level 3 positioning; do not call it “force”. - **Assistance** — Level 4 radio call; **emergency** is Level 5. - **Body camera** — always two words. - **Shift review** — the end-of-shift screen; “review” alone is acceptable in prose. - **Continue campaign** — advance to the next venue. - **Return to menu** — leave the review to the venue menu (it does not start a new shift by itself). - **Send request** — non-emergency assistance; **Send emergency** — emergency call. ## Button labels and states | Surface | Label | Behavior | State audit | | --- | --- | --- | --- | | Start menu | Continue shift — | Resume/advance campaign | Hidden when complete; venue-specific | | Start menu | Venue rows | Start free-play/campaign venue | Hover/focus/pressed styled | | Start menu | Help | Open Help overlay | Standard button | | Start menu | Settings | Open Settings | Standard button | | Start menu | Quit game | Exit application | Destructive; label clarifies scope | | Tutorial | F1 skip tutorial | Skip lesson | Keyboard only, non-blocking | | Action wheel | Stop/Look/Point/No/Ask/Inspect/Wand/Warn/Block/Reason/Recognize/Radio | Choose verb | Hover/selection highlight | | Inspection | A = admit · D = refuse entry | Access decision | Keyboard hints, policy text | | Wand | A = admit · D = refuse entry | Screening decision | Keyboard hints, item/alert text | | Radio | Send request | Submit assistance | Normal click | | Radio | Send emergency | Submit emergency | Hold-to-confirm; Cancel aborts | | Radio | Cancel | Close form | Standard button | | Pause | Resume | Resume shift | Default focus | | Pause | Restart shift | Restart current shift | Standard button | | Pause | Settings | Open Settings | Standard button | | Pause | Quit to menu | Return to venue menu | Standard button | | Settings | Apply settings | Persist settings | Standard button | | Settings | Cancel | Discard edits | Standard button | | Settings | Replay tutorial | Clear tutorial flags and restart Hollywood | Standard button | | Settings | Reset campaign | Confirmed campaign reset | Confirmation dialog | | Help | Close | Close overlay | Standard button | | Review | Continue campaign | Start next venue | Hidden when campaign complete | | Review | Body camera timeline | Open event timeline | Standard button | | Review | Return to menu | Return to venue menu | Standard button | | Review | Quit game | Exit application | Standard button | | Timeline | Previous / Next / Close | Step/close evidence | Standard buttons | ## Button/label issues found - HUD inspection and wand used “allow/deny” versus “admit/refuse”; both now use **A = admit · D = refuse entry**. - Shift review’s old “Run another shift” actually returned to the menu; renamed **Return to menu**. - Radio emergency action used all-caps while assistance used sentence case; both are now sentence case, with the warning in the panel title/hold hint. - Normal radio send was previously wired only to the emergency hold handlers; fixed in 0.8.1 and covered by `test_radio_panel.gd`. - “Quit” was ambiguous between menu and application exit; both application-exit buttons now read **Quit game**. - Settings “Apply” was made verb+object as **Apply settings**. ## Remaining audit work - Inventory hardcoded player-facing strings screen by screen and move them to `content/strings.en.json`. - Verify focus/hover/pressed/disabled states with keyboard, gamepad and mouse. - Test long strings and 1.75x HUD font scale. - Capture every dialog/button state and run `screen_designs.py compare` plus the pinned judge.