diff --git a/.gitignore b/.gitignore index caf4c40..4915a14 100644 --- a/.gitignore +++ b/.gitignore @@ -64,3 +64,5 @@ docs/blender_previews/*.png assets/models/blender/**/*.png !assets/models/blender/**/*_ao.png assets/models/blender_src/*.blend1 +# Editable Blender sources are developer-only; keep the .gdignore marker tracked. +assets/models/blender_src/*.blend diff --git a/DONE.md b/DONE.md index 6bc584d..ab3daf3 100644 --- a/DONE.md +++ b/DONE.md @@ -894,3 +894,59 @@ Completed 2026-11-01. Historical note: the screen-design references originally l `docs/screens/designs/`; they were promoted to the runtime root `assets/images/ui/` under ADR-0014. `docs/screens/designs/` remains a reference-only snapshot; `tools/screen_designs.py` now reads and writes `assets/images/ui/`. + +## Visual Alignment — UI Paths and Art Loader + +Completed 2026-11-01. + + +### Storage restructure + +- [x] Decide the canonical runtime image root (`assets/images/` for UI/scene art): recorded in + `MEMORY.md` and [ADR-0014](docs/adr/0014-runtime-image-root.md). +- [x] 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). +- [x] 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). +- [x] Re-run `godot --headless --path . --import` to regenerate `.import` sidecars after any move. +- [x] Confirm `.gitignore` still excludes development-only outputs (concepts, Blender sources, raw AI fabrics) under the new layout; Blender `.blend` sources are now untracked and ignored. + + +### Documentation path updates + +- [x] Update `README.md` paths (screen-designs section, confirmed-assets links, the `assets/images/scenes` resize example). +- [x] 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). +- [x] Update `tools/screen_designs.py` docstrings and mark the old paths in `DONE.md` as historical. + + +### Code path updates + +- [x] Point `tools/screen_designs.py generate` at the new design output path and keep `compare`/`judge` reading the right locations. +- [x] Update GDScript `preload()` paths if game textures move (no runtime material/model textures moved; UI art added under assets/images/). +- [x] Update capture output directories if captures relocate (none did; QA captures stay in docs/screenshots/). + + +### Load proposed interfaces + scene art from disk + +- [x] 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. +- [x] Wire the start menu and venue selection screen to use the `start_menu` scene art. +- [x] Wire the pause overlay to `pause_overlay` scene art (backdrop + opaque panel cover). +- [x] Wire the settings panel to `settings_panel` art. +- [x] Wire the shift-review screen to `shift_review` art (backdrop + opaque panel cover). +- [x] Wire the wand popup to `wand_screening` art. +- [x] Style the radial menu and finish the remaining HUD chrome against their reference images. + + +### Verify against the mockups + +- [x] Regenerate the staged captures and run `screen_designs.py compare` (11 good, 0 bad; verified in a clean HEAD worktree). +- [x] Run `screen_designs.py judge` and clear every `diff` verdict (7 match, 4 review, 0 diff). +- [x] Add the capture + compare step as a repeatable smoke so drift is caught early (`tools/check_screenshots.sh`). + + +## Fix mouse movement bug + +- [x] 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 + +- [x] Improve the visual appearance of in-game pop-ups (start/pause/settings/review/radio/wand/inspection art, buttons, palette, icons, text). diff --git a/TODO.md b/TODO.md index 7e7a0e2..a343a74 100644 --- a/TODO.md +++ b/TODO.md @@ -2,37 +2,6 @@ ## Visual alignment with rendered mockups -### Storage restructure - -- [x] Decide the canonical runtime image root (`assets/images/` for UI/scene art): recorded in - `MEMORY.md` and [ADR-0014](docs/adr/0014-runtime-image-root.md). -- [x] 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). -- [x] 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). -- [x] 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 - -- [x] Update `README.md` paths (screen-designs section, confirmed-assets links, the `assets/images/scenes` resize example). -- [x] 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). -- [x] Update `tools/screen_designs.py` docstrings and mark the old paths in `DONE.md` as historical. - -### Code path updates - -- [x] Point `tools/screen_designs.py generate` at the new design output path and keep `compare`/`judge` reading the right locations. -- [x] Update GDScript `preload()` paths if game textures move (no runtime material/model textures moved; UI art added under assets/images/). -- [x] Update capture output directories if captures relocate (none did; QA captures stay in docs/screenshots/). - -### Load proposed interfaces + scene art from disk - -- [x] 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. -- [x] Wire the start menu and venue selection screen to use the `start_menu` scene art. -- [x] Wire the pause overlay to `pause_overlay` scene art (backdrop + opaque panel cover). -- [x] Wire the settings panel to `settings_panel` art. -- [x] Wire the shift-review screen to `shift_review` art (backdrop + opaque panel cover). -- [x] Wire the wand popup to `wand_screening` art. -- [x] Style the radial menu and finish the remaining HUD chrome against their reference images. - ### Align in-game visuals - [x] Make the venue selection screen match the `start_menu` mockup (layout, palette, background). @@ -42,20 +11,6 @@ - [x] 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 - -- [x] Regenerate the staged captures and run `screen_designs.py compare` (11 good, 0 bad; verified in a clean HEAD worktree). -- [x] Run `screen_designs.py judge` and clear every `diff` verdict (7 match, 4 review, 0 diff). -- [x] Add the capture + compare step as a repeatable smoke so drift is caught early (`tools/check_screenshots.sh`). - -## Fix mouse movement bug - -- [x] 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 - -- [x] 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. diff --git a/assets/models/blender_src/a_frame_sign.blend b/assets/models/blender_src/a_frame_sign.blend deleted file mode 100644 index 5494bf2..0000000 Binary files a/assets/models/blender_src/a_frame_sign.blend and /dev/null differ diff --git a/assets/models/blender_src/backpack.blend b/assets/models/blender_src/backpack.blend deleted file mode 100644 index 15902f7..0000000 Binary files a/assets/models/blender_src/backpack.blend and /dev/null differ diff --git a/assets/models/blender_src/beanie.blend b/assets/models/blender_src/beanie.blend deleted file mode 100644 index 79e2c14..0000000 Binary files a/assets/models/blender_src/beanie.blend and /dev/null differ diff --git a/assets/models/blender_src/bench.blend b/assets/models/blender_src/bench.blend deleted file mode 100644 index 5ff8295..0000000 Binary files a/assets/models/blender_src/bench.blend and /dev/null differ diff --git a/assets/models/blender_src/bollard.blend b/assets/models/blender_src/bollard.blend deleted file mode 100644 index 394b974..0000000 Binary files a/assets/models/blender_src/bollard.blend and /dev/null differ diff --git a/assets/models/blender_src/camera.blend b/assets/models/blender_src/camera.blend deleted file mode 100644 index 40a321d..0000000 Binary files a/assets/models/blender_src/camera.blend and /dev/null differ diff --git a/assets/models/blender_src/cap.blend b/assets/models/blender_src/cap.blend deleted file mode 100644 index 14bce21..0000000 Binary files a/assets/models/blender_src/cap.blend and /dev/null differ diff --git a/assets/models/blender_src/clipboard.blend b/assets/models/blender_src/clipboard.blend deleted file mode 100644 index 47e4807..0000000 Binary files a/assets/models/blender_src/clipboard.blend and /dev/null differ diff --git a/assets/models/blender_src/crowd_barrier.blend b/assets/models/blender_src/crowd_barrier.blend deleted file mode 100644 index f6e2822..0000000 Binary files a/assets/models/blender_src/crowd_barrier.blend and /dev/null differ diff --git a/assets/models/blender_src/cup.blend b/assets/models/blender_src/cup.blend deleted file mode 100644 index 42fcf38..0000000 Binary files a/assets/models/blender_src/cup.blend and /dev/null differ diff --git a/assets/models/blender_src/double_door.blend b/assets/models/blender_src/double_door.blend deleted file mode 100644 index ed55dad..0000000 Binary files a/assets/models/blender_src/double_door.blend and /dev/null differ diff --git a/assets/models/blender_src/fire_hydrant.blend b/assets/models/blender_src/fire_hydrant.blend deleted file mode 100644 index cc40fa8..0000000 Binary files a/assets/models/blender_src/fire_hydrant.blend and /dev/null differ diff --git a/assets/models/blender_src/firefighter_helmet.blend b/assets/models/blender_src/firefighter_helmet.blend deleted file mode 100644 index ebb63bf..0000000 Binary files a/assets/models/blender_src/firefighter_helmet.blend and /dev/null differ diff --git a/assets/models/blender_src/flashlight.blend b/assets/models/blender_src/flashlight.blend deleted file mode 100644 index e29154b..0000000 Binary files a/assets/models/blender_src/flashlight.blend and /dev/null differ diff --git a/assets/models/blender_src/handrail.blend b/assets/models/blender_src/handrail.blend deleted file mode 100644 index 5b76f88..0000000 Binary files a/assets/models/blender_src/handrail.blend and /dev/null differ diff --git a/assets/models/blender_src/hood.blend b/assets/models/blender_src/hood.blend deleted file mode 100644 index 46797d2..0000000 Binary files a/assets/models/blender_src/hood.blend and /dev/null differ diff --git a/assets/models/blender_src/lanyard.blend b/assets/models/blender_src/lanyard.blend deleted file mode 100644 index eeb4676..0000000 Binary files a/assets/models/blender_src/lanyard.blend and /dev/null differ diff --git a/assets/models/blender_src/marquee.blend b/assets/models/blender_src/marquee.blend deleted file mode 100644 index 277b59a..0000000 Binary files a/assets/models/blender_src/marquee.blend and /dev/null differ diff --git a/assets/models/blender_src/newspaper_box.blend b/assets/models/blender_src/newspaper_box.blend deleted file mode 100644 index 15e0081..0000000 Binary files a/assets/models/blender_src/newspaper_box.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_casual.blend b/assets/models/blender_src/npc_casual.blend deleted file mode 100644 index b600b7c..0000000 Binary files a/assets/models/blender_src/npc_casual.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_coat.blend b/assets/models/blender_src/npc_coat.blend deleted file mode 100644 index daa43d0..0000000 Binary files a/assets/models/blender_src/npc_coat.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_dress.blend b/assets/models/blender_src/npc_dress.blend deleted file mode 100644 index a3beb6d..0000000 Binary files a/assets/models/blender_src/npc_dress.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_firefighter.blend b/assets/models/blender_src/npc_firefighter.blend deleted file mode 100644 index fec6913..0000000 Binary files a/assets/models/blender_src/npc_firefighter.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_guard.blend b/assets/models/blender_src/npc_guard.blend deleted file mode 100644 index 7507494..0000000 Binary files a/assets/models/blender_src/npc_guard.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_hoodie.blend b/assets/models/blender_src/npc_hoodie.blend deleted file mode 100644 index b3930a3..0000000 Binary files a/assets/models/blender_src/npc_hoodie.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_jacket.blend b/assets/models/blender_src/npc_jacket.blend deleted file mode 100644 index 6c13acc..0000000 Binary files a/assets/models/blender_src/npc_jacket.blend and /dev/null differ diff --git a/assets/models/blender_src/npc_vest.blend b/assets/models/blender_src/npc_vest.blend deleted file mode 100644 index df0db2e..0000000 Binary files a/assets/models/blender_src/npc_vest.blend and /dev/null differ diff --git a/assets/models/blender_src/palm_tree.blend b/assets/models/blender_src/palm_tree.blend deleted file mode 100644 index 3755e13..0000000 Binary files a/assets/models/blender_src/palm_tree.blend and /dev/null differ diff --git a/assets/models/blender_src/phone.blend b/assets/models/blender_src/phone.blend deleted file mode 100644 index 7def227..0000000 Binary files a/assets/models/blender_src/phone.blend and /dev/null differ diff --git a/assets/models/blender_src/planter_box.blend b/assets/models/blender_src/planter_box.blend deleted file mode 100644 index c783ba4..0000000 Binary files a/assets/models/blender_src/planter_box.blend and /dev/null differ diff --git a/assets/models/blender_src/protest_sign.blend b/assets/models/blender_src/protest_sign.blend deleted file mode 100644 index c61e467..0000000 Binary files a/assets/models/blender_src/protest_sign.blend and /dev/null differ diff --git a/assets/models/blender_src/radio.blend b/assets/models/blender_src/radio.blend deleted file mode 100644 index d9cabcb..0000000 Binary files a/assets/models/blender_src/radio.blend and /dev/null differ diff --git a/assets/models/blender_src/round_planter.blend b/assets/models/blender_src/round_planter.blend deleted file mode 100644 index f0a31e1..0000000 Binary files a/assets/models/blender_src/round_planter.blend and /dev/null differ diff --git a/assets/models/blender_src/scba_tank.blend b/assets/models/blender_src/scba_tank.blend deleted file mode 100644 index a1123cb..0000000 Binary files a/assets/models/blender_src/scba_tank.blend and /dev/null differ diff --git a/assets/models/blender_src/security_podium.blend b/assets/models/blender_src/security_podium.blend deleted file mode 100644 index 728f2de..0000000 Binary files a/assets/models/blender_src/security_podium.blend and /dev/null differ diff --git a/assets/models/blender_src/sedan.blend b/assets/models/blender_src/sedan.blend deleted file mode 100644 index 0f7e9e8..0000000 Binary files a/assets/models/blender_src/sedan.blend and /dev/null differ diff --git a/assets/models/blender_src/shoulder_bag.blend b/assets/models/blender_src/shoulder_bag.blend deleted file mode 100644 index 46641ba..0000000 Binary files a/assets/models/blender_src/shoulder_bag.blend and /dev/null differ diff --git a/assets/models/blender_src/stanchion.blend b/assets/models/blender_src/stanchion.blend deleted file mode 100644 index 7227808..0000000 Binary files a/assets/models/blender_src/stanchion.blend and /dev/null differ diff --git a/assets/models/blender_src/street_lamp.blend b/assets/models/blender_src/street_lamp.blend deleted file mode 100644 index f97c390..0000000 Binary files a/assets/models/blender_src/street_lamp.blend and /dev/null differ diff --git a/assets/models/blender_src/street_tree.blend b/assets/models/blender_src/street_tree.blend deleted file mode 100644 index a9407ce..0000000 Binary files a/assets/models/blender_src/street_tree.blend and /dev/null differ diff --git a/assets/models/blender_src/sunglasses.blend b/assets/models/blender_src/sunglasses.blend deleted file mode 100644 index 9bce78f..0000000 Binary files a/assets/models/blender_src/sunglasses.blend and /dev/null differ diff --git a/assets/models/blender_src/traffic_cone.blend b/assets/models/blender_src/traffic_cone.blend deleted file mode 100644 index a1a29ce..0000000 Binary files a/assets/models/blender_src/traffic_cone.blend and /dev/null differ diff --git a/assets/models/blender_src/trash_bin.blend b/assets/models/blender_src/trash_bin.blend deleted file mode 100644 index e44e60b..0000000 Binary files a/assets/models/blender_src/trash_bin.blend and /dev/null differ diff --git a/assets/models/blender_src/umbrella.blend b/assets/models/blender_src/umbrella.blend deleted file mode 100644 index 7ca7373..0000000 Binary files a/assets/models/blender_src/umbrella.blend and /dev/null differ diff --git a/assets/models/blender_src/wall_lantern.blend b/assets/models/blender_src/wall_lantern.blend deleted file mode 100644 index 2c28f1a..0000000 Binary files a/assets/models/blender_src/wall_lantern.blend and /dev/null differ diff --git a/assets/models/blender_src/wand.blend b/assets/models/blender_src/wand.blend deleted file mode 100644 index e61a614..0000000 Binary files a/assets/models/blender_src/wand.blend and /dev/null differ