A collection of standalone canvas-based generative animations with a SvelteKit gallery frontend.
- Gallery: SvelteKit 2 + Svelte 5, TypeScript, Vite
- Shaders: Standalone HTML files in
static/, no build step. Each is self-contained with inline JS. - Rendering: Mix of Canvas 2D and WebGL. No external dependencies.
src/routes/+page.svelte — Gallery grid with iframe previews
static/*.html — Standalone shader pages
src/lib/shaders.ts — Shader catalog metadata
npm run dev— Dev servernpm run build— Production build
- Each shader is a single HTML file:
<style>+<canvas>+<script>IIFE - Canvas ID is always
canvas - Label format:
XX — Namein a fixed.labeldiv - Dark background (#0a0a0a), warm amber accent palette (rgba(200, 149, 108, ...))
- Respect
prefers-reduced-motionwhere applicable - Use
IntersectionObserverorvisibilitychangeto pause when offscreen - Gallery entry in
+page.sveltemust match the static file numbering
- Create
static/XX-name.htmlfollowing the existing format - Add an entry to the
shadersarray insrc/routes/+page.svelte