Alex funman300
  • Joined on 2026-01-25
funman300 pushed tag v0.9.0 to funman300/Ferrous-Solitaire 2026-04-28 02:38:58 +00:00
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-28 02:37:26 +00:00
03227f8c77 feat(engine): playability improvements — rounds 7–9 (#40–#64)
d387ee68d7 feat(engine): stats improvements, toast queue, keyboard selection (#65, #66, #67, #68)
1c6094dc93 feat(engine): auto-complete badge, confirm dialog, game-over overlay (#56, #57, #58)
f32e53dd0b feat(engine): shake/settle/deal animations (#54, #55, #69)
ddd7502a06 feat(engine): playability improvements — input intelligence, audio, HUD, onboarding (#27–#30, #37, #39–#40, #44, #48–#49)
Compare 8 commits »
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-27 05:17:39 +00:00
fe23e89971 test(engine): add advance_elapsed saturation and theme colour pure-function tests
34f60e048a test(sync): add unit tests for StatsSnapshot::record_abandoned
87fe51a0d0 test(sync): add unit tests for PlayerProgress methods
0318480ba7 test(server): add unit tests for JWT middleware pure functions
adacc40592 test(server): add unit tests for username_chars_ok validation
Compare 5 commits »
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-27 05:04:36 +00:00
0e7a34d6bf test(server): verify merge-on-push keeps higher stats across two pushes
3014b65c92 test(core): add scoring boundary tests for non-waste destinations
721c17e9f8 test(core): add undo_count boundary tests
60e853f52b test(engine): add InfoToastEvent test for locked challenge X-key press
be4cefe79a test(engine): add XpAwardedEvent and LevelUpEvent total_xp coverage
Compare 8 commits »
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-27 04:12:04 +00:00
2a01ecdbfd test(core): add missing check_auto_complete coverage
bf150f11f1 test(engine): add boundary tests for format_secs and pause toggle cycle
3d4d834c58 test(engine): add paused-timer test for TimeAttackPlugin
d605fd5536 test(core): add missing boundary tests for can_place_on_foundation/tableau
96ac44fbef test(server): add unit tests for hash_date_to_u64 and generate_goal
Compare 52 commits »
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-26 06:15:38 +00:00
13b428b81c feat(engine): first-run onboarding banner
9d0f9478b2 feat(data,engine): persistent Settings + SFX volume hotkeys
b720588687 feat(engine): MoveRejectedEvent + PausePlugin (Esc)
adacdf533c feat(engine,assetgen): synthesized SFX + kira AudioPlugin
7dfbff45d1 feat(engine): add HelpPlugin (H/?) and Challenge cleared toast
Compare 10 commits »
funman300 pushed to main at funman300/dotfiles 2026-04-25 19:03:00 +00:00
8a087d123f Housekeeping: fix theme SSOT, wire screenshot, remove dead swaylock
funman300 pushed to main at funman300/dotfiles 2026-04-25 18:54:47 +00:00
79ca9839f6 Add mouse battery widget, Bolt Launcher rule, cursor size; fix theme symlink
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-25 03:12:27 +00:00
6b793aa2ab modified: solitaire_engine/src/game_plugin.rs
0fdfbced6d docs: mark Phase 6 part 3 (completion toasts + progression panel) complete
363ddc9b75 feat(engine): surface daily/weekly completions as toasts + progression panel
0609d4eef3 docs: mark Phase 6 part 2b (weekly goals) complete in session handoff
b730902d76 feat(engine): add weekly goals with ISO-week rollover and +75 XP bonus
Compare 18 commits »
funman300 pushed to main at funman300/dotfiles 2026-04-24 19:57:30 +00:00
8be00bc273 Replace swaylock with gtklock; centralise theme palette
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-24 19:31:06 +00:00
bef7ab3c13 docs: add Phase 4 statistics implementation plan
4d2379c426 feat(engine): add AnimationPlugin with slide, cascade, and toast (Phase 3F)
a8a323c6c3 chore(deps): replace bevy_egui+bevy_kira_audio with bevy_ui+kira, drop AssetServer
Compare 3 commits »
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-24 03:49:16 +00:00
b3646d6cad modified: solitaire_engine/src/card_plugin.rs
900de7f376 feat(engine): add InputPlugin with keyboard and stock-click
0a87f0f8f2 feat(engine): add CardPlugin with procedural card rendering
d92b4a8648 feat(engine): add layout, LayoutResource, and TablePlugin
c393eab17d feat(engine): add resources, events, and GamePlugin event routing
Compare 5 commits »
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-23 23:01:06 +00:00
3831fe691c docs: add session handoff document for Phase 3 continuation
funman300 created branch master in funman300/Ferrous-Solitaire 2026-04-23 22:54:13 +00:00
funman300 pushed to master at funman300/Ferrous-Solitaire 2026-04-23 22:54:13 +00:00
b8dc7cb21c fix(core): remove stock_recycled limit, replace unwrap, snapshot on recycle, fix derives
58f1465927 feat(core): add GameState with draw, move_cards, undo, win/auto-complete detection
43194b04ac fix(core): use StdRng doc comment, replace expect() with debug_assert in deal_klondike
17bbec054c feat(core): add pile, error, deck, rules, scoring modules with tests
fcf878b403 feat(core): add Card, Suit, Rank types with tests
funman300 created repository funman300/Ferrous-Solitaire 2026-04-23 22:41:14 +00:00
funman300 pushed to main at funman300/dotfiles 2026-04-23 17:51:19 +00:00
8c099437a4 niri: add snixembed startup and Wine tray window rule
funman300 pushed to main at funman300/dotfiles 2026-04-23 17:47:55 +00:00
299d4269ba niri: add float toggle hotkey, workspace binds, RuneLite window rule
funman300 pushed to main at funman300/dotfiles 2026-04-23 17:39:14 +00:00
888f46d791 niri: remove focus ring, add maximize keybind, set gaps to 0