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