Boards

Board style selects the topology. Width, height, markers, and stroke options further customize appearance.

Square grids

squares

Example games: Cifra, Realm

squares-checkered

Example games: Amazons, Arimaa

squares-beveled

Example games: Blockade, Boxes

squares-stacked

Example games: Akron, Margo

squares-diamonds

Example games: Alta, Tessella

heightmap-squares

Square grid with per-cell elevation for the isometric renderer.

Vertex boards

vertex

Example games: Go, Asli

Go uses a vertex board with automatic star points. Disable with the hide-star-points option.

vertex-cross

Example games: Fabrik, Shape Chess

vertex-fanorona

Example games: Fanorona, Query

Hex grids

hex-slanted

Example games: Hex, Lox

hex-odd-p

Example games: Exxit, Storisende

hex-even-p

Example games: Chase, Streetcar Suburb

hex-odd-f

Example games: Atoll

hex-even-f

Example games: Tintas

hex-of-hex

Example games: Crosshairs, Havannah

Top half only (half: "top"):

Example games: Basalt, Y

Bottom half only (half: "bottom"):

Alternating symmetry (alternatingSymmetry: true):

Example games: Churn, Squirm

hex-of-tri

Example games: Accasta, Yavalath

hex-of-tri-f

Same as hex-of-tri but pieces are placed on the faces of the triangles.

hex-of-cir

Triangle and specialty tilings

rect-of-tri

triangles-stacked

bent-tri

Example games: Y

snubsquare

Example games: Cephalopod

snubsquare-cells

onyx

Example games: Onyx

pentagonal

pentagonal-bluestone

Example games: Bluestone

star

Cairo tilings

cairo-collinear

Example games: Cairo Corridor

cairo-catalan

Conical and pyramid hex

conical-hex

Example games: Conect

conical-hex-narrow

Example games: Conect

pyramid-hex

Circular boards

circular-wheel

Legacy interlaced style: pieces may be placed on vertices (even rows) or space centroids (odd rows). Row 0 is the outermost vertex ring; the final row is the centre point when circular-inner is 0. New games should prefer the explicit styles below.

circular-wheel-spaces

Spaces only — one row per ring. Row 0 is the outer ring, row height - 1 is the inner ring. Supports backFill, blocked, columnLabels, and circular-inner.

circular-wheel-vertices

Vertices only — intersection points at each ring radius. Row 0 is the outer ring. Supports backFill, blocked, and columnLabels.

circular-wheel-spaces-checkered

Like circular-wheel-spaces with alternating light/dark sector fills (no flood markers required). Optional startLight controls which ring/column parity is light.

circular-cobweb

Example games: Adere

circular-moon

Example games: Moon Squad, Adere

fractured-flat

Hand-authored fractured polygon board (45 cells). Rows are size tiers (triangles, quads, pentagons, hexagons). Columns sweep clockwise from north around the board center: each cell is ordered by the bearing of its first corner encountered by that sweep (minimum vertex bearing). Row 0 has 24 triangles, row 1 has 15 quads, row 2 has 5 pentagons, row 3 has 1 hexagon.

Index labels use a tier letter and 1-based column (A1 = row 0 col 0, B1 = row 1 col 0, etc.).

eleven

Football pitch board with 65 play spaces in a 1×65 grid (row = 0, col = topology index). Checkered grass, white pitch markings, green curved move connections, dashed shoot lines, and white-filled Felder rings with green strokes. Pieces are drawn larger than the rings (board.eleven.pieceScale); use a single pieces row of 65 cells (or comma-separated). Space highlights use flood markers on the marker layer over each Felder (polys), not piece cellsize.

Defaults match src/boards/eleven/source.svg: grass #aaea45 / #85d218, lines #559f00 at strokeWeight 3, white markings at 5/3× stroke weight. Nested options live under board.eleven (grass, flatGrass, markings, shootDashed, shootDash, pieceScale). Move/shoot lines are procedural quadratics trimmed to Felder rings (not traced from Linien); committed topology.json edgePaths (from npm run extract-eleven-board) supply Linien bulge direction at render time and are validated in tests. Tuning aids: npm run render-eleven-connection-debug → test/fixtures/eleven-connections-render.svg, npm run render-eleven-topology-debug for spaces/markers. Gameslib should map pitch ids or indices via @abstractplay/renderer/eleven (elevenResolveCell, elevenMarkerTarget).

Sowing / Mancala

sowing

Example games: Bao, Diffusion

sowing-round

Example games: Rincala

ConHex

conhex-dots

Example games: ConHex

conhex-cells

DVGC

dvgc

dvgc-checkered

Pegboard

pegboard

Example games: Connections, Twixt

Other

other

Placeholder board style for specialized renderers (such as tree-pyramid) where no grid is drawn.

Example games: Siege of Jacynth

Blocking cells

Irregular shapes by blocking outer cells:

Full list of board styles: Schema reference — board styles.