Line — user manual
SOE · Line — 1D elementary cellular automata · the line before the plane
What this is
Line runs the simplest cellular automata there are: a single row of cells, each one either on or off, evolving one generation at a time. Each new generation is drawn as the next row down, so the screen fills from the top and becomes the automaton's whole history at once — a spacetime diagram, with time flowing downward.
A cell's next state depends on just three cells in the row above it: itself and its two immediate neighbours. Three cells, each on or off, make eight possible neighbourhoods. A rule is simply a choice of which of those eight neighbourhoods produce an "on" cell — eight yes/no answers, read together as a single 8-bit number from 0 to 255. That one number is the entire universe you're watching.
Quick start
- In the Rule group, click the 90 preset (or type 90 into Rule number).
- Open Run and press Seed to lay down a starting row.
- Press Run, and watch the pattern build downward.
Rule 90 from a single lit cell draws a Sierpiński triangle — structure unfolding from one pixel.
The controls
The panel is a set of collapsible groups. Each is described below with its controls named exactly as they appear.
Rule
- Rule number — the automaton itself, 0–255. Type any number to load it.
- Sweep — drag to scan through all 256 rules quickly; the fastest way to hunt for interesting behaviour.
- Presets (90 · 30 · 110 · 184 · 150 · 54) — six rules worth knowing; see Things to try.
Run
- Seed — lay down the starting generation (the top row), using the current Seed & boundary settings.
- Step — advance exactly one generation; good for watching a rule move slowly.
- Run — evolve continuously until you press it again.
- Clear — wipe the canvas back to empty.
- Speed — generations per second, from 1 (slow, to study it) to 30 (fast).
Seed & boundary
- single cell / random — start from one lit cell in the centre, or a random scatter across the row.
- Density — for a random seed, the fraction of cells that begin on (0.02 sparse → 0.9 dense).
- Seed value — the number used to generate a random seed. The same value reproduces the same "random" start every time, so a pattern you like is repeatable. (Default 112358 — the Fibonacci run, 1·1·2·3·5·8.)
- dead edges / wrap (ring) — what happens at the two ends of the line. Dead edges treats everything past the edge as permanently off. Wrap joins the two ends into a ring, so a pattern running off one side reappears on the other.
Display
- Colour — imprint (cyan), life (amber), or mono (white). Imprint is the SOE house blue.
- Cell size — pixels per cell, 1 (fine, more history fits on screen) to 8 (chunky, easier to read).
Library
- Library selector + Apply — load a saved configuration.
- Copy link — copies a URL that encodes your current setup; anyone who opens it sees exactly your rule and settings. The simplest way to share a find.
- Save recipe / Load recipe — export the current setup to a
.jsonfile, or load one back in.
Things to try
- Rule 90, single cell — the Sierpiński triangle. Pure structure from one cell.
- Rule 30 — looks random, and genuinely is used as a random-number generator. The left half stays ordered while the right dissolves into chaos: order and disorder from one rule.
- Rule 110 — the famous one. Complex enough to be Turing-complete — in principle able to compute anything. Watch the little gliders drift and collide.
- Rule 184 — traffic flow. With a random seed it sorts itself into moving and stopped "cars."
- Wrap vs dead edges — run rule 90 on a ring (wrap) and watch the triangle's edges fold back and interfere with themselves.
- Sweep, slowly — let the whole 0–255 landscape go past. Most rules are inert; a handful are alive. That contrast is the subject.
A little deeper (optional)
The eight neighbourhoods, read from 111 down to 000, map onto the eight bits of the rule number. Rule 90 in binary is 01011010 — so neighbourhoods 110, 100, 011 and 001 turn a cell on, and the rest leave it off. That is the whole machine: eight bits, one line, and time.
Life Field — user manual
SOE · Life Field — Game of Life · 2D & 3D · cellular automata studio
What this is
Life Field runs Conway's Game of Life and its relatives, in two dimensions and three. The rules are simple and local: every cell counts its live neighbours, and a short table decides whether it lives, dies, or is born next step. From that tiny rule, gliders crawl, oscillators breathe, and whole machines assemble themselves — order that nobody placed there by hand.
The studio adds two things to the classic game. It lifts Life into 3D, where the neighbourhood and the surviving rules are very different. And it can bias the field onto a torus — confining where life is allowed to grow, so the game plays out across a curved surface instead of a flat grid. That second idea is the bridge from this studio to the Torus.
Quick start
- In the Game of Life group, leave the dimension on 2D.
- Open Library, choose 2D · Conway and press Apply recipe.
- Back in Game of Life, press Seed, then Run.
You'll see the classic Conway soup settle into still lifes, blinkers, and the odd glider sailing off across the grid.
The controls
The panel is a stack of collapsible groups. Each control below is named exactly as it appears.
Game of Life
- 2D / 3D — the dimension the game runs in. The rule space and behaviour change completely between them (see Rule & seed).
- Game of Life / Fractal — the dynamics. Game of Life uses neighbour-count rules; Fractal grows a deterministic flake (a replicator-style pattern) instead.
- Seed — lay down a fresh starting state from the current seed settings.
- Step — advance exactly one generation.
- Run — evolve continuously until pressed again.
- Clear — empty the field.
- Speed — generations per second, 1 (slow) to 30 (fast).
Rule & seed
- Birth B / Survive S — the rule, in B/S notation. A dead cell is born when
its live-neighbour count is one of the numbers in B; a live cell survives
when its count is in S. Conway is
B3 / S23. The valid range depends on the dimension: 0–8 neighbours in 2D, 0–26 in 3D. - soup / single cell / germ — the starting state: a random fill, one live cell, or a small solid block.
- Germ size (germ) — how large that block is, 1–5.
- Density (soup) — fraction of cells that start alive, 0.02–0.6.
- Bias γ (soup) — skews the random fill; higher values clump it.
- Seed value — the number behind the random seed. The same value reproduces the same "random" start, so a result you like is repeatable. (Default 112358 — the Fibonacci run.)
- Slice of full game / Board + influence — how the grid is played and viewed. Slice of full game evolves the whole grid and shows the whole object. Board + influence plays only the central (D−1) layer as the board, while the layers around it feed their neighbour counts in as influence — a way to watch a lower-dimensional board sitting inside a higher-dimensional context.
Substrate bias
This is what confines life to a shape — the torus living inside the box. - None — unbiased / Toroidal bias — run over the whole grid, or only where a torus-shaped field permits. - Bias mode — how strictly the shape constrains the game: - mask — anything off the shape is simply dead. - birthGate — no new births in the void, but existing cells may survive. - seedOnly — the shape only shapes the initial seed; growth is then free. - Viability floor — the field strength below which a location counts as void. - r₀ / a — the torus geometry: major radius and tube radius. - Elongation κ (3D) — stretches the torus along an axis. - mode m / mode n — modal ripples wrapped around the torus; they corrugate the surface life grows on. - Twist — shears those modes around the ring. - Falloff σ — how sharply the field fades away from the surface. - Field wt — how strongly the field weights the game. - Half-extent — the overall size of the shaped region. - Bias cloud — show the field itself as a faint cloud. - Cull < — hide the weakest field points so the cloud stays readable.
Scale & boundary
- Cell budget — the total number of cells; a log slider, with quick presets 97k / 1M / 4M. More cells means a finer, larger grid — and more work for the machine.
- dead borders / toroidal wrap — the edges of the grid. Dead borders treats outside as permanently empty; toroidal wrap joins opposite faces so patterns leaving one side return on the other.
Display
- Colour by — age (time alive), height (position), or bias (field strength).
- Cell size — how large each cell is drawn, 0.2–1.0.
- View — full object, or board (D−1) to isolate the central layer.
- Cells as — auto, cubes, or points. Points are lightest at high cell counts.
- Frame cage — show the bounding box.
- Ghost substrate (2D/3D) — show a faint outline of the torus the bias defines.
- Auto-rotate view — slowly turn the 3D scene.
Library
- Recipe selector + Apply recipe — load a saved configuration. Stocked with 2D classics (Conway, HighLife, Maze, Day & Night, Diamoeba, Fredkin replicator) and 3D rules (Life froth, crystal, Fredkin sponge).
- Save recipe / Load recipe — export the current setup to
.json, or load one.
Things to try
- Conway gliders — 2D Conway, soup seed; spot the five-cell gliders that move diagonally forever.
- HighLife (B36/S23) — like Conway but with a self-replicating pattern; load it from the Library and watch replicators copy themselves.
- 3D Life froth — switch to 3D, load 3D · Life froth; 3D Life is far rarer and stranger than 2D, since most 3D rules either die out or explode.
- Life on a torus — keep 2D Conway, open Substrate bias, pick Toroidal bias with mask, and turn on Ghost substrate. Now the game only lives on the donut. Try raising mode m / mode n to corrugate it.
- Board + influence — in 3D, set the board mode to Board + influence and watch a 2D board driven by the 3D shell around it.
A little deeper (optional)
In 2D, each cell has eight neighbours (the Moore neighbourhood), so counts run
0–8 and Conway's B3/S23 sits in a narrow sweet spot between dying out and
overcrowding. In 3D the neighbourhood jumps to 26, the counts run 0–26, and that
same balance is much harder to find — which is why working 3D rules (like Bays'
B6/S567) are prized rarities rather than the norm. Pushing Life up a dimension
isn't a cosmetic change; it rewrites what's possible.
Torus — user manual
SOE · Torus — a magnetically confined plasma field you can shape, move, hear, and animate
What this is
The Torus is a tokamak in miniature — a doughnut of plasma held in place by a twisting magnetic field, the same configuration fusion reactors use. You set its shape and field, watch how the confinement responds, and — because every part of the field has a natural rhythm — you can hear it as well as see it.
Two things make it more than a static picture. The field can be set in motion (it wobbles, ripples, and rotates), and any configuration can be keyframed and played back, so one state can flow into another. The built-in "Apple → Smoke" sequence is exactly that: a tight, apple-like torus loosening into a drifting smoke ring.
Quick start
- Open the Presets menu (bottom bar) and choose Apple.
- Press ♪ Sound in the top bar and listen to the field.
- Open Presets → Apple → Smoke, switch to Playback, and press Play.
You'll watch — and hear — the apple unwind into a smoke ring.
The controls
Top bar
- ♪ Sound — turn the field's sonification on or off.
- Controls — show or hide the parameter panel (left).
- Readouts — show or hide the live physics readouts (right).
Authoring & Playback
The Torus has two modes. - Authoring — where you shape the field and set keyframes (the default). - Playback — plays a recorded sequence back, with transport controls: Stop · Step backward · Play backward · Pause · Play · Step forward, plus a scrub bar to drag through the timeline by hand.
The structure, field, plasma and motion values can be keyframed and eased between — that's how a transition like Apple → Smoke is built.
Structure
- Major radius R₀ — the radius of the ring itself (m).
- Minor radius a — the radius of the tube. R₀ ÷ a is the aspect ratio.
- Elongation κ — stretches the cross-section (1 = circular).
- Triangularity δ — pulls the cross-section into a D-shape, as real tokamaks do.
Field
- Field magnitude B₀ — strength of the confining magnetic field (tesla).
- Twist (q₀) — the safety factor: how many times a field line travels the long way around per turn it makes the short way.
- Shear — how that twist changes from core to edge.
Plasma
- Density ρ — plasma density (log scale).
- Edge density — the density out at the edge, shaping the profile.
Motion
- Kink amplitude — displaces the column off its axis: the m=1 kink, the wobble. (This is exactly the motion the SOE logo's offset dot depicts.)
- Ripple amplitude — a finer surface ripple.
- Poloidal mode m — wavelengths the short way around the tube (1–12).
- Toroidal mode n — wavelengths the long way around the ring (1–16).
- Rotation — spin rate in Hz (negative reverses direction).
Appearance
- Surface — brightness, opacity, Relief (welts), Bloom, Micro-relief, Micro density.
- Grid — brightness, opacity, Mesh density.
- Volume — Shells (nested surfaces) and Detail.
Field lines
Overlays you can switch on, each with Opacity / Brightness / Count: - Toroidal field — lines running the long way around. - Flux contours — loops of constant flux. - Helical lines — twisting field lines, with a Turns control.
Lighting
- Strength (0 = off), Azimuth, Elevation, Ambient floor.
Particle medium
A drifting cloud that reveals the flow around the field: - Opacity (0 = off), Count, Particle size, Spread, Flow speed, Roll · poloidal, Swirl · toroidal.
Colour
Colour the surface by field strength, magnetic footprint, density, field-line pitch, or flat.
Sound — the field heard
- Ambient / Spatial — Ambient plays the whole field at once, with no sense of distance. Spatial plays it from your viewpoint: zoom out toward silence, fly into the tube to be immersed, cross the resonance shell and the Beat swells.
- Master — overall level.
- Four voices, each with Solo (S), Mute (M), a level fader, and a live frequency readout (with musical note name):
- Alfvén rate — the field's fundamental timescale.
- Toroidal mode · n and Poloidal mode · m — the two mode numbers, sung.
- Beat · resonance — the beat between them.
Presets & recipes (bottom bar)
- Reset — return everything to defaults.
- Presets — Apple · Smoke vortex ring · Apple → Smoke.
- Save recipe / Load recipe — export the whole configuration to
.json, or load one back. These recipes are also what feed the Media gallery's stills, transforms, flights, sequences and renders.
Things to try
- Load Apple, press Sound — the simplest way in: a shaped field, heard.
- Raise Kink amplitude — watch the column lean off its axis. That lean is the wobble the logo is built from.
- Push Triangularity δ toward 0.8 — the D-shaped cross-section of a real tokamak.
- Switch Sound to Spatial and fly the camera into the tube — the field rises up around you.
- Apple → Smoke in Playback — press Play and let one field become another.
- Solo the Beat voice and sweep Toroidal mode n — hear resonances pass through as the two mode frequencies drift in and out of step.
A little deeper (optional)
Everything here is a real confinement quantity. R₀ ÷ a is the aspect ratio; q₀ is the safety factor that decides whether the plasma is stable or kinks; κ and δ are the shaping knobs that let modern tokamaks hold more pressure. The motion section is where instabilities live — the m=1 kink is the column buckling off-axis, which is why it became the brand's mark. And the four voices aren't decorative: they're the field's genuine timescales — the Alfvén rate and the mode frequencies — pitched into hearing range, so the same physics that shapes the picture also makes the sound.