A differentiable update rule — a tiny neural network applied identically to every cell — trained by gradient descent to grow from a single seed into a target image, then to self-repair when you damage it. The whole thing trains live in your browser, no GPU, no server. This is the Mordvintsev–Niklasson "Growing NCA" line; the open questions are listed below.
Click the canvas to wound the pattern. A trained rule heals it; an untrained one can't — that gap is the point.
Switch target any time — training continues against the new goal.
Damage-in-training is what buys robust self-repair: the rule sees wounds and learns to regrow through them.
Each cell holds 12 numbers (RGBA + 8 hidden). One step: perceive (the cell + Sobel gradients of its neighbourhood) → a 2-layer net → a small stochastic update added to the state, then dead cells (α≤0.1) are masked off.
Loss = pixel error vs the target after N steps. We backprop through time across the whole rollout and step Adam. Last layer starts at zero, so the rule begins as "do nothing" and learns to act.
This page is a working seed for a real program, not just a toy. Concrete directions where the literature is still thin: