Skip to content

zz-plant/stims

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3,224 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Stims

Browser music visualizer — one click to moving visuals, deep editor + AI when you want more.

Live site GitHub stars License Built with Bun Discussions

Demo audio in one click. 1,868 presets, live mic/tab input, AI generation, and a full code editor with autocomplete.


Try it now

→ Launch at toil.fyi — no install, no signup. Click play.


What it does

Instant visuals. One click plays demo audio and mounts a moving visualizer. No setup. The hero CTA floats over the running stage.

1,868 presets imported from the Butterchurn / projectM archive. Browse, preview cards, one-tap playback. Filter, shuffle, favorite.

AI preset generation. Describe what you want in plain English — "neon waves pulsing through a starfield" — and the AI writes the MilkDrop equations. Batch mode generates 5 variations in parallel. Blending combines the motion of one preset with the color of another.

AI-assisted editor. Full CodeMirror 6 editor with 60+ MilkDrop autocompletions, syntax highlighting, bracket matching, search, foldable sections, clickable diagnostics, 14 code snippets, and an "Explain this preset" mode. Slider sidebar for live visual tuning (zoom, warp, rot, decay, hue). Quick Fix sends compiler errors to the AI for automatic correction.

Live audio. Microphone, browser tab capture, or YouTube tab routing. Demo audio engine (arpeggiator + kick drum + sub drone) always available.

Visual search. Click "More like this" on any preset to find visually similar ones via embedding cosine similarity. Audio match chip appears when audio is active, suggesting presets that fit the energy level.

Community gallery. Browse, upload, and favorite presets from other users. Lineage badges show blend ancestry.

Mobile support. Bottom control bar with macro mood buttons (Chill, Retro, Aggressive, Cosmic), touch-friendly browse drawer, swipe-friendly preset grid.

Performance controls. Render resolution (100/75/50%), shader detail slider, eco mode (30 FPS cap). Quality presets for casual users, granular sliders for advanced users.

Keyboard shortcuts. Press ? for the full overlay. Space → audio, F → fullscreen, B → browse, E → editor, N → next preset, Cmd+Enter → compile.


Install locally

git clone https://github.com/zz-plant/stims.git
cd stims
bun install
bun run dev

Open http://localhost:5173.

Prerequisites: Bun 1.3+, a browser with WebGL (WebGPU optional).

See docs/DEVELOPMENT.md for setup, troubleshooting, and production builds.


Quick reference

bun run dev           Start development server
bun run check:quick   Fast quality gate (lint + types)
bun run check         Full quality gate (lint + types + tests)
bun run build         Production build
bun run test          Run unit/integration tests
bun run preview       Preview production build locally

API

All endpoints at https://toil.fyi/api/. Full docs in docs/api.md.

Endpoint Description
POST /api/generate-preset Text → MilkDrop equations with AI model routing
POST /api/refine-preset Modify existing preset, explain mode, conversation history
POST /api/batch-generate N parallel variations from one description
POST /api/blend-presets Combine two presets (motion from A, color from B)
POST /api/image-to-preset Screenshot → describe → generate
POST /api/visual-search Semantic search via BGE embeddings + D1 cosine similarity
POST /api/model-router Classify complexity, route to optimal model (7 models)
GET/POST /api/presets Community gallery CRUD with D1 + R2 storage

Contributing

PRs welcome. Start with CONTRIBUTING.md.

Questions? GitHub Discussions.


Project docs


Ecosystem