Skip to content

Gallery

github-actions[bot] edited this page Oct 13, 2026 · 2 revisions

Gallery

Every picture here is either a real isotop render or a figure generated by a script in the repository; the one exception, the mockups of planned views, is labelled. The renders come from scripts/render_wiki_media.py, which regenerates them from the release binary, and the figures from docs/figures/*.py (stdlib-only, deterministic). Nothing is retouched.

The first eighteen views

History

Showing motion as a row of stills is older than cinema. In 1878 Eadweard Muybridge, commissioned by Leland Stanford to settle whether a galloping horse ever has all four hooves off the ground, lined a track at Stanford's Palo Alto farm with cameras that the horse tripped as it passed, and published the sequence as The Horse in Motion; the answer was yes. In 1882 the French physiologist Étienne-Jules Marey built a camera shaped like a rifle that took a series of exposures on one plate. Both made the same discovery that the filmstrips and loops here rest on: a movement too fast, or too slow, to read as it happens becomes legible as a row.

The gallery contains hens, fish, crabs and starlings. It contains no horse.

How these were made

  • Stills are headless demo renders: isotop --demo --view <name> --renderer cpu --width 1600 --time <t> --output <file>. The demo workload is synthetic and deterministic, so the same command gives the same pixels (Determinism, Headless and reproducible renders). Each caption gives the --time used, in demo seconds.
  • Loops are 50 consecutive frames at 10 fps, 960 by 540. A headless run draws one frame, so a loop is built from --benchmark N --output (the last of N consecutive frames) to keep one continuous trajectory of the simulation with the demo snapshot held fixed. They are not seamless: the last frame jumps back to the first, and slow views (Ptolemy, Coop) barely move in five seconds.
  • There is no Necropolis loop on purpose: a headless Necropolis frame is static apart from drifting fog.

The views

City

Demo render at --time 60.

Orbit

Demo render at --time 60.

Orbit, five seconds

Ripple

Demo render at --time 12.

Ripple, five seconds

Flow

Demo render at --time 60.

Flow, five seconds

Cores

Demo render at --time 60.

Cores, five seconds

Cells

Demo render at --time 150.

Strata

Demo render at --time 60.

Globe

Demo render at --time 12.

Reef

Demo render at --time 60.

Reef, five seconds

Coop

Demo render at --time 60.

Coop, five seconds

Matrix

Demo render at --time 60.

Ptolemy

Demo render at --time 300.

Ptolemy, five seconds

Tesseract

Demo render at --time 120.

Tesseract, five seconds

Necropolis

Demo render at --time 1383062.

The Necropolis still is at demo day 16.0, a real full moon: its moon is computed from the demo wall clock, so --time changes the phase. It is also at the trough of the demo's memory-pressure wave, which sets the fog density, so the fog is at its base level.

Cortex

Demo render at --time 60.

Horizon

Demo render at --time 60.

Murmuration

Demo render at --time 60.

Arbor

Demo render at --time 60.

HR

HR in diagram mode

Demo render at --time 12, in the sky and with --hr-diagram.

Hive

Demo render at --time 12.

Switchboard

Demo render at --time 12 (Linux only).

Screenshots from a terminal

The README's gallery uses captures of Ghostty running isotop --demo; the animations below are from those sessions.

Cores in motion

Ripple in motion

Reef in motion

History building up

Views that read a minute of history fill in as the session runs. A headless render always replays the warm-up from before time 0, so for some views the strip is a sliding window rather than a build-up; each caption says which.

Ptolemy at 15, 30, 45 and 60 s: stars first, then planets with epicycle trails.

Ptolemy filmstrip

Tesseract at 10, 25, 40 and 60 s: the worldlines lengthen. The replayed window saturates at 60 s although the recorder keeps 180 s.

Tesseract filmstrip

Strata at 10, 30, 60 and 120 s. Its warm-up replays 60 s from before time 0, so the history is already full at every time here: this is a sliding window, not a build-up.

Strata filmstrip

Necropolis across a lunation, at 0, 8.6, 16.0 and 23.4 days (thin crescent, first quarter, full, last quarter), all at zero fog pressure. It replays 600 s from before time 0, so there is no build-up to show.

Necropolis filmstrip

Figures

The mathematics pages and view pages carry their own figures. A few to start with:

Epicycle chain reconstructing a curve

Fourier epicycles reconstructing a closed curve — Math: Fourier Epicycles.

Vicsek order parameter against noise

The Vicsek order–disorder transition, for the 1995 rule and for the Coop yard — Math: Flocking.

Lattice dispersion of the ripple wave scheme

Numerical dispersion of the Ripple scheme against the continuum — Math: Wave Equation.

Sphere impostor geometry

How a sphere is shaded from the ray–sphere intersection — Theory: Scene and Display List.

Vogel spiral seating

Golden-angle seating, the basis of stable layout — Theory: Stable Layout.

Smoothing step response

The CPU smoothing filter's step response — Theory: Model and Rates.

Mockups of the planned views

These are not isotop output. The views do not exist yet. They are renders from the prototype scripts in docs/mockups/code, made to fix the look the specification asks for. Each page links the mockup beside its theory.

Mold mockup

Chamber mockup

Anthill mockup

Plumbing mockup

Morph mockup

Ouija mockup

Canyon mockup

Die mockup

Mockups of views since implemented

These seven were mockups when this wiki was begun and are real views now. The mockups are kept because the look they fixed is the look the views were built to; compare each with its render above.

Horizon mockup

Murmuration mockup

Cortex mockup

Arbor mockup

HR mockup

Hive mockup

Switchboard mockup

Clone this wiki locally