Skip to content

Feature/rewrite#7

Open
JonathonRP wants to merge 162 commits intomainfrom
feature/rewrite
Open

Feature/rewrite#7
JonathonRP wants to merge 162 commits intomainfrom
feature/rewrite

Conversation

@JonathonRP
Copy link
Copy Markdown
Owner

rewrite to incorporate latest framer-motion features and new components

@changeset-bot
Copy link
Copy Markdown

changeset-bot Bot commented Nov 20, 2024

🦋 Changeset detected

Latest commit: 61a2798

The changes in this PR will be included in the next version bump.

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@JonathonRP JonathonRP linked an issue Nov 20, 2024 that may be closed by this pull request
@JonathonRP JonathonRP marked this pull request as draft November 20, 2024 22:51
@JonathonRP JonathonRP self-assigned this Nov 20, 2024
JonathonRP and others added 26 commits October 6, 2025 00:59
rewrite to gain all and current/latest features from 11.11.11
framer-motion

BREAKING CHANGE: 🧨 major braking changes to pair with framer-motion docs/usages

✅ Closes: n/a
hooks rewriting

BREAKING CHANGE: 🧨 all

✅ Closes: none
stablizing getting ready to rewrite components

BREAKING CHANGE: 🧨 all

✅ Closes: none
more progress

BREAKING CHANGE: 🧨 all

✅ Closes: none
more progress getting functional and stable

BREAKING CHANGE: 🧨 all

✅ Closes: none
better context api

BREAKING CHANGE: 🧨 all

✅ Closes: none
consistant usage of components mount as calling

BREAKING CHANGE: 🧨 all

✅ Closes: none
fix incorrect usages of derived rune

BREAKING CHANGE: 🧨 all

✅ Closes: none
set runes for comps

BREAKING CHANGE: 🧨 all

✅ Closes: none
consistent context access fromStore and fix element not being created,
MeasureLayoutWithContext in runes mode

BREAKING CHANGE: 🧨 all

✅ Closes: none
use hydrate instead of mount to handle ssr stuff of sveltekit and
codebase cleanup

BREAKING CHANGE: 🧨 all

✅ Closes: none
make hooks/functions properly ssr

BREAKING CHANGE: 🧨 all

✅ Closes: none
fix errors

BREAKING CHANGE: 🧨 all

✅ Closes: none
fix animations and update tests ui to reflect actual state and cleanup
old code and simplify id logic

BREAKING CHANGE: 🧨 all

✅ Closes: none
update svelte comps to runes

BREAKING CHANGE: 🧨 all

✅ Closes: none
move hooks to use runes

BREAKING CHANGE: 🧨 all

✅ Closes: none
enable svg animation and ssr support

BREAKING CHANGE: 🧨 all

✅ Closes: none
add comment to note

BREAKING CHANGE: 🧨 all

✅ Closes: none
more changes

BREAKING CHANGE: 🧨 all

✅ Closes: none
useCycle now works and exit update method is called

BREAKING CHANGE: 🧨 all

✅ Closes: none
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 4, 2026

Important

Review skipped

Too many files!

This PR contains 298 files, which is 148 over the limit of 150.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: b5984d5f-7542-4437-ae6f-f30c2881e026

📥 Commits

Reviewing files that changed from the base of the PR and between 47d094e and 61a2798.

⛔ Files ignored due to path filters (2)
  • bun.lock is excluded by !**/*.lock
  • pnpm-lock.yaml is excluded by !**/pnpm-lock.yaml
📒 Files selected for processing (298)
  • .changeset/polite-rockets-deliver.md
  • .changeset/pre.json
  • .claude/agents/svelte-tdd-engineer.md
  • .claude/docs/presence-layout-investigation.md
  • .claude/launch.json
  • .claude/settings.json
  • .claude/settings.local.json
  • .claude/skills/agentic-jumpstart-architecture/SKILL.md
  • .claude/skills/agentic-jumpstart-code-quality/SKILL.md
  • .claude/skills/agentic-jumpstart-dependency-management/SKILL.md
  • .claude/skills/agentic-jumpstart-frontend/SKILL.md
  • .claude/skills/agentic-jumpstart-performance/SKILL.md
  • .claude/skills/agentic-jumpstart-security/SKILL.md
  • .claude/skills/agentic-jumpstart-testing/SKILL.md
  • .devcontainer/devcontainer.json
  • .gitattributes
  • .github/agents/README.md
  • .github/agents/tdd-green.agent.md
  • .github/agents/tdd-red.agent.md
  • .github/agents/tdd-refactor.agent.md
  • .github/copilot-instructions.md
  • .github/workflows/main.yaml
  • .gitignore
  • .vscode/launch.json
  • .vscode/mcp.json
  • .vscode/settings.json
  • .vscode/tasks.json
  • AGENTS.md
  • ARCHITECTURE_OPTIONS.md
  • CLAUDE.md
  • ROADMAP.md
  • biome.jsonc
  • components.json
  • cypress.config.ts
  • cypress/fixtures/appear-tests.json
  • cypress/fixtures/projection-tests.json
  • cypress/integration/animate-layout-timing.ts
  • cypress/integration/animate-presence-pop.ts
  • cypress/integration/animate-presence-remove.ts
  • cypress/integration/animate-presence-switch-waapi.ts
  • cypress/integration/animate-reverse.ts
  • cypress/integration/animate-style.ts
  • cypress/integration/animate-unit-types.ts
  • cypress/integration/css-vars.ts
  • cypress/integration/drag-framer-page.ts
  • cypress/integration/drag-nested.ts
  • cypress/integration/drag-svg.ts
  • cypress/integration/drag-tabs.ts
  • cypress/integration/drag-to-reorder.ts
  • cypress/integration/drag.ts
  • cypress/integration/layout-cancelled-finishes.ts
  • cypress/integration/layout-exit.ts
  • cypress/integration/layout-instant-undo.ts
  • cypress/integration/layout-relative-delay.ts
  • cypress/integration/layout-relative-drag.ts
  • cypress/integration/layout-resize.ts
  • cypress/integration/layout-shared-lightbox-crossfade-repeated.ts
  • cypress/integration/layout-shared-lightbox-crossfade.ts
  • cypress/integration/layout-shared.ts
  • cypress/integration/layout-viewport-jump.ts
  • cypress/integration/layout.ts
  • cypress/integration/presence-affects-layout.ts
  • cypress/integration/scroll.ts
  • cypress/integration/svg.ts
  • cypress/integration/unit-conversion.ts
  • cypress/integration/waapi.ts
  • cypress/integration/while-in-view.ts
  • cypress/support/commands.js
  • cypress/support/index.js
  • cypress/tsconfig.json
  • docs/ARCHITECTURE.md
  • docs/COMPLETION_SUMMARY.md
  • docs/PROJECT_STRUCTURE.md
  • docs/REACTIVE_CONTEXTS_SUMMARY.md
  • docs/RUNES_MIGRATION.md
  • docs/TESTING.md
  • history/2025-12-17-animatepresence-exit-investigation.md
  • history/RUNES_MIGRATION_COMPLETE.md
  • history/svelte-motion-research.md
  • history/ui-e2e-plan.md
  • package.json
  • plans/ELEMENT_ATTACHMENT.md
  • plans/EVENT_HANDLERS.md
  • plans/GESTURE_REFACTOR.md
  • plans/REACTIVE_CONTEXTS.md
  • pnpm-workspace.yaml
  • src/app.css
  • src/app.d.ts
  • src/hooks.server.ts
  • src/lib/components/Box.svelte
  • src/lib/components/Card.svelte
  • src/lib/components/ComponentView.svelte
  • src/lib/components/RefreshButton.svelte
  • src/lib/components/motion/AnimateLayout.svelte
  • src/lib/components/motion/AnimatePresenceMode.svelte
  • src/lib/components/motion/AnimatePresenceStack.svelte
  • src/lib/components/motion/AnimationSequence.svelte
  • src/lib/components/motion/ColorInterpolation.svelte
  • src/lib/components/motion/CyclingThroughStates.svelte
  • src/lib/components/motion/Dock/Dock.svelte
  • src/lib/components/motion/Dock/DockIcon-simple.svelte
  • src/lib/components/motion/Dock/DockIcon.svelte
  • src/lib/components/motion/Drag3DTransform.svelte
  • src/lib/components/motion/DragConstraints.svelte
  • src/lib/components/motion/DragDirectionLocking.svelte
  • src/lib/components/motion/DragTransform.svelte
  • src/lib/components/motion/DurBasedSpring.svelte
  • src/lib/components/motion/KanbanBoard.svelte
  • src/lib/components/motion/KeyFramesPosition.svelte
  • src/lib/components/motion/MorphSVG.svelte
  • src/lib/components/motion/Navbar.svelte
  • src/lib/components/motion/ReorderList/Index.svelte
  • src/lib/components/motion/ReorderList/Item.svelte
  • src/lib/components/motion/ReorderList/use-raised-shadow.svelte.ts
  • src/lib/components/motion/Repeat.svelte
  • src/lib/components/motion/ReverseEffect.svelte
  • src/lib/components/motion/ScrollProgress.svelte
  • src/lib/components/motion/Spring.svelte
  • src/lib/components/motion/Tweened.svelte
  • src/lib/components/motion/WhileDragEffect.svelte
  • src/lib/components/motion/WhileHoverEffect.svelte
  • src/lib/components/motion/WhileTapEffect.svelte
  • src/lib/components/motion/index.ts
  • src/lib/components/ui/button/button.svelte
  • src/lib/components/ui/button/index.ts
  • src/lib/components/ui/card/card-action.svelte
  • src/lib/components/ui/card/card-content.svelte
  • src/lib/components/ui/card/card-description.svelte
  • src/lib/components/ui/card/card-footer.svelte
  • src/lib/components/ui/card/card-header.svelte
  • src/lib/components/ui/card/card-title.svelte
  • src/lib/components/ui/card/card.svelte
  • src/lib/components/ui/card/index.ts
  • src/lib/components/ui/dialog/dialog-close.svelte
  • src/lib/components/ui/dialog/dialog-content.svelte
  • src/lib/components/ui/dialog/dialog-description.svelte
  • src/lib/components/ui/dialog/dialog-footer.svelte
  • src/lib/components/ui/dialog/dialog-header.svelte
  • src/lib/components/ui/dialog/dialog-overlay.svelte
  • src/lib/components/ui/dialog/dialog-portal.svelte
  • src/lib/components/ui/dialog/dialog-title.svelte
  • src/lib/components/ui/dialog/dialog-trigger.svelte
  • src/lib/components/ui/dialog/index.ts
  • src/lib/components/ui/label/index.ts
  • src/lib/components/ui/label/label.svelte
  • src/lib/components/ui/switch/index.ts
  • src/lib/components/ui/switch/switch.svelte
  • src/lib/components/ui/tooltip/index.ts
  • src/lib/components/ui/tooltip/tooltip-content.svelte
  • src/lib/components/ui/tooltip/tooltip-trigger.svelte
  • src/lib/hooks/is-mobile.svelte.ts
  • src/lib/motion-start/animation/GroupPlaybackControls.ts
  • src/lib/motion-start/animation/UseAnimatedState.svelte
  • src/lib/motion-start/animation/UseAnimation.svelte
  • src/lib/motion-start/animation/__tests__/GroupPlaybackControls.spec.ts
  • src/lib/motion-start/animation/__tests__/animate-waapi.spec.ts
  • src/lib/motion-start/animation/__tests__/animation-controls.spec.ts
  • src/lib/motion-start/animation/__tests__/css-variables.spec.ts
  • src/lib/motion-start/animation/animate.ts
  • src/lib/motion-start/animation/animate/index.ts
  • src/lib/motion-start/animation/animate/resolve-subjects.ts
  • src/lib/motion-start/animation/animate/sequence.ts
  • src/lib/motion-start/animation/animate/single-value.ts
  • src/lib/motion-start/animation/animate/subject.ts
  • src/lib/motion-start/animation/animation-controls.ts
  • src/lib/motion-start/animation/animators/AcceleratedAnimation.ts
  • src/lib/motion-start/animation/animators/BaseAnimation.ts
  • src/lib/motion-start/animation/animators/MainThreadAnimation.ts
  • src/lib/motion-start/animation/animators/__tests__/MainThreadAnimation.spec.ts
  • src/lib/motion-start/animation/animators/__tests__/utils.ts
  • src/lib/motion-start/animation/animators/drivers/driver-frameloop.ts
  • src/lib/motion-start/animation/animators/drivers/types.ts
  • src/lib/motion-start/animation/animators/utils/accelerated-values.ts
  • src/lib/motion-start/animation/animators/utils/can-animate.ts
  • src/lib/motion-start/animation/animators/waapi/NativeAnimation.ts
  • src/lib/motion-start/animation/animators/waapi/__tests__/easing.spec.ts
  • src/lib/motion-start/animation/animators/waapi/animate-elements.ts
  • src/lib/motion-start/animation/animators/waapi/animate-sequence.ts
  • src/lib/motion-start/animation/animators/waapi/animate-style.ts
  • src/lib/motion-start/animation/animators/waapi/easing.ts
  • src/lib/motion-start/animation/animators/waapi/index.ts
  • src/lib/motion-start/animation/animators/waapi/types.ts
  • src/lib/motion-start/animation/animators/waapi/utils/__tests__/get-final-keyframes.spec.ts
  • src/lib/motion-start/animation/animators/waapi/utils/__tests__/linear.spec.ts
  • src/lib/motion-start/animation/animators/waapi/utils/attach-timeline.ts
  • src/lib/motion-start/animation/animators/waapi/utils/get-final-keyframe.ts
  • src/lib/motion-start/animation/animators/waapi/utils/linear.svelte.ts
  • src/lib/motion-start/animation/animators/waapi/utils/memo-supports.ts
  • src/lib/motion-start/animation/animators/waapi/utils/style.ts
  • src/lib/motion-start/animation/animators/waapi/utils/supports-flags.ts
  • src/lib/motion-start/animation/animators/waapi/utils/supports-linear-easing.ts
  • src/lib/motion-start/animation/animators/waapi/utils/supports-partial-keyframes.ts
  • src/lib/motion-start/animation/animators/waapi/utils/supports-waapi.ts
  • src/lib/motion-start/animation/generators/__tests__/inertia.spec.ts
  • src/lib/motion-start/animation/generators/__tests__/keyframes.spec.ts
  • src/lib/motion-start/animation/generators/__tests__/spring.spec.ts
  • src/lib/motion-start/animation/generators/__tests__/utils.ts
  • src/lib/motion-start/animation/generators/inertia.ts
  • src/lib/motion-start/animation/generators/keyframes.ts
  • src/lib/motion-start/animation/generators/spring/find.ts
  • src/lib/motion-start/animation/generators/spring/index.ts
  • src/lib/motion-start/animation/generators/types.ts
  • src/lib/motion-start/animation/generators/utils/calc-duration.ts
  • src/lib/motion-start/animation/generators/utils/is-generator.ts
  • src/lib/motion-start/animation/generators/utils/pregenerate.ts
  • src/lib/motion-start/animation/generators/utils/velocity.ts
  • src/lib/motion-start/animation/hooks/animation-controls.ts
  • src/lib/motion-start/animation/hooks/use-animate-style.ts
  • src/lib/motion-start/animation/hooks/use-animate.svelte.ts
  • src/lib/motion-start/animation/hooks/use-animated-state.svelte.ts
  • src/lib/motion-start/animation/hooks/use-animation.svelte.ts
  • src/lib/motion-start/animation/interfaces/motion-value.ts
  • src/lib/motion-start/animation/interfaces/types.ts
  • src/lib/motion-start/animation/interfaces/visual-element-target.ts
  • src/lib/motion-start/animation/interfaces/visual-element-variant.ts
  • src/lib/motion-start/animation/interfaces/visual-element.ts
  • src/lib/motion-start/animation/optimized-appear/data-id.ts
  • src/lib/motion-start/animation/optimized-appear/get-appear-id.ts
  • src/lib/motion-start/animation/optimized-appear/handoff.ts
  • src/lib/motion-start/animation/optimized-appear/start.ts
  • src/lib/motion-start/animation/optimized-appear/store-id.ts
  • src/lib/motion-start/animation/optimized-appear/store.ts
  • src/lib/motion-start/animation/optimized-appear/types.ts
  • src/lib/motion-start/animation/sequence/__tests__/index.spec.ts
  • src/lib/motion-start/animation/sequence/create.ts
  • src/lib/motion-start/animation/sequence/types.ts
  • src/lib/motion-start/animation/sequence/utils/__tests__/calc-time.spec.ts
  • src/lib/motion-start/animation/sequence/utils/__tests__/edit.spec.ts
  • src/lib/motion-start/animation/sequence/utils/__tests__/sort.spec.ts
  • src/lib/motion-start/animation/sequence/utils/calc-time.ts
  • src/lib/motion-start/animation/sequence/utils/edit.ts
  • src/lib/motion-start/animation/sequence/utils/sort.ts
  • src/lib/motion-start/animation/types.ts
  • src/lib/motion-start/animation/use-animated-state.ts
  • src/lib/motion-start/animation/utils/__tests__/is-none.spec.ts
  • src/lib/motion-start/animation/utils/__tests__/stagger.spec.ts
  • src/lib/motion-start/animation/utils/__tests__/transitions.spec.ts
  • src/lib/motion-start/animation/utils/create-visual-element.ts
  • src/lib/motion-start/animation/utils/default-transitions.ts
  • src/lib/motion-start/animation/utils/easing.ts
  • src/lib/motion-start/animation/utils/get-value-transition.ts
  • src/lib/motion-start/animation/utils/is-animatable.ts
  • src/lib/motion-start/animation/utils/is-animation-controls.ts
  • src/lib/motion-start/animation/utils/is-dom-keyframes.ts
  • src/lib/motion-start/animation/utils/is-keyframes-target.ts
  • src/lib/motion-start/animation/utils/is-none.ts
  • src/lib/motion-start/animation/utils/is-transition-defined.ts
  • src/lib/motion-start/animation/utils/stagger.ts
  • src/lib/motion-start/animation/utils/transitions.ts
  • src/lib/motion-start/animation/utils/variant-resolvers.ts
  • src/lib/motion-start/components/AnimatePresence/AnimatePresence.svelte
  • src/lib/motion-start/components/AnimatePresence/PopChild/PopChild.svelte
  • src/lib/motion-start/components/AnimatePresence/PopChild/PopChildMeasure.svelte
  • src/lib/motion-start/components/AnimatePresence/PopChild/types.ts
  • src/lib/motion-start/components/AnimatePresence/PresenceChild/PresenceChild.svelte
  • src/lib/motion-start/components/AnimatePresence/PresenceChild/index.ts
  • src/lib/motion-start/components/AnimatePresence/PresenceChild/types.ts
  • src/lib/motion-start/components/AnimatePresence/index.ts
  • src/lib/motion-start/components/AnimatePresence/type.spec-d.ts
  • src/lib/motion-start/components/AnimatePresence/types.ts
  • src/lib/motion-start/components/AnimatePresence/use-presence-data.svelte.ts
  • src/lib/motion-start/components/AnimatePresence/use-presence.svelte.ts
  • src/lib/motion-start/components/AnimatePresence/use-presence.ts
  • src/lib/motion-start/components/AnimatePresence/utils.ts
  • src/lib/motion-start/components/AnimateSharedLayout/AnimateSharedLayout.svelte
  • src/lib/motion-start/components/AnimateSharedLayout/index.ts
  • src/lib/motion-start/components/AnimateSharedLayout/type.spec-d.ts
  • src/lib/motion-start/components/AnimateSharedLayout/types.ts
  • src/lib/motion-start/components/AnimateSharedLayout/utils/batcher.ts
  • src/lib/motion-start/components/AnimateSharedLayout/utils/crossfader.ts
  • src/lib/motion-start/components/AnimateSharedLayout/utils/rotate.ts
  • src/lib/motion-start/components/AnimateSharedLayout/utils/stack.ts
  • src/lib/motion-start/components/LayoutGroup/LayoutGroup.svelte
  • src/lib/motion-start/components/LayoutGroup/index.ts
  • src/lib/motion-start/components/LayoutGroup/type.spec-d.ts
  • src/lib/motion-start/components/LazyMotion/LazyMotion.svelte
  • src/lib/motion-start/components/LazyMotion/index.ts
  • src/lib/motion-start/components/LazyMotion/types.ts
  • src/lib/motion-start/components/MotionConfig/MotionConfig.svelte
  • src/lib/motion-start/components/MotionConfig/MotionConfigScaleCorrection.ts
  • src/lib/motion-start/components/MotionConfig/index.ts
  • src/lib/motion-start/components/MotionConfig/type.spec-d.ts
  • src/lib/motion-start/components/MotionDiv.svelte
  • src/lib/motion-start/components/Reorder/Group.svelte
  • src/lib/motion-start/components/Reorder/Item.svelte
  • src/lib/motion-start/components/Reorder/index.ts
  • src/lib/motion-start/components/Reorder/types.ts
  • src/lib/motion-start/components/Reorder/utils/__tests__/check-reorder.spec.ts
  • src/lib/motion-start/components/Reorder/utils/check-reorder.svelte.ts
  • src/lib/motion-start/components/utils/tag-proxy.ts
  • src/lib/motion-start/context/DOMcontext.ts
  • src/lib/motion-start/context/DeprecatedLayoutGroupContext.ts
  • src/lib/motion-start/context/LayoutGroupContext.svelte.ts
  • src/lib/motion-start/context/LayoutGroupContext.ts
  • src/lib/motion-start/context/LazyContext.ts
  • src/lib/motion-start/context/MotionConfigContext.svelte.ts
  • src/lib/motion-start/context/MotionConfigContext.ts
  • src/lib/motion-start/context/MotionContext/MotionContext.svelte

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/rewrite

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

chore: update package paths in package.json for consistency

refactor: replace Button with RefreshButton in motion components for better UX

fix: update Navbar demo label for clarity

fix: improve type safety in LayoutGroupContext and LazyContext

fix: enhance Motion component rendering and visual element handling

chore: add roadmap for future development and feature planning

feat: implement RefreshButton component for improved interaction
- Bump @biomejs/biome to version 2.4.7 and @sveltejs/kit to version 2.55.0 in package.json.
- Update happy-dom to version 20.8.4 and add zod as a new dependency.
- Refactor Card.svelte to allow custom drag end handling and improve drag animations.
- Modify RefreshButton.svelte to enhance refresh animation timing.
- Enhance AnimatePresenceStack.svelte to support dynamic card dragging and state management.
- Improve AnimatePresence component to handle layout changes more efficiently with new snapshot and layout dependency tracking.
- Update PresenceChild component to synchronize layout dependencies and snapshot triggers.
- Adjust MeasureLayout and MeasureLayoutWithContext to ensure proper layout updates during animations.
- Add support for search parameters in +page.svelte using zod for validation.
- Removed MutableRefObject usage in various contexts, returning direct context values instead.
- Updated context retrieval methods to handle null values gracefully.
- Refactored event handling in gesture features to use a unified handler registration system.
- Improved performance by eliminating unnecessary derived states and using direct references.
- Enhanced readability and maintainability of code by consolidating similar logic across different features.
- Updated visual element handling to support dynamic event handler composition.
refactor: update roadmap and improve component structure for better clarity and performance
…d new drag controls - another good attempt checkpoint
- Introduced a new KanbanBoard component with enhanced drag-and-drop functionality.
- Updated launch.json to include configurations for development, preview, and testing servers.
- Refactored drag controls and rendering logic for improved performance and usability.
- Removed KanbanBoard export from motion index and adjusted demo page to reflect the new structure.
- Created a dedicated page for the Kanban board in the demo section.
@JonathonRP JonathonRP marked this pull request as ready for review March 23, 2026 17:23
- Removed redundant tests from layout-shared, scroll, and svg integration files.
- Simplified unit conversion tests by removing unnecessary comments and code.
- Updated Card and KanbanBoard components for better structure and styling.
- Enhanced AcceleratedAnimation class for improved animation handling.
- Refined AnimatePresence and PresenceChild components for better context management.
- Optimized MeasureLayoutWithContext for clearer prop handling.
- Improved useVisualElement and useVisualState utilities for better performance.
- Cleaned up VisualElement class for better readability and maintenance.
- Updated animate-presence-pop test to streamline item rendering and styling.
…ntext

- Added debug logging for layout measurements and element properties.
- Introduced helper functions to retrieve bounding box and debug labels for elements.
- Improved snapshot handling during layout updates to ensure accurate measurements.
- Refactored layout dependency checks to streamline the measurement process.
- Updated types to simplify layout prop definitions.
- Enhanced visual element rendering with better feature management.
- Added tests for VisualElement feature updates and style attachment functionality.
- Updated layout examples in the documentation for clarity and improved user experience.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Animate Persence inconsistencies with Framer Motion API

2 participants