pub mod achievement; pub mod error; pub mod game_state; pub mod klondike_adapter; pub mod scoring; // Re-export the upstream types that cross the solitaire_core API boundary so // downstream crates (engine, wasm) can import from one place without a direct // `klondike` / `card_game` dep. // // `KlondikePileStack`, `SkipCards` and `TableauStack` are intentionally NOT // re-exported — they are only used internally (in `klondike_adapter.rs` and // when decoding instructions to piles in `instruction_to_piles`) and do not // appear in any public method signature. pub use card_game::{Card, Deck, Rank, Session, SolveError, Suit}; pub use klondike::{DrawStockConfig, Foundation, Klondike, KlondikeInstruction, KlondikePile, Tableau}; // Solvability check API (delegates to `card_game::Session::solve`); replaces the // former `solitaire_data::solver` wrapper module. pub use game_state::{DEFAULT_SOLVE_MOVES_BUDGET, DEFAULT_SOLVE_STATES_BUDGET, SolveOutcome}; #[cfg(test)] mod proptest_tests;