Skip to content

Intermact API Reference / @intermact/core / ReactiveEngine

Class: ReactiveEngine

Defined in: packages/core/src/reactive/engine.ts:39

Reactive runtime: tracks signals, derived object sources, and per-object updaters. Flushed each frame after the Player advances (design.md §8.4).

Constructors

Constructor

new ReactiveEngine(): ReactiveEngine

Returns

ReactiveEngine

Methods

addUpdater()

addUpdater(targetId, fn): () => void

Defined in: packages/core/src/reactive/engine.ts:114

Attach a per-frame updater to a registered object; returns an unsubscribe.

Parameters

targetId

string

fn

UpdaterFn

Returns

() => void


applySignalValue()

applySignalValue(signalId, value): void

Defined in: packages/core/src/reactive/engine.ts:77

Apply a numeric value from a compiled signal track (seek-safe).

Parameters

signalId

SignalId

value

number

Returns

void


dispose()

dispose(): void

Defined in: packages/core/src/reactive/engine.ts:104

Release all tracked signals, derived sources, and updaters.

Returns

void


flush()

flush(scene, store, time): void

Defined in: packages/core/src/reactive/engine.ts:131

Run updaters and rebuild changed derived objects. Mutates the scene object map and bumps geometryVersion on affected runtime states.

Parameters

scene

ReactiveSceneHost

store

RuntimeStateStore

time

number

Returns

void


inspect()

inspect(): ReactiveInspection

Defined in: packages/core/src/reactive/engine.ts:175

Read-only snapshot of the reactive graph for the Inspector (design.md §16): tracked signals, derived object sources (with their signal deps), and the per-object updater counts.

Returns

ReactiveInspection


notifySignal()

notifySignal(sig): void

Defined in: packages/core/src/reactive/engine.ts:165

Bump dependency versions when a signal changes (called from bindSignal).

Parameters

sig

ReadonlySignal<unknown>

Returns

void


registerDerived()

registerDerived(id, source): void

Defined in: packages/core/src/reactive/engine.ts:83

Register a derived object source bound to a scene object id.

Parameters

id

string

source

ReactiveObjectSource

Returns

void


registerSignal()

registerSignal<T>(sig): void

Defined in: packages/core/src/reactive/engine.ts:50

Register a signal for tweenSignal timeline tracks.

Type Parameters

T

T

Parameters

sig

Signal<T>

Returns

void


resetSignalsToInitial()

resetSignalsToInitial(): void

Defined in: packages/core/src/reactive/engine.ts:58

Restore every tracked signal to its value at first registration (seek baseline).

Returns

void


serializeInitialSignals()

serializeInitialSignals(): Record<number, unknown>

Defined in: packages/core/src/reactive/engine.ts:70

Baseline signal values captured at first registration, keyed by numeric signal id (design.md §17 serialization). These are the values to persist so a deserialized project restores the same starting state.

Returns

Record<number, unknown>


unregisterObject()

unregisterObject(targetId): void

Defined in: packages/core/src/reactive/engine.ts:97

Remove derived/updater state for a freed scene object.

Parameters

targetId

string

Returns

void

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