Skip to content

Intermact API Reference / @intermact/core / Scene3D

Class: Scene3D ​

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

Minimal 3D Scene (design.md §10): registration + build-pass orchestration, mirroring Scene2D. Composes a SceneHost over the RuntimeState union, so 3D objects animate through the same seekable timeline machinery as 2D ones.

Constructors ​

Constructor ​

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

Defined in: packages/core/src/scene/scene3d.ts:46

Parameters ​

id ​

string

props? ​

Scene3DProps = {}

registries? ​

Registries = globalRegistries

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

Returns ​

Scene3D

Properties ​

coordinate ​

readonly coordinate: CoordinateTransform3D

Defined in: packages/core/src/scene/scene3d.ts:43

Coordinate transforms over the scene domain (design.md §7.2, §10).


id ​

readonly id: string

Defined in: packages/core/src/scene/scene3d.ts:47


kind ​

readonly kind: "scene-3d"

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


props ​

readonly props: Scene3DProps = {}

Defined in: packages/core/src/scene/scene3d.ts:48

Methods ​

buildStoryboard() ​

buildStoryboard(): Storyboard

Defined in: packages/core/src/scene/scene3d.ts:149

Finalize the accumulated timeline.

Returns ​

Storyboard


commit() ​

commit(...animations): void

Defined in: packages/core/src/scene/scene3d.ts:134

Apply immediate (duration-0) changes.

Parameters ​

animations ​

...Animation[]

Returns ​

void


getAxes() ​

getAxes(props, transform?): RegisteredAxes3D

Defined in: packages/core/src/scene/scene3d.ts:112

Create and register 3D coordinate axes (design.md §9.1). Returns a RegisteredAxes3D so visibility/motion use the standard object animation API; handle.c2p/p2c map data coordinates to world space.

Parameters ​

props ​

Axes3DLayoutProps

transform? ​

Transform3D = {}

Returns ​

RegisteredAxes3D


getInitialStates() ​

getInitialStates(): ReadonlyMap<string, RuntimeState>

Defined in: packages/core/src/scene/scene3d.ts:164

Baseline runtime states keyed by id.

Returns ​

ReadonlyMap<string, RuntimeState>


getInitialStatesPristine() ​

getInitialStatesPristine(): ReadonlyMap<string, RuntimeState>

Defined in: packages/core/src/scene/scene3d.ts:172

Pristine baseline states captured at registration, before compile-time baseline patches (design.md §17 serialization).

Returns ​

ReadonlyMap<string, RuntimeState>


getObjects() ​

getObjects(): ReadonlyMap<string, IMObject>

Defined in: packages/core/src/scene/scene3d.ts:159

Object definitions keyed by id (for snapshot building).

Returns ​

ReadonlyMap<string, IMObject>


getParents() ​

getParents(): ReadonlyMap<string, string>

Defined in: packages/core/src/scene/scene3d.ts:103

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/scene3d.ts:154

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

Returns ​

readonly TimelineOp[]


group3D() ​

group3D(children, transform?): RegisteredObject3D

Defined in: packages/core/src/scene/scene3d.ts:93

Group registered objects under a new transform-only parent (design.md §9.3). Returns the parent so the whole group can be moved/animated together.

Parameters ​

children ​

readonly RegisteredObject3D[]

transform? ​

Transform3D = {}

Returns ​

RegisteredObject3D


marker() ​

marker(name): void

Defined in: packages/core/src/scene/scene3d.ts:144

Place a named marker at the current cursor.

Parameters ​

name ​

string

Returns ​

void


play() ​

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

Defined in: packages/core/src/scene/scene3d.ts:129

Build-pass: append animations in parallel and advance the cursor.

Parameters ​

animations ​

...Animation[]

Returns ​

Promise<PlaybackResult>


register() ​

register(object, transform?): RegisteredObject3D

Defined in: packages/core/src/scene/scene3d.ts:57

Register a 3D object definition with an optional initial transform.

Parameters ​

object ​

IMObject3D

transform? ​

Transform3D = {}

Returns ​

RegisteredObject3D


registerCamera() ​

registerCamera(props?): RegisteredCamera3D

Defined in: packages/core/src/scene/scene3d.ts:73

Register a camera into the scene (design.md §10.1). The camera is backed by a transform node so its eye/orientation are part of the timeline.

Parameters ​

props? ​

Camera3DProps = {}

Returns ​

RegisteredCamera3D


registerEmpty() ​

registerEmpty(transform?): RegisteredObject3D

Defined in: packages/core/src/scene/scene3d.ts:65

Register a transform-only empty node (for group3D hierarchies).

Parameters ​

transform? ​

Transform3D = {}

Returns ​

RegisteredObject3D


setParent() ​

setParent(child, parent): void

Defined in: packages/core/src/scene/scene3d.ts:85

Parent child under parent (design.md §9.3); the Player composes world transforms at snapshot time.

Parameters ​

child ​

RegisteredObject3D

parent ​

RegisteredObject3D | null

Returns ​

void


wait() ​

wait(duration): Promise<void>

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

Hold for duration seconds on the timeline.

Parameters ​

duration ​

number

Returns ​

Promise<void>

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