HeadlessScene
One scene of a mounted document: its step timeline, layout and environments.
@internote/canvas-sdk/hostOn this page
import { HeadlessScene } from '@internote/canvas-sdk/host';#Fields
authoringWhether the document is open in its author's editor (
HeadlessHostOptions.authoring).booleanblankRuntimeAnimation runtime over the blank-canvas content (everything in the detail outside the canvas nodes) — cue constructs in blank content are scoped to it exactly as an environment's are to the environment.
EnvironmentAnimationRuntimeblankTasksWhat the scene's blank-canvas content reports its task parts through.
TaskReporterenvironmentsThe mounted environments in primacy order; an unregistered type is skipped.
HeadlessEnvironment[]footerThe scene's footer: whether its panel is open, and the ability to ask for it. The same object every environment's context carries, and the scene's rather than any environment's — which is what lets a scene with no environments at all still have one.
FooterAccessheldByReaderWhether the reader has taken hold of a control the scene drives — moved a
cue.slider or cue.selector before its step's choreography played out. Play then hands it back and goes on from where they took hold (releaseReaderHold).booleanlayoutThe scene's canvas split into environments and blank-canvas content.
CanvasLayoutloopWhether a step's playback starts again when it finishes — the scene's
loop. It goes round until the reader pauses it.booleannodeThe compiled
scene node.CompiledNodeparametersThe scene's parameters: what its controls declare, where each stands, and how to move one. The same object every environment's context carries.
SceneParameterAccesssceneIdThe scene's instance id, or
scene-<index> when it has none.stringsessionThe scene's own slot in the session store — its footer's open state and where the reader has put its parameters.
EnvironmentSessionState<SceneSessionState>Exposed because a component drawing from it has to SUBSCRIBE: the footer's chevron and its control rows both write here, and neither would re-render on the other's write without it (useSceneSession).
stepAnimationMsHow long each step's own choreography runs, in ms measured from that step's entry, indexed by step (0..stepCount). Steps partition a scene's animation, so this is what the playback control is scoped to: the reader replays the partition they are reading. Index 0 also carries the time-anchored span, which runs on the scene clock the scene starts.
number[]stepControlWhether each step shows the playback control, indexed like
stepAnimationMs — see earnsPlaybackControl. Index 0 includes the scene clock's animation.boolean[]stepCountHow many
=== step markers the scene body holds.numberstepsThe scene's step controller, shared by its environments and blank content.
StepControllertasksThe scene's task parts and where the reader stands on each; its
status() is null when the scene is not a task scene.SceneTaskstimeAnimationMsWhen the scene's time-anchored animation finishes, in scene-clock ms — 0 when everything is step-anchored.
numbertimeControlThe same for the scene clock alone — time anchors and types that move through time.
booleanDeclared in packages/canvas-sdk/src/host/headless.ts:139.