A board's shape decides how spaces are arranged and rendered. Spaces don't
care which shape they live on — their position adapts. Pick the shape that
matches how play should feel.
| Shape | id | Use it for |
|---|---|---|
| Linear Track | linear | A start-to-finish journey — Life Board, a 30-day reset, a Franchise lap. The default when in doubt. |
| Grid | grid | A 2D field of plots — City Builder, a domain dashboard, a campus map. |
| Circular Loop | circular | A recurring system with no end — Habit Loop, a weekly cycle. One lap = one week/month; the board deepens rather than ending. |
| Hex Map | hex | A map/exploration board on a honeycomb (six-way adjacency) — Atlas, a region to roam. Pairs with location spaces. |
| Atlas Map | atlas_geo | Real places on a live map (lat/lng, rendered with Mapbox) — a city food tour, a national-parks atlas. Falls back to a hex map where Mapbox is unavailable. |
| Branching Map | branching_dag | A campaign whose path forks and rejoins — Quest Board, a skill tree, a choose-your-path story with a boss at a junction. The edges are the board. |
Linear & circular
The two one-dimensional shapes. Linear is a chain from a start to an end
(bounded games). Circular is a ring you traverse over and over (continuous
games) — a reset_gate marks where one lap ends and the next begins, gated on
finishing the lap cleanly.
Grid
A rectangular lattice of plots with orthogonal adjacency. City Builder and Franchise use it: the piece roams between tiles, and the movement graph mirrors the spatial layout automatically.
Large grids (hundreds of spaces) virtualize — only the on-screen tiles render — so a 500-space board stays smooth.
Hex & atlas (location boards)
Hex lays spaces on a honeycomb; Atlas pins them to real coordinates on a
map. Both are for exploration — pair them with location, discovery, and
review spaces. Location play is honor-system (you self-report a check-in);
there are no global leaderboards for these boards, only friend-scoped ones. See
Sharing.
Branching
A directed graph rendered with react-flow. A start forks into alternate routes
of rooms, loot, and NPCs that rejoin at a boss_room before the end. The
connections between spaces are the geometry — drag a node to reposition it; the
edges follow.