⚡ eXtreme: 24-Cie Tilted Sudoku Architecture

“Twenty Four Cie Tilted Sudoku Puzzle Game for Two, Three, or Four players whether they be men or they be bots … This is a Tribute to The Greatest Game in the World and my other Brother DarreL, but not KyLe — in our quest to pay Tribute to the greatest game in the world. 🎸🎵”

🎩 4 TopHat Regions +6 PTS EACH

Outer 4-Cie brim plus 2-Cie inner crown along each cardinal edge of the 24-Cie octagon:

IDName6 Cies (keep24)
TH-NNorth TopHatca, cb, cc, cd, db, dc
TH-SSouth TopHatde, df, dg, dh, ce, cf
TH-WWest TopHatda, dj, dk, dl, ch, cj
TH-EEast TopHatdd, di,ch_e,ck, cl, dg

📐 4 Corner Regions +6 PTS EACH

3×3 corner pockets minus the 3 missing outer corner cells (aa,ab,ba, etc.) yielding 6 Cies per corner:

IDName6 Cies (keep24)
CR-NWNW Cornerca, cb, da, db, ch, bb
CR-NENE Cornercc, cd, dc, dd, ci, bc
CR-SWSW Cornerdk, dl, cj, ck, de, df
CR-SESE Cornercl, dm, cg, dh, dg, bd

⚡ 4 Diagonal Regions +6 PTS EACH

Four disjoint 6-Cie diagonal ribbons slicing across the tilted 24-Cie board (24 Cies total):

IDName6 Cies (keep24)
DG-1NW-Long Diagonalca, db, bb, bc, cl, dg
DG-2SE-Counter Diagonalcb, dc, ci, bd, cg, dh
DG-3NE-Long Diagonalcd, dc_w, ch, cj, cf, de
DG-4SW-Counter Diagonalda, dj, dk, ce, df, dm

✖️ 5 X Regions + 1 Heavy X +8 / +24 PTS

4 Standard 6-Cie X regions plus the legendary Heavy X comprised of all 4 Diagonals (24 Cies, 4× each numeral 1–6):

IDNameStructure
X-CORECenter Core XInner bb,bc,bd,ce + wing tips (+8 pts)
X-NORTHNorth Crown XUpper crossing 6-Cie X (+8 pts)
X-SOUTHSouth Anchor XLower crossing 6-Cie X (+8 pts)
X-WINGWest-East Wing XLateral crossing 6-Cie X (+8 pts)
X-HEAVYHEAVY X (4 Diagonals)Union of DG-1 ∪ DG-2 ∪ DG-3 ∪ DG-4 (+24 pts)

🧭 Native Xcode / Swift 5 Polar Tilt Geometry (Cie24Board.swift)

Ported from angle_qx.swift and Cie_qx.swift in Twisted23: each Cie computes its radius r = hypot(dx, dy) and polar angle θ = atan2(dy, dx) + tiltRadians around the stage center while counter-rotating its inner numeral label so digits 1..6 always stand upright.

public static func polarShiftedCenter(
    forIndex index: Int,
    canvasWidth: CGFloat,
    tilt: TiltAngleMode
) -> CGPoint {
    let center = canvasWidth * 0.5
    let step = canvasWidth / 6.6
    let (row, col) = gridRowCol(forIndex: index)
    let dx = (CGFloat(col) - 2.5) * step
    let dy = (CGFloat(row) - 2.5) * step
    let radius = hypot(dx, dy)
    let baseAngle = atan2(dy, dx)
    let shiftedAngle = baseAngle + tilt.radians
    return CGPoint(
        x: center + radius * cos(shiftedAngle),
        y: center + radius * sin(shiftedAngle)
    )
}