Engineering journal

A Replay Is More Than a List of Inputs

How consumed input snapshots, world transactions and independent verification make a recording useful evidence.

About 3 min read

What a replay owns. Consumed input + committed transactions. Immutable recording: Inputs, timeline, checkpoints. Trusted game composition: Explicit executor; no code in data. Headless verification: World hash + checkpoint checks. A boundary illustration, not a runtime result. Input provenance remains a separate claim.
A boundary illustration, not a runtime result. Input provenance remains a separate claim.
Download technical figure · PNG · 1200 × 630

Record the boundary the system actually consumes

A list of button presses sounds like enough information to replay a game. The missing question is where that list came from. A device event, an application input snapshot and a committed world change describe different moments. Recording one does not automatically record the others.

Imagine a key being pressed between two simulation ticks. A device adapter can observe the event before the application consumes it. Saving a second poll later would describe a different observation. The useful recording boundary is the input presented to the tick that actually ran. That distinction also matters when the source is a test harness or an agent instead of a keyboard.

Keep application input separate from world history

LudoWeave's M239 decision (opens in a new tab) places input history in an application envelope around the existing replay timeline. The world layer does not acquire a dependency on input devices. Missing ticks are rejected, and exact digital, analog and transition values are retained.

This separation is useful because the recording answers two questions: what the application consumed, and which world transactions resulted. The envelope includes the inputs in its own hash while preserving the embedded timeline's existing hash. Older replay files keep their earlier input-injection requirements; the new format does not silently change what an old artifact means.

The design still requires trusted game composition code. A recording is data for an explicitly supplied executor, not a portable package that can reproduce arbitrary game behavior without its implementation. Treating those dependencies as part of the experiment makes replay results easier to interpret.

Connect real play to the artifact

The M240 replay guide (opens in a new tab) connects Clockwork Arena's play loop to that envelope. It records the immutable snapshots consumed by the tick executor alongside receipted transactions. Recording is opt-in and bounded to 3,600 requested ticks. An early close retains completed ticks, including a valid session with no completed ticks.

The sample collects bounded batches and serializes the complete history when saving. A growing recording therefore does not require reserializing the entire history every tick. That design choice is not a measured latency claim or a streaming guarantee.

Verify without the original input generator

The important independence test is whether playback can use the saved artifact without returning to the original input generator. In the documented path, a fresh headless process supplies the artifact's owned input and checks the world hash and embedded checkpoints. Graphics and audio are not needed for that verification.

A checkpoint provides an intermediate comparison point; a final-state comparison answers a narrower end-state question. When diagnosing a divergence, keeping both kinds of evidence makes the report more useful than merely declaring that the recording failed. A practical investigation should identify the composition, source revision, artifact and earliest failed comparison before changing the simulation.

Preserve the limits of the claim

There are two different failure boundaries around saving. The guide requires successful loop completion and device cleanup before publishing a recording, and refuses an existing destination. A write failure can still leave a partial new file: exclusive creation is not crash-atomic publication.

The decision record (opens in a new tab) also distinguishes identity from authenticity. Matching hashes do not prove that a human supplied the input or that a remote party is trustworthy. Replay remains synchronous, offline and owned by its caller.

This article is a reading of those pinned contracts, not a new execution report. Continue with the recording engineering note, inspect the LudoWeave case study, or compare the broader deterministic-worlds reading path.

A related captured example from Clockwork Arena. The saved frames below have their own capture date, environment and source record.