Player outcome
Let players choose a registered scenario from the new-campaign setup and ensure the selected scenario controls the initial campaign session.
Implementation direction
Follow docs/architecture.md: resolve and validate a ScenarioSession, pass it into engine initialization, apply resources and sparse state overrides before Week 1, and preserve the scenario id and seed in saves.
Acceptance criteria
- The setup screen lists registered scenarios without hard-coded duplicate metadata.
- Invalid scenarios cannot start.
- Save and resume preserve scenario id and deterministic seed.
- Historical 1976 remains the default.
- Unit and browser tests cover selection, initialization, and resume.
Player outcome
Let players choose a registered scenario from the new-campaign setup and ensure the selected scenario controls the initial campaign session.
Implementation direction
Follow
docs/architecture.md: resolve and validate aScenarioSession, pass it into engine initialization, apply resources and sparse state overrides before Week 1, and preserve the scenario id and seed in saves.Acceptance criteria