GOL-028 · technical companion

Drifting Chains

Supported chains shed their oldest members as they grow. Travel by rotating compasses or fixed initial directions, and return dead travelers to their original locations.

At a glance

geometry
Square lattice
neighborhood
Moore contacts and whole retained connected components
states
Occupancy + origin, initial/current headings, chain tenure, compass clocks and birth streams
update
Frozen births, recursive support, oldest-cohort shedding, rigid motion and home rebirth
renderer
Canvas 2D

What to explore

Reveal recursive support, chain seniority, collective drift and return journeys. Keep the source of each death and birth inspectable. Preserve whole-cohort ties and no-winner conflicts, even when that removes more cells than capacity demands.

Rules, update order and replay

Square Moore lattice including diagonals; 80/120/160 square, toroidal by default, optionally bounded. Every living organism owns its original location, original randomized heading, current compass, permanent rotation sense, private compass clock and first chain-entry generation (minus one before qualification). Sites own seeded birth streams. Generation and previous source/site evidence complete the replay state. Origins and headings travel with life; empty positions carry no organism state. No global body identity determines age or priority.

Each Step freezes the starting field. Empty sites propose ordinary birth when at least X original living neighbors are present. Recursively peel living cells with fewer than Z remaining contacts to obtain the Z-core. This uses whole-graph knowledge; it is not one-ring-per-turn propagation. First-time core members receive the current generation as chain entry. Existing tenure persists through movement, merges, splits, rule edits and blocked movement. Birth time is not chain age.

Partition the core into connected groups. At or below Y members, including self, remove nobody for capacity. Above Y, remove oldest chain-entry cohorts until the remaining count is at most Y. Everyone tied at the cutoff dies; the removal can exceed N minus Y. Merging chains compare their members' original tenure without resetting either side. An oversized opening whose members all qualify together can still die completely: that is an honest age tie. Prune support again after capacity deaths, then recompute connected components. Cascading losses and newly separate movement bodies are explicit consequences, not forced preservation.

Every surviving component votes with equal unit vectors. Rotating compass mode uses current compasses; straight-line mode uses original randomized headings. Unchanged membership therefore maintains a straight heading even while private compasses continue ticking in the background. Membership changes recompute the mean. Choose the nearest Moore direction; exact zero and exact ties rest. Every turn attempts one rigid one-cell shift. Own-footprint overlap is allowed; other survivors, provisional newborns and bounded edges block. Competing feasible proposals all fail. There is no retry, partial shearing, swap or following another body's departure. Newly dead positions are available. Newborns first qualify and move on the next Step. Mergers caused by this movement are assessed next Step.

With Home rebirth enabled, any organism killed by either pruning pass or capacity away from its original location makes one return attempt after movement resolves. Death while already at home produces no return. Final survivor/arrival occupancy blocks; all competing claims on a home fail. A unique return replaces an ordinary birth proposal at that home, never a survivor or accepted moving arrival. A home vacated in this movement pass is available. Failed returns do not queue. All return claims resolve together; no recursive death/rebirth runs within a Step. A return preserves origin, original heading and permanent sense, resets current compass to the original heading and its clock to zero, and clears chain tenure. It acts next Step. Ordinary births and newly painted life receive a new home at their creation site and fresh seeded traits. No persistent dead-entity population or return queue accumulates. Manual erasure is editing and never causes rebirth.

Commit together. Existing survivors tick their private compass after voting, even in straight-line mode or when blocked. Interval zero holds the compass; otherwise advance by the configured 45-degree increments in the permanent sense. Movement has no interval. Reset reconstructs occupancy, original homes, both headings, senses, clocks, empty tenure and site streams. Clear removes life and restarts streams. Rule/topology/painting edits pause and invalidate evidence; compass interval edits additionally reset clocks. Changing movement mode or home rebirth preserves living organisms and their memories. Complete replay includes all arrays, seeds/streams, generation, rules, dimensions and topology.

Reading the simulation

Canvas 2D: lime survivors, cream ordinary newborns, cyan moving arrivals, coral blocked survivors and violet home rebirths. Color off shows binary occupancy. The canvas accessible label separates ordinary births and home rebirths. Running context stays static; pause for exact selected-cell evidence. Inspection shows original neighbors, first/second pruning reasons, pre-trim group size, excess, whole-cohort removals/cutoff, chain entry generation, original location/direction, current compass/sense/clock, active vote histogram/resultant, source fate, home return claims/blocking, next site occupancy and previous source/home-arrival records. An arriving return's old position is preserved as site evidence.

Cyan outlines show the surviving body (or original capacity group for a removed cell), coral its removals, violet dashes proposed destinations and the selected organism's home. Arrow keys select; Enter paints; P plays/pauses; S steps. The centered mobile randomize shortcut follows all instructions, uses the same rail handler, and works with both panels closed.

Reproduce an opening

Download the example above, open the simulation, expand the controls, then use Share & reproduce → Import JSON. The example uses authored rules and a fixed seeded starting field; it is independent of the site’s editable default composition. Import starts paused at Step zero.

Share links and JSON reproduce the configured starting conditions, including hidden layers rebuilt by Reset. They do not save an evolved board, hand-painted cells, speed or display preferences. Determinism applies to the same rule version and Step sequence; real-time playback rates vary by device.

Larger fields and more involved rules can reduce playback speed. Read the configuration format and automated-access guide for compatibility details.