v1.0.0-alpha.10
Pre-release
Pre-release
1.0.0-alpha.10 (2026-06-13)
Features
- about: tell the origin story on the About screen (90fce60)
- coach: overhaul the advisor into decision-aware, stage-aware coaching (2005e96)
- coach: present finish plans, narrated holds, and swap-first copy (a2396bc)
- coach: see whole finishes, narrate holds, lead with the joker swap (e17e557)
- cpu: refine the Expert opponent-threat model and expose it for the coach (817dad6)
- cpu: sharper Fifty, cover, and joker-swap postures in the pipeline (5fb0ce6)
- game: persist deal seeds for reports (abe1320)
- match: add landscape match-over overlay; drop the portrait screen (0798212), closes #96
- reports: add developer replay harness for exported reports (699c11f)
- reports: add diagnostic log and action transcript models (83d2f67)
- reports: embed diagnostics and transcript in match reports (23837f2)
- reports: encode versioned match exports (8760e49)
- reports: record diagnostics and transcript at the applyAction seam (80a3df4)
- table: center east/west melds into columns (cd1018e), closes #96
- table: coach insight flow (once-per-round banners) + compute gating (75eeef9)
- table: fly each placed meld to its own resting slot (bb02559), closes #96
- table: stage banners ride as a note under the primary coach hint (37b7f2b)
- table: wire flight slots, Fifty give-up, practice pause, and match-over overlay (c040ec5), closes #96
- ui: add match report export actions (0e3d0ad)
- ui: confirm report contents and capture diagnostics on export (d5f636a)
- ui: render the Fifty cue as a flame (1f77abd)
- web: fill-viewport table scaling and back-navigation guard (d42db4d)
- web: persist prefs, matches, and onboarding via localStorage (8c8d2b3)
Bug Fixes
- cards: apply cubic card filtering on web only (20d1646)
- cards: render card art with cubic filtering (8d8e789)
- coach: decouple two hints from advisor invariants (c05d5d0)
- coach: lay-off rider rides the brain's posture, fiftyHold always names a throw (b4e2b16)
- coach: prove take-and-finish with the engine finish planner (ed17255)
- coach: re-key the callout when hold-back attribution changes (e96a721)
- coach: re-teach each distinct bait card and re-key on benchmark raises (48e6a3c)
- correct Arabic localization strings (4f28fcc)
- correct Arabic strings and onboarding content visibility (b1b0f4c)
- cpu: primaryThreatFor names the most dangerous opponent per tier (570e60d)
- cpu: read aces high in the collecting tell and own-run cover hold (df3c8b4)
- cpu: tighten three opponent-threat-model edges (74251bd)
- engine: draw a stock-exhausted round that can never finish (a902394)
- engine: end the round when the human is eliminated by score (5312945)
- engine: enumerate every joker variant for the finish-proof value gate (a44ec12)
- engine: only report finishes an unopened pickup can realize (6ab9de1), closes #94
- engine: prove finishes through ambiguous-joker melds (e458283)
- fifty: let a doomed Fifty pickup be given up by returning the card (5d0cc02)
- fifty: take staged melds back before giving up on every tier (f249b1f), closes #96
- jokers: keep the joker badge from hiding cards in the meld-suggestion rack (68037de), closes #96
- l10n: externalize choose joker identity dialog title (506d9eb)
- l10n: externalize choose joker identity dialog title (985b4b7), closes #100
- l10n: unify AI-player term to الكمبيوتر in Arabic (28cc374)
- reports: harden report decoder diagnostics (8875929)
- reports: ignore a negative persisted droppedCount on decode (f850dd9)
- reports: keep the canonical coach hint id and detail stock mismatches (d880d89)
- reports: validate decoded report, transcript, and diagnostics (review) (3be810c)
- table: coach keys carry their own dimensions, presenter guards subjectSeat (4ac1cbd)
- table: coach turn tracking, seat-only recompute, rematch flow reset (dc28f5d)
- table: localize the give-up Fifty dialog and guard its async gap (b738bce), closes #96
- table: match the playfield compact breakpoint in meld-flight geometry (3638e30), closes #96
- ui: abandon the match and open match-over when the human is eliminated (087169c)
- ui: bound the CPU loop auto-restart so a stalled round can't freeze (4cc7028)
- ui: make picking up a discard distinct from claiming Fifty (fd4f8fc)
- ui: pass high-contrast to the match-over report sheet (review) (294b7ac)
- web: branded loading screen and manifest orientation/theme (17d1a05)
- web: download match reports and gate splash audio on web (51bfbfd)
- web: keep the report-download anchor in the document (b8722a5)
Performance Improvements
- web: lazy audio, webp brand mark, add web interop dep (4aa3843)