Engine-neutral events
Apply normalized inputs to your own game adapter. No synthetic DOM magic and no lock-in to a framework.
Local flight recorder for browser games
Capture input timing, your random seed, and the checkpoints that matter. Get one tiny replay file—not a screen recording, not a surveillance stack.
Bench test / live package
Arm the recorder, then steer the probe with arrow keys or click/tap the scope. Hit a red fault cell, export the capsule, and import it again. Your path is driven by the library—not a video.
↑←↓→ steer · pointer moves probe · avoid fault cells
Built for the smallest useful report
Apply normalized inputs to your own game adapter. No synthetic DOM magic and no lock-in to a framework.
The recorder stops before it crosses the configured cap, keeping reports portable by construction.
Replay at real speed or accelerate it in a debugger. Pause, resume, and stop are part of the public API.
Three calls, no backend
import { createRecorder, downloadCapsule } from '@sociobot/replay-capsule'
const recorder = createRecorder({
seed: world.seed,
target: game.canvas,
maxBytes: 128_000
})
reportButton.onclick = () => recorder.start()
recorder.checkpoint('level-loaded', { level: 7 })
downloadCapsule(recorder.export())