Split simulation systems

This commit is contained in:
2026-05-10 18:49:24 +02:00
parent 6c7fa070f6
commit 5a186fb606
15 changed files with 757 additions and 717 deletions

View File

@@ -51,8 +51,11 @@
- 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.
- Introduced a small public `SimulationEngine` facade over an internal simulation system implementation.
- 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.
## Current Work
@@ -60,7 +63,7 @@
## Future Work
1. Continue splitting the internal simulation system into smaller action, network, consumer, leak, surface interaction, robot safety, reactor, rule, and forecast systems.
1. Continue reducing helper surface where classes no longer carry enough responsibility after future changes.
2. Add advanced editor workflows for explicit reactor binding selection, explicit door edge selection, electricity wall leak face selection, and rule event authoring.
3. Verify and polish the Win2D app on Windows where the XAML compiler can run.
4. Update README and any affected docs to reflect the new schema, .NET target, editor controls, and deterministic defaults.