A native Klondike laid on a felt of gradients — every card is drawn in code. Classic pips, ornate face cards, a navy lattice back. Not a single image asset.
Free & open source (MIT) · macOS 14+ · signed & notarized DMG · 100% SwiftUI
Draw 1 or draw 3, standard scoring, timer and move counter. The rules you know, the way you expect them.
Move single cards or whole sequences. Invalid drops glide back; valid ones snap into place instantly.
Double-click any eligible card and it flies to its foundation. Click the stock to draw, click again to recycle.
Cascading deal, 3D card flips, springy card flights — and confetti when you win.
⌘Z takes back any move, ⌘N deals a fresh game. No penalties, no nagging.
Once the whole board is face up, one click on the magic wand finishes the game for you, card by card.
Pips sit where a real deck puts them. Each rank from 2 to 10 uses the classic printed layout — mirrored bottom half included — positioned in SwiftUI from a table of unit coordinates.
Face cards are typographic. Jack, Queen and King are serif letterforms framed by a gold-lined inset — an engraving reduced to its essence.
The back is a Canvas. Navy gradient, gold diagonal lattice, spade medallion — drawn with a few paths, crisp at any size.
Even the app icon is a script. Scripts/make-app-icon.swift renders the ace-over-back artwork at every size, pixel-exact, no design tool involved.
brew install xcodegen
git clone https://github.com/vincentlauriat/Solitaire.git
cd Solitaire
xcodegen generate
open Solitaire.xcodeproj # then ⌘R
The engine, the rendering and the interactions are three small layers — a pure-logic KlondikeGame, a Design folder that paints the cards, and one GameView that wires the drag & drop. Start with the README.