Files
security-game/TODO.md
T
zwitschi dc4bc6c511 Use the access-inspection mockup behind the inspection panel
Add the access_inspection art layer to the HUD, keep the panel transparent and
padded, center the title/status/issue text and artifact cards, and hide the art
with the panel. Also record the pop-up visual pass as done. Headless 226/226
verified in a clean HEAD worktree.
2026-11-01 16:46:25 +01:00

5.2 KiB
Raw Blame History

TODO

Visual alignment with rendered mockups

Storage restructure

  • Decide the canonical runtime image root (assets/images/ for UI/scene art): recorded in MEMORY.md and ADR-0014.
  • Move the reference mockups from docs/screens/designs/ into the runtime root (keep docs/screens/designs/ as a docs-only copy or replace it with the new path).
  • Document one convention for game vs reference vs development images across assets/textures/, assets/images/, assets/models/generated/, docs/screenshots/, and docs/screens/designs/ (in docs/architecture.md, ADR-0014).
  • Re-run godot --headless --path . --import to regenerate .import sidecars after any move.
  • Confirm .gitignore still excludes development-only outputs (concepts, Blender sources, raw AI fabrics) under the new layout.

Documentation path updates

  • Update README.md paths (screen-designs section, confirmed-assets links, the assets/images/scenes resize example).
  • Update docs/architecture.md, PLAN.md, and ADR references: docs/screens/designs/ is now explicitly the reference-only snapshot; runtime art lives in assets/images/ (ADR-0014).
  • Update tools/screen_designs.py docstrings and mark the old paths in DONE.md as historical.

Code path updates

  • Point tools/screen_designs.py generate at the new design output path and keep compare/judge reading the right locations.
  • Update GDScript preload() paths if game textures move (no runtime material/model textures moved; UI art added under assets/images/).
  • Update capture output directories if captures relocate (none did; QA captures stay in docs/screenshots/).

Load proposed interfaces + scene art from disk

  • Add a central UI/scene art loader (e.g. src/game/ui/art.gd) that loads the mockup-derived images from the new runtime root, with a procedural fallback when a file is missing.
  • Wire the start menu and venue selection screen to use the start_menu scene art.
  • Wire the pause overlay to pause_overlay scene art (backdrop + opaque panel cover).
  • Wire the settings panel to settings_panel art.
  • Wire the shift-review screen to shift_review art (backdrop + opaque panel cover).
  • Wire the wand popup to wand_screening art.
  • Style the radial menu and finish the remaining HUD chrome against their reference images.

Align in-game visuals

  • Make the venue selection screen match the start_menu mockup (layout, palette, background).
  • Make the HUD match the targeting_npc / escalation_hud mockups (focus ring, escalation meter, log, hints).
  • Align the pause, settings, and shift-review panels to their mockups.
  • Align the radio and wand panels to their mockups.
  • Align the body-camera timeline to its mockup.
  • Align scene lighting, fog, and post-processing for venue_overview and late_night_avenue.

Verify against the mockups

  • Regenerate the staged captures and run screen_designs.py compare (11 good, 0 bad; verified in a clean HEAD worktree).
  • Run screen_designs.py judge and clear every diff verdict (7 match, 4 review, 0 diff).
  • Add the capture + compare step as a repeatable smoke so drift is caught early (tools/check_screenshots.sh).

Fix mouse movement bug

  • Investigate why mouse input is not being captured or processed correctly in the game window (fixed: _start_shift() now calls _refresh_freeze()).

Improve in-game pop-ups

  • Improve the visual appearance of in-game pop-ups (start/pause/settings/review/radio/wand/inspection art, buttons, palette, icons, text).

Realism follow-ups (v0.6.1 candidates)

  • Fixed ground exposure for the entrance view: it is still ~20 % brighter than the concept. Either put the entrance in the building's shadow (sun yaw/elevation) or add a slight per-view exposure so the shaded sidewalk reads mid-grey.
  • Make the flashlight read in the dark: the 06-night-flashlight concept shows a visible beam, but a Compatibility spot light only brightens the near wall. A cheap fake cone (an additive mesh or a light-shaft quad) would sell it, and the night mockup expects it.
  • NPC skin/clothing still reads as low-poly next to the concepts (judge characters ≈ 0–1). The Blender library has the budgets for one more detail pass (fingers, sleeves, faces).
  • The screen_designs.py judge default model (google/gemini-2.5-flash-lite) currently fails with a provider "API key not valid" 400; the tool retries once. Re-check before the next release and either pin a working model or document --model.
  • Add the two venue stages to the committed gallery (they are capture-only today) and give the Joke Shop and studio their own geometry so their concept comparisons are geometric, not just lighting.

Future ideas (optional, not scheduled)

  • Live 3D body-camera replay (the timeline is text-only today).
  • Additional venues or seasonal events authored from the new .tres files.
  • Real voice/dialogue audio (the crowd bed and radio crackle are procedural).
  • Swap the primitive prop builder for an image-to-mesh model API behind the same assets/models/generated/<prop>.glb contract.