-
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