- _build_player: creates Player (CharacterBody3D) with capsule, MovementStateMachine + 6 state children, attaches movement script - Calls player._ready() manually after set_script (GDScript set_script does not auto-trigger _ready) - Camera parented under Player so it follows movement - Restores _build_camera() which was accidentally dropped