A year of earthquakes. Sixty seconds.
This is the other kind of cubon — a dynamic one. The file doesn't just store the final picture: it carries an event journal, so the scene can replay its own history. Load the globe below, press play, and watch the planet breathe. Then make the same kind of film out of your own git repository — with one command.
2,129 real events, one open file.
Every dot is a real magnitude-5+ earthquake from the public USGS catalog — one full year of them. The dots sit exactly where they happened: nodes carry geo-anchors, and the globe layout pins them to a planet. Size is magnitude. Aftershocks are linked to their main shock, so when a big one hits, you see the consequence run down the chain as a ripple.
The point of this page isn't seismology. It's that the whole thing — 2,129 nodes, their links, and every timestamped event — travels as one .cubon file, replayed by the engine in your browser. No server streams it. No video was rendered. Old viewers that don't know about journals still open the same file and simply see the final scene.
A node being born — the moment that quake actually happened during the year.
Magnitude. The rare giants read instantly against thousands of ordinary events.
An aftershock chain lighting up — cause visibly catching up with consequence.
The scene's clock: play, pause, speed, loop — and a scrubber with the event-density histogram.
Try these three moves — right in the panel above.
Let the year run
Press ⏵ in the bottom-left player (or just wait — this cubon autoplays). Sixty seconds of scene time = one year of Earth. Drag the globe while it plays; replay doesn't lock the camera.
⟨ PRESS PLAY ⟩Scrub to the spikes
The scrubber doubles as a histogram of event density. The tall spikes are aftershock series — drag straight to one and watch a whole region light up in seconds.
⟨ DRAG THE TIMELINE ⟩Catch a chain
Pause and click a large dot. Its aftershock chain highlights — the quake's whole family tree. In the full app the inspector shows magnitude, depth and time of each event.
⟨ CLICK A BIG ONE ⟩A journal inside the file, not a video of the file.
A dynamic cubon is the open .cubon format, version 1.1: next to the usual nodes and edges sits an optional events journal — nodes born, updated, removed, pulses with ripples, each stamped with time. The engine folds the journal into a timeline with keyframes, so scrubbing backwards across thousands of events stays instant.
Because it's data, not footage, a replay stays alive: you can grab the camera mid-year, pause and interrogate any node, change the skin, or keep editing the final state. A video does none of that. And the same file is a normal static cubon for any viewer that ignores journals — the format degrades gracefully by design.
Your repository is a film. One command develops it.
The replayable twin of this showcase is "Life of a repo": your project's git history as a growing file tree — files are born, pulse with every commit, melt when deleted, and contributors orbit the work. Everyone who has a repository can make one.
Export the history
In any repository you have locally, run:
git log --reverse --date=iso-strict --name-status \ --pretty=format:"@%h|%ad|%an|%s" > repo.gitlogDrop it into the app
Drag repo.gitlog into the app. The importer builds the tree, the authors and the full event journal — and the replay starts by itself. Parsing happens in your browser: your code never leaves your machine.
Share the film
Replay journals are too big for a link-only share — so save to your free cloud library for a short link with access control, publish to the gallery, or just hand over the .cubon file itself.
⚙ For builders: the journal is part of the open format — any script can emit a .cubon v1.1 with an events log. This globe was generated by a ~200-line script from the public USGS feed; the generator ships in the repository. Whatever has timestamps can become a replay.