Skip to content

Intermact API Reference / @intermact/core / Player

Class: Player

Defined in: packages/core/src/animation/player.ts:86

The Player owns a Storyboard and produces per-frame snapshots (design.md ?3.2). It is framework-free: continuous playback is driven externally via Player.update (the R3F layer runs a RAF loop), while seek provides deterministic random access. core never touches requestAnimationFrame.

Constructors

Constructor

new Player(storyboard, options): Player

Defined in: packages/core/src/animation/player.ts:107

Parameters

storyboard

Storyboard

options

PlayerOptions

Returns

Player

Properties

storyboard

readonly storyboard: Storyboard

Defined in: packages/core/src/animation/player.ts:108

Accessors

duration

Get Signature

get duration(): number

Defined in: packages/core/src/animation/player.ts:121

Returns

number


loop

Get Signature

get loop(): boolean

Defined in: packages/core/src/animation/player.ts:127

Returns

boolean


rate

Get Signature

get rate(): number

Defined in: packages/core/src/animation/player.ts:124

Returns

number


state

Get Signature

get state(): PlayerState

Defined in: packages/core/src/animation/player.ts:130

Returns

PlayerState


time

Get Signature

get time(): number

Defined in: packages/core/src/animation/player.ts:118

Returns

number

Methods

dispose()

dispose(): void

Defined in: packages/core/src/animation/player.ts:221

Release subscribers and pause playback.

Returns

void


getInitialStates()

getInitialStates(): ReadonlyMap<string, RuntimeState>

Defined in: packages/core/src/animation/player.ts:140

Baseline runtime states keyed by id (for serialization / inspection).

Returns

ReadonlyMap<string, RuntimeState>


getObjects()

getObjects(): ReadonlyMap<string, IMObject>

Defined in: packages/core/src/animation/player.ts:135

Object definitions keyed by id (for serialization / inspection).

Returns

ReadonlyMap<string, IMObject>


getParents()

getParents(): ReadonlyMap<string, string>

Defined in: packages/core/src/animation/player.ts:145

Transform-hierarchy parent links keyed by child id (design.md ?9.3).

Returns

ReadonlyMap<string, string>


getSerializationMeta()

getSerializationMeta(): PlayerSerializationMeta | undefined

Defined in: packages/core/src/animation/player.ts:150

Serialization metadata, when the Player was assembled by buildProgram.

Returns

PlayerSerializationMeta | undefined


getSnapshot()

getSnapshot(): RenderSnapshot

Defined in: packages/core/src/animation/player.ts:241

Current frame snapshot.

Returns

RenderSnapshot


jumpToMarker()

jumpToMarker(name): void

Defined in: packages/core/src/animation/player.ts:184

Jump to a named marker (slide navigation).

Parameters

name

string

Returns

void


pause()

pause(): void

Defined in: packages/core/src/animation/player.ts:161

Returns

void


play()

play(): void

Defined in: packages/core/src/animation/player.ts:154

Returns

void


prepareFrame()

prepareFrame(): void

Defined in: packages/core/src/animation/player.ts:234

Run reactive updaters/derived rebuilds before sampling a frame (?8.4).

Returns

void


seek()

seek(time): void

Defined in: packages/core/src/animation/player.ts:174

Deterministic random access. Does NOT fire side effects (scrub).

Parameters

time

number

Returns

void


setLoop()

setLoop(loop): void

Defined in: packages/core/src/animation/player.ts:169

Parameters

loop

boolean

Returns

void


setRate()

setRate(rate): void

Defined in: packages/core/src/animation/player.ts:165

Parameters

rate

number

Returns

void


subscribe()

subscribe(onFrame): () => void

Defined in: packages/core/src/animation/player.ts:227

Subscribe to frame snapshots; returns an unsubscribe function.

Parameters

onFrame

(snapshot) => void

Returns

() => void


update()

update(deltaSeconds): void

Defined in: packages/core/src/animation/player.ts:193

Advance playback by deltaSeconds of wall-clock time. Driven by an external loop. Fires forward call effects; handles loop/finish.

Parameters

deltaSeconds

number

Returns

void

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