diff --git a/Screenshots/README.md b/Screenshots/README.md index c49ca31..43bca33 100644 --- a/Screenshots/README.md +++ b/Screenshots/README.md @@ -22,7 +22,7 @@ Every shot is embedded below, in order, so the whole review happens in this file | 2 | [Street level](#2-street-level) | ☑ 2026-11-09 | ☑ 2026-11-09 | | 3 | [Crossing](#3-crossing) | ☑ 2026-11-09 | ☑ 2026-11-09 | | 4 | [North buildings](#4-north-buildings) | ☑ 2026-11-09 | ☑ 2026-11-09 | -| 5 | [Retail frontage](#5-retail-frontage) | ☑ 2026-11-09 | ☐ pending | +| 5 | [Retail frontage](#5-retail-frontage) | ☑ 2026-11-09 | ☑ 2026-11-09 | **Verified** is what `--verify` reports: the frame is not blank, is the right size, and has tonal range. **Approved** is the owner's verdict, recorded here. Each shot also has an **expectation** in [`Tools/visual_targets.json`](../Tools/visual_targets.json) describing the content it must show. @@ -78,8 +78,10 @@ Every shot is embedded below, in order, so the whole review happens in this file - **File:** `demo/review-demo-retail-frontage.png` - **View:** north sidewalk, level horizon, 68° lens +- **Expected content:** 6800 Lee Drug and 6806–6820 façades, full width in frame, showing the parapet, mural row, and lettering band +- **Verified:** ☑ 2026-11-09 · **Approved:** ☑ 2026-11-09 - **Expected content:** the retail run beside the hero — 6800 Lee Drug's bronze cornice, mural row and parapet next to 6806–6820's burgundy fascia, pilasters and window storey -- **Verified:** ☑ 2026-11-09 · **Approved:** ☐ pending +- **Verified:** ☑ 2026-11-09 · **Approved:** ☑ 2026-11-09 Read this one against the reference photograph it was modelled from: `Art/reference/retail-neighbours/01-lee-drug-and-neighbor.jpg` (Gb321, CC BY-SA 4.0). @@ -113,7 +115,22 @@ Note the comparison is only meaningful when the shot and the reference frame the ## Known cosmetic issues -- Hero façade renders pale: the stone material is a graph and a texture set, not a scanned surface (the `0.1.4` façade pass is in progress). -- Banners sit on the column line rather than flush to the wall (they hang on the columns in the photographs, so this is acceptable). -- Between kerb and building line the walkable surface is the terrain mesh, not a modelled pavement. -- The El Capitan Theatre has no marquee or blade sign yet — the feature that makes it read as itself. +Each issue is tracked in `TODO.md` under the version that will fix it; an issue with no ticket is a bug in the plan, not a note. + +| Issue | Where it is tracked | State | +| --- | --- | --- | +| Hero stone renders pale — the material is a procedural graph and a generated texture set, not a measured surface | `0.9.0` → Materials, UVs and performance: **measured material library** | Open | +| Hero façade has no doors at street level left and right of the central bay, and the central bay elements (columns, stairs, set-back entrance, door frames, signage) are not positioned as the photographs show | `0.9.0` → Per-building models: **hero façade (6840)** | Open | +| Nothing should stand in front of the hero façade that blocks it — no awning, no temporary structure | `0.9.0` → Per-building models: **hero façade (6840)**, same item | Open | +| Between kerb and building line the walkable surface is the terrain mesh, not a modelled pavement | `0.6.0` → Look and sound: **model the pavement between kerb and building line** | Open | +| Retail parapet has no moulded profile, and wall lettering built as a plate does not read at 40 m | `0.9.0` → Per-building models: **6800 Lee Drug and 6806–6820, second pass** | Open (moved out of `0.1.6`) | +| 6822 Budget is a bare blockout volume — no photograph exists to model it from | `0.9.0` → Per-building models: **photography gap** | Deferred (moved out of `0.1.6`) | + +Accepted by the owner, not a defect: + +- Banners hang on the column line rather than flush to the wall — that is how they hang in the photographs. + +Resolved and removed from this list on 2026-11-09: + +- "The El Capitan Theatre has no marquee or blade sign" — the trim has been staged since `Tools/ue_stage_theatre_trim.py` landed; the demo map carries all six trim actors (`/tmp/gigline/theatre-import.txt`). +- "Materials are not yet created in Blender or fully integrated" — contradicted by the Scene conventions above: every surface carries a look-dev material built in `Tools/ue_build_demo_map.py`. diff --git a/TODO.md b/TODO.md index 6769651..3b7aa43 100644 --- a/TODO.md +++ b/TODO.md @@ -13,10 +13,9 @@ Actionable task list for this project. This file is the single, central place fo Suggested blender skills: **references** (reference-image-match), **archviz**, **historical-worlds** for the 1920s–1990s retail mix on this run. -### Patch tasks - active - session-5598ce7e-27e3-4c64-bb49-c04a4a31ee58 (branch `facade-retail-0.1.6`) +### Patch tasks -- [A] **Model 6800 Lee Drug and 6806–6820 from their own reference.** First pass 2026-11-09 on branch `facade-retail-0.1.6`: `Tools/retail_frontage_build.py` builds both façades from the one photograph (`Art/reference/retail-neighbours/`, Gb321 CC BY-SA 4.0) with the analysis in `Art/blender/retail/ref-analysis.md`; `Tools/ue_import_retail_detail.py` imports them and the demo builder stages them as `RetailTrim_*`. The generic façade kit is now skipped on these two, so their walls carry one façade language instead of two. **Open on this item:** the parapet reads as a blank band, the mural row and lettering band do not resolve at review distance, the corner tower is a plain cylinder, and the review camera crops the east end — all listed in `Screenshots/README.md`. **Not fixable by more geometry:** a second pass moved the plates 0.10–0.20 m off the wall and they still do not read at 40 m; wall lettering and the portrait panels need the decal/texture route scoped in `0.9.0 — Realistic buildings`. This patch stops at the trim that does read — cornice, fascia, storefronts, window bars, parapet tiers. -- [D] **Model 6822 Budget.** Deferred: no photograph exists for it (Commons has nothing usable) and the single-storey 6.0 × 5.5 m volume cannot be read from the neighbour shot. Needs photography before it can be modelled honestly; do not substitute the El Capitan Theatre's set or the 6806–6820 shot. +- [x] **Model 6800 Lee Drug and 6806–6820 from their own reference.** Built 2026-11-09 on branch `facade-retail-0.1.6`: `Tools/retail_frontage_build.py` (analysis in `Art/blender/retail/ref-analysis.md`), imported by `Tools/ue_import_retail_detail.py`, staged as `RetailTrim_*`; the generic façade kit skips these two so the wall carries one façade language. Delivered in this patch: bronze cornice, storefront glazing and mullions, framed portrait panels, two-tier parapets with reveals, burgundy fascia, pilasters, white-framed windows with security bars, fluted corner tower. **Moved out:** lettering decal, moulded parapet profile and tower refinement cannot be solved with geometry at this size and are now items under `0.9.0 — Realistic buildings`; the trim that does read is what this patch ships. - [ ] Review every façade change with `Tools/render_screenshots.sh --verify` before tagging. - [ ] Tag `v0.1.6` and write `CHANGELOG.md` entry; then remove this section. @@ -183,6 +182,7 @@ Suggested blender skills: **references** (reference-image-match), **archviz**, * - [ ] Create an evening lighting preset. - [ ] Complete a visual polish pass across the neighborhood. +- [ ] Model the pavement between kerb and building line; today that strip is the terrain mesh, which reads as bare ground under the shopfronts (`Screenshots/README.md`). Carried over 2026-11-09. - [ ] Add ambient audio (city ambience, traffic, basic SFX). - [ ] Verify licenses for all added audio files. @@ -303,16 +303,17 @@ Suggested blender skills: **archviz** (real-world scale, façade composition, el Each building needs its own reference set; where none exists the blockout stays and the item says so. - [ ] Hero façade (6840): raise to this pass's detail level — capitals and fluting, window rhythm behind the colonnade, parapet motto band and medallions. +- [ ] Hero façade (6840), entrance: **doors at street level left and right of the central bay**, as the photographs show, and correct positioning of the central-bay elements (column bases, entrance stairs, set-back entrance, door frames, banners and signage). Nothing may stand in front of the façade that blocks it — no awning, no temporary structure. Carried over from `Screenshots/README.md`, 2026-11-09. - [ ] El Capitan Theatre (6838): marquee, blade sign, entrance and the theatre's own elevation from its 18-frame set. -- [ ] 6800 Lee Drug and 6806–6820: second pass on the `0.1.6` trim — parapet profile, mural panels, and the lettering decal. -- [ ] 6822 Budget, 6806–6820 and 6800 photography gap: acquire references before modelling anything not yet photographed, and record the sources checked in `Geo/`. +- [ ] 6800 Lee Drug and 6806–6820: second pass on the `0.1.6` trim. Moved here from that patch because geometry cannot close them: **wall lettering as a decal** (a plate at 0.10 m still vanishes at 40 m), a **moulded parapet profile** instead of a two-tier box, richer **corner-tower stepping**, and the portrait panels reworked as textures rather than framed plates. +- [ ] **Photography gap — 6822 Budget** (deferred out of `0.1.6`, blocked): no photograph exists; the single-storey 6.0 × 5.5 m volume cannot be read from the neighbour shot, so it stays a bare blockout until references are acquired. Record the sources checked in `Geo/`. Also re-shoot 6806–6820 and 6800 from the south sidewalk: the only reference is one oblique with a bus across Lee Drug's shopfront and a car across 6806's. - [ ] 6902, 6922 and the remaining south frontage. - [ ] North side: TCL Chinese Theatre and Madame Tussaud's façades from their reference sets. - [ ] Reconcile every modelled height against `Geo/tools/block_height_report.py` and record the source per building. ### Materials, UVs and performance -- [ ] **Measured material library**: stucco, painted render, ashlar, brick, terrazzo, glazing, bronze and steel trim, with albedo and roughness taken from the photographs rather than guessed; one Unreal material instance per surface type. +- [ ] **Measured material library**, including the hero's stone, which currently renders pale because it is a procedural graph and a generated texture set rather than a measured surface: stucco, painted render, ashlar, brick, terrazzo, glazing, bronze and steel trim, with albedo and roughness taken from the photographs rather than guessed; one Unreal material instance per surface type. - [ ] **Texel-density rule** per building class, applied through modular UVs; lightmap UVs where required. - [ ] **LOD chain and collision proxies** per building: UCX proxies for blocking volume, detail geometry non-colliding. - [ ] Re-validate the 60 FPS floor at 1440p once the detail lands, and record the cost of the pass.