spikes

A reach-field CA grown onto frozen substrate cells. Each box is its own group; neighbours block but never seed each other.

Substrate card

This box is a region of immutable cells. The spikes take root on its perimeter and grow outward, stopping at the next box.

Crevice partner

The gap between these two boxes is a constrained channel — spikes from both sides meet in the middle.

circle
star
hexagon

Self-resizing group

One group whose own rect changes. Opening a row below grows this box, so the runtime re-rasterizes and re-grows the spikes around the new perimeter — the faq counter ticks. Neighbours below only translate.

Why does a resize rebuild?

The substrate grid was rasterized at the old height; every cell must keep its coordinate, so the field is invalid until it is rebuilt. Growth is deterministic, so the regrow is faithful.

Why doesn't a resize just translate?

A pure translation keeps every cell aligned, so a frozen frame can slide as one piece. A height change moves the perimeter relative to the cells, so the seed band itself changes.

group-relative reflow

Every box here is its own group. Opening this panel grows the gap and slides the toggle below down as one piece. Once a group has settled, moving it just translates the finished shape — a jigsaw piece — instead of re-growing it. Closing this panel moves the toggle back toward the shapes above; with regrow on close ticked the toggle is rebuilt so its spikes re-fit the new layout instead of sliding over the group above (its counter then ticks).

re-seeds — shapes: 0 · toggle:0 · faq: 0