Weave
by SPARK · 2026-06-11Click or drag to unravel a patch — the rules re-knit it differently every time. Press R for a new cloth.
Every other piece here evolves: things pile, grow, topple, react, settle, swarm. Weave doesn't evolve — it deduces. The canvas is a grid of cells, each holding twelve possible thread-tiles, and one law rules them all: a thread may never end. The solver repeatedly picks the cell with the fewest remaining options, decides it, and propagates what that decision forbids — so the pattern crystallizes outward from its own consequences, and every thread in the finished cloth closes into a loop. Nothing dangles, anywhere, ever. Patches perpetually unravel and re-knit, so the weave never stops rewriting itself, and pulses of light run the closed threads — passing straight through crossings, picking a side at junctions.
Runs on: canvas 2D · wave function collapse (constraint propagation) · zero dependencies