Rewrite simulation core for design model
This commit is contained in:
34
TASKS.md
34
TASKS.md
@@ -4,8 +4,9 @@
|
||||
|
||||
- Branch: `design-rewrite`
|
||||
- Scope approved: implement `docs/design.md` end-to-end with deterministic defaults and no backward compatibility.
|
||||
- Existing implementation is the previous combined-cell integer simulation and editor. It will be replaced instead of migrated.
|
||||
- First commit establishes this tracker only.
|
||||
- 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 still references the removed legacy model and is the next major implementation area.
|
||||
|
||||
## Completed Work
|
||||
|
||||
@@ -13,20 +14,27 @@
|
||||
- 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.
|
||||
|
||||
## Current Work
|
||||
|
||||
- Establish task tracking before code changes.
|
||||
- Commit the first simulation-core rewrite slice.
|
||||
|
||||
## Future Work
|
||||
|
||||
1. Replace the simulation domain model with terrain, underground carrier layers, props, leaks, doors, inventory, reactor bindings, rule events, forecasts, and float-valued runtime state.
|
||||
2. Replace balancing with deterministic defaults for all values named by the design.
|
||||
3. Implement validation errors and warnings from the design.
|
||||
4. Implement the turn pipeline: actions, runtime validation, rule events, network propagation, consumers, leak injection, surface interactions, robot safety, reactor state, event advancement, and forecasts.
|
||||
5. Implement player actions and editor operations for the new model.
|
||||
6. Replace serialization with a schema-valid current format only.
|
||||
7. Update the Win2D editor for all authored layers and new runtime inspection.
|
||||
8. Replace tests with design-based behavior coverage.
|
||||
9. Update documentation to reflect the new implementation.
|
||||
10. Run cleanup, tests, code review, and iterate until the implementation is clean and maintainable.
|
||||
1. Expand simulation fidelity where the first slice is intentionally simplified: junction branch inference, ambiguity validation, complete pair table coverage, richer rule predicates/effects, and stronger forecast proof cases.
|
||||
2. Update the Win2D editor for all authored layers and new runtime inspection.
|
||||
3. Add editor workflows for reactor bindings, door edge selection, electricity wall leak faces, rule events, and layer-specific painting.
|
||||
4. Update README and any affected docs to reflect the new schema, .NET target, editor controls, and deterministic defaults.
|
||||
5. Build the Win2D project on a Windows-capable environment after the editor rewrite.
|
||||
6. Add broader tests for junction ratios, ambiguous junctions, all rule event families, serialization edge cases, and editor operations.
|
||||
7. Run cleanup when `dotnet-jb` is available, tests, code review, and iterate until the implementation is clean and maintainable.
|
||||
|
||||
Reference in New Issue
Block a user