Drag to pan · Click canvas for arrow keys · pinch/wheel to zoom

About Aperiodic Life

Aperiodic life package, vibe-coded by Murdoch J. Gabbay

Version 3.7.6 · Released

Complete pattern catalogue

All curated configurations, with precise rules, diagrams, verification, originality assessments and sources.

The PDF and source are included in the full package. If you copied the standalone HTML elsewhere, keep its docs/catalogue folder alongside it, or read the online catalogue.

The app supports traditional square and hexagonal boards, the Einstein “hat” monotile, and Penrose P3 rhombs. Every tile is one automaton cell.

On a phone or tablet: drag one finger to pan, pinch two fingers to zoom, or move both fingers together to pan. Pinching works with either tool selected. In Paint / erase cells, tap or drag one finger to edit; after a pinch, lift all fingers before starting a new paint stroke.

The Einstein patch is generated from the H/T/P/F substitution system. The Penrose patch is generated by exact Robinson-triangle deflation and paired into thin and thick golden rhombs. Hat contacts use exact triangular-lattice coordinates; Penrose vertices use exact integer coefficients in Z[φ]. Adjacency is therefore not inferred from visual tolerances.

Shared edge gives the von Neumann graph on squares and the ordinary six-neighbour graph on hexagons. Edge or corner gives the Moore graph on squares; it coincides with shared-edge adjacency for regular hexagons. On the aperiodic tilings it also counts point contacts. Cells beyond the finite patch are absent and contribute to no neighbour count. Border rings can be locked in state 0 to keep experiments away from the boundary.

Birth/survival rules use B…/S… notation. For example, B3/S23 births a dead cell with three live neighbours and preserves a live cell with two or three. Counts can be comma-separated; use brackets for multi-digit counts, such as B[10]/S[9,10]. Named priority tables such as TABLE:HAT-B also count higher states and support the Hat gliders published by James Edmond in September 2026.

Search Curated configurations at the top of the controls by tiling, rule, pattern name or credited author. Use Load to inspect a paused initial state or Load & run to start it immediately. The Play/Pause button at the top right of the canvas stays available on phones, including while the controls are open. Save state preserves an exact experimental phase, including refractory cells, for later inspection or sharing.

Published patterns and adaptations are credited individually in the catalogue and app. Patterns found by this package are identified separately; an unsuccessful search for precedents does not establish historical priority. Hat A/B/C rules and gliders are credited to James Edmond’s interactive project and 2026 paper.

Project code is MIT-licensed; Hat geometry adapted from Craig S. Kaplan retains its BSD 3-Clause licence. The full licence notices are included in the source package and the standalone file’s source header. This software is provided as is, without warranty, including fitness for a particular purpose; the authors accept no liability to the extent permitted by law.

How the rules work

One tile is one cell. At each generation every cell reads the same old generation, then all cells update together. Changes made earlier in a step therefore cannot affect cells updated later in that step.

Neighbours and the finite patch

Shared edge counts cells whose tile boundaries share an edge segment. Edge or corner also counts tiles that meet only at a point. The regular hexagonal choices coincide; on square and aperiodic boards they can differ. Birth/survival rules count selected neighbours in state 1; priority tables count each state separately.

The displayed board is finite. Missing cells beyond it are absent from the graph, so they contribute to no count, including the state-0 count in a priority table. A value of 1 dead border ring locks the outer graph boundary in state 0; each additional ring locks cells one more neighbour step inward. Glider evidence is measured before boundary contact.

Reading B…/S…

B gives the live-neighbour counts that turn a state-0 cell into state 1. S gives the counts that keep a state-1 cell in state 1. Thus B3/S23 means birth with exactly 3 live neighbours, and survival with 2 or 3. A blank list means none, so B2/S has births at 2 but no survival count.

Compact digits are separate counts: B36 means 3 or 6. Use commas or brackets when a count has more than one digit, for example B[10]/S[9,10].

Cell states in birth/survival rules

State 0
Dead and receptive. A matching B count changes it to state 1; otherwise it stays 0.
State 1
Live, and the only state counted as a live neighbour. A matching S count keeps it at 1.
Two states
If a state-1 cell does not survive, it returns directly to state 0.
More than two
If it does not survive, state 1 advances through refractory states 2, 3, …, then returns to 0. Refractory cells ignore B and S while progressing.

Hat gliders and priority tables

The Hat A, B and C presets implement James Edmond’s published tables. Each ordered row tests the current state and minimum neighbour counts in specified states. The first matching row supplies the next state; no match gives state 0. Higher states are visible signals, not automatically ageing refractory cells. The number of states is fixed by the table.

The derived three-state preset uses this shorter rule: a state-0 cell becomes 1 if it has fewer than two state-1 neighbours and at least one state-2 neighbour; a state-1 cell becomes 2 if it has a state-2 neighbour; everything else becomes 0. It reproduces the tested B flights after relabelling, but differs on some other configurations.

The Hat wake traveller comes from this project’s rule search. Its two-row simplification changes state 1 to 2 when a state-2 neighbour is present; a state-0 cell becomes 1 when it has at least four state-0 neighbours and a state-2 neighbour. Everything else becomes 0. This simplification reproduces the published Spectre relay’s checked mature flight after relabelling, although its launch can differ. The four-state wake rule has a different body, including a short-lived state 3.

Choose a curated Hat traveller or launcher to load its seed and neighbourhood. Each summary distinguishes published rules from separately searched ones. The evidence describes finite observations; neither a first-discovery claim nor a proof of endless travel is made. Source tables, longer replays and search records accompany the project.

What “traveller” means here

An exact translated return means the complete configuration—including every refractory state—was found again after a nonzero geometric translation. This is an exact statement about those two measured generations on the displayed finite patch; an aperiodic substrate need not repeat farther along the path.

An observed traveller need not have a translated recurrence. It must remain active, coherent, boundary-clear, and continue making net progress through the stated test horizon. The label never claims motion forever. Each curated summary states its measured horizon, and the source evidence records the population, radius, displacement, and border-distance checks.