Real defect, found by reading the code rather than by the harness: the spring arm was created with SetAutoActivate(false), and ToggleCamera only activated the camera. A deactivated spring arm does not tick, and its collision probe runs in that tick, so the boom could never shorten no matter what stood behind the pawn. ToggleCamera and BeginPlay now activate the arm alongside the camera. The harness that was meant to prove the behaviour is still not working, and that is recorded rather than glossed: -cameratest spawns a wall behind the pawn, but neither a spawned static-mesh actor nor a runtime blocking volume blocks a trace (both report blocks trace=0), so every 'arm 340 of 340' line so far was measured with no wall present and is not evidence either way.
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.