Files
security-game/docs/ui-copy.md
T
zwitschi 844e39246a
Full build / Import + headless tests (push) Successful in 38s
Full build / Full desktop build + optional release (push) Skipped
Standardize button labels and document UI states
Finish the button-label audit with a surface-by-surface table, clarify Quit
game vs Quit to menu, rename Apply to Apply settings, and use string-table
keys for the new labels. Extend the smoke checklist with UI copy/button checks.
Headless 250/250, docs check OK.
2026-11-02 11:12:29 +01:00

5.2 KiB
Raw Blame History

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.