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(全阶段)