diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 9c274c5..ee2dfca 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -592,11 +592,15 @@ pub struct Session { /* replayable instruction log + derived stats */ } // From `klondike` (upstream — never edit): pub enum KlondikePile { - Stock, - Waste, + Stock, // NB: no Waste variant — see below Foundation(Foundation), // 4 slots, any suit may claim any slot Tableau(Tableau), // 7 columns } +// Pile-coordinate convention: upstream has no `Waste` variant. In +// pile-coordinate space `KlondikePile::Stock` denotes the face-up +// *waste* pile (the only stock-side pile cards move out of); use +// `GameState::stock_cards()` / `waste_cards()` when the face-down +// draw stack must be distinguished. Documented on `GameState::pile`. pub enum DrawStockConfig { DrawOne, DrawThree } pub enum KlondikeInstruction { /* RotateStock, DstFoundation, ... — the serialized move format (schema v4+) */ }