Skip to content

orrery 0.1.0

Choose a tag to compare

@dmccoystephenson dmccoystephenson released this 22 Oct 04:55
· 36 commits to main since this release
f2eac7b

The first release of orrery: the whole solar system from real JPL data, drawn with Strata.

The ship on autopilot from Earth to Mars

What's in it

  • Bodies: the Sun, the 8 planets, 5 dwarf planets, 25 moons, Saturn's rings, 12,584 small bodies, three comets and three spacecraft. They are placed from JPL DE440s, Horizons and SBDB at any instant from 1850 to 2149.
  • Scale modes: TRUE distances, with an adjustable body enlargement, and a COMPRESSED log mode that shows the Kuiper belt and Mercury in one picture.
  • Planets: planet maps, axial tilt and sidereal rotation from the IAU elements (#2).
  • Ship mode (new, #8): press V to fly a ship through the solar system in the spirit of Rodina.
    • Drive tiers: thrusters (2 km/s), cruise (200 km/s) and warp 1, 2 and 3 (1 c, 50 c and 2,000 c).
    • Mass lock: the ship slows down by itself near planets and moons, and stops at their surfaces.
    • Moving with a body: near a planet or moon, the ship moves with it as time runs.
    • Autopilot: T flies to the target (Tab, 0–9).
    • Cameras: a chase camera and a cockpit camera (C).
  • Browser build: the orrery runs in a browser through Emscripten and Strata's WebGL 2 device (#3).
  • Headless rendering: screenshots, frame sequences and an OpenUSD layer export.

Running it

The JPL data is not in the repository or in this release. It is downloaded from JPL at build time; see the README's Building and running section.

uv run --python 3.12 tools/fetch_data.py all && uv run --python 3.12 tools/build_catalog.py
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release && cmake --build build -j4
./build/orrery --focus Earth --enlarge 1 --ship --target Mars --autopilot

Tested on Linux (CI, llvmpipe), in headless Chromium (CI), and on Windows 10 with MSVC (Intel UHD 630, OpenGL 4.5).


drafted by Claude on behalf of Daniel Stephenson