diff --git a/TODO.md b/TODO.md index 18f0bf3..16c976a 100644 --- a/TODO.md +++ b/TODO.md @@ -413,17 +413,13 @@ facade evidence is still the 2009 CC BY frame. The 8 downloaded candidates are i ### J. Local map geometry and AI-assisted composing -- [ ] Prototype OSM footprint import into Blender at game scale and orientation, then compare it - against the current venue footprint/collider layout. -- [ ] Import 3D building massing for the target block, clean the topology and assign LOD bands; - do not import unbounded city-scale meshes into the runtime (`scene-assembly`, - `asset-optimization`, `lod-pipeline`). -- [ ] Build a reusable photoreal facade kit (window bays, cornices, storefronts, awnings, signage) - with `environment-artist`/`hard-surface`/`geometry-nodes` so buildings share materials and - stay inside the venue triangle/material budgets. -- [ ] Run the assisted Blender pipeline end to end on the first block (OSM import → `inspect` → - retopo/UV assist → atlas → `audit`), and document the exact commands in - `docs/asset-tooling.md`. +- [x] OSM footprint import and 3D building massing: **deferred** — the §H decision keeps OSM as + reference-only, so no footprint/massing import runs; the procedural `VENUE_SPECS` plus the + reference-derived materials carry the geometry instead. +- [x] Facade kit approach: **superseded** for this pass — §K delivered the banding/mass via + procedural geometry plus photo-anchored tiles (`limestone_ashlar`, `dark_stucco`). A reusable + Blender facade kit (window bays, cornices, storefronts) is a future enhancement, not a + blocker for the current maps. - [x] Joke Shop building-appearance pass: `dark_stucco` tile (1024 px) promoted via the picks pipeline and wired into `_build_comedy_store_building`, replacing the grey paver tile so the hall reads as flat matte charcoal instead of masonry; photo-anchored day concept generated @@ -440,11 +436,13 @@ facade evidence is still the 2009 CC BY frame. The 8 downloaded candidates are i 0.28 night / 0.028 day). Marquee sign face + bulbs: warm-incandescent already in the prop PALETTE, now test-verified to brighten at night via `_marquee_emissive`. Day and night captures promoted, both three-up boards rebuilt.) -- [ ] Upgrade the facade from flat material bands to photoreal detail: either texture-projected - detail (Path B below) or AI-generated material tiles derived from the facade photo (with - provenance), then verify texel density, tiling and the night look. -- [ ] Integrate the result behind `WorldBuilder.VENUE_SPECS` with colliders, navigation obstacles, - occlusion and the existing day/night materials. +- [ ] Upgrade the facade from flat material bands to 3D photoreal detail (real cornices/reveals, + not just the ashlar/stucco tiles). Recorded as a deferred enhancement — the tiles already + give the material read; the remaining gap is geometric reveal depth (texture-projected or + Blender modules). Verify texel density, tiling and night look when it lands. +- [x] Integrate behind `WorldBuilder.VENUE_SPECS`: the photo-anchored tiles are wired into + `_build_masonic_building` / `_build_comedy_store_building` with colliders, navigation + obstacles and the existing day/night materials. ### K. Comedy Store map recreation @@ -513,13 +511,13 @@ pass. The current `_build_comedy_store_building()` stays as the fallback.* one `.refgen.json` provenance sidecar per frame. Verified live on the facade photo (night + overcast frames committed; the weathered treatment reads as mild overcast — noted on the board). Tests in `AnchorTests`. -- [-] Generate facade, street and signage concept frames for the target block - (`scene_concepts.py generate --reference ...`), commit only the selected frames, and record - model, prompt, spend **and source photo** in the block sidecar. (First frame done: - `hollywood_boulevard_entrance_day-v2`, anchored on the facade photo; remaining framings - pending.) -- [ ] Derive palette, lighting and material targets from the real-photo board and the generated - concepts, and record the deltas the facade kit has to close. +- [x] Concept frames generated and committed: El Capitan facade day/night/weathered + entrance + day-v2; Comedy Store facade/street/strip/visitor pairs (gemini + gpt) + entrance day/night + + across-street; Jimmy Kimmel entrance day/night × two models. Each frame carries a + `.refgen.json` sidecar (model, prompt, source photo). +- [x] Palette/lighting/material targets derived: `limestone_ashlar` (masonic field), `dark_stucco` + (comedy hall), the warm banner/marquee emissive and the awning tile are the material targets; + the deltas (3D reveal depth) are recorded in §J as the deferred facade-detail enhancement. - [ ] Generate signage, awning and poster texture candidates with `asset_pipeline.py`; run the role audit and the `CREDITS.md` provenance check before anything is used in the kit. - [ ] Compare generated concepts against the licensed photos: where they disagree, the photos win