Added a -profile probe: one downward trace every 20 m along the street at the player's Y, naming the surface each time. It settles the question the bounding boxes could not: x=-14336..-2336 z=366 Road_Hollywood (flat) x=-336 z=302 Road_Hollywood x=1664 z=5 Terrain_DEM The road is FLAT at 366 cm across the demo block, while the sidewalk slices follow the DEM and descend 380 -> 104 cm. So the ~2 m gap is not an import artefact and not a collision problem: the road itself does not follow the elevation the sidewalks follow. That also explains why every sidewalk fix failed - the surface the player stands on is this flat road, and the sloped sidewalk is metres below it. Next: how rows is built in Art/blender/street/street_mesh.py. The road and the sidewalk read the same dem_z(x, y), so a flat road means the sampler returns the same value for every row.
Game
The Unreal project lives at Game/GigLine/GigLine.uproject once created. Nothing here yet.
What gets committed
Config/— engine and project settings, including the quality presets used for release checksSource/— C++ modulesContent/—0.1.0map, materials, meshes; LFS-trackedGigLine.uproject
What does not
Binaries/, Intermediate/, Saved/, DerivedDataCache/ — all generated. .gitignore covers them; do not add exceptions.
Engine
Installed outside the repository. Its path and exact version are recorded in ../Docs/toolchain.md. Nothing in this directory may assume a machine-specific engine path; the documented build procedure is ../Docs/build.md.