Ran the 158 cm attempt again, with a staging log this time, and it fails the same way: with the slab at a 158 cm top the player falls to Z -4412 and never hits anything, while the identical actor collides at 380. Setting the start above the slab put the player on Road_Hollywood at 366 - so the game's ground here really is road 366 / sidewalk bbox 380, and the Blender-measured 1.58 m does not describe the shipped map; the blend predates the terrain. The 158 hypothesis was wrong and is retracted in TODO.md. Geometry is now measured end to end: top surface under player: Z=380 mesh=Cube (actor Z 470) body: mesh bottom 382, capsule bottom 382, body above capsule 0 cm The body's lowest vertex and the capsule bottom agree within 0 cm, sitting 2 cm above the collision surface. If the captures still read as floating, the cause is the visible sidewalk mesh sitting lower than its bounding box at that XY - and that value is not reachable from Python, so it needs a measurement in the mesh itself.
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.