Commit Graph

  • b10e1a5a87 fix(engine): resize cards along with the rest of the layout funman300 2026-04-29 22:52:16 +00:00
  • 366fd6d127 fix(engine): snap cards directly on window resize funman300 2026-04-29 22:44:08 +00:00
  • 7a77c66f6d fix(engine): restore card to origin slot after rejected drop funman300 2026-04-29 22:29:20 +00:00
  • adece12cf1 feat(engine): add New Game UI button in HUD funman300 2026-04-29 22:06:12 +00:00
  • 2cfbc32715 docs: add UI-first design principle funman300 2026-04-29 21:59:38 +00:00
  • 56b37fc653 fix(app): point AssetPlugin at workspace assets dir funman300 2026-04-29 21:40:13 +00:00
  • 3ffde038c5 docs: switch asset pipeline notes to AssetServer model funman300 2026-04-29 21:14:48 +00:00
  • ece2a55ffb chore(engine): re-export BackgroundImageSet from engine lib funman300 2026-04-29 21:14:34 +00:00
  • abda354562 feat(engine): emit SyncCompleteEvent on pull resolve funman300 2026-04-29 21:14:21 +00:00
  • fbe984cf64 feat(engine): switch asset loading to AssetServer with xCards artwork funman300 2026-04-29 20:06:02 +00:00
  • efec6f22d5 fix(engine): resolve StatsUpdate system-set scheduling cycle funman300 2026-04-29 04:05:26 +00:00
  • 7cda2a9f1a fix(engine): resolve all clippy warnings introduced by PNG asset pipeline v0.10.0 funman300 2026-04-29 03:35:41 +00:00
  • 2b04718f33 feat(assetgen): upgrade card backs and backgrounds to 120×168 with richer patterns funman300 2026-04-29 01:27:31 +00:00
  • 505f0ebda3 fix(docker): remove unneeded openssl deps, verify sqlx offline cache path funman300 2026-04-29 01:25:45 +00:00
  • 0f40e717e1 docs(arch): update CardImageSet and asset pipeline for 52-face PNG system funman300 2026-04-29 01:25:30 +00:00
  • 08202f9351 docs(engine): update card_plugin module comment for PNG-based rendering funman300 2026-04-29 01:24:45 +00:00
  • e22fcadb22 feat(engine,assetgen): generate 52 individual card face PNGs funman300 2026-04-29 01:20:31 +00:00
  • 11d53245cf ci: add libwayland-dev to both CI jobs funman300 2026-04-29 01:00:31 +00:00
  • f27a002c91 fix(server,core): use SmartIpKeyExtractor for rate limiter, collapse nested if funman300 2026-04-29 00:54:53 +00:00
  • ce8ba6a8c4 chore(workspace): pin rust-toolchain to stable, set MSRV 1.95 funman300 2026-04-29 00:47:17 +00:00
  • 66695683eb chore(workspace): upgrade rand 0.9, edition 2024, expand server tests funman300 2026-04-29 00:36:12 +00:00
  • 18ac5adef5 feat(engine): art pass — PNG assets, custom font, and keyring v4 upgrade funman300 2026-04-29 00:30:55 +00:00
  • 41d75b50de feat/fix/perf(engine,data,assetgen): ambient audio, sync bug fixes, hot-path cleanup funman300 2026-04-28 23:51:58 +00:00
  • 4997356cb5 docs(project): add README, CI workflow, migration guide, and fix asset docs funman300 2026-04-28 23:41:16 +00:00
  • 4bd562671e chore(data,engine,docs): remove Google Play Games Services sync backend funman300 2026-04-28 23:22:25 +00:00
  • 8221ebc803 fix(engine): replace EventReader with MessageReader for TouchInput events funman300 2026-04-28 23:00:53 +00:00
  • 4d6f8bccb7 chore(pkg): simplify PKGBUILDs for local private builds funman300 2026-04-28 22:45:52 +00:00
  • 800dfb50ce chore(pkg): add Arch Linux PKGBUILDs for game client and sync server funman300 2026-04-28 22:44:44 +00:00
  • 735d8766a2 docs(engine): add missing doc comments on layout, ProgressPlugin; fix audio format in ARCHITECTURE.md funman300 2026-04-28 22:37:07 +00:00
  • ccfeb055e5 fix(server): load JWT_SECRET at startup, add auth logging, fix challenge race funman300 2026-04-28 22:35:46 +00:00
  • 8f957d919f test(core,sync,server): add EmptySource, ConflictReport, and roundtrip coverage funman300 2026-04-28 22:34:57 +00:00
  • 2407686e13 fix(engine,gpgs,core,server): export CardFaceRevealedEvent, explicit gpgs stub, enum/constant docs funman300 2026-04-28 22:30:22 +00:00
  • 1ec2593137 fix(engine): resolve input coordination bugs in selection/pause/keyboard funman300 2026-04-28 22:13:10 +00:00
  • ffc79447d4 fix+refactor+docs: P0–P3 todo list items funman300 2026-04-28 22:02:52 +00:00
  • 71c0c273a1 chore(deps): migrate kira 0.9 → 0.12 funman300 2026-04-28 13:54:01 -07:00
  • 21d0c289b5 chore(deps): migrate to Bevy 0.18 funman300 2026-04-28 13:48:41 -07:00
  • 648cd44387 chore(deps): migrate to Bevy 0.17 funman300 2026-04-28 13:04:44 -07:00
  • c8553dc8c5 chore(deps): migrate to Bevy 0.16, axum 0.8, and other package updates funman300 2026-04-28 12:31:12 -07:00
  • eedddb979e feat(engine): add curve-based card animation module funman300 2026-04-28 18:06:58 +00:00
  • 59a023ed5e chore(workspace): fix all clippy warnings in test code funman300 2026-04-28 18:02:27 +00:00
  • 8cd28cfb29 feat(engine): right-click highlight timer and visual hint glow (#5, #6) funman300 2026-04-28 17:36:23 +00:00
  • 03227f8c77 feat(engine): playability improvements — rounds 7–9 (#40–#64) v0.9.0 funman300 2026-04-28 02:35:15 +00:00
  • d387ee68d7 feat(engine): stats improvements, toast queue, keyboard selection (#65, #66, #67, #68) funman300 2026-04-27 20:07:49 +00:00
  • 1c6094dc93 feat(engine): auto-complete badge, confirm dialog, game-over overlay (#56, #57, #58) funman300 2026-04-27 20:07:47 +00:00
  • f32e53dd0b feat(engine): shake/settle/deal animations (#54, #55, #69) funman300 2026-04-27 19:55:24 +00:00
  • ddd7502a06 feat(engine): playability improvements — input intelligence, audio, HUD, onboarding (#27–#30, #37, #39–#40, #44, #48–#49) funman300 2026-04-27 19:11:47 +00:00
  • c3ee7c45a7 feat(engine): card visual improvements — flip animation, foundation/tableau placeholders, drag shadow funman300 2026-04-27 19:03:59 +00:00
  • 4d132afdc2 test(engine): add unit tests for format_reward variants in achievement_plugin funman300 2026-04-27 05:22:22 +00:00
  • eee220fbf0 test(engine): add unit tests for format_duration in stats_plugin funman300 2026-04-27 05:19:28 +00:00
  • fe23e89971 test(engine): add advance_elapsed saturation and theme colour pure-function tests funman300 2026-04-27 05:17:15 +00:00
  • 34f60e048a test(sync): add unit tests for StatsSnapshot::record_abandoned funman300 2026-04-27 05:13:02 +00:00
  • 87fe51a0d0 test(sync): add unit tests for PlayerProgress methods funman300 2026-04-27 05:12:36 +00:00
  • 0318480ba7 test(server): add unit tests for JWT middleware pure functions funman300 2026-04-27 05:10:32 +00:00
  • adacc40592 test(server): add unit tests for username_chars_ok validation funman300 2026-04-27 05:08:18 +00:00
  • 0e7a34d6bf test(server): verify merge-on-push keeps higher stats across two pushes funman300 2026-04-27 04:54:47 +00:00
  • 3014b65c92 test(core): add scoring boundary tests for non-waste destinations funman300 2026-04-27 04:54:11 +00:00
  • 721c17e9f8 test(core): add undo_count boundary tests funman300 2026-04-27 04:52:36 +00:00
  • 60e853f52b test(engine): add InfoToastEvent test for locked challenge X-key press funman300 2026-04-27 04:48:55 +00:00
  • be4cefe79a test(engine): add XpAwardedEvent and LevelUpEvent total_xp coverage funman300 2026-04-27 04:46:11 +00:00
  • 74fa6c7cff fix(engine): Draw-Three waste fan hit-testing; add HUD and input coverage root 2026-04-27 04:42:25 +00:00
  • 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