GameboardLayoutCriteria
Defined in: src/coordinates/layout.ts:200
Rules that determine whether a tile can be used as a placement site.
Properties
Section titled “Properties”allowOccupied?
Section titled “allowOccupied?”
optionalallowOccupied?:boolean
Defined in: src/coordinates/layout.ts:238
Allow placement on tiles with blocking occupants.
blockingPlacementKinds?
Section titled “blockingPlacementKinds?”
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: src/coordinates/layout.ts:240
Placement kinds that should be treated as blockers.
blockingPlacementLayers?
Section titled “blockingPlacementLayers?”
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: src/coordinates/layout.ts:242
Placement layers that should be treated as blockers.
edgePadding?
Section titled “edgePadding?”
optionaledgePadding?:number
Defined in: src/coordinates/layout.ts:254
Number of outer rings excluded from placement.
elevation?
Section titled “elevation?”
optionalelevation?:number| readonlynumber[]
Defined in: src/coordinates/layout.ts:206
Allowed exact elevations.
excludeFootprintTerrain?
Section titled “excludeFootprintTerrain?”
optionalexcludeFootprintTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: src/coordinates/layout.ts:236
Disallowed terrain across any footprint tile.
excludeTerrain?
Section titled “excludeTerrain?”
optionalexcludeTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: src/coordinates/layout.ts:204
Disallowed origin tile terrain.
excludeTileTags?
Section titled “excludeTileTags?”
optionalexcludeTileTags?: readonlystring[]
Defined in: src/coordinates/layout.ts:214
Tile tags that must all be absent.
footprint?
Section titled “footprint?”
optionalfootprint?:GameboardLayoutFootprintInput
Defined in: src/coordinates/layout.ts:228
Footprint required by the placement.
footprintTerrain?
Section titled “footprintTerrain?”
optionalfootprintTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: src/coordinates/layout.ts:234
Allowed terrain across all footprint tiles.
forbiddenAdjacentPlacementKind?
Section titled “forbiddenAdjacentPlacementKind?”
optionalforbiddenAdjacentPlacementKind?:GameboardPlacementKind| readonlyGameboardPlacementKind[]
Defined in: src/coordinates/layout.ts:222
Adjacent placement kinds that must be absent.
forbiddenAdjacentPlacementLayer?
Section titled “forbiddenAdjacentPlacementLayer?”
optionalforbiddenAdjacentPlacementLayer?:GameboardPlacementLayer| readonlyGameboardPlacementLayer[]
Defined in: src/coordinates/layout.ts:226
Adjacent placement layers that must be absent.
forbiddenAdjacentTerrain?
Section titled “forbiddenAdjacentTerrain?”
optionalforbiddenAdjacentTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: src/coordinates/layout.ts:218
Adjacent terrain that must be absent.
ignorePlacementIds?
Section titled “ignorePlacementIds?”
optionalignorePlacementIds?: readonlystring[]
Defined in: src/coordinates/layout.ts:244
Placement ids ignored during occupancy checks.
maxDistance?
Section titled “maxDistance?”
optionalmaxDistance?:number
Defined in: src/coordinates/layout.ts:252
Maximum distance from at least one maxDistanceFrom reference.
maxDistanceFrom?
Section titled “maxDistanceFrom?”
optionalmaxDistanceFrom?: readonly (string|HexCoordinates)[]
Defined in: src/coordinates/layout.ts:250
Reference tiles that the site must stay near.
maxElevation?
Section titled “maxElevation?”
optionalmaxElevation?:number
Defined in: src/coordinates/layout.ts:210
Maximum origin tile elevation.
maxPerTile?
Section titled “maxPerTile?”
optionalmaxPerTile?:number
Defined in: src/coordinates/layout.ts:258
Maximum selected slots allowed on one tile.
minDistance?
Section titled “minDistance?”
optionalminDistance?:number
Defined in: src/coordinates/layout.ts:248
Minimum distance from every minDistanceFrom reference.
minDistanceBetween?
Section titled “minDistanceBetween?”
optionalminDistanceBetween?:number
Defined in: src/coordinates/layout.ts:256
Minimum distance between selected sites from the same selection call.
minDistanceFrom?
Section titled “minDistanceFrom?”
optionalminDistanceFrom?: readonly (string|HexCoordinates)[]
Defined in: src/coordinates/layout.ts:246
Reference tiles that the site must stay away from.
minElevation?
Section titled “minElevation?”
optionalminElevation?:number
Defined in: src/coordinates/layout.ts:208
Minimum origin tile elevation.
prefer?
Section titled “prefer?”
optionalprefer?: readonlyGameboardLayoutPreference[]
Defined in: src/coordinates/layout.ts:262
Weighted preferences used to score candidate sites.
requiredAdjacentPlacementKind?
Section titled “requiredAdjacentPlacementKind?”
optionalrequiredAdjacentPlacementKind?:GameboardPlacementKind| readonlyGameboardPlacementKind[]
Defined in: src/coordinates/layout.ts:220
Adjacent placement kinds that must be present.
requiredAdjacentPlacementLayer?
Section titled “requiredAdjacentPlacementLayer?”
optionalrequiredAdjacentPlacementLayer?:GameboardPlacementLayer| readonlyGameboardPlacementLayer[]
Defined in: src/coordinates/layout.ts:224
Adjacent placement layers that must be present.
requiredAdjacentTerrain?
Section titled “requiredAdjacentTerrain?”
optionalrequiredAdjacentTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: src/coordinates/layout.ts:216
Adjacent terrain that must be present.
requireFootprintInBounds?
Section titled “requireFootprintInBounds?”
optionalrequireFootprintInBounds?:boolean
Defined in: src/coordinates/layout.ts:230
Reject sites whose footprint leaves the board.
requireFootprintUnoccupied?
Section titled “requireFootprintUnoccupied?”
optionalrequireFootprintUnoccupied?:boolean
Defined in: src/coordinates/layout.ts:232
Reject sites whose footprint has blocking occupancy.
slotGroup?
Section titled “slotGroup?”
optionalslotGroup?:string
Defined in: src/coordinates/layout.ts:260
Optional slot group used to share occupancy slots between compatible pieces.
terrain?
Section titled “terrain?”
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: src/coordinates/layout.ts:202
Allowed origin tile terrain.
tileTags?
Section titled “tileTags?”
optionaltileTags?: readonlystring[]
Defined in: src/coordinates/layout.ts:212
Tile tags that must all be present.