Skip to content

Intermact API Reference / @intermact/core / Scene2D

Class: Scene2D ​

Defined in: packages/core/src/scene/scene.ts:34

Minimal 2D Scene (design.md §9.1): registration + build-pass orchestration. Composes a SceneHost for the shared registry/timeline bookkeeping and adds the 2D-specific coordinate transforms, layout, and reactive wiring (M5).

Implements ​

Constructors ​

Constructor ​

new Scene2D(id, props, registries?): Scene2D

Defined in: packages/core/src/scene/scene.ts:40

Parameters ​

id ​

string

props ​

Scene2DProps

registries? ​

Registries = globalRegistries

Registry bundle for custom-animation resolution (default: global, §18).

Returns ​

Scene2D

Properties ​

coordinate ​

readonly coordinate: CoordinateTransform2D

Defined in: packages/core/src/scene/scene.ts:36


id ​

readonly id: string

Defined in: packages/core/src/scene/scene.ts:41


kind ​

readonly kind: "scene-2d"

Defined in: packages/core/src/scene/scene.ts:35


props ​

readonly props: Scene2DProps

Defined in: packages/core/src/scene/scene.ts:42

Methods ​

bindReactive() ​

bindReactive(engine): void

Defined in: packages/core/src/scene/scene.ts:51

Attach the reactive engine used by registerReactive / addUpdater (M6).

Parameters ​

engine ​

ReactiveEngine

Returns ​

void


buildStoryboard() ​

buildStoryboard(): Storyboard

Defined in: packages/core/src/scene/scene.ts:185

Finalize the accumulated timeline.

Returns ​

Storyboard


clear() ​

clear(): void

Defined in: packages/core/src/scene/scene.ts:177

Remove all objects.

Returns ​

void


commit() ​

commit(...animations): void

Defined in: packages/core/src/scene/scene.ts:156

Apply immediate (duration-0) changes without a visible transition.

Parameters ​

animations ​

...Animation[]

Returns ​

void


free() ​

free(target): void

Defined in: packages/core/src/scene/scene.ts:171

Remove an object from the scene.

Parameters ​

target ​

RegisteredObject2D

Returns ​

void


getAuthoringTransform() ​

getAuthoringTransform(id): ResolvedTransform2D | undefined

Defined in: packages/core/src/scene/scene.ts:139

Authoring transform for reactive updater sync (ReactiveEngine.flush).

Parameters ​

id ​

string

Returns ​

ResolvedTransform2D | undefined


getAxes() ​

getAxes(props, transform?): RegisteredAxes2D

Defined in: packages/core/src/scene/scene.ts:99

Create and register coordinate axes (design.md §9.1). Returns a RegisteredAxes2D so visibility and motion use the standard object animation API (fadeIn, create, moveTo, …) instead of Scene-level helpers.

Parameters ​

props ​

AxesProps

transform? ​

Transform2D = {}

Returns ​

RegisteredAxes2D


getInitialStates() ​

getInitialStates(): ReadonlyMap<string, RuntimeState>

Defined in: packages/core/src/scene/scene.ts:200

Baseline runtime states keyed by id.

Returns ​

ReadonlyMap<string, RuntimeState>


getInitialStatesPristine() ​

getInitialStatesPristine(): ReadonlyMap<string, RuntimeState>

Defined in: packages/core/src/scene/scene.ts:209

Pristine baseline states captured at registration, before compile-time baseline patches (design.md §17 serialization). Replaying the op-log on these reproduces the post-build initial states exactly.

Returns ​

ReadonlyMap<string, RuntimeState>


getObjects() ​

getObjects(): ReadonlyMap<string, IMObject>

Defined in: packages/core/src/scene/scene.ts:195

Object definitions keyed by id (for snapshot building).

Returns ​

ReadonlyMap<string, IMObject>


getParents() ​

getParents(): ReadonlyMap<string, string>

Defined in: packages/core/src/scene/scene.ts:74

Parent links keyed by child id (for snapshot world-transform composition).

Returns ​

ReadonlyMap<string, string>


getTimelineOps() ​

getTimelineOps(): readonly TimelineOp[]

Defined in: packages/core/src/scene/scene.ts:190

Ordered build-pass op-log for serialization (design.md §17).

Returns ​

readonly TimelineOp[]


marker() ​

marker(name): void

Defined in: packages/core/src/scene/scene.ts:166

Place a named marker at the current cursor.

Parameters ​

name ​

string

Returns ​

void


parentWorldTransform() ​

parentWorldTransform(id): ResolvedTransform2D

Defined in: packages/core/src/scene/scene.ts:84

LayoutHost: composed world transform of an object's parent chain.

Parameters ​

id ​

string

Returns ​

ResolvedTransform2D

Implementation of ​

LayoutHost.parentWorldTransform


play() ​

play(...animations): Promise<PlaybackResult>

Defined in: packages/core/src/scene/scene.ts:151

Build-pass: append animations in parallel and advance the cursor (§3.2).

Parameters ​

animations ​

...Animation[]

Returns ​

Promise<PlaybackResult>


register() ​

register(object, transform?): RegisteredObject2D

Defined in: packages/core/src/scene/scene.ts:56

Register an object definition with an optional initial transform.

Parameters ​

object ​

IMObject2D

transform? ​

Transform2D = {}

Returns ​

RegisteredObject2D


registerEmpty() ​

registerEmpty(transform?): RegisteredObject2D

Defined in: packages/core/src/scene/scene.ts:146

Register a transform-only empty node for hierarchies.

Parameters ​

transform? ​

Transform2D = {}

Returns ​

RegisteredObject2D


registerReactive() ​

registerReactive(source, transform?): RegisteredObject2D

Defined in: packages/core/src/scene/scene.ts:124

Register a reactive derived object (design.md §8.2).

Parameters ​

source ​

ReactiveObjectSource

transform? ​

Transform2D = {}

Returns ​

RegisteredObject2D


relToAbs() ​

relToAbs(p): AbsXY

Defined in: packages/core/src/scene/scene.ts:79

LayoutHost: normalized domain UV → absolute world point.

Parameters ​

p ​

RelUV

Returns ​

AbsXY

Implementation of ​

LayoutHost.relToAbs


replaceObject() ​

replaceObject(id, object): void

Defined in: packages/core/src/scene/scene.ts:132

Replace an object's definition in-place (used by the reactive engine).

Parameters ​

id ​

string

object ​

IMObject2D

Returns ​

void


setParent() ​

setParent(child, parent): void

Defined in: packages/core/src/scene/scene.ts:69

Parent child under parent in the transform hierarchy (design.md §9.3). The Player composes world transforms at snapshot time; layout/bounds reflect the parent chain.

Parameters ​

child ​

RegisteredObject2D

parent ​

RegisteredObject2D | null

Returns ​

void


wait() ​

wait(duration): Promise<void>

Defined in: packages/core/src/scene/scene.ts:161

Hold for duration seconds on the timeline.

Parameters ​

duration ​

number

Returns ​

Promise<void>

Intermact v1.0 — 文档覆盖 Phase-1 / Phase-2 / Phase-3(全阶段)