A neural cellular automaton that classifies voxel sea creatures the hard way: no cube ever sees the shape — each runs this 26k-parameter network and gossips with its 6 face-neighbours until the swarm agrees. Same architecture as the physical cube3D bricks; our training run, not the original authors'. Everything below renders live from eval.json — retraining updates this page.
rows = true species · columns = the swarm's majority verdict after 90 gossip ticks · 20 held-out specimens per species (seeds the trainer never saw). Hover a cell for detail.
Architecture — identical to the cube3D firmware network: 28-channel per-cube state (1 structure + 20 hidden + 7 class beliefs), 7-point-stencil perceive 28→84, dense 84→84→27, tanh residual update, stochastic fire rate 0.5. Training — reef/train/train_reef.py (PyTorch-CPU), the paper's protocol: masked cross-entropy on living cells after 56–88 random gossip ticks, kernel mask re-applied every step. Corpus — procedural specimens from reef/js/species.js, deterministic by (species, seed); the held-out set (last 20 seeds per species) is never trained and never crowd-filtered. JS parity — the exported weights reproduce the trainer's belief logits in the browser engine to <5×10⁻⁶ (reef/js/model.selftest.mjs, a deploy gate).
You can improve this model. The training corpus is filtered by crowd verdicts from the judging deck: specimens most humans reject get dropped before the next training run. The retrain is one dispatch of the train-reef.yml workflow — it pulls the votes, trains ~3 h, and refuses to commit below 90% held-out majority accuracy.