Packages
What each @motionactor/* package owns, and which ones an application actually installs.
The @motionactor/* line is published to GitHub Packages. Most applications install two
packages: the runtime and one backend. The actor families themselves are not on this list —
they are copied into your repo from the component library.
pnpm add @motionactor/core @motionactor/domRuntime
@motionactor/core
Actors, signals, scene compilation, deterministic frame resolution. Everything on the Reactivity and Runtime pages lives here.
@motionactor/primitives
Generic built-in actors — ClockActor, Camera2D, ComponentActor — and their helpers.
@motionactor/renderers
Renderer families and renderer systems: the dispatch layer a backend plugs into.
@motionactor/schema
Shared TypeScript schema and type contracts for scenes and actors.
Backends
A backend turns resolved actor state into pixels. The release target is DOM/React through Remotion; the others are retained while their longer-term ownership is undecided.
@motionactor/dom
DOM backend: actor renderers, the SceneRenderer wrapper, the DOM effect compositor, and defineSceneComposition.
@motionactor/react
React renderer surface. Currently re-exports the DOM backend, so importing either is equivalent.
@motionactor/three
Three.js renderer backend for 3D scenes.
@motionactor/pixi
Pixi backend — layer host plus the cross-renderer surface contract.
@motionactor/skia
Skia backend — layer host.
Integration and support
@motionactor/remotion
Remotion adapters: FrameSource, FrameGate, composition helpers. The only package that imports from remotion.
@motionactor/physics
Headless Rapier physics with record/replay primitives, so simulation stays deterministic under seeking.
@motionactor/contracts
Cross-repo integration seam: the frozen authoring-export allowlist and the serializable render-output manifest.
@motionactor/test-utils
Shared test utilities — synthetic actors and scene fixtures.
@motionactor/shared
Shared utility helpers used across the line.
Only one package touches Remotion
@motionactor/remotion is the sole importer of remotion. Everything else — including
the core runtime — is renderer- and host-agnostic, which is what allows a scene to be
resolved and asserted in a plain unit test.
Where other things live
This repository is the runtime. Two sibling repositories own the rest:
A runtime change a family needs lands and publishes here first; the library then bumps its pin. Because the library builds against published versions rather than linked sources, every library build re-tests the packaging seam.