Complete Godot pulse UX integration
This commit is contained in:
11
TASKS.md
11
TASKS.md
@@ -5,7 +5,7 @@ This backlog tracks what must change so the implementation matches `docs/design.
|
||||
## Audit Snapshot
|
||||
|
||||
- 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.
|
||||
- Godot level play includes pulse step playback, terminal-gated layer controls, campaign loading, and in-game level editing with JSON save.
|
||||
- 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.
|
||||
|
||||
@@ -160,20 +160,20 @@ This backlog tracks what must change so the implementation matches `docs/design.
|
||||
- Use `PulseAdvanced` or equivalent instead of `TurnAdvanced`.
|
||||
- Ensure accepted no-op powered-prop interactions still notify pulse playback.
|
||||
- Ensure refused invalid actions do not mutate state or trigger pulse playback.
|
||||
- [ ] Animate `Pulse` playback as a short cascade of `Step`s.
|
||||
- [x] Animate `Pulse` playback as a short cascade of `Step`s.
|
||||
- Show leak growth, sprinkler discharge, evaporation, quenching, ignition, wet conduction, and readiness updates.
|
||||
- Disable conflicting inputs during playback.
|
||||
- End playback on the final post-pulse decision state.
|
||||
- [ ] Gate underground layer controls and forecasts.
|
||||
- [x] Gate underground layer controls and forecasts.
|
||||
- Hide or disable layer toggles unless the robot is at an active and powered `AllSeeingEyeTerminal`.
|
||||
- Show why terminal access is unavailable when unpowered or away from the terminal.
|
||||
- Use `Pulse +N` wording in forecast UI.
|
||||
- [ ] Update grid rendering and inspector text.
|
||||
- [x] Update grid rendering and inspector text.
|
||||
- Render `Water` separately from underground `water`.
|
||||
- Render `Unsafe` cells with a distinct movement warning treatment.
|
||||
- Render isolation valve state, sprinkler control state, wall-mounted sprinkler outlet, powered door state, and powered terminal state.
|
||||
- Inspector should display visible surface values, prop state, consumer per-carrier state, and underground values only when terminal access allows it.
|
||||
- [ ] Update action affordances.
|
||||
- [x] Update action affordances.
|
||||
- Movement remains direct and quick.
|
||||
- Prop interactions should explain unavailable power, invalid position, missing remedy, depleted supply, and reactor-not-ready causes.
|
||||
- Disabled actions remain inspectable so players can understand why an action is unavailable.
|
||||
@@ -183,7 +183,6 @@ This backlog tracks what must change so the implementation matches `docs/design.
|
||||
- [ ] Add concise pulse-result feedback for major outcomes: isolated leak, restored pressure, downstream starvation, reactor ready, wet-electric risk, and terminal heat danger.
|
||||
- [ ] Add campaign completion flow for the final Group 6 level.
|
||||
- [ ] Add loading and malformed-level error states for campaign level loading.
|
||||
- [ ] Verify Win2D editor export and Godot loader compatibility for the new schema.
|
||||
- [ ] Revisit art labels/icons for `Water`, `Unsafe`, powered props, and sprinkler controls after mechanics are implemented.
|
||||
|
||||
## Verification Rules
|
||||
|
||||
Reference in New Issue
Block a user