CLI › Start

The take directory

The unit of work: recording, cursor track, the replay recipe and the editable doc.

A take is the unit of work: one directory holding the footage, the script that produced it, and the editable document that turns footage into a video. Everything the CLI does reads or writes this directory.

Text
take/
  recording.webm   encoded footage (constant-frame-rate WebM)
                   or recording.mp4, when a pull brought it home as mp4
  frames/          raw screencast JPEGs, kept for re-encode (deletable; ~1GB at 2K)
  cursor.json      synthesized cursor track: exact coords, element rects
  meta.json        recording metadata (producer: "cli")
  actions.json     the script that produced it, the replay recipe
  doc.json         the editable document, THE product artifact
  vos.json         hosted tracking (vos id + base version), written by push and pull

Why this shape matters

doc.json is the product. Zoom and pan are spans, trims are segments, pacing is speed spans, all plain JSON. Editing the document and re-rendering never re-runs the browser; fixing a zoom is editing a number. The renders are deterministic: same take plus same doc equals same pixels. Never re-record to fix pacing or framing.

The cursor track is synthesized, not observed. Because the CLI issues every input itself, cursor.json carries exact coordinates, exact timing and fresh element rects, plus typing pings during type steps (when and where typing happens, never the text). That precision is what powers element-aware auto zoom, typing zooms and click effects downstream.

actions.json makes the take reproducible. The same script against the same page produces the same take, which is why iterating on the document beats re-recording: the flow is already captured.

vos.json is the thread to the cloud. Push writes it, pull repoints it; it records which hosted vos this directory belongs to and which version you last built on.