Files
zfxaction26_2/TASKS.md
2026-05-11 22:25:08 +02:00

4.7 KiB

Reactor Maintenance Rewrite Tasks

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.
  • 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:
    • single multi-service consumers,
    • count-based reactor requirements,
    • cell-derived doors,
    • 0-10 structural integrity,
    • fixed automatic rule systems,
    • 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

  • 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.
  • Extend UI affordances for inspecting per-carrier consumer service state.