{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "shaderscn",
  "homepage": "https://shaderscn.com",
  "items": [
    {
      "name": "god-rays-hero",
      "type": "registry:block",
      "title": "God Rays Hero",
      "description": "A full-bleed hero section lit by animated volumetric light rays.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/god-rays-hero/god-rays-hero.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "dithering-hero",
      "type": "registry:block",
      "title": "Dithering Hero",
      "description": "A split hero section with an ordered-dither sphere slowly turning beside the headline.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/dithering-hero/dithering-hero.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "dithering-globe-hero",
      "type": "registry:block",
      "title": "Dithering Globe Hero",
      "description": "A split hero section with a slowly spinning, ordered-dither globe of the Earth.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/dithering-globe-hero/dithering-globe-hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/shaders/dithering-globe-hero/dithering-globe.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/shaders/dithering-globe-hero/globe-texture.ts",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "dithering-globe-arcs-hero",
      "type": "registry:block",
      "title": "Dithering Globe Arcs Hero",
      "description": "A centered hero section with a rising ordered-dither globe and flight arcs between cities.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/dithering-globe-arcs-hero/dithering-globe-arcs-hero.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/shaders/dithering-globe-arcs-hero/dithering-globe-arcs.tsx",
          "type": "registry:component"
        },
        {
          "path": "registry/shaders/dithering-globe-hero/globe-texture.ts",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "halftone-hero",
      "type": "registry:block",
      "title": "Halftone Hero",
      "description": "A split hero section that prints any photo as halftone dots, live on the GPU.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/halftone-hero/halftone-hero.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "water-caustics-hero",
      "type": "registry:block",
      "title": "Water Caustics Hero",
      "description": "A full-bleed hero lit by rippling pool-light caustics. Made for travel and wellness sites.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/water-caustics-hero/water-caustics-hero.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "heatmap-hero",
      "type": "registry:block",
      "title": "Heatmap Hero",
      "description": "A launch hero where your logo glows like a heat map above the headline.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/heatmap-hero/heatmap-hero.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "hero"
      ]
    },
    {
      "name": "warp-cta",
      "type": "registry:block",
      "title": "Warp CTA",
      "description": "A call-to-action banner with a hypnotic warped checkerboard background.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/warp-cta/warp-cta.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "cta"
      ]
    },
    {
      "name": "fluted-glass-app-download",
      "type": "registry:block",
      "title": "Fluted Glass App Download",
      "description": "An app download section with a phone mockup in front of its own screenshot, seen through fluted glass.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/shaders/fluted-glass-app-download/fluted-glass-app-download.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "cta"
      ]
    },
    {
      "name": "color-panels-newsletter",
      "type": "registry:block",
      "title": "Color Panels Newsletter",
      "description": "A compact newsletter signup band with slowly turning glass panels beside the form.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "input"
      ],
      "files": [
        {
          "path": "registry/shaders/color-panels-newsletter/color-panels-newsletter.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "newsletter"
      ]
    },
    {
      "name": "pulsing-border-pricing",
      "type": "registry:block",
      "title": "Pulsing Border Pricing",
      "description": "A three-tier pricing section with a billing toggle and a pulsing glow around the featured plan.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/pulsing-border-pricing/pulsing-border-pricing.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "pricing"
      ]
    },
    {
      "name": "testimonial-wall",
      "type": "registry:block",
      "title": "Testimonial Wall",
      "description": "A masonry wall of testimonial cards with a printed paper grain.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/testimonial-wall/testimonial-wall.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "testimonials"
      ]
    },
    {
      "name": "image-dithering-team",
      "type": "registry:block",
      "title": "Image Dithering Team",
      "description": "A team grid that dithers every headshot into one consistent look, with the original color on hover.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/image-dithering-team/image-dithering-team.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "team"
      ]
    },
    {
      "name": "simplex-noise-changelog",
      "type": "registry:block",
      "title": "Simplex Noise Changelog",
      "description": "A changelog timeline where every release gets its own cover, generated from the version number.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/simplex-noise-changelog/simplex-noise-changelog.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "changelog"
      ]
    },
    {
      "name": "radial-gradient-logo-cloud",
      "type": "registry:block",
      "title": "Radial Gradient Logo Cloud",
      "description": "A \"trusted by\" logo strip rising over the glowing horizon of a planet.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/radial-gradient-logo-cloud/radial-gradient-logo-cloud.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "logos"
      ]
    },
    {
      "name": "neuro-noise-stats",
      "type": "registry:block",
      "title": "Neuro Noise Stats",
      "description": "A band of headline numbers over a glowing web of fibers, like traffic moving through a network.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/neuro-noise-stats/neuro-noise-stats.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "stats"
      ]
    },
    {
      "name": "dithering-404",
      "type": "registry:block",
      "title": "Dithering 404",
      "description": "A full-screen not found page with a dithered vortex behind a lost message.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/dithering-404/dithering-404.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "404"
      ]
    },
    {
      "name": "smoke-ring-waitlist",
      "type": "registry:block",
      "title": "Smoke Ring Waitlist",
      "description": "A full-screen coming soon page with a smoke ring, a launch countdown and a waitlist signup.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "registryDependencies": [
        "button",
        "input"
      ],
      "files": [
        {
          "path": "registry/shaders/smoke-ring-waitlist/smoke-ring-waitlist.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "waitlist"
      ]
    },
    {
      "name": "spiral-launch-countdown",
      "type": "registry:block",
      "title": "Spiral Launch Countdown",
      "description": "A launch event countdown over a turning spiral, with add-to-calendar links and a live state.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/spiral-launch-countdown/spiral-launch-countdown.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "launch"
      ]
    },
    {
      "name": "mesh-gradient-footer",
      "type": "registry:block",
      "title": "Mesh Gradient Footer",
      "description": "A site footer with a giant wordmark filled by a flowing mesh gradient.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/mesh-gradient-footer/mesh-gradient-footer.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "footer"
      ]
    },
    {
      "name": "mesh-gradient-announcement-bar",
      "type": "registry:block",
      "title": "Mesh Gradient Announcement Bar",
      "description": "A thin, dismissible announcement strip over a slowly flowing mesh gradient.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "files": [
        {
          "path": "registry/shaders/mesh-gradient-announcement-bar/mesh-gradient-announcement-bar.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "banner"
      ]
    },
    {
      "name": "grain-gradient-auth",
      "type": "registry:block",
      "title": "Grain Gradient Auth",
      "description": "A split sign-in page with a grainy gradient brand panel and a slot for your own form.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "registryDependencies": [
        "button",
        "input",
        "label"
      ],
      "files": [
        {
          "path": "registry/shaders/grain-gradient-auth/grain-gradient-auth.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "sections",
        "auth"
      ]
    },
    {
      "name": "mesh-gradient-background",
      "type": "registry:component",
      "title": "Mesh Gradient Background",
      "description": "A container with a soft, flowing mesh gradient behind its content.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/mesh-gradient-background/mesh-gradient-background.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "backgrounds"
      ]
    },
    {
      "name": "dot-grid-background",
      "type": "registry:component",
      "title": "Dot Grid Background",
      "description": "A container with a crisp dot grid that fades out towards the edges.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/dot-grid-background/dot-grid-background.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "backgrounds"
      ]
    },
    {
      "name": "waves-background",
      "type": "registry:component",
      "title": "Waves Background",
      "description": "A container with fine, flowing line waves. Made for fintech and audio pages.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/waves-background/waves-background.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "backgrounds"
      ]
    },
    {
      "name": "pulsing-border-card",
      "type": "registry:component",
      "title": "Pulsing Border Card",
      "description": "A card wrapped in a living, pulsing glow that bleeds softly past its edges.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/pulsing-border-card/pulsing-border-card.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "cards"
      ]
    },
    {
      "name": "pulsing-border-prompt",
      "type": "registry:component",
      "title": "Pulsing Border Prompt",
      "description": "An AI prompt input with modes and file drops, whose glow shows what it is doing: listening, thinking, streaming or failing.",
      "dependencies": [
        "@paper-design/shaders-react",
        "lucide-react"
      ],
      "registryDependencies": [
        "button"
      ],
      "files": [
        {
          "path": "registry/shaders/pulsing-border-prompt/pulsing-border-prompt.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "inputs"
      ]
    },
    {
      "name": "grain-gradient-card",
      "type": "registry:component",
      "title": "Grain Gradient Card",
      "description": "A content card with a grainy, animated gradient cover.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/grain-gradient-card/grain-gradient-card.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "cards"
      ]
    },
    {
      "name": "dithering-frame-card",
      "type": "registry:component",
      "title": "Dithering Frame Card",
      "description": "A card set in a thick frame of animated dithering, like a bezel around the content.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/dithering-frame-card/dithering-frame-card.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "cards"
      ]
    },
    {
      "name": "liquid-metal-orb",
      "type": "registry:component",
      "title": "Liquid Metal Orb",
      "description": "A chrome orb with a liquid metal surface. Great as a logo mark or avatar.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/liquid-metal-orb/liquid-metal-orb.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components"
      ]
    },
    {
      "name": "mesh-gradient-avatar",
      "type": "registry:component",
      "title": "Mesh Gradient Avatar",
      "description": "A default avatar with a unique mesh gradient generated from any seed, like a user ID or email.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/mesh-gradient-avatar/mesh-gradient-avatar.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "avatars"
      ]
    },
    {
      "name": "lens-distortion-card",
      "type": "registry:component",
      "title": "Lens Distortion Card",
      "description": "An image card with a magnifying lens that follows the cursor.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/lens-distortion-card/lens-distortion-card.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "cards"
      ]
    },
    {
      "name": "liquid-metal-button",
      "type": "registry:component",
      "title": "Liquid Metal Button",
      "description": "A call-to-action button with a flowing chrome rim that speeds up on hover.",
      "dependencies": [
        "@paper-design/shaders-react"
      ],
      "files": [
        {
          "path": "registry/shaders/liquid-metal-button/liquid-metal-button.tsx",
          "type": "registry:component"
        }
      ],
      "categories": [
        "components",
        "buttons"
      ]
    }
  ]
}
