{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "vfx-ui",
  "homepage": "https://vfx-ui.com",
  "items": [
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-eclipse",
      "title": "Hero Eclipse",
      "type": "registry:component",
      "description": "An astronomical instrument in warm copper. Move the pointer to shift the eclipse and rotate its engraved dial.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "pointer",
        "eclipse",
        "astronomy",
        "editorial"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/StudioHeroFrame.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroEclipse.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-contour",
      "title": "Hero Contour",
      "type": "registry:component",
      "description": "A sunlit topographic print. Seed your own landscape and let the paper ridges rise around your pointer.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "pointer",
        "terrain",
        "topography",
        "generative"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/StudioHeroFrame.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroContour.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "footer-vinyl",
      "title": "Footer Vinyl",
      "type": "registry:component",
      "description": "A closing track for your website. A grooved record turns with your pointer, framed by a bold pink sleeve.",
      "categories": [
        "Footers"
      ],
      "tags": [
        "footer",
        "typography",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FooterFrame.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/FooterVinyl.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "astra-field",
      "title": "Astra Field",
      "type": "registry:component",
      "description": "A spiral written in starlight. Cool stellar dust, warm distant suns and a luminous core, suspended in a deep blue field.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "galaxy",
        "particles",
        "stars",
        "hero"
      ],
      "files": [
        {
          "path": "@components/AstraField.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "radiant-dots",
      "title": "Radiant Dots",
      "type": "registry:component",
      "description": "A constellation of light. Each dot emits and occludes, sending soft illumination through a real radiance-cascade field.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "radiance",
        "dots",
        "light",
        "loading"
      ],
      "files": [
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/RadianceEngine.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/RadiantDots.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "footer-tidal",
      "title": "Footer Tidal",
      "type": "registry:component",
      "description": "Copper tidal lines beneath monumental lettering. Move across the footer and reshape the current.",
      "categories": [
        "Footers"
      ],
      "tags": [
        "footer",
        "typography",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FooterFrame.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FooterArtwork.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/FooterTidal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "footer-fold",
      "title": "Footer Fold",
      "type": "registry:component",
      "description": "Your wordmark becomes a hinged paper screen. Each panel turns toward the passing pointer.",
      "categories": [
        "Footers"
      ],
      "tags": [
        "footer",
        "typography",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FooterFrame.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/FooterFold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "footer-phosphor",
      "title": "Footer Phosphor",
      "type": "registry:component",
      "description": "A wordmark made of light. Its cells scatter around your pointer and settle back into place.",
      "categories": [
        "Footers"
      ],
      "tags": [
        "footer",
        "typography",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FooterFrame.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FooterArtwork.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/FooterPhosphor.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "spectral-card",
      "title": "Spectral Card",
      "type": "registry:component",
      "description": "A touch of iridescence. Real content, spatial tilt, and light that follows you.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "card",
        "holographic",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/SpectralCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "kinetic-text",
      "title": "Kinetic Text",
      "type": "registry:component",
      "description": "Letters lift into a soft wave as your cursor passes through.",
      "categories": [
        "Text"
      ],
      "tags": [
        "text",
        "pointer",
        "typography"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/KineticText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "magnetic",
      "title": "Magnetic",
      "type": "registry:component",
      "description": "Give a button, link, or any small piece of content a gentle pull.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "button",
        "pointer",
        "magnetic"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/Magnetic.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "wave-background",
      "title": "Wave Background",
      "type": "registry:component",
      "description": "Three layered sine bands sweeping over a tri-color gradient, rendered fully on the GPU via WebGPU.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "gradient",
        "waves",
        "hero"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/WaveBackground.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "fluid-gradient",
      "title": "Fluid Gradient",
      "type": "registry:component",
      "description": "Domain-warped fBm noise flowing through a curated palette — organic liquid color, zero video.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "fluid",
        "noise"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/FluidGradient.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "aurora",
      "title": "Aurora",
      "type": "registry:component",
      "description": "Polar-light curtains: fBm-perturbed Gaussian bands drifting across a near-black GPU sky.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "aurora",
        "night"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/Aurora.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "starfield",
      "title": "Starfield",
      "type": "registry:component",
      "description": "Hashed star grid with twinkle and slow parallax drift — deep-space depth from one fullscreen pass.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "stars",
        "space"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/Starfield.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "particle-field",
      "title": "Particle Field",
      "type": "registry:component",
      "description": "Procedural cell-hashed particles with drift and size breathing — a living texture, no sprite sheet.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "particles"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/ParticleField.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "glass-card",
      "title": "Glass Card",
      "type": "registry:component",
      "description": "Thick-cut glass over a printed studio scene. Beveled edges split light while the solid tilts toward your pointer.",
      "categories": [
        "Glass"
      ],
      "tags": [
        "glass",
        "optical",
        "refraction"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/OpticalGlass.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/GlassCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "liquid-glass",
      "title": "Liquid Glass",
      "type": "registry:component",
      "description": "A molten glass loop. Travelling waves reshape its silhouette and the image transmitted through it.",
      "categories": [
        "Glass"
      ],
      "tags": [
        "glass",
        "sculpture",
        "liquid"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/OpticalGlass.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/LiquidGlass.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "glass-lens",
      "title": "Glass Lens",
      "type": "registry:component",
      "description": "A biconvex lens: magnification through the center, inversion at the edges, and fine spectral fringes.",
      "categories": [
        "Glass"
      ],
      "tags": [
        "glass",
        "lens",
        "optical"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/OpticalGlass.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/GlassLens.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "black-hole",
      "title": "Black Hole",
      "type": "registry:component",
      "description": "The vgpu optimized-black-hole example as a drop-in component: a baked null-geodesic G-buffer, 4×4 photon-ring AA, animated disk shading, and HDR bloom — a verbatim port of the official pipeline (MIT, Vercel).",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "space",
        "black-hole",
        "ray-tracing",
        "physics"
      ],
      "files": [
        {
          "path": "@components/BlackHole.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "mesh-gradient",
      "title": "Mesh Gradient",
      "type": "registry:component",
      "description": "Voronoi-cell color fields flowing through a curated palette — the classic mesh-gradient look, live on the GPU.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "gradient",
        "voronoi"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/MeshGradient.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "iridescent",
      "title": "Iridescent",
      "type": "registry:component",
      "description": "Thin-film interference colors drifting as silk — cosine-palette holography in a single pass.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "holographic",
        "silk"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/Iridescent.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "vortex",
      "title": "Vortex",
      "type": "registry:component",
      "description": "Spiral galaxy with logarithmic arms, hashed starlight and a breathing core.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "galaxy",
        "spiral"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/Vortex.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "ribbon-field",
      "title": "Ribbon Field",
      "type": "registry:component",
      "description": "Three Gaussian light ribbons drifting over a dot-matrix grid with bloom cores and film grain — WGSL port of ThreeUI's RibbonField (MIT).",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "ribbon",
        "dots",
        "glow"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/RibbonField.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "fiber-flow",
      "title": "Fiber Flow",
      "type": "registry:component",
      "description": "Luminous silk fibers streaming through the dark — a domain-warped fbm ridge field with strands that ebb and flow, pointer parallax and a soft cursor glow. Original vfx-ui design.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "fibers",
        "silk",
        "flow",
        "waves"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/FiberFlow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "light-prism",
      "title": "Light Prism",
      "type": "registry:component",
      "description": "A solid optical prism with internal reflections, spectral caustics and a textured light field. Powered by Vercel’s complete MIT prism pipeline.",
      "categories": [
        "Glass"
      ],
      "tags": [
        "glass",
        "prism",
        "refraction",
        "hero",
        "paper"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/OpticalGlass.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/PrismScene.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/PrismEngine.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/LightPrism.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-fluid",
      "title": "Hero Fluid",
      "type": "registry:component",
      "description": "Drop-in hero: centered headline over a GPU liquid-gradient field with real selectable text and scrim-backed contrast.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "gradient",
        "fluid"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FluidGradient.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroFluid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-aurora",
      "title": "Hero Aurora",
      "type": "registry:component",
      "description": "Drop-in hero: bottom-left copy anchored under full-bleed aurora curtains rendered per-pixel on the GPU.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "aurora",
        "night"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Aurora.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroAurora.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-fiber",
      "title": "Hero Fiber",
      "type": "registry:component",
      "description": "Drop-in hero: top-weighted headline over luminous silk fibers streaming through the dark.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "fibers",
        "silk"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FiberFlow.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroFiber.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-globe",
      "title": "Hero Globe",
      "type": "registry:component",
      "description": "Drop-in split hero: copy on the left, the dot-matrix cobe planet (the globe behind vercel.com) glowing on the right.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "globe",
        "split"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroGlobe.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-mesh",
      "title": "Hero Mesh",
      "type": "registry:component",
      "description": "Drop-in hero: centered headline over a slow Voronoi mesh-gradient field — every frame a different poster.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "gradient",
        "mesh"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/MeshGradient.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroMesh.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-iridescent",
      "title": "Hero Iridescent",
      "type": "registry:component",
      "description": "Drop-in hero: left copy over a holographic thin-film sheen — the premium product-launch look.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "holographic",
        "silk"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Iridescent.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroIridescent.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-vortex",
      "title": "Hero Vortex",
      "type": "registry:component",
      "description": "Drop-in hero: centered headline at the eye of a spiral galaxy with star speckles and trailing arms.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "galaxy",
        "spiral"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Vortex.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroVortex.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-ribbon",
      "title": "Hero Ribbon",
      "type": "registry:component",
      "description": "Drop-in split hero: copy left, three Gaussian light ribbons sweeping the right over a dot-matrix grid.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "ribbon",
        "split"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/RibbonField.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroRibbon.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-particles",
      "title": "Hero Particles",
      "type": "registry:component",
      "description": "Drop-in hero: top-weighted headline with a badge row over a drifting GPU particle field.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "particles"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/ParticleField.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroParticles.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-starfield",
      "title": "Hero Starfield",
      "type": "registry:component",
      "description": "Drop-in hero: bottom-left copy under a twinkling hashed star grid with parallax drift.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "stars",
        "space"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Starfield.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroStarfield.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-black-hole",
      "title": "Hero Black Hole",
      "type": "registry:component",
      "description": "Drop-in hero: left copy beside a ray-traced accretion disk with relativistic beaming and a lensed star field.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "space",
        "black-hole",
        "physics"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/BlackHole.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroBlackHole.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "chroma-flow",
      "title": "Chroma Flow",
      "type": "registry:component",
      "description": "Four-edge liquid color field on a midnight base — the palette sloshes from the edges in whichever direction the cursor sweeps. Original vfx-ui design.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "gradient",
        "chromatic",
        "pointer",
        "hero"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/ChromaFlow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-chroma",
      "title": "Hero Chroma",
      "type": "registry:component",
      "description": "Drop-in hero section: bottom-left copy over a four-edge liquid color field that floods toward the cursor's sweep direction.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "chromatic",
        "gradient",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/ChromaFlow.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroChroma.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-nav",
      "title": "Block Nav",
      "type": "registry:component",
      "description": "Complete navigation bar: brand, desktop links, actions, and an accessible mobile sheet. Sticky variant gains a scrim once the page scrolls.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "navigation",
        "header",
        "menu",
        "mobile"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockNav.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-showcase",
      "title": "Block Showcase",
      "type": "registry:component",
      "description": "Product showcase stage: browser-chrome frame with a replaceable screenshot or video (built-in CSS demo screen by default), headline and actions, with a gentle pointer tilt.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "showcase",
        "product",
        "media",
        "screenshot"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockShowcase.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-feature-grid",
      "title": "Block Feature Grid",
      "type": "registry:component",
      "description": "Feature grid with real hierarchy: one bento feature card with media plus supporting cells. Icons, media, links and copy all replaceable.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "features",
        "bento",
        "grid"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockFeatureGrid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-feature-tabs",
      "title": "Block Feature Tabs",
      "type": "registry:component",
      "description": "Feature tabs where the list, copy and illustration switch together. WAI-ARIA tabs pattern with arrow keys; a scrollable strip above the stage on touch layouts.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "tabs",
        "features",
        "keyboard",
        "interactive"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockFeatureTabs.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-scroll-story",
      "title": "Block Scroll Story",
      "type": "registry:component",
      "description": "Scroll narrative: a sticky scene crossfades as story steps cross the viewport center; on small screens the scene docks above the steps so the story reads end to end.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "scroll",
        "story",
        "sticky",
        "narrative"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockScrollStory.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-process-steps",
      "title": "Block Process Steps",
      "type": "registry:component",
      "description": "Three-to-four step process with numbered badges and a connector line that draws itself in on scroll; vertical timeline on narrow screens, replaceable media per step.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "steps",
        "process",
        "timeline",
        "how-it-works"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockProcessSteps.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-integrations",
      "title": "Block Integrations",
      "type": "registry:component",
      "description": "Integrations hub: your product at the center of two connection rings of rebrandable tool tiles, with an always-available link grid below and on touch layouts.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "integrations",
        "logos",
        "orbit",
        "compatibility"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockIntegrations.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-comparison",
      "title": "Block Comparison",
      "type": "registry:component",
      "description": "Before/after comparison with a draggable reveal handle — keyboard (arrow keys, Home/End), touch and screen readers all work because the handle is a real range input.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "comparison",
        "before-after",
        "slider"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockComparison.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-testimonials",
      "title": "Block Testimonials",
      "type": "registry:component",
      "description": "Testimonials with a featured quote plus a field-note grid. The built-in quotes are fictional and visibly marked — swap in real customers via props and clear the marker.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "testimonials",
        "quotes",
        "social-proof"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockTestimonials.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-pricing",
      "title": "Block Pricing",
      "type": "registry:component",
      "description": "Pricing plans with a working monthly/annual switch: amounts, billing basis and the savings pill all render from data, so the toggle can never lie. No payment backend.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "pricing",
        "plans",
        "billing"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockPricing.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-faq",
      "title": "Block FAQ",
      "type": "registry:component",
      "description": "FAQ accordion with real disclosure semantics: buttons + aria-expanded/controls, arrow-key traversal, CSS grid-rows height animation, long answers with links and lists welcome.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "faq",
        "accordion",
        "keyboard",
        "questions"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockFaq.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-cta",
      "title": "Block CTA",
      "type": "registry:component",
      "description": "Closing call to action: headline, supporting copy, primary and secondary actions and a replaceable brand visual layer — a concentric line artwork by default, any background component or media if you pass one.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "cta",
        "closing",
        "conversion"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockCta.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-launch",
      "title": "Example — Product Launch",
      "type": "registry:component",
      "description": "Complete fictional software launch page (“Orbit” by Lumen Labs): hero, showcase, feature grid, tabs, scroll story, integrations, pricing, testimonials, FAQ, CTA and footer. All copy is demo content.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "example",
        "landing",
        "launch",
        "product"
      ],
      "files": [
        {
          "path": "@components/ExampleLaunch.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "example-studio",
      "title": "Example — Design Studio",
      "type": "registry:component",
      "description": "Complete fictional design-studio page (Atelier North): daylight editorial hero, engagement steps, portfolio showcase, before/after slider, services grid, fixed-fee engagements, testimonials, FAQ and a typographic footer.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "example",
        "portfolio",
        "studio",
        "services"
      ],
      "files": [
        {
          "path": "@components/ExampleStudio.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "ember-drift",
      "title": "Ember Drift",
      "type": "registry:component",
      "description": "Sparks rising from a bed of coals, cooling from gold to red through shimmering heat — two cell-hashed ember layers under an fbm thermal warp.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "embers",
        "fire",
        "sparks"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/EmberDrift.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "caustics-field",
      "title": "Caustics Field",
      "type": "registry:component",
      "description": "Sunlit pool-floor caustics dancing over deep water — a jittered-grid Voronoi net of focused light in three stacked octaves, with drifting silt motes.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "water",
        "caustics",
        "pool"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/CausticsField.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "halo-rings",
      "title": "Halo Rings",
      "type": "registry:component",
      "description": "Concentric light rings breathing outward from a luminous core, each sampled at three radii so the band edges split into spectral fringes like light through a prism.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "rings",
        "light",
        "dispersion"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HaloRings.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "terrain-ridge",
      "title": "Terrain Ridge",
      "type": "registry:component",
      "description": "Layered ridged-fbm mountain silhouettes in parallax drift — ridgelines recede into haze, each scrolling at its own speed, under a low sun that rims the nearest crest.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "mountains",
        "terrain",
        "landscape"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/TerrainRidge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "silk-veil",
      "title": "Silk Veil",
      "type": "registry:component",
      "description": "A draped silk curtain with a sheen band sweeping across it — domain-warped folds shaded anisotropically like cloth-of-gold, with fine weave grain.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "silk",
        "fabric",
        "sheen"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/SilkVeil.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "plasma-sheet",
      "title": "Plasma Sheet",
      "type": "registry:component",
      "description": "Molten color currents folding through each other — two chained domain warps advect and fold the field so colors stir like dense dye, with filament highlights on the fold edges.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "plasma",
        "gradient",
        "flow"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/PlasmaSheet.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "star-tide",
      "title": "Star Tide",
      "type": "registry:component",
      "description": "A field of stars drifting on slow luminous waves — two hashed star grids ride a shared interference field so the whole sky visibly sloshes like a tide.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "stars",
        "waves",
        "space"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/StarTide.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "ink-bloom",
      "title": "Ink Bloom",
      "type": "registry:component",
      "description": "Ink drops blooming and feathering across wet paper — each front is an fbm-perturbed radius, denser at the core and ring-deposited at the edge, paling as it ages. Light paper base.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "ink",
        "paper",
        "sumi-e"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/InkBloom.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "solar-corona",
      "title": "Solar Corona",
      "type": "registry:component",
      "description": "A blazing sun disk crowned with streaming corona light — a limb-darkened photosphere with boiling granulation, red-shifted rim, fbm streamers and long polar plumes over a star field.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "sun",
        "corona",
        "space"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/SolarCorona.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "dust-motes",
      "title": "Dust Motes",
      "type": "registry:component",
      "description": "Dust motes drifting through slanted Tyndall light beams — parallel volumetric shafts whose width and brightness breathe with fbm, over a shadowed room.",
      "categories": [
        "Backgrounds"
      ],
      "tags": [
        "background",
        "dust",
        "beams",
        "attic"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/DustMotes.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-aurora-editorial",
      "title": "Hero Aurora Editorial",
      "type": "registry:component",
      "description": "Drop-in hero: a centered serif masthead — display title, two standfirst lines, dual CTAs — under full-bleed aurora curtains, with a radial scrim holding WCAG AA contrast.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "aurora",
        "editorial",
        "serif"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Aurora.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroAuroraEditorial.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-starfield-split",
      "title": "Hero Starfield Split",
      "type": "registry:component",
      "description": "Drop-in split hero: copy left, a badge wall in frosted chips right, so the twinkling star grid reads as the trust-panel backdrop.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "stars",
        "split",
        "badges"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Starfield.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroStarfieldSplit.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-vortex-centered",
      "title": "Hero Vortex Centered",
      "type": "registry:component",
      "description": "Drop-in hero: the eye-of-the-storm cut — a tighter, slower spiral whose bright core lands exactly behind a short centered headline.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "galaxy",
        "spiral",
        "centered"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/Vortex.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroVortexCentered.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-mesh-bold",
      "title": "Hero Mesh Bold",
      "type": "registry:component",
      "description": "Drop-in hero: the poster cut — one oversized ultra-bold headline shouting over a vivid Voronoi mesh field. Keep the title short; the type is drawn to fill the frame.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "gradient",
        "mesh",
        "poster"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/MeshGradient.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroMeshBold.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-fiber-top",
      "title": "Hero Fiber Top",
      "type": "registry:component",
      "description": "Drop-in hero: a left-set masthead pressed against the top edge while the silk-fiber field streams beneath it — fibers carry the lower two-thirds, the scrim carries the type.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "fibers",
        "silk",
        "studio"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FiberFlow.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroFiberTop.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-chroma-full",
      "title": "Hero Chroma Full",
      "type": "registry:component",
      "description": "Drop-in hero: the full-bleed cut — the four-edge chroma field runs wall to wall with copy anchored bottom-left over the side scrim, a dusk palette by default.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "chromatic",
        "gradient",
        "full-bleed"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/ChromaFlow.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroChromaFull.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-black-hole-cinema",
      "title": "Hero Black Hole Cinema",
      "type": "registry:component",
      "description": "Drop-in hero: the cinema cut — hard letterbox bars top and bottom, the accretion disk framed like a feature film, and your title card centered in the quiet band.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "space",
        "black-hole",
        "cinema"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/BlackHole.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroBlackHoleCinema.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-particles-badge",
      "title": "Hero Particles Badge",
      "type": "registry:component",
      "description": "Drop-in hero: the badge-first cut — trust chips lead the stack at the very top on their own frosted backing, then a centered headline over the drifting particle field.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "particles",
        "badges",
        "community"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/ParticleField.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroParticlesBadge.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-ribbon-left",
      "title": "Hero Ribbon Left",
      "type": "registry:component",
      "description": "Drop-in hero: the mirrored cut — copy left with a vertical eyebrow rail along its edge, three Gaussian light ribbons sweeping the right over a dot-matrix grid.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "ribbon",
        "split",
        "telemetry"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/RibbonField.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroRibbonLeft.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "hero-fluid-minimal",
      "title": "Hero Fluid Minimal",
      "type": "registry:component",
      "description": "Drop-in hero: the minimal cut — one line of copy, one CTA, one liquid gradient. The entire hero for products that can be named in a breath.",
      "categories": [
        "Heroes"
      ],
      "tags": [
        "hero",
        "landing",
        "fluid",
        "minimal",
        "gradient"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/HeroShell.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/FluidGradient.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/HeroFluidMinimal.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "glass-panel",
      "title": "Glass Panel",
      "type": "registry:component",
      "description": "An original ray-marched optical slab built to carry content: beveled edges split light while the solid tilts toward your pointer, and real DOM content rides above it.",
      "categories": [
        "Glass"
      ],
      "tags": [
        "glass",
        "optical",
        "panel",
        "refraction"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/OpticalGlass.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/GlassPanel.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "glass-tile",
      "title": "Glass Tile",
      "type": "registry:component",
      "description": "A wall of glass bricks on the shared optical pipeline: one biconvex lens lives in a layer that travels to the hovered brick and bulges through it — a single renderer, however many bricks.",
      "categories": [
        "Glass"
      ],
      "tags": [
        "glass",
        "tile",
        "lens",
        "wall"
      ],
      "files": [
        {
          "path": "@components/vfx/VfxCanvas.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/color.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/usePointerUniforms.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/vfx/OpticalGlass.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/GlassTile.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "chromatic-text",
      "title": "Chromatic Text",
      "type": "registry:component",
      "description": "The pointer is the prism: letters near the cursor split into red and blue fringes while the rainbow underneath slides with it.",
      "categories": [
        "Text"
      ],
      "tags": [
        "text",
        "pointer",
        "chromatic",
        "prism"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/ChromaticText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "ripple-text",
      "title": "Ripple Text",
      "type": "registry:component",
      "description": "Type you can touch: a click (or tap) drops a ripple that travels outward through the letters, and a resting pointer leaves a soft dimple.",
      "categories": [
        "Text"
      ],
      "tags": [
        "text",
        "ripple",
        "pointer",
        "water"
      ],
      "files": [
        {
          "path": "@components/RippleText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "spectrum-text",
      "title": "Spectrum Text",
      "type": "registry:component",
      "description": "A ribbon of daylight sliding through the words: one spectral gradient flows continuously across the type and leans toward the pointer.",
      "categories": [
        "Text"
      ],
      "tags": [
        "text",
        "gradient",
        "spectrum",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/SpectrumText.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "tilt-card",
      "title": "Tilt Card",
      "type": "registry:component",
      "description": "A porcelain card on a gimbal: the surface tilts in space while a specular highlight tracks the pointer across it.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "card",
        "tilt",
        "pointer",
        "glare"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/TiltCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "pointer-glow",
      "title": "Pointer Glow",
      "type": "registry:component",
      "description": "A handheld light for layouts: the region dims slightly and a warm source follows the pointer, brightening whatever it rests on.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "pointer",
        "glow",
        "light",
        "layout"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/PointerGlow.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "spotlight-card",
      "title": "Spotlight Card",
      "type": "registry:component",
      "description": "A card played under a torch: a soft pool of light rests at the center, then follows the pointer to uncover what is written there.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "card",
        "spotlight",
        "reveal",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/SpotlightCard.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "elastic-hover",
      "title": "Elastic Hover",
      "type": "registry:component",
      "description": "Rubber around whatever you wrap: hovering swells it, pressing squashes it wide, and an under-damped spring snaps it back with a wobble.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "hover",
        "spring",
        "squash",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/ElasticHover.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "magnetic-grid",
      "title": "Magnetic Grid",
      "type": "registry:component",
      "description": "A lattice of iron filings for the cursor: each dot feels the pointer's field, slides and swells as it passes, and settles back when it leaves.",
      "categories": [
        "Interactions"
      ],
      "tags": [
        "grid",
        "dots",
        "magnetic",
        "pointer"
      ],
      "files": [
        {
          "path": "@components/vfx/usePointerMotion.ts",
          "type": "registry:component"
        },
        {
          "path": "@components/MagneticGrid.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-logos",
      "title": "Block Logos",
      "type": "registry:component",
      "description": "Customer logo wall: a hairline grid of brand tiles that sit desaturated until hover. Real marks via logo (img or inline svg) or styled wordmarks — no assets required.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "logos",
        "social-proof",
        "trust",
        "customers"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockLogos.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-stats",
      "title": "Block Stats",
      "type": "registry:component",
      "description": "Stats band where every number counts up from zero on scroll-in, with a settled, screen-reader-friendly final value always present. Prefixes, suffixes and formatting are props.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "stats",
        "numbers",
        "metrics",
        "count-up"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockStats.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-team",
      "title": "Block Team",
      "type": "registry:component",
      "description": "Team grid: cards with an avatar (your image node or an auto-generated initials badge), name, role and profile links. Names can link out.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "team",
        "people",
        "about",
        "grid"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockTeam.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-gallery",
      "title": "Block Gallery",
      "type": "registry:component",
      "description": "Work gallery: a responsive grid of tiles that lift on hover, with an optional lightbox — a real dialog (focus moves in, Escape closes, arrows navigate, Tab stays trapped, focus returns).",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "gallery",
        "portfolio",
        "lightbox",
        "work"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockGallery.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-timeline",
      "title": "Block Timeline",
      "type": "registry:component",
      "description": "Company or product timeline: a vertical rail that draws itself in on scroll, alternating left/right on wide screens and collapsing to one rail on small ones.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "timeline",
        "history",
        "story",
        "company"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockTimeline.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-newsletter",
      "title": "Block Newsletter",
      "type": "registry:component",
      "description": "Newsletter signup that is a working form, not a mockup: client-side validation with inline announced errors, and a confirmation panel on success. Wire onSubscribe; without it, demo mode says so on screen.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "newsletter",
        "signup",
        "form",
        "email"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockNewsletter.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-contact",
      "title": "Block Contact",
      "type": "registry:component",
      "description": "Contact section: a direct-channels list (email, phone, office — real links) beside a configurable form skeleton with labels wired to inputs and native validation intact.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "contact",
        "form",
        "channels",
        "email"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockContact.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-banner",
      "title": "Block Banner",
      "type": "registry:component",
      "description": "Announcement banner: a slim accent-tinted strip for one important message with an optional action. Dismissible for real — labeled button, Escape works, onDismiss persists the choice.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "banner",
        "announcement",
        "topbar",
        "dismissible"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockBanner.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-milestones",
      "title": "Block Milestones",
      "type": "registry:component",
      "description": "Milestone progress: a roadmap strip whose completed steps light up in sequence on scroll-in, the current step breathes, and upcoming steps stay dimmed. Which steps are done is pure data.",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "roadmap",
        "progress",
        "milestones",
        "steps"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockMilestones.tsx",
          "type": "registry:component"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "block-quote-wall",
      "title": "Block Quote Wall",
      "type": "registry:component",
      "description": "Quote wall: many quotes as a masonry wall, or one at a time in a keyboard-friendly rotator (real prev/next controls, focus and hover pause, reduced motion disables auto-advance).",
      "categories": [
        "Blocks"
      ],
      "tags": [
        "block",
        "quotes",
        "testimonials",
        "masonry",
        "rotator"
      ],
      "files": [
        {
          "path": "@components/vfx/blockShared.tsx",
          "type": "registry:component"
        },
        {
          "path": "@components/BlockQuoteWall.tsx",
          "type": "registry:component"
        }
      ]
    }
  ]
}
