CodeVetter · Repo Unpack · System map
motiondivision/motion
The repository ships animation packages rather than a hosted application backend. Public entrypoints delegate to implementations spread across React orchestration, a shared DOM engine, and foundational utilities. Development applications provide browser fixtures for HTML, React, React 19, and Next.js. Runtime state is held in motion values, effect caches, component refs, and projection trees; release tooling separately writes artifacts and contacts external systems.
- The dependency chain is motion → framer-motion → motion-dom → motion-utils, with exact internal version 14.0.0 in the inspected manifests.
- The default motion entrypoint re-exports framer-motion/dom; motion/react exposes explicit motion and m bindings alongside the React package's wildcard exports.
- The public package exports JavaScript, mini, debug, three, vgpu, React, React-client, React-m, React-mini, and React-view-transition subpaths with declaration, CommonJS, and ESM targets.
- AsyncMotionValueAnimation selects NativeAnimationExtended only for animatable, non-handoff, browser-supported options; native construction exceptions fall back to JSAnimation.
- Development boundaries are Vite React on TEST_PORT or 9990, Vite React 19 on TEST_PORT or 9991, HTML Vite on 8000, and a private Next.js 15.5.24 fixture application.
- Yarn 3.6.4 workspaces are orchestrated by Turbo; build dependencies run upstream first, and packages compile TypeScript before Rollup emits distributable bundles.
- Inspected animation state is process-local: createEffect uses a WeakMap per subject, MotionValueState owns keyed bindings, and React VisualElements live in refs rather than a persistent storage service.
- Distribution and integration tooling includes Lerna publication, postpublish tag pushing, changelog copying into another checkout, and a bearer-authenticated Slack-update API call.