Chessistics/chessistics-tests/Simulation
Samuel Bouchet 8a377c2e41 Add recurring-demand mode with shortage tracking
DemandDef gains optional ConsumptionPerTurn and SustainTurns. When
ConsumptionPerTurn > 0 the demand maintains a buffer filled by
deliveries and drained each turn. Shortage fires the first turn the
buffer can't cover consumption; it clears when the buffer refills.
SustainedTurns counts consecutive non-shortage turns, and IsSatisfied
flips to true once it meets SustainTurns — so the victory condition
becomes "no shortage for N consecutive turns" as soon as a mission opts
in. Classic demands (ConsumptionPerTurn = 0) behave exactly as before.

TurnExecutor runs the consumption sub-phase after transfers. Two new
events (DemandShortageStarted / DemandShortageCleared) let the
presentation surface the state later. BoardSnapshot + CampaignLoader
carry the new fields; no existing mission opts in yet, so
campaign_01.json is unaffected.
2026-04-17 22:39:28 +02:00
..
CampaignTests.cs Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
CampaignTests.cs.uid Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
FullLevelTests.cs Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
FullLevelTests.cs.uid Add technical files 2026-04-10 17:14:09 +02:00
GameSimTests.cs Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
GameSimTests.cs.uid Add technical files 2026-04-10 17:14:09 +02:00
PhaseTests.cs Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
PhaseTests.cs.uid Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
QuickSaveTests.cs Add QuickSave/QuickLoad with full state restore and visual rebuild 2026-04-17 22:10:06 +02:00
RecurringDemandTests.cs Add recurring-demand mode with shortage tracking 2026-04-17 22:39:28 +02:00
SolvabilityTests.cs Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
SolvabilityTests.cs.uid Add technical files 2026-04-10 17:14:09 +02:00
TransformerTests.cs Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
TransformerTests.cs.uid Snapshot campaign system progress before automation harness 2026-04-16 21:22:49 +02:00
UndoTests.cs Add Undo (Ctrl+Z) backed by the WorldSave checkpoint mechanism 2026-04-17 22:14:06 +02:00