feat(engine): Phase B home hierarchy — Continue card, hero New Game, deal-options disclosure #175
Reference in New Issue
Block a user
Delete Branch "feat/home-hierarchy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements Phase B of docs/ui-redesign-2026-07.md (decisions 2–4, recorded in the first commit).
What changed
Settings::last_mode(new serde-defaulted field) with current deal options; a locked persisted mode falls back to Classic. Card clicks, digit keys, and difficulty chips all persistlast_mode(Daily / Play-by-Seed deliberately don't).DifficultyExpandedrenamed toDealOptionsExpanded.ui_modal::spawn_modal_sizedso Home can widen its card to 1080 px — every other modal keeps the 720 px default.Internals
HomeSpawnSources/HomeLaunchWritersSystemParams deduplicate the five respawn call sites and the three launch dispatch surfaces.solitaire_data:Settings.last_mode: GameModewith#[serde(default)]— older settings.json files deserialize to Classic.Tests
10 new home_plugin tests (Continue gating incl. won-game, hero default/replay/locked-fallback, last_mode persistence, disclosure expand, winnable toggle). Full workspace suite +
clippy -D warningsgreen.Fold 7 both-postures sweep still pending (tracked with the Phase A–G sweep).
🤖 Generated with Claude Code