Scenes
The DemoScene builder method reference — all fifteen step kinds.
The DemoScene builder is what you drive inside demo.scene(id, run). It has fifteen async methods — one per step kind. This page is the method-by-method reference.
Browser actions
goto(path)
Navigate to path (relative to source.baseUrl). Produces a browser.goto step and captures a screenshot.
click(target)
Click the named target. Captures a screenshot after the click settles.
fill(target, value)
Fill an input identified by target with value. Captures after the input settles.
select(target, value)
Choose value from a <select> identified by target.
Assertions
expectVisible(target)
Assert the target is present and visible. Produces an assert.visible step. Fails capture if unmet.
expectText(target, text)
Assert the target contains text. Fails capture if unmet.
expectUrl(path)
Assert the current URL path equals path.
Camera
establish(target?)
Pull the camera back to show the whole viewport, or the context around target if given. Produces a camera.establish step.
focus(target, options?)
| Prop | Type | Default |
|---|---|---|
name | | - |
type | | - |
description | | - |
Zoom/pan the camera to target. Within a scene, establish → focus interpolates smoothly.
Timeline
hold(duration)
Hold the current state for duration. Accepts strings like "5000ms", "1s", "2s".
transition(options?)
Cut or crossfade into the next step. duration accepts the same format as hold.
Overlays
caption(text, options?)
| Prop | Type | Default |
|---|---|---|
name | | - |
type | | - |
description | | - |
Display a caption. renderer selects a visual component from the registry. Built-in renderers: motion.caption (default), remocn.kinetic-title. See Components and remocn for the full catalog and custom components.
callout(target, options)
Display an annotated callout pointing at target. title is required.
visual(id, props, options?)
Render an arbitrary component declared in the demo's visuals map. The visual
ID and props are inferred from defineVisual(Component). Props must be
JSON-serializable; the component itself remains in demo.ts and is wired into
Remotion automatically by render and Studio.
Cue
cue(name)
Drop a named bookmark in the timeline. Cues do not render visually — they are reference points for the Studio and programmatic consumers.
Adding, removing, or reordering any step is a structural change that triggers a re-capture. Editing text/durations/renderers on an existing step is a content change that only re-resolves the timeline. See capture-once.