diff --git a/MEMORY.md b/MEMORY.md index 45b95f3..a06c1c0 100644 --- a/MEMORY.md +++ b/MEMORY.md @@ -17,7 +17,7 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o `openai/gpt-5-image-mini` frame (`.refgen.json` records `unchecked`). Gotcha: DDG photo 07.jpg was titled "Ramada hotel" but is actually an interior stage shot — Gemini refused it with a text-only message; the hotel/parking ramp reference is still missing from the local set. The - map-recreation plan is tracked in `TODO.md` §3D model re-evaluation → K. Comedy Store map recreation. + map-recreation plan is tracked in `TODO.md` §3D model and local map re-evaluation → K. Comedy Store map recreation. - **Jimmy Kimmel Live = starting point (2026-11-03):** the building is the game's starting point: the Hollywood first shift and the late-night TV Studio arrival both begin at the El Capitan Entertainment Centre housing the Kimmel stage/studio. Four photo-anchored entrance @@ -37,7 +37,7 @@ Session memory for durable decisions, state, and gotchas. Keep concise, remove o properties and buildings across the street — never committed, never shipped, never used as a committed asset. The moment a frame is promoted to `docs/screens/refs//` it passes the sidecar licence + privacy gate and `CREDITS.md`; the committed boards and the deferred Gaussian - splatting gate are unchanged. Tracked in `TODO.md` §3D model re-evaluation → A. + splatting gate are unchanged. Tracked in `TODO.md` §3D model and local map re-evaluation → A. - **Godot 4.7.2 `--import` gotcha (2026-11-03):** with a stale `.godot/` cache, `--import` (and `--editor --quit-after N`) scans new image files but never imports them — no `.import` files are created, and `preload()` of the new texture then fails to compile every dependent diff --git a/TODO.md b/TODO.md index d43e454..193378d 100644 --- a/TODO.md +++ b/TODO.md @@ -11,12 +11,15 @@ The MIT Blender skill pack lives locally at `.agents/skills/blender-skills/` (gi 3D workstream below names the skills to load; they are guidance only, and the project contract, `blender_assets.py audit`/`fit`/`inspect` and the capture gates stay authoritative. -## 3D model re-evaluation +## 3D model and local map re-evaluation Goal: re-judge every shipped 3D asset against the newly available Blender skill guidance, rank -the real gaps, and fix only what the rankings justify. Evidence comes from three separate sources: -licensed real-location photos, generated concept boards, and build captures. This is an unversioned development track: -it must not change the `npc_base` contract, the renderer or the 0.10.0 release candidate. +the real gaps, and fix only what the rankings justify (sections A–G); and re-evaluate the three +venues against licensed real-world data — OSM footprints and building massing, reference-derived +photoreal facades and the photo-driven geometry pipeline (sections H–M). Evidence comes from three +separate sources: licensed real-location photos, generated concept boards, and build captures. This +is an unversioned development track: it must not change the `npc_base` contract, the renderer or +the 0.10.0 release candidate. Reference material is collected first (section A): local, gitignored, development-only photo research may use any source the owner authorises (DuckDuckGo image search, street-view frames, @@ -24,14 +27,19 @@ neighbouring properties, buildings across the street) **without the licence gate and privacy gates still apply the moment a frame is promoted into `docs/screens/refs/` or any committed asset — local `tmp/research/` is the only licence-free zone. -Scope: 8 library characters (`npc_casual`, `npc_jacket`, `npc_coat`, `npc_vest`, `npc_dress`, -`npc_hoodie`, `npc_firefighter`, `npc_guard`), the frozen `npc_base` fallback, 18 gear pieces, -20 library props, 6 generated props, and the three venue families. +Scope: the shipped 3D catalogue — 8 library characters, the frozen `npc_base` fallback, 18 gear +pieces, 20 library props, 6 generated props and the three venue families — plus the local map +pipeline that re-evaluates those venues (OSM data/licensing, reference imagery, the photoreal +facade kit, AI-assisted composing, Gaussian-splatting evaluation and map QA). -**Exit:** `docs/3d-model-review.md` scores every catalogue asset; every P0/P1 is fixed or -explicitly accepted with a measurement; `inspect`/`audit`/`fit`/proportions, the 24-NPC budget -and the capture gates are green; no runtime contract, dependency or release artifact changed -except the rebuilt assets themselves. +**Exit (asset review, A–G):** `docs/3d-model-review.md` scores every catalogue asset; every P0/P1 +is fixed or explicitly accepted with a measurement; `inspect`/`audit`/`fit`/proportions, the +24-NPC budget and the capture gates are green; no runtime contract, dependency or release artifact +changed except the rebuilt assets themselves. + +**Exit (local map, H–M):** one local block is reconstructed from licensed data with +reference-derived photoreal facades, passes performance/navigation/visual QA and has complete +provenance; or the pipeline is rejected with the findings recorded. ### A. Local reference material collection (development-only, gitignored) @@ -48,20 +56,18 @@ licence-free zone only. `Retry-After`, and send a full Firefox header set. Tests in `tools/test_refcollect.py`. **Run note:** DDG rate-limits aggressively; space batches and run the per-venue collection below when the limit clears. -- [ ] Collect Hollywood block reference: El Capitan facade (day/night/close-up), the El Capitan - Theatre marquee + blade sign neighbour, the east retail neighbour, Ovation Hollywood and - other buildings across the boulevard, the Walk of Fame terrazzo and stars, and the premiere - staging/arrival area. -- [ ] Collect Joke Shop / Comedy Store block reference: the black hall facade and signature - canopy, the side parking lot, the neighbouring hotel building and its parking ramp, the - hillside houses and palms directly behind the roofline, the buildings across Sunset - Boulevard, the entrance recess and door hardware, and any street-level context. +- [x] Collect Hollywood block reference: facade, marquee/blade-sign neighbour, Walk of Fame and + arrival staging are covered by `tmp/research/elcapitan/`, `hollywood-block/` and the + `jimmy-kimmel-*` sets (day, night, entrance and stage frames). +- [-] Collect Joke Shop / Comedy Store block reference: `tmp/research/comedy-store/` covers the + facade, canopy, street and visitor views; the **hotel/parking ramp and hillside detail are + still missing**. - [ ] Collect street-view frames of both blocks (the owner allows street-view captures for local reference): save the street-level facades, corners and opposite frontages into the same `tmp/research//` folders with a note of the capture viewpoint. -- [ ] Build a local contact sheet per block (`tmp/research//sheet.jpg`) from the collected - frames so the scorecard and the venue review can cite them; keep it in `tmp/` and never - commit it. +- [x] Build a local contact sheet per block: `sheet.jpg` exists for every collected set + (`elcapitan`, `hollywood-block`, `jimmy-kimmel-stage`, `jimmy-kimmel-entrance`, + `comedy-store`). - [ ] Record which local frames actually changed a decision in `docs/3d-model-review.md` or the venue map doc, with the frame filename, but do not commit the image itself. If a frame is promoted to the committed board, it goes through the normal sidecar gate and `CREDITS.md`. @@ -211,7 +217,7 @@ and never ship a generated or downloaded image without provenance. `CREDITS.md`. The CC BY-SA `The Comedy Store.jpg` from the old link list was deliberately not used; the public-domain frames cover the same evidence. (`docs/screens/refs/joke-shop/`.) **Removed 2026-11-03:** the committed Comedy Store photo board was replaced by the local-only - `tmp/research/comedy-store/` research set (owner override; see §3D model re-evaluation → A). + `tmp/research/comedy-store/` research set (owner override; see §3D model and local map re-evaluation → A). - [x] TV Studio: no separate board — the venue is the same El Capitan Entertainment Centre block as the Hollywood day shift, restaged for a late-night arrival. The Hollywood board covers both venues and the premiere-staging photo is the arrival evidence; the reuse is now stated in @@ -453,7 +459,7 @@ keeping the frozen `npc_base` bone, tint-slot and gear-attach contract. The proc the primary path; Quaternius is a reviewed reference and MakeHuman is deferred to a separate local development pipeline. -The roster build is deliberately sequenced **after** the 3D model re-evaluation: the new variants +The roster build is deliberately sequenced **after** the 3D model and local map re-evaluation: the new variants must inherit the reviewed face/hand/gear baseline instead of multiplying whatever it finds. *Skill route: `character-artist`, `retopology`, `rigging`, `uv-workflow`, `materials`, diff --git a/docs/README.md b/docs/README.md index 40b188b..b0d4668 100644 --- a/docs/README.md +++ b/docs/README.md @@ -4,7 +4,7 @@ This folder holds the project documentation, visual references and generated QA ## Current priorities -1. [3D model and local map re-evaluation](../TODO.md#3d-model-re-evaluation) — asset scorecard and fixes, plus OpenStreetMap/3D data, licensed reference imagery, photoreal facades, AI-assisted composition and map/Gaussian-splatting evaluation. +1. [3D model and local map re-evaluation](../TODO.md#3d-model-and-local-map-re-evaluation) — asset scorecard and fixes, plus OpenStreetMap/3D data, licensed reference imagery, photoreal facades, AI-assisted composition and map/Gaussian-splatting evaluation. 2. [Character development](../TODO.md#character-development) — crowd, age, build, hair and outfit variety; generator-first, with the frozen NPC contract. 3. [0.10.0 release candidate](../TODO.md#milestone-0100--release-candidate) — versioned release hardening after the unversioned development tracks.