Commit Graph

  • 41a009a693 docs: cut v0.20.0 — Terminal design system + Android persistence v0.20.0 funman300 2026-05-07 18:58:51 -07:00
  • fa7f98ac52 docs(ui): land the Terminal design system + 24-mockup library funman300 2026-05-07 18:47:57 -07:00
  • 9891ae4ba3 refactor(engine): final hint-highlight + replay-overlay token cleanup funman300 2026-05-07 18:45:02 -07:00
  • cdcaddaabe feat(engine): add Terminal cursor block to splash overlay funman300 2026-05-07 18:42:29 -07:00
  • d752870007 refactor(engine): migrate card_plugin chrome to Terminal tokens funman300 2026-05-07 18:39:02 -07:00
  • 1d1543e4bc test(engine): align card-shadow drag-vs-idle assertion with Terminal "no shadow" intent funman300 2026-05-07 18:33:34 -07:00
  • 651f4060e6 refactor(engine): migrate table_plugin chrome to Terminal tokens funman300 2026-05-07 18:32:03 -07:00
  • a1376075bd feat(engine): port toasts to the Terminal design-system spec funman300 2026-05-07 18:26:55 -07:00
  • ceec4fc486 refactor(engine): route gameplay-feedback colours through Terminal tokens funman300 2026-05-07 18:06:57 -07:00
  • 0d477ac9fd feat(engine): Terminal design-token system in ui_theme funman300 2026-05-07 17:56:08 -07:00
  • 4b51e50203 fix(data): route data_dir() through a per-platform shim so Android persists funman300 2026-05-07 17:55:49 -07:00
  • f2d2119db5 docs: refresh handoff + populate CHANGELOG [Unreleased] for v0.20 funman300 2026-05-07 13:28:04 -07:00
  • 59424a370c docs(android): developer setup + build runbook funman300 2026-05-07 19:36:36 +00:00
  • fb8b2ac684 feat(app): Android build target — first working APK at 54 MB funman300 2026-05-07 19:34:48 +00:00
  • 690e1d2ad6 feat(engine): F3-toggleable FPS / frame-time overlay funman300 2026-05-07 18:03:18 +00:00
  • 35516d31f6 docs(help): add M / P / Win-Summary-Enter to the Overlays section funman300 2026-05-07 17:40:44 +00:00
  • 9b065e5ac6 feat(stats): append "Shareable" badge to the Latest-win caption funman300 2026-05-07 04:04:55 +00:00
  • e1b8766e15 feat(settings): "Smart window size" toggle to opt out of monitor-relative launch sizing funman300 2026-05-07 04:00:43 +00:00
  • 67c150bd7b test(engine): wall-clock-bounded loop for pull_failure flake funman300 2026-05-07 03:54:51 +00:00
  • aa2a021712 docs: cut v0.19.0 — punch-list close + Wayland + animation polish v0.19.0 funman300 2026-05-06 20:06:21 -07:00
  • 6037596cc0 fix(engine): double-click move animation no longer plays twice funman300 2026-05-06 20:00:05 -07:00
  • d7ffb16df5 fix(engine): single-card double-click with no destination now plays the reject animation funman300 2026-05-06 19:54:28 -07:00
  • b57db017d3 feat(app): Wayland support + monitor-relative default window size funman300 2026-05-06 19:49:52 -07:00
  • 0b3140ad6d Revert "feat(engine): theme thumbnails accept PNG faces alongside SVG" funman300 2026-05-06 19:38:13 -07:00
  • e41def8c89 Revert "feat(engine): per-theme nearest-sampling opt-in for pixel-art themes" funman300 2026-05-06 19:38:13 -07:00
  • aad8bb9c83 Revert "feat(engine): bundle Rusty Pixel as a built-in theme" funman300 2026-05-06 19:38:13 -07:00
  • 55c235b55f fix(engine): drop duplicate "You Win" toast — WinSummary modal owns the celebration funman300 2026-05-06 19:35:04 -07:00
  • 21ec03b157 feat(engine): bundle Rusty Pixel as a built-in theme funman300 2026-05-06 19:28:53 -07:00
  • 17e3112502 feat(engine): per-theme nearest-sampling opt-in for pixel-art themes funman300 2026-05-06 19:21:53 -07:00
  • de4751115f feat(engine): theme thumbnails accept PNG faces alongside SVG funman300 2026-05-06 19:13:52 -07:00
  • 9ff48ace5b docs: refresh handoff + populate CHANGELOG [Unreleased] for v0.19.0 funman300 2026-05-06 18:17:07 -07:00
  • 91b7605b9f fix(engine): clear PendingRestoredGame in test_app + harden auto-save flake funman300 2026-05-06 18:16:32 -07:00
  • 42d90b199c feat(data,engine): persist replay share URL alongside the replay funman300 2026-05-06 18:10:16 -07:00
  • 3e11e9e79a feat(engine): H-key hint runs on AsyncComputeTaskPool funman300 2026-05-06 18:01:51 -07:00
  • bfcd05fbb5 docs: cut v0.18.0 — launch-experience round + async winnable seeds v0.18.0 funman300 2026-05-06 17:20:10 -07:00
  • c497c3193c fix(engine): freeze game timers while the Home picker is up funman300 2026-05-06 17:29:42 +00:00
  • 9aa0dd23b1 fix(engine): Esc dismisses the topmost modal when Profile stacks on Home funman300 2026-05-06 17:15:18 +00:00
  • d065d49fe7 fix(engine): TimeAttack tile glyph swaps to → (FiraMono ships sideways triangles inconsistently) funman300 2026-05-06 17:06:40 +00:00
  • c30b04ec72 fix(engine): Home tile glyphs picked from FiraMono's actual coverage funman300 2026-05-06 17:00:26 +00:00
  • 40d6e0ab17 fix(engine): Home tile glyphs render + modal fits any viewport funman300 2026-05-06 16:52:44 +00:00
  • 9fe650fa20 feat(engine): Home picker — 2-column picture tiles with Unicode glyphs funman300 2026-05-06 16:45:30 +00:00
  • b73d246b4c feat(engine): Today's Event callout on the Home Daily card funman300 2026-05-06 16:28:59 +00:00
  • ae40a1db7a feat(engine): MSSC-style Home picker — header chips, score chips, draw mode funman300 2026-05-06 16:16:01 +00:00
  • b7c3a4996f fix(engine): Restore-prompt resolution suppresses Home auto-show funman300 2026-05-06 15:44:31 +00:00
  • d48b9489db feat(engine): Esc dismisses Home / accepts default on Restore prompt funman300 2026-05-06 15:36:09 +00:00
  • 08b006ff30 fix(engine): Esc on a modal no longer also opens Pause underneath funman300 2026-05-06 15:20:39 +00:00
  • 17e0737a10 feat(engine): Enter dismisses Win Summary and starts a fresh deal funman300 2026-05-06 15:13:26 +00:00
  • dd63261999 feat(engine): auto-show Home / mode picker on launch funman300 2026-05-06 06:57:25 +00:00
  • 93660c2217 feat(engine): N keypress now opens the real Confirm/Cancel modal funman300 2026-05-06 06:57:14 +00:00
  • 56e2e6f151 feat(engine): empty-state copy + onboarding hints across panels funman300 2026-05-06 06:16:37 +00:00
  • cc635328be fix(engine): popover rows stay visible regardless of action-bar fade funman300 2026-05-06 05:54:34 +00:00
  • a4bc063497 fix(engine): Settings rows use full-width layout to prevent overlap funman300 2026-05-06 05:45:16 +00:00
  • 540869c851 feat(engine): "Copy share link" Stats button — clipboards the replay URL funman300 2026-05-06 05:32:57 +00:00
  • bdac754b26 feat(engine): "Won before" HUD indicator on rematched seeds funman300 2026-05-06 05:23:16 +00:00
  • f863d85c35 fix(engine): preserve saved game while restore prompt is unanswered funman300 2026-05-06 05:15:31 +00:00
  • 3c7a0eb4fb feat(engine): restore prompt on launch — Continue or start fresh funman300 2026-05-06 04:57:49 +00:00
  • d489e7a31b feat(engine): solver-vetted seed selection on AsyncComputeTaskPool funman300 2026-05-06 04:49:19 +00:00
  • f2f30c8002 docs: adopt unified-3.0 Claude rule set + trim duplications funman300 2026-05-06 04:42:24 +00:00
  • a49a340a30 chore: prune low-value tests per CLAUDE_SPEC.md §10 + WORKFLOW §8 funman300 2026-05-06 04:42:05 +00:00
  • 27cdf78ce0 docs: cut v0.17.0 — solver-driven hints + replay-rate slider v0.17.0 funman300 2026-05-06 04:11:08 +00:00
  • faa6c5efc4 docs: reconcile SESSION_HANDOFF with actually-shipped state funman300 2026-05-06 04:05:03 +00:00
  • 487b99bbc9 docs: SESSION_HANDOFF refresh — solver hints + replay slider, async deferred funman300 2026-05-06 04:00:59 +00:00
  • 53e3b816cf feat(settings,engine): replay-playback rate slider in Settings → Gameplay funman300 2026-05-06 04:00:59 +00:00
  • 87275bf340 feat(core,engine): solver-driven hints with heuristic fallback funman300 2026-05-06 01:10:02 +00:00
  • 56647d7f0d docs: CHANGELOG + SESSION_HANDOFF refresh for v0.16.0 v0.16.0 funman300 2026-05-06 00:52:08 +00:00
  • cbf2483028 feat(engine): opt Profile / Leaderboard / Home into scrim-click dismiss funman300 2026-05-06 00:47:02 +00:00
  • a54201e97b feat(engine): click-outside-to-dismiss for read-only modals funman300 2026-05-06 00:32:58 +00:00
  • 48e412177c fix(engine): focus arrives on the same frame a modal opens funman300 2026-05-06 00:32:19 +00:00
  • cd54ce1bb0 feat(engine): pointer cursor on hover over interactive buttons funman300 2026-05-06 00:32:04 +00:00
  • 7a3032b74c fix(engine): scroll the modals whose content overflows the viewport funman300 2026-05-05 23:30:04 +00:00
  • 89699a8a86 docs: SESSION_HANDOFF refresh for post-v0.15.0 (follow-up) funman300 2026-05-05 23:08:46 +00:00
  • 70165da103 docs: CHANGELOG + SESSION_HANDOFF refresh for v0.15.0 v0.15.0 funman300 2026-05-05 23:07:15 +00:00
  • 8a5fa8751c feat(core,engine): Klondike solver and "Winnable deals only" toggle funman300 2026-05-05 23:02:22 +00:00
  • bf660df971 feat(core,engine): "Cinephile" achievement for completing a replay funman300 2026-05-05 22:32:56 +00:00
  • 13a8a012ee feat(data,engine): rolling replay history (last 8 wins) funman300 2026-05-05 22:32:37 +00:00
  • 02ababa65f feat(engine): wire Stats Watch Replay button to in-engine playback funman300 2026-05-05 20:34:48 +00:00
  • 9c36b49729 feat(engine): replay-playback overlay banner with Stop button funman300 2026-05-05 20:34:36 +00:00
  • 8e90574437 feat(engine): in-engine replay playback core funman300 2026-05-05 20:34:16 +00:00
  • 95fcdad5d2 chore: disable Bevy default features to drop unused audio stack funman300 2026-05-05 20:07:30 +00:00
  • d948fa862a docs: CHANGELOG + SESSION_HANDOFF refresh for v0.14.0 v0.14.0 funman300 2026-05-05 19:44:03 +00:00
  • 1fcd032b0a feat(web): card flight animations between piles funman300 2026-05-05 19:01:02 +00:00
  • 3081505a3d test(server): E2E coverage for replay upload → fetch path funman300 2026-05-05 18:58:54 +00:00
  • 07b8ecd9b2 feat(server): web replay viewer (HTML/CSS + WASM bindings) funman300 2026-05-05 18:54:01 +00:00
  • 5bed43ef32 feat(wasm): solitaire_wasm crate for browser-side replay re-execution funman300 2026-05-05 18:53:19 +00:00
  • 23c9704887 feat(engine): upload winning replays to the sync server funman300 2026-05-05 18:52:36 +00:00
  • 93182fa251 feat(server): replay upload + fetch endpoints funman300 2026-05-05 18:50:25 +00:00
  • 89c51ab712 feat(settings): time-bonus multiplier slider in Settings → Gameplay funman300 2026-05-05 18:49:07 +00:00
  • 3984231c9b feat(data,sync,engine): per-mode best score and fastest win funman300 2026-05-05 18:46:32 +00:00
  • d9f36bf34a feat(engine): "Watch replay" affordance in Stats overlay funman300 2026-05-05 18:41:55 +00:00
  • 57d1c58fdf feat(engine): record + persist winning replays on disk funman300 2026-05-05 18:38:49 +00:00
  • 42535f5109 feat(data): replay storage layer with atomic StockClick input funman300 2026-05-05 18:36:25 +00:00
  • d5e6f8026b docs: SESSION_HANDOFF refresh for session 8 (Quat smoke-test round) funman300 2026-05-05 17:44:33 +00:00
  • 271647265c fix(engine): treat unplayable stock as softlock in has_legal_moves funman300 2026-05-05 17:35:55 +00:00
  • 3eabc149a8 fix(engine): hide previous-game positions during new-game deal funman300 2026-05-05 17:26:14 +00:00
  • f1aeb24157 fix(core): validate moved tableau stack forms a legal run funman300 2026-05-05 17:26:14 +00:00
  • 000143231b feat(engine): auto-save Time Attack sessions across launches funman300 2026-05-05 01:06:35 +00:00
  • 1a1047664b feat(engine): 14-day daily-challenge calendar in the Profile modal funman300 2026-05-05 01:05:54 +00:00
  • ba527de351 feat(engine): card-art thumbnails in the theme picker funman300 2026-05-05 00:41:20 +00:00
  • fe41b502ac docs: CHANGELOG + SESSION_HANDOFF refresh for v0.13.0 v0.13.0 funman300 2026-05-02 20:43:38 +00:00
  • b37f0cbec7 feat(engine): right-click radial menu for quick-drop without dragging funman300 2026-05-02 20:40:48 +00:00