Control tokens

A token is written inline where it should happen. It renders as a chip, is never spoken, never counts toward scroll speed, and fires the moment it crosses the eyeline.

Anatomy

<|
Prompter target
::
Pause verb
:
600ms argument
|>

The body splits on its first colon, so OBS::record:start is the verb record with the argument start. The target is matched without case; the argument keeps whatever case you gave it.

What it looks like on the glass

You author the token as text. The prompter renders it as a chip, tinted by which system it drives, so a pause coming up is visible well before you reach it.

On the glassrendered by the real parser

MARKER · CHAPTER · DURATION VOTE OBS · SCENE · FULL-SCREEN This week's top story: the season's first ballots are open, and the counts are lopsided. PROMPTER · PAUSE · 600MS Voting closes on the 31st.

See you next week. PROMPTER · PAUSE · 2S RECORD · STOP PROMPTER · STOP

Reference

Grouped by what each target drives, which is also how the dispatcher routes them. Every token in every group lands in the cue log, and under Rheocles every one of those rows is also a marker in the take — the same log twice. The exceptions are a stop, whose take is over, and Timer, which never touches the recorder.

Prompter

The scroll itself.

<|Prompter::Pause|> PROMPTER · PAUSE
Holds until you press play, or until you read on with follow mode enabled.
<|Prompter::Pause: code demo|> PROMPTER · PAUSE · CODE DEMO
The same hold, with a label on the chip so you know why you stopped.
<|Prompter::Pause: 600ms|> PROMPTER · PAUSE · 600MS
A timed beat. Resumes itself. Accepts ms or s.
<|Prompter::stop|> PROMPTER · STOP
End of show. Latches — nothing restarts the scroll but a deliberate play.
<|Prompter::rollback: script-start|> PROMPTER · ROLLBACK · SCRIPT-START
Rides back to the top and lets the script run again. Refused after a stop.

Record

The recorder the rig has chosen — OBS or Rheocles — when one is there to drive.

<|Record::start|> RECORD · START
Starts recording. Not needed in a cold open, which rolls by itself.
<|Record::stop|> RECORD · STOP
Stops recording and ends the take, whether or not a recorder is connected.
<|Record::toggle|> RECORD · TOGGLE
Whichever of the two the recorder is not doing.
<|OBS::record:start|> OBS · RECORD · START
The alias: the same handler, also ::record:stop and ::record:toggle. Scripts written before there was a choice of recorder say OBS, and still work — with either recorder.
<|OBS::scene: full-cam|> OBS · SCENE · FULL-CAM
Logs a punch-in reference for the edit. Only switches the live OBS scene if armed in the rig. Under Rheocles it is the marker obs:scene full-cam and switches nothing.

Marker

Nothing at all, on purpose. It exists to land in the log.

<|Marker::chapter: Quick Hits|> MARKER · CHAPTER · QUICK HITS
Deprecated. A [CHAPTER Quick Hits] heading logs this same cue on entry, and moves nothing — prefer the heading. The token still logs.
<|Marker::in: quick-hits|> MARKER · IN · QUICK-HITS
Opens a span. Its partner is any later token sharing the argument.
<|Marker::out: quick-hits|> MARKER · OUT · QUICK-HITS
Closes it. Read the two together and you have a range to cut on.

Bumper

Nothing yet. It logs where a chapter card goes in the edit; a hold for the length of the card is planned.

<|Bumper::top_story|> BUMPER · TOP_STORY
A chapter card of that kind, at this exact spot. Place it first under the chapter heading.

Slides

A deck listening on the same browser.

<|Slides::goto: 7|> SLIDES · GOTO · 7
Moves the deck by number. Also ::next and ::prev.
<|Slides::goto: survey|> SLIDES · GOTO · SURVEY
Moves the deck by slide name. The Nth distinct name in the script is slide N; an unknown name moves nothing.

Timer

The take clock, without the countdown.

<|Timer::start|> TIMER · START
Starts a take clock for a mid-script pickup. Also ::stop.

The Marker target earns a page of its own: it does nothing during the take, and quite a lot afterwards.

Unknown tokens are legal

A token this build has no handler for still renders as a chip and still logs as a cue — it simply does nothing else. That is deliberate: a script written for a newer version records correctly on an older one, and you can invent a marker for your editor without waiting for the prompter to learn about it.

<|Marker::logo-sting|>          logs, no handler needed
<|Note::fresh smile here|>      a note to yourself, on the glass

The end of a show

The authored sign-off is three tokens in order: a buffer beat in case you are trailing the scroll, then the recording stops, then the scroll latches.

See you next week. <|Prompter::Pause: 2s|> <|Record::stop|> <|Prompter::stop|>

Those last two fire in the same pass. The stop cancels the pending beat, so the scroll cannot wake up two seconds after the show ended.

Want to run your next take on this?

PteroPrompter is in early access. Leave an address and we'll be in touch when the first takes ship.