fix(blockout): regenerate with --origin; frontage back on the verified spans
The 0.1.2 blockout regeneration ran without --origin, so Blosm centred on the extract instead of fitting the project frame. The frontage shifted ~119 m in X and ~2.4 m in Y and the hero fell outside the 6902/6838 gap - the verified placement was silently undone, while every render still looked like a plausible block. - Blockout regenerated with --origin 34.101545,-118.338718 (affine residual 0.0 cm); frontage and north buildings re-exported and re-imported. - Verified spans restored: 6922 -24276..-17700, 6902 -17749..-14591, hero -14644..-12028 between them, theatre -12082..-8210, TCL -22889..-18442, Tussaud's -27071..-22799. - ue_apply_facade_kit now uses get_actor_bounds() (world space). It had used the static mesh bounding box, which is building-line-local, so every kit piece was placed ~12 km east of its building in empty ground. - ue_import_north_buildings.py was missing 'import sys' (NameError, exit 255, import silently skipped) - the same trap as the hero importer. - Kit re-applied: 625 pieces across eight buildings; packaged QA still PASS (walk, transect 0 holes, wall probe 0/35, facade probe 0/9).
This commit is contained in:
1 parent
c9d603f754
commit
32dff056c3
48 files changed
+107
-80
No files matched your search
@@ -591,3 +591,24 @@ Scope: facts and traps that cost time to establish. Planned work lives in [TODO.
|
||||
- The kit meshes are spawned at the world origin with their position baked into
|
||||
the mesh (like the frontage exports), so placement uses the bbox directly and
|
||||
must not add the actor location.
|
||||
|
||||
## 2026-11-09 — CRITICAL: blockout must be regenerated with --origin
|
||||
|
||||
- Regenerating the blockout in 0.1.2 (for the 3.1 m storey height) was run **without
|
||||
`--origin`**, so Blosm centred on the extract instead of fitting the project frame.
|
||||
The whole frontage shifted about **119 m in X and 2.4 m in Y**, and the hero ended
|
||||
up outside the 6902/6838 gap — the "verified placement" was undone silently, and
|
||||
every render still looked like a plausible block.
|
||||
- Correct invocation (README documents it, and the affine fit prints
|
||||
`frame correction residual: max 0.0 cm`):
|
||||
`blosm_blockout.py --osm … --bounds 34.1006,-118.3422,34.1020,-118.3370
|
||||
--level-height 3.1 --origin 34.101545,-118.338718 --assets-dir … --out …`
|
||||
- After re-export + re-import, the frontage spans are back to the verified values:
|
||||
6922 −24276..−17700, 6902 −17749..−14591, **hero −14644..−12028 between them**,
|
||||
theatre −12082..−8210, and the north buildings at −22889..−18442 / −27071..−22799.
|
||||
- **`ue_import_north_buildings.py` also lacked `import sys`**, so its sys.path line
|
||||
raised NameError and the import silently did nothing (exit 255). Same trap as the
|
||||
hero importer: these scripts imported only `unreal`.
|
||||
- Lesson: after any blockout regeneration, probe the staged buildings' world X spans
|
||||
and compare them with `Geo/verification/2026-11-06-el-capitan-block.md` before
|
||||
trusting a render. A shift of this size is invisible in a screenshot.
|
||||
Reference in new issue
Block a user