Lost Lily/Grid ToolkitDocs 1.0
Table of Contents

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.