The shot actor can now photograph a moving pawn: a per-shot ShotFollow flag re-places the camera every frame at a fixed offset in the pawn's frame, and the walk is driven per shot (SetReviewWalk) with the pawn returned to spawn after a follow shot, so the fixed-camera shots later in the list still find it in place. With that, the capture stopped depending on where a 4.5 m/s pawn happened to be. Two further bugs fixed on the way: - the engine's screenshot folder is cleared before each run. The collect step copies every review-*.png it finds in Saved/, so a shot retired from the camera list kept reappearing with byte-identical content from an older run - which is how a walk shot that was never captured looked like a captured one. - UpdateBodyAnimation no longer calls SetAnimation every frame. Re-setting the same clip restarts it, which freezes the body on frame 0. What the deterministic capture then exposed: the walk clip is applied but does not advance - every walking frame shows the same pose (arms forward, legs together). The stride shot is retired again rather than shipped, and TODO.md names the next step: log GetCurrentAssetTime across frames and check the imported PlayRate. The harness stays wired for when the clip plays. Shots 6 and 7 were re-rendered after these changes and still pass; 7/7 verify.
29 KiBLFS
29 KiBLFS