Build distinct Joke Shop and TV Studio venues
Add the alley walls, warm lantern, shutters, dumpster, AC clutter and door step for the Joke Shop. Build the studio stone facade, bulb canopy, glossy black car, stanchions and barriers. Rebuild only the world container when the venue changes, so the guard and UI survive; add per-venue navigation checks. Capture gallery shots 12/13, update the concept mapping and docs. Headless 231/231, Python 87/87, screenshot gate 13 good/0 bad. The vision-judge retry is tracked separately because the API key is invalid.
This commit is contained in:
1 parent
4cca2af2dd
commit
8b0845bcce
25 files changed
+347
-87
No files matched your search
@@ -1242,3 +1242,40 @@ live in `tools/blender_assets.py` (`_build_gear()`), the contract in `docs/blend
|
||||
- [x] Consider a second character close-up for a hoodie/winter NPC so headgear is covered too.
|
||||
`--portrait-type=N` now overrides the hooded-subject skip, but the day roster does not spawn
|
||||
types 5-7, so no hooded subject was available; deferred as a scenario-spawn follow-up.
|
||||
|
||||
## Venue geometry and the committed gallery (v0.6.1)
|
||||
|
||||
Completed 2026-11-01. All three venues now build distinct geometry from `WorldBuilder.VENUE_SPECS`; the gallery has Joke Shop and TV Studio views (13 good / 0 bad). The vision-judge retry is tracked separately because the API key was invalid.
|
||||
|
||||
Today all three venues share the Hollywood `WorldBuilder` geometry, so the Joke Shop and studio
|
||||
concepts are only compared on lighting (noted in `tools/scene_concepts.py` `SHOTS`). They also
|
||||
have no stage in the committed `docs/screenshots/` gallery, only in `capture_realism.gd`.
|
||||
|
||||
- [x] Extract a geometry spec per venue instead of branching inline: `WorldBuilder.VENUE_SPECS`
|
||||
now holds facade/stair/street/nav dimensions, window/pilaster rows, guard spawn, feature
|
||||
flags and prop placements for Hollywood, Joke Shop and TV Studio. Unknown ids fall back to
|
||||
Hollywood; `test_venue_geometry_specs_are_distinct_and_defaulted` checks the narrow Joke Shop
|
||||
facade, disabled skyline/marquee, studio bulb-canopy flag and fallback.
|
||||
- [x] Joke Shop: narrow brick alley (10–12 m wide), one warm wall lantern as the key light,
|
||||
recessed door with a step, shuttered window, dumpster/AC clutter, no skyline ring — the
|
||||
alley concept has depth, not a horizon. `_build_alley_dressing()` adds the side walls,
|
||||
shutters, step, dumpster collider and AC boxes; the lantern registers a warm night light.
|
||||
- [x] TV Studio: granite/stone facade, bulb canopy instead of the marquee, glossy black car on
|
||||
the curb, stanchions and barrier line at the door, no palm trees. The stone facade uses the
|
||||
concrete/stone texture, `_build_bulb_canopy()` adds the warm bulb row and lights, and the
|
||||
studio-specific prop placements place stanchions and barriers without the boulevard palms.
|
||||
- [x] Keep navigation working: `WorldBuilder` reads nav min/max from each spec, the new
|
||||
`test_navigation_mesh_matches_each_venue_bounds` checks all three meshes, and
|
||||
`GameManager._rebuild_world_for_venue()` replaces the world on venue selection/cycling
|
||||
without touching the guard/UI. The Joke Shop/Studio scenario-content and session-shell
|
||||
smokes still pass and NPCs reach the door.
|
||||
- [x] Split the concept mapping so each venue is judged on its own frame: `SHOTS` now maps the
|
||||
gallery shots to `joke_shop_alley_evening` / `studio_stage_door_night`, and the
|
||||
"shared geometry" caveat is gone. `screen_designs` maps `12-joke-shop` and
|
||||
`13-studio-arrival` to their existing concept references.
|
||||
- [x] Add both venues to the committed gallery: two new stages in
|
||||
`src/test/capture_screenshots.gd` (`12-joke-shop.png`, `13-studio-arrival.png`) reuse the
|
||||
existing `joke_shop_queue` / `studio_arrival` designs. `check_screenshots.sh` is **13 good /
|
||||
0 bad**; the new screenshots are 18.2 / 32.6 MAE against their references.
|
||||
- [-] Update `docs/architecture.md` (venue geometry), `README.md` (gallery) and the screenshot
|
||||
table when the stages land.
|
||||
Reference in new issue
Block a user