Skip to content

Version 0.5.0

← All releases

A big round of work that landed in October 2026 (pull requests #27 to #83): almost every celestial body got a new look, the physics got stable and faster, and you can now sit back and take the Grand Tour.

🔭 Try it at teskooano.space

Highlights

The Grand Tour

Open the Celestial Hierarchy panel and press Tour. The camera flies between the most interesting bodies in the system and slowly orbits each one, with a card naming the stop and a short note about it. Sol has a curated route; generated systems are walked from the stars outwards through planets, belts, notable moons and comets. Orbit lines, AU markers and every label but the current body’s get out of the way, and dragging the camera pauses the tour. On a phone the hierarchy panel closes so you can see the view.

Stars, black holes and Wolf-Rayet stars

  • HDR rendering with bloom, so stars glow without washing out the planets near them. Phones skip the bloom buffer to stay fast.
  • A real photosphere for main-sequence stars: limb darkening, boiling granulation, blackbody colour, and an active corona with streamers and prominences tinted to the star’s colour.
  • Ray-traced black holes. A black shadow, the photon ring, a thin accretion disk with Doppler beaming and gravitational redshift, and the sky bent around it. Stars and planets that pass behind the hole are lensed too, and neutron stars bend light around themselves.
  • Wolf-Rayet stars are a hot blue-white core inside a dense stellar wind and a clumpy shell of ejected gas.

Planets and moons baked on the GPU

Every terrestrial planet and moon now has a surface baked on the GPU from its physics and geology: continents and ocean shelves, mountain belts, craters that follow real depth-to-diameter laws, lava-flooded maria, icy cracks, shield volcanoes, polar caps and climate zones with forests, deserts, tundra and sea ice. A quick preview bake shows the real surface straight away and the full-resolution bake swaps in as you approach.

  • Lava worlds have meandering, glowing fissures and crusted lava lakes in dark basalt instead of a global honeycomb.
  • Venus, Titan and other thick atmospheres hide their surface under a cloud or haze deck.
  • Atmospheres use real Rayleigh and Mie scattering, and night sides are properly dark.
  • The Celestial Uniforms Editor has geology sliders (craters, maria, ice fractures, volcanism, ocean coverage, polar caps) and re-bakes the surface as you change them.

Gas giants and rings

One cloud shader now drives every gas giant: uneven latitude bands, zonal jets that carry the clouds, eddies, storms like the Great Red Spot, white ovals and Neptune’s dark spot, Saturn’s polar hexagon, ring shadows on the clouds and moon shadow transits. Rings were rebuilt too: they were about 2.6 times too large and tilted twice. They now have ringlets, the planet’s shadow, light scattered through them from the right side, and Uranus has its real narrow, dark rings.

Comets, asteroids and satellites

  • Comets have a matte nucleus inside a soft coma of dust and steam, with tails and jets sized from the nucleus. Nothing on a comet glows or flashes any more.
  • Asteroid belts are lumpy, lit rock in realistic sizes and colours, thinner and concentrated towards the mid-plane. The Oort cloud uses the same rock.
  • Satellites: the camera can now get right up to the ISS and the James Webb Space Telescope.

The sky

Sol’s sky is a real Milky Way with dust lanes, the Magellanic Clouds and Andromeda at their real positions, and about 24,000 stars with real counts and colours. Every generated system gets its own procedural sky: a galactic disk, a nebula region, the inside of a star cluster, the galactic halo with the whole spiral in view, or intergalactic space.

Physics

  • N-body orbits no longer drift, binary stars start on opposite sides of their barycentre, and Sol’s moons stay stable for years of simulated time.
  • Satellites and close moons stay in orbit at any time scale, using exact two-body motion with the other forces applied as kicks.
  • Each N-body step is about 12 times cheaper for Sol: systems up to 512 bodies use exact pairwise gravity instead of walking an octree.
  • Spatial partitioning was fixed, so collisions and orbit predictions work.
  • UTC epochs, ISO epoch parsing and parabolic orbits are handled correctly, and many orbital elements in Sol’s data were corrected.

Interface

  • A refreshed look: compact buttons, sliders with an editable value, a tidier Celestial Hierarchy whose Reset and Clear buttons now work.
  • The Celestial Info and Uniforms panels follow the focused engine view, and the shader editor now works on stars.
  • Physics, Light and Shadow Sources and Engine Info panels show their data again, and closing a panel no longer crashes the app.
  • Floating panels and dialogs stay on screen on phones.
  • The installed app (PWA) now updates itself on your next visit instead of keeping an old build.

Under the hood

  • Every dependency is up to date: three.js r186, Vite 8, Vitest 5, dockview 8, ESLint 10, TypeScript 6 and Astro 7 for this website.
  • Every Vitest suite is green again.
  • Faster frames: white dwarfs and giant stars use the photosphere renderer instead of a ray-marched volume (about 12x less GPU time for a white dwarf up close), unused shadow maps are gone, and asteroid belts draw less than half the triangles.
  • Fixes for mobile crashes and frame rate, float precision near distant bodies, a render loop that passed the elapsed time as the frame delta, and many flashing and blooming artefacts.

All changes

PR Change
#27 Keep shared engine state alive when one view closes
#28 Fix binary stars starting on the same side of the barycentre
#29 Stop N-body orbits drifting
#30 Fix empty Physics, Light/Shadow Sources and Engine Info panels
#31 Fix spatial partitioning so collisions and orbit predictions work
#32 Fix Engine Info trail counts and NaN orbits for the Sun and asteroid belt
#33 Fix star tuning uniforms, overlapping labels and offline satellite models
#34 Bump minor and patch dependencies, ESLint 10, TypeScript 6
#35 Bump Vite 8, Vitest 5, vite-plugin-pwa 2
#36 UTC epochs, ISO epoch parsing, parabolic orbits, destroyed event order
#37 clearState options, Sol seed field, desktop toolbar scroll, settings import
#38 Repair stale physics specs; octree leaves hold one body
#39 Bump three.js to r186
#40 Bump dockview-core to v8
#41 Repair generation and Sol specs; fix comet temperature and binary zone scaling
#42 Celestial Info and Uniforms panels follow the engine view’s focus
#43 Bump the website to Astro 7 and Starlight 0.42
#44 Core components survive dockview re-attach; accessible button names
#45 Fix flat planet lighting: dark night sides, HDR output, no terrain speckle
#46 Every Vitest suite green; fix the TimeManager interval check
#47 Remove the dead event layer
#48 HDR bloom so stars glow
#49 Planet atmospheres as real Rayleigh/Mie scattering
#50 Define the design tokens components use
#51 A real photosphere for main-sequence stars
#52 Apply service worker updates on the next visit
#53 Fix mobile crash and frame rate, keep far bodies visible, unfuzz shaders
#54 Let the camera get close to satellites
#55 Asteroid belts that look like real rock
#56 Wolf-Rayet stars as a hot core inside a wind and ejecta nebula
#57 An active corona for stars; no planet glare near hot stars
#58 Stop comet tails flashing as bloom bursts
#59 Fix blocky atmospheres; anchor and tint the corona
#60 Bake realistic planet and moon terrain on the GPU
#61 The comet coma as a soft glow
#62 Refresh the UI and make the shader editor work on stars
#63 Comet tails and jets as soft gas; fix the blocky coma
#64 Re-bake planet surfaces when the uniforms editor changes them
#65 Fix blocky baked planets
#66 Remove the old procedural planet shader; preview bake for every body
#67 Gas giants that look like gas giants, and fixed planetary rings
#68 Lava worlds with meandering fissures
#69 Matte comet nuclei with sunlit dust and steam
#70 Hide the surface of Venus, Titan and other thick atmospheres
#71 A realistic sky: Milky Way, real star counts and colours
#72 Keep Sol’s moons stable in N-body
#73 The Grand Tour
#74 Satellites in orbit at any time scale; N-body steps about 12x cheaper
#75 Procedural skies per system; fix the crash when a panel closes
#76 Grand Tour orbits each stop, wraps its note, lands on satellites
#77 Fix the render loop passing elapsed time as the frame delta
#78 Fix Uranus’ rings glowing from the dark side; dim the outer giants
#79 Stop asteroids and comet nuclei flashing
#80 Stop lit planets and moons blooming
#81 Ray-traced black holes
#82 Lens bodies behind black holes, and lens neutron stars
#83 Speed up white dwarfs, giants and asteroid belts; light rings up close