Lat/Lon overrides the GPS / place selection; either overrides auto-detected location.
Scene reset keeps your per-object image adjustments and saved location. Full reset erases everything, including all object image edits — it cannot be undone.
Constellation figure illustrations by Johan Meuris, from Stellarium's “Western” sky culture (Free Art License) — brightened and draped onto each constellation's real stars
Place data
GeoNames (CC BY 4.0) — Location section country / state / city catalog
Body details
Wikipedia (CC BY-SA) — summaries shown in the per-body Details popup, fetched on demand
A real-time 3D model of the solar system — the Sun, all eight planets, 29 moons, five dwarf planets, and several spacecraft — placed by real ephemerides against the J2000 star sphere. Drag to look around, scroll to magnify, and double-click any body to follow it.
The name Astra Volvuntur is Latin for “the stars revolve.” The phrase echoes the way the Romans wrote about the night sky — Ovid, in the Metamorphoses, describes the sidera gliding in their turning course — and it shares its root, volvere (to turn, to roll), with Copernicus's De Revolutionibus, the book that first set the planets wheeling around the Sun. That single word carries the whole idea of this project: an orrery is nothing more, and nothing less, than a machine for watching the worlds turn.
What you can do:
Travel in time — scrub, step, or play from 4713 BC to AD 8000, up to a year per second.
Change vantage — free orbit, fly the camera anywhere, geocentric, from inside any body, or standing on Earth's surface as a planetarium.
Switch scale — a compact cabinet layout, or true linear-AU distances and true diameters.
See real light — day/night terminators, Saturn's ring shadows, and mutual eclipse / transit shadows between planets and moons.
Explore the sky — catalogue or Milky Way star maps, the 88 constellations, the ecliptic, and per-body distance / magnitude / clocks.
Dig deeper — click a body (or its label) to pin its panel, then open a Wikipedia summary in a popup via the Details link.
The sections below are a full reference for every control.
Dedicated to my late friend, Chris Short, GradDipSc (Astronomy), with whom I had many discussions about astronomy over a pint of Guinness.
Mouse & touch
Drag (or one-finger swipe)
Rotate the view (free mode), aim the camera (Fly mode), or look around in place (from-body / Earth-surface modes). Outside free mode the rotation rate is locked to the FOV — what's under the cursor stays under the cursor. Fly has no up-vector and no orbit target, so its aim never jams at the poles: you can roll straight over the top and keep going.
Shift + drag
Fly view only. Grab a point on an object and swing around it — sideways orbits, up/down tilts, both about the spot you're holding, which stays pinned under the cursor while the rest of the view moves. Your distance to it is preserved, so it's the gesture for examining something from all sides; the plain drag (no Shift) still just turns the camera in place. Grabbing empty sky falls back to that plain look-around.
Scroll wheel (or two-finger drag)
Dolly the camera in / out of the scene (free and Fly views). While you're following a body, each notch covers a fixed fraction of the gap that's actually left to its surface rather than of the distance to its centre — so the approach eases off as you close in instead of running away from you, and open-space dollying is unaffected. In the from-X modes there's no dolly target, so the plain wheel magnifies instead (see below). On touch, drag two fingers up the screen to dolly toward the target, down to dolly away — independent of the pinch-to-magnify gesture, so you can do both at once.
Ctrl + scroll (or pinch)
Adjust telescope magnification (camera FOV, 0.01° narrow to 90° wide). Each notch is a constant ratio so the perceived zoom rate is the same at every magnification.
Right-drag (or three-finger drag)
Pan the orbit centre across the scene — moves both the camera and the target together so the orbit geometry is preserved (free view only). The world point under the cursor / fingers tracks them 1:1.
Ctrl + drag
Slide the camera rig left / right / up / down — the mouse twin of the right-edge Pan pad. Same 1:1 world-tracking slide as a right-drag pan, but while following a body the slide is banked into the framing offset, so the composition sticks instead of the body snapping back to centre (free view only).
Ctrl + Shift + drag
Tilt the view — aim left / right / up / down about the fixed camera position, the mouse twin of the Tilt pad. The grabbed point follows the cursor at any magnification, and while following the aim offset sticks the same way (free view only). Shift can be pressed or released mid-drag to switch between slide and tilt.
Camera controls (right edge)
A stack of controls centred on the right edge, each grabbed by its icon. Two vertical sliders: the telescope adjusts magnification (camera FOV) and the double-arrow dollies the camera in / out (free view only) — drag up to zoom / move in, down to zoom / move out; both spring back on release. Below them, the square Pan pad (four-way arrow) slides the camera left / right / up / down and the Tilt pad aims the view without moving the camera — while following, their offsets stick so a body can be framed off-centre; double-click a pad to undo its offset. The Roll bar rotates the view about its own axis (double-click to reset upright), with the live camera pose (yaw / pitch / roll) read out beneath. The sliders and pads mirror the scroll-wheel, Ctrl+scroll, Ctrl+drag and Ctrl+Shift+drag gestures — handy on a trackpad or touchscreen with no modifier keys.
Hover a body
Preview a tooltip with name, distance, magnitude and clocks (mouse / pen).
Click (or tap) a body
Pin the info panel at the pointer — the same fields plus a Details link that opens a Wikipedia summary in a popup. Click / tap empty space to dismiss. Works with labels off.
Click (or tap) a body label
Pin the same panel — handy for a sub-pixel body that's hard to click directly.
Double-click (or double-tap) body
Lock the camera to follow that body. In Free view the camera physically tracks the body's world position (you can still drag-orbit and dolly around it). In any from-X view (geocentric, from-body, Earth surface) the camera's anchored, so the look direction tracks the body instead — selecting Mars from Earth surface keeps Mars centred as it rises, transits, and sets.
Double-click (or double-tap) empty space
Release the follow lock (works for both kinds of follow).
Click (or tap) a star
Ring it and surface it in the Find Star dropdown.
Click (or tap) a constellation label
Pin the line pattern as the highlighted constellation; click again to clear.
Hover a constellation label
Preview that constellation without changing the pinned highlight (desktop only).
Keyboard
0
Reset telescope magnification to the default 45° FOV.
Esc
Release the body-follow lock (same as double-clicking empty space). Also clears the from-X follow target if a Find Star / Find Constellation lock is active.
W / S / A / D / R / F
Fly view only. Fly the camera — W / S forward and back, A / D left and right, R / F up and down, all relative to where you're looking. Speed scales with your distance to the nearest surface, so the same key crosses interplanetary space out in the open and eases to a gentle drift as you close on a world. Hold Shift to boost (×8), or Ctrl to creep (÷8).
Q / E
Fly view only. Roll left / right, like banking an aircraft — so the view itself rotates clockwise / anticlockwise. The Roll bar at the right edge does the same thing in Fly, and double-clicking it re-levels the horizon about wherever you're currently looking (rather than snapping back upright as it does in free view).
Settings panel
Click the cog button at the top-left of the screen to slide the settings panel in from the left. Click the ‹ chevron in the panel header (or anywhere outside the panel) to slide it back out. The panel groups its controls into three collapsible sections — Location, Display, and Labels — plus the always-visible Show as / Zone time-display selectors. Reset, Help, and Credits sit at the right of the panel header. Section state and panel open/closed are remembered across sessions.
Orbits
The orbits quick-toggle on the left edge (under the cog) shows or hides every body's calculated orbit path — a one-click shortcut for the Orbits switch in the Display panel. The button lights up while the paths are shown.
Scale
The scale quick-toggle switches the whole model between the compressed cabinet layout and true-to-life spacing and sizes — the one-click equivalent of turning on both Actual positions and Actual sizes in the Display panel. The button lights up while true scale is on. (It's locked on in Earth-surface view, where the sky must be true-scale.)
Fill light
The fill light quick-toggle turns the fill light on or off — a faint glow that keeps the night side of bodies just readable. Off leaves only real sunlight, so the unlit hemisphere goes properly dark. The button lights up while the fill light is on.
Search
The magnifier button on the left edge (below the cog and the quick toggles) opens the Search drawer — a quick way to find a specific star or constellation in the sky and swing the view to it.
Star
Locate any BSC5 star by popular name, Bayer/Flamsteed designation, or HR number — selecting one rings it on screen and swings the view to show it (turning Stars on if it was off). In any from-X view the camera also keeps the star centred as Earth rotates (a Following indicator appears top-right with × to release).
Constellation
Pick a constellation by name to highlight its line pattern; the view swings to centre it (turning Constellations and their name labels on if they were off). In any from-X view the camera keeps the constellation centred as time advances.
Ruler
The ruler button on the left edge — the ruler-scale icon below Search — measures distances across a body's surface. It lights up while active; click it again, or press Esc, to put it away.
Measure a distance
With the ruler active, click two points on any body. A line is drawn between them along the surface — the great-circle (“as the crow flies”) path, draped over the terrain and tucking behind the limb if it wraps to the far side — with the real distance labelled along it, from metres up to kilometres. The line sticks to the surface as the body spins.
Multi-leg paths
Hold Shift and click to add another point, extending the measurement into a connected path. Each leg keeps its own distance and a running Total length appears in the readout. A plain click (no Shift) starts a fresh measurement.
Surface readout
A small pane follows the cursor with the surface point's Latitude and Longitude, plus its Elevation for bodies that carry terrain data — real height above the datum, which sharpens and turns green over a high-resolution surface patch. Once a path is under way the pane also shows the Total length and ΔElev, the elevation change from the first point to the last.
Fly view
Picked from the top-right View menu, Fly hands you the camera outright. Free view swings around a target and Earth surface pins you to a spot; Fly has neither a target nor an up-vector, so nothing stops you rolling straight over a pole and carrying on — the one thing an orbit camera can never do. The gestures themselves are listed under Mouse & touch and Keyboard above; what follows is how the mode behaves around them.
Everything scales with what's nearby
Flying speed and each wheel notch are a fraction of the gap to the nearest surface, not a fixed rate. The scene spans ten orders of magnitude, so any fixed speed would either crawl between planets or cross Saturn's orbit in a tap. The same key that covers millions of kilometres in open space eases to a slow drift as a world comes up under you.
Wheel and Ctrl+wheel differ
A plain wheel dollies you along the way you're looking — Fly's stand-in for the orbit dolly, which has no meaning here. Ctrl+wheel changes telescope magnification instead, exactly as it does everywhere else.
You can't fly through a world
The camera is kept just clear of every body's real surface — its terrain, not its datum sphere, which matters for the lumpy shape-model moons whose peaks stand well proud of it (Deimos reaches 1.4× its own nominal radius). A fast scroll straight at a surface stops at it rather than punching through.
Following while flying
Pick a body in the Follow menu and Fly rides along with it, so the clock can't walk the system out from under you — park beside Jupiter without it and the planet leaves at some 13 km/s. Choosing a body also flies you to it, arriving level with respect to that body rather than the ecliptic, so the horizon reads upright when you tilt off it. Switching back to Free afterwards leaves you looking at the same object rather than wherever Free was last parked.
Flight instruments
Two gauges sit at the top centre of the screen while Fly is the active view, styled after the aircraft instruments they stand in for. (Orbit a point shows the compass alone, at half size, from whichever view it was started in — see that section.) An aircraft has gravity and a magnetic field to work from; out here there is neither, so both gauges reference the body whose surface is nearest — the frame a spacecraft attitude indicator uses. That body is named across the bottom of the horizon, because the readings mean nothing without it: +20° over the Moon is a different attitude entirely the moment Earth becomes the nearer surface.
Artificial horizon (left)
A gyro ball split sky over ground, with a pitch ladder every 5° — labelled every 10°, and dashed below the horizon as the standard cue that you're looking down rather than up. Around the rim is a bank scale with marks at 10°, 20°, 30°, 45° and 60°; the triangular sky pointer rides the ball, so it swings away from the bank and keeps aiming at the local vertical. The fixed amber wing symbol in the middle is your own attitude. The footer reads pitch at the left — the angle of the view above that body's horizon — and bank at the right, as L or R so many degrees.
Compass (right)
A card that counter-rotates under the fixed pointer at the top, so your current heading always sits under it, with a plan-view aircraft fixed over the middle. The card carries the cardinal letters and the usual aviation shorthand between them — 3 for 030°, 33 for 330°. Heading is measured from that body's own north pole and runs east-positive, the same convention the ruler's longitude uses, so the two agree. The footer shows the bearing in degrees and its compass point.
When the readings dash out
Point straight down at a body (or straight away from it) and there is no such thing as bank or heading — every direction is the same one, exactly as a real gimbal has no answer there. Rather than freeze on a stale number that looks live, the bank and heading read — and the sky pointer and compass card fade. Following a body parks you precisely at that point, so it's a state you'll see often; tilt away from straight-down and both come back.
Night Mode
The gauges go red monochrome rather than firing a lit blue panel at a dark-adapted eye — the same thing a night-compatible cockpit instrument does.
Orbit a point
The button at the top of the right-edge control stack, just above the telescope slider, circles a chosen spot on the body you're following — a survey rig for walking around a crater and reading its relief. It's available only while something is being followed, and it is not a view mode: it borrows the camera from whichever vantage is running, Free, Fly or from-body alike, and hands it straight back where it found it when you switch it off. That's why it has a button of its own rather than an entry in the View menu.
Choosing the point
Switch it on and a prompt appears beside the cog asking for a point. Fly or turn to line up whatever you want to look at — the camera is still yours at this stage — then click a spot on the followed body. Only that body will take a point; clicks anywhere else are ignored.
The opening view
The camera drops to about 100 km for the Moon (the range scales with the body, so it's proportionate at Phobos and at Jupiter), 30° above the surface, looking straight at the point with its horizon level. It arrives on the side you were already viewing from, so the view swings round to the point rather than teleporting to the far side. It also opens at the standard 45° magnification: from the Earth views you need a telescope-narrow FOV just to see the Moon at all, and carrying that in would leave you staring at a few hundred metres of ground. Your own magnification returns when you leave.
Moving around
Drag left and right to walk around the point — moving left carries the camera anticlockwise as seen from above — and up and down to raise or lower your elevation above the surface, from nearly overhead down to a low grazing angle. Your distance to the point is held throughout; the wheel is what changes it. The point itself is pinned to the surface, so it rides the body's rotation and keeps its feature centred as the world turns beneath you.
The readout
While orbiting, the compass appears alone at half size with a small strip beneath it. ALT is your height above the ground directly below — not above the reference sphere — so it rises and falls as you circle over varying terrain even though nothing about the camera has changed; it reads the same elevation data the ruler does. RNG is the straight-line distance to the point you're orbiting, which is what the wheel changes and what stays fixed as you move around. FOV is the current magnification. The artificial horizon is hidden here because the rig holds the view level on the point, so it would only ever report the elevation you set with the drag.
Moving to another point
Click a new spot on the body and the view re-centres on it, keeping the distance, elevation and compass heading you've set — only the centre moves, and the scene stays put around it. The heading is the one that matters: re-deriving it from the new point would swing the view by tens of degrees for a spot off to one side (and worse the closer in you are), so a re-centre would spin the ground under you just for picking the next crater along. Holding it means you can walk a survey from feature to feature without ever losing your bearings.
Leaving
The × on the prompt stops orbiting and returns to asking for a point, so you can pick another. Switching the button off leaves entirely and restores the camera, magnification included. Esc backs out a step at a time. Releasing the follow, or changing the view mode, also releases it.
Measuring while you orbit
The ruler can be opened over the top of an orbit. While it's out the cursor shows its crosshair and clicks belong to it, so a measurement can't move the orbit centre by accident — dragging still swings the view around the point as usual.
Time
The clock above the time controls at the bottom of the screen is the date/time editor — there are no separate input boxes. Each part is adjustable in place: on a mouse, hover a part and roll the wheel to change it, or click it to open a spin-wheel of values; on touch, tap a part and flick the wheel. The year also accepts typed digits to jump straight to a year.
Now
Snap the simulation to the current real-world instant.
Speed
How fast simulated time advances per real second — from real-time up to one year per second.
Play / Pause
Toggle automatic time advancement.
Not-now indicator
Whenever the clock isn't tracking the live present — you've scrubbed, run faster than real-time, or paused it — a leading + (future) or − (past) shows at the left of the clock, and (off the Night Mode theme) the whole readout takes an orange tint. It clears while the clock is playing at real-time; Now resyncs to the present.
Settings
Location
Country / State / Town
Cascading dropdowns drawn from the GeoNames catalog (cities above ~100k population, plus each country's largest). Only the dropdowns that apply appear: leave Country on Auto for browser geolocation, or pick GPS (this device) to hold a live high-accuracy fix from the device's GPS receiver — the best choice on a phone in the field, at some battery cost (Auto usually returns only Wi-Fi / cell-network accuracy). The State row is hidden for countries with no meaningful subdivisions.
Lat / Lon
Decimal-degree latitude and longitude (north / east positive). Auto-fills from the place selection above; editing either one becomes a manual override that wins over the dropdowns.
Clear
Clear the manual Lat/Lon override; the fields restore to the currently picked place's coordinates (or blank if nothing is picked).
Show marker on Earth
Pin a small marker at the resolved location on Earth's globe.
Resolution priority: Lat/Lon override > GPS / place selection > browser auto-detected geolocation. While a GPS fix is still cold-starting, the auto-detected location stands in. The Earth-surface view uses whichever location is currently in effect.
View menu (top-right)
The top-right View menu picks the camera vantage. Free is the default orbit-around-the-scene mode. Fly cuts the camera loose entirely — no orbit target and no up-vector, so you aim by dragging, fly with W A S D / R F, roll with Q / E, and never jam at the poles the way an orbit camera does. Flying speed scales with your distance to the nearest surface, so it stays usable from interplanetary space down to a low pass over a crater; pick a body in the Follow menu and Fly rides along with it instead of letting the clock leave you behind. The body options put the camera at that body's centre and hide its mesh — a first-person look-around from inside the planet. Earth surface places the camera at the location resolved in the Location section (browser geolocation by default — the browser will prompt for permission — or the City / Lat / Lon override if you've set one), with local zenith as up and a dimmed lower hemisphere standing in for the ground. Selecting Earth surface auto-enables both Actual positions and Actual sizes so the sky reads as a real planetarium — planets become arcsec-scale dots, the Moon takes its true 60-Earth-radii distance and ~½° angular size. Use the scroll wheel to zoom in (down to 0.01° FOV) and you can resolve Jupiter's disc, Saturn's rings, etc.
Follow menu (top-right)
The top-right Follow menu picks a body for the camera to track. In Free view the camera physically translates with the body so it stays centred at constant apparent distance while you can still drag-orbit and dolly around it. In any from-X view (geocentric, from-body, Earth surface) the camera is anchored at the vantage; instead the look direction tracks the body so it stays at the screen centre as the sky moves. Pick (none) to release the lock. Double-clicking a body in the scene is the same as picking it from this menu.
Display
Clock
Switch the clock between a calendar date/time and the Julian Date (continuous days since 4713 BC). In Julian-Date mode, roll the wheel to step a day (hold Shift for a finer step) or click to type an exact value.
Zone
Show the calendar date/time in UTC or the browser's local zone (disabled in Julian-Date mode — JD is zone-independent). Internal calculations are always UT.
Texture set
Image set used for body surfaces. Painted uses the bundled equirectangular maps (Solar System Scope, USGS, mission mosaics — see Credits); Solid colors falls back to a single hue per body.
Theme
Antique = warm cabinet, Space = dark cyan UI, Night Mode = monochrome red (preserves dark-adapted eyes during astronomy use — also remaps the rendered scene to red shades via a canvas filter).
Overlay
Composites a second image layer over each body's base surface — clouds, shaded-relief topography (Mars / Moon / Mercury), night lights, mission mosaics. Pick a set to enable it; None turns it off. Only bodies with a map in the chosen set are affected — others keep their base texture. The Opacity slider blends the overlay against the base map (0 = base only, 1 = overlay only) and greys out while no overlay is selected.
Radial lines
Radius vector — the radial line from the Sun to each body, indicating its current direction.
Orbits
Calculated orbit path of each body.
Trails
Render orbits as a comet trail (bright at the body, fading round to zero a year ago).
Axes
Spin-axis indicators (true IAU pole + tilt).
Auto-rotate
After a rotate-drag in Free view, keep the camera orbiting the centre of attention at the speed you released at — constant, no decay — until you click again. Click (without dragging) to stop it. Doesn't apply in Earth-surface / from-body views.
Actual positions
Use true linear AU spacing instead of the compressed cabinet layout.
Actual sizes
Use true relative diameters; sub-pixel bodies fade to a star sprite. The slider next to it scales body sizes when this is off.
Stars
Show the celestial backdrop (J2000 equatorial).
Map
Choose between an equirectangular Milky Way image, an equirectangular stars image, or the BSC5 catalog star points.
Intensity
Brightness of the chosen star map.
Constellations
Draw the 88 IAU line patterns on the celestial sphere.
Labels (constellation)
Show the English name of each constellation near its centre.
Ecliptic
Dashed yellow great circle marking the ecliptic — the plane the planets orbit in. Tick marks every 30° show ecliptic longitude (0° at the vernal equinox, 90° at the summer solstice, etc.).
Labels (body name labels)
Each body has its own toggle, with quick group switches alongside: an All · Planets · Moons shortcut row at the top; a Moons switch on every planet that has them (flips just that planet's moons, and reveals its sub-list); and a master switch on the Dwarf Planets and Missions headings. Each group switch is tri-state — on when all of its bodies are shown, a dash when only some are. Labels follow the body around the screen; a leg connects the text to the body's edge. Click a label — or the body itself — to pin its info panel, which includes a Details link to a Wikipedia summary popup (✕ / Esc / click-outside to close).
Extras
Eclipse & transit shadows
Moons and their planets cast real Sun-lit shadows on one another. When a moon passes between the Sun and its planet, its shadow falls on the planet as a dark spot — a transit shadow, like a Galilean moon's on Jupiter; when a moon passes into the planet's shadow it goes dark — an eclipse. The umbra is near-black with a soft penumbra edge, and only the sunlit hemisphere is affected. There's no toggle — they appear automatically during real alignments, so the way to see one is to follow a planet, zoom in, and speed up time (Jupiter and Saturn show them most often). With Actual sizes on the shadows are physically scaled — small, crisp dots; with it off the moons are drawn larger and closer to their planet, so the shadows are bigger and easier to spot. Saturn additionally casts its shadow across the rings, and the rings shade the globe.
Earth-surface mode extras
When the View menu is set to Earth surface:
Horizon ring
Dark-red compass on the local horizon with tick marks every 5° / 10° / 30°.
Compass labels
N / NE / E / SE / S / SW / W / NW around the horizon, oriented to the local north (Earth's spin axis projected onto your tangent plane).
Alt / Az indicator
Top-right badge showing the altitude and azimuth of the centre of view.
Heading lock
Click anywhere on the compass ring (within ~8° of the horizon) to lock the camera's azimuth to that direction — horizontal drag is silently undone while vertical drag still tilts up/down. Click within 10 px of a compass label (N, NE, E, …) to snap the lock to that cardinal. A second indicator appears above the Alt/Az badge showing the locked heading; click its × to release.
Point device
Phones and tablets only: tap to steer the view with the device itself — hold the phone up and the sky pans to wherever it physically points, planetarium-app style, using the motion sensors and compass (iOS asks for motion permission on first use; needs HTTPS, like location). The horizon stays level (device roll is ignored), pinch-zoom still works while pointing, and dragging the view — or locking a heading — hands control back to your finger. Compass accuracy is whatever the device's magnetometer delivers; expect a few degrees.
Dimmed ground
The lower hemisphere is darkened so the sky reads as the only "real" half.
Locked toggles
Actual positions and Actual sizes are auto-enabled and then locked while in Earth-surface view, so the sky is rendered at true scale. Both control the orbit/body scale used for the surface vantage; toggling either mid-view would jump the camera and visibly shift the orbits. Switch the View menu (top-right) to anything else to change them. They stay on after you leave — manually toggle them off if you want the decorative orrery back.
Panel buttons
Scene / Full reset
At the bottom of the Display tab. Scene reset restores the display defaults but keeps each object's image adjustments and your saved location; Full reset erases everything — including all per-object image edits.
Help
Opens this panel. Lives at the right of the panel's title bar.
Credits
Sources, libraries, and acknowledgements. Lives at the right of the panel's title bar.
Under the hood
For the curious — how the model is actually computed. None of this needs touching to use Astra Volvuntur; it's here for the enthusiast.
Planet & Moon positions
From the astronomy-engine library (Don Cross) — a VSOP87-based analytical model accurate to sub-arcsecond across the supported −3000 … AD 8000 range.
Moons of Jupiter, Saturn, Mars, Uranus, Neptune & Pluto
Mean-Keplerian elements fitted from JPL Horizons state vectors, referred to each moon's local reference plane (the parent's equator-of-J2000 for the close-in moons; a fixed Laplace or ecliptic plane for the distant / irregular ones — Uranus, a retrograde rotator, references its pole's antipode), propagated by mean motion plus fitted secular apsidal and nodal precession, then rotated into the ecliptic. Errors are a few thousand km (≲ 1% of orbit radius) over ±100 yr of J2000 — fine for a visual orrery, not eclipse-timing prediction.
Dwarf planets
Keplerian elements from Horizons (Pluto, Ceres, Haumea, Eris, and Vesta), propagated the same way.
Spacecraft
Pre-sampled Horizons state-vector tables, resampled each frame; a marker hides outside its mission's real launch-to-end-of-data span.
Reference frame
Everything lives in ecliptic-of-J2000. astronomy-engine returns equatorial-J2000 vectors, rotated by −ε (ε = 23.439°, the J2000 obliquity) about the vernal-equinox axis into the ecliptic; the scene axes are then swapped so +Y is the north ecliptic pole and +X the vernal equinox.
Spin & tilt
Each body's orientation uses the IAU rotation model — pole right-ascension / declination plus the prime-meridian angle W(t) — so axial tilt and rotation phase are physically correct (and drive the spin-direction arrow).
Time
A continuous Julian Date anchored at J2000.0 (JD 2451545.0 = 2000-01-01 12:00 UTC). UT is treated as ≈ TT (the ~64 s offset is deliberately ignored). Kepler's equation is solved by Newton–Raphson to 1×10⁻¹².
Distance scale
Two layouts: compressed places each body at AU0.55 × 4.4 scene units (so the outer planets stay in frame); true at AU × 4.4 (1 AU = 4.4 units, linear). With Actual sizes, body radii use the same km-per-unit scale as the orbits — 1 km across a body equals 1 km along an orbit — and each moon's orbit gets its own scale so it clears the parent.
Body shapes
Gas-giant and Hyperion oblateness is a triaxial ellipsoid baked into the mesh; Vesta, Phobos, Deimos, Mimas, and the Moon carry true surface relief baked into their vertices from measured spacecraft shape data, with normals recomputed so the topography lights correctly even on close zoom. Shapes and surface maps are measured data only — brightened for visibility, never embellished — so some bodies look less dramatic here than in visualizers that add artistic detail. Deimos, say, really is that smooth: its craters are buried under a thick regolith mantle, and Viking imaged only one hemisphere well. (Mimas's Herschel relief is the one parametric model, built from measured crater geometry.)
Light & shadows
One point light at the Sun (the scene origin), ACES tone-mapping, and a logarithmic depth buffer so the camera can range from AU scale down to a 10 m spacecraft without z-fighting. All shadows are computed analytically in the surface shaders — Saturn's rings ↔ globe, and planet ↔ moon transit / eclipse shadows from the overlap of the occluder's disc with the Sun's (a real umbra and penumbra) — with no shadow maps.
Sky
Stars are the Yale Bright Star Catalogue (BSC5, J2000 equatorial) drawn as magnitude-scaled points, or an equirectangular Milky Way / star image; constellations are the 88 IAU line patterns.
Validation
A separate harness re-queries JPL Horizons and diffs it against the in-app ephemerides to keep the error bars honest.