Skip to content

feat: mission what-if sandbox — tweak vehicle parameters and see outcome change #10

Description

@ghtomcat

Summary

Allow users to adjust key mission parameters on existing vehicles and observe how the outcome changes. Keeps the real-mission foundation (Apollo 8, Starship IFT, Demo-2) while adding a "what if" experimentation layer on top.

Motivation

Prompted by community feedback: users want to explore rocket physics interactively. Rather than a full custom rocket builder (KSP territory), OpenSim's angle is recreating real missions — so the right scope is tweaking real vehicles, not designing fictional ones.

Examples of questions this would let users explore:

  • What if Starship launched with 10% less thrust?
  • What if Apollo 8's LOI burn was 30 minutes late?
  • What if Falcon 9 carried 20 t more payload?
  • What if the gravity turn started earlier?

Proposed approach

  • Advanced mode toggle in the kneeboard or settings panel — hidden by default so it doesn't clutter the standard experience
  • Expose a small set of high-impact parameters per vehicle:
    • Mass (payload, propellant load)
    • Thrust / throttle profile
    • fpaProfile pitch program (gravity turn shape)
    • Key event timing (stage sep, LOI, TLI burn start)
  • Parameters feed directly into the existing physics engine — no new simulation code needed, just wiring UI to state
  • Outcome: trajectory deviates, mission may succeed or fail, displays delta from nominal

Notes

  • Core physics already supports all of this via fpaProfile, massWet, thrustSL/Vac, ignitionTime, etc.
  • Delta-v sensitivity for cislunar trajectories (LOI, TLI) is already modeled — timing changes are basically free
  • Main work is UI: clean parameter input without overwhelming the panel
  • Could share custom configs via URL hash or JSON export for community sharing

Out of scope (for now)

Full custom rocket designer (arbitrary geometry, engine selection) — that's a much larger project and changes the product's identity.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions