Structures, footprints, layers, and occupancy
A structure definition describes a reusable shape; a placed instance gives that shape an identity and claims cells in board-owned occupancy.
Definition, instance, and occupancy
A GridStructureDefinition gives a stable ID, topology, layer, footprint, and definition extensions. A structure instance gives that definition a stable instance ID, anchor, orientation, occupied cells, and runtime extensions. Board occupancy indexes the instance and every cell it covers.
A one-cell crate
A crate definition named crate has a one-cell footprint on the default layer. Placing it at
square coordinate (1, 1) creates instance crate-1. Occupancy records both the instance and its
claim on (1, 1). Moving crate-1 updates both indexes in one transaction; it does not create a
new definition.
Rules to preserve
- A footprint contains unique topology-compatible offsets and includes at least one cell.
- Placement resolves the oriented footprint before policies decide.
- Instance IDs are unique within a board and must remain stable across save/restore.
- Layers express categories; coexistence policies decide whether two occupants may share cells.
- Removing an occupied runtime cell rejects by default unless the action explicitly requests occupant removal.
From placement request to occupancy
definition + anchor + orientation becomes a placement request. Placement policies resolve and
validate candidate cells. Admission policies protect the final occupancy write. A successful
commit updates the instance index and cell index together.
What occupancy does not decide
Built-in occupancy does not assign game meaning such as terrain, units, or containers. Add meaning with project extensions, policies, behaviors, and visual modules.