{
	"$schema": "https://ui.shadcn.com/schema/registry.json",
	"name": "sekei",
	"homepage": "https://www.sekei.design/shad-fx",
	"author": "Piergiorgio Gonni <https://www.sekei.design>",
	"items": [
		{
			"name": "use-prefers-reduced-motion",
			"type": "registry:hook",
			"title": "usePrefersReducedMotion",
			"description": "Tracks the prefers-reduced-motion media query without tripping hydration.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"hooks",
				"accessibility"
			],
			"version": "0.1.0",
			"files": [
				{
					"path": "registry/shad-fx/use-prefers-reduced-motion.ts",
					"type": "registry:hook",
					"target": "@hooks/use-prefers-reduced-motion.ts"
				}
			]
		},
		{
			"name": "shad-fx-engine",
			"type": "registry:lib",
			"title": "shad-fx: engine",
			"description": "The frame loop, the Surface and FxEffect contracts, the useFx and useFxEngine hooks, seeded RNG and the colour helpers every renderer and effect builds on.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"canvas"
			],
			"version": "0.3.0",
			"files": [
				{
					"path": "registry/shad-fx/engine.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/engine.ts"
				},
				{
					"path": "registry/shad-fx/effects/particles.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/particles.ts"
				},
				{
					"path": "registry/shad-fx/use-fx.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/use-fx.ts"
				},
				{
					"path": "registry/shad-fx/use-fx-engine.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/use-fx-engine.ts"
				}
			]
		},
		{
			"name": "shad-fx-dither",
			"type": "registry:ui",
			"title": "shad-fx: dither renderer",
			"description": "DitherCanvas: fills its positioned parent with a pixelated canvas that draws any effect as Bayer-dithered cells.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"dither",
				"canvas"
			],
			"version": "0.2.1",
			"docs": "Pair it with any effect: `const fx = useFx(fire, { height: 0.6 })`, then `<DitherCanvas effect={fx} />`. Options passed to useFx update in place without restarting the simulation. The ordered-dither rendering derives from dither-kit (MIT, https://github.com/Boring-Software-Inc/dither-kit). See https://github.com/sekeidesign/shad-fx/blob/main/NOTICE.md",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine",
				"sekeidesign/shad-fx/use-prefers-reduced-motion",
				"utils"
			],
			"files": [
				{
					"path": "registry/shad-fx/dither/painter.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/dither/painter.ts"
				},
				{
					"path": "registry/shad-fx/dither/dither-canvas.tsx",
					"type": "registry:ui",
					"target": "@components/shad-fx/dither/dither-canvas.tsx"
				},
				{
					"path": "registry/shad-fx/dither/index.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/dither/index.ts"
				}
			]
		},
		{
			"name": "shad-fx-ascii",
			"type": "registry:ui",
			"title": "shad-fx: ASCII renderer",
			"description": "AsciiCanvas: fills its positioned parent with a canvas that draws any effect as coloured glyphs, in the system monospace or a font you pass.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"ascii",
				"canvas"
			],
			"version": "0.1.1",
			"docs": "Pair it with any effect: `const fx = useFx(fire, { height: 0.6 })`, then `<AsciiCanvas effect={fx} />`. The font defaults to the system monospace, so nothing is downloaded; pass a font-family name as `fontFamily`, as in CSS, to use your own. Options passed to useFx update in place without restarting the simulation.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine",
				"sekeidesign/shad-fx/use-prefers-reduced-motion",
				"utils"
			],
			"files": [
				{
					"path": "registry/shad-fx/ascii/painter.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/ascii/painter.ts"
				},
				{
					"path": "registry/shad-fx/ascii/ascii-canvas.tsx",
					"type": "registry:ui",
					"target": "@components/shad-fx/ascii/ascii-canvas.tsx"
				},
				{
					"path": "registry/shad-fx/ascii/index.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/ascii/index.ts"
				}
			]
		},
		{
			"name": "shad-fx-fire",
			"type": "registry:lib",
			"title": "shad-fx: fire",
			"description": "Rising flame front with embers.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(fire)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/fire.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/fire.ts"
				}
			]
		},
		{
			"name": "shad-fx-rings",
			"type": "registry:lib",
			"title": "shad-fx: rings",
			"description": "Concentric rings pulsing out from an anchor.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(rings)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/rings.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/rings.ts"
				}
			]
		},
		{
			"name": "shad-fx-beam",
			"type": "registry:lib",
			"title": "shad-fx: beam",
			"description": "Directional beam with drifting motes.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(beam)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/beam.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/beam.ts"
				}
			]
		},
		{
			"name": "shad-fx-bolt",
			"type": "registry:lib",
			"title": "shad-fx: bolt",
			"description": "Intermittent lightning arcs on a randomised interval.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(bolt)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/bolt.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/bolt.ts"
				}
			]
		},
		{
			"name": "shad-fx-fluid",
			"type": "registry:lib",
			"title": "shad-fx: fluid",
			"description": "Sloshing liquid level with rising bubbles.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(fluid)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/fluid.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/fluid.ts"
				}
			]
		},
		{
			"name": "shad-fx-rain",
			"type": "registry:lib",
			"title": "shad-fx: rain",
			"description": "Slanted streaks of rain, splashing on the floor.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(rain)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/rain.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/rain.ts"
				}
			]
		},
		{
			"name": "shad-fx-snow",
			"type": "registry:lib",
			"title": "shad-fx: snow",
			"description": "Drifting flakes settling into a drift along the floor.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx",
				"effects"
			],
			"version": "0.2.0",
			"docs": "Runs on any renderer. Needs one to show: `npx shadcn@latest add @sekei/shad-fx-dither`, then `<DitherCanvas effect={useFx(snow)} />`.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-engine"
			],
			"files": [
				{
					"path": "registry/shad-fx/effects/snow.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/effects/snow.ts"
				}
			]
		},
		{
			"name": "shad-fx",
			"type": "registry:ui",
			"title": "shad-fx",
			"description": "The dither and ASCII renderers, every effect, and a barrel that re-exports them.",
			"author": "Piergiorgio Gonni <https://www.sekei.design>",
			"categories": [
				"shad-fx"
			],
			"version": "0.2.0",
			"docs": "Everything imports from `@/components/shad-fx`. Working with an agent? `npx skills add sekeidesign/shad-fx` installs agent skills for setting the effects up and writing new ones.",
			"registryDependencies": [
				"sekeidesign/shad-fx/shad-fx-dither",
				"sekeidesign/shad-fx/shad-fx-ascii",
				"sekeidesign/shad-fx/shad-fx-fire",
				"sekeidesign/shad-fx/shad-fx-rings",
				"sekeidesign/shad-fx/shad-fx-beam",
				"sekeidesign/shad-fx/shad-fx-bolt",
				"sekeidesign/shad-fx/shad-fx-fluid",
				"sekeidesign/shad-fx/shad-fx-rain",
				"sekeidesign/shad-fx/shad-fx-snow"
			],
			"files": [
				{
					"path": "registry/shad-fx/index.ts",
					"type": "registry:lib",
					"target": "@components/shad-fx/index.ts"
				}
			]
		}
	]
}
