-
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