Files
skate-3-rust-engine/docs/replay.md
T

2.2 KiB
Raw Blame History

Instant replay

The game keeps the last 30 seconds of completed presentation poses in memory. Select / View (the small left menu button) opens replay, paused at the newest frame. The available duration grows from zero after starting the game.

Control Action
Select / View, or B Exit replay
LT / RT Scrub backward / forward; trigger pressure changes speed, up to 4×
D-pad left / right Step one recorded frame
A Play / pause; playing from the end starts at the beginning
Y Toggle recorded camera / free camera
Left stick Move free camera horizontally
Right stick Look around
LB / RB Move down / up
Left-stick click Faster camera movement

Keyboard: F6 opens/closes replay, arrows scrub, comma/period step frames, Space plays/pauses, C toggles camera. Free camera uses WASD, Q/E for height, right mouse drag to look, and left Shift for speed.

Replay pauses live gameplay. Exiting returns to that same live state, not the scrubbed position. Release the replay controls before resuming gameplay. Escape can still open the graphics menu. This is an in-memory viewer, not video export or a saved replay format.

Implementation and verification

Replay stores timestamped presentation::Snapshot values: root transform, complete skin/board pose, camera transform, and FOV. It records completed fixed ticks and uses the same bone-local interpolation as live presentation. Camera cuts, teleports, and cadence changes are not interpolated across. Scrubbing never advances animation graphs, physics, gesture recognition, or stance events.

The replay input system runs after platform polling in PreUpdate, outside the gated fixed simulation sets. Replay inputs are discarded from gameplay history; the gate remains on input until buttons, sticks, and triggers are released.

Run cargo test -p skate-game --locked replay::tests for buffer retention, scrubbing, camera mode, discontinuity, input isolation, and simulation gating. For a screenshot smoke check, set SKATE_VERIFY_REPLAY=1 when using the existing --verify <absolute-path.png> launch option.

The remaining trick hitch and nollie inward-heel/fakie behavior are not changed by this feature. Replay allows inspecting their final displayed poses directly.