# Feature catalog — motiondivision/motion

> Canonical page: https://codevetter.com/unpack/motion/feature-catalog

# Feature catalog — motiondivision/motion

Scanned commit f5838ce47b323ce2713cb2effc5afaa5b6120a44 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The user-facing surface is primarily importable APIs consumed by application developers. React offers animated HTML and SVG components, interaction props, lazy feature loading, and motion-value hooks. Imperative APIs target values, selectors, objects, sequences, layout changes, and browser view-transition layers. Optional adapters extend the same animation machinery to Three.js and vgpu subjects.
- motion components support HTML or SVG rendering and activate animation, exit, drag, focus, hover, tap, pan, viewport, and layout features according to their props. — [packages/framer-motion/src/motion/index.tsx#L75-L88](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/motion/index.tsx#L75-L88) [packages/framer-motion/src/motion/features/definitions.ts#L5-L24](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/motion/features/definitions.ts#L5-L24) [packages/framer-motion/src/motion/features/definitions.ts#L37-L44](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/motion/features/definitions.ts#L37-L44)
- animate accepts scalar values, MotionValues, elements/selectors, objects, and sequences; animateMini exposes a scoped element-animation API returning grouped playback controls. — [packages/framer-motion/src/animation/animate/index.ts#L40-L83](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/animation/animate/index.ts#L40-L83) [packages/framer-motion/src/animation/animate/index.ts#L119-L144](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/animation/animate/index.ts#L119-L144) [packages/framer-motion/src/animation/animators/waapi/animate-style.ts#L11-L30](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/animation/animators/waapi/animate-style.ts#L11-L30)
- Sequence animation supports callback segments by replacing callbacks with subscribed MotionValues, compiling sequence definitions, and animating each resulting subject. — [packages/framer-motion/src/animation/animate/sequence.ts#L18-L47](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/animation/animate/sequence.ts#L18-L47)
- The React API exports useMotionValue, useMotionTemplate, useScroll, useFollowValue, useSpring, useTransform, useVelocity, and useAnimate; MotionConfig exposes default transitions, reducedMotion, skipAnimations, nonce, and prop validation. — [packages/framer-motion/src/index.ts#L46-L58](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/index.ts#L46-L58) [packages/framer-motion/src/index.ts#L65-L78](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/index.ts#L65-L78) [packages/framer-motion/src/context/MotionConfigContext.tsx#L25-L63](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/context/MotionConfigContext.tsx#L25-L63)
- scroll can deliver progress callbacks or attach playback controls to scroll progress, with axis, source/container, target, and offset-dependent behavior; inView is also exported from the DOM entrypoint. — [packages/framer-motion/src/render/dom/scroll/index.ts#L7-L29](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/render/dom/scroll/index.ts#L7-L29) [packages/framer-motion/src/render/dom/scroll/attach-animation.ts#L12-L24](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/render/dom/scroll/attach-animation.ts#L12-L24) [packages/framer-motion/src/dom.ts#L6-L8](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/dom.ts#L6-L8)
- AnimatePresence retains removed keyed children until exit completion and supports sync or wait sequencing; LazyMotion enables synchronous or asynchronous feature bundles for lightweight m components. — [packages/framer-motion/src/components/AnimatePresence/index.tsx#L13-L42](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/components/AnimatePresence/index.tsx#L13-L42) [packages/framer-motion/src/components/AnimatePresence/index.tsx#L149-L165](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/components/AnimatePresence/index.tsx#L149-L165) [packages/framer-motion/src/components/LazyMotion/index.tsx#L45-L74](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/components/LazyMotion/index.tsx#L45-L74)
- Layout APIs use layout/layoutId props or data-layout/data-layout-id attributes; view-transition builders support paired subjects, crop overrides, and nested-layer grouping, while unsupported startViewTransition still executes the DOM update. — [packages/framer-motion/src/motion/features/definitions.ts#L23-L23](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/framer-motion/src/motion/features/definitions.ts#L23-L23) [packages/motion-dom/src/layout/LayoutAnimationBuilder.ts#L105-L116](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion-dom/src/layout/LayoutAnimationBuilder.ts#L105-L116) [packages/motion-dom/src/view/index.ts#L89-L140](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion-dom/src/view/index.ts#L89-L140) [packages/motion-dom/src/view/start.ts#L78-L84](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion-dom/src/view/start.ts#L78-L84)
- threeEffect binds transforms, materials, and uniforms using preRender writes; vgpuEffect supports scene and shader-related subjects and batches changed values into one set operation per subject per frame. — [packages/motion/src/three.ts#L21-L47](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion/src/three.ts#L21-L47) [packages/motion/src/three.ts#L172-L202](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion/src/three.ts#L172-L202) [packages/motion/src/vgpu.ts#L55-L81](https://github.com/motiondivision/motion/blob/f5838ce47b323ce2713cb2effc5afaa5b6120a44/packages/motion/src/vgpu.ts#L55-L81)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
