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