Skip to content

Add Scorpion game variant - #60

Merged
austin-smith merged 2 commits into
mainfrom
scorpion-variant
Jul 13, 2026
Merged

austin-smith merged 2 commits into
mainfrom
scorpion-variant

Conversation

@austin-smith

Copy link
Copy Markdown
Owner

What Changed

  • New Scorpion variant: single deck, Yukon-style group moves (any face-up card moves with everything on it), Spider-style same-suit building with automatically banked King-to-Ace runs, and a three-card stock dealt onto the first three piles at any time, once.
  • Solver-backed hints via a Spider-modeled bounded best-first planner with a Scorpion-specific heuristic; the stock deal is hinted only when the search proves the tableau stuck.
  • Full variant surface: rules/session/persistence/planner tests, probe ledger entry, docs/rules/scorpion.md, README rows, game-picker thumbnail, per-mode statistics, and a generated screenshot fixture.
  • Spider's stock and completed-run pile views promoted to shared views (TableauStockView, CompletedRunPileView) used by both variants.
  • Stock deals onto the tableau now animate (Scorpion and Spider): the session publishes each deal as an explicit event, and overlay cards fly from the stock to their piles, staggered and flipping mid-air. Undo flights flip mid-air on the way back (also fixing Klondike's face snap when drawn cards return to the stock), rapid deals and undo serialize instead of overlapping, and New Game/Redeal clear transient animation state the way game switches always have.

Why

Closes #50. Scorpion fills the gap between Yukon and Spider in the lineup; deals previously popped into place with no animation, which made the three-card stock deal illegible.

Validation

  • Full test suite passes on macOS; iOS Simulator build clean.
  • tools/hint-probe/run.sh scorpion 500: 14.8% hint-following win rate vs 2.8% random control, zero stalemate loops, zero revisit events, reproduced byte-identically across runs; run.sh all 500 reproduces every existing variant's ledger figure exactly.
  • Simulator passes verified on video with frame extraction: deal shape, group drags, same-suit landings, kings-only empty columns, stock deal (including onto empty piles), auto-banking with reveal scoring, single-tap undo of a deal, hint flow including the stock-tap fallback, deal/undo flights (including rapid double-deal, undo mid-flight, and relaunch into a saved dealt game showing no replay), statistics, and the rules sheet.

UI Changes

  • Scorpion board: three-card stock top-left, four completion piles over the right columns, seven-pile tableau.
  • Game picker gains the Scorpion entry with a mini board silhouette.
  • Deal flights for Scorpion and Spider; mid-air flips on deal and undo flights.

single-deck variant combining yukon-style group moves with spider-style
same-suit building: complete king-to-ace runs bank automatically, and a
three-card stock deals onto the first three piles at any time. includes
a solver-backed hint planner (14.8% hint-following win rate vs 2.8%
random over 500 probe deals), full rules/session/persistence/planner
test coverage, probe ledger entry, rules doc, and screenshot fixture.

stock deals onto the tableau now animate: the session publishes each
deal as an explicit event and overlay cards fly from the stock to their
piles, staggered and flipping mid-air, for scorpion and spider alike.
undo flights flip mid-air on the way back, and new game and redeal
clear transient animation state like game switches always have.
@austin-smith

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. Chef's kiss.

Reviewed commit: 42e1f59fcb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@austin-smith
austin-smith merged commit b2ddfa5 into main Jul 13, 2026
2 checks passed
@austin-smith
austin-smith deleted the scorpion-variant branch July 13, 2026 21:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add Scorpion game variant

1 participant