Sol — the universe, written in front of you
This page builds a working model of the universe in real time, in front of you. Nothing on it is pre-rendered and no images are loaded: a terminal types real JavaScript, executes it against the live document, and every object you see appears because a line of code ran.
Act I — thirteen point eight billion years
It opens with no scene, no camera and no clock; spacetime() creates them. Then the
first instants after t=0, cosmic inflation, the quark-gluon plasma, recombination at 380,000 years
when the universe turned transparent and released the cosmic microwave background, the dark ages,
the assembly of the cosmic web, the ignition of the first Population III stars, the supernovae that
forged every element heavier than helium, galaxy formation, and finally one molecular cloud
collapsing into a protoplanetary disc 4.6 billion years ago — ending with the Sun switching on.
The Big Bang is deliberately not drawn as an explosion into empty space: the camera sits inside a
field with no centre and no edge, and what changes is the scale factor.
Act II — eight worlds
The Sun, then Mercury, Venus, Earth, Mars, the main asteroid belt, Jupiter, Saturn, Uranus and Neptune. Each planet is placed using JPL Keplerian elements for the J2000 epoch advanced to today's date, so the positions are where those planets actually are while you watch. Planet radii are exactly true relative to each other; orbital distances are compressed by r = 200·AU^0.55, which is stated on screen. Surfaces are generated procedurally as albedo, normal and roughness maps — Earth's oceans are given a low roughness so sunlight glints off them, Saturn's shadow falls across its own rings and the rings shadow the planet back, and the Kirkwood gaps in the asteroid belt are cut rather than drawn.
Act III — the crossing to Andromeda
M31 lies 2,537,000 light years away and is closing on us at 110 km/s. At the speed of light the crossing takes 2,537,000 years. At 0.9999c it still takes 2,537,000 years in Earth's frame, but only about 35,884 years pass aboard the ship. An eternity for the machine narrating it; one cryosec for anyone asleep.
Sources and technique
Every figure comes from the NASA/GSFC planetary fact sheets, NASA science pages and JPL Solar System Dynamics. Rendering is WebGL through three.js, with a hand-written post chain: bloom, an anamorphic streak, ACES filmic tonemapping, chromatic aberration, vignette and film grain.
You can take over
Press Pause or the space bar at any point and the keyboard is yours. Press
M to minimise the console and see the whole frame. Every command the tour runs is available
to you — goto('saturn'), cut('ringplane','saturn'), stats('jupiter'),
warp(9), help().
Built by XeroIntel. The self-rewriting explainer that used to live here is at knexweb.com/explainer.