-
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