{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "scrollfx",
  "homepage": "https://scrollfx-ui.vercel.app",
  "items": [
    {
      "name": "plotter",
      "type": "registry:lib",
      "title": "Plotter",
      "description": "Seeded line-drawing generators (flow fields, contours, globes, tunnels, rosettes, harmonographs, spirals, Lissajous knots, ridgelines, routes, hatching) and scrollWindow(), the trigger that finishes a drawing as it reaches the middle of the screen. Every scrollfx block draws with it.",
      "files": [
        {
          "path": "lib/plotter.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "name": "hero-flow-field",
      "type": "registry:block",
      "title": "Hero, flow field",
      "description": "A hero beside a print: a round flow field of several hundred strokes, plotted top to bottom on arrival, with a live stroke count.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/hero-flow-field.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Watch it arrive: the pen plots the print, top to bottom.",
        "tall": false
      }
    },
    {
      "name": "hatch-highlight",
      "type": "registry:block",
      "title": "Hatched highlight",
      "description": "A large statement whose key phrases a pen hatches over as they are read, like a proof marked up by hand.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/hatch-highlight.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to it: the marked phrases are hatched in.",
        "tall": false
      }
    },
    {
      "name": "plotted-chart",
      "type": "registry:block",
      "title": "Plotted chart",
      "description": "Figures that count up beside an area chart a pen plots as you scroll: hatched in from left to right, the curve drawn over it.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/plotted-chart.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll through it: the hatching and the curve plot left to right.",
        "tall": true
      }
    },
    {
      "name": "feature-plates",
      "type": "registry:block",
      "title": "Feature plates",
      "description": "Features beside plates a pen draws as you reach them: a topographic map, a wireframe globe, a tunnel of turning squares.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/feature-plates.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll down: each plate is drawn as it arrives.",
        "tall": true
      }
    },
    {
      "name": "steps-route",
      "type": "registry:block",
      "title": "Steps on a route",
      "description": "How it works as a route on a map: numbered stops a pen rings in turn, joined by a line that wanders from one to the next and ends on a cross.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/steps-route.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to it: the pen rings each stop and travels on.",
        "tall": false
      }
    },
    {
      "name": "changelog-plotted",
      "type": "registry:block",
      "title": "Plotted changelog",
      "description": "Releases down a rail that inks itself as you read, each stamped with a rosette drawn from its version number.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/changelog-plotted.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Read down: the rail inks, each stamp is drawn.",
        "tall": true
      }
    },
    {
      "name": "pricing-plotted",
      "type": "registry:block",
      "title": "Plotted pricing",
      "description": "Plans headed by marks that grow denser with the plan, the recommended one framed by a pen that goes round it twice, and prices that count.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/pricing-plotted.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to it: the marks and the frame are drawn.",
        "tall": true
      }
    },
    {
      "name": "testimonials-plotted",
      "type": "registry:block",
      "title": "Plotted testimonials",
      "description": "Quotes on sheets, each stamped with a spiral a pen winds from the rim inward, seeded from the person's name, with their initials in its eye.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/testimonials-plotted.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to them: each spiral winds in as its card arrives.",
        "tall": false
      }
    },
    {
      "name": "faq-plotted",
      "type": "registry:block",
      "title": "Plotted FAQ",
      "description": "Questions that open in place with the browser's own disclosure, beside a plate where a pen draws a Lissajous knot.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/faq-plotted.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to it: the knot is traced, four times over.",
        "tall": false
      }
    },
    {
      "name": "cta-harmonograph",
      "type": "registry:block",
      "title": "Harmonograph call to action",
      "description": "The closing call to action beside a harmonograph: one unbroken line, the trace of two pendulums, drawn as the section arrives.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/cta-harmonograph.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to it: one line spirals in as the swing dies away.",
        "tall": false
      }
    },
    {
      "name": "footer-plotted",
      "type": "registry:block",
      "title": "Plotted footer",
      "description": "A footer under a horizon of ridgelines a pen plots back to front as it comes into view, with link columns and a closing line below.",
      "dependencies": [
        "svg-scroll-draw"
      ],
      "registryDependencies": [
        "https://scrollfx-ui.vercel.app/r/plotter.json"
      ],
      "files": [
        {
          "path": "registry/blocks/footer-plotted.tsx",
          "type": "registry:component"
        }
      ],
      "meta": {
        "motion": "Scroll to the end: the horizon is plotted, back to front.",
        "tall": false
      }
    }
  ]
}
