A browser-based, keyboard-operated abstract pattern projector built with Svelte 5, Three.js, and Tailwind CSS. Drop it on a projector PC, go fullscreen, and cycle through animated visuals entirely from the keyboard.
| Key | Action |
|---|---|
F |
Toggle fullscreen |
→ / ↓ |
Next pattern |
← / ↑ |
Previous pattern |
1–4 |
Jump to pattern by number |
Esc |
Exit fullscreen |
Requires Bun.
bun install
bun run dev # http://localhost:5173
bun run build # production build → dist/
bun run preview # preview production build
src/lib/patterns/my-pattern.ts exporting a Pattern object:import type { Pattern } from "./types";
export const myPattern: Pattern = {
id: "my-pattern",
name: "My Pattern",
init(ctx) { /* add meshes to ctx.scene */ },
update(dt, elapsed) { /* animate */ },
resize(width, height) { /* update camera/uniforms */ },
dispose() { /* free geometries/materials */ },
};
src/lib/patterns/index.ts. Done.The included .github/workflows/pages.yml builds and publishes dist/ to GitHub Pages on every push to main. Enable Pages in your repo settings (source: GitHub Actions).
MIT