dd-morphing-surfaces

Implement React and Framer Motion morphing surfaces with dimension animation and clipping.

Updated Aug 23, 2026
One-click install
npx skills add https://github.com/moonwell-fi/moonwell-ai --skill dd-morphing-surfaces
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dd-morphing-surfaces
Source: https://github.com/moonwell-fi/moonwell-ai/tree/main/.claude/skills/dd-morphing-surfaces
Command: npx skills add https://github.com/moonwell-fi/moonwell-ai --skill dd-morphing-surfaces

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

It prevents jarring, unreliable UI morph animations by teaching a consistent React + Framer Motion component structure and motion rules for “morphing surfaces.”

Core Features & Use Cases

  • Shell-first morphing architecture: animate a dedicated “shell” container (dimensions + clipping) while inner content crossfades and hands off attention.
  • Reliability-focused motion rules: anchor transitions, avoid re-centering jitter, and replace brittle translate/scale patterns with dimension animation and clipping.
  • Shared-layout with guardrails: use layoutId sparingly for a single continuity mark (e.g., dot/icon) to preserve visual continuity without flicker.
  • Common failure mode fixes: avoid transform: scale() on the morphing shell, manage layout animation scale side effects, and protect text/input from distortion.

Quick Start

Ask the AI to generate a React + Framer Motion “morphing surface” component that uses a relative overflow-hidden shell, keyed AnimatePresence children with crossfades, and animates width/height (not scale), with at most one layoutId continuity element.

Frequently Asked Questions about dd-morphing-surfaces

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I build morphing UI transitions in React without layout flicker?

To build morphing UI transitions without flicker in React, animate a dedicated overflow-hidden shell container's width and height while crossfading keyed inner content, avoiding scale transforms that cause distortion.

Why does my Framer Motion layout animation jitter during width and height changes?

Framer Motion layout animations jitter during width and height changes when content re-centers or uses brittle translate and scale patterns. Apply anchored transitions and animate shell dimensions to prevent distortion.

What is the best way to create a Dynamic Island style morphing surface in Framer Motion?

The best way to create a Dynamic Island style morphing surface is animating a relative overflow-hidden shell's dimensions with keyed AnimatePresence children crossfading, using at most one layoutId for visual continuity.

Can I use transform scale for expanding and collapsing dock-to-form components in React?

You should not use transform scale for expanding and collapsing dock-to-form components. Scale causes text and input distortion; animate width and height on the shell container with overflow clipping instead.

When should I avoid using layoutId for shared layout transitions in Framer Motion?

Avoid using layoutId excessively for shared layout transitions; restrict it to a single continuity mark like a dot or icon to preserve visual handoff without flicker or layout animation scale side effects.