# GOL-022: Hidden Current

Invisible viruses follow living sight lines. Living hosts shelter nearby life, coupling a hidden moving layer to the familiar rhythms of Life.

[Open simulation](https://100gol.com/experiments/022) · [Directory](https://100gol.com/experiments)

## What to explore

Expose feedback between ordinary Life, attracted mobile viruses and survival
halos. Viruses never transport the cell matrix directly. Cluster motion, if it
emerges, must come from births and selective survival. Measure activity honestly;
neither perpetual motion nor rigid traveling organisms is promised.

## Rules, update order and replay

Two aligned binary square lattices, 80/120/160 square, toroidal by default or
bounded with off-field cells absent. A virus additionally owns its last heading:
-1 unassigned, then 0 N, 1 NE, 2 E, 3 SE, 4 S, 5 SW, 6 W, 7 NW.
Minimum engine dimensions are 13 so radius-six wrapped neighborhoods are distinct.

Each Step freezes both layers. Viruses count living cells at distances 1 through
sight distance along exactly eight straight rays; intervening life does not
occlude later life, off-axis cells do not count, and the host is excluded.
A strongest count at or above attraction threshold selects heading. A qualifying
tie retains the old heading only when it is one of the maxima, otherwise the virus
rests without erasing its remembered heading. Below threshold (including no life),
weak-signal behavior either coasts along the remembered heading or rests without
erasing it. An unassigned virus cannot coast. Selected headings are retained even
when movement is blocked. A threshold above sight distance deliberately makes
all signals weak; the composer explains this, and randomizers avoid this case.

Every Step senses life and updates headings, even between movement opportunities.
All viruses may jump on Steps N, 2N, 3N, etc., where N is movement interval 1–8.
The next Step is generation+1. Interval edits preserve generation and immediately
use the new interval's multiples; no hidden private phase is introduced. Reset
and Clear return to Step zero. Protection and ordinary Life still act every Step.

Moves jump exactly movement distance 1–6 spaces in the selected direction, with
no intermediate movement, protection or collision substeps. Only landing occupancy
matters; paths may cross and pass over intervening viruses. Out-of-bounds landings
rest, with no shortened jump or edge bounce. All shared-destination
claimants rest without retries. A move into an occupied viral position succeeds
only if its occupant succeeds in leaving; blocking propagates backwards through
chains. Closed cycles and swaps succeed simultaneously. No cell-layer occupancy
blocks viruses. Virus number is conserved and there is at most one per position.

Current living hosts with a current virus protect all currently living cells at
Chebyshev distance <= protection radius, including themselves. Protection does
not propagate from protected neighbors and never revives a dead cell. Ordinary
Life counts the frozen immediate Moore neighborhood using configurable B/S masks.
Final life is ordinary Life OR (current living AND covered). Movement arrivals do
not protect until the following Step. Commit both complete layers together.

Full replay state contains board, virus occupancy, remembered headings, Step and
previous frozen occupancy, ordinary proposals, coverage, virus origins, proposed
headings/targets, claim counts and movement reasons. No evolution randomness.
Reset reconstructs both layers with independent named seeds, clears headings and
evidence, and returns to Step zero. Clear empties both layers. Painting edits only
life, preserves viruses/headings/Step and clears evidence. Rules and topology
pause and preserve both matrices and headings. Initial density/seed edits apply
on Reset; world/profile or pattern changes rebuild both layers from selected seeds.

## Reading the simulation

Canvas 2D binary lime life by default. With Reveal viruses, outlined amber diamonds
show viruses and cyan shows living cells saved by the previous Step's protection.
Color off simplifies life without hiding explicitly revealed viral markers.
Selected inspection outlines eight sight rays, the selected host's protection
square, nearby protection sources and the movement target. Written evidence reports
all eight counts, strongest count versus threshold, weak-signal behavior, next
movement Step and countdown, remembered/proposed heading, target/claims/blocking reason,
ordinary Life count/result, coverage source count, final next life and next viral
occupancy. Previous-Step protection and movement reasons remain distinct from the
forecast. Keyboard arrows select, Enter paints only outside inspection, P plays,
S steps. Mobile shortcut follows instructions and calls the shared rail handler.

## Reproduce a starting configuration

[Download example JSON](https://100gol.com/api/experiments/022/configuration). Import it using Share & reproduce in the simulation controls. It starts paused at Step zero. Files contain rules and initial conditions, not evolved boards or manual edits. See [format, limitations and automated access](https://100gol.com/agents).
