Merged PR #30: 0.1.4 — facade module kit, textured materials, theatre trim Co-authored-by: Zwitschi <zwitschi82@gmail.com>
81 lines
5.2 KiB
Markdown
81 lines
5.2 KiB
Markdown
# `0.1.4` façade review — signoff
|
||
|
||
Four demo-map captures from the `facades-0.1.4` branch, after the module kit, the textured materials and the theatre marquee went in. **All seven items signed off 2026-11-09** (owner review of the local renders).
|
||
|
||
Reference photographs to compare against: `Art/reference/hollywood/` and `Art/reference/el-capitan-*` (local, not committed). Regenerate the set with `Tools/render_screenshots.sh --verify`; measure it with `python3 Tools/visual_loop.py --compare --iteration 5`.
|
||
|
||
## Signoff
|
||
|
||
- [x] **1. Block from the north sidewalk** — hero between its neighbours, sidewalk and road read correctly
|
||
- [x] **2. Street level** — colonnade, shopfronts and window rhythm hold up at eye height
|
||
- [x] **3. Crossing** — zebra bars, kerb line and the frontage behind
|
||
- [x] **4. North buildings** — TCL and Tussaud's framed across the boulevard
|
||
- [x] **5. Materials** — stone reads as coursed stone, glazing as glass, not flat colour
|
||
- [x] **6. Theatre trim** — marquee and blade sign proportions believable at street level
|
||
- [x] **7. Approve** `v0.1.4` (kit + materials + theatre trim); remaining geometry moves to the next version
|
||
|
||
## 1. Block from the north sidewalk
|
||
|
||

|
||
|
||
Expected: the neoclassical hero façade between its neighbours, both sidewalks and the road in the foreground. _Metric: 0.68 similarity, edges 0.28× reference._
|
||
|
||
## 2. Street level
|
||
|
||

|
||
|
||
Expected: the hero colonnade with adjacent frontage buildings either side, shopfronts at pavement level, 4.96 m bay rhythm. _Metric: 0.33, edges 0.27×._
|
||
|
||
## 3. The designated crossing
|
||
|
||

|
||
|
||
Expected: continental zebra bars on the asphalt at s=130 m, south frontage and colonnade behind. _Metric: 0.42, edges 0.34×._
|
||
|
||
## 4. North-side buildings
|
||
|
||

|
||
|
||
Expected: TCL Chinese Theatre and Madame Tussaud's across Hollywood Blvd, full height in frame. _Metric: 0.34, edges 0.14×._
|
||
|
||
---
|
||
|
||
## Appendix — what was checked, and what was broken
|
||
|
||
### Verified
|
||
|
||
- **Behaviour**, packaged build, `-qaselftest`: walk 761 cm in 2 s (Z steady 456), reset 0 cm, pause/unpause, seam transect 1456 samples / **0 holes**, wall probe **0/35**, façade occlusion probe **0/9** — all PASS. Run twice: the harness is time-based and one loaded run reported a false failure (`walk 246 cm`, `pause FAIL`), an immediate re-run passed — re-run before believing a single FAIL.
|
||
- **Placement**, probed from the live map against `Geo/verification/2026-11-06-el-capitan-block.md`: 6922 −24276…−17700, 6902 −17749…−14591, **hero −14644…−12028 between them**, theatre −12082…−8210, 6822 / 6806 / 6800 −7854…−1437, TCL −22889…−18442, Tussaud's −27071…−22799. Blockout affine residual **0.0 cm**.
|
||
- **Budgets**: hero 148 parts / 3 044 tris · kit 16 meshes × 12 tris · 625 kit actors ≈ 7 500 tris · 8 × 512² textures (196 KB) · 67 tool tests pass.
|
||
- **Topology**: every kit piece manifold, no loose geometry.
|
||
|
||
### Defects found this cycle
|
||
|
||
Every one of these rendered convincingly; the placement ones were caught by coordinate probes, not by looking.
|
||
|
||
| Sev | Defect | Root cause |
|
||
| --- | --- | --- |
|
||
| Blocker | Frontage shifted ≈119 m X / 2.4 m Y, hero outside its gap | Blockout regenerated without `--origin` |
|
||
| Blocker | Kit placed ~12 km from its buildings | Used mesh-local bbox; actors carry the offset |
|
||
| Blocker | Marquee on the far side of the boulevard | Blender +Y is Unreal −Y |
|
||
| Major | Marquee canopy 5 cm above the pavement | Absolute Z; pavement is 4.56 m above datum |
|
||
| Major | Window bays invisible, inside the solid wall | Piece modelled entirely at +Y |
|
||
| Major | Glazing wasn't glass | Grey `M_Kit_*` from the FBX import, never overridden |
|
||
| Major | Hero windows floated 1.44 m in front of the wall | Wrong Y in the builder |
|
||
| Major | Parapet medallions were discs on the coping | Built with the Z-axis cylinder helper |
|
||
| Major | Hero had no usable collision | Complex-only; traces use simple |
|
||
| Minor | "No smoothing group information" on every import | `mesh_smooth_type="OFF"` in six exporters |
|
||
| Minor | `save_map()` returned False silently | LFS `.umap` read-only, importer never chmod'd |
|
||
| Minor | North-buildings import silently no-op | Missing `import sys` |
|
||
| Minor | Kit folder held 24 assets (8 orphan materials) | No stale-asset sweep |
|
||
| Minor | Edge-density metric counted PIL's border ring | `FIND_EDGES` leaves a 128 ring |
|
||
| Minor | QA wall probe grazed the theatre wall | Scan row 1 cm from the building line |
|
||
|
||
### Limitations worth knowing
|
||
|
||
- Kit pieces are boxes; dentil spacing, abacus and plinth dimensions are recorded assumptions, not measurements.
|
||
- Textures are generated, not authored — no decals, signage text or weathering.
|
||
- The vision pre-check stays advisory: it has rejected shots the owner approved.
|
||
- The low edge ratios in the metrics are partly structural — a wide block view against a tight façade crop always scores low. Weigh the images, not the scores.
|
||
- Performance has not been re-measured since `0.1.0`; the 625 kit actors are unmeasured (tracked in `TODO.md` under `0.1.5`).
|