Prioritize map optimization and gate builds on an NPC revisit
Full build / Import + headless tests (push) Successful in 37s
Full build / Full desktop build + optional release (push) Skipped

Move the promoted 0.9.5 map work to the active milestone, postpone UI/NPC
detail/texture/integration/release-candidate work, and add a detailed pre-build
NPC gate that reviews portraits, gear fit, crowd distance and final lighting
before any build or tag.
This commit is contained in:
zwitschi committed 2026-11-02 11:27:50 +01:00
1 parent af923b1483
commit 3f335481d6
2 files changed
+79 -38

No files matched your search

+1
View File
@@ -47,6 +47,7 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o
- **Radio submit fix (v0.8.1):** `RadioPanel.action_button` now connects `pressed` for normal reports; `button_down/up` remains exclusive to emergency hold-to-confirm. Regression test covers both modes.
- **Campaign/v0.8.0:** `Campaign` owns Hollywood → Joke Shop → TV Studio progression. `campaign.json`, `shift_results.json`, `settings.json` and versioned `shift_state.json` persist separately; pause saves a checkpoint, review Continue advances, Settings resets with confirmation. Difficulty keys are `easy/normal/hard` (`ai_difficulty`); scripted QA bypasses tutorial unless `--tutorial` is passed. Help is searchable and generated from `InputBindings.REMAPPABLE`.
- **Tutorial (0.8.0 work):** `docs/tutorial.md` is the eight-beat design; `src/game/tutorial.gd` is the pure state machine, `TutorialOverlay` is the non-blocking card, and `GameManager` wires it with a safe visitor, suppressed spawns, persisted completion/skip and Settings replay. Scripted test/capture runs bypass it unless `--tutorial` is passed; `smoke_tutorial.gd` covers completion/replay/skip.
- **Priority change (2026-11-02):** the map optimization previously planned for 0.9.5 is now the active milestone; 0.9.2 UI, 0.9.3 NPC detail, 0.9.4 textures and the 0.9.6 integration/0.10.0 release work are postponed. A pre-build NPC revisit gate (final map/lighting portraits, gear fit, P0/P1 fixes) must pass before any build/tag.
- **Docs validation (2026-11-02):** `python3 tools/check_docs.py` requires a README
only in directories containing tracked files, verifies local links and requires
every tracked image in a folder to be linked from its README. Gitignored
+78 -38
View File
@@ -44,7 +44,80 @@ release-candidate foundation, not yet a 1.0 product.
| Documentation | Architecture/ADR/status/roadmap ownership established | Final README/changelog/status/TODO/smoke-checklist sign-off and known-limitations page | Docs drift at launch | 0.9.5 / 0.10.0 |
| Post-launch | Stable 0.9 feature set | Live replay, more venues, VO/music, image-to-mesh props and seasonal content | Scope creep before launch | Post-1.0 |
## Patch 0.9.2 — Dialog, button and UI polish
**Current priority:** promoted map optimization → pre-build NPC revisit → postponed
UI/NPC-detail/texture patches and the postponed integration/release-candidate work.
No build or tag until the map and NPC gates are signed off.
## Active milestone — Map optimization (promoted from 0.9.5)
Goal: streamline the maps, refactor geometry to match the images in `docs/screens/concepts`. Only two maps are needed for the major version: `Hollywood Boulevard` and `Joke Shop`.
### Map 1 — Hollywood Boulevard
- [ ] Audit and optimize geometry for the Hollywood Boulevard map.
- [ ] Reseach geometry for the real Hollywood Boulevard location "6840 Hollywood Blvd, Hollywood, CA 90028, United States" and create an accurate representation of the building, neighboring structures and streets, building facades, buildings across the street and other relevant elements on the map.
- [ ] Research current imagery and references for Hollywood Boulevard to ensure the map reflects the real-world location accurately.
- [ ] Generate more accurate images using the python AI tools for reference and alignment with the real-world location, save to `docs/screens/concepts/hollywood_boulevard/`.
- [ ] Verify alignment with other `docs/screens/concepts` images of the Hollywood Boulevard map.
- [ ] Remove unnecessary or hidden geometry to improve performance.
- [ ] Ensure texture and material consistency across the map.
### Map 2 — Joke Shop
- [ ] Audit and optimize geometry for the Joke Shop map.
- [ ] Research geometry for the real Joke Shop location "8433 Sunset Blvd, West Hollywood, CA 90069, United States" and create an accurate representation of the building, neighboring structures and streets, building facades, buildings across the street and other relevant elements on the map.
- [ ] Research current imagery and references for the Joke Shop to ensure the map reflects the real-world location accurately.
- [ ] Generate more accurate images using the python AI tools for reference and alignment with the real-world location, save to `docs/screens/concepts/joke_shop/`.
- [ ] Verify alignment with other `docs/screens/concepts` images of the Joke Shop.
- [ ] Remove unnecessary or hidden geometry to improve performance.
- [ ] Ensure texture and material consistency across the map.
### Scenery Change (Day/Night) for Hollywood Boulevard
- [ ] Capture reference images for Hollywood Boulevard during the day and night.
- [ ] Adjust lighting and environmental settings to match the day/night cycle.
- [ ] Verify that all textures and materials respond correctly to the lighting changes.
- [ ] Ensure that any dynamic elements (e.g., streetlights, signs) behave appropriately for the time of day.
- [ ] Test performance and visual consistency for both day and night scenarios.
- [ ] Offer the day map and the night map as distinct scenarios in the game menu when selecting a location.
**Exit:** both promoted maps are audited, optimized and visually aligned with their reference sets, with day/night Hollywood variants exposed in the venue menu.
## Pre-build NPC revisit
Goal: after the map work, review the NPC characters again in the final lighting, camera and
venue composition before producing any build or tag. This is a gate, not a second full model
redesign.
### Final-context visual review
- [ ] Capture all eight variants on the promoted Hollywood/Joke Shop maps at portrait, conversation
and crowd distance in day and night lighting.
- [ ] Re-check silhouette, face readability, hair, hands, gear fit and coat/dress hems against the
final backgrounds; compare with the current portrait/gallery baseline.
- [ ] Re-run the gear `fit` report and inspect any map/lighting-driven regressions (hood, helmet,
sunglasses, bag, tank, hand items).
### Targeted fixes and validation
- [ ] Fix only the P0/P1 NPC visual issues found in the final-context review; avoid broad model
reshapes without a new acceptance comparison.
- [ ] Re-run character imports, pose/target/crowd tests, the 24-NPC budget smoke and portrait
captures.
- [ ] Run the screen-design/realism judge on the final-context captures and record accepted
review verdicts.
### Build gate
- [ ] Do not run the release build, bump a release version or tag until the map exit criteria and
this NPC revisit are both signed off.
- [ ] Record the sign-off in `docs/development-status.md` and `MEMORY.md`, then hand off to the
postponed integration/build milestone.
**Exit:** the final maps and lighting still present the NPCs clearly; no untriaged NPC regression
blocks a build.
## Postponed — Patch 0.9.2 — Dialog, button and UI polish
Goal: make every player-facing screen read consistently and pass the Python
screen-design judge before any model/texture changes. No gameplay rules change.
@@ -98,7 +171,7 @@ screen-design judge before any model/texture changes. No gameplay rules change.
strings/scale pass, and the Python compare/judge gate has no unexplained
diff.
## Patch 0.9.3 — NPC visual optimization
## Postponed — Patch 0.9.3 — NPC visual optimization
Goal: make the eight character variants hold up in portrait, conversation and crowd
views without changing the `npc_base`/`Rig/Head` contract or the skinned/procedural
@@ -194,7 +267,7 @@ fallback behavior.
clip in normal play, the 24-NPC budget remains green, and the visual judge has no unexplained
regressions.
## Patch 0.9.4 — Texture and material refinement
## Postponed — Patch 0.9.4 — Texture and material refinement
Goal: improve close-range surface and character texture quality while keeping GL
Compatibility/Web parity, deterministic assets and offline CI.
@@ -232,40 +305,7 @@ Compatibility/Web parity, deterministic assets and offline CI.
and skyline; document accepted trade-offs.
- [ ] Update asset docs and the changelog/status with the promoted texture versions.
## Patch 0.9.5 — Map Optimization
Goal: streamline the maps, refactor geometry to match the images in `docs/screens/concepts`. Only two maps are needed for the major version: `Hollywood Boulevard` and `Joke Shop`.
### Map 1 — Hollywood Boulevard
- [ ] Audit and optimize geometry for the Hollywood Boulevard map.
- [ ] Reseach geometry for the real Hollywood Boulevard location "6840 Hollywood Blvd, Hollywood, CA 90028, United States" and create an accurate representation of the building, neighboring structures and streets, building facades, buildings across the street and other relevant elements on the map.
- [ ] Research current imagery and references for Hollywood Boulevard to ensure the map reflects the real-world location accurately.
- [ ] Generate more accurate images using the python AI tools for reference and alignment with the real-world location, save to `docs/screens/concepts/hollywood_boulevard/`.
- [ ] Verify alignment with other `docs/screens/concepts` images of the Hollywood Boulevard map.
- [ ] Remove unnecessary or hidden geometry to improve performance.
- [ ] Ensure texture and material consistency across the map.
### Map 2 — Joke Shop
- [ ] Audit and optimize geometry for the Joke Shop map.
- [ ] Research geometry for the real Joke Shop location "8433 Sunset Blvd, West Hollywood, CA 90069, United States" and create an accurate representation of the building, neighboring structures and streets, building facades, buildings across the street and other relevant elements on the map.
- [ ] Research current imagery and references for the Joke Shop to ensure the map reflects the real-world location accurately.
- [ ] Generate more accurate images using the python AI tools for reference and alignment with the real-world location, save to `docs/screens/concepts/joke_shop/`.
- [ ] Verify alignment with other `docs/screens/concepts` images of the Joke Shop.
- [ ] Remove unnecessary or hidden geometry to improve performance.
- [ ] Ensure texture and material consistency across the map.
### Scenery Change (Day/Night) for Hollywood Boulevard
- [ ] Capture reference images for Hollywood Boulevard during the day and night.
- [ ] Adjust lighting and environmental settings to match the day/night cycle.
- [ ] Verify that all textures and materials respond correctly to the lighting changes.
- [ ] Ensure that any dynamic elements (e.g., streetlights, signs) behave appropriately for the time of day.
- [ ] Test performance and visual consistency for both day and night scenarios.
- [ ] Offer the day map and the night map as distinct scenarios in the game menu when selecting a location.
## Patch 0.9.6 — Integration, performance and judge gate
## Postponed — Patch 0.9.6 — Integration, performance and judge gate
Goal: integrate the UI/model/texture patches, prove the combined build on the
target paths and leave a clean release-candidate handoff.
@@ -302,7 +342,7 @@ target paths and leave a clean release-candidate handoff.
- [ ] Exit: combined build is functionally green, visually reviewed, performance
measured and ready for the 0.10.0 content-lock/playtest phase.
## Milestone 0.10.0 — Release candidate
## Postponed — Milestone 0.10.0 — Release candidate
Goal: freeze the feature set, prove it with external players, clear release/legal blockers and
verify every distribution path. This is the next shipped version before 1.0.