2ce11f8f4d3cb2617ff54962c8e11eebeca18445
StatsPlugin loads stats on startup, persists them on every GameWonEvent and abandoned NewGameRequestEvent (>=1 move, not won), and provides a full-window overlay toggled with `S` showing games played/won, win rate, streak, best score, fastest win, and average win time. The storage path is configurable via StatsPlugin::storage_path: the default ctor uses dirs::data_dir(); StatsPlugin::headless() disables I/O entirely so tests don't read or overwrite the user's real stats.json. record_abandoned runs before GameMutation so it reads move_count before handle_new_game clobbers it. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Description
A Klondike solitaire game built in Rust with Bevy, targeting Android and Linux desktop. Features
classic card rendering, draw-one/draw-three modes, score tracking, undo/redo, daily challenges, and auto-complete
detection.
https://klondike.aleshym.co/