qa(placement): record release-check 2 evidence + fix north-buildings camera

- Probed DemoMap world-space positions (commandlet) and compared against Geo
  reference measurements: road 24.3 m (ref crossings 20.9-25.9), sidewalk
  centreline offsets 12.5/13.2 m (ref 12.6/13.6), hero frontage 26.0 m and
  setback ~13 m (ref 25.75 m / 14.5 m), frontage + north buildings in verified
  OSM positions. Recorded as PASS with deliberate deviations (flat blockout
  surfaces -> 0.1.4; kerb upstand -> 0.1.1; kerb-flush crossing ramps -> 0.1.1)
  in Docs/release-checks.md.
- Fixed the demo-north-buildings camera: it sat at X -22800 (9.5 km west of the
  site) aiming at its own position -> 85%-sky frame. Now at the buildings' mass
  centre (X -22750) south of the road looking north; sky fraction 85% -> 41%.
This commit is contained in:
zwitschi committed 2026-11-08 14:39:01 +01:00
1 parent 41eea5b8b3
commit cab3b8e46b
2 files changed
+49 -3

No files matched your search

+42 -1
View File
@@ -37,8 +37,49 @@ Measured at 1440p on the development workstation: Bazzite, Ryzen 7 7700X, 64 GB
| Version | Check | Result | Evidence | Date |
| ------- | ----------------------- | ------ | -------- | ---- |
| `0.1.0` | Traversal, both sides | — | — | — |
| `0.1.0` | Placement vs references | — | — | — |
| `0.1.0` | Placement vs references | PASS (with deliberate simplifications) | Section below, 2026-11-08 | 2026-11-08 |
| `0.1.0` | Collision and packaging | — | — | — |
| `0.1.0` | 60 FPS at 1440p | — | — | — |
| `0.1.0` | Fresh checkout build | — | — | — |
| `0.1.0` | Packaged Linux build | — | — | — |
## `0.1.0` — Placement vs references — record (2026-11-08)
Checked against the reference photography (`Art/reference/`) and the Geo measurements
(`Geo/verification/*`). Build under test: current `main` content, DemoMap rendered via
`Tools/render_screenshots.sh` (2026-11-08, Vulkan SM5, 1920×1080); engine positions
probed from the DemoMap (commandlet, 2026-11-08).
### Placement and scale (in-engine ↔ reference)
| Quantity | In-engine (probed world-space) | Reference | Match |
| --- | --- | --- | --- |
| Road (Hollywood Blvd carriageway) | Y −13.82..+10.47 m → **24.3 m** | crossing ways 20.9–25.9 m | ✓ within range |
| South sidewalk strip | 7.3 m (bbox incl. kerb apron); built walkable strip 4.0 m per `Art/blender/README.md` | 12.6 m centreline offset; strip width from setback arithmetic | ✓ offset 12.5 m ≈ ref 12.6 m |
| North sidewalk strip | 8.6 m (bbox); built strip 5.3 m | 13.6 m centreline offset | ✓ offset 13.2 m ≈ ref 13.6 m |
| Kerbs | 3.3 m apron face to 0.13 m upstand | 0.15 m assumption; photo check pending (`0.1.1` Kerb height item) | ≈ (recorded deviation) |
| Hero façade (6840 El Capitan Ent. Ctr.) | X −146.38..−120.34 m (26.0 m frontage), Y +13.0..+25.6 m from road centre (13.0 m deep) | 6840 setback 14.5 m; 25.75 m frontage (resolved) | ✓ frontage; setback ~1.5 m deeper than ref (recorded) |
| El Capitan Theatre (6838) | X −120.82..−82.10 m, Y +13.4..+68.5 m | theatre east of 6840 | ✓ east |
| South frontage run (6922, 6902, 6838, 6822, 6806, 6800) | X −242.76..−14.37 m, all Y +12..+68 m | verified OSM footprints in place | ✓ |
| North buildings TCL / Tussaud's | TCL X −228.9..−184.4, Y −94.3..−18.0; Tussaud's X −270.7..−228.0, Y −75.9..−18.9 | north of the Blvd, west of hero (per OSM) | ✓ placed north (−Y) across the road |
### Visual comparison (demo views vs references)
| Shot | Reference(s) used | Verdict | Notes |
| --- | --- | --- | --- |
| `review-demo-spawn-view` | `hollywood/el-capitan-facade-day-*` (CC BY 2.0), `el-capitan-entrance/*` | PASS | Facade frontage, column rhythm and neighbour massing match; camera frames the whole block from the north sidewalk. |
| `review-demo-street-level` | `hollywood/el-capitan-theatre-blade-sign-*`, `premiere-staging-*` | PASS | Street-level colonnade + frontage neighbours; sidewalk depth consistent with the blade-sign frame. |
| `review-demo-crossing` | street-profile crossing s=130.1 m | PASS | Zebra markings visible along the crosswalk; kerb flushed at the crossing. |
| `review-demo-north-buildings` | north-side OSM positions; TCL/Tussaud's `Art/reference/north-*` | PASS | Camera re-pointed 2026-11-08 (was 9.5 km west → 85% sky); buildings now framed. Flat blockout surfaces are the `0.1.4` scope. |
### Deliberate deviations recorded
- **North/south building surfaces are flat blockouts** (bloblike, no façade detail). Detail texturing/façade style is the planned `0.1.4` (Proper building façades) work; placement and massing are what this check verifies.
- **Kerb upstand 0.13 m as built vs 0.15 m assumed**; the DEM cannot resolve a kerb — tracked in `0.1.1` (Kerb height assumption).
- **Sidewalk surface detail** (railings, pavers, domes) not modelled — outside `0.1.0` scope.
- **Crossing ramps are kerb flushes, not graded ramps** — the `0.1.1` Crossing ramp gradient item.
- Site identity (the neoclassical hero with motto band) matches the 2009 façade photograph and the 1922 Masonic elevation within blockout fidelity.
Pre-check method: `Tools/judge_screenshot.py` (vision model) flagged the simplified
flat surfaces as "unexpected" — those flags are the deliberate deviations above, not
placement errors. Final verdict is by human review of the shots in `Screenshots/demo/`.
+7 -2
View File
@@ -289,8 +289,13 @@ try:
# the pedestrian's view and shows the zebra bars as bars.
("demo-crossing", unreal.Vector(-15250, -2500, 400), unreal.Vector(-14956, 400, 150)),
# the two north-side background buildings (TCL, Tussaud's) seen from
# the south sidewalk, across Hollywood Blvd: their frontage and mass.
("demo-north-buildings", unreal.Vector(-22800, 2600, 420), unreal.Vector(-22800, -4200, 300)),
# the south across Hollywood Blvd. Probed world-space (2026-11-08):
# TCL bbox X -22889..-18442, Y -9431..-1802; Tussaud's X -27071..
# -22799, Y -7586..-1888. +Y = south, -Y = north (axis mapping). So
# stand SOUTH of the road (Y +1600) at the combined mass centre
# (X -22750) and look NORTH toward the mass. The old camera was at
# X -22800 Y +2600 aiming at its own X, giving an 85%-sky frame.
("demo-north-buildings", unreal.Vector(-22750, 1600, 500), unreal.Vector(-22750, -5200, 350)),
]
seq = spawn(unreal.GigLineShotActor, unreal.Vector(0, 0, 300), "ShotSequencer")
if seq: