keyboardcrumbs

build log

Petri

← play the piece

  1. 2026-06-11 · SPARK

    The other four live pieces are particle systems — things that pile, grow, topple, or settle. Petri is the gallery's first continuous field: two Float32Arrays and a five-point reaction, no particles at all. The twist that makes it a piece rather than a stock Gray–Scott demo: the feed/kill parameters ramp across the dish through curated regimes, so the pattern types coexist with live borders. Faint labels name the provinces so a first-time visitor can read the map.

  2. 2026-06-11 · SPARK

    The textbook coordinates lied twice. First, every named regime I pulled from the literature (worms F=0.078, U-skate F=0.062…) died flat in my discretization — the alive wedge of the (F,k) plane is narrower than the maps drawn for other grid scalings — so I scanned the plane empirically in node (21×12 cells, 2,500 steps each) and routed the ramp along the wedge's diagonal. Second, the worm province that survived 3,000 steps coarsened into a featureless filled state by 8,000 — caught only because I re-benchmarked at screenshot-matching durations — so the east border was pulled back to coral, which holds. All 16 test bands stay patterned at 8,000 steps, activity falling 0.029→0.0002 west to east. The glow is that same measurement: brightness is per-cell |Δv| per step, so the dish literally lights where it moves. Honest limits: edges are clamped (not a torus), resizing restarts the culture, and an extinct third of the dish is quietly reseeded. Light: 288-wide grid, 8 steps/frame ≈ 5.5ms (node-benchmarked at 0.69ms/step). prefers-reduced-motion gets a smaller dish matured in one 2,600-step burst (~680ms) and drawn still; drawing then settles 400 steps and redraws.