Home > @unseenco/backstage-core > ISheet
ISheet interface
Public API for a Backstage.js sheet (objects, sequence, and runtime lifecycle).
Signature:
export interface ISheetProperties
| Property | Modifiers | Type | Description |
|---|---|---|---|
| address | SheetAddress | The address of the Sheet | |
| project | IProject | The Project this Sheet belongs to | |
| sequence | ISequence | The Sequence of this Sheet (uses the currently active sequence variant) | |
| type | 'Backstage_Sheet_PublicAPI' | All sheets have sheet.type === 'Backstage_Sheet_PublicAPI' |
Methods
| Method | Description |
|---|---|
| declareOutlineNamespace(namespacePath, opts) | Declares an outline namespace folder in the Studio. The folder appears in the outline panel even before any sheet objects are added under it. You can also use this to set the default collapsed state for a namespace folder. The default only applies when the user has not manually expanded or collapsed the folder yet. This method is part of |
| declareSequenceVariants(variants) | Declares the sequence variants available on this sheet. Each variant has its own independent sequence data, allowing the same properties to be animated differently per variant (e.g. mobile vs desktop). The |
| detachObject(key) | Detaches a previously created child object from the sheet. If you call |
| getActiveSequenceVariant() | Returns the currently active sequence variant name. |
| getObjects() | Returns all currently attached objects on this sheet. Use with ISheet.detachObject() to detach individual objects. |
| getSequenceMode() | Whether the sequence uses wall-clock time (default) or page-scroll percent units. Page mode is runtime-only and not persisted in project state. |
| object(key, props, options) | Creates a child object for the sheet **Docs: https://backstage.unseen.co/docs/guide/manual/objects\*\* |
| props(config, options) | Declares props scoped to the sheet (not a scene object). The returned handle behaves like a sheet object for Sheet props are shared across all sequence variants (static and sequenced). |
| setActiveSequenceVariant(variant) | Sets which sequence variant is currently active. The active variant determines which sequence's keyframes are used when computing prop values, and which sequence sheet.sequence refers to. |
| setOutlineNamespaceCollapsed(namespacePath, collapsed) | Sets whether a namespace folder in the Studio outline panel is collapsed. Call this on load to force a folder closed every time your app starts. Unlike |
| setPageScrollDriver(driver) | Overrides the scroll driver used in page mode (e.g. Lenis). Pass undefined to restore native document scroll. Re-attaches the scroll → playhead listener. |
| setSequenceMode(mode) | Switches sequence units: time (seconds) or page (0–100 = scroll percent). In page mode, length is fixed at 100 and snap grid uses 0.1% steps. |
| unload() | Unloads this sheet instance from memory: detaches all objects, pauses sequences, and removes the sheet from the project. Runtime-only: persisted prop overrides and sequence data are kept. Calling |