Learn to write MilkDrop presets

Open Stims — no install needed

A curriculum for going from "never seen a preset" to publishing your own — using Stims itself as the lab. Every example is a complete, working preset behind a ▶ Run link: it opens toil.fyi with the code loaded in the live editor. Nothing to install.

If you want the reference instead of the course, see the language reference and the pattern language in MILKDROP_CODING_GUIDE.md.

The path

Track What you learn
0 · Play Remix an existing preset and share it — no code
1 · How MilkDrop thinks The feedback loop, the pipeline, decay, time
2 · Motion zoom, rot, dx/dy, sx/sy, warp — and a line-by-line dissection of a Geiss classic
3 · Listening Audio bands, smoothing, beat detection, measured reactivity
4 · Warp fields Per-pixel equations: rad, ang, tunnels, and ripples
5 · Waves and shapes Custom waves, custom shapes, the q-var bridge
6 · Shaders Warp and composite GLSL — the pair 64% of the catalog uses
7 · Taste Five masterwork dissections: reaction-diffusion, tempo tracking, hand-rolled HSL, and more
8 · Shipping The first cross-engine compatibility matrix, performance, publishing
9 · Technique glossary The named-technique vocabulary — Jelly, Relief, Painterly, Krash's beat code — counted across the shipped catalog

All ten tracks are live. The plan that scoped them, and the follow-on work it lists, is in PRESET_AUTHORING_DOCS_PLAN.md.

How the examples work

Example sources live in examples/ as ordinary .milk files you can also import directly. Each ▶ Run link encodes the full file into the URL (#code=<base64>), so the link is the preset — share your own experiments the same way with the editor's Export or by copying the URL after an edit.

bun run check:authoring-examples compiles every example and verifies that every run link matches its source file (--write on the underlying script regenerates them). CI treats a broken example like a broken build.

Conventions