Intermact API Reference / @intermact/core / SceneHost
Class: SceneHost<R>
Defined in: packages/core/src/scene/scene-host.ts:33
Shared scene bookkeeping composed by Scene2D/Scene3D (design.md §9.1, §13.6.1). Owns the object/state registries, the parent graph, the id counter, and the StoryboardBuilder, and exposes the dimension-agnostic build-pass surface (play/commit/wait/marker/…) plus cycle-safe re-parenting. Scenes hold one of these (composition over inheritance) so the 2D/3D authoring APIs stay identical without a shared base class.
Type Parameters
R
R extends SceneNode
Constructors
Constructor
new SceneHost<
R>(sceneId,registries):SceneHost<R>
Defined in: packages/core/src/scene/scene-host.ts:43
Parameters
sceneId
string
Owning scene id (namespaces generated object ids and error messages).
registries
Registry bundle for custom-animation resolution (design.md §18).
Returns
SceneHost<R>
Properties
builder
readonlybuilder:StoryboardBuilder
Defined in: packages/core/src/scene/scene-host.ts:40
initialStates
readonlyinitialStates:Map<string,RuntimeState>
Defined in: packages/core/src/scene/scene-host.ts:35
objects
readonlyobjects:Map<string,IMObject>
Defined in: packages/core/src/scene/scene-host.ts:34
parents
readonlyparents:Map<string,string>
Defined in: packages/core/src/scene/scene-host.ts:39
pristineStates
readonlypristineStates:Map<string,RuntimeState>
Defined in: packages/core/src/scene/scene-host.ts:37
Pristine baseline states (pre compile-time baseline patches) for serialization.
registered
readonlyregistered:Map<string,R>
Defined in: packages/core/src/scene/scene-host.ts:38
sceneId
readonlysceneId:string
Defined in: packages/core/src/scene/scene-host.ts:45
Owning scene id (namespaces generated object ids and error messages).
Methods
buildStoryboard()
buildStoryboard():
Storyboard
Defined in: packages/core/src/scene/scene-host.ts:147
Finalize the accumulated timeline.
Returns
clearAll()
clearAll():
void
Defined in: packages/core/src/scene/scene-host.ts:116
Remove all nodes.
Returns
void
commit()
commit(
animations):void
Defined in: packages/core/src/scene/scene-host.ts:131
Apply immediate (duration-0) changes without a visible transition.
Parameters
animations
Returns
void
getTimelineOps()
getTimelineOps(): readonly
TimelineOp[]
Defined in: packages/core/src/scene/scene-host.ts:152
Ordered build-pass op-log for serialization (design.md §17).
Returns
readonly TimelineOp[]
marker()
marker(
name):void
Defined in: packages/core/src/scene/scene-host.ts:142
Place a named marker at the current cursor.
Parameters
name
string
Returns
void
nextId()
nextId(
prefix):string
Defined in: packages/core/src/scene/scene-host.ts:54
Allocate the next namespaced id for a prefix (typically an object type).
Parameters
prefix
string
Returns
string
play()
play(
animations):Promise<PlaybackResult>
Defined in: packages/core/src/scene/scene-host.ts:125
Build-pass: append animations in parallel and advance the cursor (§3.2).
Parameters
animations
Returns
Promise<PlaybackResult>
track()
track(
ro,object,baseline):void
Defined in: packages/core/src/scene/scene-host.ts:59
Record a freshly-registered node's definition and baseline state.
Parameters
ro
R
object
baseline
Returns
void
untrack()
untrack(
id):void
Defined in: packages/core/src/scene/scene-host.ts:104
Remove a node and any parent links that reference it.
Parameters
id
string
Returns
void
validateAndSetParent()
validateAndSetParent(
child,parent):void
Defined in: packages/core/src/scene/scene-host.ts:71
Parent child under parent with self/registration/cycle guards (design.md §9.3). Passing null detaches. Mutates the parents graph and child.parentId.
Parameters
child
R
parent
R | null
Returns
void
wait()
wait(
duration):Promise<void>
Defined in: packages/core/src/scene/scene-host.ts:136
Hold for duration seconds on the timeline.
Parameters
duration
number
Returns
Promise<void>