{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "remocn",
  "homepage": "https://remocn.dev",
  "items": [
    {
      "name": "soft-blur-in",
      "title": "Soft Blur In",
      "description": "Per-character fade-in with a gentle blur and upward motion. Apple's signature hero-title reveal.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/soft-blur-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/soft-blur-in.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "per-character-rise",
      "title": "Per Character Rise",
      "description": "Letters slide up from below with no blur — crisp, deliberate, kinetic.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/per-character-rise/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/per-character-rise.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "bottom-up-letters",
      "title": "Bottom-Up Letters",
      "description": "Letters rise from below in a pronounced staircase, one symbol at a time, with zero blur.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/bottom-up-letters/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/bottom-up-letters.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "top-down-letters",
      "title": "Top-Down Letters",
      "description": "Letters descend from above in a pronounced staircase, one symbol at a time, with zero blur.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/top-down-letters/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/top-down-letters.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "spring-scale-in",
      "title": "Spring Scale In",
      "description": "Words pop in with a soft overshoot scale, like a physical spring settling into place.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/spring-scale-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/spring-scale-in.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "micro-scale-fade",
      "title": "Micro Scale Fade",
      "description": "A calm, tiny scale pop used as subtle premium polish for labels and headings.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/micro-scale-fade/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/micro-scale-fade.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "scale-down-fade",
      "title": "Scale Down Fade",
      "description": "Subtle premium settle-in with a restrained scale-down fade on exit.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/scale-down-fade/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/scale-down-fade.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "blur-out-up",
      "title": "Blur Out Up",
      "description": "Words arrive clean and depart upward with increasing blur for airy exits.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/blur-out-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/blur-out-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "focus-blur-resolve",
      "title": "Focus Blur Resolve",
      "description": "A premium focus pull from heavy blur to crisp text, then a soft blur-out exit.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/focus-blur-resolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/focus-blur-resolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "lens-zoom",
      "title": "Lens Zoom",
      "description": "A hard cut disguised as a lens punch-in: barrel distortion, zoom blur, chromatic split and camera shake around the splice.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/lens-zoom/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/lens-zoom.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "line-by-line-slide",
      "title": "Line-by-Line Slide",
      "description": "Each line enters from the left with a staggered slide and exits to the right for a flowing paragraph reveal.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/line-by-line-slide/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/line-by-line-slide.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "per-word-crossfade",
      "title": "Per-Word Crossfade",
      "description": "Words gently fade into place one after another, with a short vertical drift for a calm keynote rhythm.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/per-word-crossfade/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/per-word-crossfade.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "word-stream",
      "title": "Word Stream",
      "description": "Voiceover-paced phrases that build word by word — the next word looms as a blurred ghost before it resolves, then the phrase cuts away.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/word-stream/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/word-stream.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "word-push",
      "title": "Word Push",
      "description": "A phrase builds from its first word centered: each next word drives in from the right and pushes the line left, easing into the new center.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/word-push/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/word-push.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "sheen-slide-in",
      "title": "Sheen Slide In",
      "description": "A title glides in from the right with an exponential settle and a slow final creep to center, while a gradient sheen sweeps once through the glyphs.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/sheen-slide-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/sheen-slide-in.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "squeeze-in",
      "title": "Squeeze In",
      "description": "Characters appear one by one on a tight stagger; when the last one lands, every letter gap compresses as one and the word squeezes together.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/squeeze-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/squeeze-in.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "fog-rise",
      "title": "Fog Rise",
      "description": "Display text resolves out of fog: characters sharpen from heavy blur center-out with vertical streaks dissolving above them, as if rising along the z-axis.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/fog-rise/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/fog-rise.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "caret-swap",
      "title": "Caret Swap",
      "description": "A gradient caret swells into a block that consumes the first phrase right-to-left, collapses back and types the second phrase out with a blinking caret.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/caret-swap/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/caret-swap.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "zoom-words",
      "title": "Zoom Words",
      "description": "A close-up word reveal: huge words fade into a long line while the camera rides the write head, the line streaming off-frame as the shot eases into focus.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/zoom-words/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/zoom-words.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "centered-word-build",
      "title": "Centered Word Build",
      "description": "Words appear sharply from below while the centered phrase pushes cumulatively closer on every beat, then clears through a soft left-to-right opacity wipe.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/centered-word-build/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/centered-word-build.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "inline-pill-takeover",
      "title": "Inline Pill Takeover",
      "description": "A clipped pill expands inside a sentence, physically pushes the surrounding words apart, removes them through blur and takes over the frame with a fast camera punch-in.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/inline-pill-takeover/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/inline-pill-takeover.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "typed-split-wipe",
      "title": "Typed Split Wipe",
      "description": "A centered cursorless type build holds, then exits through opposing fixed-layout glyph wipes that leave the anchor visible longest.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/typed-split-wipe/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/typed-split-wipe.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shadow-sweep-text",
      "title": "Shadow Sweep Text",
      "description": "A line rises up and left while one dense dark shadow uncovers it and a second shadow sweeps back across it for the exit.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shadow-sweep-text/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shadow-sweep-text.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "outline-fill-track-text",
      "title": "Outline Fill Track Text",
      "description": "A rising lead word gives way to an outlined value that fills from left to right while both travel on one continuous track.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/outline-fill-track-text/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/outline-fill-track-text.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "gradient-scale-cut-text",
      "title": "Gradient Scale Cut Text",
      "description": "An oversized gradient reveal snaps to a separate compact blurred line that settles left while the reveal continues.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/gradient-scale-cut-text/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/gradient-scale-cut-text.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "rush-type",
      "title": "Rush Type",
      "description": "A resting white word blasts through vertical scale motion, separating into energy-conserving RGB shutter trails before the next word resolves.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/rush-type/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/rush-type.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "extrude-pop",
      "title": "Extrude Pop",
      "description": "A flat word pops up out of the plane on a solid colored 3D body, no camera involved.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/extrude-pop/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/extrude-pop.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "fade-through",
      "title": "Fade Through",
      "description": "A Material-style content transition: old fades out, new fades in with a soft delay.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/fade-through/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/fade-through.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shared-axis-y",
      "title": "Shared Axis Y",
      "description": "Per-word hard-cut transition with staircase timing for sharp editorial swaps.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shared-axis-y/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shared-axis-y.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shared-axis-z",
      "title": "Shared Axis Z",
      "description": "Scale-based shared-axis transition for focus shifts and context depth.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shared-axis-z/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shared-axis-z.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "short-slide-right",
      "title": "Short Slide Right",
      "description": "The whole phrase glides in from the left as one compact move while words reveal in sequence through opacity.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/short-slide-right/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/short-slide-right.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "kinetic-morph-text",
      "title": "Kinetic Morph Text",
      "description": "Letters lift, rotate, and softly reshape into editable phrases with sampled outline trails.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/kinetic-morph-text/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/kinetic-morph-text.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "kinetic-warp",
      "title": "Kinetic Warp",
      "description": "A coarse mesh warp bends a whole word in staccato beats, one axis per keyframe.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/kinetic-warp/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/kinetic-warp.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "kinetic-center-build",
      "title": "Kinetic Center Build",
      "description": "A word appears in the center; each new word enters from the right and pushes the line until the full phrase locks centered.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/kinetic-center-build/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/kinetic-center-build.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "short-slide-down",
      "title": "Short Slide Down",
      "description": "Each new word drops in from above into its own line and pushes the stack downward until a centered three-line composition locks in place.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/short-slide-down/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/short-slide-down.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "typewriter",
      "title": "Typewriter",
      "description": "Character-by-character text reveal with a deterministic blinking cursor.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui", "@remocn/caret"],
      "files": [
        {
          "path": "registry/remocn/typewriter/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/typewriter.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "inline-highlight",
      "title": "Inline Highlight",
      "description": "Animates one word inside a sentence from a base color to a brand color.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/inline-highlight/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/inline-highlight.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "stretch-in",
      "title": "Stretch In",
      "description": "Letters fly in from off-canvas and smear horizontally on the way — a vertex-lag deformation, not a scale.",
      "dependencies": ["remotion", "opentype.js"],
      "files": [
        {
          "path": "registry/remocn/stretch-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/stretch-in.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "strikethrough-replace",
      "title": "Strikethrough Replace",
      "description": "Draws a strike line across old text then reveals new text in its place.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/strikethrough-replace/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/strikethrough-replace.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "staggered-fade-up",
      "title": "Staggered Fade Up",
      "description": "Words fade in and slide up one after another with a configurable delay.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/staggered-fade-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/staggered-fade-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "mask-reveal-up",
      "title": "Mask Reveal Up",
      "description": "Lines reveal upward with a soft masked feel and compact stagger.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/mask-reveal-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/mask-reveal-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "tracking-in",
      "title": "Tracking In",
      "description": "Letter-spacing collapses and blur clears with a springy motion.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/tracking-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/tracking-in.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shimmer-sweep",
      "title": "Shimmer Sweep",
      "description": "Light shine sweeps across muted text via background-clip:text.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shimmer-sweep/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shimmer-sweep.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "marker-highlight",
      "title": "Marker Highlight",
      "description": "Colored marker block draws behind a phrase as the text color shifts.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/marker-highlight/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/marker-highlight.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "slot-machine-roll",
      "title": "Slot Machine Roll",
      "description": "Vertical reel scrolls characters from one value to another.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/slot-machine-roll/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/slot-machine-roll.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "matrix-decode",
      "title": "Matrix Decode",
      "description": "Random scramble resolves left-to-right into the target text.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/matrix-decode/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/matrix-decode.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "rgb-glitch-text",
      "title": "RGB Glitch Text",
      "description": "Three RGB-offset text copies jitter for a brief glitch window.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/rgb-glitch-text/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/rgb-glitch-text.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "infinite-marquee",
      "title": "Infinite Marquee",
      "description": "Seamlessly looping horizontal text strip with optional stroke style.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/infinite-marquee/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/infinite-marquee.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-mesh-gradient",
      "title": "Shader Mesh Gradient",
      "description": "WebGL mesh gradient backdrop driven per-frame for deterministic Remotion renders.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-mesh-gradient/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-mesh-gradient.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-grain-gradient",
      "title": "Shader Grain Gradient",
      "description": "Grainy multi-stop gradient that drifts slowly with film-grain texture over the blend.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-grain-gradient/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-grain-gradient.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-warp",
      "title": "Shader Warp",
      "description": "Domain-warped color field that folds and stretches like liquid.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-warp/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-warp.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-swirl",
      "title": "Shader Swirl",
      "description": "Concentric bands swirling around a center point.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-swirl/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-swirl.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-water",
      "title": "Shader Water",
      "description": "Caustic water-surface ripples with subtle refraction.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-water/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-water.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-spiral",
      "title": "Shader Spiral",
      "description": "Rotating spiral arms radiating from the center.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-spiral/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-spiral.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-liquid-metal",
      "title": "Shader Liquid Metal",
      "description": "Molten metallic surface with flowing specular highlights.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-liquid-metal/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-liquid-metal.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-color-panels",
      "title": "Shader Color Panels",
      "description": "Overlapping translucent color panels sliding past each other.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-color-panels/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-color-panels.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-neuro-noise",
      "title": "Shader Neuro Noise",
      "description": "Organic neural-web noise field that slowly morphs.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-neuro-noise/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-neuro-noise.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-perlin-noise",
      "title": "Shader Perlin Noise",
      "description": "Classic Perlin noise clouds drifting across the frame.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-perlin-noise/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-perlin-noise.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-simplex-noise",
      "title": "Shader Simplex Noise",
      "description": "Simplex noise flow field, smoother than Perlin.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-simplex-noise/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-simplex-noise.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-voronoi",
      "title": "Shader Voronoi",
      "description": "Animated Voronoi cells shifting and re-tessellating.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-voronoi/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-voronoi.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-dot-orbit",
      "title": "Shader Dot Orbit",
      "description": "Dots orbiting on concentric paths across the frame.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-dot-orbit/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-dot-orbit.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-dithering",
      "title": "Shader Dithering",
      "description": "Ordered-dither shading over an animated gradient field.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-dithering/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-dithering.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-god-rays",
      "title": "Shader God Rays",
      "description": "Volumetric light rays radiating from an off-screen source.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-god-rays/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-god-rays.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-smoke-ring",
      "title": "Shader Smoke Ring",
      "description": "Soft smoke ring curling and dissipating in place.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-smoke-ring/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-smoke-ring.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-metaballs",
      "title": "Shader Metaballs",
      "description": "Organic blobs merging and splitting like lava.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-metaballs/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-metaballs.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-pulsing-border",
      "title": "Shader Pulsing Border",
      "description": "Glowing border frame that pulses around the edges.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-pulsing-border/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-pulsing-border.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "simulated-cursor",
      "title": "Simulated Cursor",
      "description": "Animated mouse cursor moving between waypoints with click ripple feedback.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/simulated-cursor/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/simulated-cursor.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "swirl-dissolve",
      "title": "Swirl Dissolve",
      "description": "A swirl shader transition that unwinds open and winds shut to reveal the next scene.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-swirl"],
      "files": [
        {
          "path": "registry/remocn/swirl-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/swirl-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "dither-dissolve",
      "title": "Dither Dissolve",
      "description": "A dithering shader transition that dissolves one scene into the next.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-dithering"],
      "files": [
        {
          "path": "registry/remocn/dither-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/dither-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "perlin-dissolve",
      "title": "Perlin Dissolve",
      "description": "A perlin-noise shader transition that sweeps its noise threshold to dissolve one scene into the next.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-perlin-noise"],
      "files": [
        {
          "path": "registry/remocn/perlin-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/perlin-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "smoke-dissolve",
      "title": "Smoke Dissolve",
      "description": "A smoke-ring shader transition that expands the ring outward to reveal the next scene.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-smoke-ring"],
      "files": [
        {
          "path": "registry/remocn/smoke-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/smoke-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "wave-wipe",
      "title": "Wave Wipe",
      "description": "A grain-gradient wave that sweeps up across the frame, covering the outgoing scene and revealing the next one from below.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-grain-gradient"],
      "files": [
        {
          "path": "registry/remocn/wave-wipe/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/wave-wipe.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "ripple-zoom",
      "title": "Ripple Zoom",
      "description": "A grain-gradient ripple transition that flies the camera through the center of the rings while the next scene approaches from the depth.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-grain-gradient"],
      "files": [
        {
          "path": "registry/remocn/ripple-zoom/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ripple-zoom.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "gooey-morph",
      "title": "Gooey Morph",
      "description": "Bars fly in Tetris-style, land as a row, and melt into a word through a gooey blur-and-threshold morph.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/gooey-morph/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/gooey-morph.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "grain-dissolve",
      "title": "Grain Dissolve",
      "description": "A grain-gradient shader transition that disintegrates the outgoing scene into soft grainy shapes and condenses the next scene out of the noise.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-grain-gradient"],
      "files": [
        {
          "path": "registry/remocn/grain-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/grain-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "warp-dissolve",
      "title": "Warp Dissolve",
      "description": "A domain-warp shader transition that melts the outgoing scene into a folding color field and straightens back out into the next.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-warp"],
      "files": [
        {
          "path": "registry/remocn/warp-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/warp-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "whip-pan",
      "title": "Whip Pan",
      "description": "A whip-pan transition that flies both scenes through the frame in one move with velocity-based motion blur.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/whip-pan/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/whip-pan.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "push-through",
      "title": "Push Through",
      "description": "A dolly transition that blows the outgoing scene past the camera while the next one approaches from the depth.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/push-through/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/push-through.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "focus-pull",
      "title": "Focus Pull",
      "description": "A rack-focus transition that defocuses the outgoing scene into a bright blur and resolves the next one into focus.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/focus-pull/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/focus-pull.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "zoom-blur",
      "title": "Zoom Blur",
      "description": "A depth punch-in transition that pushes the outgoing scene through the viewer while the incoming one resolves out of blur.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/zoom-blur/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/zoom-blur.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "rolodex-flip",
      "title": "Rolodex Flip",
      "description": "Cycles a word through a list of values with a 3D rolodex card flip while an invisible sizer keeps the line width and baseline stable.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/rolodex-flip/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/rolodex-flip.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "value-swap",
      "title": "Value Swap",
      "description": "Swaps a value in place with a vertical slide — the old value exits up as the new one enters from below while an invisible sizer keeps the width stable.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/value-swap/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/value-swap.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "chat-to-preview-layout",
      "title": "Chat to Preview Layout",
      "description": "Two-column layout where chat shrinks and preview expands.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/chat-to-preview-layout/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/chat-to-preview-layout.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "animated-line-chart",
      "title": "Animated Line Chart",
      "description": "Line chart whose SVG path draws on from left to right with a leading dot.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/animated-line-chart/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/animated-line-chart.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "animated-bar-chart",
      "title": "Animated Bar Chart",
      "description": "Bars spring up from the baseline in a staggered cascade.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/animated-bar-chart/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/animated-bar-chart.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "terminal-simulator",
      "title": "Terminal Simulator",
      "description": "Terminal window that types out commands and rolls old lines off the top.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/terminal-simulator/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/terminal-simulator.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "terminal-cursor-zoom",
      "title": "Terminal Cursor Zoom",
      "description": "Camera locked to the typing cursor, dollying across a terminal as a command types at high zoom.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/terminal-simulator"],
      "files": [
        {
          "path": "registry/remocn/terminal-cursor-zoom/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/terminal-cursor-zoom.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "glass-code-block",
      "title": "Glass Code Block",
      "description": "A premium frosted-glass code editor window with a regex tokenizer and line-by-line stagger reveal.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/glass-code-block/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/glass-code-block.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "glass-code-walk",
      "title": "Glass Code Walk",
      "description": "A camera that scans a glass code block top to bottom as it types, then pulls back to a centered hold.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/glass-code-block"],
      "files": [
        {
          "path": "registry/remocn/glass-code-walk/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/glass-code-walk.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "perspective-marquee",
      "title": "Perspective Marquee",
      "description": "A 3D-tilted infinite marquee with depth-of-field blur on items rolling toward the horizon.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/perspective-marquee/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/perspective-marquee.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "perspective-squeeze",
      "title": "Perspective Squeeze",
      "description": "Two lines of heavy type endlessly trade height while corner-pinned perspective bends the flat stack into receding planes.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/perspective-squeeze/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/perspective-squeeze.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "ecosystem-constellation",
      "title": "Ecosystem Constellation",
      "description": "A central logo orbited by integration satellites with pulsing data lines.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/ecosystem-constellation/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ecosystem-constellation.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "live-code-compilation",
      "title": "Live Code Compilation",
      "description": "Split-screen where typed code on the left snaps a live UI preview on the right, HMR-style.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/live-code-compilation/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/live-code-compilation.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "infinite-bento-pan",
      "title": "Infinite Bento Pan",
      "description": "A camera diagonally drifts across an oversized bento grid behind a soft vignette.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/infinite-bento-pan/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/infinite-bento-pan.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "github-sponsors",
      "title": "GitHub Sponsors",
      "description": "Self-drawing Sponsors heart that docks to a header, every sponsor avatar blur-staggering into a grid, then a thank-you headline and a CTA. Single seek-safe timeline, 270 frames at 30fps.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/soft-blur-in", "@remocn/blur-out-up"],
      "files": [
        {
          "path": "registry/remocn/github-sponsors/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/github-sponsors.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "github-stars",
      "title": "GitHub Stars",
      "description": "Inertial fly-through of a repo's stargazers with a synced count-up odometer that locks on the total. Horizontal 16:9 or vertical 9:16.",
      "dependencies": ["remotion", "date-fns", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/number-wheel"],
      "files": [
        {
          "path": "registry/remocn/github-stars/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/github-stars.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "number-wheel",
      "title": "Number Wheel",
      "description": "Mechanical odometer that rolls an integer up or down to its target, direction inferred from the values.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "files": [
        {
          "path": "registry/remocn/number-wheel/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/number-wheel.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "rolling-number",
      "title": "Rolling Number",
      "description": "Odometer where every place rolls at its own speed, new places rising into view, settling exactly on the target value.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "files": [
        {
          "path": "registry/remocn/rolling-number/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/rolling-number.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "x-follow-card",
      "title": "X Follow Card",
      "description": "Animated X profile follow card — spring bounce-in, staggered blur-in, a synthetic cursor that clicks Follow and flips it to Following. Light/dark, horizontal or vertical.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/cursor"],
      "files": [
        {
          "path": "registry/remocn/x-follow-card/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/x-follow-card.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "x-followers-overview",
      "title": "X Followers Overview",
      "description": "X follow notifications cycle through as 3D flipping text — '<name> followed you · 7h' — then the total follower count pops in with a confetti burst. Hardcoded sample list (X API ready). Light/dark, horizontal or vertical.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/confetti"],
      "files": [
        {
          "path": "registry/remocn/x-followers-overview/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/x-followers-overview.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "claude-chat",
      "title": "Claude Chat",
      "description": "Animated Claude chat input — types a prompt character-by-character and the waveform button morphs into a terracotta send button the moment text appears. Warm light/dark themes.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/caret", "@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn/claude-chat/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/claude-chat.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "chat-gpt",
      "title": "ChatGPT",
      "description": "Animated ChatGPT composer — types a prompt into the pill input, the blue voice button morphs into a send button, and the suggestion chips fade out. Light/dark themes.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/caret", "@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn/chat-gpt/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/chat-gpt.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "v0",
      "title": "v0",
      "description": "Animated Vercel v0 composer — types a prompt into the dark textarea and the mic button morphs into a send button. Dark/light themes.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/caret", "@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn/v0/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/v0.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "claude-code",
      "title": "Claude Code",
      "description": "Animated Claude Code CLI welcome screen — terminal window with a dashed welcome box, recent activity and what's new panels, and a prompt line that types a command with a block cursor. Dark/light themes.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/caret", "@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn/claude-code/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/claude-code.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "opencode",
      "title": "OpenCode",
      "description": "Animated OpenCode TUI welcome screen — two-tone wordmark, an input box with a blue accent bar that types a query, a model status line, and command hints. Dark/light themes.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/caret", "@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn/opencode/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/opencode.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "chromatic-wave",
      "title": "Chromatic Wave",
      "description": "A soft wave travels down through the type; where it crosses, the letters ripple and split into RGB fringes.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/chromatic-wave/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/chromatic-wave.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "radial-burst",
      "title": "Radial Burst",
      "description": "Sculptural ribbons twist into a tilted ring and sweep outward through contour echoes for an expressive product introduction.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/radial-burst/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/radial-burst.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "confetti",
      "title": "Confetti",
      "description": "Deterministic confetti burst for Remotion — seeded particles with gravity, spin, and flutter so every render is identical. Fire it on any frame as a celebratory overlay.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/confetti/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/confetti.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "backdrop",
      "title": "Backdrop",
      "description": "Configurable full-frame background (color / gradient / image / live component) with Screen Studio-style padding and a rounded, shadowed content frame.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/backdrop/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/backdrop.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "drift",
      "title": "Drift",
      "description": "A slow linear camera push-in wrapper that scales its scene from 1 to 1+grow across the sequence so no frame is ever static.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/drift/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/drift.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "stage",
      "title": "Stage",
      "description": "Place a screenshot, recording, or long page on a perspective studio plane and direct an integrated camera across it with timeline keyframes.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/scene-motion"],
      "files": [
        {
          "path": "registry/remocn/stage/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/stage.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "logo-enter",
      "title": "Logo Enter",
      "description": "A stacked group of round brand chips that spring in one-by-one, then hold. Swap the logos to feature any set of marks. Horizontal or vertical stacking.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/logo-enter/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/logo-enter.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "handwrite",
      "title": "Handwrite",
      "description": "Handwritten text laid down letter by letter on a quantized stop-motion clock, each glyph keeping its own slant and baseline wobble.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/stop-motion"],
      "files": [
        {
          "path": "registry/remocn/handwrite/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/handwrite.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "ink-underline",
      "title": "Ink Underline",
      "description": "A hand-dragged brush underline that sweeps itself across in a few stop-motion poses, thinning to a dry tail.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion", "@remocn/brush"],
      "files": [
        {
          "path": "registry/remocn/ink-underline/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ink-underline.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "paper-wobble",
      "title": "Paper Wobble",
      "description": "Per-pose reshoot jitter that makes any content feel hand-placed on a desk.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion"],
      "files": [
        {
          "path": "registry/remocn/paper-wobble/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/paper-wobble.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "ink-arrow",
      "title": "Ink Arrow",
      "description": "A hand-drawn brush arrow that sweeps itself from one point to another, thickening into the head that pops on the final poses.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion", "@remocn/brush"],
      "files": [
        {
          "path": "registry/remocn/ink-arrow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ink-arrow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "paper-sticker",
      "title": "Paper Sticker",
      "description": "A taped paper chip that slaps onto the scene over two stop-motion poses, keeping a hand-placed tilt and per-pose wobble.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion"],
      "files": [
        {
          "path": "registry/remocn/paper-sticker/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/paper-sticker.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "polaroid",
      "title": "Polaroid",
      "description": "An instant-photo frame with a handwritten caption for video, images, or live compositions.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion", "@remocn/handwrite"],
      "files": [
        {
          "path": "registry/remocn/polaroid/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/polaroid.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "hand-count",
      "title": "Hand Count",
      "description": "A number that counts up in stop-motion poses, rewritten by hand at every pose and freezing still once it lands.",
      "dependencies": ["remotion", "@remotion/google-fonts"],
      "registryDependencies": ["@remocn/stop-motion"],
      "files": [
        {
          "path": "registry/remocn/hand-count/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/hand-count.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "brush",
      "title": "Brush",
      "description": "Variable-width brush ribbons for Remotion. Pressure taper, grain displacement, and spine samplers shared by the ink marks.",
      "registryDependencies": ["@remocn/stop-motion"],
      "files": [
        {
          "path": "registry/remocn/brush/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/brush.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "crumple-toss",
      "title": "Crumple Toss",
      "description": "Crushes an element into a ball of paper and throws it out of frame on an arc, leaving the scene around it running.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion"],
      "files": [
        {
          "path": "registry/remocn/crumple-toss/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/crumple-toss.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "scribble-circle",
      "title": "Scribble Circle",
      "description": "A brush circle swept around a region of the frame, opening thin and closing thick, with grain breaking up the dry opening.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion", "@remocn/brush"],
      "files": [
        {
          "path": "registry/remocn/scribble-circle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/scribble-circle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "check-list",
      "title": "Check List",
      "description": "A handwritten checklist that writes itself out in full, then ticks and strikes through every done item, one at a time.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/stop-motion", "@remocn/handwrite"],
      "files": [
        {
          "path": "registry/remocn/check-list/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/check-list.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "page-turn",
      "title": "Page Turn",
      "description": "The exiting scene swings up and away like a notebook page in stop-motion poses, staying above the scene it reveals.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/page-turn/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/page-turn.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "stop-motion",
      "title": "Stop Motion Clock",
      "description": "Quantized stop-motion clock for Remotion. Stepped frames, stepped springs, deterministic hashing, and per-pose paper jitter.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/stop-motion/index.ts",
          "type": "registry:lib",
          "target": "lib/remocn/stop-motion.ts"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "ascii-dissolve",
      "title": "ASCII Dissolve",
      "description": "Dissolve one scene into the next through a drifting field of ASCII glyphs.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/ascii-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ascii-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "caret-wipe",
      "title": "Caret Wipe",
      "description": "Sweep a typing caret across the frame, wiping the outgoing scene into the next.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/caret-wipe/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/caret-wipe.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-scatter",
      "title": "Icon Scatter",
      "description": "Scatter a field of icons over the cut, hiding the scene swap at the field's peak.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/icon-scatter/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-scatter.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-caustics",
      "title": "Shader Caustics",
      "description": "A field of refracted light — the bright filaments light makes through a rippling surface.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shader-caustics/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-caustics.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-gem-smoke",
      "title": "Shader Gem Smoke",
      "description": "Paper's Gem Smoke shader driven by the frame — smoke flowing behind and inside a glassy logo.",
      "dependencies": ["@paper-design/shaders-react"],
      "files": [
        {
          "path": "registry/remocn/shader-gem-smoke/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-gem-smoke.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-strata",
      "title": "Shader Strata",
      "description": "Fine horizontal sediment layers displaced by fbm noise, each drifting at its own depth.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shader-strata/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-strata.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-weave",
      "title": "Shader Weave",
      "description": "A woven substrate of warp and weft threads crossing on a domain-warped grid, with a travelling sheen.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shader-weave/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-weave.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "reel",
      "title": "Reel",
      "description": "A fixed centered card where images stack on the z-axis and each blooms open over the last via a centre-out mask.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/reel/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/reel.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "scene-motion",
      "title": "Scene Motion",
      "description": "The motion vocabulary scene content is built from: an exponential travel curve, a separate opacity ramp, three spring easings, and a compressing stagger.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/scene-motion/index.ts",
          "type": "registry:lib",
          "target": "lib/remocn/scene-motion.ts"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "slide-swap",
      "title": "Slide Swap",
      "description": "A scene sequencer where the outgoing content is shoved off on an accelerating curve and the next springs in from the opposite edge, on one canvas, with no overlap.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/slide-swap/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/slide-swap.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "spring-settle",
      "title": "Spring Settle",
      "description": "A scene sequencer where the outgoing scene shrinks away as one group, the stage holds empty for a beat, and the next scene's items land staggered from above-1 scale.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/scene-motion"],
      "files": [
        {
          "path": "registry/remocn/spring-settle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/spring-settle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "canvas-presentation",
      "title": "Canvas Presentation",
      "description": "The html-in-canvas scaffolding the canvas transitions and scene filters share: support detection, a full-screen WebGL2 shader fed either both sides of a cut or the single scene a filter wraps, and routing to a CSS fallback where the browser lacks the API.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/canvas-presentation/index.tsx",
          "type": "registry:lib",
          "target": "lib/remocn/canvas-presentation.tsx"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "ember-burn",
      "title": "Ember Burn",
      "description": "The outgoing frame catches fire where it is brightest, boils in the heat, chars at the rim, and blows away as sparks carrying its own colour.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/ember-burn/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ember-burn.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "displacement",
      "title": "Displacement",
      "description": "The frame breaks into a grid of cells that shear apart into offset, colour-fringed tiles under film grain, then settle back carrying the next scene.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/displacement/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/displacement.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "hologram",
      "title": "Hologram",
      "description": "Play a scene as a projection: a ghost double shimmers off the image, emission lines structure it, and only what is bright enough carries through the dark volume it hangs in.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/hologram/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/hologram.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "security-cam",
      "title": "Security Cam",
      "description": "Run a scene through a cheap recorder: macroblocks flatten under a starved bitrate, colour resolution collapses to half the luma, blacks crush and shadows crawl with sensor noise.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/security-cam/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/security-cam.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "tv-power-off",
      "title": "TV Power Off",
      "description": "End a scene the way a tube does: the picture collapses into a glowing horizontal line, the line pinches to a phosphor dot, the dot decays, and the frame is left dead black.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/tv-power-off/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/tv-power-off.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "camera-lens",
      "title": "Camera Lens",
      "description": "Put a scene behind real glass: resolution falls off toward the corners, highlights bloom through the optics, colour fringes at the edges — a screencast that reads as filmed rather than rendered.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/camera-lens/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/camera-lens.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "underwater-ripple",
      "title": "Underwater Ripple",
      "description": "Hold a scene under moving water: every pixel is read through a layered refraction field that closes on a whole number of cycles, with colour fringing where the water bends hardest.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/underwater-ripple/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/underwater-ripple.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "halftone-print",
      "title": "Halftone Print",
      "description": "Print a scene onto paper: each colour separates onto its own rotated screen of dots sized by the ink under them, slightly out of register the way a real press runs.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/halftone-print/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/halftone-print.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "ascii-render",
      "title": "ASCII Render",
      "description": "Redraw a live scene as ASCII: the frame divides into glyph cells and each one becomes the character matching the brightness of the picture inside it.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/ascii-render/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ascii-render.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "pixelate-region",
      "title": "Pixelate Region",
      "description": "Cover rectangles of a scene with an opaque mosaic while the rest passes through untouched — redact keys, addresses and personal data before a demo goes out.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/pixelate-region/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/pixelate-region.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "sustained-glitch",
      "title": "Sustained Glitch",
      "description": "Broadcast corruption held over a scene in scheduled bursts: slices tear sideways, channels split, and blocks fill with picture pulled from somewhere else — then the frame rests clean until the next hit.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/sustained-glitch/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/sustained-glitch.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "crt-screen",
      "title": "CRT Screen",
      "description": "Put a scene behind curved glass: the picture bulges out to the corners, an RGB phosphor mask and scanlines ride the curve, bright areas flood the mask, and the tube falls away into darkness at the rim.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/crt-screen/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/crt-screen.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "vhs-filter",
      "title": "VHS Filter",
      "description": "Hold a scene under analog tape: chroma bleeds sideways off every edge, rows wobble out of line, the bottom of the frame tears on the head switch, and luma noise settles over all of it.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/vhs-filter/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/vhs-filter.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "grid-wave",
      "title": "Grid Wave",
      "description": "A wave travels across the frame raising the picture into a grid of solid blocks with lit tops and shaded sides, which set back down carrying the next scene.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/grid-wave/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/grid-wave.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "particle-dissolve",
      "title": "Particle Dissolve",
      "description": "The frame is ground into drifting grey dust whose specks carry real fragments of the picture, and the next scene coalesces back out of the same dust.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/particle-dissolve/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/particle-dissolve.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "glitch-cut",
      "title": "Glitch Cut",
      "description": "A broadcast-glitch hard cut: the frame tears into displaced slices with channel split and corrupted blocks, and the incoming scene takes over slice by slice at the peak.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/canvas-presentation"],
      "files": [
        {
          "path": "registry/remocn/glitch-cut/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/glitch-cut.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "search-reveal",
      "title": "Search Reveal",
      "description": "Expanding construction circles snap into a search pill, type editable text, and reveal an abstract graphic panel.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/search-reveal/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/search-reveal.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "cursor-gravity",
      "title": "Cursor Gravity",
      "description": "A rounded triangular cursor tugs a button out of the screen edge with pulsed elastic resistance.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/cursor-gravity/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/cursor-gravity.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "type-fossil",
      "title": "Type Fossil",
      "description": "A readable word carries layers of fine contours, revises itself, then compresses into a clean typographic imprint.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/type-fossil/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/type-fossil.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-seam",
      "title": "Shader Seam",
      "description": "Dissolve a stationary OpenShaders material to uncover the next scene.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "files": [
        {
          "path": "registry/remocn/shader-seam/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-seam.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-text-reveal",
      "title": "Shader Text Reveal",
      "description": "Reveal words through the original OpenShaders hero shader, then settle into white type.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shader-text-reveal/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-text-reveal.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "inline-word-roll",
      "title": "Inline Word Roll",
      "description": "Roll through words beside a fixed prefix with accelerating timing and smoothly centered width.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/inline-word-roll/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/inline-word-roll.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-light-tunnel",
      "title": "Light Tunnel",
      "description": "Fly straight through a tunnel made from the original OpenShaders hero shader.",
      "dependencies": ["remotion"],
      "files": [
        {
          "path": "registry/remocn/shader-light-tunnel/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-light-tunnel.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "shader-spiral-pass",
      "title": "Shader Spiral Pass",
      "description": "Accelerate into the hero spiral and emerge through its soft center into the next scene.",
      "dependencies": ["remotion", "@remotion/transitions"],
      "registryDependencies": ["@remocn/shader-light-tunnel"],
      "files": [
        {
          "path": "registry/remocn/shader-spiral-pass/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/shader-spiral-pass.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "remocn-ui",
      "title": "remocn UI Core",
      "description": "Shared timeline-fold hook, theme context, and color math for remocn UI primitives.",
      "dependencies": ["remotion", "culori"],
      "files": [
        {
          "path": "registry/remocn-ui/core/timeline.ts",
          "type": "registry:lib",
          "target": "lib/remocn-ui/timeline.ts"
        },
        {
          "path": "registry/remocn-ui/core/theme.ts",
          "type": "registry:lib",
          "target": "lib/remocn-ui/theme.ts"
        },
        {
          "path": "registry/remocn-ui/core/color.ts",
          "type": "registry:lib",
          "target": "lib/remocn-ui/color.ts"
        },
        {
          "path": "registry/remocn-ui/core/motion.ts",
          "type": "registry:lib",
          "target": "lib/remocn-ui/motion.ts"
        },
        {
          "path": "registry/remocn-ui/core/types.ts",
          "type": "registry:lib",
          "target": "lib/remocn-ui/types.ts"
        },
        {
          "path": "registry/remocn-ui/core/index.ts",
          "type": "registry:lib",
          "target": "lib/remocn-ui/index.ts"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "spinner",
      "title": "UI Spinner",
      "description": "A deterministic spinning arc that loops on the Remotion frame — a pure motion atom with no state.",
      "dependencies": ["remotion"],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/remocn-ui/spinner/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/spinner.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "caret",
      "title": "UI Caret",
      "description": "A blinking text caret — a controlled vertical bar, or a pure motion atom that blinks deterministically from useCurrentFrame.",
      "dependencies": ["remotion"],
      "registryDependencies": [],
      "files": [
        {
          "path": "registry/remocn-ui/caret/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/caret.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "button",
      "title": "UI Button",
      "description": "A button whose idle/hover/press/loading/success state is a pure function of the timeline; the loading state composes the Spinner motion atom.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui", "@remocn/spinner"],
      "files": [
        {
          "path": "registry/remocn-ui/button/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/button.tsx"
        },
        {
          "path": "registry/remocn-ui/button/use-button-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-button-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "accordion",
      "title": "UI Accordion",
      "description": "A disclosure whose opened/closed state is a pure function of the timeline; the panel reveal, chevron, and background are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/accordion/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/accordion.tsx"
        },
        {
          "path": "registry/remocn-ui/accordion/use-accordion-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-accordion-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "alert-dialog",
      "title": "UI Alert Dialog",
      "description": "A modal alert dialog whose opened/closed state is a pure function of the timeline; the backdrop dim and popup zoom are keyframed presets. Self-contained — pair it with the Button as a trigger (see the example).",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/alert-dialog/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/alert-dialog.tsx"
        },
        {
          "path": "registry/remocn-ui/alert-dialog/use-alert-dialog-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-alert-dialog-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "dialog",
      "title": "UI Dialog",
      "description": "A modal dialog whose opened/closed state is a pure function of the timeline; the backdrop dim and popup zoom are keyframed presets, with a close button and a primary action. Self-contained — pair it with the Button as a trigger (see the example).",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/dialog/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/dialog.tsx"
        },
        {
          "path": "registry/remocn-ui/dialog/use-dialog-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-dialog-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "sheet",
      "title": "UI Sheet",
      "description": "A side panel whose opened/closed state is a pure function of the timeline; the backdrop dim and right-edge slide-in are keyframed presets, with a close button and a primary action. Self-contained — pair it with the Button as a trigger (see the example).",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/sheet/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/sheet.tsx"
        },
        {
          "path": "registry/remocn-ui/sheet/use-sheet-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-sheet-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "drawer",
      "title": "UI Drawer",
      "description": "A bottom panel whose opened/closed state is a pure function of the timeline; the backdrop dim and bottom-edge slide-up are keyframed presets, with a drag handle and a primary action. Self-contained — pair it with the Button as a trigger (see the example).",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/drawer/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/drawer.tsx"
        },
        {
          "path": "registry/remocn-ui/drawer/use-drawer-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-drawer-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "checkbox",
      "title": "UI Checkbox",
      "description": "A checkbox whose checked/unchecked state is a pure function of the timeline; the box fill, border, and checkmark draw are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/checkbox/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/checkbox.tsx"
        },
        {
          "path": "registry/remocn-ui/checkbox/use-checkbox-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-checkbox-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "radio",
      "title": "UI Radio",
      "description": "A radio whose checked/unchecked state is a pure function of the timeline; the ring border and inner dot pop are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/radio/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/radio.tsx"
        },
        {
          "path": "registry/remocn-ui/radio/use-radio-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-radio-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "switch",
      "title": "UI Switch",
      "description": "A switch whose checked/unchecked state is a pure function of the timeline; the track fill and sliding thumb are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/switch/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/switch.tsx"
        },
        {
          "path": "registry/remocn-ui/switch/use-switch-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-switch-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "input",
      "title": "UI Input",
      "description": "A text input whose idle/hover/active/typing/invalid state is a pure function of the timeline; the focus ring, border, caret, and value reveal are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui", "@remocn/caret"],
      "files": [
        {
          "path": "registry/remocn-ui/input/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/input.tsx"
        },
        {
          "path": "registry/remocn-ui/input/use-input-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-input-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "blur-in",
      "title": "UI Blur In",
      "description": "A wrapper that reveals a single child with blur + opacity + a directional offset; a pure state atom, theme-independent — its context is a motion config (blur/distance/axis), not a theme.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/blur-in/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/blur-in.tsx"
        },
        {
          "path": "registry/remocn-ui/blur-in/use-blur-in-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-blur-in-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "field",
      "title": "UI Field",
      "description": "A static layout family for composing labeled form controls, modeled on shadcn's Field: FieldGroup ▸ Field ▸ FieldLabel / FieldControl / FieldDescription. Reads no frame and holds no state — colors come from the resolved theme. FieldControl is a relative fixed-height slot for the absolute remocn-ui controls (Input, Button).",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/field/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/field.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "select-item",
      "title": "UI Select Item",
      "description": "A select option row whose idle/hover/press/selected state is a pure function of the timeline; the row background, label color, and check icon are keyframed presets. Composed inside the Select panel.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/select-item/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/select-item.tsx"
        },
        {
          "path": "registry/remocn-ui/select-item/use-select-item-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-select-item-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "select",
      "title": "UI Select",
      "description": "A select whose opened/closed state is a pure function of the timeline; the trigger reuses the Button primitive and the reveal panel composes SelectItem rows. The panel fade, scale, lift, and chevron are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/button",
        "@remocn/select-item"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/select/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/select.tsx"
        },
        {
          "path": "registry/remocn-ui/select/use-select-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-select-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "select-menu",
      "title": "UI Select Menu",
      "description": "A vertical option list where exactly one row is highlighted; the highlight bar and left accent slide smoothly between rows. Fully controlled via selectedIndex/state or useSelectMenuTransition.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/select-menu/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/select-menu.tsx"
        },
        {
          "path": "registry/remocn-ui/select-menu/use-select-menu-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-select-menu-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "dropdown-menu-item",
      "title": "UI Dropdown Menu Item",
      "description": "A dropdown menu action row whose idle/hover/press state is a pure function of the timeline; the row background and label color are keyframed presets. Composed inside the DropdownMenu panel.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/dropdown-menu-item/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/dropdown-menu-item.tsx"
        },
        {
          "path": "registry/remocn-ui/dropdown-menu-item/use-dropdown-menu-item-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-dropdown-menu-item-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "tabs",
      "title": "UI Tabs",
      "description": "A tabs widget whose active-tab state is a pure function of the timeline; the sliding indicator, label colors, and panel crossfade are keyframed/derived presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/tabs/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/tabs.tsx"
        },
        {
          "path": "registry/remocn-ui/tabs/use-tabs-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-tabs-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "dropdown-menu",
      "title": "UI Dropdown Menu",
      "description": "A dropdown menu whose opened/closed state is a pure function of the timeline; the trigger reuses the Button primitive and the reveal panel composes DropdownMenuItem rows. The panel fade, scale, lift, and chevron are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/button",
        "@remocn/dropdown-menu-item"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/dropdown-menu/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/dropdown-menu.tsx"
        },
        {
          "path": "registry/remocn-ui/dropdown-menu/use-dropdown-menu-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-dropdown-menu-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "cursor",
      "title": "UI Cursor",
      "description": "An animated cursor that moves between waypoints, clicks (ripple), and drags. The Cursor renderer is a pure function of a numeric CursorStyle channel; useCursorPath reads the frame and eases the path, ripple, and press phases.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/cursor/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/cursor.tsx"
        },
        {
          "path": "registry/remocn-ui/cursor/use-cursor-path.ts",
          "type": "registry:component",
          "target": "components/remocn/use-cursor-path.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "toast",
      "title": "UI Toast",
      "description": "A toast notification whose hidden/visible state is a pure function of the timeline. The Toast renderer is a pure function of a ToastStyle (opacity, translateY, scale); useToastTransition eases both the slide-in enter and the auto-dismiss exit. Variants default/success/error change the leading icon and its color.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/toast/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/toast.tsx"
        },
        {
          "path": "registry/remocn-ui/toast/use-toast-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-toast-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "command-menu-item",
      "title": "UI Command Menu Item",
      "description": "A command-palette row whose idle/hover/press/selected state is a pure function of the timeline. Leading icon + label + trailing shortcut kbd. Exports an inline CommandMenuItemRow (reused by CommandMenu) and a standalone CommandMenuItem atom; the row background, label color, and icon color are keyframed presets.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/command-menu-item/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/command-menu-item.tsx"
        },
        {
          "path": "registry/remocn-ui/command-menu-item/use-command-menu-item-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-command-menu-item-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "command-menu",
      "title": "UI Command Menu",
      "description": "A ⌘K command palette whose opened/closed state is a pure function of the timeline; the panel zoom + backdrop dim are dialog-like keyframed presets. The search row reveals the typed query, the list is filtered by a pure case-insensitive substring on the visible query prefix, and rows reuse the CommandMenuItem row.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/command-menu-item"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/command-menu/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/command-menu.tsx"
        },
        {
          "path": "registry/remocn-ui/command-menu/use-command-menu-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-command-menu-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "tooltip",
      "title": "UI Tooltip",
      "description": "A tooltip whose hidden/visible state is a pure function of the timeline. The Tooltip renderer is a pure function of a TooltipStyle (opacity, scale, translate); useTooltipTransition eases both the show and the hide. The static `side` prop sets the enter translate axis and the arrow placement.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/tooltip/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/tooltip.tsx"
        },
        {
          "path": "registry/remocn-ui/tooltip/use-tooltip-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-tooltip-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "progress",
      "title": "UI Progress",
      "description": "A progress bar whose fill is a pure function of a numeric value channel (value-channel deviation). The Progress renderer takes a clamped 0–100 value; useProgressTransition reads the frame and eases the fill between value steps. Muted track + primary indicator, optional floored percentage label.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/progress/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/progress.tsx"
        },
        {
          "path": "registry/remocn-ui/progress/use-progress-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-progress-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "skeleton-block",
      "title": "UI Skeleton Block",
      "description": "A shimmer placeholder block — a motion atom (spinner pattern). A directional highlight gradient sweeps across deterministically from useCurrentFrame() and loops seamlessly. Configurable width/height/radius/speed and base/highlight colors.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/skeleton-block/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/skeleton-block.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "skeleton",
      "title": "UI Skeleton",
      "description": "A skeleton→content crossfade whose loading/loaded state is a pure function of the timeline. The Skeleton renderer is pure (reads no frame); only the composed SkeletonBlock shimmer reads it. SkeletonStyle opacities sum to 1 so the box never dims; real children sit in normal flow and the placeholder (a lines/card layout or a custom node) is an absolute overlay.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui", "@remocn/skeleton-block"],
      "files": [
        {
          "path": "registry/remocn-ui/skeleton/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/skeleton.tsx"
        },
        {
          "path": "registry/remocn-ui/skeleton/use-skeleton-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-skeleton-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "slider",
      "title": "UI Slider",
      "description": "A slider whose fill is a numeric value channel plus a thumb idle/hover/press channel (dual-channel value-channel deviation). The Slider renderer is pure (clamped 0–100 value, thumb scale, grab-ring opacity); useSliderTransition reads the frame and eases both channels — value as a numeric lerp, the thumb visual from its state presets. Muted track + primary range + bordered thumb with a derived grab ring.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/slider/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/slider.tsx"
        },
        {
          "path": "registry/remocn-ui/slider/use-slider-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-slider-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "combobox",
      "title": "UI Combobox",
      "description": "A combobox whose opened/closed state is a pure function of the timeline; the panel fade/scale/lift are keyframed presets like select. The trigger reuses the Input presets (typed query + caret reveal via an injected inputStyle), the list is filtered by a pure case-insensitive substring on the visible query prefix, and rows reuse the SelectItem row.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/input",
        "@remocn/select-item"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/combobox/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/combobox.tsx"
        },
        {
          "path": "registry/remocn-ui/combobox/use-combobox-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-combobox-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "popover",
      "title": "UI Popover",
      "description": "A popover/hover-card whose opened/closed state is a pure function of the timeline. The Popover renderer is a pure function of a PopoverStyle (opacity, scale, translate); usePopoverTransition eases both the open and the close. The static `side` prop sets the enter translate axis; renders title + description and/or arbitrary children in a popover card.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/popover/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/popover.tsx"
        },
        {
          "path": "registry/remocn-ui/popover/use-popover-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-popover-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "context-menu",
      "title": "UI Context Menu",
      "description": "A right-click context menu whose opened/closed state is a pure function of the timeline; the panel scales from its top-left corner (the click point) with a fade + lift. No trigger — the caller positions it. Rows reuse the DropdownMenuItem row; items are plain string labels.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/dropdown-menu-item"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/context-menu/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/context-menu.tsx"
        },
        {
          "path": "registry/remocn-ui/context-menu/use-context-menu-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-context-menu-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "toggle-group",
      "title": "UI Toggle Group",
      "description": "A segmented control whose active value is a pure function of the timeline; a raised thumb SLIDES between segments (position + width derived from a float indicator offset, no jumps) and the labels crossfade color via mixOklch. The tabs precedent without content panels.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/toggle-group/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/toggle-group.tsx"
        },
        {
          "path": "registry/remocn-ui/toggle-group/use-toggle-group-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-toggle-group-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "stepper",
      "title": "UI Stepper",
      "description": "A horizontal onboarding stepper whose progress is a pure function of a continuous step index (value-channel deviation). Every circle (fill, number, stroke-dash check) and connector (primary fill fraction) derives purely from the float position; useStepperTransition reads the frame and eases position between step indices.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/stepper/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/stepper.tsx"
        },
        {
          "path": "registry/remocn-ui/stepper/use-stepper-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-stepper-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "resizable",
      "title": "UI Resizable",
      "description": "Two panels split by a draggable handle, where the split ratio is a numeric channel plus a handle idle/hover/press channel (dual-channel value-channel deviation). The Resizable renderer is pure (clamped 0–1 ratio, handle scale, grab-ring opacity); useResizableTransition reads the frame and eases both channels — ratio as a numeric lerp, the handle visual from its state presets. Horizontal and vertical splits; 1px divider + centered grip pill with a derived grab ring.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/resizable/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/resizable.tsx"
        },
        {
          "path": "registry/remocn-ui/resizable/use-resizable-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-resizable-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "signup-flow",
      "title": "UI Signup Flow",
      "description": "A signup card composition: a real shadcn-style card (header, labeled Full Name / Email / Password / Confirm fields, primary + Google-outline buttons, sign-in footer) whose cursor fills each field top-to-bottom, then clicks Create account (hover → press → loading → success) as a success toast slides in. A pure orchestrator — every channel comes from a composed primitive's transition hook.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/cursor",
        "@remocn/input",
        "@remocn/button",
        "@remocn/toast",
        "@remocn/field",
        "@remocn/blur-in"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/signup-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/signup-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "ai-prompt-flow",
      "title": "UI AI Prompt Flow",
      "description": "An AI prompt composition: a prompt types into the field, the Generate button runs hover → press → loading, a skeleton shimmer reveals, then crossfades into the generated answer, and a ready toast slides in. A pure orchestrator — the shimmer is owned by the skeleton-block motion atom; every other channel comes from a composed primitive's hook.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/input",
        "@remocn/button",
        "@remocn/skeleton",
        "@remocn/skeleton-block",
        "@remocn/toast"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/ai-prompt-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/ai-prompt-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "checkout-flow",
      "title": "UI Checkout Flow",
      "description": "A cursor-driven checkout card: the card and its fields blur-in, then the pointer flips a billing-cycle toggle, types a card number, ticks the terms checkbox, and presses Pay through to success, ending in a toast. A pure orchestrator — every channel comes from a composed primitive's transition hook.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/toggle-group",
        "@remocn/input",
        "@remocn/checkbox",
        "@remocn/button",
        "@remocn/field",
        "@remocn/blur-in",
        "@remocn/cursor",
        "@remocn/toast"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/checkout-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/checkout-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "onboarding-stepper-flow",
      "title": "UI Onboarding Stepper Flow",
      "description": "A multi-step onboarding composition: a horizontal stepper advances through panels of input, radio, and switch fields, finishing on a Finish button that runs to success. Panel crossfade derives linearly from the stepper's exposed position channel; every other channel comes from a composed primitive's hook.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/stepper",
        "@remocn/input",
        "@remocn/radio",
        "@remocn/switch",
        "@remocn/button"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/onboarding-stepper-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/onboarding-stepper-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "settings-toggle-flow",
      "title": "UI Settings Toggle Flow",
      "description": "A two-column settings card: the card and its controls blur-in, then the cursor flips a switch, opens a select, drags a labeled slider, and clicks Save, ending in a saved toast. A pure orchestrator — every channel comes from a composed primitive's transition hook.",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/switch",
        "@remocn/select",
        "@remocn/slider",
        "@remocn/button",
        "@remocn/blur-in",
        "@remocn/cursor",
        "@remocn/toast"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/settings-toggle-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/settings-toggle-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "message-bubble",
      "title": "UI Message Bubble",
      "description": "A chat message bubble whose hidden/visible state is a pure function of the timeline. The renderer is a pure function of a MessageBubbleStyle (opacity, translateY, scale); useMessageBubbleTransition eases the rise-in enter. The incoming/outgoing variant resolves bubble color and alignment from the theme, and an optional reaction badge pops in on its own channel.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/message-bubble/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/message-bubble.tsx"
        },
        {
          "path": "registry/remocn-ui/message-bubble/use-message-bubble-transition.ts",
          "type": "registry:component",
          "target": "components/remocn/use-message-bubble-transition.ts"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "typing-indicator",
      "title": "UI Typing Indicator",
      "description": "A continuous typing animation: N dots bounce with a staggered sine wave. A motion atom — it reads the frame and takes color, size, gap, and speed props, defaulting to currentColor so it inherits the bubble it sits in.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui"],
      "files": [
        {
          "path": "registry/remocn-ui/typing-indicator/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/typing-indicator.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "chat-flow",
      "title": "UI Chat Flow",
      "description": "A messaging composition: an outgoing message types into the composer, the send button presses, and the bubble rises in; the other side shows a typing indicator that swaps into the reply, and reactions pop in. A pure orchestrator — every channel comes from a composed primitive's hook (Input, MessageBubble, TypingIndicator).",
      "dependencies": ["remotion"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/caret",
        "@remocn/message-bubble",
        "@remocn/typing-indicator"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/chat-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/chat-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "telegram-chat-flow",
      "title": "UI Telegram Chat Flow",
      "description": "A Telegram-styled messaging composition: tailed bubbles (white incoming, blue outgoing) with in-bubble timestamps and delivery checks, a header that flips to 'typing…' while the other side replies, reaction chips, and a Telegram composer that types the outgoing message before sending. Self-contained — it owns its timeline and only composes the caret primitive.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/remocn-ui", "@remocn/caret"],
      "files": [
        {
          "path": "registry/remocn-ui/telegram-chat-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/telegram-chat-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "imessage-chat-flow",
      "title": "UI iMessage Chat Flow",
      "description": "An iMessage-styled messaging composition: gray incoming and blue outgoing bubbles with tails, an in-thread typing bubble with dots, a Delivered label, and tapback-style reaction badges. The composer types the outgoing message before sending. Chrome icons come from lucide-react; self-contained otherwise, composing the caret and typing-indicator primitives.",
      "dependencies": ["remotion", "lucide-react"],
      "registryDependencies": [
        "@remocn/remocn-ui",
        "@remocn/caret",
        "@remocn/typing-indicator"
      ],
      "files": [
        {
          "path": "registry/remocn-ui/imessage-chat-flow/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/imessage-chat-flow.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icons-core",
      "title": "Icons Core",
      "description": "Shared animation contract, pure frame-to-phase timeline, and SVG path-draw helpers for remocn icons.",
      "dependencies": ["remotion", "@remotion/paths"],
      "files": [
        {
          "path": "registry/remocn-icons/icons-core/index.ts",
          "type": "registry:lib",
          "target": "lib/remocn-icons/index.ts"
        }
      ],
      "type": "registry:lib"
    },
    {
      "name": "icon-check",
      "title": "Check",
      "description": "Animated Lucide check icon — the stroke draws on, then stamps with a spring pop to mark a step, task, or claim as done.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-check/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-check.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-check-circle",
      "title": "Check Circle",
      "description": "Animated Lucide circle-check icon — the ring draws clockwise, the checkmark traces in, then the whole mark pops to confirm a completed or successful state.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-check-circle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-check-circle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-x",
      "title": "X",
      "description": "Animated Lucide x icon — the two diagonals draw in crosswise, then the mark shakes to punctuate an error, removal, or dismissal.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-x/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-x.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-activity",
      "title": "Activity",
      "description": "Animated Lucide activity icon — the pulse line sweeps through like an EKG, popping at the peak. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-activity/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-activity.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-alert-triangle",
      "title": "Alert Triangle",
      "description": "Animated Lucide triangle-alert icon — the outline draws on, the mark pops in, then the exclamation blinks to flag a risk or warning.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-alert-triangle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-alert-triangle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-info",
      "title": "Info",
      "description": "Animated Lucide info icon — the ring draws clockwise, the dot pops and stem draws in, then the dot bobs to draw a gentle, neutral note.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-info/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-info.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-loader",
      "title": "Loader",
      "description": "Animated Lucide loader-circle icon — the arc draws on, then spins continuously for a loading or processing beat. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-loader/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-loader.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-refresh-cw",
      "title": "Refresh Cw",
      "description": "Animated Lucide refresh-cw icon — the two arcs draw on, arrowheads pop, then the whole mark spins in cycles for sync, retry, or up-to-date messaging. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-refresh-cw/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-refresh-cw.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-search",
      "title": "Search",
      "description": "Animated Lucide search icon — the lens draws on, the handle extends, then the magnifier sweeps a small scanning path for a search or discovery beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-search/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-search.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-bell",
      "title": "Bell",
      "description": "Animated Lucide bell icon — the body draws on, the clapper follows, then the bell swings from its mount to signal a notification or alert.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-bell/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-bell.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-download",
      "title": "Download",
      "description": "Animated Lucide download icon — the tray draws on, the arrow fades in, then drops into the tray with a squash on impact for a download or export beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-download/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-download.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-upload",
      "title": "Upload",
      "description": "Animated Lucide upload icon — the tray draws on, the arrow fades in, then launches upward with a spring for an upload, publish, or submission beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-upload/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-upload.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-copy",
      "title": "Copy",
      "description": "Animated Lucide copy icon — the two sheets draw back-to-front, then the front sheet lifts and settles to read as a duplicate for a copy-to-clipboard beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-copy/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-copy.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-settings",
      "title": "Settings",
      "description": "Animated Lucide settings icon — the gear and center draw on, then the gear turns exactly one tooth for a settings, configuration, or customization beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-settings/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-settings.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-trash",
      "title": "Trash",
      "description": "Animated Lucide trash-2 icon — the can draws on, then the lid flips open and the contents vanish for a delete or cleanup beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-trash/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-trash.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-plus",
      "title": "Plus",
      "description": "Animated Lucide plus icon — the two strokes draw on, then the mark twirls 90deg with a scale pop for an energetic add or create beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-plus/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-plus.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-send",
      "title": "Send",
      "description": "Animated Lucide send icon — the paper plane draws on, then darts forward with a wind-up and settles back for a send-message beat.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-send/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-send.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-heart",
      "title": "Heart",
      "description": "Animated Lucide heart icon — the outline draws on, then a lub-dub heartbeat pulse for likes, favorites, or built-with-love moments.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-heart/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-heart.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-star",
      "title": "Star",
      "description": "Animated Lucide star icon — the outline draws on, then twinkles into place with a small rotate and scale pop for ratings, favorites, or star callouts.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-star/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-star.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-thumbs-up",
      "title": "Thumbs Up",
      "description": "Animated Lucide thumbs-up icon — the hand draws on, then springs up with an approving stamp for positive reviews, approvals, or social-proof beats.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-thumbs-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-thumbs-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-party-popper",
      "title": "Party Popper",
      "description": "Animated Lucide party-popper icon — the cone draws on, then confetti bursts outward as the cone recoils for launch, milestone, or celebration finales.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-party-popper/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-party-popper.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-arrow-right",
      "title": "Arrow Right",
      "description": "Animated Lucide arrow-right icon — the shaft and head draw on, then the arrow nudges forward for CTAs, next-step pointers, or flow direction.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-arrow-right/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-arrow-right.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-arrow-left",
      "title": "Arrow Left",
      "description": "Animated Lucide arrow-left icon — the shaft and head draw on, then the arrow nudges back for back navigation or 'previously' callbacks.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-arrow-left/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-arrow-left.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-arrow-up",
      "title": "Arrow Up",
      "description": "Animated Lucide arrow-up icon — the shaft and head draw on, then the arrow nudges up for growth, improvement, or upward-trend beats.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-arrow-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-arrow-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-arrow-down",
      "title": "Arrow Down",
      "description": "Animated Lucide arrow-down icon — the shaft and head draw on, then the arrow nudges down for cost/latency reduction beats or scroll cues.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-arrow-down/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-arrow-down.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-external-link",
      "title": "External Link",
      "description": "Animated Lucide external-link icon — the box and arrow draw on, then the arrow darts out toward the top-right for 'view on GitHub', external docs, or open-in-new-tab beats.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-external-link/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-external-link.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-play",
      "title": "Play",
      "description": "Animated Lucide play icon — the triangle draws on, then presses in and springs forward like a play button being hit.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-play/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-play.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-pause",
      "title": "Pause",
      "description": "Animated Lucide pause icon — the two bars draw on, then pinch toward each other and settle like a held breath.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-pause/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-pause.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-skip-forward",
      "title": "Skip Forward",
      "description": "Animated Lucide skip-forward icon — draws on, then dashes forward past center and snaps against its end bar.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-skip-forward/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-skip-forward.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-volume-2",
      "title": "Volume 2",
      "description": "Animated Lucide volume-2 icon — the speaker draws on, then the two sound waves ripple outward one after the other.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-volume-2/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-volume-2.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-volume-x",
      "title": "Volume X",
      "description": "Animated Lucide volume-x icon — the speaker draws on, then the X slashes in and the glyph shakes off the sound.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-volume-x/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-volume-x.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-mic",
      "title": "Mic",
      "description": "Animated Lucide mic icon — draws on, then the capsule bounces twice like a level meter picking up voice.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-mic/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-mic.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-video",
      "title": "Video",
      "description": "Animated Lucide video icon — draws on, then the lens wedge pans out and snaps back to its shot.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-video/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-video.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-camera",
      "title": "Camera",
      "description": "Animated Lucide camera icon — draws on, then the lens blinks shut and open like a shutter firing.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-camera/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-camera.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-image",
      "title": "Image",
      "description": "Animated Lucide image icon — the frame draws on, then the mountain redraws and the sun drifts into place like a photo developing.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-image/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-image.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-chevron-up",
      "title": "Chevron Up",
      "description": "Animated Lucide chevron-up icon — draws on, then nudges upward with a fading echo.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-chevron-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-chevron-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-chevron-down",
      "title": "Chevron Down",
      "description": "Animated Lucide chevron-down icon — draws on, then nudges downward with a fading echo.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-chevron-down/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-chevron-down.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-chevron-left",
      "title": "Chevron Left",
      "description": "Animated Lucide chevron-left icon — draws on, then nudges left with a fading echo.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-chevron-left/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-chevron-left.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-chevron-right",
      "title": "Chevron Right",
      "description": "Animated Lucide chevron-right icon — draws on, then nudges right with a fading echo.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-chevron-right/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-chevron-right.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-menu",
      "title": "Menu",
      "description": "Animated Lucide menu icon — the three bars slide in from the left, top to bottom, each overshooting into place.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-menu/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-menu.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-more-horizontal",
      "title": "More Horizontal",
      "description": "Animated Lucide more-horizontal icon — three dots pop in, then do a left-to-right thinking wave.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-more-horizontal/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-more-horizontal.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-maximize",
      "title": "Maximize",
      "description": "Animated Lucide maximize icon — four corner brackets draw on, then fly outward and spring back like a window going fullscreen.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-maximize/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-maximize.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-layout-grid",
      "title": "Layout Grid",
      "description": "Animated Lucide layout-grid icon — four tiles draw on, then re-pop into place clockwise like a dashboard assembling.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-layout-grid/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-layout-grid.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-pencil",
      "title": "Pencil",
      "description": "Animated Lucide pencil icon — draws on, then scribbles: the pencil rocks around its tip as if writing.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-pencil/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-pencil.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-share-2",
      "title": "Share 2",
      "description": "Animated Lucide share-2 icon — three nodes draw on, then the connections re-trace and the receiving nodes pop as the share lands.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-share-2/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-share-2.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-filter",
      "title": "Filter",
      "description": "Animated Lucide filter icon — the funnel draws on, then gives two quick shakes as results fall through.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-filter/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-filter.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-eye",
      "title": "Eye",
      "description": "Animated Lucide eye icon — draws on, then blinks once and refocuses its pupil.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-eye/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-eye.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-eye-off",
      "title": "Eye Off",
      "description": "Animated Lucide eye-off icon — the eye fragments draw on, then the slash cuts through and visibility dims.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-eye-off/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-eye-off.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-rocket",
      "title": "Rocket",
      "description": "Animated Lucide rocket icon — draws on, then lifts off: the ship rises on a tilt while the flame re-ignites, then eases back to rest.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-rocket/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-rocket.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-save",
      "title": "Save",
      "description": "Animated Lucide save icon — the disk draws on, then presses down and writes: the label slot re-draws as data commits.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-save/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-save.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-link",
      "title": "Link",
      "description": "Animated Lucide link icon — two chain halves draw on, pull apart, and click together.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-link/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-link.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-bookmark",
      "title": "Bookmark",
      "description": "Animated Lucide bookmark icon — draws on, then drops into place from above with a spring landing.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-bookmark/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-bookmark.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-lock",
      "title": "Lock",
      "description": "Animated Lucide lock icon — the body draws on, then the shackle lifts and slams shut with a confirming pop.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-lock/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-lock.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-key",
      "title": "Key",
      "description": "Animated Lucide key icon — draws on, then turns in an invisible lock and springs back.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-key/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-key.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-log-out",
      "title": "Log Out",
      "description": "Animated Lucide log-out icon — draws on, then the arrow steps out through the door frame with a fading echo.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-log-out/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-log-out.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-mail",
      "title": "Mail",
      "description": "Animated Lucide mail icon — the envelope draws on, then the flap re-traces open and the whole envelope pops: you've got mail.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-mail/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-mail.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-message-circle",
      "title": "Message Circle",
      "description": "Animated Lucide message-circle icon — the bubble draws on, then inflates from its tail like a message arriving.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-message-circle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-message-circle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-phone",
      "title": "Phone",
      "description": "Animated Lucide phone icon — draws on, then rings: three decaying rotation oscillations around center.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-phone/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-phone.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-at-sign",
      "title": "At Sign",
      "description": "Animated Lucide at-sign icon — the inner 'a' draws and pops, then the outer swoosh re-traces its tail: a mention landing.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-at-sign/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-at-sign.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-inbox",
      "title": "Inbox",
      "description": "Animated Lucide inbox icon — the tray draws on, then dips under the weight of an arriving item and springs back.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-inbox/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-inbox.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-shield",
      "title": "Shield",
      "description": "Animated Lucide shield icon — draws on, then braces: a firm guard pulse that asserts protection.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-shield/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-shield.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-help-circle",
      "title": "Help Circle",
      "description": "Animated Lucide help-circle icon — the ring draws on, then the question mark re-draws and tilts like a curious head.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-help-circle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-help-circle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-plus-circle",
      "title": "Plus Circle",
      "description": "Animated Lucide plus-circle icon — the ring draws on, the plus crosses in, then the whole badge pops.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-plus-circle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-plus-circle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-x-circle",
      "title": "X Circle",
      "description": "Animated Lucide x-circle icon — the ring draws on, the X slashes in, and the badge shakes once: firmly rejected.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-x-circle/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-x-circle.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-calendar",
      "title": "Calendar",
      "description": "Animated Lucide calendar icon — the pad draws on, then the binder rings dip and the page snaps into place.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-calendar/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-calendar.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-clock",
      "title": "Clock",
      "description": "Animated Lucide clock icon — the face draws on, then the hands sweep through discrete ticks. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-clock/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-clock.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-timer",
      "title": "Timer",
      "description": "Animated Lucide timer icon — draws on, then the start button clicks and the hand sweeps: the stopwatch is running.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-timer/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-timer.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-home",
      "title": "Home",
      "description": "Animated Lucide home icon — the house draws on, then the door re-draws open and the house settles: welcome home.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-home/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-home.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-folder",
      "title": "Folder",
      "description": "Animated Lucide folder icon — draws on, then the folder tips open for a peek and closes.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-folder/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-folder.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-file-text",
      "title": "File Text",
      "description": "Animated Lucide file-text icon — the page draws on, then the text lines type themselves in, top to bottom.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-file-text/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-file-text.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-code",
      "title": "Code",
      "description": "Animated Lucide code icon — the angle brackets draw on, pull apart, and snap back around their code.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-code/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-code.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-target",
      "title": "Target",
      "description": "Animated Lucide target icon — three rings draw in from outside, then the bullseye hits: inner dot pops and the board shudders.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-target/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-target.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-terminal",
      "title": "Terminal",
      "description": "Animated Lucide terminal icon — draws on, then the prompt nudges forward and the cursor blinks twice.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-terminal/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-terminal.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-database",
      "title": "Database",
      "description": "Animated Lucide database icon — the cylinder draws on, then a write lands: the top disc pops and data settles down the stack.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-database/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-database.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-cloud",
      "title": "Cloud",
      "description": "Animated Lucide cloud icon — draws on, then floats: a weightless bob and a half before settling.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-cloud/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-cloud.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-globe",
      "title": "Globe",
      "description": "Animated Lucide globe icon — draws on, then the meridian sweeps west to east like the world turning. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-globe/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-globe.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-monitor",
      "title": "Monitor",
      "description": "Animated Lucide monitor icon — the stand draws, then the screen powers on with a CRT-style unsquash.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-monitor/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-monitor.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-smartphone",
      "title": "Smartphone",
      "description": "Animated Lucide smartphone icon — draws on, then buzzes: three fast vibration oscillations.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-smartphone/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-smartphone.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-sun",
      "title": "Sun",
      "description": "Animated Lucide sun icon — the core draws on, then eight rays fan out clockwise and the sun swells: sunrise.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-sun/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-sun.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-moon",
      "title": "Moon",
      "description": "Animated Lucide moon icon — draws on, then rocks gently into place: settling in for the night.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-moon/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-moon.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-shopping-cart",
      "title": "Shopping Cart",
      "description": "Animated Lucide shopping-cart icon — draws on, then rolls forward to checkout, wheels popping as it stops.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-shopping-cart/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-shopping-cart.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-credit-card",
      "title": "Credit Card",
      "description": "Animated Lucide credit-card icon — the card draws on, then the stripe swipes through and the card tips: payment accepted.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-credit-card/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-credit-card.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-crown",
      "title": "Crown",
      "description": "Animated Lucide crown icon — descends into place from above, lands with a pop, then rocks regally to rest.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-crown/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-crown.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-dollar-sign",
      "title": "Dollar Sign",
      "description": "Animated Lucide dollar-sign icon — draws on, then the sign stretches tall: understated cha-ching.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-dollar-sign/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-dollar-sign.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-tag",
      "title": "Tag",
      "description": "Animated Lucide tag icon — draws on, then swings from its hole like a price tag flicked by a shopper.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-tag/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-tag.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-package",
      "title": "Package",
      "description": "Animated Lucide package icon — the box draws on, lands with a squash-and-stretch, then the tape seam seals it.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-package/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-package.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-gem",
      "title": "Gem",
      "description": "Animated Lucide gem icon — the stone draws on, then light catches it: facets re-trace in sequence with a flicker and a pop.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-gem/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-gem.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-gift",
      "title": "Gift",
      "description": "Animated Lucide gift icon — draws on, then the lid lifts for a peek and lands with a ribbon pop: almost unwrapped.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-gift/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-gift.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-wallet",
      "title": "Wallet",
      "description": "Animated Lucide wallet icon — draws on, then the wallet thickens with a quiet x-scale: money in.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-wallet/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-wallet.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-award",
      "title": "Award",
      "description": "Animated Lucide award icon — the medal draws on, the ribbon unfurls beneath it, then the medal swings to rest.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-award/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-award.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-bar-chart-3",
      "title": "Bar Chart 3",
      "description": "Animated Lucide bar-chart-3 icon — the axis draws on, then three bars rise left to right with overshoot: the classic growth chart.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-bar-chart-3/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-bar-chart-3.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-trending-down",
      "title": "Trending Down",
      "description": "Animated Lucide trending-down icon — the line descends across, then the arrowhead lands with damped weight.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-trending-down/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-trending-down.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-trending-up",
      "title": "Trending Up",
      "description": "Animated Lucide trending-up icon — the line climbs across, then the arrowhead pops at the peak.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-trending-up/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-trending-up.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-trophy",
      "title": "Trophy",
      "description": "Animated Lucide trophy icon — draws on, then hoists: the cup hops with a pop at the apex while its handles flash in.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-trophy/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-trophy.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-user",
      "title": "User",
      "description": "Animated Lucide user icon — draws on, then gives a small presence nod: head dips as shoulders rise to meet it.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-user/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-user.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-users",
      "title": "Users",
      "description": "Animated Lucide users icon — the front figure draws on and pops, then the second figure slides in from behind: the team assembles.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-users/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-users.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-user-plus",
      "title": "User Plus",
      "description": "Animated Lucide user-plus icon — the figure draws on, then the plus strokes draw in and pop: a new member added.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-user-plus/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-user-plus.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-sparkles",
      "title": "Sparkles",
      "description": "Animated Lucide sparkles icon — the main sparkle draws on, the accents pop, then a looping twinkle for AI, magic, or premium highlights. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-sparkles/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-sparkles.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-zap",
      "title": "Zap",
      "description": "Animated Lucide zap icon — the bolt draws in fast, then flashes with a double blink for speed, performance, or instant-result claims.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-zap/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-zap.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "icon-flame",
      "title": "Flame",
      "description": "Animated Lucide flame icon — the outline draws on, then flickers with a looping scale-and-skew wobble for hot features, trending items, or streaks. Loops by default.",
      "dependencies": ["remotion"],
      "registryDependencies": ["@remocn/icons-core"],
      "files": [
        {
          "path": "registry/remocn-icons/icon-flame/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/icon-flame.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "release-teaser",
      "title": "Release Teaser",
      "description": "A 16-second cinematic release teaser with center-out typography, a procedural dimensional mark, moving edge light, and an independent fictional identity.",
      "dependencies": ["remotion", "@fontsource/inter"],
      "files": [
        {
          "path": "registry/remocn-templates/release-teaser/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/index.tsx"
        },
        {
          "path": "registry/remocn-templates/release-teaser/content.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/content.ts"
        },
        {
          "path": "registry/remocn-templates/release-teaser/motion.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/motion.ts"
        },
        {
          "path": "registry/remocn-templates/release-teaser/geometry.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/geometry.ts"
        },
        {
          "path": "registry/remocn-templates/release-teaser/background.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/background.tsx"
        },
        {
          "path": "registry/remocn-templates/release-teaser/ui.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/ui.tsx"
        },
        {
          "path": "registry/remocn-templates/release-teaser/scenes/statement.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/scenes/statement.tsx"
        },
        {
          "path": "registry/remocn-templates/release-teaser/scenes/closing.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/release-teaser/scenes/closing.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "brand-guidelines",
      "title": "Brand Guidelines",
      "description": "An independent 17.9-second identity film with a geometric mark, sliding palette, kinetic type specimens, and original object photography.",
      "dependencies": ["remotion", "@fontsource/manrope", "@fontsource/inter"],
      "registryDependencies": ["@remocn/caret"],
      "files": [
        {
          "path": "registry/remocn-templates/brand-guidelines/assets.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/assets.ts"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/content.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/content.ts"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/motion.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/motion.ts"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/ui.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/ui.tsx"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/index.tsx"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/scenes/identity.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/scenes/identity.tsx"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/scenes/palette.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/scenes/palette.tsx"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/scenes/typography.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/scenes/typography.tsx"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/scenes/collage.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/scenes/collage.tsx"
        },
        {
          "path": "registry/remocn-templates/brand-guidelines/scenes/closing.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/brand-guidelines/scenes/closing.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "workflow-console",
      "title": "Workflow Console",
      "description": "An independent 46.8-second release automation demo with typed commands, environment diagrams, pipeline metrics, and an original node mark.",
      "dependencies": [
        "remotion",
        "@fontsource/inter",
        "@fontsource/roboto-mono"
      ],
      "registryDependencies": ["@remocn/typed-split-wipe", "@remocn/caret"],
      "files": [
        {
          "path": "registry/remocn-templates/workflow-console/content.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/content.ts"
        },
        {
          "path": "registry/remocn-templates/workflow-console/countries.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/countries.ts"
        },
        {
          "path": "registry/remocn-templates/workflow-console/motion.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/motion.ts"
        },
        {
          "path": "registry/remocn-templates/workflow-console/ui.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/ui.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/index.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/intro.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/intro.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/commands.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/commands.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/terminal.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/terminal.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/geography.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/geography.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/tools.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/tools.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/responses.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/responses.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/titles.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/titles.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/chart.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/chart.tsx"
        },
        {
          "path": "registry/remocn-templates/workflow-console/scenes/mark.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/workflow-console/scenes/mark.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "launch-anything",
      "title": "Product Showcase",
      "description": "An independent 26.7-second editorial product film with forest-green accents, original photography, seven editable demos, and geometric marks.",
      "dependencies": ["remotion", "@fontsource/manrope"],
      "registryDependencies": ["@remocn/shader-text-reveal"],
      "files": [
        {
          "path": "registry/remocn-templates/launch-anything/assets.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/assets.ts"
        },
        {
          "path": "registry/remocn-templates/launch-anything/content.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/content.ts"
        },
        {
          "path": "registry/remocn-templates/launch-anything/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/index.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/motion.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/motion.ts"
        },
        {
          "path": "registry/remocn-templates/launch-anything/screens.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/screens.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/ui.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/ui.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/opening.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/opening.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/action.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/action.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/portal.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/portal.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/showcase.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/showcase.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/proof.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/proof.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/industry.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/industry.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/space.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/space.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/closing.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/closing.tsx"
        },
        {
          "path": "registry/remocn-templates/launch-anything/scenes/action-frame.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/launch-anything/scenes/action-frame.tsx"
        }
      ],
      "type": "registry:component"
    },
    {
      "name": "fomo-limit-orders",
      "title": "Order Flow",
      "description": "An independent 18-second trading-interface demo with fictional market data, graphite and amber styling, an original stepped mark, and editable camera choreography.",
      "dependencies": ["remotion", "@fontsource/manrope"],
      "files": [
        {
          "path": "registry/remocn-templates/fomo-limit-orders/content.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/content.ts"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/index.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/index.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/motion.ts",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/motion.ts"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/scenes/closing.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/scenes/closing.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/scenes/confirmation.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/scenes/confirmation.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/scenes/opening.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/scenes/opening.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/scenes/phone.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/scenes/phone.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/scenes/price.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/scenes/price.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/scenes/slider.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/scenes/slider.tsx"
        },
        {
          "path": "registry/remocn-templates/fomo-limit-orders/ui.tsx",
          "type": "registry:component",
          "target": "components/remocn/templates/fomo-limit-orders/ui.tsx"
        }
      ],
      "type": "registry:component"
    }
  ]
}
