frontage: south block frontage, plus the placement bug it exposed

Adds the five remaining verified south-side buildings to the demo block
(6922, 6902, 6838 El Capitan Theatre, 6822 Budget, 6806-6820, 6800 Lee Drug)
exported in place from the OSM blockout and staged by the demo builder.

Adding neighbours exposed a pre-existing placement bug that could not be seen
while the hero stood alone:

- UE south is +Y (south sidewalk Y +718..+1447), but the hero facade sat at
  Y -1450 on the NORTH side and at X -12024..-9420, which is 26 m east of the
  6840 footprint (the frontage gap is X -14591..-12082).
- The two north-side buildings were on the SOUTH side, because their exporter
  mirrored Y.

Fixes: hero moved to X -13336 / Y +1307, inside its frontage gap; frontage and
north buildings export without a Y mirror (the FBX preset already lands
Blender -Y south on UE +Y south); player start and demo cameras moved to the
north sidewalk looking south; sun raised to pitch -62 so both frontages read
instead of the north side going to silhouette.

Screenshots re-rendered; the four demo views are marked needs-review because
the whole block changed.
This commit is contained in:
zwitschi committed 2026-11-08 09:13:57 +01:00
1 parent 01ccc61842
commit 8ca403fd08
41 files changed
+330 -82

No files matched your search

+8
View File
@@ -191,3 +191,11 @@ Scope: facts and traps that cost time to establish. Planned work lives in [TODO.
- **A fresh git worktree has no compiled game binaries.** `Binaries/` is gitignored, so `UnrealEditor-Cmd` on a new worktree exits "abnormally (error code: 1)" before running the Python script, with no Python error in the log. Run `Engine/Build/BatchFiles/Linux/Build.sh GigLineEditor Linux Development -project=<worktree>/Game/GigLine/GigLine.uproject` first.
- `/tmp/gigline/*.txt` result files are **shared across worktrees**. Reading `/tmp/gigline/demo-map.txt` after a run can show another worktree's stale output — check the file mtime, or use a per-worktree result path.
- **Flat Constant3Vector materials read as plastic.** Giving each surface a roughness plus a world-space-noise blend between two shades (WorldPosition → Multiply → Noise → Lerp between two Constant3Vectors → BaseColor) is enough to stop the blockout looking like a toy; no textures required.
## 2026-11-07 — The Y-side bug (found when the frontage was added)
- **UE convention in this project: south = +Y, north = −Y.** Ground truth is the street mesh: `Sidewalk_North` is Y −1912..−1053 and `Sidewalk_South` Y +718..+1447.
- The hero facade had been placed at **Y −1450 (north side)** and X −12024..−9420 — 26 m east of the 6840 footprint and on the wrong side of the street. It only looked right because it stood alone in an empty field; the approved screenshots were of a building with no context.
- The two north-side buildings (TCL, Tussaud's) were similarly on the **south** side: `export_north_buildings.py` mirrored Y, which put them where the frontage belongs.
- Fix: hero at X −13336 / Y +1307 (the frontage gap between 6902 and 6838); frontage and north buildings exported **without** a Y mirror (the FBX preset already maps Blender −Y south to UE +Y south).
- Lesson: **place a building only against a neighbour or the street mesh, never in isolation.** A single object in an empty map hides any number of placement errors; adding the adjacent frontage immediately exposed this one.