Skip to content

[pull] main from motiondivision:main#196

Merged
pull[bot] merged 12 commits intocode:mainfrom
motiondivision:main
Jan 13, 2026
Merged

[pull] main from motiondivision:main#196
pull[bot] merged 12 commits intocode:mainfrom
motiondivision:main

Conversation

@pull
Copy link

@pull pull bot commented Jan 13, 2026

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

mattgperry and others added 12 commits January 12, 2026 15:48
This refactoring moves the core VisualElement classes from framer-motion
to motion-dom, making them framework-agnostic:

- VisualElement base class with injectable feature definitions
- DOMVisualElement, HTMLVisualElement, SVGVisualElement
- ObjectVisualElement for animating plain JS objects
- Feature base class
- visualElementStore
- Animation state management utilities
- Variant resolution utilities
- Reduced motion utilities
- Projection geometry, styles, and animation utilities

React-specific code (features, contexts, hooks) remains in framer-motion.
The projection node core is kept in framer-motion due to complex React deps.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Delete barrel files that were just re-exporting from motion-dom
- Update all imports to use motion-dom directly
- Add eachAxis to motion-dom exports
- Delete duplicate files: mix-values.ts, each-axis.ts, has-transform.ts, measure.ts
- Delete projection geometry barrel files: models.ts, delta-calc.ts, delta-apply.ts, delta-remove.ts, copy.ts, conversion.ts, utils.ts
- Delete projection styles barrel files: types.ts, scale-border-radius.ts, scale-box-shadow.ts, scale-correction.ts, transform.ts, transform-origin.ts
- Delete render utils barrel files: variant-props.ts, is-variant-label.ts
- Update test files to import from motion-dom instead of deleted barrel files

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Move animation interfaces (animateMotionValue, animateTarget,
  animateVariant, animateVisualElement) to motion-dom
- Move animation utilities (getDefaultTransition, isTransitionDefined,
  getFinalKeyframe, calcChildStagger) to motion-dom
- Move optimized-appear utilities to motion-dom
- Move will-change utilities to motion-dom
- Move setTarget to motion-dom
- Consolidate Feature class in motion-dom with proper VisualElement typing
- Update all framer-motion imports to use motion-dom exports
- Delete duplicate files from framer-motion

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Import from motion-dom instead of having a local copy.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove scrape-motion-values wrapper files from framer-motion
- Update imports to use motion-dom exports directly
- Import TransformOrigin and HTMLRenderState from motion-dom
- Move scale-correction and svg scrape-motion-values tests to motion-dom

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Move the entire projection node system from framer-motion to motion-dom
to enable vanilla JS layout animations without React dependency.

Files moved:
- create-projection-node.ts, types.ts, state.ts, group.ts
- HTMLProjectionNode.ts, DocumentProjectionNode.ts
- stack.ts, flat-tree.ts, compare-by-depth.ts
- delay.ts, add-dom-event.ts, resolve-motion-value.ts, single-value.ts
- Projection node tests

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Refactor `VisualElement` to `motion-dom` package
@pull pull bot locked and limited conversation to collaborators Jan 13, 2026
@pull pull bot added the ⤵️ pull label Jan 13, 2026
@pull pull bot merged commit 8973490 into code:main Jan 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant