Skip to content

GameboardPieceDeclaration

Defined in: src/pieces/pieces.ts:98

Normalized reusable gameboard piece declaration.

archetype: GameboardLayoutArchetypeInput

Defined in: src/pieces/pieces.ts:110

Layout archetype id or inline archetype.


assetId: string

Defined in: src/pieces/pieces.ts:102

Render asset id.


criteria: GameboardLayoutCriteria

Defined in: src/pieces/pieces.ts:118

Layout criteria for selecting valid sites.


optional elevationOffset?: number

Defined in: src/pieces/pieces.ts:124

Vertical offset above the tile elevation.


optional footprint?: GameboardLayoutFootprintInput

Defined in: src/pieces/pieces.ts:116

Placement footprint.


id: string

Defined in: src/pieces/pieces.ts:100

Stable piece id.


optional kind?: GameboardPlacementKind

Defined in: src/pieces/pieces.ts:112

Placement kind override.


label: string

Defined in: src/pieces/pieces.ts:104

Human-readable label.


optional layer?: GameboardPlacementLayer

Defined in: src/pieces/pieces.ts:114

Placement layer override.


metadata: Readonly<Record<string, string | number | boolean | null>>

Defined in: src/pieces/pieces.ts:130

Serializable metadata merged into generated placements.


requiresExtra: boolean

Defined in: src/pieces/pieces.ts:126

Whether the asset is local-only or EXTRA.


role: GameboardPieceRole

Defined in: src/pieces/pieces.ts:108

Placement role.


optional rotationSteps?: number | "random"

Defined in: src/pieces/pieces.ts:122

Clockwise 60-degree rotation steps or random rotation.


optional scale?: number

Defined in: src/pieces/pieces.ts:120

Uniform render scale.


source: string

Defined in: src/pieces/pieces.ts:106

Source pack or registry name.


tags: readonly string[]

Defined in: src/pieces/pieces.ts:128

Piece tags used by registry selection.