Files
zfxaction26_2/TASKS.md
2026-05-10 22:35:25 +02:00

6.6 KiB

Reactor Maintenance Rewrite Tasks

Current State

  • Branch: design-rewrite
  • Scope approved: implement docs/design.md end-to-end with deterministic defaults and no backward compatibility.
  • Simulation core has been replaced with the first design-native model and deterministic engine slice.
  • Simulation and test projects now target net10.0 because this Linux environment only has the .NET 10 runtime.
  • Win2D editor has been rewritten against the new design model.
  • Win2D project now targets net10.0-windows10.0.19041.0 to match the simulation project.
  • Linux can restore and compile the referenced simulation project, but full WinUI/XAML compilation still requires a Windows-capable XAML compiler environment.

Completed Work

  • Read project instructions, Linux instructions, code style, and docs/design.md.
  • Confirmed deterministic balance defaults should be chosen during implementation.
  • Confirmed a full Win2D editor is required.
  • Created branch design-rewrite.
  • Added TASKS.md as the required per-commit work tracker.
  • Removed the legacy integer hazard/effect/hazard plug-in simulation surface.
  • Added design-native terrain, underground carrier layers, surface hazards, props, leaks, doors, reactor bindings, robot inventory, rule events, validation, serialization, and forecasts.
  • Added deterministic default balancing values.
  • Added a first deterministic simulation pipeline for network propagation, consumers, leaks, surface interactions, robot safety, reactor readiness, rule events, and forecasts.
  • Replaced old tests with design-based simulation tests.
  • Verified dotnet test tests/ReactorMaintenance.Simulation.Tests/ReactorMaintenance.Simulation.Tests.csproj passes: 11 passed.
  • Attempted dotnet jb cleanupcode --build=False ...; unavailable in this environment because dotnet-jb is not installed.
  • Reviewed the first slice and fixed an action-resolution maintainability issue before commit.
  • Verified git diff --check reports no whitespace errors.
  • Ran dotnet jb cleanupcode --build=False ... successfully after ReSharper install and normalized line endings back to LF.
  • Reworked the Win2D editor for the new model: full tool list, layer-aware painting, terrain, underground carriers, surface hazards, props, doors, leaks, robot, forecasts, save validation, starter level, and simple play actions.
  • Removed old editor dependencies on legacy props, pressure pipes, smoke, fire, and global power/cooling/core-stability fields.
  • Verified dotnet test tests/ReactorMaintenance.Simulation.Tests/ReactorMaintenance.Simulation.Tests.csproj passes after the editor rewrite: 11 passed.
  • Attempted Win2D build on Linux with dotnet build src/ReactorMaintenance.Win2D/ReactorMaintenance.Win2D.csproj -p:EnableWindowsTargeting=true -p:Platform=x64; it fails at Windows XamlCompiler.exe with exec format error.
  • Attempted managed XAML compiler path with -p:UseXamlCompilerExecutable=false; it fails loading the WinUI XAML compiler task dependency under this Linux/.NET 10 setup.
  • Updated README.md for the new design-model editor, .NET 10 target, and Linux/Windows build expectations.
  • Committed the Win2D editor rewrite slice.
  • Added branch-aware junction flow analysis shared by validation and simulation propagation.
  • Junction validation now rejects malformed branch counts and ambiguous source-side branches.
  • Junction propagation now applies deterministic T-junction and cross-junction ratio weights only to inferred outgoing branches.
  • Added tests for T-junction ratio splits, zero-weight branches, ambiguous junction validation, and best-path flow into non-junction cells.
  • Verified dotnet test tests/ReactorMaintenance.Simulation.Tests/ReactorMaintenance.Simulation.Tests.csproj passes: 15 passed.
  • Ran jb cleanupcode --build=False ... and python D:\Code\crlf.py ... for touched C# files after the junction slice.
  • Expanded rule predicates with reactor readiness/loss/win, network value bands, and robot inventory checks.
  • Expanded rule effects with removal of surface hazards, heat, and inventory, plus authored access positions for leak-start effects.
  • Hardened rule event validation for predicate targets, effect targets, leak access, and non-negative amount effects.
  • Added tests for network-band rules, reactor-ready rules, inventory rules, removal effects, electricity leak access, and invalid rule targets.
  • Verified dotnet test tests/ReactorMaintenance.Simulation.Tests/ReactorMaintenance.Simulation.Tests.csproj passes after the rule slice: 21 passed.
  • Ran jb cleanupcode --build=False ... and python D:\Code\crlf.py ... for touched C# files after the rule slice.
  • Split serializable simulation records and enums from the monolithic Models.cs file into individual files under Models.
  • Moved level creation, grid mutation helpers, surface clamping, grid geometry, and inventory operations out of serializable model records.
  • Replaced separate T-junction and cross-junction props/tools with one topology-inferred Junction prop and one editor tool.
  • Moved junction ratio presets into balancing data.
  • Replaced hardcoded EPairEffect variants with parameterized surface interaction verbs and balance-owned magnitudes.
  • Temporarily introduced and then removed a public SimulationEngine facade after review showed it was pure delegation.
  • Updated design documentation for generic junctions and parameterized surface interactions.
  • Removed the temporary SimulationCoreSystem catch-all and made SimulationEngine the real orchestration point.
  • Split simulation behavior into purposeful systems for player actions, network propagation, consumers, leaks, surface interactions, robot safety, reactors, rule events, and forecasts.
  • Kept Systems limited to behavior-owning systems; shared traversal, band, and carrier math helpers live at the simulation root.
  • Replaced carrier-specific editor enum entries with parameterized editor commands.
  • Added explicit editor workflows for door edge selection, electricity wall leak access-face selection, reactor consumer binding, and basic rule event authoring.
  • Added editor operation tests plus broader junction validation and serialization round-trip coverage.
  • Verified dotnet test tests\ReactorMaintenance.Simulation.Tests\ReactorMaintenance.Simulation.Tests.csproj passes: 27 passed.
  • Verified dotnet build src\ReactorMaintenance.Win2D\ReactorMaintenance.Win2D.csproj -p:Platform=x64 -p:EnableWindowsTargeting=true succeeds on Windows.
  • Ran jb cleanupcode --build=False ... and python D:\Code\crlf.py ... for touched files in the final rewrite slice.

Current Work

  • Rewrite task list completed on design-rewrite.

Future Work

No known rewrite tasks remain.