Reaction–Diffusion

A Gray–Scott reaction–diffusion simulation seeded by your image, with curated feed/kill presets for spots, stripes, worms, mitosis, coral and chaos.

DISTORT family

← All the FXIn the app this is called Reaction.

Family
DISTORT
Availability
Part of the full library — see pricing
Controls with options
3

Two numbers, and everything that grows out of them

Gray–Scott is about as small as a model of pattern formation gets. Two virtual chemicals sit on a grid. A spreads quickly, B spreads more slowly, and wherever B is already present the reaction converts A into more of it. A is fed in from outside at some rate; B is removed at some rate. That is the whole system: two diffusion constants and two numbers, feed and kill.

What comes out is the reason it has been studied for decades. Depending on those two numbers you get spots that divide like cells, stripes that wander into mazes, worms that grow and branch, structures that look like coral, and regimes that never settle at all. Turing proposed in 1952 that exactly this kind of system — a fast inhibitor and a slow activator — was how animals get their markings, and the resemblance to leopard spots and fish stripes is not a coincidence.

The catch is that almost all of that behaviour lives in a very narrow band of the feed/kill plane. Step outside it and the simulation either dies to nothing or floods to a flat field, with no interesting middle. That is precisely why the presets exist: Spots, Stripes, Worms, Mitosis, Coral and Chaos are known-good coordinates in that plane, and Manual hands you the dials once you know what you are steering toward.

Seeding it with the picture

Reaction–diffusion is famously sensitive to what it starts from. Two runs from slightly different seeds diverge completely, and that sensitivity is the lever: seed it with the image and the pattern grows out of the subject rather than merely sitting on top of one.

Noise gives you the pure simulation, unrelated to the picture. Image seeds directly from the photograph, so its structure decides where growth starts and where it stalls. Image + Noise keeps the picture’s influence while restoring enough randomness to break up regularity. Image Trace is the most restrained of the four — the picture guides the pattern rather than being consumed by it, which is usually what you want when the subject still needs to be recognisable.

The render modes then decide how much of the simulation you actually see: either chemical on its own, tinted, multiplied back against the image, or rendered as ink.

Reaction and Lenia are not the same thing

Both grow, and they are worth telling apart. Reaction is a chemistry model: two substances, fixed rules, patterns that emerge from local interaction and usually settle into a stable texture.

Lenia is a life model — the continuous generalisation of Conway’s Game of Life, with continuous states, continuous space and a smooth growth kernel instead of a handful of discrete rules. It produces persistent, moving, self-maintaining creatures rather than static patterns. If you want texture that covers the frame, that is Reaction. If you want things that look alive and travel, that is Lenia.

When you’d reach for it

When you want the image to generate something rather than be treated. It is a generator that happens to take a photograph as an input, and it rewards being given a simple, high-contrast subject to grow from.

Every option, from the app

Generated from the registry the app publishes, so this list is whatever the current build actually ships — not a copy of it.

Preset
SpotsStripesWormsMitosisCoralChaosManual
Seed
NoiseImageImage + NoiseImage Trace
Render
B (clean)A (clean)B tintedImage*BImage*AInkInk (inv)

Open the app to try it; the free effects work with no signup. Open V3KTR · all the FX · how it works