PRD-002 — Mission Configurator
Status · Accepted (v0.1 base + v0.1.6 multi-destination extension locked by ADR-026) Sources · 04_Technical_Architecture.md §lambert · 02_Project_Concept.md §six-screens Audiences · curious learner, STEM student (PA §audiences) Promises · real physics, educational at every level (PA §promises) Principles · physics first, fail honestly (PA §principles) Why this is a PRD · This screen lets a person experience the delta-v budget and launch window constraint as a felt reality, not an abstract fact. Failure is a valid outcome. The educational moment is in running out of delta-v.
A student who knows the Hohmann transfer from a textbook is looking at a grid of colours. Orange cells are expensive. Blue cells are cheap. They drag the departure slider to a bad month. The orange intensifies. They select their launch vehicle. The rocket equation solves. They're 0.8 km/s short. The screen doesn't hide this. The student now understands the delta-v budget in a way the textbook never achieved.
The problem
The porkchop plot is one of the most important tools in mission planning. It shows every possible departure and arrival combination for a multi-year window, coloured by delta-v cost. Professional mission planners use it every day. It is completely invisible to the public.
The curious person who watched a Mars landing and wondered "why did they launch in July?" has no way to answer that question with their own hands. The answer is in a porkchop plot. They've never seen one.
The experience
The user arrives at the PLAN screen. A 11,200-cell porkchop plot has already been computed — departure dates on the X axis, arrival dates on the Y axis, delta-v cost as colour. Blue is cheap. Orange is expensive. The launch windows are immediately visible as blue valleys.
They hover over a cell. A tooltip shows departure date, arrival date, transit time, and delta-v. They click a cell in a blue valley. The right panel shows: vehicle selection, payload mass, computed propellant, and a FLY THIS MISSION button. They select Falcon Heavy. The Tsiolkovsky equation solves. Their payload of 2,500 kg is viable. They click FLY.
They click a cell in a deep orange region. The same calculation runs. They're short. The panel shows the shortfall clearly — "Δv deficit: 1.2 km/s." They either choose a larger vehicle or accept that this window doesn't work. The screen has taught them something about orbital mechanics through failure.
Why now
The configurator is Act 2 — it comes after the explorer establishes the geometry and before the arc visualises the flight. Without it, the fly screen is a demo; with it, the fly screen is the result of a decision the user made.
Success looks like
A user selects a bad departure window, runs out of delta-v, switches to a good window, and succeeds — and can explain why the windows are different.
A STEM student verifies that the delta-v values in the porkchop plot match what they computed from the vis-viva equation and the rocket equation.
The FLY THIS MISSION navigation feels like a natural consequence of completing the planning step.
Out of scope
- Multi-leg trajectories (Earth-Venus-Mars gravity assist)
- Atmospheric entry delta-v
- Custom rocket builder (vehicle selection from a fixed list only)
- Saving or exporting a mission configuration
The sharpest threat
The porkchop plot only means something if the user understands what the colours represent. If the axis labels and colour scale aren't immediately legible, the plot is visual noise. The educational moment depends on the plot being intuitive enough to read without explanation.
Open threads
- UXS-002 for full visual contract
- RFC-003 for Lambert worker protocol (the computation that generates the plot)
- RFC-002 for mission schema (what data is passed to the fly screen)
- RFC-006 for porkchop plot mobile interaction model — the desktop tap-to-select cannot work on mobile at native cell size
- ADR-008 locks the Lambert solver in a Web Worker
- ADR-018 locks mobile-first design approach
Extension · multi-destination (v0.1.6 / ADR-026)
Status · Decided · locked by ADR-026 (closes RFC-007) Scope · Earth → Mercury / Venus / Mars / Jupiter / Saturn, with LANDING vs FLYBY toggle for inner planets
PRD-002 v0.1 hardcoded Earth → Mars. The v0.2 extension answers a related but distinct user question: "I want to plan a mission to a different planet — when's the next launch window?" This is the same delta-v-budget educational moment, applied across the solar system rather than just at Mars.
What changes for the user
The /plan screen gains two controls above the porkchop:
- Destination selector — Mercury, Venus, Mars (default), Jupiter, Saturn.
- Mission-type toggle — LANDING / FLYBY, where physically meaningful.
The porkchop plot re-renders for the chosen destination, with a per-destination transfer-time range. Mars stays 80–520 days (no regression for users who arrive expecting the existing experience). Saturn's range expands to 800–3000 days; the user immediately sees that "the next Saturn launch window is in 12 years" without being told.
The vehicle selector and ∆v budget continue to work; expensive outer-planet missions reveal that even Starship runs out of ∆v at Saturn unless gravity assists are used (educational by failure, per the existing PRD principle).
Why this fits PRD-002 rather than a new PRD
The screen still serves the same audience (curious learner, STEM student) with the same promise (real physics, fail honestly) and the same principle (felt reality of the ∆v budget). Multi-destination doesn't change what /plan IS — it broadens what it teaches.
Out of scope for v0.2
- Uranus, Neptune, Pluto (transfer-time axes too long for the educational pattern to remain legible at 112×100 grid resolution; queued for v0.3)
- Multi-leg gravity-assist trajectories (Earth-Venus-Mars, Earth-Jupiter-Pluto)
- Custom destination orbital parameters (locked to
static/data/planets.jsonephemerides) - Atmospheric entry ∆v on inner planets (the
orbit_insertion_dv_km_svalue is the same regardless of whether the user lands or just inserts to orbit)
Links
- Prototype:
docs/prototypes/P02_mission-configurator.html - Concept:
docs/concept/02_Project_Concept.md §six-screens - Multi-destination deliberation:
docs/rfc/RFC-007.md