CanvasSceneView
Draws one scene of a headless host: one toolbar, the scene's blocks in source order, one footer.
@internote/canvas-sdk/hostOn this page
import { CanvasSceneView } from '@internote/canvas-sdk/host';The canvas holds the scene's detail in the order the author wrote it — an environment's surface where they put one, a run of blank content (drawn by renderBlankElement) where they put that — with a hairline between every adjacent pair. A two-environment split is arranged by the scene's direction/ratio; a direction: auto split (the schema default) stacks here and goes side by side while presenting, where the canvas has the whole screen.
There is one toolbar per scene and one footer: the bar carries the system tier plus EVERY environment's declarative items, and the footer carries every environment's two bands under one chevron. Embedders draw the bar through renderToolbar with their own design system (the reading view draws the app's buttons); the built-in fallback is deliberately minimal.
Presentation is a drive mode: while presenting, the arrow keys and space move through the steps and Escape leaves. The embedder stages it (a fullscreen overlay, or this element's own fullscreen via manageFullscreen); the view only drives the steps. Mounting resets the scene's clock.
#Props
Also takes className. Any other prop is passed to the rendered element.
filesRecord<string, string> | nullfooterscene, the scene's whole footer; key, its key and scales alone, with no frame or controls, for a figure; none, nothing.scenekeynone'scene'hostHeadlessCanvasHostmanageFullscreenbooleantrueonPresentingChange(presenting: boolean) => voidonStepChange(step: number) => voidoverlayReactNodepresentingbooleanrenderBlankElementBlankElementRendererrenderToolbar(toolbar: HostToolbarState) => ReactNoderesolveAssetUrl(fileName: string) => string | nullscenehost.scenes.HeadlessScenestepnumber | nullDeclared in packages/canvas-sdk/src/host/CanvasDocumentHost.tsx:184.