Commit Graph

  • c06458cf80 test(engine): add missing coverage for settings and animation plugins root 2026-04-27 04:37:32 +00:00
  • de01566e47 fix(engine): eliminate waste-pile bleed-through on card draw root 2026-04-27 04:31:26 +00:00
  • 2a01ecdbfd test(core): add missing check_auto_complete coverage root 2026-04-27 04:08:51 +00:00
  • bf150f11f1 test(engine): add boundary tests for format_secs and pause toggle cycle root 2026-04-27 04:06:43 +00:00
  • 3d4d834c58 test(engine): add paused-timer test for TimeAttackPlugin root 2026-04-27 04:03:07 +00:00
  • d605fd5536 test(core): add missing boundary tests for can_place_on_foundation/tableau root 2026-04-27 04:00:59 +00:00
  • 96ac44fbef test(server): add unit tests for hash_date_to_u64 and generate_goal root 2026-04-27 04:00:08 +00:00
  • 2dd5b1fc9c test(sync): add missing merge coverage for stats fields root 2026-04-27 03:55:58 +00:00
  • d0b650e08b test(sync): add unit tests for StatsSnapshot::win_rate and AchievementRecord::unlock root 2026-04-27 03:54:49 +00:00
  • 9e9ce2b752 fix(server): use char count (not byte length) for display_name limit root 2026-04-27 03:50:41 +00:00
  • fe986ef4a1 fix(engine): fire XpAwardedEvent for achievement BonusXp rewards root 2026-04-27 03:44:29 +00:00
  • fd5d488361 test(core): add missing move_cards edge case tests root 2026-04-27 03:39:59 +00:00
  • e624dd26b0 fix(sync): merge weekly goal progress per-goal when same ISO week root 2026-04-27 03:34:11 +00:00
  • cdb1145061 fix(core): differentiate night_owl and early_bird achievement conditions root 2026-04-27 03:29:36 +00:00
  • e174ed93a4 fix(server): trim username whitespace on login like register does root 2026-04-27 03:26:12 +00:00
  • 3eb7901023 feat(engine): fire XpAwardedEvent for daily and weekly bonus XP root 2026-04-27 03:23:55 +00:00
  • 91b675f2f1 fix(engine): settings toast shows correct volume type (SFX vs Music) root 2026-04-27 03:21:37 +00:00
  • 0b0e0180c0 feat(engine): tighter tableau fan for face-down cards root 2026-04-27 03:18:31 +00:00
  • bc021acfd0 feat(data,engine): add WinUnder-5min and WinDrawThree weekly goal types root 2026-04-27 03:13:33 +00:00
  • cacacb00dc feat(server): expand daily challenge to 6 goal variants root 2026-04-27 03:05:18 +00:00
  • 0a76c089d0 feat(engine): hide score and timer in Zen mode per spec root 2026-04-27 03:04:18 +00:00
  • de840fb006 feat(engine,server): XP toast on win + display_name max-length validation root 2026-04-27 03:02:59 +00:00
  • e3ac494e85 feat(server): validate username length/chars and minimum password length on register root 2026-04-27 02:59:27 +00:00
  • 11cb53ab29 feat(engine): InfoToastEvent — show locked-mode messages on-screen root 2026-04-27 02:57:34 +00:00
  • 4a33cbdc22 feat(engine): require N-key confirmation when abandoning an active game root 2026-04-27 02:53:28 +00:00
  • dfeaed6de2 feat(engine): fire CardFlippedEvent + play flip sound on tableau reveal root 2026-04-27 02:48:25 +00:00
  • ed0aff4714 feat(data): expand challenge seed list from 5 to 25 seeds root 2026-04-27 02:42:50 +00:00
  • 46dd9cdfab feat(engine): achievements screen shows reward and unlock date per entry root 2026-04-27 02:38:16 +00:00
  • 14ef19a396 feat(engine): HUD shows 'Draw 3' badge when playing in Draw Three mode root 2026-04-27 02:33:02 +00:00
  • 3d5f34a650 feat(engine): stats overlay shows XP progress to next level root 2026-04-27 02:14:54 +00:00
  • 314186d6f4 feat(data): SyncProvider::delete_account + SolitaireServerClient impl root 2026-04-27 02:10:26 +00:00
  • c6a596299e feat(engine): HUD shows Time Attack countdown instead of game elapsed time root 2026-04-27 02:08:30 +00:00
  • 07bf1977bd feat(engine): win toast includes score and time root 2026-04-27 02:05:08 +00:00
  • 3363da2d1a fix(engine): settings panel max_height + overflow clip on small windows root 2026-04-27 02:02:45 +00:00
  • 648c5c18d9 feat(leaderboard): opt-out support — server endpoint, client method, UI button root 2026-04-27 02:01:20 +00:00
  • 15b9b5477b feat(engine): show challenge mode progress in stats overlay root 2026-04-27 01:57:11 +00:00
  • fff8c66bf7 feat(engine): in-game HUD — score, move count, elapsed time, mode badge root 2026-04-27 01:51:50 +00:00
  • 299e0c6a94 feat(engine): cosmetic selectors applied, stats screen expanded, daily goals enforced root 2026-04-27 01:46:52 +00:00
  • f579b96d76 feat(engine): wire AnimSpeed to animation, new achievements, leaderboard opt-in, daily goal display root 2026-04-27 01:38:25 +00:00
  • bd48813900 fix(engine): fire LevelUpEvent when weekly bonus XP crosses a level threshold root 2026-04-27 01:16:11 +00:00
  • 9a38873891 feat(engine): fetch daily-challenge seed from server on startup root 2026-04-27 01:09:24 +00:00
  • 9a4071c74e refactor(engine): propagate SyncError through pull task instead of String root 2026-04-27 01:05:59 +00:00
  • 45ef3a2058 fix(engine): reset weekly goals at app startup if the ISO week changed root 2026-04-27 01:02:05 +00:00
  • 6728a4311f feat(engine): grant achievement rewards + gate cosmetic selectors root 2026-04-27 01:00:18 +00:00
  • b37fe5b49b fix(engine): add missing A/L/O shortcuts to help screen overlay root 2026-04-27 00:52:20 +00:00
  • d56abcd7a9 feat(engine): leaderboard screen (press L to toggle) root 2026-04-27 00:38:55 +00:00
  • a7b781cd36 feat(engine): achievements screen (press A to toggle) root 2026-04-27 00:27:21 +00:00
  • f7850c0075 feat(engine): auto-complete — cards auto-deal to foundations root 2026-04-27 00:24:21 +00:00
  • 00f0383867 feat(engine): in-progress game state persistence root 2026-04-27 00:17:47 +00:00
  • 20db4b312a feat(engine): ManualSyncRequestEvent + Sync Now button in settings root 2026-04-27 00:03:24 +00:00
  • f7f14efe07 feat(engine): live sync status in Settings panel root 2026-04-26 23:59:45 +00:00
  • 303c78aa4c feat(server): update leaderboard scores from sync push root 2026-04-26 23:56:49 +00:00
  • 3c01cef5f3 feat(engine): implement Draw Mode, Theme, and Music Volume settings root 2026-04-26 23:53:48 +00:00
  • 34ba4dc6ed feat(workspace): full server + sync implementation, all tests green root 2026-04-26 23:32:56 +00:00
  • 13b428b81c feat(engine): first-run onboarding banner funman300 2026-04-25 23:14:10 -07:00
  • 9d0f9478b2 feat(data,engine): persistent Settings + SFX volume hotkeys funman300 2026-04-25 23:08:20 -07:00
  • b720588687 feat(engine): MoveRejectedEvent + PausePlugin (Esc) funman300 2026-04-25 22:56:35 -07:00
  • adacdf533c feat(engine,assetgen): synthesized SFX + kira AudioPlugin funman300 2026-04-25 22:48:58 -07:00
  • 7dfbff45d1 feat(engine): add HelpPlugin (H/?) and Challenge cleared toast funman300 2026-04-25 22:39:08 -07:00
  • 193410200e feat(engine,core): add Time Attack mode + unlocks panel funman300 2026-04-25 17:27:53 -07:00
  • 294f6fe9d4 docs: mark Phase 6 part 4b (Challenge mode + level-5 gate) complete funman300 2026-04-25 17:18:50 -07:00
  • 788ac9f65a feat(engine,core,data): add Challenge mode with seed list and level-5 gate funman300 2026-04-25 17:18:32 -07:00
  • 09d62f4255 docs: mark Phase 6 part 4a (elapsed time + Zen mode) complete funman300 2026-04-25 14:16:04 -07:00
  • 8afb1f3fe5 feat(engine,core): add elapsed-time tick system and Zen GameMode funman300 2026-04-25 14:14:57 -07:00
  • 6b793aa2ab modified: solitaire_engine/src/game_plugin.rs funman300 2026-04-24 20:12:10 -07:00
  • 0fdfbced6d docs: mark Phase 6 part 3 (completion toasts + progression panel) complete funman300 2026-04-24 19:28:26 -07:00
  • 363ddc9b75 feat(engine): surface daily/weekly completions as toasts + progression panel funman300 2026-04-24 19:28:13 -07:00
  • 0609d4eef3 docs: mark Phase 6 part 2b (weekly goals) complete in session handoff funman300 2026-04-24 19:25:31 -07:00
  • b730902d76 feat(engine): add weekly goals with ISO-week rollover and +75 XP bonus funman300 2026-04-24 19:25:18 -07:00
  • 578938a9b2 docs: mark Phase 6 part 2a (daily challenge + level-up toast) complete funman300 2026-04-24 19:18:04 -07:00
  • 622b35a3bf feat(engine): add daily challenge, level-up toast, and daily_devotee achievement funman300 2026-04-24 19:17:59 -07:00
  • 0cb8b32ec4 docs: mark Phase 6 part 1 (XP/levels) complete in session handoff funman300 2026-04-24 19:11:32 -07:00
  • ef043c14d4 feat(engine): add ProgressPlugin awarding XP on wins with level-up events funman300 2026-04-24 19:11:22 -07:00
  • cfdb3b7547 feat(data): add PlayerProgress with XP/level helpers and atomic persistence funman300 2026-04-24 19:10:28 -07:00
  • 5512a141b6 docs: mark Phase 5 complete in session handoff funman300 2026-04-24 12:54:40 -07:00
  • 1f6994a084 feat(engine): add AchievementPlugin with persistent unlock tracking funman300 2026-04-24 12:53:31 -07:00
  • 4589c52368 feat(data): add AchievementRecord and atomic achievements.json persistence funman300 2026-04-24 12:51:15 -07:00
  • 82fa584cbb feat(core): add achievement module with 14 unlock conditions funman300 2026-04-24 12:50:46 -07:00
  • b9957909b1 docs: mark Phase 3 and Phase 4 complete in session handoff funman300 2026-04-24 12:44:18 -07:00
  • 2ce11f8f4d feat(engine): add StatsPlugin with persistent stats and toggleable overlay funman300 2026-04-24 12:43:49 -07:00
  • 5ced4c01ce feat(data): add atomic stats persistence (load_stats_from, save_stats_to) funman300 2026-04-24 12:37:57 -07:00
  • f8cce2433d feat(data): add StatsSnapshot with update_on_win and record_abandoned funman300 2026-04-24 12:37:21 -07:00
  • bef7ab3c13 docs: add Phase 4 statistics implementation plan Solitaire Quest 2026-04-24 12:29:03 -07:00
  • 4d2379c426 feat(engine): add AnimationPlugin with slide, cascade, and toast (Phase 3F) Solitaire Quest 2026-04-23 21:32:42 -07:00
  • a8a323c6c3 chore(deps): replace bevy_egui+bevy_kira_audio with bevy_ui+kira, drop AssetServer Solitaire Quest 2026-04-23 21:02:46 -07:00
  • b3646d6cad modified: solitaire_engine/src/card_plugin.rs modified: solitaire_engine/src/input_plugin.rs funman300 2026-04-23 20:48:57 -07:00
  • 900de7f376 feat(engine): add InputPlugin with keyboard and stock-click funman300 2026-04-23 16:26:40 -07:00
  • 0a87f0f8f2 feat(engine): add CardPlugin with procedural card rendering funman300 2026-04-23 16:22:49 -07:00
  • d92b4a8648 feat(engine): add layout, LayoutResource, and TablePlugin funman300 2026-04-23 16:18:24 -07:00
  • c393eab17d feat(engine): add resources, events, and GamePlugin event routing funman300 2026-04-23 16:15:38 -07:00
  • 3831fe691c docs: add session handoff document for Phase 3 continuation Solitaire Quest 2026-04-23 16:01:05 -07:00
  • b8dc7cb21c fix(core): remove stock_recycled limit, replace unwrap, snapshot on recycle, fix derives Solitaire Quest 2026-04-23 11:17:25 -07:00
  • 58f1465927 feat(core): add GameState with draw, move_cards, undo, win/auto-complete detection Solitaire Quest 2026-04-23 11:13:49 -07:00
  • 43194b04ac fix(core): use StdRng doc comment, replace expect() with debug_assert in deal_klondike Solitaire Quest 2026-04-23 11:09:23 -07:00
  • 17bbec054c feat(core): add pile, error, deck, rules, scoring modules with tests Solitaire Quest 2026-04-23 11:07:58 -07:00
  • fcf878b403 feat(core): add Card, Suit, Rank types with tests Solitaire Quest 2026-04-23 11:05:08 -07:00
  • f84d7c5849 fix(workspace): add derives/docs per code review, remove unused thiserror from solitaire_sync Solitaire Quest 2026-04-23 11:04:15 -07:00
  • 684f07746d feat(workspace): initialize all seven crates with stubs and blank Bevy window Solitaire Quest 2026-04-23 11:00:42 -07:00