Our Solar System

How it was made

Nearly everything in the viewer is worked out from real numbers, real maps and real measurements, and where something is made up, the page that shows it says so. This is how each layer was built, where its data comes from and how it was checked, with every picture here rendered from the viewer itself1.

It all runs on a clock

Every body in the viewer is placed from the date. Pick a moment and it works out where each planet is from VSOP87, the planetary theory Pierre Bretagnon and Gérard Francou published in 19882, and from 1800 to 2200 the planets land within 100,000 km of JPL Horizons3, 4.

JPL's simpler fitted orbits, which stand in while the series loads, can be more than 8 million km out over the same years5.

The orrery behind these words runs that same series. Drag the date and the planets go where they really were, or will be, on that day. The distances are to scale and the dots aren't, since at this scale even Jupiter would be smaller than a pixel.

Pull out to Neptune and press Play, and each second is about two and a half years: the outer planets crawl while the inner ones blur round the Sun.

The Moon has a theory of its own, chapter 47 of Jean Meeus's Astronomical Algorithms6. Meeus gives its place in the frame of its own date, which turns about 0.4 degrees away from the planets' frame by 2027, enough to make the 2026 eclipse miss the Earth, so the viewer carries it across7.

The named moons fly orbits fitted to Horizons, fourteen numbers each, and every planet stands on its pole and turns on its prime meridian as the IAU's report gives them8, so Saturn's rings open and close as we see them from here3.

The Earth over the Atlantic as a plain lit ball carrying only its day map The same view with the viewer's sea: deep blue water and the Sun's glint off West Africa The same view with NASA's cloud layer over the Atlantic The same view with the air: the limb tinted blue and the edge of the day softened

The Earth, one layer at a time

Start with a ball and a photograph. The day map is NASA's Blue Marble Next Generation for June 2004, made by Reto Stöckli from the MODIS cameras9, and the land's height comes from NOAA's ETOPO 202210. On a plain lit ball, with nothing else on, this is all it is.

Each picture in this chapter is the same held frame of the viewer, 20 October 2026 at 17:00 UTC, with the layers above it switched off.

Then the sea gets a shader of its own. Its colour follows how deep the water is and how clear, from ETOPO's depths and MODIS-Aqua's measure of how fast light fades in the water, and the light fading down through it follows Morel and Maritorena's measurements11, 12.

The bright patch is the Sun's glint, spread over wind-ruffled waves the way Cox and Munk measured it from photographs of the Sun's glitter on the sea13.

The clouds are NASA's own, the Blue Marble's cloud layer from MODIS on the Terra satellite, built from its full 43,200 by 21,600 pixel original14, 1.

Then the air, a shell drawn with Rayleigh and Mie scattering after Sean O'Neil's chapter in GPU Gems 215, 16. It's what tints the limb blue and softens the edge of the day.

Last, the night. Past the terminator the cities come on from NASA's Black Marble, the Earth's lights in 2016 as the VIIRS camera on Suomi NPP saw them17.

Then it was checked against the real thing. NASA's EPIC camera photographs the whole sunlit Earth from deep space18, and on six of its frames from 2024 to 2026 the viewer's clear ocean came out at 0.94 of EPIC's brightness, the Sahara at 1.05 and the Amazon at 0.95.

The colours were fitted to EPIC to begin with, so this shows how well the fit holds, and the accuracy page says as much19.

The Earth with every layer on The Earth as a plain lit ball with only its day map
Left of the line, the day map on a plain lit ball; right of it, everything the viewer adds, the sea, the clouds, the air and the night. Same frame, same moment.
Egypt, the Nile and the Red Sea from 1,400 km up in NASA's Landsat imagery The Nile delta from 160 km up The Nile at Cairo and Giza from 38 km up

Down to the ground

Fly in and the globe hands over to imagery streamed as you go. Down to about 31 metres a pixel it's NASA's, the Landsat WELD composite of 1999 served through NASA's GIBS20, 21.

1,400 km above Egypt, 20 October 2026 at 09:30 UTC.

The coarse levels ship with the site and the finer ones stream straight from NASA as you close in, so the delta sharpens as you drop through it21.

160 km above the Nile delta.

Go lower still and the viewer switches to Sentinel-2 cloudless by EOX, about 15 metres a pixel, colour-matched to the Landsat above it22, 21. These pictures stop a level short of that, so everything in them is NASA's.

38 km above Giza.

The Sun from 60 solar radii: a white core, a soft halo and diffraction rays The Sun in the Detailed style: an orange surface of granules, a sunspot and a prominence on the limb The Sun's white limb with a red prominence arching off it

The Sun, up close

From far off the Sun is too bright to look at, so it's drawn as a lens would see it, with a core that always clips white, a soft halo, twenty diffraction rays and a fan of fine strands after the glare in the human eye that Ritschel and colleagues simulated in 200923, 24.

Come close and it has a surface. Its granules are cells about 1,200 km across that are born, swell and die on a clock running ten times fast, and the whole disc darkens towards its edge by the law Neckel and Labs measured23, 25.

The sunspots follow the date, their number and latitude from the solar cycle, each group tilted by Joy's law26.

This is the Detailed style, in colour. The viewer opens on the Realistic style, which keeps the Sun white.

On the limb, prominences are volumes of glowing hydrogen, ray marched as curtains, loops and twisted arches, and one of the arches erupts every five minutes23.

The Realistic style, 1.9 solar radii from the Sun's centre.

The Milky Way towards the galaxy's centre from just beyond the Earth The asteroid belt as an arc of points beyond the Sun, lit by size

The sky behind it all

The stars you can pick out are real ones, from the HYG catalogue down to magnitude 8 and Tycho-2 from there to 1027, 28, and behind them is the glow of the faint ones from NASA's Deep Star Maps, made from ESA's Gaia29. They're all drawn at one exposure, with no diffraction spikes, and every one is placed through the same sky frame30.

Towards the centre of the galaxy, 20 June 2026.

The asteroid belt is 164,776 real asteroids from JPL's orbital elements, each solved on its own orbit for the date on the graphics card, so the Kirkwood gaps, the Hildas' triangle and Jupiter's Trojans are the data's own31, 30.

They shine at their true brightness by default, which is faint, and this picture turns on the switch that lights them by size.

The Earth from the zoom out, Europe and Africa by day The Milky Way seen from outside, a barred spiral The cosmic web, galaxies strung along filaments

From your street to the edge

The zoom out is one unbroken pull back from 8 km above home to the microwave background, about two minutes at a nearly even pace32, 33.

The planets are moved onto the camera's line so you pass them, and the flight says so while it does.

Pictures from the flight, rendered for the universe page.

Past the Milky Way come 44,228 named galaxies from catalogues such as HyperLEDA, each at its own distance with its own type, size and tilt34, 32.

Then 584,449 real galaxies from the Sloan Digital Sky Survey as Tempel and colleagues grouped them35, and past what the surveys have mapped, 1.5 million more from our own simulation of dark matter under its own gravity, run with the FastPM method on Planck's 2018 cosmology36, 37, 32.

A ray traced black hole, its disk seen wrapped over the top and under the bottom of the shadow A black hole in front of the Milky Way, the stars behind it bent round its shadow

Black holes, traced ray by ray

On the black holes page every pixel's light is followed backwards through the curved spacetime round the hole, stepped with RK4 in units of its own radius38, 39. The disk is a thin Shakura-Sunyaev disk40, each patch drawn as a blackbody at its temperature and shifted by its speed and by gravity, which is why one side burns brighter.

Near the shadow's edge each pixel traces five rays, so the thin ring of light that has looped round the hole stays a ring. Blurred to the Event Horizon Telescope's resolution, the model's ring comes out within 3% of the size of the one in the 2019 picture of M87*38, 41.

The sky behind is NASA's Deep Star Maps again.

A rocket lifting off the pad in Qmax A rocket climbing at dusk on its plume The Prospector rover on the Moon, its tracks behind it in the dust

A rocket game on the same Earth

Qmax, the rocketry game, flies on the same planet the viewer draws, 6,371 km in radius with about 9.4 km/s needed to reach orbit42, 43, 44. Round the ship is a true-scale scene in metres whose origin moves with it, so the numbers stay precise however far you fly.

Flight is integrated with RK4, a coasting craft goes on rails along its Kepler orbit while the map predicts its path in patched conics, and each engine's plume is a volume ray marched by its propellant, with Mach diamonds43.

On the Moon the ground comes from NASA's laser altimeter45, and the Prospector rover rolls off the Wayfarer lander's deck, laying tracks and throwing dust into the vacuum43.

And the sound

The music is written as you listen. Tone.js plays jazz chord voicings on soft sine pads over a sub bass and a drone on the chord's root, with two rising arpeggios and a little brown noise46, 47.

If you'd rather have a recorded piece, Quiet Wonder is 8 minutes 14 seconds on a seamless loop, and it's what the App Store apps start with47.

Counted when this page was built

The first commit went in on 25 November 2025, and by 8 November 2026, the last time the history was counted, there had been 960 commits since48.

The viewer itself is one file of 37,642 lines, and the source runs to 253,714 lines across 718 JavaScript files, with 213 places that build a custom shader material48.

105 test suites and 39 more test scripts check it, and the checks against JPL, the US Naval Observatory and NASA are listed with their results on the accuracy page19.

Who makes it

Our Solar System is made by Polyxmedia, which also puts out its videos as Voidmode Studios, and every map, dataset and library it stands on is credited on the credits page49, 1.

Sources

  1. Our Solar System: credits, every data source, map and library
  2. Bretagnon, P. and Francou, G. (1988), Planetary theories in rectangular and spherical variables: VSOP 87 solutions, Astronomy and Astrophysics 202, 309
  3. The viewer's true scale and its tests against Horizons: the planets, the moons and the poles (src/orbits/trueplaces.js, moonplaces.js and bodyframe.js; tests/true-scale-planets.test.js, true-scale-moons.test.js and true-scale-poles.test.js)
  4. JPL Horizons, the ephemeris service of JPL's Solar System Dynamics group
  5. JPL: approximate positions of the planets, the Keplerian elements fitted for 1800 to 2050
  6. Meeus, J. (1998), Astronomical Algorithms, 2nd edition, Willmann-Bell, chapter 47: the position of the Moon
  7. The viewer's Moon (src/orbits/moon.js, carried into the planets' frame by moonGeocentricJ2000 in src/eclipse/geometry.js)
  8. Archinal, B. A. et al. (2018), Report of the IAU Working Group on Cartographic Coordinates and Rotational Elements: 2015, Celestial Mechanics and Dynamical Astronomy 130, 22
  9. NASA Earth Observatory: Blue Marble Next Generation, the June 2004 map (Reto Stöckli, NASA Goddard Space Flight Center)
  10. NOAA NCEI: ETOPO 2022 Global Relief Model
  11. The viewer's sea (src/shaders/earthocean.js, public/textures/earth_ocean.webp and its build notes)
  12. Morel, A. and Maritorena, S. (2001), Bio-optical properties of oceanic waters: A reappraisal, Journal of Geophysical Research 106, 7163
  13. Cox, C. and Munk, W. (1954), Measurement of the Roughness of the Sea Surface from Photographs of the Sun's Glitter, Journal of the Optical Society of America 44, 838
  14. NASA Visible Earth: The Blue Marble, true colour global imagery at 1 km, its cloud layer (MODIS Terra, 2001)
  15. O'Neil, S. (2005), Accurate Atmospheric Scattering, GPU Gems 2, chapter 16, NVIDIA
  16. The viewer's Earth (src/shaders/earth.js, src/shaders/atmosphere.js)
  17. NASA Earth Observatory: Earth at Night, the Black Marble 2016 maps (Suomi NPP VIIRS)
  18. NASA DSCOVR EPIC, the Earth Polychromatic Imaging Camera
  19. Our Solar System: How accurate is it? Every check against JPL, the USNO and NASA
  20. NASA GIBS, the Global Imagery Browse Services: the Landsat WELD corrected reflectance annual global layer
  21. The viewer's imagery stream (src/data/earthImagerySource.js, src/rocketry/planetimagery.js): Landsat to level 11, then Sentinel-2
  22. EOX IT Services: Sentinel-2 cloudless 2016 (contains modified Copernicus Sentinel data 2016), CC BY 4.0
  23. The viewer's Sun (src/shaders/sun.js, src/shaders/sunglare.js and the glare block of the cinematic pass in src/main.js)
  24. Ritschel, T., Ihrke, M., Frisvad, J. R., Coppens, J., Myszkowski, K. and Seidel, H.-P. (2009), Temporal Glare: Real-Time Dynamic Simulation of the Scattering in the Human Eye, Computer Graphics Forum 28, 183
  25. Neckel, H. and Labs, D. (1994), Solar limb darkening 1986-1990 (λλ 303 to 1099 nm), Solar Physics 153, 91
  26. Hale, G. E., Ellerman, F., Nicholson, S. B. and Joy, A. H. (1919), The Magnetic Polarity of Sun-Spots, Astrophysical Journal 49, 153
  27. The HYG Database by Astronexus (Hipparcos, Yale and Gliese)
  28. Høg, E. et al. (2000), The Tycho-2 catalogue of the 2.5 million brightest stars, Astronomy and Astrophysics 355, L27
  29. NASA Scientific Visualization Studio: Deep Star Maps 2020 (from Gaia DR2)
  30. The viewer's sky frame and asteroids (src/sky/frame.js, src/sky/asteroids.js, public/data/asteroids.bin.gz counted at build time)
  31. JPL Solar System Dynamics: orbital elements of the numbered asteroids
  32. The zoom out (src/zoomout/ and its notes): the pace, the staged planets and the three galaxy layers
  33. Our Solar System: the zoom out as a page, its twelve stops to scale
  34. Makarov, D., Prugniel, P., Terekhova, N., Courtois, H. and Vauglin, I. (2014), HyperLEDA. III. The catalogue of extragalactic distances, Astronomy and Astrophysics 570, A13
  35. Tempel, E., Tuvikene, T., Kipper, R. and Libeskind, N. I. (2017), Merging groups and clusters of galaxies from the SDSS data, Astronomy and Astrophysics 602, A100
  36. Feng, Y., Chu, M.-Y., Seljak, U. and McDonald, P. (2016), FastPM: a new scheme for fast simulations of dark matter and haloes, Monthly Notices of the Royal Astronomical Society 463, 2273
  37. Planck Collaboration (2020), Planck 2018 results. VI. Cosmological parameters, Astronomy and Astrophysics 641, A6
  38. The black hole ray tracer (src/site/blackholes/raytrace.js, geodesic.js and scenes.js)
  39. Our Solar System: Black holes, ten scenes ray traced in the browser
  40. Shakura, N. I. and Sunyaev, R. A. (1973), Black holes in binary systems. Observational appearance, Astronomy and Astrophysics 24, 337
  41. Event Horizon Telescope Collaboration (2019), First M87 Event Horizon Telescope Results. I. The Shadow of the Supermassive Black Hole, Astrophysical Journal Letters 875, L1
  42. NASA Earth fact sheet (volumetric mean radius 6,371.0 km)
  43. The rocketry game (src/rocketry/ and docs/rocketry-dev.md): the scene, the physics, the plumes, the docking autopilot and the rover
  44. Our Solar System: Qmax, the rocketry game
  45. NASA Planetary Data System: LRO Lunar Orbiter Laser Altimeter, LDEM_64
  46. Tone.js, a Web Audio framework for making music in the browser
  47. The viewer's music (src/audio/spaceAmbient.js, src/audio/recorded.js)
  48. The site's repository, counted when this page was built (scripts/site/how-it-was-made-stats.js)
  49. Our Solar System: about, who makes it

Sources without a link are files in the site's own code, which isn't public.