MotionScript

@motion-script/core


@motion-script/core / AssetManager

Class: AssetManager

Defined in: assets/manager.ts:12

Coordinates asset loading and audio synchronization during playback. Wraps a PrecompResult and delegates storage/audio work to platform adapters.

Constructors

Constructor

new AssetManager(precomp, storageAdapter, audioDevice): AssetManager

Defined in: assets/manager.ts:26

Parameters

precomp

PrecompResult

storageAdapter

StorageAdapter

audioDevice

AudioDevice

Returns

AssetManager

Methods

dispose()

dispose(): void

Defined in: assets/manager.ts:133

Run every outstanding loader disposer and clear loader state.

Returns

void


loadAt()

loadAt(frame): Promise<void>

Defined in: assets/manager.ts:55

Blocking load for seek and initial render. Waits for every asset whose cacheAt <= frame and endFrame >= frame to be ready, then schedules audio.

Parameters

frame

number

Returns

Promise<void>


prefetch()

prefetch(frame): void

Defined in: assets/manager.ts:77

Non-blocking incremental prefetch called after each render tick. Fires loads for assets whose cacheAt window has been reached without blocking.

Parameters

frame

number

Returns

void


setPrecomp()

setPrecomp(precomp): void

Defined in: assets/manager.ts:45

Swap in a new precomp result (scene hot reload). The manager keeps its warm loader disposers and in-flight audio fetches so a single-scene edit doesn't re-fetch unchanged assets; the next loadAt/syncAudio picks up the new asset windows. Resetting the audio signature forces a reschedule so a changed scene's audio is re-evaluated against the new timeline.

Parameters

precomp

PrecompResult

Returns

void


syncAudio()

syncAudio(frame): void

Defined in: assets/manager.ts:143

Push the current audio working set to the AudioDevice. Called after each render tick so the device stays in sync with the scene's audio requests.

Parameters

frame

number

Returns

void