4303ef3f5b
Adds DifficultyLevel (Easy/Medium/Hard/Expert/Grandmaster/Random) to solitaire_core::game_state alongside GameMode::Difficulty(DifficultyLevel). Five seed catalogs (40 seeds each) are pre-verified by the new gen_difficulty_seeds binary using tiered solver budgets (1K–200K moves). DifficultyPlugin resolves StartDifficultyRequestEvent → catalog seed → NewGameRequestEvent; Random uses a system-time seed and bypasses the winnable-only filter. The home overlay gets an expandable Difficulty section between Draw Mode and the mode grid; last-played tier persists in Settings. Difficulty wins pool into Classic stats. 5 unit tests in difficulty_plugin. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
726 B
TOML
33 lines
726 B
TOML
[package]
|
|
name = "solitaire_assetgen"
|
|
version.workspace = true
|
|
license.workspace = true
|
|
edition.workspace = true
|
|
publish = false
|
|
|
|
# Dev-only utility: synthesizes placeholder SFX WAV files into `assets/audio/`
|
|
# and placeholder PNG images into `assets/cards/` and `assets/backgrounds/`.
|
|
# Not depended on by any other workspace crate.
|
|
|
|
[dependencies]
|
|
png = "0.17"
|
|
ab_glyph = "0.2"
|
|
solitaire_core = { path = "../solitaire_core" }
|
|
solitaire_data = { path = "../solitaire_data" }
|
|
|
|
[[bin]]
|
|
name = "gen_sfx"
|
|
path = "src/bin/gen_sfx.rs"
|
|
|
|
[[bin]]
|
|
name = "gen_art"
|
|
path = "src/bin/gen_art.rs"
|
|
|
|
[[bin]]
|
|
name = "gen_seeds"
|
|
path = "src/bin/gen_seeds.rs"
|
|
|
|
[[bin]]
|
|
name = "gen_difficulty_seeds"
|
|
path = "src/bin/gen_difficulty_seeds.rs"
|