Releases: Maiz27/hareeg-table
Releases · Maiz27/hareeg-table
v1.0.0-alpha.10
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](https://github.com/Maiz27/h...
v1.0.0-alpha.9
1.0.0-alpha.9 (2026-06-08)
Features
- app: add the practice lesson route (a673281)
- app: route practice lessons onto the table in practice mode (61d5757)
- app: wire onboarding and practice into the shell (d7cc567)
- cpu: separate casual difficulty tactics (6cc2458)
- game_table: completion note, missed overlay, practice claim affordances (e6e2f06)
- game_table: fly the claimed Fifty card from the pile to the hand (f95a671), closes #83
- game_table: make the thrown card itself a Fifty claim tap target (6dba707), closes #83
- game: expose the live fifty window stamp (015fe64)
- home: anchor guided practice as a full-width stack member (0a00161)
- home: move guided practice into the action stack (28257a0)
- l10n: add core turn pack lesson copy (bd23d8d)
- l10n: add finish and Fifty lesson copy (f658227)
- l10n: add onboarding and guided practice copy (370c661)
- l10n: add practice surface copy (5e444c0)
- l10n: add table mechanics lesson copy (ff5131c)
- l10n: rewrite the table mechanics lesson copy (9e7dde4)
- learning: add claim countdown, dead-end restart, and outcome notes (9ce1551)
- learning: add deterministic practice scenario harness (c64820a)
- learning: add first-run onboarding flow (5737101)
- learning: add Fundamentals pack with card-face reading panels (HT-55) (af146eb)
- learning: add guided practice lesson catalog (67bfb24)
- learning: add minimal practice lesson surface (788b62d)
- learning: add practice checklist hub (5685d82)
- learning: add Table strictness pack with consequence demos (9469d53)
- learning: add the core turn-state practice pack (3264487)
- learning: add the finish and Fifty practice pack (ff5026f)
- learning: add the practice step banner and completion overlay (de308cf)
- learning: add the strictness tier explainer (4300be2)
- learning: add the table mechanics practice pack (9fed578)
- learning: chain pack lessons from the completion overlay (23aa1ac)
- learning: dress practice piles with prior discards (cca7158)
- learning: gate the table's affordances by the practice step (66941ce)
- learning: grow the practice harness for watchable, forgiving lessons (588a646)
- learning: key checklist lesson tiles by lesson id (aea0477)
- learning: launch scripted lessons from the checklist (7928a82)
- learning: let a step teach its own take-back (7e062fd)
- learning: let steps offer explicit engine-valid alternatives (c22ffc3)
- learning: prove the Fifty by hand in the fifty lessons (5286454)
- learning: render table melds and identity-labeled joker buttons (d9800c1)
- learning: retract-aware steps, dead-end and clock-hold harness (f410b23)
- learning: rework the core turn pack into the approved curriculum (0cfa70e)
- learning: score-sheet reveal and a tighter completion row (e984a44)
- learning: script the finish and Fifty pack on the table harness (e5c7358)
- learning: script the table mechanics pack on the table harness (4c4db8e)
- learning: support Fifty windows and outcome notes in the harness (b535ab5)
- persistence: add local learning progress store (8b7675f)
- persistence: persist and resume a mid-proof Fifty claim (49af938), closes #83
- practice: executable filler audit + step model fields (1f55a63)
- rules: cover-aware finish planning for Fifty and stock-exhaustion checks (981a9ca), closes #83
- rules: Fifty prove-it claim flow with tier-gated unproven exits (8371f19), closes #83
- rules: relax the taken-discard rule to free in-turn ordering (c209e51), closes #83
- table: host guided practice lessons on the real table (3957309)
- table: play lesson intros and react to the player on the table (abc3d5b)
Bug Fixes
- align strictness copy with implemented behavior (HT-43) (4ab72e9)
- app: create the splash read timeout only at the hand-off await (9bb40b5)
- app: harden the splash hand-off (cf82bc1)
- audio: route table sounds as game audio (2fa7de0)
- cpu: harden audit argument handling (9df173e)
- cpu: honor fifty claim miss profile (81e1909)
- game_table: end the placed-meld frame at the last card ([0446af5](https://github.com/Maiz27/h...
v1.0.0-alpha.8
1.0.0-alpha.8 (2026-06-01)
Features
- coaching: add the coaching advisor analysis engine (b69c298)
- coaching: proactive on-table coach for the coaching tier (16fe564)
- cpu: potential-weighted discard scoring and endgame Fifty-hold cover posture (da01c3e)
- proactive coaching for the coaching tier (HT-40) (0e21697)
Bug Fixes
- audio: stabilize Android sound-effect focus and keep haptics on sound-off (d7b25bd)
- coaching: repaint coach rings on colour change and refresh insights on Fifty-window or round changes (7d9b2d9)
- engine: correct Fifty scoring on restore and conserve cards at round end (bb2188a)
- game: never offer CPUs an invalid Fifty claim and draw on hopeless claims (3f68dd2)
- game: persist round-result scores in snapshots so Fifty deltas survive save (7a47c73)
- game: seed each new round's deal so matches are reproducible (1ac5a71)
- table: accept an unambiguous cover dropped anywhere over the meld (afbe4fa)
v1.0.0-alpha.7
1.0.0-alpha.7 (2026-05-25)
Features
- cards: add Iron Rose theme (14189cf)
Bug Fixes
- cards: replace sandline jack of diamonds art (9ef9afb)
- cards: restore sandline jack asset via manifests (abc277d)
- domain: preserve joker cover edge intent (d19f980)
- game: checkpoint active turns for resume (a5a4b79)
- game: rebase cover-play indices when a meld is removed (4282c71)
- persistence: persist DiscardHistory so resumed matches keep CPU memory (a922bcf)
v1.0.0-alpha.6
1.0.0-alpha.6 (2026-05-24)
Features
- match: short-circuit to MatchOver when human is eliminated by score (8a35f92)
- ui: spectator shortcuts — match short-circuit + Table fast-forward (7043319)
- ui: table-tier fast-forward button when human is out of the round (edbd091)
Bug Fixes
- cards: bypass miswired jack_diamonds asset in Sandline Lounge (5161033)
- cards: drop mislabelled jack_diamonds art and add face-asset consistency test (a33ddfb)
- rules: block CPU mistake-class actions when cpuMistakesAllowed is false (8b9d284)
- rules: refuse CPU mistakes when cpuMistakesAllowed is false (76c5c19)
- ui: drop dead _isJokerCueActive reference after #41 + #47 merge (27a896b)
- ui: drop dead _isJokerCueActive reference in _fastForwardRound (5c286ca)
- ui: keep expanded meld stack fully visible past the hand boundary (a28c470)
- ui: keep expanded meld stack visible past the south hand boundary (a8e33fc)
- ui: make meld confirm rack tier-independent (458f983)
- ui: make meld confirm rack tier-independent (b05f69e)
- ui: restore meld confirm surface for valid selections (a17c7fe)
v1.0.0-alpha.5
1.0.0-alpha.5 (2026-05-24)
Features
- cpu: add Skilled/Expert/Priority planners with observation-aware strategy (5870064)
- rules: add TableStrictness with mistake handling, meld partition, and discard history (81e6d96)
- ui: meld flight, joker reveal, match-over screen, and strictness pickers (4042fcd)
Bug Fixes
v1.0.0-alpha.4
1.0.0-alpha.4 (2026-05-23)
Features
- settings: replace auto-sort toggle with hand-sort-mode picker (8ee12ff)
Bug Fixes
v1.0.0-alpha.3
1.0.0-alpha.3 (2026-05-22)
Features
- audio: introduce TableAudio gateway with preloaded SoundPool seam (dfdcb29)
- cards: add motion seam to ShowcaseCardFan (a582948)
- cards: inline suit glyph on the represented-joker badge (3b507fa)
- game-table: place the fifty cue above the discard pile (5840032)
- home: looping idle motion on the showcase fan plus breathing room (b32e28a)
- licenses: credit Kenney casino audio in About + Licenses (d65b7f9)
- prefs: default table sound to on with versioned migration (fce03fe)
- splash: play the take-out cue on splash mount (bbacd58)
Bug Fixes
- audio: make audio dispose paths absorb player errors (6518391)
- audio: wrap audio gateway dispose Future in error handling (ab58b67)
- cards: refresh ShowcaseCardFan duration when motion speed changes (d627fbe)
- game-table: handle zero-duration flights in dealStepProgress (deae24b)
- game-table: lock human controls during pre-apply flight (f54cbea)
- rules: keep the fifty cue visible during expiry grace window (7e4578a)