Add CargoFilter property to PieceState, auto-assigned at placement by tracing relay chain back to production. TransferResolver now enforces cargo-type filtering and uses forward-direction sorting with cargo-aware distance calculations. Prevents cross-route contamination on multi-cargo boards. Level 3 restored to dual-cargo (Wood+Stone) with correct 10R+2K stock. Two new solvability tests validate filter auto-assignment and chain propagation. All 60 tests green. |
||
|---|---|---|
| .. | ||
| FullLevelTests.cs | ||
| GameSimTests.cs | ||
| SolvabilityTests.cs | ||