The probe now logs the horizontal distance from the player to the impact point. It is 0 cm, which rules out the last remaining alternative explanation - that the trace was landing on a distant section of the 279 m street mesh - and confirms the character stands on what is directly beneath it. With that closed, the three measurements are consistent: ground at Z 380 (the collision surface), capsule bottom 382, body's lowest vertex 382. The engine's geometry is right. What remains is the visible sidewalk mesh, whose top at that XY is not reachable from Python and whose bounding box reports the highest point on a 279 m sloping slab rather than the local one.
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.