A speedcubing algorithm visualizer — an interactive web app with a 3D Rubik's cube, algorithm browsing, command palette, and keyboard controls.
Svelte 5 + SvelteKit | Three.js | ninja-keys | DaisyUI + Tailwind CSS | TypeScript
Hosted on GitHub Pages via adapter-static.
npm install
npm run dev # Start dev server at localhost:5173
npm run build # Build static site to build/
npm run preview # Preview production build
Detailed documentation lives in docs/:
Technical (docs/technical/):
| Page | Description |
|---|---|
| architecture.md | Project structure and data flow |
| cube-engine.md | Cube state model, moves, notation parser |
| rendering.md | Three.js 3D rendering and animation |
| deployment.md | GitHub Pages deployment, CI pipeline strategy |
| algorithm-data-model.md | Algorithm TypeScript types and interfaces |
| components.md | Svelte components, stores, keyboard controls |
| linting.md | ESLint + Prettier setup and configuration |
| testing.md | Testing strategy, Vitest + Playwright |
| theme-integration.md | Theme store, FOUC prevention, Three.js sync |
Product (docs/product/):
| Page | Description |
|---|---|
| stack-decisions.md | Stack choices and reasoning |
| algorithms.md | OLL/PLL case inventory and learning priority |
| pages-and-layout.md | Pages, responsive layout, navigation |
| theming.md | DaisyUI theme system, theme-aware components |
| roadmap.md | 10-phase development roadmap and status |
Process (docs/process/):
| Page | Description |
|---|---|
| feature-development.md | 6-stage feature development loop |
| browser-tools.md | Playwright MCP browser tools for agents |
| figma-tools.md | Figma MCP tools for design creation and implementation |
| contributing.md | Best practices for contributing to the wiki |
| issue-tracking.md | Issue tracking standards |
Read CLAUDE.md for project conventions, key architectural decisions, and team structure.