SOLAR: an interactive 3D solar system on real JPL orbits, in your browser
DEV Community

SOLAR: an interactive 3D solar system on real JPL orbits, in your browser

SOLAR: An Interactive 3D Solar System on Real JPL Orbits, in Your Browser

Live: http://xtotam.com

SOLAR is a non-commercial side project: an interactive 3D solar system in the browser where you fly between planets, and their positions are computed from real JPL orbital elements instead of a pre-baked animation.

  • Stack: React + Three.js + TypeScript
  • Written mostly in pair with Claude Code

The Science Part

Planet positions come from JPL's table of orbital elements and rates (valid for 1800-2050). Kepler's equation is solved with Newton's method right on the client, so any date in that range gives a real position, not an interpolated frame.

The math is covered by tests on all 8 orbits:

  • At the edges of the validity interval
  • At perihelion/aphelion
  • Against the J2000 reference position of Earth
  • For retrograde periods

There are deliberate simplifications, documented openly:

  • UTC is used as an approximation of TDB without the seconds-level correction
  • Earth's orbit represents the Earth-Moon barycenter
  • There is no full N-body integration
  • Moons are not modeled

Cinematic Travel

The visual mode compresses distances non-linearly (so the inner planets don't collapse into each other) and lets a slider set the upper bound of time acceleration - the actual rate ramps up smoothly and brakes before arrival.

  • Accumulated simulation time is shown separately from flight duration
  • There is no manual piloting and no crashes: it's a cinematic tour, not a flight sim

Mobile First

The top-down ecliptic map is a separate mode built mobile-first:

  • On a phone it's a full-screen sheet
  • The sidebar only appears from 761px up
  • Tapping a body on the map immediately plots a route

Two distance scales are available: compressed (power-law) and true. It also shows:

  • The asteroid belt (2.1-3.3 AU)
  • The Kuiper belt (30-50 AU)
  • A marker for your ship

Stack and Deployment

  • Frontend: React, Three.js, TypeScript, Vite
  • Accounts and autosave: Node API + PostgreSQL
  • Self-hosted deployment: Docker + Caddy
  • Planet textures: Solar System Scope (CC BY 4.0)

Happy to answer questions about the orbital math or else.

Read on DEV Community ↗ ← Back to News

Comments

No comments yet. Start the discussion.