the scribbler — breathing

Tips navigate the page reading local fill level — how dark or light a cell is relative to the current phase. Dark phase: heavy contour at the frontier, fine hatching inside; new tips spawn where the page is emptiest. Light phase: the same rule inverted — white ink carves back through the black. When the page nears black the breath turns; when it nears white the breath turns again. One teacher: the page itself.


click to replant · dark phase = ink builds · light phase = ink erases

the rules

// fill level = how "filled" this cell is in the current phase:
//   dark phase  → fill = brightness  (0=empty space, 1=black)
//   light phase → fill = 1−brightness (0=already white, 1=black to erase)

fill < 0.05  heavy contour  2.2px · 0.92     // the frontier — first mark / first erasure
fill < 0.20  secondary      1.5px · 0.78     // just inside
fill < 0.45  fill           0.85px · 0.58    // the body
fill ≥ 0.45  interior hatch 0.52px · 0.20    // fine marks — accumulate slowly to solid

// moods: TENDRIL · CURL · SPIKE · HATCH · SCRIBBLE (unchanged from v3)
//
// spawn: new tips plant at the most-empty zone (dark) or most-black zone (light)
//   → the mass expands outward rather than concentrating at center
//
// spike: only fires at the frontier — where fill < 0.08 and neighbours > 0.15
//   → teeth appear at the silhouette edge, not scattered through the interior
//
// phase switch:
//   avg brightness > 0.82 → light phase (white ink erases the black)
//   avg brightness < 0.18 → dark phase  (black ink builds again)