The decisive clamp: zero linear and angular velocity every frame for two seconds. t=0.25 Z=3220 vZ=0 | t=0.75 Z=3683 vZ=0 | t=1.25 Z=4197 vZ=0 It rises at ~1200 cm/s with velocity pinned to zero, so this is not a force, an impulse, or a bad initial state - all of those the clamp would have removed. Something calls a transform setter on the vehicle every frame. Our own source contains exactly one direct transform write outside the character (the shot actor's camera), so the writer is engine-side: the Chaos vehicle component driving UpdatedComponent from a vehicle state that was never created, or a skeletal-mesh transform update. Also diffed the two maps, since the pawn works in ReviewMap and not in DemoMap: kill_z, gravity, lights and partitioning are identical; DemoMap adds 593 static mesh actors, a height fog and a post-process volume, ReviewMap adds a shot actor and the character. Nothing in either list can write a transform, so the map difference is not in its actors or settings.
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.