From 69ed79ce8645c6b6ee5bfb90f9f6ac5db2e2c71c Mon Sep 17 00:00:00 2001 From: Frank Tovar Date: Mon, 11 May 2026 22:25:08 +0200 Subject: [PATCH] Update task progress --- TASKS.md | 52 +++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 49 insertions(+), 3 deletions(-) diff --git a/TASKS.md b/TASKS.md index 927f295..8c08278 100644 --- a/TASKS.md +++ b/TASKS.md @@ -2,8 +2,13 @@ ## Current State - Approved design iteration targets the simulation model, rule removal, action economy, reactor requirements, and editor layer workflow. -- Work is proceeding on branch `design-iteration-structural-editor` in methodical commits: docs/tasks, simulation rework, editor rework, cleanup. +- Work is proceeding on branch `design-iteration-structural-editor` in methodical commits. +- Completed commits: + - `787f1e5` Document approved design iteration. + - `3d40617` Restore complete design system documentation. + - `e1ac56d` Rework simulation rules. - Design documentation must preserve every existing system-level rule unless a change explicitly supersedes it. Superseded sections must document the replacement behavior with equal detail. +- The next implementation iteration is the Win2D editor overhaul. ## Completed Work - Created the approved implementation plan for: @@ -15,12 +20,53 @@ - quick/lengthy action economy, - all-seeing-eye viewing without persistent unlocking, - layer-aware editor visualization and tools. +- Repaired the design documentation after the hazard-interaction regression: + - restored the complete surface hazard interaction matrix, + - documented that leaked coolant plus leaked fuel directly holds unless mediated by heat/electricity, + - expanded structural integrity, consumer, reactor, all-seeing-eye, and action-economy details. +- Reworked simulation state and systems: + - removed data-driven rule predicates/effects/events from runtime state, validation, forecasts, serialization, and tests, + - replaced explicit reactor consumer bindings with unbound reactor controls plus required fuel/coolant/electricity consumer counts, + - made consumer props carrier-agnostic with per-carrier service state derived from networks beneath the cell, + - moved doors from explicit edge state to door props on floor cells with orientation inferred from opposing wall cells, + - added underground structural integrity, high-pressure degradation, automatic leak creation, structural forecasts, and repair-to-max behavior, + - removed action budgets and made movement quick while mutating interactions resolve one simulation step, + - removed persistent all-seeing-eye unlocking from simulation state, + - bumped serialized level schema to version 3. +- Updated simulation tests for the replacement systems: + - consumer derivation and disabled consumer service state, + - count-based reactor readiness and reactor-under-network positive-flow requirement, + - quick movement versus lengthy door interaction, + - inferred door blocking, + - structural degradation, automatic leaks, repair integrity reset, + - schema version 3 round-tripping and old-schema rejection. +- Kept the Win2D project compiling after the simulation model changes with narrow compatibility edits. Full editor workflow/rendering work remains outstanding. +- Verified after the simulation rework: + - `dotnet test tests\ReactorMaintenance.Simulation.Tests\ReactorMaintenance.Simulation.Tests.csproj` passed with 23 tests, + - `dotnet build ReactorMaintenance.slnx` passed with 0 warnings. ## Current Work -- Repair design documentation gaps before simulation implementation. -- Rework simulation state, validation, serialization, forecasts, and tests. - Rework Win2D editor layer selection, rendering, tool filtering, drag behavior, and removed panels. +## Editor Overhaul Requirements +- Add a layer combobox with Surface, Electricity, Fuel, and Coolant. +- When Surface is active, draw the surface layer at full opacity and all underground layers at 25% opacity. +- When an underground layer is active, draw the surface layer at 50% opacity, other underground layers at 25% opacity, and the active underground layer at full opacity. +- Render coolant blue, fuel red, and electricity yellow. +- Render networks as thick lines connecting adjacent cell centers; render sources as large centered dots. +- Make tools layer-aware: + - Cursor is always available. + - Heat, Floor, Walls, Props, Consumers, Hazards, and Doors are only available for Surface. + - Network painting and Sources are only available on their respective underground layers. +- Selecting a tool must deselect all other tools. The current two-way binding can leave multiple tools selected. +- Shift+LMB should pan the view in all tools, including Cursor mode. +- Cursor LMB drag should move any prop or robot from one cell to another. +- Remove Rule Events UI. +- Remove Reactor Binding UI. +- Remove editor workflow and pending actions. +- Door cells are redesigned as single prop cells. +- Electricity leak neighbour should be toggled by using the electric leak tool on an existing electric leak cell. + ## Future Work - Add authored sample levels once the new schema stabilizes. - Tune structural integrity balancing after playtesting.