Add authored campaign levels

This commit is contained in:
2026-05-14 10:56:15 +02:00
parent b68b87d475
commit 6699b3b891
21 changed files with 82165 additions and 1807 deletions

View File

@@ -4,9 +4,9 @@ This backlog tracks what must change so the implementation matches `docs/design.
## Audit Snapshot
- Current simulation tests pass: `55/55` in `tests/ReactorMaintenance.Simulation.Tests`.
- Current simulation tests pass: `60/60` in `tests/ReactorMaintenance.Simulation.Tests`.
- Godot has a usable UX scaffold and grid renderer; the full pulse playback, terminal-gated layer controls, and campaign content pass remain in later tasks.
- Existing campaign data is the older placeholder set. These levels and manifest entries must be replaced by the tutorial plus six-group campaign from `docs/CAMPAIGN.md`.
- Campaign data follows the tutorial plus six-group campaign from `docs/CAMPAIGN.md`.
- Unrelated Godot metadata or generated `.uid` files are not part of this backlog unless a later implementation task intentionally touches them.
## P0 Simulation Contract
@@ -110,7 +110,7 @@ This backlog tracks what must change so the implementation matches `docs/design.
- Powered terminal interaction enables local visibility and forecasts.
- Unpowered terminal interaction reveals nothing and still triggers a pulse.
- Leaving the terminal removes underground/forecast visibility.
- [ ] Add tests for campaign authoring invariants.
- [x] Add tests for campaign authoring invariants.
- Every campaign level loads and validates.
- Tutorial is solvable with exactly one `LengthyAction` before `ActivateReactor`.
- Every non-tutorial level has at least two valid first `LengthyAction` choices.
@@ -138,7 +138,7 @@ This backlog tracks what must change so the implementation matches `docs/design.
- Validate wall-mounted sprinkler valve geometry, outlet/access face, water connection, and exactly one linked control.
- Validate isolation valves sit on exactly one matching underground carrier.
- Warn on initially unready reactors, initially starved required consumers, unused supplies, and sprinkler valves with no useful suppression or pressure tradeoff.
- [ ] Replace placeholder campaign files.
- [x] Replace placeholder campaign files.
- Create tutorial plus Groups 1-6 from `docs/CAMPAIGN.md`.
- Update `default_campaign_manifest.json` to the final order.
- Remove or demote old placeholder levels so they are not presented as campaign content.