Skip to content

GameboardLayoutCriteria

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:195

Rules that determine whether a tile can be used as a placement site.

optional allowOccupied?: boolean

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:233

Allow placement on tiles with blocking occupants.


optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:235

Placement kinds that should be treated as blockers.


optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:237

Placement layers that should be treated as blockers.


optional edgePadding?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:249

Number of outer rings excluded from placement.


optional elevation?: number | readonly number[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:201

Allowed exact elevations.


optional excludeFootprintTerrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:231

Disallowed terrain across any footprint tile.


optional excludeTerrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:199

Disallowed origin tile terrain.


optional excludeTileTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:209

Tile tags that must all be absent.


optional footprint?: GameboardLayoutFootprintInput

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:223

Footprint required by the placement.


optional footprintTerrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:229

Allowed terrain across all footprint tiles.


optional forbiddenAdjacentPlacementKind?: GameboardPlacementKind | readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:217

Adjacent placement kinds that must be absent.


optional forbiddenAdjacentPlacementLayer?: GameboardPlacementLayer | readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:221

Adjacent placement layers that must be absent.


optional forbiddenAdjacentTerrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:213

Adjacent terrain that must be absent.


optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:239

Placement ids ignored during occupancy checks.


optional maxDistance?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:247

Maximum distance from at least one maxDistanceFrom reference.


optional maxDistanceFrom?: readonly (string | HexCoordinates)[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:245

Reference tiles that the site must stay near.


optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:205

Maximum origin tile elevation.


optional maxPerTile?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:253

Maximum selected slots allowed on one tile.


optional minDistance?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:243

Minimum distance from every minDistanceFrom reference.


optional minDistanceBetween?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:251

Minimum distance between selected sites from the same selection call.


optional minDistanceFrom?: readonly (string | HexCoordinates)[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:241

Reference tiles that the site must stay away from.


optional minElevation?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:203

Minimum origin tile elevation.


optional prefer?: readonly GameboardLayoutPreference[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:257

Weighted preferences used to score candidate sites.


optional requiredAdjacentPlacementKind?: GameboardPlacementKind | readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:215

Adjacent placement kinds that must be present.


optional requiredAdjacentPlacementLayer?: GameboardPlacementLayer | readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:219

Adjacent placement layers that must be present.


optional requiredAdjacentTerrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:211

Adjacent terrain that must be present.


optional requireFootprintInBounds?: boolean

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:225

Reject sites whose footprint leaves the board.


optional requireFootprintUnoccupied?: boolean

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:227

Reject sites whose footprint has blocking occupancy.


optional slotGroup?: string

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:255

Optional slot group used to share occupancy slots between compatible pieces.


optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:197

Allowed origin tile terrain.


optional tileTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:207

Tile tags that must all be present.