GOL-013 · technical companion

Second Thought

Every cell first proposes an ordinary Life transition, then forecasts the ordinary futures of its eight neighbors: projected collapse can protect a life, while projected expansion can suppress a birth.

At a glance

geometry
Square lattice + projected first-ring population
neighborhood
Nested Moore · 8 forecast neighbors + 16 second-ring inputs
states
Dead / alive + ordinary transition and veto evidence
update
Synchronous Life proposal + directional volatility veto
renderer
Canvas 2D

What to explore

Ordinary Life should remain recognizable and active while local projected volatility can protect a scheduled death or suppress a scheduled birth. Both secondary pathways must remain consequential over long runs without freezing a dense field or turning the Step into a fixed-point search.

Rules, update order and replay

Pass one computes a complete configurable Life proposal from one frozen square Moore board. For each focal cell, pass two counts current and proposed occupancy among its same eight neighbors. Each neighbor's ordinary proposal used its own Moore count, so the forecast incorporates the sixteen-cell second ring without recursing. A projected loss strictly greater than contraction tolerance may veto only an ordinary death. A projected gain strictly greater than expansion tolerance may veto only an ordinary birth. Equality is allowed; stable ordinary proposals cannot be changed by the secondary rule. Pass three commits all final states and evidence synchronously. Replay requires occupancy, ordinary/veto evidence, generation, configuration, topology, profile, and start. Reset, Clear, and manual edits clear transient evidence.

Reading the simulation

The renderer distinguishes ordinary accepted births/deaths from contraction and expansion vetoes. Inspection marks projected-alive and projected-dead first-ring subjects, distinguishes their sixteen second-ring inputs, and reports current count, ordinary proposal, projected count, signed delta, exact veto reason, and final state. Context and legend name every outcome so the forecast remains understandable without relying on color.

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.