# Camera collision memtraces (docs/re/camera.md, 2026-10-13T16:19:35 entry).
# Regions per frame: the six of camera-trace.txt (camera pose C, camera system K 0x589a70:0x200, strategy S 0x58d3e0, player node,
# manager 0x376870, records 0x58d880), then K+0x200:0x200 (sweep shape A header and raw segments), K+0xf90:0x80 (stored pieces),
# K+0x1c20:0x60 (intervals), K+0x1db0:0x20 (gap result A), K+0x1ec0:0x10 (axis B), K+0x3960:0x20 (gap result B).
# Convert each .mem with tools/export_camera_trace.py --extra 0x330 and the pad state of its part:
#   w_R --held 0x100, w_walk --stick-y -150, w_rest (no pad), w_L --held 0x200.
# w_R: R held at the spawn (open street, no obstruction). w_walk: stick back towards the camera and the wall line east of the spawn
# (x about 911, z 1090 to 1120); w_rest: the player stands still; the state camwall-east is saved there; w_L: L held, the camera
# turns round the player.
loadstate gameplay-start
frames 2
dt 0.033 0.033
hold R
memtrace 170 w_R 0x08501ad0:0x100 0x589a70:0x200 0x58d3e0:0x40 0x08568bb0:0xb0 0x376870:0x60 0x58d880:0x30 0x589c70:0x200 0x58aa00:0x80 0x58b690:0x60 0x58b820:0x20 0x58b930:0x10 0x58d3d0:0x20
hold -
loadstate gameplay-start
frames 2
dt 0.033 0.033
stick 0 -150
memtrace 70 w_walk 0x08501ad0:0x100 0x589a70:0x200 0x58d3e0:0x40 0x08568bb0:0xb0 0x376870:0x60 0x58d880:0x30 0x589c70:0x200 0x58aa00:0x80 0x58b690:0x60 0x58b820:0x20 0x58b930:0x10 0x58d3d0:0x20
stick 0 0
memtrace 30 w_rest 0x08501ad0:0x100 0x589a70:0x200 0x58d3e0:0x40 0x08568bb0:0xb0 0x376870:0x60 0x58d880:0x30 0x589c70:0x200 0x58aa00:0x80 0x58b690:0x60 0x58b820:0x20 0x58b930:0x10 0x58d3d0:0x20
savestate camwall-east
hold L
memtrace 170 w_L 0x08501ad0:0x100 0x589a70:0x200 0x58d3e0:0x40 0x08568bb0:0xb0 0x376870:0x60 0x58d880:0x30 0x589c70:0x200 0x58aa00:0x80 0x58b690:0x60 0x58b820:0x20 0x58b930:0x10 0x58d3d0:0x20
hold -
