Skip to content

Recording demos

Instead of writing scenes and moves by hand, you can record what you do in the editor and let Demo Time turn it into an act for you. Click record, create a file, type some content, save and highlight a few lines, then click stop — Demo Time writes a version 3 act file with the matching create, open, applyPatch, save and highlight moves.

Start and stop recording

The recorder is controlled from the Acts & Scenes view in the Demo Time activity bar:

  • Click the ● Record button in the view title bar to start. The button changes to a ■ Stop button while recording.
  • Do your thing in the editor — create files, type, save, switch files.
  • Click ■ Stop to finish. Demo Time asks for a title and creates a new act file in the .demo folder.

You can also use the command palette: Demo Time: Record demo and Demo Time: Stop recording.

What gets captured

You do…Recorded move
Have a file open when you start recordingopen
Create a new filecreate followed by open
Type or edit a fileapplyPatch (edits are coalesced — see segmentation)
Save a filesave (can be disabled, see settings)
Switch to another fileflushes the pending edits into a move

Highlights, move boundaries and new scenes are added on demand through the recording actions.

How edits become moves

While recording, your edits to a file are coalesced: everything you type piles up and only becomes a single applyPatch move when a boundary is reached. The boundaries are:

  • Switching to another file
  • Saving the file
  • The Split move action (a manual boundary, see below)
  • The New scene action
  • Stopping the recording

This keeps the result clean — one move per meaningful chunk instead of one move per keystroke. Use Split move when you want to break a long edit into several steps within the same scene.

Recording actions

While recording, right-click in the editor to open the Demo Time submenu. The same actions are available via the command palette and through keybindings. The menu only appears while a recording is active.

ActionKeybindingWhat it does
Mark highlightCmd/Ctrl+Alt+HCapture the current selection as a highlight move. With no selection it highlights the current line.
Split moveCmd/Ctrl+Alt+MEnd the current move and start a new one — without leaving the file or saving.
New sceneCmd/Ctrl+Alt+NEnd the current scene and start a new one. You are prompted for the scene title.
Stop recordingFinish recording and create the act file.

Generated files

When you stop, Demo Time creates:

  • A new act file in the .demo folder (in JSON or YAML, depending on your demoTime.defaultFileType setting).
  • A snapshot and patch per edit move, under .demo/snapshots/recording-<timestamp>/ and .demo/patches/recording-<timestamp>/. These are referenced by the applyPatch moves and use the same format as the Patch actions.

Here is an example of what a recorded act looks like:

{
"$schema": "https://demotime.show/demo-time.schema.json",
"title": "Recorded demo 20260625-101500",
"description": "Recorded with Demo Time",
"version": 3,
"scenes": [
{
"title": "Scene 1",
"moves": [
{ "action": "create", "path": "/src/app.ts" },
{ "action": "open", "path": "/src/app.ts" },
{
"action": "applyPatch",
"path": "/src/app.ts",
"contentPath": "/.demo/snapshots/recording-20260625-101500/001-app.ts",
"patch": "/.demo/patches/recording-20260625-101500/001-app.ts.patch"
},
{ "action": "highlight", "path": "/src/app.ts", "position": "1:3" },
{ "action": "save" }
]
}
]
}

Settings

SettingDescriptionDefault
demoTime.recording.captureSavesWhen recording a demo, capture file saves as save moves.true