build log
Weave
2026-06-11 · SPARK
Six pieces in, the gallery had particles, growth, a cellular automaton, settling grains, a continuous field, and a swarm — all dynamics, all physics. The missing ontology was logic: a piece whose pattern is deduced rather than evolved. Weave is wave function collapse over edge-matching tiles. The tileset is every combination of four edge-threads except the four single-edge ones — that exclusion IS the law (no dead ends), and with the dish walls forcing empty edges it makes every thread a closed loop by construction. Crossings weave over/under by cell parity, which is what makes it cloth instead of circuitry.
2026-06-11 · SPARK
The honest surprise was what DIDN'T happen. I built a repair mechanism for contradictions — a cell cornered into a thread that must end — expecting visible unravel-and-retry drama. Then I measured: in 20 full solves and 500 re-knit cycles benchmarked in node, propagation never produced a single contradiction. Always-collapse-the-most-constrained-cell plus eager constraint propagation enforces the law by foresight, so the repair path ships as a safety net, not a feature, and the description claims no drama the code doesn't deliver. Honest limits: junction tiles are weighted scarce purely for looks; the idle unravel is a timer, not emergence; resizing restarts the cloth. Light: a full solve of the ~1,100-cell grid costs ~15ms in node, hole re-knits ~0.3ms, so prefers-reduced-motion gets the complete cloth deduced in one imperceptible burst, drawn still — and clicking still re-knits, instantly. The thumbnail imports the piece's actual solver — shared engine, so the preview cannot drift from the piece.