Packages
What each @motionactor package holds and which ones an app needs.
The @motionactor/* packages are not on public npm. Every package in the line carries the
same version and ships together, so an app pins one version for all of them.
An app that draws in the browser needs four: core for actors and scenes, renderers for
renderers and the render runtime, a backend such as dom, and a host that supplies the frame,
such as remotion, hyperframes or engine. Hosts compares the hosts.
Authoring
| Package | Holds |
|---|---|
@motionactor/core |
Actors, signals, scene compilation and frame resolution. Everything under Reactivity and Runtime |
@motionactor/primitives |
Built-in actors that are not media, such as Camera2D, ClockActor, ComponentActor and Group, with camera and geometry helpers |
@motionactor/media |
Image, Video, Audio, AudioTrack and AudioManager, media planning, and their React views |
@motionactor/schema |
Value types for fields and scene inputs, such as text, and the schemas of the operation log |
Drawing
| Package | Holds |
|---|---|
@motionactor/renderers |
createBackend, the render runtime, SceneRenderer, defineComposition, effects and transitions |
@motionactor/dom |
The DOM backend, its renderers for the built-in actors, and the style and HTML-in-canvas effect kinds |
@motionactor/pixi |
The Pixi ref and pixiFilter; /react holds the backend and the surface contract that lets other backends read Pixi pixels |
@motionactor/three |
The Three.js ref, its actor classes and effect kinds; /react holds the backend, renderers and views |
@motionactor/skia |
The Skia ref; /react holds the backend |
Backends and layers covers how several backends share a scene.
Hosts
| Package | Holds |
|---|---|
@motionactor/remotion |
toRemotionComposition and the Remotion frame source and gate. The only package that imports remotion |
@motionactor/hyperframes |
The HyperFrames seek protocol, a React mount and Node tooling to build a HyperFrames project |
@motionactor/engine |
The native host: preparing a composition, previewing it in the browser, capturing stills and exporting silent H.264 MP4, ProRes 4444 MOV and VP9 WebM |
@motionactor/player |
SceneMedia, which plays a compiled scene behind Video.js controls |
Tooling
| Package | Holds |
|---|---|
@motionactor/cli |
The motionactor command: new, add, preview, still and render |
@motionactor/project |
The project folder the CLI works in: story paths, generated sources, actor installs and the scaffold |
@motionactor/scene-source |
Reads a scene file’s verb calls and edits their literal arguments, joined to the compiled operation log by call site |
@motionactor/contracts |
The list of authoring exports external tools may emit, and the manifest of a render’s output |
@motionactor/test-utils |
Synthetic actors and frame sources for the runtime’s own renderer tests |
@motionactor/shared |
Small helpers the other packages share |
@motionactor/svelte-tools |
svelte-check and svelte-package on TypeScript 6, for Svelte sources in a TypeScript 7 workspace |