Skip to content

Roadmap: time, missions, satellites, interplanetary travel #382

Description

@apresmoi

One place to track what we want to build next. Each item is a wish, not a plan — scope and approach get decided when someone picks it up.

Ordered after alowpoly's review: the sections run in dependency order, because nothing that moves through time works properly until something owns time. Catalogue work runs in parallel; operational work is its own lane.

Foundation

What has to be true before missions, observatories or travel can be built honestly.

  • One owner for simulation time — everything that moves reads the same clock
  • One implementation of navigation and orbits, not two
  • One contract for a prepared trajectory, whatever produced it
  • Reconstructed history, predicted position and designed transfer are told apart, never blurred
  • Every trajectory states where it is valid, how accurate it is, and what it came from
  • The shell can carry time controls without becoming a single large file
  • Fix the absolute kernel paths in Phoebe and Tethys
  • Settle whether an object may carry both inventory kinds, and correct the contract either way

Time

  • Replay: watch the system move over a chosen span
  • Fast forward and rewind, with speed control
  • Go to a date, and to a named event
  • Share a view that carries its moment in time
  • Show which moment is on screen, and how fast it is running
  • Moving through time is repeatable — the same request gives the same result
  • Respects reduced motion

One mission, proven end to end

Before broad coverage: a single bounded mission that exercises time, trajectory and events together. Cassini is the candidate — the repository already has its kernel bank.

  • One tour segment, with one encounter
  • Time controls working against it
  • Seek to a named event
  • A shareable link that lands on a moment

Missions

  • Voyager 1 and 2, with their real trajectories
  • Moon missions, Apollo first
  • Mars missions: orbiters, landers, rovers
  • Outer-system missions: Galileo, New Horizons, Juno
  • A mission's path in time, not only its end state
  • Where a spacecraft is right now, for the ones still flying

Satellites and telescopes

  • Hubble
  • JWST
  • The other space telescopes, as a set
  • Earth-orbit satellites worth showing
  • 3D models for them
  • What each one is looking at, and what it has seen

Travel between planets

Not the camera. Today "fly to" moves the viewer to a body — it is a way of looking around, and it is not what this is about. This is the real journey: the orbit a spacecraft would actually fly, when it is allowed to leave, and how long it is in transit. A path you could launch, not a path the camera takes.

Its own program rather than a feature of mission replay: it reuses the clock and the trajectory contract, but designing a transfer is a different problem from replaying a flown one.

  • Pick an origin and a destination, get the realistic trajectory
  • Departure windows: when you can leave, and when you cannot
  • Travel time for each window
  • The transfer orbit drawn in the scene
  • Any planet pair, not just Earth to Mars
  • Compare windows across the next several years
  • Show why the windows exist — the geometry that opens and closes them
  • Say plainly what the model assumes, and check it against an independent source

Catalogue objects

Runs in parallel with everything above. Today: M1, M2-9, M8, M31, M33, M42, M45, the Helix, the LMC and the SMC.

  • The rest of the Messier catalogue
  • NGC objects
  • IC objects
  • Decide which ones are worth a full 3D bake and which stay catalogue facts
  • Every one of them reachable by its catalogue name, and by its common name
  • Sources and credits recorded for each

Operational

Its own lane, not blocking the work above.

  • Add the R2 publishing credentials so the on-demand publish workflow can run (ci: publish an object's prepared assets to R2 on demand #380)
  • Cut what loads before anything renders — decided by what the production bundle actually contains, not by file names
  • Shrink world-context.json, most of which is orbit detail that is never drawn
  • Split the volume lens banks so only the lens actually shown loads
  • Derive prepared coordinate precision from a positional-error budget per scale, rather than a chosen number of decimals
  • Make prepare:facilities refresh the inventory that pins what it rewrites
  • Prune the orphaned R2 keys (~34 GB)
  • Run real browser checks on pull requests
  • Cache header for the catalogue fragment
  • Make a cancelled CI job say why it was cancelled
  • Correct the payload figure quoted in perf(site): defer volume lens bank fetch until selected or in view #373 (1.27 MB, not 3.12 MB)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions