Repository navigation
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.

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.
-
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--timeused, 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.

Demo render at --time 60.

Demo render at --time 60.


Demo render at --time 12.


Demo render at --time 60.


Demo render at --time 60.


Demo render at --time 150.

Demo render at --time 60.

Demo render at --time 12.

Demo render at --time 60.


Demo render at --time 60.


Demo render at --time 60.

Demo render at --time 300.


Demo render at --time 120.


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.

Demo render at --time 60.

Demo render at --time 60.

Demo render at --time 60.

Demo render at --time 60.


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

Demo render at --time 12.

Demo render at --time 12 (Linux only).
The README's gallery uses captures of Ghostty running isotop --demo; the animations below are from those
sessions.



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.

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

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.

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.

The mathematics pages and view pages carry their own figures. A few to start with:
Fourier epicycles reconstructing a closed curve — Math: Fourier Epicycles.
The Vicsek order–disorder transition, for the 1995 rule and for the Coop yard — Math: Flocking.
Numerical dispersion of the Ripple scheme against the continuum — Math: Wave Equation.
How a sphere is shaded from the ray–sphere intersection — Theory: Scene and Display List.
Golden-angle seating, the basis of stable layout — Theory: Stable Layout.
The CPU smoothing filter's step response — Theory: Model and Rates.
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.








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.







isotop — maximalism for its own sake. Source: tfpickard/isotop. This wiki is published from wiki/ in the repository; edit it there. This footer is decorative.
Philosophy · Gallery · Glossary
Theory
Overview
Sampling: Linux
Sampling: macOS
Background sampler
Model and rates
Life events
History
Journal
Scene and display list
Camera and projection
Rasterization
GPU and parity
Picking
Terminal graphics
Stable layout
Determinism
Simulation toolkit
Colour
Text safety
Mathematics
Fourier epicycles
Wave equation
Flocking
Spatial hashing
Stellar photometry
Lorentz and Schlegel
Reaction-diffusion
Spiking neurons
Schwarzschild
Views
City · Orbit · Ripple
Flow · Cores · Cells
Strata · Globe · Reef
Coop · Matrix
Ptolemy · Tesseract
Necropolis · Cortex
Horizon · Murmuration
Arbor · HR
Hive · Switchboard
Armorial · Lights
Planned
Mold · Chamber
Anthill · Plumbing
Morph · Ouija
Canyon · Die
Guides
Writing a view
Recipes
Headless renders
Contributing to the wiki