Board subdivision #
The board splits each of the 20 original icosahedron faces into k²
triangles. New game in the game toolbar has an Edge subdivision k input
for any whole number from 1 through 16. The same setting can be supplied on a
game launch URL as ?k=7; the launch command is consumed after the board starts.
New boards default to k=4, giving 16 cells per parent face and 320 cells total.
In the setup dialog, choose Free Play to create an empty board at that size
without a timer. The dialog initially selects the current mode and subdivision.
Free Play also has a subdivision input above the shape choices: choose a size
and press New empty board to stay in Free Play at the new size. The selected
shape is highlighted in the tray; the Now panel appears only in Timed mode.
Changing size creates a new empty board; save a layout as a scenario before
replacing it if you want to keep it.
k=1 is available for experiments. Each original face is one cell. Each
ordinary four-cell piece fills and immediately clears all four faces, leaving
an empty board after every placement. In timed play, each placement earns the
four-face Moniamond reward. The rules are unchanged for this small board.
The placement index stores legal placements for every piece and every board
cell. Its memory use grows with k²; measurements of the complete board and
session reached about 284 MiB of JavaScript heap at k=16 on the development
host, and rose to about 557 MiB at k=22. The current browser and server limit
is therefore an explicit k=16. The setup accepts every integer in that range,
not a preset list. Both the game and 2D view use the selected subdivision; the
2D cell-state texture is laid out in two dimensions to avoid a narrow-texture
hardware limit.
New checkpoints, local scenarios, and finished runs store their subdivision.
Local libraries retain records for multiple sizes together. Public scenario
and run records require an explicit subdivision, including 4 for the default
board. Missing subdivision metadata is rejected. The board fingerprint and
challenge identity keep each size in its own validation and leaderboard category.
For a one-time update of records from the original k=5 board, add
subdivision: 5 at the top level
of published scenarios and inside setup.initialBoard of finished runs. This
metadata does not change board fingerprints or scenario/challenge identities,
but editing a published record changes its CID. Update pinned scenario CIDs in
run records and saved links to the edited revision. Existing local checkpoints,
scenarios, and results must also have explicit subdivision metadata or be
recreated; there is no automatic migration.