Home
Pages

src

declarative-hex-worlds

declarative-hex-worlds


declarative-hex-worlds / src

src

Root export surface for declarative-hex-worlds.

Forwards every library domain barrel verbatim. Each src/<domain>/index.ts barrel is the curated public surface of its domain, so the root re-exports them rather than hand-relisting every symbol — adding a public export to a domain needs no edit here. Public-API tiering is enforced at package.json#exports (which subpaths ship) + @internal JSDoc, not by a hand-maintained root allow-list.

The CLI-only bootstrap capability (and the upstream-layout fs-probers it uses) are intentionally NOT re-exported here — they touch node builtins and are reachable from src/cli/ only. Consumers that bootstrap programmatically import the dedicated ./bootstrap subpath.

Classes

GameboardBuilder

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:101

Fluent builder for deterministic gameboard plans using KayKit guide variants, stacked terrain, roads, rivers, harbors, settlements, props, and EXTRA units.

Constructors

Constructor

new GameboardBuilder(options): GameboardBuilder

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:117

Create a builder and initialize all tiles in the requested shape.

Parameters
options

GameboardPlanOptions

Returns

GameboardBuilder

Properties

seed

readonly seed: string

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:103

Seed used by deterministic builder helpers.

shape

readonly shape: GameboardShape

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:105

Shape populated by this builder.

textureSet

readonly textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:107

Texture set applied to generated terrain.

Methods

addBridge()

addBridge(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:365

Add a bridge structure with bridge-specific metadata instead of requiring callers to know the raw neutral-structure asset ids.

Parameters
options

BridgeOptions

Returns

this

addConstructionSite()

addConstructionSite(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:411

Add a construction, ruin, or worksite structure with construction metadata.

Parameters
options

ConstructionSiteOptions

Returns

this

addElevationRamp()

addElevationRamp(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:455

Add a sloped grass ramp with ramp-specific metadata instead of requiring callers to place hex_grass_sloped_high or hex_grass_sloped_low directly.

Parameters
options

ElevationRampOptions

Returns

this

addFactionBuilding()

addFactionBuilding(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:331

Add a faction building structure placement.

Parameters
options

FactionBuildingOptions

Returns

this

addFlag()

addFlag(at, faction, options?): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:518

Add a faction flag prop placement.

Parameters
at

HexCoordinates

faction

"blue" | "green" | "red" | "yellow"

options?
rotationSteps?

number

scale?

number

Returns

this

addForest()

addForest(coordinates, options?): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:300

Add a forest decoration and mark the tile as forest terrain.

Parameters
coordinates

HexCoordinates

options?
cut?

boolean

size?

"small" | "medium" | "large"

species?

"A" | "B"

Returns

this

addFortification()

addFortification(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:386

Add a wall or fence segment with fortification metadata.

Parameters
options

FortificationOptions

Returns

this

addHarbor()

addHarbor(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:673

Add a harbor structure, mark the coast/water relationship, and optionally place adjacent water props.

Parameters
options

HarborOptions

Returns

this

addHill()

addHill(coordinates, options?): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:275

Add a hill decoration and mark the tile as hill terrain.

Parameters
coordinates

HexCoordinates

options?
rotationSteps?

number

single?

boolean

variant?

HillVariant

withTrees?

boolean

Returns

this

addMountainStack()

addMountainStack(options): this

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

Add an elevated mountain tile plus a visible mountain-stack placement.

Parameters
options

MountainStackOptions

Returns

this

addNature()

addNature(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:486

Add a nature decoration placement.

Parameters
options

NaturePlacementOptions

Returns

this

addNeutralStructure()

addNeutralStructure(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:348

Add a neutral structure placement.

Parameters
options

NeutralStructureOptions

Returns

this

addPlacement()

addPlacement(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:746

Add a custom placement to the plan.

Parameters
options
assetId

string

at

HexCoordinates

elevationOffset?

number

kind

GameboardPlacementKind

layer

GameboardPlacementLayer

metadata?

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

requiresExtra?

boolean

rotationSteps?

number

scale?

number

stackIndex?

number

Returns

this

addProp()

addProp(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:502

Add a prop placement.

Parameters
options

PropPlacementOptions

Returns

this

addPropCluster()

addPropCluster(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:530

Add a semantic prop cluster such as a camp, worksite, stable yard, or cache.

Parameters
options

PropClusterOptions

Returns

this

addRiverPath()

addRiverPath(path, options?): this

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

Add river connectivity along a coordinate path.

Parameters
path

readonly HexCoordinates[]

options?
crossing?

"A" | "B"

curvy?

boolean

waterless?

boolean

Returns

this

addRoadPath()

addRoadPath(path, options?): this

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

Add road connectivity along a coordinate path.

Parameters
path

readonly HexCoordinates[]

options?
slope?

"high" | "low"

Returns

this

addSettlement()

addSettlement(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:324

Add a settlement building. Alias for addFactionBuilding.

Parameters
options

SettlementOptions

Returns

this

addSiegeProjectile()

addSiegeProjectile(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:432

Add a neutral siege projectile with projectile-specific metadata.

Parameters
options

SiegeProjectileOptions

Returns

this

addTransition()

addTransition(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:577

Add an EXTRA texture transition placement.

Parameters
options

TransitionPlacementOptions

Returns

this

addUnit()

addUnit(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:594

Add one unit part placement from the EXTRA unit library.

Parameters
options

UnitPlacementOptions

Returns

this

addUnitPreset()

addUnitPreset(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:622

Add a predefined multi-part unit composition.

Parameters
options

UnitPresetOptions

Returns

this

build()

build(): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:787

Build an immutable gameboard plan from current builder state.

Returns

GameboardPlan

scatterDecorations()

scatterDecorations(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:708

Scatter random decoration placements across matching terrain.

Parameters
options

ScatterDecorationOptions

Returns

this

setCoastEdges()

setCoastEdges(coordinates, waterEdges, options?): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:190

Mark a tile as coast and set the edges that face water.

Parameters
coordinates

HexCoordinates

waterEdges

number | readonly HexEdgeIndex[]

options?
waterless?

boolean

Returns

this

setElevation()

setElevation(coordinates, elevation): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:180

Set the elevation for an existing tile.

Parameters
coordinates

HexCoordinates

elevation

number

Returns

this

setTerrain()

setTerrain(coordinates, terrain, options?): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:132

Set a base grass or water terrain tile.

Parameters
coordinates

HexCoordinates

terrain

"grass" | "water"

options?
baseAssetId?

string

elevation?

number

textureSet?

"default" | "fall" | "summer" | "winter"

Returns

this

setTextureSet()

setTextureSet(coordinates, textureSet): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:171

Set the texture set for an existing tile without changing its terrain.

Parameters
coordinates

HexCoordinates

textureSet

"default" | "fall" | "summer" | "winter"

Returns

this

setTileAsset()

setTileAsset(options): this

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:149

Override a tile's base asset, terrain, elevation, connectivity, and tags.

Parameters
options

TileAssetOptions

Returns

this

Interfaces

AccessoryAttachment

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:25

An accessory attached to a character model at a named node/bone.

Properties

assetId

readonly assetId: string

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:29

Asset id of the accessory model (resolved through the normal asset source).

id

readonly id: string

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:27

Stable id for this attachment (for diffing/removal).

node

readonly node: string

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:34

Name of the target node/bone in the character's skeleton (e.g. Head, HandR). The three binding looks this up via getObjectByName.

transform?

readonly optional transform?: AccessoryLocalTransform

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:36

Local transform relative to the attachment node.


AccessoryLocalTransform

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:15

A local transform applied to an accessory relative to its attachment node.

Properties

position?

readonly optional position?: Partial<WorldPosition>

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:17

Local position offset from the node origin (default 0,0,0).

rotation?

readonly optional rotation?: Partial<WorldPosition>

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:19

Local Euler rotation in radians (default 0,0,0).

scale?

readonly optional scale?: number

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:21

Local uniform scale (default 1).


AddBridgeRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:244

Recipe step that places a bridge structure with bridge-specific metadata.

Extends

Properties

action

action: "addBridge"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:246

Discriminator for bridge placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:454

Tile where the bridge is anchored, usually a road crossing over water or river terrain.

Inherited from

BridgeOptions.at

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:458

Edge the bridge points toward; also used as the default rotation.

Inherited from

BridgeOptions.facing

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:460

Clockwise 60-degree rotation steps. Overrides facing when provided.

Inherited from

BridgeOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:462

Uniform render scale.

Inherited from

BridgeOptions.scale

variant?

optional variant?: BridgeVariant

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:456

KayKit bridge visual variant. Defaults to A.

Inherited from

BridgeOptions.variant


AddConstructionSiteRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:256

Recipe step that places a construction, ruin, or worksite structure.

Extends

Properties

action

action: "addConstructionSite"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:258

Discriminator for construction site placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:514

Tile where the construction asset is anchored.

Inherited from

ConstructionSiteOptions.at

constructionId?

optional constructionId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:520

Optional stable id for a multi-step construction chain.

Inherited from

ConstructionSiteOptions.constructionId

kind?

optional kind?: ConstructionSiteKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:516

Construction state to place. Defaults to stage-A.

Inherited from

ConstructionSiteOptions.kind

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:518

Clockwise 60-degree rotation steps.

Inherited from

ConstructionSiteOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:522

Uniform render scale.

Inherited from

ConstructionSiteOptions.scale


AddElevationRampRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:268

Recipe step that places a sloped elevation ramp with ramp-specific metadata.

Extends

Properties

action

action: "addElevationRamp"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:270

Discriminator for elevation ramp placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:470

Lower tile where the visible ramp is anchored.

Inherited from

ElevationRampOptions.at

direction?

optional direction?: ElevationRampDirection

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:472

Visual ramp direction. Defaults to up.

Inherited from

ElevationRampOptions.direction

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:484

Fractional elevation offset above the tile surface.

Inherited from

ElevationRampOptions.elevationOffset

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:474

Edge the ramp points toward; also used as the default rotation.

Inherited from

ElevationRampOptions.facing

fromElevation?

optional fromElevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:478

Elevation on the anchor tile. Defaults to the tile elevation.

Inherited from

ElevationRampOptions.fromElevation

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:476

Clockwise 60-degree rotation steps. Overrides facing when provided.

Inherited from

ElevationRampOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:486

Uniform render scale.

Inherited from

ElevationRampOptions.scale

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:482

Texture set to apply to the anchor tile before placing the ramp.

Inherited from

ElevationRampOptions.textureSet

toElevation?

optional toElevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:480

Elevation reached by the ramp. Defaults to one level above or below fromElevation.

Inherited from

ElevationRampOptions.toElevation


AddFactionBuildingRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:232

Recipe step that places a faction building.

Extends

Properties

action

action: "addFactionBuilding"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:234

Discriminator for faction building placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:424

Tile where the building is anchored.

Inherited from

FactionBuildingOptions.at

building

building: "tent" | "archeryrange" | "barracks" | "blacksmith" | "castle" | "church" | "docks" | "home_A" | "home_B" | "lumbermill" | "market" | "mine" | "shipyard" | "shrine" | "stables" | "tavern" | "townhall" | "tower_A" | "tower_B" | "tower_base" | "tower_cannon" | "tower_catapult" | "watchtower" | "watermill" | "well" | "windmill" | "workshop"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:428

Faction building kind.

Inherited from

FactionBuildingOptions.building

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:426

Faction color for the building.

Inherited from

FactionBuildingOptions.faction

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:430

Clockwise 60-degree rotation steps.

Inherited from

FactionBuildingOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:432

Uniform render scale.

Inherited from

FactionBuildingOptions.scale


AddFlagRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:292

Recipe step that places a faction flag.

Properties

action

action: "addFlag"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:294

Discriminator for flag placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:296

Target hex coordinate.

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:298

Faction color/style to use for the flag.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:300

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:302

Optional placement scale override.


AddForestRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:218

Recipe step that places a KayKit forest feature.

Properties

action

action: "addForest"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:220

Discriminator for forest placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:222

Target hex coordinate.

cut?

optional cut?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:228

Whether to use a cut/logged forest variant.

size?

optional size?: "small" | "medium" | "large"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:226

Forest size variant.

species?

optional species?: "A" | "B"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:224

Tree species variant.


AddFortificationRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:250

Recipe step that places a wall or fence with fortification metadata.

Extends

Properties

action

action: "addFortification"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:252

Discriminator for fortification placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:494

Tile where the segment is anchored.

Inherited from

FortificationOptions.at

enclosureId?

optional enclosureId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:504

Optional stable id for a multi-segment enclosure.

Inherited from

FortificationOptions.enclosureId

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:500

Edge the segment faces; also used as the default rotation.

Inherited from

FortificationOptions.facing

material?

optional material?: FortificationMaterial

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:496

Material family. Defaults to wall.

Inherited from

FortificationOptions.material

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:502

Clockwise 60-degree rotation steps. Overrides facing when provided.

Inherited from

FortificationOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:506

Uniform render scale.

Inherited from

FortificationOptions.scale

segment?

optional segment?: FortificationSegment

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:498

Segment visual shape. Defaults to straight.

Inherited from

FortificationOptions.segment


AddHarborRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:350

Recipe step that places a harbor composition.

Extends

Properties

action

action: "addHarbor"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:352

Discriminator for harbor placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:390

Coast tile where the harbor is anchored.

Inherited from

HarborOptions.at

facing

facing: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:392

Edge facing adjacent water.

Inherited from

HarborOptions.facing

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:394

Faction color for the harbor.

Inherited from

HarborOptions.faction

includeProps?

optional includeProps?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:398

Whether to add adjacent boat/anchor props.

Inherited from

HarborOptions.includeProps

kind?

optional kind?: HarborKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:396

Harbor structure variant.

Inherited from

HarborOptions.kind

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:400

Clockwise 60-degree rotation steps. Defaults to facing.

Inherited from

HarborOptions.rotationSteps


AddHillRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:202

Recipe step that places a hill tile.

Properties

action

action: "addHill"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:204

Discriminator for hill placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:206

Target hex coordinate.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:214

Clockwise 60-degree rotation steps.

single?

optional single?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:212

Whether to use the single-hex hill style.

variant?

optional variant?: HillVariant

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:208

KayKit hill variant to place.

withTrees?

optional withTrees?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:210

Whether to use a hill asset with trees.


AddMountainStackRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:196

Recipe step that places a composed mountain stack.

Extends

Properties

action

action: "addMountainStack"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:198

Discriminator for mountain stack placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:370

Tile where the mountain stack is anchored.

Inherited from

MountainStackOptions.at

height

height: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:372

Elevation height for the stack.

Inherited from

MountainStackOptions.height

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:380

Clockwise 60-degree rotation steps.

Inherited from

MountainStackOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:382

Uniform render scale.

Inherited from

MountainStackOptions.scale

variant?

optional variant?: MountainVariant

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:374

Mountain visual variant.

Inherited from

MountainStackOptions.variant

withGrass?

optional withGrass?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:376

Include grass on the mountain asset.

Inherited from

MountainStackOptions.withGrass

withTrees?

optional withTrees?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:378

Include trees on the mountain asset.

Inherited from

MountainStackOptions.withTrees


AddNatureRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:274

Recipe step that places a nature asset.

Extends

Properties

action

action: "addNature"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:276

Discriminator for nature placement.

assetId

assetId: "cloud_big" | "cloud_small" | "hill_single_A" | "hill_single_B" | "hill_single_C" | "hills_A" | "hills_A_trees" | "hills_B" | "hills_B_trees" | "hills_C" | "hills_C_trees" | "mountain_A" | "mountain_A_grass" | "mountain_A_grass_trees" | "mountain_B" | "mountain_B_grass" | "mountain_B_grass_trees" | "mountain_C" | "mountain_C_grass" | "mountain_C_grass_trees" | "rock_single_A" | "rock_single_B" | "rock_single_C" | "rock_single_D" | "rock_single_E" | "tree_single_A" | "tree_single_A_cut" | "tree_single_B" | "tree_single_B_cut" | "trees_A_cut" | "trees_A_large" | "trees_A_medium" | "trees_A_small" | "trees_B_cut" | "trees_B_large" | "trees_B_medium" | "trees_B_small" | "waterlily_A" | "waterlily_B" | "waterplant_A" | "waterplant_B" | "waterplant_C"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:550

Nature asset id.

Inherited from

NaturePlacementOptions.assetId

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:548

Tile where the nature asset is anchored.

Inherited from

NaturePlacementOptions.at

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:552

Clockwise 60-degree rotation steps.

Inherited from

NaturePlacementOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:554

Uniform render scale.

Inherited from

NaturePlacementOptions.scale


AddNeutralStructureRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:238

Recipe step that places a neutral structure.

Extends

Properties

action

action: "addNeutralStructure"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:240

Discriminator for neutral structure placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:440

Tile where the structure is anchored.

Inherited from

NeutralStructureOptions.at

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:444

Clockwise 60-degree rotation steps.

Inherited from

NeutralStructureOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:446

Uniform render scale.

Inherited from

NeutralStructureOptions.scale

structure

structure: "building_bridge_A" | "building_bridge_B" | "building_destroyed" | "building_dirt" | "building_grain" | "building_scaffolding" | "building_stage_A" | "building_stage_B" | "building_stage_C" | "fence_stone_straight" | "fence_stone_straight_gate" | "fence_wood_straight" | "fence_wood_straight_gate" | "projectile_catapult" | "wall_corner_A_gate" | "wall_corner_A_inside" | "wall_corner_A_outside" | "wall_corner_B_inside" | "wall_corner_B_outside" | "wall_straight" | "wall_straight_gate"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:442

Neutral structure asset id.

Inherited from

NeutralStructureOptions.structure


AddPlacementRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:306

Recipe step that places an arbitrary asset with explicit placement semantics.

Properties

action

action: "addPlacement"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:308

Discriminator for custom placement creation.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:312

Asset id to place.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:310

Target hex coordinate.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:320

Fractional elevation offset above the tile surface.

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:314

Gameplay/render category for the placement.

layer

layer: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:316

Render and gameplay layer for the placement.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:328

Serializable placement metadata.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:326

Whether the placement requires local EXTRA assets.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:318

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:322

Uniform render scale.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:324

Optional stack order metadata.


AddPropClusterRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:286

Recipe step that places a semantic prop cluster.

Extends

Properties

action

action: "addPropCluster"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:288

Discriminator for prop-cluster placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:576

Anchor tile for the cluster.

Inherited from

PropClusterOptions.at

clusterId?

optional clusterId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:588

Optional stable id shared by all placements in the cluster.

Inherited from

PropClusterOptions.clusterId

density?

optional density?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:584

Percentage of the cluster's available asset list to place, from 0 to 1. Defaults to 1.

Inherited from

PropClusterOptions.density

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:580

Edge used to orient adjacent spread patterns.

Inherited from

PropClusterOptions.facing

includeExtra?

optional includeExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:586

Include local-only EXTRA prop assets when the cluster kind has them. Defaults to false.

Inherited from

PropClusterOptions.includeExtra

kind

kind: PropClusterKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:578

Cluster purpose. Determines the default asset list.

Inherited from

PropClusterOptions.kind

placement?

optional placement?: PropClusterPlacement

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:582

Whether assets stack on one tile or spread to neighboring tiles. Defaults to adjacent.

Inherited from

PropClusterOptions.placement

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:590

Base clockwise 60-degree rotation steps. Defaults to facing.

Inherited from

PropClusterOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:592

Uniform render scale.

Inherited from

PropClusterOptions.scale


AddPropRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:280

Recipe step that places a prop asset.

Extends

Properties

action

action: "addProp"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:282

Discriminator for prop placement.

assetId

assetId: "anchor" | "barrel" | "boat" | "boatrack" | "bucket_arrows" | "bucket_empty" | "bucket_water" | "cannonball_pallet" | "crate_A_big" | "crate_A_small" | "crate_B_big" | "crate_B_small" | "crate_long_A" | "crate_long_B" | "crate_long_C" | "crate_long_empty" | "crate_open" | "flag_blue" | "flag_green" | "flag_red" | "flag_yellow" | "haybale" | "icon_combat" | "icon_range" | "ladder" | "pallet" | "resource_lumber" | "resource_stone" | "sack" | "target" | "tent" | "trough" | "trough_long" | "weaponrack" | "wheelbarrow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:564

Prop asset id.

Inherited from

PropPlacementOptions.assetId

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:562

Tile where the prop is anchored.

Inherited from

PropPlacementOptions.at

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:566

Clockwise 60-degree rotation steps.

Inherited from

PropPlacementOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:568

Uniform render scale.

Inherited from

PropPlacementOptions.scale


AddRiverPathRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:182

Recipe step that lays river surfaces along a coordinate path.

Properties

action

action: "addRiverPath"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:184

Discriminator for river path creation.

crossing?

optional crossing?: RiverCrossing

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:192

Crossing variant to place where road/river crossings are desired.

curvy?

optional curvy?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:190

Whether to prefer curvy river variants.

path

path: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:186

Ordered coordinates along the river.

waterless?

optional waterless?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:188

Whether to use waterless river banks.


AddRoadPathRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:172

Recipe step that lays road surfaces along a coordinate path.

Properties

action

action: "addRoadPath"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:174

Discriminator for road path creation.

path

path: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:176

Ordered coordinates along the road.

slope?

optional slope?: RoadSlope

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:178

Optional road slope variant for the path.


AddSiegeProjectileRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:262

Recipe step that places a neutral siege projectile.

Extends

Properties

action

action: "addSiegeProjectile"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:264

Discriminator for siege projectile placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:530

Tile where the projectile is anchored.

Inherited from

SiegeProjectileOptions.at

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:534

Edge the projectile travels or points toward; also used as the default rotation.

Inherited from

SiegeProjectileOptions.facing

kind?

optional kind?: "catapult"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:532

Projectile visual kind. Defaults to catapult.

Inherited from

SiegeProjectileOptions.kind

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:536

Clockwise 60-degree rotation steps. Overrides facing when provided.

Inherited from

SiegeProjectileOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:540

Uniform render scale.

Inherited from

SiegeProjectileOptions.scale

sourceId?

optional sourceId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:538

Optional source actor, structure, or attack id.

Inherited from

SiegeProjectileOptions.sourceId


AddTransitionRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:332

Recipe step that places an EXTRA transition asset.

Extends

Properties

action

action: "addTransition"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:334

Discriminator for transition placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:600

Tile where the transition is anchored.

Inherited from

TransitionPlacementOptions.at

from

from: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:602

Source texture set.

Inherited from

TransitionPlacementOptions.from

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:606

Clockwise 60-degree rotation steps.

Inherited from

TransitionPlacementOptions.rotationSteps

to

to: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:604

Destination texture set.

Inherited from

TransitionPlacementOptions.to


AddUnitPresetRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:344

Recipe step that places a unit preset composition.

Extends

Properties

action

action: "addUnitPreset"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:346

Discriminator for unit preset placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:636

Tile where the unit preset is anchored.

Inherited from

UnitPresetOptions.at

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:638

Faction used by colored unit parts.

Inherited from

UnitPresetOptions.faction

role

role: "ship" | "worker" | "soldier" | "archer" | "cavalry" | "merchant" | "siege"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:642

Unit role composition to create.

Inherited from

UnitPresetOptions.role

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:644

Clockwise 60-degree rotation steps.

Inherited from

UnitPresetOptions.rotationSteps

style?

optional style?: "accent" | "full"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:640

Colored unit style.

Inherited from

UnitPresetOptions.style


AddUnitRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:338

Recipe step that places a single unit asset.

Extends

Properties

action

action: "addUnit"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:340

Discriminator for unit placement.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:614

Tile where the unit part is anchored.

Inherited from

UnitPlacementOptions.at

compositeId?

optional compositeId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:624

Shared composite id for multi-part units.

Inherited from

UnitPlacementOptions.compositeId

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:618

Faction used by colored unit parts.

Inherited from

UnitPlacementOptions.faction

neutral?

optional neutral?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:622

Force neutral unit asset selection.

Inherited from

UnitPlacementOptions.neutral

part

part: "unit" | "projectile_catapult" | "catapult" | "banner" | "bow" | "cannon" | "cart" | "cart_merchant" | "helmet" | "horse" | "projectile_arrow" | "shield" | "ship" | "spear" | "sword" | "hammer" | "horse_A" | "horse_B" | "horse_C" | "horse_D" | "horse_E" | "horse_F" | "horse_G" | "horse_saddle" | "projectile_cannonball" | "shovel"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:616

Unit part asset id.

Inherited from

UnitPlacementOptions.part

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:626

Clockwise 60-degree rotation steps.

Inherited from

UnitPlacementOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:628

Uniform render scale.

Inherited from

UnitPlacementOptions.scale

style?

optional style?: "accent" | "full"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:620

Colored unit style.

Inherited from

UnitPlacementOptions.style


AdvanceGameboardMovementOptions

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:109

Options for advancing movement.

Extends

Properties

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85

Placement ids ignored during pathing.

Inherited from

GameboardMovementOptions.ignorePlacementIds

movementBudget?

optional movementBudget?: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83

Movement budget override.

Inherited from

GameboardMovementOptions.movementBudget

optional navigation?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:87

Navigation profile overrides merged over the movement profile.

Inherited from

GameboardMovementOptions.navigation

profile?

optional profile?: GameboardMovementProfileInput

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79

Movement profile id or inline profile.

Inherited from

GameboardMovementOptions.profile

profiles?

optional profiles?: GameboardMovementProfileRegistry

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:81

Registry used to resolve profile ids.

Inherited from

GameboardMovementOptions.profiles

steps?

optional steps?: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:111

Number of path steps to advance. Defaults to 1.


AdvanceGameboardPatrolOptions

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:73

Options for advancing patrol agents.

Properties

deactivateOnBlocked?

optional deactivateOnBlocked?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:79

Deactivate the patrol when movement is blocked.

movement?

optional movement?: GameboardMovementPathRequestOptions

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:75

Movement options used when requesting segment movement.

resetMovementBudget?

optional resetMovementBudget?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:77

Reset movement budget before each patrol segment request.


AdvanceGameboardQuestOptions

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:102

Options for advancing quest state.

Properties

advanceThroughCompleted?

optional advanceThroughCompleted?: boolean

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:104

Continue through completed objectives in one advance call.

step?

optional step?: number

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:106

Current simulation/system step.


AnalyzeGameboardPieceRegistryOptions

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

Options for analyzing a piece registry.

Properties

checks?

optional checks?: readonly GameboardPieceRegistryAnalysisCheckInput[]

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

Optional checks to run against the registry.


ApplyTileDeclarationOptions

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:208

Options for placing a registered declaration into a gameboard builder.

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:210

Target hex coordinate.

declaration

declaration: string | HexTileDeclaration

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:212

Declaration object, declaration id, or manifest asset id.

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:218

Elevation override for base/support declarations.

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:222

Placement kind override for non-base declarations.

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:224

Placement layer override for non-base declarations.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:226

Additional serializable metadata merged into non-base placements.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:214

Clockwise 60-degree rotation steps to apply to placement and edge masks.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:220

Scale override for non-base placements.

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:216

Terrain override for base/support declarations.


AssetSource

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:203

The resolution contract. An implementation turns a placement (and, for transition tiles, an edge mask) into an AssetRenderRequest the render bridge understands — or undefined when this source can't resolve it (letting a caller fall through to another source or a default).

Properties

kind

readonly kind: string & object | "tileset" | "gltf-pack"

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:205

Source kind. Built-ins: 'gltf-pack', 'tileset'. Open for extension.

Methods

resolve()

resolve(placement, ctx?): AssetRenderRequest | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:207

Resolve a placement to a render request.

Parameters
placement

GameboardPlacementSpec

ctx?

ResolveContext

Returns

AssetRenderRequest | undefined

resolveEdge()?

optional resolveEdge(assetId, edgeMask, ctx?): AssetRenderRequest | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:213

Optional: resolve a transition tile's edge mask to a concrete cell/variant (G3). A GLTF pack returns a coast-model URL; a tileset returns a positional cell. Sources without positional transitions omit this.

Parameters
assetId

string

edgeMask

number

ctx?

ResolveContext

Returns

AssetRenderRequest | undefined


AssetTint

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:78

A multiplicative RGB tint applied to a rendered placement. Each channel is in [0, 1]; white ({ r: 1, g: 1, b: 1 }) is the identity (no change). Because it multiplies the sampled texel colour, it lets a consuming GAME shade a shared tileset atlas per placement WITHOUT re-authoring art:

  • fog-of-war: dim explored-but-unseen tiles toward grey ({r:.5,g:.5,b:.5});
  • season: warm autumn ({r:1,g:.85,b:.6}) or cool winter wash over the board;
  • team/ownership: tint a captured tile toward the owner's colour. The tint is a render concern — the sim stores the intent, the binding applies it to the material's color, and the same atlas serves every shading state.

Properties

b

b: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:84

Blue channel multiplier, [0, 1].

g

g: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:82

Green channel multiplier, [0, 1].

r

r: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:80

Red channel multiplier, [0, 1].


AssetTransform

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:38

Render transform for a placement, in world space. Neutral of any renderer (moved here from src/three for RFC0-RENDER so the render-request contract is backend-agnostic). A 3D backend uses the full x/y/z + rotationY; a 2D backend projects to screen space and treats the depth axis as z-order.

Properties

position

position: WorldPosition

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:40

World-space position for the object origin.

rotationY

rotationY: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:42

Y-axis rotation in radians (the board-plane rotation both 2D and 3D share).

scale

scale: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:44

Uniform scale.


BiomeFillSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:54

Texture-set fill target for authored or generated biome regions.

Properties

center?

optional center?: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:62

Optional center used to bias the selected biome tiles.

fill

fill: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:60

Fraction of eligible land tiles to paint with this texture set.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:56

Optional id used in diagnostics and future editor UIs.

radius?

optional radius?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:64

Optional radius around center that bounds the biome.

terrain?

optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:66

Optional terrain filter for biome assignment.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:58

Texture set applied to the selected tiles.


BoardBounds

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:18

Axis-aligned world-space bounds of a board (over the board plane + elevation).

Properties

center

readonly center: WorldPosition

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:22

Center of the bounds — the natural look-at target.

max

readonly max: WorldPosition

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:20

min

readonly min: WorldPosition

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:19

size

readonly size: WorldPosition

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:24

Full extent along each axis (max - min).


BridgeOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:452

Options for adding a neutral bridge structure.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:454

Tile where the bridge is anchored, usually a road crossing over water or river terrain.

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:458

Edge the bridge points toward; also used as the default rotation.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:460

Clockwise 60-degree rotation steps. Overrides facing when provided.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:462

Uniform render scale.

variant?

optional variant?: BridgeVariant

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:456

KayKit bridge visual variant. Defaults to A.


CameraFraming

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:65

A computed camera framing — renderer-neutral. A binding applies it to its camera.

Properties

distance

readonly distance: number

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:80

Distance from eye to target.

fov

readonly fov: number

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:78

Field of view in radians (perspective).

orthoHalfHeight

readonly orthoHalfHeight: number

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:76

Half-height of the orthographic view volume (world units). The binding derives the ortho box from this + the viewport aspect. Present for both projections so a binding can frame consistently; ignored by a pure-perspective camera.

position

readonly position: WorldPosition

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:67

Eye position in world space.

projection

readonly projection: CameraProjection

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:70

target

readonly target: WorldPosition

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:69

Look-at target (board center).


CameraState

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:47

A requested camera view — the SIGNAL a renderer binding subscribes to.

Properties

angle

readonly angle: CameraAngle

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:48

fit

readonly fit: CameraFit

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:50

fov?

readonly optional fov?: number

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:54

Field of view in radians for perspective projection (default ~50°).

padding?

readonly optional padding?: number

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:52

Fraction of extra room around the board for frame-board (default 0.15).

projection

readonly projection: CameraProjection

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:49


CanonicalVariant

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:11

Canonical guide asset variant before rotation and waterless/curvy modifiers.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:15

Manifest asset id for the unrotated canonical variant.

canonicalMask

canonicalMask: number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:17

Six-bit edge mask represented by the canonical orientation.

label

label: string

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:13

KayKit guide label, such as A or crossing_A.


CellRect

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:51

A rectangular sub-region of a sprite/tile sheet, in pixels. The origin is the sheet's top-left; x/y locate the cell's top-left corner.

Properties

height

height: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:55

width

width: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:54

x

x: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:52

y

y: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:53


ConstructionSiteOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:512

Options for adding construction, ruin, and worksite neutral structures.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:514

Tile where the construction asset is anchored.

constructionId?

optional constructionId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:520

Optional stable id for a multi-step construction chain.

kind?

optional kind?: ConstructionSiteKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:516

Construction state to place. Defaults to stage-A.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:518

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:522

Uniform render scale.


CoverageGap

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:85

Stable machine-readable release-readiness gap.

Properties

code

code: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:87

Stable code for docs, tests, and CI parsing.

message

message: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:91

Human-readable explanation.

severity

severity: CoverageGapSeverity

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:89

Whether the gap blocks release, needs review, or is informational.

subject?

optional subject?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:93

Optional source path, asset id, guide page id, or command id.


CreateGameboardInteractionHandlerPresetOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:216

Overrides used when expanding a handler preset into concrete handlers.

Properties

markTargetActorInteracted?

optional markTargetActorInteracted?: MarkTargetActorInteractedHandlerOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:222

Options for mark-target-interacted.

removeTargetActor?

optional removeTargetActor?: RemoveTargetActorHandlerOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:218

Options for remove-target-actor.

removeTargetPlacement?

optional removeTargetPlacement?: RemoveTargetPlacementHandlerOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:220

Options for remove-target-placement.


CreateGameboardLayoutArchetypeRegistryOptions

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

Options for creating an archetype registry.

Properties

includeBuiltIns?

optional includeBuiltIns?: boolean

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

Include the built-in archetypes before applying overrides.


CreateGameboardPatrolSimulationScriptOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:678

Options for generating a complete simulation script from patrol routes.

Extends

Properties

assignments

assignments: readonly GameboardPatrolSimulationActorAssignment[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:632

Actor-to-route assignments.

Inherited from

CreateGameboardPatrolSimulationStepsOptions.assignments

defaultCommandHandlerOptions?

optional defaultCommandHandlerOptions?: CreateGameboardInteractionHandlerPresetOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:687

Default handler options for generated script.

defaultCommandHandlers?

optional defaultCommandHandlers?: readonly ("remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:685

Default command handler presets for generated script.

defaultCommandSystems?

optional defaultCommandSystems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:683

Default command systems for generated script.

defaultRunSystems?

optional defaultRunSystems?: RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:689

Default systems for generated run-systems steps.

defaultSourceActor?

optional defaultSourceActor?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:681

Default source actor id for generated command steps.

expectations?

optional expectations?: GameboardScenarioSimulationExpectations

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:691

Expectations to embed in the generated script.

requireFoundRoutes?

optional requireFoundRoutes?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:634

Whether missing routes should be treated as errors. Defaults to true.

Inherited from

CreateGameboardPatrolSimulationStepsOptions.requireFoundRoutes

routes

routes: GameboardPatrolRouteSet | readonly GameboardPatrolRoutePlan[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:630

Patrol route set or route plans.

Inherited from

CreateGameboardPatrolSimulationStepsOptions.routes


CreateGameboardPatrolSimulationStepsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:628

Options for generating simulation command steps from patrol routes.

Extended by

Properties

assignments

assignments: readonly GameboardPatrolSimulationActorAssignment[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:632

Actor-to-route assignments.

requireFoundRoutes?

optional requireFoundRoutes?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:634

Whether missing routes should be treated as errors. Defaults to true.

routes

routes: GameboardPatrolRouteSet | readonly GameboardPatrolRoutePlan[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:630

Patrol route set or route plans.


CreateGameboardRuntimeOptions

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:252

Explicit runtime creation options.

Properties

plan?

optional plan?: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:256

Serializable plan to load into a new Koota world.

world?

optional world?: World

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:254

Existing Koota world to bind.


CreateGameboardScenarioOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:118

Options accepted by the scenario factory.

Properties

actors?

optional actors?: readonly GameboardScenarioActor[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:126

Actors to spawn into the scenario runtime.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:130

Additional serializable scenario metadata.

patrolRoutes?

optional patrolRoutes?: readonly GameboardScenarioPatrolRoute[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:124

Deterministic patrol route rules for scenario actors.

quests?

optional quests?: readonly GameboardQuestDefinition[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:128

Quests to spawn into the scenario runtime.

spawnGroups?

optional spawnGroups?: GameboardSpawnGroupOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:122

Deterministic spawn group rules for scenario actors.

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:120

Optional display title.


CreateSourceFromSpecOptions

Defined in: packages/declarative-hex-worlds/src/asset-source/spec-source.ts:28

Options for createSourceFromSpec.

Properties

tilesetShape?

optional tilesetShape?: "hex" | "quad"

Defined in: packages/declarative-hex-worlds/src/asset-source/spec-source.ts:33

How each tileset cell is drawn (see AssetRenderRequest['shape']). Defaults to the tileset source's own default ('quad').


DispatchGameboardActorTargetCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:43

Result of selecting an actor target and dispatching the planned command.

Properties

dispatch?

optional dispatch?: DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:47

Dispatch result when the target command was executable.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:51

Serializable event records derived from events.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:49

In-memory events emitted by the dispatch.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:53

Reason no command was dispatched or dispatch was blocked.

targetCommand

targetCommand: GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:45

Actor-target command plan.


DispatchGameboardInteractionCommandOptions

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:26

Command dispatch options used by system helpers.

Extends

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardInteractionCommandExecutionOptions.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardInteractionCommandExecutionOptions.blockingPlacementLayers

handlers?

optional handlers?: GameboardInteractionHandler | readonly GameboardInteractionHandler[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:240

Handler or handler chain for non-movement interact/attack/inspect commands.

Inherited from

GameboardInteractionCommandExecutionOptions.handlers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardInteractionCommandExecutionOptions.ignorePlacementIds

movement?

optional movement?: GameboardMovementPathRequestOptions

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

Movement path options used when the command is a move request.

Inherited from

GameboardInteractionCommandExecutionOptions.movement

requireSourceActorForAttack?

optional requireSourceActorForAttack?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:572

Require a source actor before attack commands can execute.

Inherited from

GameboardInteractionCommandExecutionOptions.requireSourceActorForAttack

requireSourceActorForInteraction?

optional requireSourceActorForInteraction?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:574

Require a source actor before interaction commands can execute.

Inherited from

GameboardInteractionCommandExecutionOptions.requireSourceActorForInteraction

requireSourceActorForMove?

optional requireSourceActorForMove?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:570

Require a source actor before move commands can execute.

Inherited from

GameboardInteractionCommandExecutionOptions.requireSourceActorForMove

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216

Source actor used for hostility and collision interpretation.

Inherited from

GameboardInteractionCommandExecutionOptions.sourceActor

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardInteractionCommandExecutionOptions.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardInteractionCommandExecutionOptions.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardInteractionCommandExecutionOptions.treatPropsAsBlocking


DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:31

Result of dispatching one interaction command.

Properties

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:37

Serializable event records derived from events.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:35

In-memory events emitted by the dispatch.

execution

execution: GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:33

Command execution result.


ElevationRampOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:468

Options for adding a sloped grass ramp between adjacent elevation levels.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:470

Lower tile where the visible ramp is anchored.

direction?

optional direction?: ElevationRampDirection

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:472

Visual ramp direction. Defaults to up.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:484

Fractional elevation offset above the tile surface.

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:474

Edge the ramp points toward; also used as the default rotation.

fromElevation?

optional fromElevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:478

Elevation on the anchor tile. Defaults to the tile elevation.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:476

Clockwise 60-degree rotation steps. Overrides facing when provided.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:486

Uniform render scale.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:482

Texture set to apply to the anchor tile before placing the ramp.

toElevation?

optional toElevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:480

Elevation reached by the ramp. Defaults to one level above or below fromElevation.


ExternalAssetCompatibilityInput

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:42

Metadata extracted from, or supplied alongside, one external GLB/GLTF.

Properties

animationNames?

optional animationNames?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:58

Animation clip names discovered in the model.

boardForwardEdge?

optional boardForwardEdge?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:64

Desired board edge the model should face after placement.

bounds

bounds: AssetBounds

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:52

Bounds extracted from model geometry.

creator?

optional creator?: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:48

Optional creator attribution.

hasRig?

optional hasRig?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:56

Whether the model has a skin/armature.

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:44

Stable external asset id.

intendedRole?

optional intendedRole?: ExternalAssetIntendedRole

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:54

How the caller hoped to use the asset before fit analysis.

license?

optional license?: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:50

Optional license label for docs or local reports.

materialSlots?

optional materialSlots?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:60

Material slot names discovered in the model.

modelForward?

optional modelForward?: ExternalAssetForwardAxis

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:62

Model-local forward axis for facing correction.

sourcePack

sourcePack: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:46

Human-readable source pack name, such as Kenney Castle Kit.


ExternalAssetCompatibilityReport

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:162

Complete compatibility report for one external asset.

Properties

compatibleAsTile

compatibleAsTile: boolean

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:168

Whether the model can act as a KayKit-shaped tile without overrides.

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:178

Fatal issues that make placement unsafe.

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:164

Stable external asset id.

placement

placement: ExternalAssetPlacementRecommendation

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:174

Placement metadata suitable for custom piece registration.

sourcePack

sourcePack: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:166

Source pack label.

suggestedRole

suggestedRole: ExternalAssetSuggestedRole

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:172

Suggested role after analysis.

tile

tile: ExternalAssetTileCompatibility

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:170

Tile-fit measurements.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:176

Non-fatal issues a build tool or editor should show.


ExternalAssetFacingOptions

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:136

Input for hex-edge facing correction.

Properties

boardForwardEdge?

optional boardForwardEdge?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:140

Board edge the model should face. Defaults to edge 1.

modelForward?

optional modelForward?: ExternalAssetForwardAxis

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:138

Model-local forward axis. Defaults to +z.


ExternalAssetFacingRecommendation

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:146

Facing correction expressed in both hex rotation steps and radians.

Properties

boardForwardEdge

boardForwardEdge: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:150

Target board edge after placement.

facingErrorRadians

facingErrorRadians: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:156

Remaining angle error after quantizing to hex steps.

modelForward

modelForward: ExternalAssetForwardAxis

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:148

Model-local forward axis used for the calculation.

rotationRadians

rotationRadians: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:154

Rotation in radians.

rotationSteps

rotationSteps: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:152

Clockwise 60-degree rotation steps.


ExternalAssetPlacementRecommendation

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:93

Placement metadata a game can apply when registering the external asset as a custom gameboard piece or runtime placement.

Properties

anchor

anchor: ExternalAssetAnchor

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:115

Anchor point the recommendation assumes.

animation?

optional animation?: object

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:121

Animation recommendation when embedded clips are present.

clips

clips: readonly string[]

Available clip names.

defaultClip?

optional defaultClip?: string

Preferred default clip for idle/walk presentation.

loop

loop: boolean

Whether the clip should loop by default.

source

source: "embedded" | "external"

Where clips were discovered.

blocksMovement

blocksMovement: boolean

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:113

Whether the placement should block actor movement by default.

boardForwardEdge

boardForwardEdge: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:119

Board edge the model is intended to face.

elevationOffset

elevationOffset: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:105

Vertical offset to place the model on top of the hex surface.

facingErrorRadians

facingErrorRadians: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:111

Remaining angle error after hex-step rotation.

footprint

footprint: ExternalAssetFootprintKind

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:101

Inferred footprint family.

kind

kind: "prop" | "unit" | "terrain" | "structure"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:97

Gameboard placement kind to use.

layer

layer: "unit" | "terrain" | "structure" | "feature"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:99

Gameboard render/collision layer to use.

modelForward

modelForward: ExternalAssetForwardAxis

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:117

Model-local forward axis used for this recommendation.

role

role: ExternalAssetSuggestedRole

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:95

Suggested high-level role.

rotationRadians

rotationRadians: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:109

Rotation in radians equivalent to rotationSteps.

rotationSteps

rotationSteps: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:107

60-degree rotation steps needed for best facing alignment.

scale

scale: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:103

Recommended uniform scale.


ExternalAssetSpawnOptionsInput

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:184

Input for converting a compatibility report into runtime spawn options.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:190

Asset id used by the host app or local source URL map.

at

at: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:188

Target tile for the placement.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:186

Optional placement id.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:202

Extra metadata merged after compatibility metadata.

report

report: ExternalAssetCompatibilityReport

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:192

Compatibility report produced for the asset.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:198

Optional rotation override.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:200

Optional scale override.

sourcePack?

optional sourcePack?: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:196

Optional source pack override for metadata.

sourceUrl?

optional sourceUrl?: string

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:194

Optional model URL, often a Vite @fs URL in local tests.


ExternalAssetTileCompatibility

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:70

KayKit tile-footprint fit measurements for an external model.

Properties

aspectRatio

aspectRatio: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:80

Model width/depth ratio.

aspectRatioDelta

aspectRatioDelta: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:84

Absolute ratio difference.

compatible

compatible: boolean

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:72

True when width/depth ratio and scale are close enough for a KayKit tile.

depthScale

depthScale: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:76

Uniform board depth divided by model depth.

expectedAspectRatio

expectedAspectRatio: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:82

KayKit tile width/depth ratio.

scaleMismatch

scaleMismatch: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:86

Relative difference between width and depth scale.

uniformScale

uniformScale: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:78

Smaller of width/depth scale, useful for safe prop scaling.

widthScale

widthScale: number

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:74

Uniform board width divided by model width.


FactionBuildingOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:422

Options for adding a faction building.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:424

Tile where the building is anchored.

building

building: "tent" | "archeryrange" | "barracks" | "blacksmith" | "castle" | "church" | "docks" | "home_A" | "home_B" | "lumbermill" | "market" | "mine" | "shipyard" | "shrine" | "stables" | "tavern" | "townhall" | "tower_A" | "tower_B" | "tower_base" | "tower_cannon" | "tower_catapult" | "watchtower" | "watermill" | "well" | "windmill" | "workshop"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:428

Faction building kind.

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:426

Faction color for the building.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:430

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:432

Uniform render scale.


FortificationOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:492

Options for adding a wall or fence segment with fortification metadata.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:494

Tile where the segment is anchored.

enclosureId?

optional enclosureId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:504

Optional stable id for a multi-segment enclosure.

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:500

Edge the segment faces; also used as the default rotation.

material?

optional material?: FortificationMaterial

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:496

Material family. Defaults to wall.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:502

Clockwise 60-degree rotation steps. Overrides facing when provided.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:506

Uniform render scale.

segment?

optional segment?: FortificationSegment

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:498

Segment visual shape. Defaults to straight.


GameboardActorCollisionProfile

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:124

Collision policy used by actor movement, navigation, and targeting helpers.

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.


GameboardActorCollisionReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:142

Collision inspection result for one actor attempting to enter one tile.

Properties

actorPlacements

actorPlacements: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:150

Actor placements found on the target tile.

blockingPlacements

blockingPlacements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:152

Placements that block movement under the active collision profile.

canEnter

canEnter: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:160

Whether the source actor can enter the target tile.

hostileActors

hostileActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:154

Hostile actors on the target tile.

interactiveActors

interactiveActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:156

Interactive actors on the target tile.

placements

placements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:148

Placements found on the target tile after ignored ids are removed.

propActors

propActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:158

Prop actors on the target tile.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:162

Blocked reason when canEnter is false.

source?

optional source?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:144

Source actor being tested, when provided.

targetTileKey

targetTileKey: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:146

Target tile key that was inspected.


GameboardActorNavigationOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:168

Actor-aware navigation options layered on top of a navigation profile.

Extends

Properties

baseProfile?

optional baseProfile?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:170

Base navigation profile to extend with actor collision behavior.

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardActorCollisionProfile.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardActorCollisionProfile.blockingPlacementLayers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardActorCollisionProfile.ignorePlacementIds

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatPropsAsBlocking


GameboardActorPatrolRouteRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:273

Relation payload connecting an actor to a patrol route.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:275

Actor id.

routeId

routeId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:277

Patrol route id.


GameboardActorPlacementRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:263

Relation payload connecting an actor to its placement.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:265

Actor id.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:267

Placement id.


GameboardActorRegistrationOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:52

Options for attaching gameplay actor state to an existing placement.

Extended by

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:54

Stable gameplay actor id.

actorKind?

optional actorKind?: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56

Gameplay actor kind. Defaults from placement kind.

actorMetadata?

optional actorMetadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:70

Serializable actor metadata independent from placement metadata.

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64

Whether this actor blocks actor movement.

faction?

optional faction?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58

Optional faction identifier.

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62

Whether this actor is generally hostile.

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:66

Whether this actor should be considered an interaction target.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:68

Free-form actor tags used by selectors and quests.

team?

optional team?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:60

Optional team identifier. Defaults to faction when omitted.


GameboardActorSelection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:418

Aggregated actor selection result for gameplay systems and UIs.

Properties

actorIds

actorIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:426

Matching actor ids.

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:420

Matching actor snapshots.

byTileKey

byTileKey: Readonly<Record<string, readonly GameboardActorSnapshot[]>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:432

Matching actors grouped by tile key.

center?

optional center?: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:444

Resolved center coordinates used for radius and distance.

centerKey?

optional centerKey?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:446

Resolved center tile key.

count

count: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:424

Number of matching actors.

hostileActors

hostileActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:436

Matching actors hostile to the source or generally hostile.

interactiveActors

interactiveActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:438

Matching interactive actors.

placementIds

placementIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:428

Matching placement ids.

propActors

propActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:440

Matching prop actors.

radius?

optional radius?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:448

Normalized radius used for filtering.

records

records: readonly GameboardActorSelectionRecord[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:422

Serializable records for matching actors.

recordsByTileKey

recordsByTileKey: Readonly<Record<string, readonly GameboardActorSelectionRecord[]>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:434

Matching records grouped by tile key.

source?

optional source?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:442

Source actor used for the selection.

tileKeys

tileKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:430

Unique tile keys occupied by matching actors.


GameboardActorSelectionOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:378

Filter options for selecting actors from the world.

Properties

actorIds?

optional actorIds?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:380

Actor id or ids to include.

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:408

Filter by actor movement-blocking flag.

center?

optional center?: GameboardNeighborhoodCenter

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:396

Optional center used by radius filtering and distance sorting.

excludeTags?

optional excludeTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:392

Actor tags that must all be absent.

factions?

optional factions?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:388

Faction id or ids to include.

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:404

Filter by actor hostile flag.

hostileToSource?

optional hostileToSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:410

Filter by hostility relative to sourceActor.

includeSource?

optional includeSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:402

Include the source actor in results. Defaults to true.

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:406

Filter by actor interactive flag.

kinds?

optional kinds?: GameboardActorKind | readonly GameboardActorKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:384

Actor kind or kinds to include.

placementIds?

optional placementIds?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:382

Placement id or ids to include.

radius?

optional radius?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:398

Maximum hex distance from center or sourceActor.

sort?

optional sort?: GameboardActorSelectionSort

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:412

Sort mode for selected actors.

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:400

Source actor used for hostility and default center resolution.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:390

Actor tags that must all be present.

teams?

optional teams?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:386

Team id or ids to include.

tileKeys?

optional tileKeys?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:394

Tile key or keys to include.


GameboardActorSelectionRecord

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:454

Serializable actor selection row for logs, tests, UIs, and quests.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:456

Actor id.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:484

Placement asset id.

blocksMovement

blocksMovement: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:470

Whether the actor blocks movement.

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:480

Occupied tile coordinates.

distance?

optional distance?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:482

Distance from the selection center, when available.

faction?

optional faction?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:462

Actor faction id.

hostile

hostile: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:466

Whether the actor is generally hostile.

hostileToSource?

optional hostileToSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:468

Whether this actor is hostile to the selection source.

interactive

interactive: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:472

Whether the actor is an interaction target.

kind

kind: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:460

Actor kind.

layer

layer: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:488

Underlying placement layer.

metadata

metadata: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:476

Actor metadata.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:458

Placement id associated with the actor.

placementKind

placementKind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:486

Underlying placement kind.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:490

Whether the placement requires local-only EXTRA assets.

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:474

Actor tags.

team?

optional team?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:464

Actor team id.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:478

Occupied tile key.


GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:112

Joined runtime snapshot for an actor entity and its placement.

Properties

actor

actor: object

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:116

Actor trait value.

actorId

actorId: string = ''

Stable gameplay actor id.

blocksMovement

blocksMovement: boolean = false

Whether this actor blocks movement.

faction

faction: string | undefined

Optional faction identifier.

hostile

hostile: boolean = false

Whether this actor is generally hostile.

interactive

interactive: boolean = false

Whether this actor should be treated as an interaction target.

kind

kind: GameboardActorKind

Actor role used by collision, targeting, commands, and fixtures.

metadata

metadata: Record<string, GameboardActorMetadataValue>

Serializable actor metadata.

tags

tags: string[]

Free-form actor tags.

team

team: string | undefined

Optional team identifier.

entity

entity: Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:114

Live Koota entity.

placement

placement: object

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:118

Placement trait value associated with the actor.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.


GameboardActorTarget

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:524

One selected target plus its planned command and path result.

Properties

actor

actor: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:526

Target actor snapshot.

approach

approach: GameboardActorTargetApproach | "self" | "none"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:534

Approach mode actually used for this target.

approachTileKey?

optional approachTileKey?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:536

Tile key approached by the path.

command

command: GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:530

Planned interaction command for the target.

path

path: GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:532

Path to the selected approach tile.

reachable

reachable: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:538

Whether the target is reachable under the active profile.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:540

Unreachable reason.

record

record: GameboardActorSelectionRecord

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:528

Serializable target actor record.


GameboardActorTargetCommandOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:246

Options for choosing an actor target and planning a command against it.

Extends

Properties

actorIds?

optional actorIds?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:380

Actor id or ids to include.

Inherited from

GameboardActorSelectionOptions.actorIds

approach?

optional approach?: GameboardActorTargetApproach

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:512

Target approach strategy. Defaults to nearest.

Inherited from

GameboardActorTargetingOptions.approach

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:408

Filter by actor movement-blocking flag.

Inherited from

GameboardActorSelectionOptions.blocksMovement

center?

optional center?: GameboardNeighborhoodCenter

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:396

Optional center used by radius filtering and distance sorting.

Inherited from

GameboardActorSelectionOptions.center

excludeTags?

optional excludeTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:392

Actor tags that must all be absent.

Inherited from

GameboardActorSelectionOptions.excludeTags

factions?

optional factions?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:388

Faction id or ids to include.

Inherited from

GameboardActorSelectionOptions.factions

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:404

Filter by actor hostile flag.

Inherited from

GameboardActorSelectionOptions.hostile

hostileToSource?

optional hostileToSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:410

Filter by hostility relative to sourceActor.

Inherited from

GameboardActorSelectionOptions.hostileToSource

includeSource?

optional includeSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:402

Include the source actor in results. Defaults to true.

Inherited from

GameboardActorSelectionOptions.includeSource

includeUnreachable?

optional includeUnreachable?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:516

Include unreachable targets in results. Defaults to true.

Inherited from

GameboardActorTargetingOptions.includeUnreachable

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:406

Filter by actor interactive flag.

Inherited from

GameboardActorSelectionOptions.interactive

kinds?

optional kinds?: GameboardActorKind | readonly GameboardActorKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:384

Actor kind or kinds to include.

Inherited from

GameboardActorSelectionOptions.kinds

maxPathCost?

optional maxPathCost?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:514

Maximum accepted path cost.

Inherited from

GameboardActorTargetingOptions.maxPathCost

optional navigation?: GameboardActorNavigationOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:510

Actor-aware navigation options.

Inherited from

GameboardActorTargetingOptions.navigation

placementIds?

optional placementIds?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:382

Placement id or ids to include.

Inherited from

GameboardActorSelectionOptions.placementIds

radius?

optional radius?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:398

Maximum hex distance from center or sourceActor.

Inherited from

GameboardActorSelectionOptions.radius

requireReachable?

optional requireReachable?: boolean

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:250

Require the selected actor target to be reachable. Defaults to true.

sort?

optional sort?: GameboardActorTargetSort

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:518

Target result sort mode.

Inherited from

GameboardActorTargetingOptions.sort

sourceActor

sourceActor: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:508

Source actor that will path toward selected targets.

Inherited from

GameboardActorTargetCommandOptions.sourceActor

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:390

Actor tags that must all be present.

Inherited from

GameboardActorSelectionOptions.tags

targetActorId?

optional targetActorId?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:248

Require this exact target actor id instead of using the nearest match.

teams?

optional teams?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:386

Team id or ids to include.

Inherited from

GameboardActorSelectionOptions.teams

tileKeys?

optional tileKeys?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:394

Tile key or keys to include.

Inherited from

GameboardActorSelectionOptions.tileKeys


GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:256

Non-mutating command plan for a selected actor target.

Properties

canExecute

canExecute: boolean

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:264

Whether the command may be executed immediately.

command?

optional command?: GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:262

Planned command against the selected target.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:266

Reason execution is unavailable.

target?

optional target?: GameboardActorTarget

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:260

Selected actor target, when one matched.

targeting

targeting: GameboardActorTargetingReport

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:258

Full actor-targeting report used to select the target.


GameboardActorTargetingOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:505

Options for selecting and pathing to potential actor targets.

Extends

Extended by

Properties

actorIds?

optional actorIds?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:380

Actor id or ids to include.

Inherited from

GameboardActorSelectionOptions.actorIds

approach?

optional approach?: GameboardActorTargetApproach

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:512

Target approach strategy. Defaults to nearest.

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:408

Filter by actor movement-blocking flag.

Inherited from

GameboardActorSelectionOptions.blocksMovement

center?

optional center?: GameboardNeighborhoodCenter

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:396

Optional center used by radius filtering and distance sorting.

Inherited from

GameboardActorSelectionOptions.center

excludeTags?

optional excludeTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:392

Actor tags that must all be absent.

Inherited from

GameboardActorSelectionOptions.excludeTags

factions?

optional factions?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:388

Faction id or ids to include.

Inherited from

GameboardActorSelectionOptions.factions

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:404

Filter by actor hostile flag.

Inherited from

GameboardActorSelectionOptions.hostile

hostileToSource?

optional hostileToSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:410

Filter by hostility relative to sourceActor.

Inherited from

GameboardActorSelectionOptions.hostileToSource

includeSource?

optional includeSource?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:402

Include the source actor in results. Defaults to true.

Inherited from

GameboardActorSelectionOptions.includeSource

includeUnreachable?

optional includeUnreachable?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:516

Include unreachable targets in results. Defaults to true.

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:406

Filter by actor interactive flag.

Inherited from

GameboardActorSelectionOptions.interactive

kinds?

optional kinds?: GameboardActorKind | readonly GameboardActorKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:384

Actor kind or kinds to include.

Inherited from

GameboardActorSelectionOptions.kinds

maxPathCost?

optional maxPathCost?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:514

Maximum accepted path cost.

optional navigation?: GameboardActorNavigationOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:510

Actor-aware navigation options.

placementIds?

optional placementIds?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:382

Placement id or ids to include.

Inherited from

GameboardActorSelectionOptions.placementIds

radius?

optional radius?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:398

Maximum hex distance from center or sourceActor.

Inherited from

GameboardActorSelectionOptions.radius

sort?

optional sort?: GameboardActorTargetSort

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:518

Target result sort mode.

sourceActor

sourceActor: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:508

Source actor that will path toward selected targets.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:390

Actor tags that must all be present.

Inherited from

GameboardActorSelectionOptions.tags

teams?

optional teams?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:386

Team id or ids to include.

Inherited from

GameboardActorSelectionOptions.teams

tileKeys?

optional tileKeys?: string | readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:394

Tile key or keys to include.

Inherited from

GameboardActorSelectionOptions.tileKeys


GameboardActorTargetingReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:546

Targeting report for one source actor.

Properties

nearestTarget?

optional nearestTarget?: GameboardActorTarget

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:560

First reachable target, or first target when none are reachable.

reachableActorIds

reachableActorIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:558

Actor ids represented by reachableTargets.

reachableTargets

reachableTargets: readonly GameboardActorTarget[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:554

Reachable targets only.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:562

Failure reason when targeting could not be evaluated.

selection

selection: GameboardActorSelection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:550

Actor selection used as the target candidate set.

source?

optional source?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:548

Source actor, when it exists.

targetActorIds

targetActorIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:556

Actor ids represented by targets.

targets

targets: readonly GameboardActorTarget[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:552

All targets after reachability filtering.


GameboardActorTileRecord

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

Relation payload connecting an actor to a tile.

Properties

actorId

actorId: string

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

Actor id.

coordinates

coordinates: HexCoordinates

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

Tile coordinates occupied by the actor.

tileKey

tileKey: string

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

Tile key occupied by the actor.


GameboardAdjacencyRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:94

Directional adjacency relation between two tiles.

Properties

edge

edge: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:100

Source edge leading to the target tile.

from

from: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:96

Source tile key.

reciprocalEdge

reciprocalEdge: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:102

Target edge leading back to the source tile.

to

to: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:98

Target tile key.


GameboardBlueprintInspection

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:206

Diagnostic summary for one compiled blueprint.

Properties

counts

counts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:214

Feature counts emitted by the compiler.

plan

plan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:210

Compiled concrete plan.

recipe

recipe: GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:208

Generated recipe.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:212

Non-fatal blueprint diagnostics.


GameboardBlueprintOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:174

High-level options for compiling a full 2.5D medieval board.

Extends

Extended by

Properties

biomeFills?

optional biomeFills?: readonly BiomeFillSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:184

Texture-set fill targets for biome regions.

defaultTerrain?

optional defaultTerrain?: "grass" | "water"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:119

Initial terrain used for every generated tile.

Inherited from

GameboardPlanOptions.defaultTerrain

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:178

Primary faction used by generated towns, harbors, and units.

harbors?

optional harbors?: number | readonly MedievalHarborSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:194

Authored harbors, or a count for deterministic coast placement.

layoutDensity?

optional layoutDensity?: SeededGameboardLayoutDensityOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:200

Optional generated density fills attached to the resulting recipe.

layoutFillSeed?

optional layoutFillSeed?: string | number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:202

Seed used for generated density fills.

maxElevation?

optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:182

Highest generated elevation used by default mountain ranges.

mountainRanges?

optional mountainRanges?: readonly MedievalMountainRangeSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:186

Authored mountain ranges. Omit to create one default ridge.

propClusterDressing?

optional propClusterDressing?: false | MedievalPropClusterDressingOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:196

Generated and authored semantic prop-cluster dressing. Pass false to disable.

rivers?

optional rivers?: readonly MedievalRiverNetworkSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:192

Authored river networks. Omit to create one mountain-to-coast river.

roads?

optional roads?: readonly MedievalRoadNetworkSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:190

Authored road networks. Auto roads connect towns and harbors.

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113

Deterministic seed for generation.

Inherited from

GameboardPlanOptions.seed

shape?

optional shape?: GameboardShape

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:176

Board shape to compile.

Overrides

GameboardPlanOptions.shape

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:117

Texture set applied to generated terrain.

Inherited from

GameboardPlanOptions.textureSet

towns?

optional towns?: number | readonly MedievalTownSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:188

Authored towns, or a count for deterministic town placement.

transitionPolicy?

optional transitionPolicy?: MedievalTransitionPolicy

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:198

Visual and access transition policy.

waterFill?

optional waterFill?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:180

Fraction of the board reserved for water. Defaults to a southern coast.


GameboardBlueprintScenarioInspection

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:228

Combined blueprint and scenario diagnostics for generated playable boards.

Properties

blueprint

blueprint: GameboardBlueprintInspection

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:230

Blueprint inspection, including the generated recipe and compiled plan.

scenario

scenario: GameboardScenario

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:232

Scenario produced from the generated recipe and authored runtime content.

scenarioInspection

scenarioInspection: GameboardScenarioValidationResult

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:234

Scenario validation result, including spawn groups and patrol routes.


GameboardBlueprintScenarioOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:218

Scenario-level options for compiling a blueprint into playable content.

Extends

Properties

actors?

optional actors?: readonly GameboardScenarioActor[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:126

Actors to spawn into the scenario runtime.

Inherited from

CreateGameboardScenarioOptions.actors

biomeFills?

optional biomeFills?: readonly BiomeFillSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:184

Texture-set fill targets for biome regions.

Inherited from

GameboardBlueprintScenarioOptions.biomeFills

defaultTerrain?

optional defaultTerrain?: "grass" | "water"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:119

Initial terrain used for every generated tile.

Inherited from

GameboardPlanOptions.defaultTerrain

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:178

Primary faction used by generated towns, harbors, and units.

Inherited from

GameboardBlueprintOptions.faction

harbors?

optional harbors?: number | readonly MedievalHarborSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:194

Authored harbors, or a count for deterministic coast placement.

Inherited from

GameboardBlueprintScenarioOptions.harbors

layoutDensity?

optional layoutDensity?: SeededGameboardLayoutDensityOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:200

Optional generated density fills attached to the resulting recipe.

Inherited from

GameboardBlueprintOptions.layoutDensity

layoutFillSeed?

optional layoutFillSeed?: string | number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:202

Seed used for generated density fills.

Inherited from

GameboardBlueprintScenarioOptions.layoutFillSeed

maxElevation?

optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:182

Highest generated elevation used by default mountain ranges.

Inherited from

GameboardBlueprintOptions.maxElevation

mountainRanges?

optional mountainRanges?: readonly MedievalMountainRangeSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:186

Authored mountain ranges. Omit to create one default ridge.

Inherited from

GameboardBlueprintScenarioOptions.mountainRanges

patrolRoutes?

optional patrolRoutes?: readonly GameboardScenarioPatrolRoute[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:124

Deterministic patrol route rules for scenario actors.

Inherited from

CreateGameboardScenarioOptions.patrolRoutes

propClusterDressing?

optional propClusterDressing?: false | MedievalPropClusterDressingOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:196

Generated and authored semantic prop-cluster dressing. Pass false to disable.

Inherited from

GameboardBlueprintScenarioOptions.propClusterDressing

quests?

optional quests?: readonly GameboardQuestDefinition[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:128

Quests to spawn into the scenario runtime.

Inherited from

CreateGameboardScenarioOptions.quests

rivers?

optional rivers?: readonly MedievalRiverNetworkSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:192

Authored river networks. Omit to create one mountain-to-coast river.

Inherited from

GameboardBlueprintScenarioOptions.rivers

roads?

optional roads?: readonly MedievalRoadNetworkSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:190

Authored road networks. Auto roads connect towns and harbors.

Inherited from

GameboardBlueprintScenarioOptions.roads

scenarioId?

optional scenarioId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:222

Stable scenario id. Defaults to medieval-blueprint:&lt;seed&gt;.

scenarioMetadata?

optional scenarioMetadata?: Readonly<Record<string, string | number | boolean | null>>

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:224

Serializable metadata attached to the scenario.

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113

Deterministic seed for generation.

Inherited from

GameboardPlanOptions.seed

shape?

optional shape?: GameboardShape

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:176

Board shape to compile.

Inherited from

GameboardBlueprintOptions.shape

spawnGroups?

optional spawnGroups?: GameboardSpawnGroupOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:122

Deterministic spawn group rules for scenario actors.

Inherited from

CreateGameboardScenarioOptions.spawnGroups

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:117

Texture set applied to generated terrain.

Inherited from

GameboardPlanOptions.textureSet

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:120

Optional display title.

Inherited from

CreateGameboardScenarioOptions.title

towns?

optional towns?: number | readonly MedievalTownSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:188

Authored towns, or a count for deterministic town placement.

Inherited from

GameboardBlueprintScenarioOptions.towns

transitionPolicy?

optional transitionPolicy?: MedievalTransitionPolicy

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:198

Visual and access transition policy.

Inherited from

GameboardBlueprintOptions.transitionPolicy

waterFill?

optional waterFill?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:180

Fraction of the board reserved for water. Defaults to a southern coast.

Inherited from

GameboardBlueprintOptions.waterFill


GameboardCommandBlockedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:67

Command execution was blocked before mutation.

Properties

execution

execution: GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:71

Command execution that failed.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:73

Blocked reason.

type

type: "command-blocked"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:69

Event discriminator.


GameboardCommandHandledEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:57

Command execution completed through a handler.

Properties

execution

execution: GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:61

Command execution that was handled.

type

type: "command-handled"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:59

Event discriminator.


GameboardCommandHandlerRequiredEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:91

Command requires a host-game handler before it can mutate state.

Properties

execution

execution: GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:95

Command execution awaiting a handler.

type

type: "command-handler-required"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:93

Event discriminator.


GameboardCommandIgnoredEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:79

Command execution had no effect.

Properties

execution

execution: GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:83

Command execution that was ignored.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:85

Ignored reason.

type

type: "command-ignored"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:81

Event discriminator.


GameboardCoordinateSystem

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:107

Convenience surface for KayKit-compatible coordinate math.

Properties

distance

distance: (left, right) => number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:119

Computes axial hex distance between two coordinates.

Parameters
left

HexCoordinates

HexCoordinates

Returns

number

findPath

findPath: (start, goal, options?) => HexPathResult

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:121

Finds a path between two coordinates using the shared pathfinding helper.

Parameters
start

HexCoordinates

goal

HexCoordinates

options?

HexPathOptions

Returns

HexPathResult

fromWorld

fromWorld: (position) => HexCoordinates

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:115

Converts a world X/Z position to the nearest axial coordinate.

Parameters
position

Pick<WorldPosition, "x" | "z">

Returns

HexCoordinates

geometry

geometry: HexGeometry

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:109

Geometry used by all conversions in this coordinate system.

neighbors

neighbors: (coordinates) => HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:117

Returns the six axial neighbors around a coordinate.

Parameters
coordinates

HexCoordinates

Returns

HexCoordinates[]

rowSpacing

rowSpacing: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:111

Z-axis spacing between adjacent hex rows.

spawnLocations

spawnLocations: (options) => SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:127

Selects deterministic spawn locations and projects them into world space.

Parameters
options

SpawnLocationOptions

Returns

SpawnLocation[]

toWorld

toWorld: (coordinates, elevation?) => WorldPosition

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:113

Converts an axial coordinate and optional elevation into world space.

Parameters
coordinates

HexCoordinates

elevation?

number

Returns

WorldPosition


GameboardCoordinateSystemOptions

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:67

Options for creating a reusable coordinate conversion system.

Properties

geometry?

optional geometry?: Partial<HexGeometry>

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:69

Geometry override for non-KayKit or rescaled boards.


GameboardCoverageLinkedPath

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:97

One docs or source-image path referenced by a guide page.

Properties

path

path: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:99

Repo-relative source path.

status

status: GameboardCoverageStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:101

Availability status supplied by the caller or CLI filesystem scan.


GameboardCoverageManifestSummary

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:153

Manifest coverage summary for guide-described FREE and EXTRA assets.

Properties

edition?

optional edition?: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:155

Edition declared by the inspected manifest.

errorCount

errorCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:171

Manifest validation issue count by severity.

extraGuideAssetsInManifest

extraGuideAssetsInManifest: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:167

EXTRA guide assets found in the inspected manifest.

extraGuideAssetsLocalOnly

extraGuideAssetsLocalOnly: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:169

EXTRA guide asset ids not present in the inspected manifest.

freeGuideAssetsInManifest

freeGuideAssetsInManifest: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:163

FREE guide assets found in the inspected manifest.

freeGuideAssetsMissingFromManifest

freeGuideAssetsMissingFromManifest: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:165

FREE guide asset ids absent from the inspected manifest.

guideExtraAssetCount

guideExtraAssetCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:161

EXTRA guide assets expected to remain local-only.

guideFreeAssetCount

guideFreeAssetCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:159

FREE guide assets expected from the published package.

issues

issues: readonly MedievalHexagonManifestIssue[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:175

Manifest validation issues from schema inspection.

manifestAssetCount

manifestAssetCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:157

Total assets in the inspected manifest.

warningCount

warningCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:173

Manifest validation warning count.


GameboardCoveragePackageCheck

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:206

Package, docs, CI, or visual command captured in the coverage ledger.

Properties

command

command: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:212

Command or CI check name.

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:208

Stable check id.

label

label: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:210

Human-readable check label.

status

status: GameboardCoverageCheckStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:214

Verification status for this report.

summary?

optional summary?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:216

Optional captured output summary.


GameboardCoveragePackageCheckInput

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:220

Input used to override package gate command status.

Extends

Properties

command?

optional command?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:212

Command or CI check name.

Inherited from

GameboardCoveragePackageCheck.command

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:223

Stable check id to override.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:210

Human-readable check label.

Inherited from

GameboardCoveragePackageCheck.label

status?

optional status?: GameboardCoverageCheckStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:225

Verification status for this report.

summary?

optional summary?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:216

Optional captured output summary.

Inherited from

GameboardCoveragePackageCheck.summary


GameboardCoveragePathStatusInput

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:259

Optional path status maps supplied by the CLI or another build tool.

Properties

docs?

optional docs?: Readonly<Record<string, GameboardCoverageStatus>>

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:263

Availability status by repo-relative docs path.

sourceImages?

optional sourceImages?: Readonly<Record<string, GameboardCoverageStatus>>

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:261

Availability status by repo-relative source image path.

visualArtifacts?

optional visualArtifacts?: Readonly<Record<string, GameboardCoverageStatus>>

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:265

Availability status by repo-relative visual artifact path.


GameboardCoverageReference

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:179

Local reference pack status for optional EXTRA/reference visual coverage.

Properties

edition?

optional edition?: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:189

Optional KayKit edition represented by this reference.

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:181

Stable reference id used by docs and CLI output.

label

label: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:183

Human-readable reference pack name.

path

path: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:185

Repo-relative local path.

purpose

purpose: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:191

Why this reference exists in the release-readiness matrix.

requiredForFullReview

requiredForFullReview: boolean

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:193

Whether missing this reference should be treated as a warning.

status

status: GameboardCoverageStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:187

Availability status from the caller or CLI filesystem scan.


GameboardCoverageReferenceInput

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:197

Input used to override local reference pack statuses.

Extends

Properties

edition?

optional edition?: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:189

Optional KayKit edition represented by this reference.

Inherited from

GameboardCoverageReference.edition

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:200

Stable reference id to override.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:183

Human-readable reference pack name.

Inherited from

GameboardCoverageReference.label

path?

optional path?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:185

Repo-relative local path.

Inherited from

GameboardCoverageReference.path

purpose?

optional purpose?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:191

Why this reference exists in the release-readiness matrix.

Inherited from

GameboardCoverageReference.purpose

requiredForFullReview?

optional requiredForFullReview?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:193

Whether missing this reference should be treated as a warning.

Inherited from

GameboardCoverageReference.requiredForFullReview

status?

optional status?: GameboardCoverageStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:202

Availability status from a filesystem scan or caller-provided probe.


GameboardCoverageReport

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:285

Full release-readiness report for the package and local visual evidence.

Properties

assets

assets: readonly KayKitGuideAssetCoverage[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:303

Asset-id-level coverage for every treated FREE and EXTRA asset.

gaps

gaps: readonly CoverageGap[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:313

Machine-readable gaps that should guide release closeout.

generatedAt?

optional generatedAt?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:289

Optional ISO timestamp provided by the caller.

guide

guide: KayKitGuideCoverageSummary

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:293

Full guide scenario summary from the catalog source of truth.

manifest

manifest: GameboardCoverageManifestSummary

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:297

Manifest coverage against guide-described FREE and EXTRA assets.

packageChecks

packageChecks: readonly GameboardCoveragePackageCheck[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:309

Package, docs, visual, and release verification command status.

pages

pages: readonly GuidePageCoverage[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:295

Page-by-page guide coverage enriched with path status.

publicApi

publicApi: readonly KayKitGuidePublicApiCoverage[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:299

Inverse public API coverage from guide pages and treated assets.

references

references: readonly GameboardCoverageReference[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:307

Local reference pack availability for EXTRA and third-party visual tests.

releaseGateCommands

releaseGateCommands: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:315

Canonical command sequence for final acceptance.

roles

roles: readonly KayKitGuideRoleCoverage[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:301

Inverse public gameplay-role coverage.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:287

Report schema version.

simpleRpgEvidence?

optional simpleRpgEvidence?: GameboardCoverageSimpleRpgEvidence

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:311

Optional SimpleRPG public API proof from the packaged example fixture.

status

status: GameboardCoverageReportStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:291

Overall status derived from gaps and check status.

visualArtifacts

visualArtifacts: readonly VisualArtifactCoverage[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:305

Screenshot and showcase artifact availability.


GameboardCoverageSimpleRpgEvidence

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:229

SimpleRPG public API proof joined into the release-readiness ledger.

Properties

activeEvidenceModes

activeEvidenceModes: readonly GameboardCoverageSimpleRpgEvidenceMode[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:247

Evidence modes with at least one represented public API.

evidenceModeCounts

evidenceModeCounts: Readonly<Record<GameboardCoverageSimpleRpgEvidenceMode, number>>

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:245

Evidence-mode counts; one public API may contribute to multiple modes.

executablePublicApiCount

executablePublicApiCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:239

Number of guide-facing helper APIs directly invoked by executable smoke.

exercisedPublicApiCount

exercisedPublicApiCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:233

Number of current guide-facing public API rows represented by SimpleRPG evidence.

guidePublicApiCount

guidePublicApiCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:231

Number of guide-facing public API rows from the catalog.

guideScenarioCount

guideScenarioCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:243

Number of decomposed guide pages asserted by executable smoke.

inactiveEvidenceModes

inactiveEvidenceModes: readonly GameboardCoverageSimpleRpgEvidenceMode[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:249

Evidence modes with zero represented public APIs.

missingPublicApis

missingPublicApis: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:235

Current guide-facing public APIs with no SimpleRPG evidence.

publicApiExercises?

optional publicApiExercises?: readonly GameboardCoverageSimpleRpgEvidenceRow[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:255

Optional per-public-API proof rows. The CLI-generated release ledger includes this matrix so agents and downstream tools can trace aggregate counts back to the exact SimpleRPG exercise, guide pages, and screenshots.

publicTreatmentCount

publicTreatmentCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:241

Number of KayKit public treatment records asserted by executable smoke.

stalePublicApis

stalePublicApis: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:237

SimpleRPG evidence rows that no longer map to current guide-facing public APIs.


GameboardCoverageSimpleRpgEvidenceRow

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:65

One SimpleRPG proof row for a guide-facing public API surface.

Properties

assetCount

assetCount: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:79

Unique asset count represented by this API row.

evidence

evidence: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:73

Human-readable fixture, docs, or package proof.

mode

mode: GameboardCoverageSimpleRpgEvidenceMode

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:69

Primary evidence mode for the API.

modes

modes: readonly GameboardCoverageSimpleRpgEvidenceMode[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:71

All evidence modes that exercise this API, including the primary mode.

pages

pages: readonly number[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:75

One-based guide pages represented by this API row.

publicApi

publicApi: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:67

Public API surface from the guide/public-treatment catalog.

scenarioIds

scenarioIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:77

Guide scenario ids represented by this API row.

visualArtifacts

visualArtifacts: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:81

Visual artifacts attached to the guide scenarios behind this API row.


GameboardEcsAdapter

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:573

Adapter interface for mounting a gameboard snapshot into another ECS.

Type Parameters

TEntity

TEntity

Properties

addComponent?

optional addComponent?: (entity, componentName, componentValue, source) => void

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:577

Add a component to a host ECS entity.

Parameters
entity

TEntity

componentName

string

componentValue

unknown

source

GameboardInteropEntity

Returns

void

addRelation?

optional addRelation?: (from, to, relation) => void

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:584

Add a relation between two host ECS entities.

Parameters
from

TEntity

to

TEntity

relation

GameboardEcsRelation

Returns

void

createEntity

createEntity: (entity) => TEntity

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:575

Create a host ECS entity from an interop entity.

Parameters
entity

GameboardInteropEntity

Returns

TEntity


GameboardEcsMountResult

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:590

Result of mounting an interop snapshot into an ECS adapter.

Type Parameters

TEntity

TEntity

Properties

entitiesById

entitiesById: ReadonlyMap<string, TEntity>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:592

Mounted host entities keyed by interop entity id.

missingRelations

missingRelations: readonly GameboardEcsRelation[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:594

Relations whose source or target entities were missing.


GameboardEcsRelation

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:545

Portable relation between two interop entities.

Properties

data

data: GameboardAdjacencyRecord | GameboardPlacementTileRecord | GameboardPlacementOccupancyRecord | GameboardSpawnTileRecord | GameboardSpawnGroupLocationRecord | GameboardSpawnGroupRouteRecord | GameboardPatrolWaypointRecord | GameboardPatrolRouteSegmentRecord | GameboardActorTileRecord | GameboardActorPlacementRecord | GameboardActorPatrolRouteRecord | GameboardQuestActorReferenceRecord | GameboardQuestTileReferenceRecord | GameboardSimulationRelationRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:553

Relation payload.

fromId

fromId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:549

Source entity id.

name

name: GameboardEcsRelationName

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:547

Relation name.

toId

toId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:551

Target entity id.


GameboardEntityIndex

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:262

Entity indexes returned after loading a complete board plan.

Properties

placements

placements: Map<string, Entity>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:266

Placement entities keyed by placement id.

tiles

tiles: Map<string, Entity>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:264

Tile entities keyed by axial tile key.


GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:580

Planned high-level interaction command.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:594

Target actor id, when available.

canExecute

canExecute: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:596

Whether this command can execute without additional target resolution.

intent

intent: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:584

High-level intent that produced the command.

kind

kind: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:582

Concrete command kind.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:592

Target placement id, when available.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:598

Failure reason when canExecute is false.

source?

optional source?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:588

Optional source actor.

target

target: GameboardInteractionTargetReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:586

Target report used to plan the command.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:590

Target tile key, when available.


GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:288

Result of executing a command preview.

Properties

command

command: GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:290

Planned command that was executed or rejected.

effects?

optional effects?: readonly GameboardInteractionHandlerEffect[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:300

Flattened handler side effects.

handler?

optional handler?: GameboardInteractionHandlerResult

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:298

Handler result for handler-backed commands.

movement?

optional movement?: GameboardMovementRequestResult

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:296

Movement request created for move commands.

preview

preview: GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:292

Preview result used for execution.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:302

Reason execution was blocked, ignored, or handler-dependent.

status

status: GameboardInteractionExecutionStatus

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:294

Final execution status.


GameboardInteractionCommandExecutionOptions

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

Options for executing a command preview and optionally invoking game handlers.

Extends

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardInteractionCommandPreviewOptions.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardInteractionCommandPreviewOptions.blockingPlacementLayers

handlers?

optional handlers?: GameboardInteractionHandler | readonly GameboardInteractionHandler[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:240

Handler or handler chain for non-movement interact/attack/inspect commands.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardInteractionCommandPreviewOptions.ignorePlacementIds

movement?

optional movement?: GameboardMovementPathRequestOptions

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

Movement path options used when the command is a move request.

Inherited from

GameboardInteractionCommandPreviewOptions.movement

requireSourceActorForAttack?

optional requireSourceActorForAttack?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:572

Require a source actor before attack commands can execute.

Inherited from

GameboardInteractionCommandPreviewOptions.requireSourceActorForAttack

requireSourceActorForInteraction?

optional requireSourceActorForInteraction?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:574

Require a source actor before interaction commands can execute.

Inherited from

GameboardInteractionCommandPreviewOptions.requireSourceActorForInteraction

requireSourceActorForMove?

optional requireSourceActorForMove?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:570

Require a source actor before move commands can execute.

Inherited from

GameboardInteractionCommandPreviewOptions.requireSourceActorForMove

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216

Source actor used for hostility and collision interpretation.

Inherited from

GameboardInteractionCommandPreviewOptions.sourceActor

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardInteractionCommandPreviewOptions.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardInteractionCommandPreviewOptions.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardInteractionCommandPreviewOptions.treatPropsAsBlocking


GameboardInteractionCommandOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:568

Options for planning an interaction command from a resolved target.

Extends

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardInteractionTargetOptions.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardInteractionTargetOptions.blockingPlacementLayers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardInteractionTargetOptions.ignorePlacementIds

requireSourceActorForAttack?

optional requireSourceActorForAttack?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:572

Require a source actor before attack commands can execute.

requireSourceActorForInteraction?

optional requireSourceActorForInteraction?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:574

Require a source actor before interaction commands can execute.

requireSourceActorForMove?

optional requireSourceActorForMove?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:570

Require a source actor before move commands can execute.

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216

Source actor used for hostility and collision interpretation.

Inherited from

GameboardInteractionTargetOptions.sourceActor

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardInteractionTargetOptions.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardInteractionTargetOptions.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardInteractionTargetOptions.treatPropsAsBlocking


GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:272

Non-mutating execution preview for one interaction command.

Properties

canExecute

canExecute: boolean

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:280

Whether the command can execute under current rules.

command

command: GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:274

Planned command being previewed.

movementBudget?

optional movementBudget?: number

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:278

Movement budget used for range checks.

movementPath?

optional movementPath?: GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:276

Movement path when the command requests movement.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:282

Reason execution is unavailable.


GameboardInteractionCommandPreviewOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:228

Options for previewing an interaction command without mutating the world.

Extends

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardInteractionCommandOptions.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardInteractionCommandOptions.blockingPlacementLayers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardInteractionCommandOptions.ignorePlacementIds

movement?

optional movement?: GameboardMovementPathRequestOptions

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

Movement path options used when the command is a move request.

requireSourceActorForAttack?

optional requireSourceActorForAttack?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:572

Require a source actor before attack commands can execute.

Inherited from

GameboardInteractionCommandOptions.requireSourceActorForAttack

requireSourceActorForInteraction?

optional requireSourceActorForInteraction?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:574

Require a source actor before interaction commands can execute.

Inherited from

GameboardInteractionCommandOptions.requireSourceActorForInteraction

requireSourceActorForMove?

optional requireSourceActorForMove?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:570

Require a source actor before move commands can execute.

Inherited from

GameboardInteractionCommandOptions.requireSourceActorForMove

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216

Source actor used for hostility and collision interpretation.

Inherited from

GameboardInteractionCommandOptions.sourceActor

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardInteractionCommandOptions.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardInteractionCommandOptions.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardInteractionCommandOptions.treatPropsAsBlocking


GameboardInteractionCommandRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:233

Serializable command execution record.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:259

Target actor id, when applicable.

canExecute

canExecute: boolean

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:241

Whether the command could execute at dispatch time.

effects?

optional effects?: readonly GameboardInteractionHandlerEffect[]

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:253

Full handler side effects.

effectTypes?

optional effectTypes?: readonly ("actor-removed" | "placement-removed" | "actor-updated" | "placement-updated")[]

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:251

Side-effect type list for compact reporting.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:245

Handler id when a handler processed the command.

handlerMetadata?

optional handlerMetadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:249

Handler metadata when supplied.

handlerStatus?

optional handlerStatus?: GameboardInteractionHandlerStatus

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:247

Handler status when a handler processed the command.

intent

intent: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:237

Command intent.

kind

kind: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:235

Command kind.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:257

Target placement id, when applicable.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:243

Optional blocked or handler reason.

sourceActorId?

optional sourceActorId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:261

Source actor id, when applicable.

sourcePlacementId?

optional sourcePlacementId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:263

Source placement id, when applicable.

status

status: GameboardInteractionExecutionStatus

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:239

Execution status.

target

target: object

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:265

Resolved target summary.

actorId?

optional actorId?: string

Target actor id.

canEnter

canEnter: boolean

Whether the source can enter the target tile.

intent

intent: GameboardInteractionIntent

Target intent.

kind

kind: GameboardInteractionTargetKind

Target kind.

placementId?

optional placementId?: string

Target placement id.

tileKey?

optional tileKey?: string

Target tile key.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:255

Target tile key, when applicable.


GameboardInteractionHandlerContext

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:141

Context passed to a game-supplied command handler.

Properties

command

command: GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:145

Planned command being handled.

preview

preview: GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:147

Non-mutating execution preview used to reach this handler.

world

world: World

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:143

Live Koota world being mutated by the command.


GameboardInteractionHandlerResult

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:118

Result returned by a game-supplied interaction handler.

Properties

effects?

optional effects?: readonly GameboardInteractionHandlerEffect[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:126

Serializable side effects produced by the handler.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:120

Stable handler id used by event records and simulation reports.

metadata?

optional metadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:128

Serializable metadata copied into command event records.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:124

Optional failure or blocked reason.

status

status: GameboardInteractionHandlerStatus

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:122

Handler outcome.


GameboardInteractionTargetOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:214

Options for inspecting an interaction target.

Extends

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardActorCollisionProfile.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardActorCollisionProfile.blockingPlacementLayers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardActorCollisionProfile.ignorePlacementIds

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216

Source actor used for hostility and collision interpretation.

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatPropsAsBlocking


GameboardInteractionTargetReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:222

Resolved interaction target plus nearby placement, actor, and collision data.

Properties

actor?

optional actor?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:232

Resolved actor target.

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:236

Actors on the resolved tile.

canEnter

canEnter: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:240

Whether the source actor can enter the resolved tile.

collision?

optional collision?: GameboardActorCollisionReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:238

Actor collision report for the resolved tile.

intent

intent: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:226

Inferred interaction intent.

kind

kind: GameboardInteractionTargetKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:224

Resolved target kind.

placement?

optional placement?: object

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:230

Resolved placement target.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.

placements

placements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:234

Placements on the resolved tile.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:228

Resolved tile key, when any target is on a tile.


GameboardInteropEntity

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:82

Portable ECS-style entity with named components.

Properties

components

components: Readonly<Record<string, unknown>>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:88

Component payloads keyed by component name.

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:84

Stable entity id.

kind

kind: GameboardInteropEntityKind

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:86

Entity kind.


GameboardInteropOptions

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:448

Options for base plan interop snapshots.

Extended by

Properties

includePlacements?

optional includePlacements?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:450

Include placement entities and relations. Defaults to true.

spawnLocations?

optional spawnLocations?: Omit<SpawnLocationOptions, "shape">

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:452

Optional spawn-location generation options.


GameboardInteropRelationFilter

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:436

Filter used to select interop relations.

Properties

fromId?

optional fromId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:440

Source entity id to include.

name?

optional name?: GameboardEcsRelationName

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:438

Relation name to include.

toId?

optional toId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:442

Target entity id to include.


GameboardInteropScenarioRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:323

Scenario metadata embedded in an interop snapshot.

Properties

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:325

Scenario id.

metadata

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

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:329

Serializable scenario metadata.

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:327

Scenario title.


GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:400

Portable interop snapshot containing entities, relations, and spawn locations.

Properties

adjacency

adjacency: readonly GameboardAdjacencyRecord[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:410

Tile adjacency records.

entities

entities: readonly GameboardInteropEntity[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:408

Portable interop entities.

relations

relations: readonly GameboardEcsRelation[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:412

ECS relation records.

scenario?

optional scenario?: GameboardInteropScenarioRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:406

Optional scenario metadata.

schemaVersion

schemaVersion: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:402

Snapshot schema version.

seed

seed: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:404

Plan or scenario seed.

spawnLocations

spawnLocations: readonly SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:414

Spawn locations included in the snapshot.


GameboardInteropSnapshotIndex

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:420

Indexes for fast relation and entity lookup from an interop snapshot.

Properties

entitiesById

entitiesById: ReadonlyMap<string, GameboardInteropEntity>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:422

Entities keyed by id.

relations

relations: readonly GameboardEcsRelation[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:424

All relations.

relationsByName

relationsByName: ReadonlyMap<GameboardEcsRelationName, readonly GameboardEcsRelation[]>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:426

Relations grouped by relation name.

relationsFromId

relationsFromId: ReadonlyMap<string, readonly GameboardEcsRelation[]>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:428

Relations grouped by source id.

relationsToId

relationsToId: ReadonlyMap<string, readonly GameboardEcsRelation[]>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:430

Relations grouped by target id.


GameboardLayoutArchetype

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

Declarative placement archetype for seeded layout and fill rules.

Properties

criteria

criteria: GameboardLayoutCriteria

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

Site criteria applied by this archetype.

id

id: GameboardLayoutArchetypeId

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

Stable archetype id.

kind?

optional kind?: GameboardPlacementKind

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

Default placement kind.

label

label: string

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

Human-readable label for diagnostics and generated docs.

layer?

optional layer?: GameboardPlacementLayer

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

Default placement layer.

metadata?

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

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

Metadata merged into generated placements.

rotationSteps?

optional rotationSteps?: number | "random"

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

Default rotation behavior.


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.

Properties

allowOccupied?

optional allowOccupied?: boolean

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

Allow placement on tiles with blocking occupants.

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

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

Placement kinds that should be treated as blockers.

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

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

Placement layers that should be treated as blockers.

edgePadding?

optional edgePadding?: number

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

Number of outer rings excluded from placement.

elevation?

optional elevation?: number | readonly number[]

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

Allowed exact elevations.

excludeFootprintTerrain?

optional excludeFootprintTerrain?: GameboardTerrain | readonly GameboardTerrain[]

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

Disallowed terrain across any footprint tile.

excludeTerrain?

optional excludeTerrain?: GameboardTerrain | readonly GameboardTerrain[]

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

Disallowed origin tile terrain.

excludeTileTags?

optional excludeTileTags?: readonly string[]

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

Tile tags that must all be absent.

footprint?

optional footprint?: GameboardLayoutFootprintInput

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

Footprint required by the placement.

footprintTerrain?

optional footprintTerrain?: GameboardTerrain | readonly GameboardTerrain[]

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

Allowed terrain across all footprint tiles.

forbiddenAdjacentPlacementKind?

optional forbiddenAdjacentPlacementKind?: GameboardPlacementKind | readonly GameboardPlacementKind[]

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

Adjacent placement kinds that must be absent.

forbiddenAdjacentPlacementLayer?

optional forbiddenAdjacentPlacementLayer?: GameboardPlacementLayer | readonly GameboardPlacementLayer[]

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

Adjacent placement layers that must be absent.

forbiddenAdjacentTerrain?

optional forbiddenAdjacentTerrain?: GameboardTerrain | readonly GameboardTerrain[]

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

Adjacent terrain that must be absent.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

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

Placement ids ignored during occupancy checks.

maxDistance?

optional maxDistance?: number

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

Maximum distance from at least one maxDistanceFrom reference.

maxDistanceFrom?

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

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

Reference tiles that the site must stay near.

maxElevation?

optional maxElevation?: number

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

Maximum origin tile elevation.

maxPerTile?

optional maxPerTile?: number

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

Maximum selected slots allowed on one tile.

minDistance?

optional minDistance?: number

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

Minimum distance from every minDistanceFrom reference.

minDistanceBetween?

optional minDistanceBetween?: number

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

Minimum distance between selected sites from the same selection call.

minDistanceFrom?

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.

minElevation?

optional minElevation?: number

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

Minimum origin tile elevation.

prefer?

optional prefer?: readonly GameboardLayoutPreference[]

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

Weighted preferences used to score candidate sites.

requiredAdjacentPlacementKind?

optional requiredAdjacentPlacementKind?: GameboardPlacementKind | readonly GameboardPlacementKind[]

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

Adjacent placement kinds that must be present.

requiredAdjacentPlacementLayer?

optional requiredAdjacentPlacementLayer?: GameboardPlacementLayer | readonly GameboardPlacementLayer[]

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

Adjacent placement layers that must be present.

requiredAdjacentTerrain?

optional requiredAdjacentTerrain?: GameboardTerrain | readonly GameboardTerrain[]

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

Adjacent terrain that must be present.

requireFootprintInBounds?

optional requireFootprintInBounds?: boolean

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

Reject sites whose footprint leaves the board.

requireFootprintUnoccupied?

optional requireFootprintUnoccupied?: boolean

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

Reject sites whose footprint has blocking occupancy.

slotGroup?

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.

terrain?

optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

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

Allowed origin tile terrain.

tileTags?

optional tileTags?: readonly string[]

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

Tile tags that must all be present.


GameboardLayoutFillAnalysis

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

Analysis for a complete layout fill pass.

Properties

candidateCount

candidateCount: number

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

Sum of candidate counts across rules.

errorCount

errorCount: number

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

Total error count.

errors

errors: readonly string[]

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

All errors prefixed by rule id.

placementCount

placementCount: number

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

Number of placements selected by all rules.

ruleCount

ruleCount: number

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

Number of rules analyzed.

rules

rules: readonly GameboardLayoutFillRuleAnalysis[]

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

Per-rule analysis.

seed

seed: string

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

Seed used by the fill pass.

warningCount

warningCount: number

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

Total warning count.

warnings

warnings: readonly string[]

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

All warnings prefixed by rule id.


GameboardLayoutFillOptions

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

Options for applying several layout fill rules in sequence.

Properties

rules

rules: readonly GameboardLayoutFillRule[]

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

Ordered fill rules. Later rules see earlier generated placements.

seed?

optional seed?: string | number

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

Shared seed for deterministic fill rules.


GameboardLayoutFillRule

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

Rule for seeded layout fill across one or more assets.

Extends

Properties

archetype?

optional archetype?: GameboardLayoutArchetypeInput

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

Archetype id or inline archetype.

Inherited from

GameboardLayoutPlacementOptions.archetype

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

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

Registry used to resolve archetype.

Inherited from

GameboardLayoutPlacementOptions.archetypes

assetId?

optional assetId?: string

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

Single asset id used by the rule.

assets?

optional assets?: readonly string[]

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

Asset ids cycled deterministically across selected sites.

count?

optional count?: number

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

Explicit placement count.

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over archetype defaults.

Inherited from

GameboardLayoutPlacementOptions.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

Inherited from

SpawnGameboardPlacementOptions.elevationOffset

fill?

optional fill?: number

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

Fraction of candidate sites to fill.

id?

optional id?: string

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

Stable rule id used in diagnostics and generated ids.

idPrefix?

optional idPrefix?: string

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

Prefix used when assigning deterministic placement ids.

kind?

optional kind?: GameboardPlacementKind

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

Placement kind override.

Inherited from

GameboardLayoutPlacementOptions.kind

layer?

optional layer?: GameboardPlacementLayer

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

Placement layer override.

Inherited from

GameboardLayoutPlacementOptions.layer

maxCount?

optional maxCount?: number

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

Maximum placement count after fill/count calculation.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

Inherited from

SpawnGameboardPlacementOptions.metadata

minCount?

optional minCount?: number

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

Minimum placement count after fill/count calculation.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

Inherited from

SpawnGameboardPlacementOptions.occupancyGuard

onDiagnostics?

optional onDiagnostics?: (diagnostics) => void

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

Called when the selected site count is less than the requested count (including zero). Reports the resolved criteria and a rejection histogram so an empty result is distinguishable from "board is full". Never called when selectedCount >= requestedCount. No-op by default — absent option means zero behavior change.

Parameters
diagnostics

GameboardLayoutPlacementDiagnostics

Returns

void

Inherited from

Omit.onDiagnostics

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

Inherited from

SpawnGameboardPlacementOptions.order

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

Inherited from

SpawnGameboardPlacementOptions.positionOffset

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

Inherited from

SpawnGameboardPlacementOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation steps or deterministic random rotation.

Inherited from

Omit.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

Inherited from

SpawnGameboardPlacementOptions.scale

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

Inherited from

SpawnGameboardPlacementOptions.stackIndex

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.

Inherited from

SpawnGameboardPlacementOptions.textureSet


GameboardLayoutFillRuleAnalysis

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

Analysis for one layout fill rule.

Properties

archetypeId?

optional archetypeId?: GameboardLayoutArchetypeId

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

Resolved archetype id.

assetIds

assetIds: readonly string[]

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

Configured asset ids.

candidateCount

candidateCount: number

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

Candidate site count before target count limits.

errors

errors: readonly string[]

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

Fatal diagnostics for the rule.

id

id: string

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

Stable rule id.

kind?

optional kind?: GameboardPlacementKind

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

Resolved placement kind.

layer?

optional layer?: GameboardPlacementLayer

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

Resolved placement layer.

rejectedSiteCount

rejectedSiteCount: number

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

Rejected site count.

rejectionCounts

rejectionCounts: Readonly<Partial<Record<GameboardLayoutSiteRejectionCode, number>>>

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

Rejection counts grouped by code.

requestedCount

requestedCount: number

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

Count requested by count, fill, and min/max settings.

ruleIndex

ruleIndex: number

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

Rule index in the fill options.

selectedAssetIds

selectedAssetIds: readonly string[]

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

Asset ids selected for generated placements.

selectedCount

selectedCount: number

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

Number of placements selected by the rule.

selectedTileKeys

selectedTileKeys: readonly string[]

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

Tile keys selected by the rule.

targetCount

targetCount: number

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

Final target count after candidate limits and diagnostics.

warnings

warnings: readonly string[]

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

Non-fatal diagnostics for the rule.


GameboardLayoutPlacementDiagnostics

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

Diagnostics reported when a single-placement layout call finds fewer candidate sites than requested (including zero). Surfaces the fully resolved criteria (post archetype merge) so archetype-inherited fields the caller never set — e.g. the landmark archetype's edgePadding: 1 — are visible instead of silently emptying the candidate set.

Properties

archetypeId?

optional archetypeId?: GameboardLayoutArchetypeId

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

Archetype id used to resolve defaults, if any.

candidateCount

candidateCount: number

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

Number of candidate sites that satisfied criteria, before count limits.

rejectedCount

rejectedCount: number

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

Number of rejected sites.

rejectionCounts

rejectionCounts: Readonly<Partial<Record<GameboardLayoutSiteRejectionCode, number>>>

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

Rejection counts grouped by code — names which filter emptied the set.

requestedCount

requestedCount: number

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

Number of placements requested via count.

resolvedCriteria

resolvedCriteria: GameboardLayoutCriteria

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

Fully resolved criteria used for site selection, i.e. archetype defaults merged with caller-supplied overrides via mergeLayoutCriteria. Fields present here but absent from the caller's criteria were inherited from the archetype.

seed

seed: string

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

Seed used for deterministic tie-breaking.

selectedCount

selectedCount: number

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

Number of placements actually selected.


GameboardLayoutPlacementOptions

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

Options for creating placement specs from selected layout sites.

Extends

Properties

archetype?

optional archetype?: GameboardLayoutArchetypeInput

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

Archetype id or inline archetype.

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

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

Registry used to resolve archetype.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:302

Manifest or external registry asset id to render.

Inherited from

SpawnGameboardPlacementOptions.assetId

count?

optional count?: number

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

Number of placements to create.

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over archetype defaults.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

Inherited from

SpawnGameboardPlacementOptions.elevationOffset

idPrefix?

optional idPrefix?: string

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

Prefix used when assigning deterministic placement ids.

kind?

optional kind?: GameboardPlacementKind

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

Placement kind override.

layer?

optional layer?: GameboardPlacementLayer

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

Placement layer override.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

Inherited from

SpawnGameboardPlacementOptions.metadata

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

Inherited from

SpawnGameboardPlacementOptions.occupancyGuard

onDiagnostics?

optional onDiagnostics?: (diagnostics) => void

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

Called when the selected site count is less than the requested count (including zero). Reports the resolved criteria and a rejection histogram so an empty result is distinguishable from "board is full". Never called when selectedCount >= requestedCount. No-op by default — absent option means zero behavior change.

Parameters
diagnostics

GameboardLayoutPlacementDiagnostics

Returns

void

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

Inherited from

SpawnGameboardPlacementOptions.order

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

Inherited from

SpawnGameboardPlacementOptions.positionOffset

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

Inherited from

SpawnGameboardPlacementOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation steps or deterministic random rotation.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

Inherited from

SpawnGameboardPlacementOptions.scale

seed?

optional seed?: string | number

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

Seed used for site selection and random rotation.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

Inherited from

SpawnGameboardPlacementOptions.stackIndex

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.

Inherited from

SpawnGameboardPlacementOptions.textureSet


GameboardLayoutRejectedSite

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

Rejected tile with full diagnostics.

Properties

coordinates

coordinates: HexCoordinates

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

Rejected tile coordinates.

footprintKeys

footprintKeys: readonly string[]

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

Tile keys covered by the requested footprint.

footprintPlacements

footprintPlacements: readonly GameboardPlacementSpec[]

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

Placements on any footprint tile.

key

key: string

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

Rejected tile key.

occupied

occupied: boolean

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

Whether blocking occupancy contributed to the rejection.

placements

placements: readonly GameboardPlacementSpec[]

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

Placements on the rejected origin tile.

rejections

rejections: readonly GameboardLayoutSiteRejection[]

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

Rejection diagnostics.

tile

tile: GameboardTileSpec

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

Tile rejected for placement.


GameboardLayoutSite

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

Candidate or selected placement site.

Properties

coordinates

coordinates: HexCoordinates

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

Tile coordinates selected for placement.

footprintKeys

footprintKeys: readonly string[]

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

Tile keys covered by the placement footprint.

footprintPlacements

footprintPlacements: readonly GameboardPlacementSpec[]

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

Placements on any footprint tile.

footprintTiles

footprintTiles: readonly GameboardTileSpec[]

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

Tiles covered by the placement footprint.

key

key: string

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

Tile key selected for placement.

occupied

occupied: boolean

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

Whether the tile has blocking occupants.

placements

placements: readonly GameboardPlacementSpec[]

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

Placements on the origin tile.

position

position: WorldPosition

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

World position at the tile/elevation anchor.

reasons

reasons: readonly string[]

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

Score reasons used for diagnostics.

score

score: number

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

Weighted score used to sort candidates.

slotIndex

slotIndex: number

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

Slot index chosen on the tile.

tile

tile: GameboardTileSpec

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

Tile selected for placement.

usedSlotIndexes

usedSlotIndexes: readonly number[]

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

Slot indexes already occupied before selection.


GameboardLayoutSiteInspection

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

Candidate, selection, and rejection report for layout criteria.

Properties

candidateCount

candidateCount: number

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

Number of candidate sites that satisfied criteria.

candidates

candidates: readonly GameboardLayoutSite[]

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

Candidate sites sorted by score.

rejected

rejected: readonly GameboardLayoutRejectedSite[]

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

Rejected sites with diagnostics.

rejectedCount

rejectedCount: number

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

Number of rejected sites.

rejectionCounts

rejectionCounts: Readonly<Partial<Record<GameboardLayoutSiteRejectionCode, number>>>

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

Rejection counts grouped by code.

seed

seed: string

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

Seed used for deterministic tie-breaking.

selected

selected: readonly GameboardLayoutSite[]

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

Selected sites.

selectedCount

selectedCount: number

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

Number of selected sites returned.


GameboardLayoutSiteRejection

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

Diagnostic for one rejected layout site.

Properties

code

code: GameboardLayoutSiteRejectionCode

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

Machine-readable rejection code.

message

message: string

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

Human-readable rejection message.


GameboardMovementAdvanceResult

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:133

Result returned after advancing movement.

Properties

entity

entity: Entity

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:135

Movement agent entity.

moved

moved: boolean

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:143

Whether the placement moved during this advance call.

placement

placement: object

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:137

Placement state after advancement.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.

profile

profile: GameboardMovementProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:139

Resolved movement profile.

state

state: object

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:141

Movement path state after advancement.

cost

cost: number = 0

Total planned path cost.

destinationKey

destinationKey: string = ''

Destination tile key for the current request.

nextIndex

nextIndex: number = 0

Next path index to advance to.

pathKeys

pathKeys: string[]

Planned path tile keys.

reason

reason: string | undefined

Blocked or out-of-range reason.

spentCost

spentCost: number = 0

Cost spent so far.

status

status: GameboardMovementStatus

Current movement status.

visited

visited: number = 0

Number of pathfinder nodes visited for the request.


GameboardMovementBlockedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:163

Movement system could not advance a path.

Properties

movement

movement: GameboardMovementAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:167

Movement advancement result.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:169

Blocked reason.

type

type: "movement-blocked"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:165

Event discriminator.


GameboardMovementCompletedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:153

Movement system completed a path.

Properties

movement

movement: GameboardMovementAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:157

Movement advancement result.

type

type: "movement-completed"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:155

Event discriminator.


GameboardMovementEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:284

Serializable movement event record.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:288

Actor id when the moved placement is actor-backed.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:292

Placement asset id.

moved

moved: boolean

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:296

Whether the placement moved during this event.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:286

Placement id being moved.

profileId

profileId: GameboardMovementProfileId

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:294

Movement profile id used for the move.

state

state: object

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:298

Snapshot of the path state.

cost

cost: number = 0

Total planned path cost.

destinationKey

destinationKey: string = ''

Destination tile key for the current request.

nextIndex

nextIndex: number = 0

Next path index to advance to.

pathKeys

pathKeys: string[]

Planned path tile keys.

reason

reason: string | undefined

Blocked or out-of-range reason.

spentCost

spentCost: number = 0

Cost spent so far.

status

status: GameboardMovementStatus

Current movement status.

visited

visited: number = 0

Number of pathfinder nodes visited for the request.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:290

Current tile key for the moved placement.


GameboardMovementOptions

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:77

Shared options for actor/placement movement helpers.

Extended by

Properties

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85

Placement ids ignored during pathing.

movementBudget?

optional movementBudget?: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83

Movement budget override.

optional navigation?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:87

Navigation profile overrides merged over the movement profile.

profile?

optional profile?: GameboardMovementProfileInput

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79

Movement profile id or inline profile.

profiles?

optional profiles?: GameboardMovementProfileRegistry

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:81

Registry used to resolve profile ids.


GameboardMovementPathRequestOptions

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:101

Options for requesting a path for a movement agent.

Extends

Properties

allowOutOfRangePath?

optional allowOutOfRangePath?: boolean

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:103

Keep a found path even when it exceeds the current budget.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85

Placement ids ignored during pathing.

Inherited from

GameboardMovementOptions.ignorePlacementIds

movementBudget?

optional movementBudget?: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83

Movement budget override.

Inherited from

GameboardMovementOptions.movementBudget

optional navigation?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:87

Navigation profile overrides merged over the movement profile.

Inherited from

GameboardMovementOptions.navigation

profile?

optional profile?: GameboardMovementProfileInput

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79

Movement profile id or inline profile.

Inherited from

GameboardMovementOptions.profile

profiles?

optional profiles?: GameboardMovementProfileRegistry

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:81

Registry used to resolve profile ids.

Inherited from

GameboardMovementOptions.profiles


GameboardMovementProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:50

Movement profile combining a movement budget with a navigation profile.

Properties

id

id: GameboardMovementProfileId

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:52

Stable profile id.

label

label: string

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:54

Human-readable label.

movementBudget

movementBudget: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:56

Default movement budget for one movement cycle.

navigation: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:58

Navigation profile used by this movement profile.


GameboardMovementProfileRegistry

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:69

Movement profiles keyed by id.

Indexable

[profileId: string]: GameboardMovementProfile

Movement profile for the profile id key.


GameboardMovementRequestedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:47

Command execution requested a movement path.

Properties

execution

execution: GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:51

Command execution that produced the movement request.

type

type: "movement-requested"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:49

Event discriminator.


GameboardMovementRequestResult

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:117

Result returned after requesting movement.

Properties

entity

entity: Entity

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:119

Movement agent entity.

path

path: GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:125

Planned path.

placement

placement: object

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:121

Placement state after the request.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.

profile

profile: GameboardMovementProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:123

Resolved movement profile.

state

state: object

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:127

Movement path state written to the entity.

cost

cost: number = 0

Total planned path cost.

destinationKey

destinationKey: string = ''

Destination tile key for the current request.

nextIndex

nextIndex: number = 0

Next path index to advance to.

pathKeys

pathKeys: string[]

Planned path tile keys.

reason

reason: string | undefined

Blocked or out-of-range reason.

spentCost

spentCost: number = 0

Cost spent so far.

status

status: GameboardMovementStatus

Current movement status.

visited

visited: number = 0

Number of pathfinder nodes visited for the request.


GameboardMovementSteppedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:143

Movement system advanced a placement along a path.

Properties

movement

movement: GameboardMovementAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:147

Movement advancement result.

type

type: "movement-stepped"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:145

Event discriminator.


GameboardNavigation

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:109

Reusable navigation facade for one plan/profile pair.

Properties

canEnter

canEnter: (coordinates, from?) => boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:125

Return whether a tile can be entered from an optional source tile.

Parameters
coordinates

string | HexCoordinates

from?

string | HexCoordinates

Returns

boolean

findPath

findPath: (start, goal) => GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:131

Find a path between two tiles.

Parameters
start

string | HexCoordinates

goal

string | HexCoordinates

Returns

GameboardNavigationPathResult

isBlocked

isBlocked: (coordinates) => boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:123

Return whether a tile key or coordinates are blocked.

Parameters
coordinates

string | HexCoordinates

Returns

boolean

movementCost

movementCost: (from, to) => number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:127

Calculate movement cost between adjacent tiles.

Parameters
from

string | HexCoordinates

to

string | HexCoordinates

Returns

number

neighbors

neighbors: (coordinates) => GameboardTileSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:129

Return neighboring tiles inside the board.

Parameters
coordinates

string | HexCoordinates

Returns

GameboardTileSpec[]

occupancy

occupancy: GameboardOccupancyIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:117

Occupancy lookup for the plan/profile pair.

placementsAt

placementsAt: (coordinates) => readonly GameboardPlacementSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:121

Read placements occupying a tile.

Parameters
coordinates

string | HexCoordinates

Returns

readonly GameboardPlacementSpec[]

plan

plan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:111

Board plan being navigated.

profile

profile: RequiredGameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:113

Normalized required navigation profile.

reachable

reachable: (start, movementBudget) => GameboardReachableTile[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:136

Return tiles reachable from a start tile within a movement budget.

Parameters
start

string | HexCoordinates

movementBudget

number

Returns

GameboardReachableTile[]

tileAt

tileAt: (coordinates) => GameboardTileSpec | undefined

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:119

Resolve a tile from coordinates or tile key.

Parameters
coordinates

string | HexCoordinates

Returns

GameboardTileSpec | undefined

tilesByKey

tilesByKey: ReadonlyMap<string, GameboardTileSpec>

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:115

Tile lookup by tile key.


GameboardNavigationContext

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:83

Context passed to custom navigation profile hooks.

Properties

from?

optional from?: GameboardTileSpec

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:87

Source tile for this movement step, when known.

placements

placements: readonly GameboardPlacementSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:91

Placements occupying the destination tile.

plan

plan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:85

Board plan being navigated.

to

to: GameboardTileSpec

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:89

Destination tile being evaluated.


GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:170

Pathfinding result between two tiles.

Properties

coordinates

coordinates: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:176

Coordinates along the route.

cost

cost: number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:178

Total route cost.

found

found: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:172

Whether a route was found.

path

path: readonly GameboardTileSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:174

Tile specs along the route.

visited

visited: number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:180

Number of nodes visited by the pathfinder.


GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:55

Pathfinding profile for terrain, elevation, occupancy, and custom movement rules.

Properties

allowedTerrain?

optional allowedTerrain?: readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:57

Terrain values the profile may enter. Undefined means all except blocked terrain.

allowGoalBlocked?

optional allowGoalBlocked?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:73

Whether the goal tile may be blocked.

allowStartBlocked?

optional allowStartBlocked?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:71

Whether the start tile may be blocked.

blockedTerrain?

optional blockedTerrain?: readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:59

Terrain values the profile may not enter.

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:63

Placement kinds that block movement.

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:65

Placement layers that block movement.

canEnter?

optional canEnter?: (tile, context) => boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:75

Optional custom tile-entry predicate.

Parameters
tile

GameboardTileSpec

context

GameboardNavigationContext

Returns

boolean

cost?

optional cost?: (from, to, baseCost) => number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:77

Optional custom movement-cost function.

Parameters
from

GameboardTileSpec

to

GameboardTileSpec

baseCost

number

Returns

number

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:67

Placement ids ignored by occupancy checks.

maxElevationStep?

optional maxElevationStep?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:69

Maximum allowed elevation change between adjacent tiles.

terrainCosts?

optional terrainCosts?: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:61

Additional movement costs by terrain value.


GameboardNeighborhoodInspection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:345

Actor-aware inspection for a ring or radius around a center tile.

Properties

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:355

Unique actors found in matching tiles.

blockingTileKeys

blockingTileKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:367

Tile keys with blocking placements.

center

center: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:347

Resolved center coordinates.

centerKey

centerKey: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:349

Resolved center tile key.

enterableTileKeys

enterableTileKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:363

Tile keys that can be entered.

hostileActors

hostileActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:357

Unique hostile actors found in matching tiles.

interactiveActors

interactiveActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:359

Unique interactive actors found in matching tiles.

occupiedTileKeys

occupiedTileKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:365

Tile keys with gameplay occupancy.

propActors

propActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:361

Unique prop actors found in matching tiles.

radius

radius: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:351

Normalized inspection radius.

tiles

tiles: readonly GameboardNeighborhoodTileInspection[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:353

Matching tile inspections sorted by distance and tile key.


GameboardNeighborhoodInspectionOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:309

Filters and options for actor-aware neighborhood inspection.

Extends

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardTileInspectionOptions.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardTileInspectionOptions.blockingPlacementLayers

canEnter?

optional canEnter?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:323

Filter by enterable state.

excludeTileTags?

optional excludeTileTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:321

Tile tags that must be absent.

hasActors?

optional hasActors?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:325

Filter by actor presence.

hasHostiles?

optional hasHostiles?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:327

Filter by hostile actor presence.

hasInteractive?

optional hasInteractive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:329

Filter by interactive actor presence.

hasProps?

optional hasProps?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:331

Filter by prop actor presence.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardTileInspectionOptions.ignorePlacementIds

includeCenter?

optional includeCenter?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:313

Include the center tile in results. Defaults to true.

includeMissing?

optional includeMissing?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:315

Include missing tiles in results. Defaults to false.

radius?

optional radius?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:311

Hex radius around the center. Defaults to 1.

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:248

Source actor used for collision interpretation.

Inherited from

GameboardTileInspectionOptions.sourceActor

terrain?

optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:317

Required terrain or accepted terrains.

tileTags?

optional tileTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:319

Required tile tags.

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardTileInspectionOptions.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardTileInspectionOptions.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardTileInspectionOptions.treatPropsAsBlocking


GameboardNeighborhoodTileInspection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:337

Tile inspection with distance from the inspected neighborhood center.

Extends

Properties

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:274

Actor placements on the tile.

Inherited from

GameboardTileInspection.actors

blockingPlacements

blockingPlacements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:282

Placements that block movement onto the tile.

Inherited from

GameboardTileInspection.blockingPlacements

canEnter

canEnter: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:286

Whether the tile exists and can be entered.

Inherited from

GameboardTileInspection.canEnter

collision

collision: GameboardActorCollisionReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:284

Full collision report for the tile.

Inherited from

GameboardTileInspection.collision

coordinates?

optional coordinates?: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:262

Axial coordinates, when the tile exists.

Inherited from

GameboardTileInspection.coordinates

distance

distance: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:339

Hex distance from the neighborhood center.

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:266

Tile elevation, when the tile exists.

Inherited from

GameboardTileInspection.elevation

exists

exists: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:256

Whether the tile exists in the board.

Inherited from

GameboardTileInspection.exists

hasActors

hasActors: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:290

Whether any actors occupy the tile.

Inherited from

GameboardTileInspection.hasActors

hasHostiles

hasHostiles: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:292

Whether any hostile actors occupy the tile.

Inherited from

GameboardTileInspection.hasHostiles

hasInteractive

hasInteractive: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:294

Whether any interactive actors occupy the tile.

Inherited from

GameboardTileInspection.hasInteractive

hasProps

hasProps: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:296

Whether any prop actors occupy the tile.

Inherited from

GameboardTileInspection.hasProps

hostileActors

hostileActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:276

Hostile actors on the tile.

Inherited from

GameboardTileInspection.hostileActors

interactiveActors

interactiveActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:278

Interactive actors on the tile.

Inherited from

GameboardTileInspection.interactiveActors

isEmpty

isEmpty: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:288

Whether no placements occupy the tile.

Inherited from

GameboardTileInspection.isEmpty

occupancy

occupancy: readonly PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:272

Occupancy relation records for the tile.

Inherited from

GameboardTileInspection.occupancy

placements

placements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:270

Placements occupying the tile.

Inherited from

GameboardTileInspection.placements

propActors

propActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:280

Prop actors on the tile.

Inherited from

GameboardTileInspection.propActors

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:298

Missing or blocked reason.

Inherited from

GameboardTileInspection.reason

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:268

Tile tags, or an empty list for missing tiles.

Inherited from

GameboardTileInspection.tags

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:264

Tile terrain, when the tile exists.

Inherited from

GameboardTileInspection.terrain

tile?

optional tile?: object

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:260

Tile trait value, when the tile exists.

baseAssetId

baseAssetId: string = ''

Asset id for the visible tile top.

coastEdges

coastEdges: number = 0

Six-edge bitmask for coast connectivity.

coastWaterless

coastWaterless: boolean = false

Whether this coast tile uses the waterless guide variant.

coordinates

coordinates: HexCoordinates

Axial tile coordinates.

elevation

elevation: number = 0

Stacked elevation level for the tile top.

key

key: string = ''

Stable axial key in q,r form.

riverCrossing

riverCrossing: "A" | "B" | undefined

River crossing variant, when present.

riverCurvy

riverCurvy: boolean = false

Whether this river tile uses the curvy guide variant.

riverEdges

riverEdges: number = 0

Six-edge bitmask for river connectivity.

riverWaterless

riverWaterless: boolean = false

Whether this river tile uses the waterless guide variant.

roadEdges

roadEdges: number = 0

Six-edge bitmask for road connectivity.

roadSlope

roadSlope: "high" | "low" | undefined

Road slope variant when a road changes elevation.

supportAssetId

supportAssetId: string = ''

Optional asset id for the vertical support below elevated tiles.

tags

tags: string[]

Free-form taxonomy and generation tags.

terrain

terrain: GameboardTerrain

Primary terrain biome represented by this tile.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this tile.

Inherited from

GameboardTileInspection.tile

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:258

Inspected tile key.

Inherited from

GameboardTileInspection.tileKey


GameboardOccupancyIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:97

Occupancy index used by navigation and spawn planning.

Properties

blockingTileKeys

blockingTileKeys: ReadonlySet<string>

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:103

Tile keys occupied by blocking placement footprints.

byTileKey

byTileKey: ReadonlyMap<string, readonly GameboardPlacementSpec[]>

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:99

Placements grouped by occupied tile key.

occupiedTileKeys

occupiedTileKeys: ReadonlySet<string>

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:101

Tile keys occupied by any placement footprint.


GameboardPatrolAdvanceResult

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:101

Result returned after advancing a patrol agent.

Extends

Properties

actor?

optional actor?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:91

Actor snapshot when the patrol placement is registered as an actor.

Inherited from

GameboardPatrolSnapshot.actor

advanced

advanced: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:109

Whether this advance call completed a waypoint transition.

agent

agent: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:93

Patrol agent trait value.

active

active: boolean = true

Whether the patrol agent is active.

currentWaypointIndex

currentWaypointIndex: number = 0

Current waypoint index.

loop

loop: boolean = true

Whether the route loops back to the first waypoint.

pauseTicks

pauseTicks: number = 0

Ticks to wait after reaching each waypoint.

roundsCompleted

roundsCompleted: number = 0

Number of completed route rounds.

routeId

routeId: string = ''

Route id followed by this patrol.

segmentCosts

segmentCosts: number[]

Optional movement budget per route segment.

targetWaypointIndex

targetWaypointIndex: number = -1

Target waypoint index for an in-flight segment.

waitTicksRemaining

waitTicksRemaining: number = 0

Remaining wait ticks before the next segment.

waypointKeys

waypointKeys: string[]

Ordered route waypoint tile keys.

Inherited from

GameboardPatrolSnapshot.agent

entity

entity: Entity

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:87

Live Koota entity.

Inherited from

GameboardPatrolSnapshot.entity

movement?

optional movement?: GameboardMovementRequestResult

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:105

Movement request produced during advancement.

placement

placement: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:89

Placement state associated with the patrol.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.

Inherited from

GameboardPatrolSnapshot.placement

previousState

previousState: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:103

Patrol state before advancement.

lastPathKeys

lastPathKeys: string[]

Last requested movement path tile keys.

reason

reason: string | undefined

Blocked or paused reason.

status

status: GameboardPatrolStatus

Current patrol status.

targetKey

targetKey: string = ''

Current target waypoint tile key.

requested

requested: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:107

Whether this advance call requested a new movement segment.

state

state: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:95

Patrol state trait value.

lastPathKeys

lastPathKeys: string[]

Last requested movement path tile keys.

reason

reason: string | undefined

Blocked or paused reason.

status

status: GameboardPatrolStatus

Current patrol status.

targetKey

targetKey: string = ''

Current target waypoint tile key.

Inherited from

GameboardPatrolSnapshot.state


GameboardPatrolBlockedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:131

Patrol agent could not advance.

Properties

patrol

patrol: GameboardPatrolAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:135

Patrol advancement result.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:137

Blocked reason.

type

type: "patrol-blocked"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:133

Event discriminator.


GameboardPatrolCompletedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:121

Patrol agent completed its route or configured rounds.

Properties

patrol

patrol: GameboardPatrolAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:125

Patrol advancement result.

type

type: "patrol-completed"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:123

Event discriminator.


GameboardPatrolEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:304

Serializable patrol event record.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:308

Actor id when the patrol placement is actor-backed.

advanced

advanced: boolean

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:324

Whether the patrol pointer advanced.

currentWaypointIndex

currentWaypointIndex: number

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:316

Current waypoint index.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:306

Placement id controlled by the patrol agent.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:326

Optional patrol blocked/waiting reason.

requested

requested: boolean

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:322

Whether movement was requested.

roundsCompleted

roundsCompleted: number

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:320

Completed route rounds.

routeId

routeId: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:310

Patrol route id.

status

status: GameboardPatrolStatus

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:312

Patrol status after advancement.

targetKey?

optional targetKey?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:314

Current target waypoint tile key.

targetWaypointIndex

targetWaypointIndex: number

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:318

Target waypoint index.


GameboardPatrolMoveRequestedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:101

Patrol system requested movement for a patrol agent.

Properties

patrol

patrol: GameboardPatrolAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:105

Patrol advancement result.

type

type: "patrol-move-requested"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:103

Event discriminator.


GameboardPatrolRouteInput

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:41

Lightweight patrol route input accepted by patrol agents.

Properties

id

id: string

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:43

Stable route id.

loop?

optional loop?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:47

Whether the route loops back to the first waypoint.

segmentCosts?

optional segmentCosts?: readonly number[]

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:49

Optional movement budget per route segment.

waypointKeys

waypointKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:45

Ordered waypoint tile keys.


GameboardPatrolRouteRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:193

Interop record for one patrol route.

Properties

cost

cost: number

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

Total route cost.

errors

errors: readonly string[]

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

Fatal route diagnostics.

found

found: boolean

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

Whether all required route segments were found.

loop

loop: boolean

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

Whether the route loops.

pathKeys

pathKeys: readonly string[]

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

Combined path tile keys.

requestedWaypointCount

requestedWaypointCount: number

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

Requested waypoint count.

routeId

routeId: string

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

Patrol route id.

selectedWaypointCount

selectedWaypointCount: number

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

Selected waypoint count.

visited

visited: number

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

Total pathfinder visits.

warnings

warnings: readonly string[]

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

Non-fatal route diagnostics.


GameboardPatrolRouteSegmentRecord

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

Interop record for one patrol route segment.

Extends

Properties

cost

cost: number

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:61

Segment path cost.

Inherited from

GameboardPatrolRouteSegment.cost

found

found: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:57

Whether this segment was found.

Inherited from

GameboardPatrolRouteSegment.found

fromIndex

fromIndex: number

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:49

Source waypoint index.

Inherited from

GameboardPatrolRouteSegment.fromIndex

fromKey?

optional fromKey?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:53

Source tile key.

Inherited from

GameboardPatrolRouteSegment.fromKey

pathKeys

pathKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:59

Path tile keys for this segment.

Inherited from

GameboardPatrolRouteSegment.pathKeys

routeId

routeId: string

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

Patrol route id.

segmentId

segmentId: string

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

Segment entity id.

toIndex

toIndex: number

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:51

Target waypoint index.

Inherited from

GameboardPatrolRouteSegment.toIndex

toKey?

optional toKey?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:55

Target tile key.

Inherited from

GameboardPatrolRouteSegment.toKey

visited

visited: number

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:63

Number of nodes visited by the pathfinder.

Inherited from

GameboardPatrolRouteSegment.visited


GameboardPatrolSimulationActorAssignment

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:606

Assignment for turning one patrol route into simulation command steps.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:610

Actor id that should follow the route.

command?

optional command?: Omit<RunGameboardInteractionOptions, "sourceActor" | "systems">

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:618

Command options for generated movement commands.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:616

Base label for generated steps.

movement?

optional movement?: GameboardMovementPathRequestOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:620

Movement path options for generated movement commands.

rounds?

optional rounds?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:612

Number of route rounds to emit.

routeId

routeId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:608

Patrol route id to execute.

stepIdPrefix?

optional stepIdPrefix?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:614

Prefix for generated step ids.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:622

Systems to run after generated movement commands, or false to skip.


GameboardPatrolSimulationAssignmentPlan

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:640

Report for one patrol simulation assignment.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:644

Actor id.

errorCount

errorCount: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:652

Error count.

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:656

Assignment errors.

roundCount

roundCount: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:646

Number of route rounds emitted.

routeId

routeId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:642

Patrol route id.

stepCount

stepCount: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:648

Number of command steps emitted.

warningCount

warningCount: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:650

Warning count.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:654

Assignment warnings.


GameboardPatrolSimulationScriptPlan

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:697

Generated simulation script plus assignment diagnostics.

Extends

Properties

assignments

assignments: readonly GameboardPatrolSimulationAssignmentPlan[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:666

Assignment diagnostics.

Inherited from

GameboardPatrolSimulationStepsPlan.assignments

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:672

Plan-level errors.

Inherited from

GameboardPatrolSimulationStepsPlan.errors

script

script: GameboardScenarioSimulationScript

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:699

Generated simulation script.

stepCount

stepCount: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:664

Total generated step count.

Inherited from

GameboardPatrolSimulationStepsPlan.stepCount

steps

steps: readonly GameboardScenarioSimulationCommandStep[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:668

Generated command steps.

Inherited from

GameboardPatrolSimulationStepsPlan.steps

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:670

Plan-level warnings.

Inherited from

GameboardPatrolSimulationStepsPlan.warnings


GameboardPatrolSimulationStepsPlan

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:662

Generated simulation command steps plus assignment diagnostics.

Extended by

Properties

assignments

assignments: readonly GameboardPatrolSimulationAssignmentPlan[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:666

Assignment diagnostics.

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:672

Plan-level errors.

stepCount

stepCount: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:664

Total generated step count.

steps

steps: readonly GameboardScenarioSimulationCommandStep[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:668

Generated command steps.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:670

Plan-level warnings.


GameboardPatrolSnapshot

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:85

Joined runtime snapshot for a patrol agent.

Extended by

Properties

actor?

optional actor?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:91

Actor snapshot when the patrol placement is registered as an actor.

agent

agent: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:93

Patrol agent trait value.

active

active: boolean = true

Whether the patrol agent is active.

currentWaypointIndex

currentWaypointIndex: number = 0

Current waypoint index.

loop

loop: boolean = true

Whether the route loops back to the first waypoint.

pauseTicks

pauseTicks: number = 0

Ticks to wait after reaching each waypoint.

roundsCompleted

roundsCompleted: number = 0

Number of completed route rounds.

routeId

routeId: string = ''

Route id followed by this patrol.

segmentCosts

segmentCosts: number[]

Optional movement budget per route segment.

targetWaypointIndex

targetWaypointIndex: number = -1

Target waypoint index for an in-flight segment.

waitTicksRemaining

waitTicksRemaining: number = 0

Remaining wait ticks before the next segment.

waypointKeys

waypointKeys: string[]

Ordered route waypoint tile keys.

entity

entity: Entity

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:87

Live Koota entity.

placement

placement: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:89

Placement state associated with the patrol.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.

state

state: object

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:95

Patrol state trait value.

lastPathKeys

lastPathKeys: string[]

Last requested movement path tile keys.

reason

reason: string | undefined

Blocked or paused reason.

status

status: GameboardPatrolStatus

Current patrol status.

targetKey

targetKey: string = ''

Current target waypoint tile key.


GameboardPatrolWaitingEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:111

Patrol agent entered or remained in a waiting state.

Properties

patrol

patrol: GameboardPatrolAdvanceResult

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:115

Patrol advancement result.

type

type: "patrol-waiting"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:113

Event discriminator.


GameboardPatrolWaypointRecord

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

Interop record for one patrol waypoint.

Properties

coordinates

coordinates: HexCoordinates

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

Waypoint tile coordinates.

index

index: number

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

Waypoint index in route order.

routeId

routeId: string

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

Patrol route id.

source

source: GameboardPatrolWaypointSource

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

Source used to create the waypoint.

spawnGroupId?

optional spawnGroupId?: string

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

Spawn group id when sourced from a group.

spawnLocationIndex?

optional spawnLocationIndex?: number

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

Spawn location index when sourced from a group.

tileKey

tileKey: string

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

Waypoint tile key.

waypointId

waypointId: string

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

Waypoint entity id.


GameboardPieceCollectionLayoutRuleOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:273

Overrides used when turning a compatible piece collection into one fill rule.

Extends

Properties

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:261

Archetype registry used by layout.

Inherited from

GameboardPieceLayoutRuleOptions.archetypes

count?

optional count?: number

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

Explicit placement count.

Inherited from

GameboardPieceLayoutRuleOptions.count

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over piece defaults.

Inherited from

GameboardPieceLayoutRuleOptions.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259

Vertical offset override.

Inherited from

GameboardPieceLayoutRuleOptions.elevationOffset

fill?

optional fill?: number

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

Fraction of candidate sites to fill.

Inherited from

GameboardPieceLayoutRuleOptions.fill

id?

optional id?: string

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

Fill rule id.

Inherited from

GameboardPieceLayoutRuleOptions.id

idPrefix?

optional idPrefix?: string

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

Prefix used for generated placement ids.

Inherited from

GameboardPieceLayoutRuleOptions.idPrefix

maxCount?

optional maxCount?: number

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

Maximum placement count.

Inherited from

GameboardPieceLayoutRuleOptions.maxCount

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:267

Metadata merged over piece metadata.

Inherited from

GameboardPieceLayoutRuleOptions.metadata

minCount?

optional minCount?: number

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

Minimum placement count.

Inherited from

GameboardPieceLayoutRuleOptions.minCount

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265

Optional occupancy guard for spawned placements.

Inherited from

GameboardPieceLayoutRuleOptions.occupancyGuard

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263

Local-only asset override.

Inherited from

GameboardPieceLayoutRuleOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation override.

Inherited from

GameboardPieceLayoutRuleOptions.rotationSteps

scale?

optional scale?: number

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

Uniform render scale override.

Inherited from

GameboardPieceLayoutRuleOptions.scale


GameboardPieceCompatibilityBatchOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:85

Batch options for declaring pieces from compatibility reports.

Extends

Properties

archetype?

optional archetype?: GameboardLayoutArchetypeInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:51

Layout archetype id or inline archetype.

Inherited from

GameboardPieceDeclarationInput.archetype

assetIdPrefix?

optional assetIdPrefix?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:90

Prefix added to generated asset ids.

criteria?

optional criteria?: GameboardLayoutCriteria

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:59

Layout criteria for selecting valid sites.

Inherited from

GameboardPieceDeclarationInput.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:65

Vertical offset above the tile elevation.

Inherited from

GameboardPieceDeclarationInput.elevationOffset

footprint?

optional footprint?: GameboardLayoutFootprintInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:57

Placement footprint.

Inherited from

GameboardPieceDeclarationInput.footprint

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:53

Placement kind override.

Inherited from

GameboardPieceDeclarationInput.kind

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:45

Human-readable label. Defaults from id.

Inherited from

GameboardPieceDeclarationInput.label

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:55

Placement layer override.

Inherited from

GameboardPieceDeclarationInput.layer

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:71

Serializable metadata merged into generated placements.

Inherited from

GameboardPieceDeclarationInput.metadata

overrides?

optional overrides?: Readonly<Record<string, GameboardPieceCompatibilityDeclarationOptions>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:92

Per-report declaration overrides keyed by report id.

pieceIdPrefix?

optional pieceIdPrefix?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:88

Prefix added to generated piece ids.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:67

Whether the asset is local-only or EXTRA.

Inherited from

GameboardPieceDeclarationInput.requiresExtra

role?

optional role?: GameboardPieceRole

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:49

Placement role. Defaults from id heuristics.

Inherited from

GameboardPieceDeclarationInput.role

rotationSteps?

optional rotationSteps?: number | "random"

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:63

Clockwise 60-degree rotation steps or random rotation.

Inherited from

GameboardPieceDeclarationInput.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:61

Uniform render scale.

Inherited from

GameboardPieceDeclarationInput.scale

source?

optional source?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:47

Source pack or registry name.

Inherited from

GameboardPieceDeclarationInput.source

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:69

Piece tags used by registry selection.

Inherited from

GameboardPieceDeclarationInput.tags


GameboardPieceCompatibilityDeclarationOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:77

Overrides applied while declaring one piece from compatibility analysis.

Extends

Properties

archetype?

optional archetype?: GameboardLayoutArchetypeInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:51

Layout archetype id or inline archetype.

Inherited from

GameboardPieceDeclarationInput.archetype

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:43

Render asset id. Defaults to id.

Inherited from

GameboardPieceDeclarationInput.assetId

criteria?

optional criteria?: GameboardLayoutCriteria

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:59

Layout criteria for selecting valid sites.

Inherited from

GameboardPieceDeclarationInput.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:65

Vertical offset above the tile elevation.

Inherited from

GameboardPieceDeclarationInput.elevationOffset

footprint?

optional footprint?: GameboardLayoutFootprintInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:57

Placement footprint.

Inherited from

GameboardPieceDeclarationInput.footprint

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:79

Override piece id. Defaults to the compatibility report id.

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:53

Placement kind override.

Inherited from

GameboardPieceDeclarationInput.kind

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:45

Human-readable label. Defaults from id.

Inherited from

GameboardPieceDeclarationInput.label

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:55

Placement layer override.

Inherited from

GameboardPieceDeclarationInput.layer

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:71

Serializable metadata merged into generated placements.

Inherited from

GameboardPieceDeclarationInput.metadata

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:67

Whether the asset is local-only or EXTRA.

Inherited from

GameboardPieceDeclarationInput.requiresExtra

role?

optional role?: GameboardPieceRole

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:49

Placement role. Defaults from id heuristics.

Inherited from

GameboardPieceDeclarationInput.role

rotationSteps?

optional rotationSteps?: number | "random"

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:63

Clockwise 60-degree rotation steps or random rotation.

Inherited from

GameboardPieceDeclarationInput.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:61

Uniform render scale.

Inherited from

GameboardPieceDeclarationInput.scale

source?

optional source?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:47

Source pack or registry name.

Inherited from

GameboardPieceDeclarationInput.source

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:69

Piece tags used by registry selection.

Inherited from

GameboardPieceDeclarationInput.tags


GameboardPieceDeclaration

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:98

Normalized reusable gameboard piece declaration.

Properties

archetype

archetype: GameboardLayoutArchetypeInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:110

Layout archetype id or inline archetype.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:102

Render asset id.

criteria

criteria: GameboardLayoutCriteria

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:118

Layout criteria for selecting valid sites.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:124

Vertical offset above the tile elevation.

footprint?

optional footprint?: GameboardLayoutFootprintInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:116

Placement footprint.

id

id: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:100

Stable piece id.

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:112

Placement kind override.

label

label: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:104

Human-readable label.

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:114

Placement layer override.

metadata

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:130

Serializable metadata merged into generated placements.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:126

Whether the asset is local-only or EXTRA.

role

role: GameboardPieceRole

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:108

Placement role.

rotationSteps?

optional rotationSteps?: number | "random"

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:122

Clockwise 60-degree rotation steps or random rotation.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:120

Uniform render scale.

source

source: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:106

Source pack or registry name.

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:128

Piece tags used by registry selection.


GameboardPieceDeclarationInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:39

Input for declaring a reusable gameboard piece from any asset pack.

Properties

archetype?

optional archetype?: GameboardLayoutArchetypeInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:51

Layout archetype id or inline archetype.

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:43

Render asset id. Defaults to id.

criteria?

optional criteria?: GameboardLayoutCriteria

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:59

Layout criteria for selecting valid sites.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:65

Vertical offset above the tile elevation.

footprint?

optional footprint?: GameboardLayoutFootprintInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:57

Placement footprint.

id

id: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:41

Stable piece id.

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:53

Placement kind override.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:45

Human-readable label. Defaults from id.

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:55

Placement layer override.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:71

Serializable metadata merged into generated placements.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:67

Whether the asset is local-only or EXTRA.

role?

optional role?: GameboardPieceRole

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:49

Placement role. Defaults from id heuristics.

rotationSteps?

optional rotationSteps?: number | "random"

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:63

Clockwise 60-degree rotation steps or random rotation.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:61

Uniform render scale.

source?

optional source?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:47

Source pack or registry name.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:69

Piece tags used by registry selection.


GameboardPieceLayoutRuleOptions

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

Overrides used when turning a piece into a layout fill rule.

Properties

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:261

Archetype registry used by layout.

assetId?

optional assetId?: string

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

Asset id override.

count?

optional count?: number

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

Explicit placement count.

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over piece defaults.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259

Vertical offset override.

fill?

optional fill?: number

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

Fraction of candidate sites to fill.

id?

optional id?: string

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

Fill rule id.

idPrefix?

optional idPrefix?: string

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

Prefix used for generated placement ids.

maxCount?

optional maxCount?: number

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

Maximum placement count.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:267

Metadata merged over piece metadata.

minCount?

optional minCount?: number

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

Minimum placement count.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265

Optional occupancy guard for spawned placements.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263

Local-only asset override.

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation override.

scale?

optional scale?: number

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

Uniform render scale override.


GameboardPiecePlacementInspection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:313

Placement inspection report for one piece.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:317

Asset id used by generated placements.

layoutOptions

layoutOptions: GameboardLayoutPlacementOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:323

Layout options derived from the piece.

pieceId

pieceId: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:315

Piece id inspected.

placements

placements: readonly SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:327

Generated placement options.

role

role: GameboardPieceRole

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:319

Piece role.

siteInspection

siteInspection: GameboardLayoutSiteInspection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:325

Site inspection used for placement.

source

source: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:321

Piece source.


GameboardPiecePlacementOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:290

Options for creating direct placement options from a piece.

Extends

Properties

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:295

Archetype registry used by layout.

Overrides

GameboardPieceLayoutRuleOptions.archetypes

assetId?

optional assetId?: string

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

Asset id override.

Inherited from

GameboardPieceLayoutRuleOptions.assetId

count?

optional count?: number

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

Explicit placement count.

Inherited from

GameboardPieceLayoutRuleOptions.count

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over piece defaults.

Inherited from

GameboardPieceLayoutRuleOptions.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259

Vertical offset override.

Inherited from

GameboardPieceLayoutRuleOptions.elevationOffset

id?

optional id?: string

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

Fill rule id.

Inherited from

GameboardPieceLayoutRuleOptions.id

idPrefix?

optional idPrefix?: string

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

Prefix used for generated placement ids.

Inherited from

GameboardPieceLayoutRuleOptions.idPrefix

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:267

Metadata merged over piece metadata.

Inherited from

GameboardPieceLayoutRuleOptions.metadata

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265

Optional occupancy guard for spawned placements.

Inherited from

GameboardPieceLayoutRuleOptions.occupancyGuard

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263

Local-only asset override.

Inherited from

GameboardPieceLayoutRuleOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation override.

Inherited from

GameboardPieceLayoutRuleOptions.rotationSteps

scale?

optional scale?: number

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

Uniform render scale override.

Inherited from

GameboardPieceLayoutRuleOptions.scale

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:293

Seed used for site selection.


GameboardPieceRegistry

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:136

Piece registry with lookup indexes and declaration warnings.

Properties

byAssetId

byAssetId: Readonly<Record<string, GameboardPieceDeclaration>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:142

Pieces keyed by asset id.

byId

byId: Readonly<Record<string, GameboardPieceDeclaration>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:140

Pieces keyed by piece id.

pieces

pieces: readonly GameboardPieceDeclaration[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:138

Normalized piece declarations.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:144

Non-fatal registry construction warnings.


GameboardPieceRegistryAnalysis

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

Summary and diagnostics for a piece registry.

Properties

checks

checks: readonly GameboardPieceRegistryAnalysisCheck[]

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

Per-check analysis results.

errors

errors: readonly string[]

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

Fatal analysis diagnostics.

localOnlyCount

localOnlyCount: number

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

Number of pieces that require local-only assets.

pieceCount

pieceCount: number

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

Number of pieces in the registry.

roleCounts

roleCounts: Readonly<Record<string, number>>

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

Piece counts by role.

sourceCounts

sourceCounts: Readonly<Record<string, number>>

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

Piece counts by source.

tagCounts

tagCounts: Readonly<Record<string, number>>

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

Piece counts by tag.

warnings

warnings: readonly string[]

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

Non-fatal analysis diagnostics.


GameboardPieceRegistryAnalysisCheck

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:187

Result for one registry analysis check.

Properties

errors

errors: readonly string[]

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

Fatal check diagnostics.

id

id: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:189

Check id.

mode

mode: GameboardPieceRegistryAnalysisCheckMode

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:191

Check mode.

selectedCount

selectedCount: number

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

Number of selected pieces.

selectedIds

selectedIds: readonly string[]

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

Selected piece ids.

selection

selection: GameboardPieceRegistrySelection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:193

Selection used by the check.

warnings

warnings: readonly string[]

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

Non-fatal check diagnostics.


GameboardPieceRegistryAnalysisCheckInput

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:175

Input for one registry analysis check.

Properties

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:177

Check id used in diagnostics.

mode?

optional mode?: GameboardPieceRegistryAnalysisCheckMode

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:179

Check mode.

selection?

optional selection?: GameboardPieceRegistrySelection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:181

Piece selection to analyze.


GameboardPieceRegistryFillRulesOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:279

Options for creating fill rules from all pieces selected from a registry.

Extends

Properties

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:261

Archetype registry used by layout.

Inherited from

GameboardPieceLayoutRuleOptions.archetypes

count?

optional count?: number

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

Explicit placement count.

Inherited from

GameboardPieceLayoutRuleOptions.count

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over piece defaults.

Inherited from

GameboardPieceLayoutRuleOptions.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259

Vertical offset override.

Inherited from

GameboardPieceLayoutRuleOptions.elevationOffset

fill?

optional fill?: number

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

Fraction of candidate sites to fill.

Inherited from

GameboardPieceLayoutRuleOptions.fill

idPrefix?

optional idPrefix?: string

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

Prefix used for generated placement ids.

Inherited from

GameboardPieceLayoutRuleOptions.idPrefix

maxCount?

optional maxCount?: number

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

Maximum placement count.

Inherited from

GameboardPieceLayoutRuleOptions.maxCount

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:267

Metadata merged over piece metadata.

Inherited from

GameboardPieceLayoutRuleOptions.metadata

minCount?

optional minCount?: number

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

Minimum placement count.

Inherited from

GameboardPieceLayoutRuleOptions.minCount

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265

Optional occupancy guard for spawned placements.

Inherited from

GameboardPieceLayoutRuleOptions.occupancyGuard

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263

Local-only asset override.

Inherited from

GameboardPieceLayoutRuleOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation override.

Inherited from

GameboardPieceLayoutRuleOptions.rotationSteps

ruleIdPrefix?

optional ruleIdPrefix?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:284

Prefix applied to generated rule ids.

scale?

optional scale?: number

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

Uniform render scale override.

Inherited from

GameboardPieceLayoutRuleOptions.scale

selection?

optional selection?: GameboardPieceRegistrySelection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:282

Selection used to choose registry pieces.


GameboardPieceRegistrySelection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:155

Piece selection filter used by registry helpers.

Properties

assetIds?

optional assetIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:159

Asset ids to include.

excludeTags?

optional excludeTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:167

Tags that must all be absent.

ids?

optional ids?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:157

Piece ids to include.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:169

Filter by local-only or EXTRA requirement.

roles?

optional roles?: readonly GameboardPieceRole[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:161

Piece roles to include.

sources?

optional sources?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:163

Source names to include.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:165

Tags that must all be present.


GameboardPieceSourceUrlOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:301

Options for resolving piece source URLs.

Properties

encode?

optional encode?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:307

Encode path components when joining URLs.

sourceRoot?

optional sourceRoot?: string

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:303

Default root URL or path for source-relative assets.

sourceRoots?

optional sourceRoots?: Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:305

Root URL or path by piece source.


GameboardPlacementAnimationUrlOptions

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:43

URL resolution inputs for external animation clips.

Extended by

Properties

animationUrlResolver?

optional animationUrlResolver?: (placement) => string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:47

App-specific animation URL resolver.

Parameters
placement

GameboardPlacementSpec

Returns

string | undefined

animationUrls?

optional animationUrls?: Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:45

Explicit asset-id-to-animation-URL map.


GameboardPlacementAssetUrlOptions

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:28

URL resolution inputs for gameboard placement models.

Extends

Extended by

Properties

assetUrls?

optional assetUrls?: Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:32

Explicit asset-id-to-URL overrides, useful for local-only Vite @fs assets.

baseUrl?

optional baseUrl?: string | URL

Defined in: packages/declarative-hex-worlds/src/manifest/schema.ts:147

Base URL applied to every model path when no edition-specific base exists.

Inherited from

ManifestAssetUrlOptions.baseUrl

bootstrapAssetRoot?

optional bootstrapAssetRoot?: string | URL

Defined in: packages/declarative-hex-worlds/src/manifest/schema.ts:160

Consumer's bootstrap asset root (per PRD RB3).

When set, manifest sourcePath values (e.g. buildings/blue/foo.gltf) are joined with this root to produce the resolved URL — &lt;bootstrapAssetRoot&gt;/&lt;sourcePath&gt; (flat layout, no subdirectory prefix).

Honored only when neither baseUrl nor a matching editionBaseUrls entry is set; explicit base URLs always win.

Inherited from

ManifestAssetUrlOptions.bootstrapAssetRoot

catalog?

optional catalog?: ManifestAssetCatalog

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:30

Manifest or manifest bundle used for packaged FREE/EXTRA asset ids.

editionBaseUrls?

optional editionBaseUrls?: Partial<Record<"free" | "extra", string | URL>>

Defined in: packages/declarative-hex-worlds/src/manifest/schema.ts:149

Per-edition base URLs, useful when FREE is packaged and EXTRA is local.

Inherited from

ManifestAssetUrlOptions.editionBaseUrls

fallback?

optional fallback?: (placement) => string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:34

Last-chance resolver for app-specific asset stores.

Parameters
placement

GameboardPlacementSpec

Returns

string | undefined


GameboardPlacementOccupancyGuardOptions

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

Options used by spawn, update, and move helpers to enforce occupancy.

Properties

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

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

Placement ids ignored when checking blockers, usually the moving entity.

requireUnblocked?

optional requireUnblocked?: boolean

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

Require no blockers even if the placement itself is non-blocking.


GameboardPlacementOccupancyInspection

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

Detailed result from an occupancy inspection.

Properties

blockers

blockers: readonly PlacementOccupancySnapshot[]

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

Blocking occupancy records found in the footprint.

blocksMovement

blocksMovement: boolean

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

Whether the proposed placement blocks movement.

canOccupy

canOccupy: boolean

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

Whether the placement can occupy the inspected footprint.

coordinates

coordinates: HexCoordinates

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

Axial coordinates for the origin tile.

footprintTileKeys

footprintTileKeys: readonly string[]

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

Tile keys in the proposed placement footprint.

missingTileKeys

missingTileKeys: readonly string[]

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

Footprint tile keys not present in the world.

occupancyGroup

occupancyGroup: string

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

Occupancy group assigned to the proposed placement.

reason?

optional reason?: string

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

Machine-readable reason when canOccupy is false.

tileKey

tileKey: string

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

Origin tile key that was inspected.


GameboardPlacementOccupancyLike

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:14

Minimal placement shape required by occupancy helpers.

Properties

id

id: string

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:16

Placement id.

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:20

Placement kind used by blocking rules.

layer

layer: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:22

Placement layer used by blocking rules.

metadata

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

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:24

Placement metadata, including layout footprint and blocking hints.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:18

Primary tile occupied by the placement.


GameboardPlacementOccupancyOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:28

Options controlling occupancy and blocking checks.

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:32

Placement kinds that should block occupancy by default.

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:34

Placement layers that should block occupancy by default.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:36

Placement ids ignored by blocking checks.

includeLayoutFootprint?

optional includeLayoutFootprint?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:30

Whether to include layoutFootprintTiles metadata in occupied tile checks.


GameboardPlacementOccupancyRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:120

Relation payload connecting a placement to every occupied footprint tile.

Properties

blocksMovement

blocksMovement: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:132

Whether this occupancy blocks movement.

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:126

Occupied tile coordinates.

footprintIndex

footprintIndex: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:130

Zero-based footprint index.

occupancyGroup

occupancyGroup: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:134

Occupancy group used to allow compatible colocation.

originTileKey

originTileKey: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:128

Origin tile key for the placement.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:122

Placement id.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:124

Occupied tile key.


GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:284

Optional local offset applied to a placement after tile/elevation anchoring.

Properties

x?

optional x?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:286

X-axis world offset.

y?

optional y?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:288

Y-axis world offset.

z?

optional z?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:290

Z-axis world offset.


GameboardPlacementSpec

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:163

Serializable placement state in a generated gameboard plan.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:173

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:169

Origin tile coordinates.

elevation

elevation: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:181

Origin tile elevation.

elevationOffset

elevationOffset: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:183

Vertical offset above the origin tile.

id

id: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:165

Stable placement id.

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:175

Placement category.

layer

layer: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:177

Render and gameplay layer.

metadata

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

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:197

Serializable metadata for gameplay, layout, and renderer hints.

order

order: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:191

Stable render and snapshot sort order.

position

position: WorldPosition

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:171

World position after tile elevation and placement offset.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:195

Whether this placement requires local-only EXTRA assets.

rotationRadians

rotationRadians: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:187

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:185

Clockwise 60-degree rotation steps.

scale

scale: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:189

Uniform render scale.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:193

Optional stack index for vertical or layered pieces.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:179

KayKit texture set applied to this placement.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:167

Origin tile key in q,r form.


GameboardPlacementTileRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:108

Relation payload connecting a placement to its origin tile.

Properties

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:114

Origin tile coordinates.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:110

Placement id.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:112

Origin tile key.


GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:203

Complete serializable gameboard plan.

Properties

placements

placements: readonly GameboardPlacementSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:215

Generated and custom placement specs.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:205

Schema version used to interpret this plan.

seed

seed: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:207

Seed used to create this plan.

shape

shape: GameboardShape

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:209

Board shape.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:211

Active texture set.

tiles

tiles: readonly GameboardTileSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:213

Tile specs in the board.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:217

Non-fatal generation warnings.


GameboardPlanAssetSummary

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:285

Asset-level count and semantic treatment in a summarized gameboard plan.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:287

Manifest or external registry asset id.

count

count: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:289

Number of placements that use the asset.

features

features: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:297

Semantic features inferred from placement metadata or placement kind.

kinds

kinds: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:293

Placement kinds where the asset appears.

layers

layers: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:295

Render/gameplay layers where the asset appears.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:291

Whether any placement using this asset requires local-only assets.


GameboardPlanFromTilesOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:350

Options for creating a plan from already assembled tile and placement specs.

Properties

placements?

optional placements?: readonly GameboardPlacementSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:360

Optional custom placements appended after derived terrain/connectivity placements.

seed

seed: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:352

Seed to write into the plan.

shape

shape: GameboardShape

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:354

Shape to write into the plan.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:356

Texture set to write into the plan.

tiles

tiles: readonly GameboardTileSpec[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:358

Tile specs used by the plan.

warnings?

optional warnings?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:362

Optional non-fatal warnings.


GameboardPlanIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:229

Memoized indexes derived from a GameboardPlan (PRD B4).

Previously, hot-path callers in coordinates/layout.ts + interop/interop.ts rebuilt these maps on every invocation — 4+ calls per render frame. The indexes are now built once via gameboardPlanIndex and cached per-plan in a module-local WeakMap, so the second-and-later callers pay O(1) lookup instead of O(N) rebuild.

Properties

placementsByTile

readonly placementsByTile: ReadonlyMap<string, readonly GameboardPlacementSpec[]>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:233

Placement specs grouped by their tile's q,r hexKey.

tilesByKey

readonly tilesByKey: ReadonlyMap<string, GameboardTileSpec>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:231

Tile keyed by q,r hexKey.


GameboardPlanOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:111

Options for creating a generated gameboard plan.

Properties

defaultTerrain?

optional defaultTerrain?: "grass" | "water"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:119

Initial terrain used for every generated tile.

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113

Deterministic seed for generation.

shape

shape: GameboardShape

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:115

Board shape to populate.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:117

Texture set applied to generated terrain.


GameboardPlanSummary

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:308

Aggregate inspection result for a generated or projected gameboard plan.

This is designed for editor panels, CI diagnostics, screenshot manifests, external ECS bridges, and tests that need to prove which terrain, texture, elevation, placement, guide-feature, and local-only asset cases are present without reverse-engineering the raw tile and placement arrays.

Properties

assetCounts

assetCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:340

Placement count by asset id.

extraAssetIds

extraAssetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:342

Unique asset ids used by placements marked as requiring local-only assets.

placementCount

placementCount: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:320

Number of generated and custom placement specs.

placementFeatureCounts

placementFeatureCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:338

Placement count by metadata feature, falling back to placement kind.

placementKindCounts

placementKindCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:334

Placement count by semantic kind.

placementLayerCounts

placementLayerCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:336

Placement count by render/gameplay layer.

requiresExtraPlacementCount

requiresExtraPlacementCount: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:324

Number of placements marked as requiring local-only assets.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:310

Schema version used to interpret this plan.

seed

seed: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:312

Seed used to create this plan.

shape

shape: GameboardShape

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:314

Board shape.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:316

Active texture set.

tileCount

tileCount: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:318

Number of tile specs.

tileElevationCounts

tileElevationCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:330

Tile count by stacked elevation level.

tileTagCounts

tileTagCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:332

Tile tag counts derived from builder/connectivity metadata.

tileTerrainCounts

tileTerrainCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:326

Tile count by terrain category.

tileTextureSetCounts

tileTextureSetCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:328

Tile count by texture set.

topAssets

topAssets: readonly GameboardPlanAssetSummary[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:344

Highest-frequency asset summaries, sorted by count then asset id.

warningCount

warningCount: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:322

Number of non-fatal generation warnings.


GameboardPlanValidationConfig

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:21

Validation config for complete gameboard plans.

Extends

Properties

allowUnknownAssetIds?

optional allowUnknownAssetIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:31

Specific unknown asset ids to allow even when unknown assets are otherwise errors.

allowUnknownAssets?

optional allowUnknownAssets?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:29

Whether unknown asset ids are allowed.

assetCatalog?

optional assetCatalog?: ManifestAssetCatalog

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:27

Optional manifest catalog used to validate asset ids and editions.

forbidStructuresOnWater?

optional forbidStructuresOnWater?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:35

Whether structure placements are forbidden on water tiles.

Inherited from

GameboardRuleConfig.forbidStructuresOnWater

maxElevation?

optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:27

Maximum allowed tile elevation.

Inherited from

GameboardRuleConfig.maxElevation

registry?

optional registry?: HexTileRegistry

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:23

Optional tile declaration registry for declaration-aware validation.

requireCoastsTouchWater?

optional requireCoastsTouchWater?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:33

Whether coast edges should face adjacent water tiles.

Inherited from

GameboardRuleConfig.requireCoastsTouchWater

requireExtraAssetFlags?

optional requireExtraAssetFlags?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:33

Whether EXTRA assets must be marked with requiresExtra.

requireHarborsTouchWater?

optional requireHarborsTouchWater?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:37

Whether harbor placements must face adjacent water tiles.

Inherited from

GameboardRuleConfig.requireHarborsTouchWater

requireReciprocalRivers?

optional requireReciprocalRivers?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:31

Whether river edges must connect back from neighboring tiles.

Inherited from

GameboardRuleConfig.requireReciprocalRivers

requireReciprocalRoads?

optional requireReciprocalRoads?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:29

Whether road edges must connect back from neighboring tiles.

Inherited from

GameboardRuleConfig.requireReciprocalRoads

validatePlacementBlockingOverlap?

optional validatePlacementBlockingOverlap?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:37

Whether blocking placements may overlap.

validatePlacementFootprints?

optional validatePlacementFootprints?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:35

Whether placement layout footprints must point at existing tiles.

validateRegisteredDeclarations?

optional validateRegisteredDeclarations?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:25

Whether to validate base/support assets and declaration adjacency rules.


GameboardQuestActorReferenceRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:288

Relation payload connecting a quest objective to an actor.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:294

Actor id.

objectiveId

objectiveId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:292

Objective id.

questId

questId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:290

Quest id.

role

role: GameboardQuestActorReferenceRole

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:296

Reference role.


GameboardQuestAdvancedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:175

Quest state advanced but may not yet be completed.

Properties

before?

optional before?: GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:179

Quest snapshot before the advance.

quest

quest: GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:181

Quest snapshot after the advance.

type

type: "quest-advanced"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:177

Event discriminator.


GameboardQuestBlockedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:199

Quest became blocked during a system pass.

Properties

before?

optional before?: GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:203

Quest snapshot before the blocked state.

quest

quest: GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:205

Quest snapshot after the blocked state.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:207

Blocked reason from objective progress.

type

type: "quest-blocked"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:201

Event discriminator.


GameboardQuestCompletedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:187

Quest completed during a system pass.

Properties

before?

optional before?: GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:191

Quest snapshot before completion.

quest

quest: GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:193

Quest snapshot after completion.

type

type: "quest-completed"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:189

Event discriminator.


GameboardQuestDefinition

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:47

Serializable quest definition.

Properties

id

id: string

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:49

Stable quest id.

metadata?

optional metadata?: Readonly<Record<string, GameboardQuestMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:55

Serializable quest metadata.

objectives

objectives: readonly GameboardQuestObjective[]

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:53

Ordered quest objectives.

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:51

Optional display title.


GameboardQuestEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:332

Serializable quest event record.

Properties

activeObjectiveId?

optional activeObjectiveId?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:342

Active objective id.

activeObjectiveIndex

activeObjectiveIndex: number

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:340

Active objective index.

objectives

objectives: readonly GameboardQuestObjective[]

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:344

Quest objectives.

progress

progress: readonly GameboardQuestObjectiveProgress[]

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:346

Objective progress snapshots.

questId

questId: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:334

Quest id.

status

status: GameboardQuestStatus

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:338

Quest status.

title

title: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:336

Quest title.


GameboardQuestObjectiveEvaluation

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:112

Result of evaluating one objective.

Properties

collision?

optional collision?: GameboardActorCollisionReport

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:122

Collision report, for collision objectives.

objective

objective: GameboardQuestObjective

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:114

Objective that was evaluated.

progress

progress: GameboardQuestObjectiveProgress

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:116

Progress produced by evaluation.

source?

optional source?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:118

Source actor, when resolved.

target?

optional target?: GameboardActorSnapshot

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:120

Target actor, when resolved.


GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:84

Joined quest entity and quest trait state.

Properties

entity

entity: Entity

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:86

Live Koota quest entity.

quest

quest: object

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:88

Quest trait value.

activeObjectiveIndex

activeObjectiveIndex: number = 0

Index of the active objective in objectives.

metadata

metadata: Record<string, GameboardQuestMetadataValue>

Serializable quest metadata.

objectives

objectives: GameboardQuestObjective[]

Ordered objective definitions.

progress

progress: GameboardQuestObjectiveProgress[]

Objective progress records.

questId

questId: string = ''

Stable quest id.

schemaVersion

schemaVersion: string = GAMEBOARD_QUEST_SCHEMA_VERSION

Quest schema version.

status

status: GameboardQuestStatus

Runtime quest lifecycle status.

title

title: string = ''

Quest display title.


GameboardQuestTileReferenceRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:307

Relation payload connecting a quest objective to a tile.

Properties

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:315

Tile coordinates.

objectiveId

objectiveId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:311

Objective id.

questId

questId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:309

Quest id.

role

role: GameboardQuestTileReferenceRole

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:317

Reference role.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:313

Tile key.


GameboardReachableTile

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:186

Reachable tile and accumulated movement cost.

Properties

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:190

Reachable tile coordinates.

cost

cost: number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:192

Movement cost from the start tile.

tile

tile: GameboardTileSpec

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:188

Reachable tile.


GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:62

Serializable recipe for constructing and optionally generating a gameboard plan.

Properties

generation?

optional generation?: GameboardRecipeGeneration

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:70

Optional seeded generation configuration applied after explicit steps.

options

options: GameboardPlanOptions

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:66

Base plan options used before step and generation application.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:64

Version tag for migration-safe recipe persistence.

steps

steps: readonly GameboardRecipeStep[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:68

Ordered imperative builder steps.


GameboardRecipeGameRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:654

Runtime facade created from a recipe, preserving recipe-specific registries.

Extends

Properties

actions

readonly actions: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:308

Raw board placement actions.

canOccupyPlacement

canOccupyPlacement: (options) => boolean

Return only the boolean occupancy result for a proposed placement.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

boolean

clear

clear: () => void

Remove all board tile, placement, and board-state traits from the world.

Returns

void

inspectPlacementOccupancy

inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection

Inspect whether a proposed placement footprint can occupy its target tiles.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection

loadPlan

loadPlan: (plan) => GameboardEntityIndex

Replace the current world contents with a complete generated board plan.

Parameters
plan

GameboardPlan

Returns

GameboardEntityIndex

movePlacement

movePlacement: (placement, to, options) => Entity

Move an existing placement to another tile while preserving unspecified state.

Parameters
placement

string | Entity

to

string | HexCoordinates

options?

UpdateGameboardPlacementOptions = {}

Returns

Entity

removePlacement

removePlacement: (placement) => boolean

Remove an existing placement by entity or placement id.

Parameters
placement

string | Entity

Returns

boolean

spawnPlacement

spawnPlacement: (options) => Entity

Spawn a runtime placement into the board.

Parameters
options

SpawnGameboardPlacementOptions

Returns

Entity

updatePlacement

updatePlacement: (placement, options) => Entity

Update an existing runtime placement by entity or placement id.

Parameters
placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity

Inherited from

GameboardRuntime.actions

actors

readonly actors: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:310

Actor actions.

collision

collision: (actor, target, profile) => GameboardActorCollisionReport

Inspect whether an actor can enter a target tile.

Parameters
actor

string | Entity | undefined

target

string | HexCoordinates

profile?

GameboardActorCollisionProfile = {}

Returns

GameboardActorCollisionReport

command

command: (target, options) => GameboardInteractionCommand

Plan a high-level interaction command from a target input.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand

interaction

interaction: (target, options) => GameboardInteractionTargetReport

Resolve and inspect an interaction target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionTargetOptions = {}

Returns

GameboardInteractionTargetReport

move

move: (actor, to, options) => Entity

Move an actor to another tile.

Parameters
actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions = {}

Returns

Entity

navigationProfile: (actor, options) => GameboardNavigationProfile

Create an actor-aware navigation profile.

Parameters
actor

string | Entity

options?

GameboardActorNavigationOptions = {}

Returns

GameboardNavigationProfile

neighborhood

neighborhood: (center, options) => GameboardNeighborhoodInspection

Inspect a radius of tiles around a center.

Parameters
center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions = {}

Returns

GameboardNeighborhoodInspection

read

read: () => GameboardActorSnapshot[]

Read all registered actors.

Returns

GameboardActorSnapshot[]

register

register: (placement, options) => Entity

Register an existing placement as an actor.

Parameters
placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity

select

select: (options) => GameboardActorSelection

Select actors with optional faction, team, tag, radius, and hostility filters.

Parameters
options?

GameboardActorSelectionOptions = {}

Returns

GameboardActorSelection

spawn

spawn: (options) => Entity

Spawn a placement and register it as an actor.

Parameters
options

SpawnGameboardActorOptions

Returns

Entity

targets

targets: (options) => GameboardActorTargetingReport

Select and path to candidate actor targets.

Parameters
options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport

tile

tile: (coordinates, options) => GameboardTileInspection

Inspect one tile from an actor/gameplay perspective.

Parameters
coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions = {}

Returns

GameboardTileInspection

update

update: (actor, options) => Entity

Update actor trait state while preserving omitted fields.

Parameters
actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.actors

advanceAllQuests

advanceAllQuests: (options?) => GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:571

Advance every quest against the current live actor, placement, and tile state.

Parameters
options?

AdvanceGameboardQuestOptions

Returns

GameboardQuestSnapshot[]

Inherited from

GameboardRuntime.advanceAllQuests

advanceQuest

advanceQuest: (quest, options?) => GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:566

Advance one quest against the current live actor, placement, and tile state.

Parameters
quest

string | Entity

options?

AdvanceGameboardQuestOptions

Returns

GameboardQuestSnapshot

Inherited from

GameboardRuntime.advanceQuest

analyzeLayoutFill

analyzeLayoutFill: (options) => GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:447

Analyze seeded layout fill rules against the live projected world.

Parameters
options

GameboardLayoutFillOptions

Returns

GameboardLayoutFillAnalysis

Inherited from

GameboardRuntime.analyzeLayoutFill

analyzePieceFills

analyzePieceFills: (registry, fills, options?) => GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:497

Analyze generated piece fills against the current projected plan.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

GameboardLayoutFillAnalysis

Inherited from

GameboardRuntime.analyzePieceFills

analyzePieceRegistry

analyzePieceRegistry: (registry, options?) => GameboardPieceRegistryAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:477

Analyze a custom piece registry.

Parameters
registry

GameboardPieceRegistry

options?

AnalyzeGameboardPieceRegistryOptions

Returns

GameboardPieceRegistryAnalysis

Inherited from

GameboardRuntime.analyzePieceRegistry

canOccupyPlacement

canOccupyPlacement: (options) => boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:369

Return the boolean result from inspectPlacementOccupancy.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

boolean

Inherited from

GameboardRuntime.canOccupyPlacement

commands

readonly commands: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:318

Command planning/execution actions.

execute

execute: (commandOrTarget, options) => GameboardInteractionCommandExecution

Execute a command with optional host-game handlers.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions = {}

Returns

GameboardInteractionCommandExecution

plan

plan: (target, options) => GameboardInteractionCommand

Plan a command from a renderer or gameplay target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand

preview

preview: (commandOrTarget, options) => GameboardInteractionCommandPreview

Preview a command without mutating state.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions = {}

Returns

GameboardInteractionCommandPreview

targetCommand

targetCommand: (options) => GameboardActorTargetCommandPlan

Select an actor target and plan a command against it.

Parameters
options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan

Inherited from

GameboardRuntime.commands

createInteropSnapshot

createInteropSnapshot: (options?) => GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:420

Create an ECS interop snapshot from the live runtime.

Parameters
options?

GameboardRuntimeInteropOptions

Returns

GameboardInteropSnapshot

Inherited from

GameboardRuntime.createInteropSnapshot

createLayoutFillPlacements

createLayoutFillPlacements: (options) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:449

Create seeded layout fill placement options without mutating the live world.

Parameters
options

GameboardLayoutFillOptions

Returns

SpawnGameboardPlacementOptions[]

Inherited from

GameboardRuntime.createLayoutFillPlacements

createLayoutPlacements

createLayoutPlacements: (options) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:443

Create layout placement spawn options without mutating the live world.

Parameters
options

GameboardLayoutPlacementOptions

Returns

SpawnGameboardPlacementOptions[]

Inherited from

GameboardRuntime.createLayoutPlacements

createNavigation

createNavigation: (profile?) => GameboardNavigation

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:429

Create a pathfinding/navigation facade from the live projected world.

Parameters
profile?

GameboardNavigationProfile

Returns

GameboardNavigation

Inherited from

GameboardRuntime.createNavigation

createOccupancyIndex

createOccupancyIndex: (profile?) => GameboardOccupancyIndex

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:427

Create a navigation occupancy index from the live projected world.

Parameters
profile?

GameboardNavigationProfile

Returns

GameboardOccupancyIndex

Inherited from

GameboardRuntime.createOccupancyIndex

createPieceFillRules

createPieceFillRules: (registry, options?) => GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:487

Create layout fill rules from selected registry pieces.

Parameters
registry

GameboardPieceRegistry

options?

GameboardPieceRegistryFillRulesOptions

Returns

GameboardLayoutFillRule[]

Inherited from

GameboardRuntime.createPieceFillRules

createPiecePlacementOptions

createPiecePlacementOptions: (piece, options?) => GameboardLayoutPlacementOptions

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:457

Convert a piece declaration to layout placement options.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

GameboardLayoutPlacementOptions

Inherited from

GameboardRuntime.createPiecePlacementOptions

createPiecePlacements

createPiecePlacements: (piece, options?) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:462

Create placement options for a piece against the current projected plan.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

SpawnGameboardPlacementOptions[]

Inherited from

GameboardRuntime.createPiecePlacements

createPiecePoolFillRule

createPiecePoolFillRule: (pieces, options?) => GameboardLayoutFillRule

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:492

Create one pooled fill rule from a piece collection.

Parameters
pieces

readonly GameboardPieceDeclaration[]

options?

GameboardPieceCollectionLayoutRuleOptions

Returns

GameboardLayoutFillRule

Inherited from

GameboardRuntime.createPiecePoolFillRule

createPieceSourceUrlMap

createPieceSourceUrlMap: (registry, options?) => Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:515

Create an asset-id-to-URL map for local custom pieces.

Parameters
registry

GameboardPieceRegistry

options?

GameboardPieceSourceUrlOptions

Returns

Readonly<Record<string, string>>

Inherited from

GameboardRuntime.createPieceSourceUrlMap

createRecipePieceSourceUrlMap

createRecipePieceSourceUrlMap: (options?) => Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:662

Create an asset-id-to-URL map for recipe-local custom pieces.

Parameters
options?

GameboardPieceSourceUrlOptions

Returns

Readonly<Record<string, string>>

dispatchActorTargetCommand

dispatchActorTargetCommand: (options, commandOptions?) => DispatchGameboardActorTargetCommandResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:592

Select an actor target and dispatch the planned command.

Parameters
options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions

Returns

DispatchGameboardActorTargetCommandResult

Inherited from

GameboardRuntime.dispatchActorTargetCommand

dispatchCommand

dispatchCommand: (commandOrTarget, options?) => DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:587

Execute a command and return dispatch events.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions

Returns

DispatchGameboardInteractionCommandResult

Inherited from

GameboardRuntime.dispatchCommand

executeCommand

executeCommand: (commandOrTarget, options?) => GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:597

Execute a command without wrapping it in system events.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions

Returns

GameboardInteractionCommandExecution

Inherited from

GameboardRuntime.executeCommand

findActor

findActor: (actor) => GameboardActorSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:535

Find one actor by entity, placement id, or stable actor id.

Parameters
actor

string | Entity

Returns

GameboardActorSnapshot | undefined

Inherited from

GameboardRuntime.findActor

findQuest

findQuest: (quest) => GameboardQuestSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:562

Find one quest by entity or stable quest id.

Parameters
quest

string | Entity

Returns

GameboardQuestSnapshot | undefined

Inherited from

GameboardRuntime.findQuest

inspectActorTargets

inspectActorTargets: (options) => GameboardActorTargetingReport

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:418

Select and rank actor targets with path and command planning.

Parameters
options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport

Inherited from

GameboardRuntime.inspectActorTargets

inspectLayoutSites

inspectLayoutSites: (options?) => GameboardLayoutSiteInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:439

Inspect layout candidates and rejections against the live projected world.

Parameters
options?

InspectGameboardLayoutSitesOptions

Returns

GameboardLayoutSiteInspection

Inherited from

GameboardRuntime.inspectLayoutSites

inspectNeighborhood

inspectNeighborhood: (center, options?) => GameboardNeighborhoodInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:411

Inspect a radius around a tile, placement, actor, or coordinate.

Parameters
center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions

Returns

GameboardNeighborhoodInspection

Inherited from

GameboardRuntime.inspectNeighborhood

inspectPieceFills

inspectPieceFills: (registry, fills, options?) => SeededGameboardPieceFillInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:503

Inspect generated piece fills with candidate and rejection details.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

SeededGameboardPieceFillInspection

Inherited from

GameboardRuntime.inspectPieceFills

inspectPiecePlacement

inspectPiecePlacement: (piece, options?) => GameboardPiecePlacementInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:467

Inspect where a piece can be placed against the current projected plan.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

GameboardPiecePlacementInspection

Inherited from

GameboardRuntime.inspectPiecePlacement

inspectPlacementOccupancy

inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:365

Inspect whether a placement footprint can occupy the current live board.

This is the preflight path for construction cursors, drag previews, unit moves, and generated fills before mutating the world.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection

Inherited from

GameboardRuntime.inspectPlacementOccupancy

inspectTile

inspectTile: (coordinates, options?) => GameboardTileInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:406

Inspect one tile, placement, actor, or coordinate in live state.

Parameters
coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions

Returns

GameboardTileInspection

Inherited from

GameboardRuntime.inspectTile

interact

interact: (commandOrTarget, options?) => RunGameboardInteractionResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:602

Dispatch a command and optionally run systems.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions

Returns

RunGameboardInteractionResult

Inherited from

GameboardRuntime.interact

interactActorTarget

interactActorTarget: (options, interactionOptions?) => RunGameboardActorTargetInteractionResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:607

Target an actor, dispatch the command, and optionally run systems.

Parameters
options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions

Returns

RunGameboardActorTargetInteractionResult

Inherited from

GameboardRuntime.interactActorTarget

loadPlan

loadPlan: (plan) => GameboardEntityIndex

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:322

Load a plan into the bound world.

Parameters
plan

GameboardPlan

Returns

GameboardEntityIndex

Inherited from

GameboardRuntime.loadPlan

mountInterop

mountInterop: <TEntity>(adapter, options?) => GameboardEcsMountResult<TEntity>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:422

Mount the live runtime snapshot into another ECS/store adapter.

Type Parameters
TEntity

TEntity

Parameters
adapter

GameboardEcsAdapter<TEntity>

options?

GameboardRuntimeInteropOptions

Returns

GameboardEcsMountResult<TEntity>

Inherited from

GameboardRuntime.mountInterop

moveActor

moveActor: (actor, to, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:546

Move an actor-backed placement by actor id or entity.

Parameters
actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.moveActor

movement

readonly movement: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:312

Movement actions.

advance

advance: (placement, options) => GameboardMovementAdvanceResult

Advance one placement along its requested path.

Parameters
placement

string | Entity

options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult

clear

clear: (placement) => Entity

Clear active movement path state for a placement.

Parameters
placement

string | Entity

Returns

Entity

reachable

reachable: (placement, options) => GameboardReachableTile[]

Return tiles reachable by one movement agent.

Parameters
placement

string | Entity

options?

GameboardMovementOptions = {}

Returns

GameboardReachableTile[]

requestMove

requestMove: (placement, destination, options) => GameboardMovementRequestResult

Request movement to a destination.

Parameters
placement

string | Entity

destination

string | HexCoordinates

options?

GameboardMovementPathRequestOptions = {}

Returns

GameboardMovementRequestResult

resetBudget

resetBudget: (placement?, options) => readonly Entity[]

Reset movement budget for one or all movement agents.

Parameters
placement?

string | Entity

options?

GameboardMovementOptions = {}

Returns

readonly Entity[]

runSystem

runSystem: (options) => GameboardMovementAdvanceResult[]

Advance all active movement agents.

Parameters
options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult[]

setAgent

setAgent: (placement, options) => Entity

Add or update a movement agent on a placement.

Parameters
placement

string | Entity

options?

SetGameboardMovementAgentOptions = {}

Returns

Entity

Inherited from

GameboardRuntime.movement

movePlacement

movePlacement: (placement, to, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:394

Move one placement to a new tile or coordinate-like target.

Use this for actor movement, build previews, temporary markers, and gameplay props that should remain in the same Koota entity.

Parameters
placement

string | Entity

to

string | HexCoordinates

options?

Omit<UpdateGameboardPlacementOptions, "at">

Returns

Entity

Inherited from

GameboardRuntime.movePlacement

patrol

readonly patrol: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:314

Patrol actions.

advance

advance: (placement, options) => GameboardPatrolAdvanceResult

Advance one patrol agent.

Parameters
placement

string | Entity

options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult

clear

clear: (placement) => Entity

Remove patrol traits from a placement.

Parameters
placement

string | Entity

Returns

Entity

read

read: () => GameboardPatrolSnapshot[]

Read all patrol snapshots.

Returns

GameboardPatrolSnapshot[]

run

run: (options) => GameboardPatrolAdvanceResult[]

Advance every patrol agent in the world.

Parameters
options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult[]

set

set: (placement, options) => Entity

Attach or replace a patrol agent.

Parameters
placement

string | Entity

options

SetGameboardPatrolAgentOptions

Returns

Entity

Inherited from

GameboardRuntime.patrol

plan

plan: () => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:324

Project the live world to a renderable plan.

Returns

GameboardPlan

Inherited from

GameboardRuntime.plan

planActorTargetCommand

planActorTargetCommand: (options) => GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:578

Plan a command against the selected actor target.

Parameters
options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan

Inherited from

GameboardRuntime.planActorTargetCommand

planCommand

planCommand: (target, options?) => GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:573

Plan a command from a renderer or gameplay target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions

Returns

GameboardInteractionCommand

Inherited from

GameboardRuntime.planCommand

planPatrolRoute

planPatrolRoute: (options) => GameboardPatrolRoutePlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:435

Plan one patrol route from the live projected world.

Parameters
options

GameboardPatrolRouteOptions

Returns

GameboardPatrolRoutePlan

Inherited from

GameboardRuntime.planPatrolRoute

planPatrolRoutes

planPatrolRoutes: (options) => GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:437

Plan a patrol route set from the live projected world.

Parameters
options

GameboardPatrolRouteSetOptions

Returns

GameboardPatrolRouteSet

Inherited from

GameboardRuntime.planPatrolRoutes

planSpawnGroups

planSpawnGroups: (options) => GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:433

Plan spawn groups from the live projected world.

Parameters
options

GameboardSpawnGroupOptions

Returns

GameboardSpawnGroupPlan

Inherited from

GameboardRuntime.planSpawnGroups

previewCommand

previewCommand: (commandOrTarget, options?) => GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:582

Preview command execution without mutating state.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions

Returns

GameboardInteractionCommandPreview

Inherited from

GameboardRuntime.previewCommand

quests

readonly quests: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:316

Quest actions.

advance

advance: (quest, options) => GameboardQuestSnapshot

Advance one quest entity.

Parameters
quest

string | Entity

options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot

advanceAll

advanceAll: (options) => GameboardQuestSnapshot[]

Advance every quest entity.

Parameters
options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot[]

find

find: (quest) => GameboardQuestSnapshot | undefined

Find one quest snapshot.

Parameters
quest

string | Entity

Returns

GameboardQuestSnapshot | undefined

read

read: () => GameboardQuestSnapshot[]

Read all quest snapshots.

Returns

GameboardQuestSnapshot[]

spawn

spawn: (definition, options) => Entity

Spawn a quest entity.

Parameters
definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions = {}

Returns

Entity

Inherited from

GameboardRuntime.quests

readActors

readActors: () => GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:537

Read all registered actors joined with their placement and tile records.

Returns

GameboardActorSnapshot[]

Inherited from

GameboardRuntime.readActors

readActorsForTile

readActorsForTile: (coordinates) => GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:544

Read registered actors whose placement origin is one tile.

Use this for hover cards, collision probes, encounter checks, and external ECS sync when a game needs actor semantics instead of raw placements.

Parameters
coordinates

string | HexCoordinates

Returns

GameboardActorSnapshot[]

Inherited from

GameboardRuntime.readActorsForTile

readPlacementOccupancy

readPlacementOccupancy: () => PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:351

Read every placement footprint currently reserving or blocking tiles.

The returned records include origin and occupied tile metadata, so UI and pathfinding bridges can reason about multi-hex structures and blockers.

Returns

PlacementOccupancySnapshot[]

Inherited from

GameboardRuntime.readPlacementOccupancy

readPlacementOccupancyForTile

readPlacementOccupancyForTile: (coordinates) => PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:358

Read occupancy records for one tile.

Prefer this over filtering readPlacementOccupancy() in UI panels, collision probes, and external ECS bridges that only need one hex.

Parameters
coordinates

string | HexCoordinates

Returns

PlacementOccupancySnapshot[]

Inherited from

GameboardRuntime.readPlacementOccupancyForTile

readPlacements

readPlacements: () => object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:337

Read serializable placement records from live state.

Use this for save data, editor panels, renderer diffing, and external ECS mirrors that do not need raw Koota relation stores.

Returns
Inherited from

GameboardRuntime.readPlacements

readPlacementsForTile

readPlacementsForTile: (coordinates) => object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:344

Read serializable placement records that occupy one tile.

This includes placements whose multi-tile footprint covers the tile, not only placements whose canonical origin is the tile.

Parameters
coordinates

string | HexCoordinates

Returns
Inherited from

GameboardRuntime.readPlacementsForTile

readQuests

readQuests: () => GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:564

Read all quest snapshots from live state for HUDs, saves, and tests.

Returns

GameboardQuestSnapshot[]

Inherited from

GameboardRuntime.readQuests

recipe

readonly recipe: GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:656

Source recipe used to create the runtime.

recipeLayoutArchetypes?

readonly optional recipeLayoutArchetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:658

Layout archetypes declared by the recipe.

recipePieceRegistry?

readonly optional recipePieceRegistry?: GameboardPieceRegistry

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:660

Piece registry declared by the recipe.

registerActor

registerActor: (placement, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:528

Attach actor state to an existing placement.

Register existing placements when a neutral prop, marker, structure, or externally declared piece becomes selectable, interactive, hostile, or quest-addressable after startup.

Parameters
placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity

Inherited from

GameboardRuntime.registerActor

removePlacement

removePlacement: (placement) => boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:404

Remove one placement entity and its placement relations from the live world.

Returns false when the entity or placement id cannot be found.

Parameters
placement

string | Entity

Returns

boolean

Inherited from

GameboardRuntime.removePlacement

selectActors

selectActors: (options?) => GameboardActorSelection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:416

Select actors from live state using actor-aware filters.

Parameters
options?

GameboardActorSelectionOptions

Returns

GameboardActorSelection

Inherited from

GameboardRuntime.selectActors

selectPieces

selectPieces: (registry, selection?) => GameboardPieceDeclaration[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:482

Select declarations from a custom piece registry.

Parameters
registry

GameboardPieceRegistry

selection?

GameboardPieceRegistrySelection

Returns

GameboardPieceDeclaration[]

Inherited from

GameboardRuntime.selectPieces

selectSpawnLocations

selectSpawnLocations: (options) => SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:431

Select deterministic spawn locations from the live projected world.

Parameters
options

GameboardSpawnLocationOptions

Returns

SpawnLocation[]

Inherited from

GameboardRuntime.selectSpawnLocations

snapshot

snapshot: (options?) => GameboardRuntimeSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:330

Read a serializable runtime snapshot.

Parameters
options?

GameboardRuntimeSnapshotOptions

Returns

GameboardRuntimeSnapshot

Inherited from

GameboardRuntime.snapshot

spawnActor

spawnActor: (options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:520

Spawn an actor-backed placement.

Parameters
options

SpawnGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.spawnActor

spawnLayoutFill

spawnLayoutFill: (options) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:455

Spawn a generated layout fill into the live world.

Parameters
options

GameboardLayoutFillOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnLayoutFill

spawnLayoutPlacements

spawnLayoutPlacements: (options) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:453

Spawn explicit layout placements into the live world.

Parameters
options

GameboardLayoutPlacementOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnLayoutPlacements

spawnPiece

spawnPiece: (piece, options?) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:472

Spawn one declared piece into the live world.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnPiece

spawnPieceFills

spawnPieceFills: (registry, fills, options?) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:509

Spawn generated piece fills into the live world.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnPieceFills

spawnPlacement

spawnPlacement: (options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:376

Spawn one renderable placement into the live world.

Pass occupancyGuard: true when the spawn should fail instead of overlapping an existing blocker or missing footprint tile.

Parameters
options

SpawnGameboardPlacementOptions

Returns

Entity

Inherited from

GameboardRuntime.spawnPlacement

spawnQuest

spawnQuest: (definition, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:557

Spawn a quest definition into the live world.

Quest objectives can reference actor ids, placement ids, and tile keys, so scenario and runtime-created quests use the same progression surface.

Parameters
definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions

Returns

Entity

Inherited from

GameboardRuntime.spawnQuest

summarizePlan

summarizePlan: (options?) => GameboardPlanSummary

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:326

Summarize the live projected plan for editor, diagnostics, and bridge code.

Parameters
options?

SummarizeGameboardPlanOptions

Returns

GameboardPlanSummary

Inherited from

GameboardRuntime.summarizePlan

systems

readonly systems: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:320

System dispatch/tick actions.

dispatchActorTargetCommand

dispatchActorTargetCommand: (options, commandOptions) => DispatchGameboardActorTargetCommandResult

Select an actor target, then execute its planned command.

Parameters
options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardActorTargetCommandResult

dispatchCommand

dispatchCommand: (commandOrTarget, options) => DispatchGameboardInteractionCommandResult

Execute one command and emit dispatch event records.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardInteractionCommandResult

interact

interact: (commandOrTarget, options) => RunGameboardInteractionResult

Dispatch a command and optionally tick systems.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions = {}

Returns

RunGameboardInteractionResult

interactActorTarget

interactActorTarget: (options, interactionOptions) => RunGameboardActorTargetInteractionResult

Target an actor, dispatch the command, and optionally tick systems.

Parameters
options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions = {}

Returns

RunGameboardActorTargetInteractionResult

run

run: (options) => RunGameboardSystemsResult

Run enabled patrol, movement, and quest systems for one tick.

Parameters
options?

RunGameboardSystemsOptions = {}

Returns

RunGameboardSystemsResult

Inherited from

GameboardRuntime.systems

tick

tick: (options?) => RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:612

Run enabled systems for one game-loop tick.

Parameters
options?

RunGameboardSystemsOptions

Returns

RunGameboardSystemsResult

Inherited from

GameboardRuntime.tick

updateActor

updateActor: (actor, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:533

Update actor state while preserving omitted fields and placement binding.

Parameters
actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.updateActor

updatePlacement

updatePlacement: (placement, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:384

Update one placement in the live world while preserving omitted fields.

The helper refreshes placement classification and footprint relations when fields such as coordinates, kind, layer, footprint, tags, or blocking behavior change.

Parameters
placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity

Inherited from

GameboardRuntime.updatePlacement

validationPlan

validationPlan: () => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:328

Project the live world to a plan shape suitable for validation.

Returns

GameboardPlan

Inherited from

GameboardRuntime.validationPlan

world

readonly world: World

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:306

Bound Koota world.

Inherited from

GameboardRuntime.world


GameboardRecipeGeneration

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:74

Seeded generation configuration embedded in a recipe.

Properties

layoutArchetypes?

optional layoutArchetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:76

Layout archetypes available to layout and piece fill rules.

layoutFills?

optional layoutFills?: readonly GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:80

Rules that spawn placements directly from layout archetypes.

layoutFillSeed?

optional layoutFillSeed?: string | number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:78

Seed used by layout fill spawning.

pieceDeclarations?

optional pieceDeclarations?: readonly GameboardPieceDeclarationInput[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:82

Piece declarations used by seeded piece fill rules.

pieceFills?

optional pieceFills?: readonly SeededGameboardPieceFillOptions[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:84

Rules that spawn registered pieces from seeded percentage fills.


GameboardRecipeValidationConfig

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:365

Validation options for recipe preflight and compiled plan checks.

Properties

overrides?

optional overrides?: Partial<GameboardPlanOptions>

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:367

Plan option overrides applied before validating the compiled plan.

plan?

optional plan?: GameboardPlanValidationConfig

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:369

Validation config passed through to plan validation.


GameboardRecipeValidationResult

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:373

Result from compiling and validating a recipe.

Properties

plan?

optional plan?: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:377

Compiled plan when compilation succeeds.

recipe

recipe: GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:375

Recipe that was inspected.

violations

violations: readonly GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:379

Preflight and compiled-plan validation violations.


GameboardRuleConfig

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:25

Shared validation rule toggles for plans and worlds.

Extended by

Properties

forbidStructuresOnWater?

optional forbidStructuresOnWater?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:35

Whether structure placements are forbidden on water tiles.

maxElevation?

optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:27

Maximum allowed tile elevation.

requireCoastsTouchWater?

optional requireCoastsTouchWater?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:33

Whether coast edges should face adjacent water tiles.

requireHarborsTouchWater?

optional requireHarborsTouchWater?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:37

Whether harbor placements must face adjacent water tiles.

requireReciprocalRivers?

optional requireReciprocalRivers?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:31

Whether river edges must connect back from neighboring tiles.

requireReciprocalRoads?

optional requireReciprocalRoads?: boolean

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:29

Whether road edges must connect back from neighboring tiles.


GameboardRuleViolation

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:11

One validation or rule violation emitted by plan, world, recipe, or scenario checks.

Properties

code

code: string

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:13

Stable machine-readable violation code.

message

message: string

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:17

Human-readable diagnostic message.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:21

Related placement id when the violation is placement-specific.

severity

severity: RuleSeverity

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:15

Diagnostic severity.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:19

Related tile key when the violation is tile-specific.


GameboardRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:304

Bound gameboard facade for one live board instance.

The facade keeps the raw Koota world and action bundles available, but adds game-oriented reads and mutations that project the live board before navigation, layout, piece-fill, scenario, and interop operations. Prefer this object at scene boundaries, React providers, integration tests, and external ECS bridges when the board is actively changing during play.

Extended by

Properties

actions

readonly actions: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:308

Raw board placement actions.

canOccupyPlacement

canOccupyPlacement: (options) => boolean

Return only the boolean occupancy result for a proposed placement.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

boolean

clear

clear: () => void

Remove all board tile, placement, and board-state traits from the world.

Returns

void

inspectPlacementOccupancy

inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection

Inspect whether a proposed placement footprint can occupy its target tiles.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection

loadPlan

loadPlan: (plan) => GameboardEntityIndex

Replace the current world contents with a complete generated board plan.

Parameters
plan

GameboardPlan

Returns

GameboardEntityIndex

movePlacement

movePlacement: (placement, to, options) => Entity

Move an existing placement to another tile while preserving unspecified state.

Parameters
placement

string | Entity

to

string | HexCoordinates

options?

UpdateGameboardPlacementOptions = {}

Returns

Entity

removePlacement

removePlacement: (placement) => boolean

Remove an existing placement by entity or placement id.

Parameters
placement

string | Entity

Returns

boolean

spawnPlacement

spawnPlacement: (options) => Entity

Spawn a runtime placement into the board.

Parameters
options

SpawnGameboardPlacementOptions

Returns

Entity

updatePlacement

updatePlacement: (placement, options) => Entity

Update an existing runtime placement by entity or placement id.

Parameters
placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity

actors

readonly actors: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:310

Actor actions.

collision

collision: (actor, target, profile) => GameboardActorCollisionReport

Inspect whether an actor can enter a target tile.

Parameters
actor

string | Entity | undefined

target

string | HexCoordinates

profile?

GameboardActorCollisionProfile = {}

Returns

GameboardActorCollisionReport

command

command: (target, options) => GameboardInteractionCommand

Plan a high-level interaction command from a target input.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand

interaction

interaction: (target, options) => GameboardInteractionTargetReport

Resolve and inspect an interaction target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionTargetOptions = {}

Returns

GameboardInteractionTargetReport

move

move: (actor, to, options) => Entity

Move an actor to another tile.

Parameters
actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions = {}

Returns

Entity

navigationProfile: (actor, options) => GameboardNavigationProfile

Create an actor-aware navigation profile.

Parameters
actor

string | Entity

options?

GameboardActorNavigationOptions = {}

Returns

GameboardNavigationProfile

neighborhood

neighborhood: (center, options) => GameboardNeighborhoodInspection

Inspect a radius of tiles around a center.

Parameters
center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions = {}

Returns

GameboardNeighborhoodInspection

read

read: () => GameboardActorSnapshot[]

Read all registered actors.

Returns

GameboardActorSnapshot[]

register

register: (placement, options) => Entity

Register an existing placement as an actor.

Parameters
placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity

select

select: (options) => GameboardActorSelection

Select actors with optional faction, team, tag, radius, and hostility filters.

Parameters
options?

GameboardActorSelectionOptions = {}

Returns

GameboardActorSelection

spawn

spawn: (options) => Entity

Spawn a placement and register it as an actor.

Parameters
options

SpawnGameboardActorOptions

Returns

Entity

targets

targets: (options) => GameboardActorTargetingReport

Select and path to candidate actor targets.

Parameters
options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport

tile

tile: (coordinates, options) => GameboardTileInspection

Inspect one tile from an actor/gameplay perspective.

Parameters
coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions = {}

Returns

GameboardTileInspection

update

update: (actor, options) => Entity

Update actor trait state while preserving omitted fields.

Parameters
actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity

advanceAllQuests

advanceAllQuests: (options?) => GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:571

Advance every quest against the current live actor, placement, and tile state.

Parameters
options?

AdvanceGameboardQuestOptions

Returns

GameboardQuestSnapshot[]

advanceQuest

advanceQuest: (quest, options?) => GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:566

Advance one quest against the current live actor, placement, and tile state.

Parameters
quest

string | Entity

options?

AdvanceGameboardQuestOptions

Returns

GameboardQuestSnapshot

analyzeLayoutFill

analyzeLayoutFill: (options) => GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:447

Analyze seeded layout fill rules against the live projected world.

Parameters
options

GameboardLayoutFillOptions

Returns

GameboardLayoutFillAnalysis

analyzePieceFills

analyzePieceFills: (registry, fills, options?) => GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:497

Analyze generated piece fills against the current projected plan.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

GameboardLayoutFillAnalysis

analyzePieceRegistry

analyzePieceRegistry: (registry, options?) => GameboardPieceRegistryAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:477

Analyze a custom piece registry.

Parameters
registry

GameboardPieceRegistry

options?

AnalyzeGameboardPieceRegistryOptions

Returns

GameboardPieceRegistryAnalysis

canOccupyPlacement

canOccupyPlacement: (options) => boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:369

Return the boolean result from inspectPlacementOccupancy.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

boolean

commands

readonly commands: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:318

Command planning/execution actions.

execute

execute: (commandOrTarget, options) => GameboardInteractionCommandExecution

Execute a command with optional host-game handlers.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions = {}

Returns

GameboardInteractionCommandExecution

plan

plan: (target, options) => GameboardInteractionCommand

Plan a command from a renderer or gameplay target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand

preview

preview: (commandOrTarget, options) => GameboardInteractionCommandPreview

Preview a command without mutating state.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions = {}

Returns

GameboardInteractionCommandPreview

targetCommand

targetCommand: (options) => GameboardActorTargetCommandPlan

Select an actor target and plan a command against it.

Parameters
options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan

createInteropSnapshot

createInteropSnapshot: (options?) => GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:420

Create an ECS interop snapshot from the live runtime.

Parameters
options?

GameboardRuntimeInteropOptions

Returns

GameboardInteropSnapshot

createLayoutFillPlacements

createLayoutFillPlacements: (options) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:449

Create seeded layout fill placement options without mutating the live world.

Parameters
options

GameboardLayoutFillOptions

Returns

SpawnGameboardPlacementOptions[]

createLayoutPlacements

createLayoutPlacements: (options) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:443

Create layout placement spawn options without mutating the live world.

Parameters
options

GameboardLayoutPlacementOptions

Returns

SpawnGameboardPlacementOptions[]

createNavigation

createNavigation: (profile?) => GameboardNavigation

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:429

Create a pathfinding/navigation facade from the live projected world.

Parameters
profile?

GameboardNavigationProfile

Returns

GameboardNavigation

createOccupancyIndex

createOccupancyIndex: (profile?) => GameboardOccupancyIndex

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:427

Create a navigation occupancy index from the live projected world.

Parameters
profile?

GameboardNavigationProfile

Returns

GameboardOccupancyIndex

createPieceFillRules

createPieceFillRules: (registry, options?) => GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:487

Create layout fill rules from selected registry pieces.

Parameters
registry

GameboardPieceRegistry

options?

GameboardPieceRegistryFillRulesOptions

Returns

GameboardLayoutFillRule[]

createPiecePlacementOptions

createPiecePlacementOptions: (piece, options?) => GameboardLayoutPlacementOptions

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:457

Convert a piece declaration to layout placement options.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

GameboardLayoutPlacementOptions

createPiecePlacements

createPiecePlacements: (piece, options?) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:462

Create placement options for a piece against the current projected plan.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

SpawnGameboardPlacementOptions[]

createPiecePoolFillRule

createPiecePoolFillRule: (pieces, options?) => GameboardLayoutFillRule

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:492

Create one pooled fill rule from a piece collection.

Parameters
pieces

readonly GameboardPieceDeclaration[]

options?

GameboardPieceCollectionLayoutRuleOptions

Returns

GameboardLayoutFillRule

createPieceSourceUrlMap

createPieceSourceUrlMap: (registry, options?) => Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:515

Create an asset-id-to-URL map for local custom pieces.

Parameters
registry

GameboardPieceRegistry

options?

GameboardPieceSourceUrlOptions

Returns

Readonly<Record<string, string>>

dispatchActorTargetCommand

dispatchActorTargetCommand: (options, commandOptions?) => DispatchGameboardActorTargetCommandResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:592

Select an actor target and dispatch the planned command.

Parameters
options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions

Returns

DispatchGameboardActorTargetCommandResult

dispatchCommand

dispatchCommand: (commandOrTarget, options?) => DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:587

Execute a command and return dispatch events.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions

Returns

DispatchGameboardInteractionCommandResult

executeCommand

executeCommand: (commandOrTarget, options?) => GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:597

Execute a command without wrapping it in system events.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions

Returns

GameboardInteractionCommandExecution

findActor

findActor: (actor) => GameboardActorSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:535

Find one actor by entity, placement id, or stable actor id.

Parameters
actor

string | Entity

Returns

GameboardActorSnapshot | undefined

findQuest

findQuest: (quest) => GameboardQuestSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:562

Find one quest by entity or stable quest id.

Parameters
quest

string | Entity

Returns

GameboardQuestSnapshot | undefined

inspectActorTargets

inspectActorTargets: (options) => GameboardActorTargetingReport

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:418

Select and rank actor targets with path and command planning.

Parameters
options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport

inspectLayoutSites

inspectLayoutSites: (options?) => GameboardLayoutSiteInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:439

Inspect layout candidates and rejections against the live projected world.

Parameters
options?

InspectGameboardLayoutSitesOptions

Returns

GameboardLayoutSiteInspection

inspectNeighborhood

inspectNeighborhood: (center, options?) => GameboardNeighborhoodInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:411

Inspect a radius around a tile, placement, actor, or coordinate.

Parameters
center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions

Returns

GameboardNeighborhoodInspection

inspectPieceFills

inspectPieceFills: (registry, fills, options?) => SeededGameboardPieceFillInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:503

Inspect generated piece fills with candidate and rejection details.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

SeededGameboardPieceFillInspection

inspectPiecePlacement

inspectPiecePlacement: (piece, options?) => GameboardPiecePlacementInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:467

Inspect where a piece can be placed against the current projected plan.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

GameboardPiecePlacementInspection

inspectPlacementOccupancy

inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:365

Inspect whether a placement footprint can occupy the current live board.

This is the preflight path for construction cursors, drag previews, unit moves, and generated fills before mutating the world.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection

inspectTile

inspectTile: (coordinates, options?) => GameboardTileInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:406

Inspect one tile, placement, actor, or coordinate in live state.

Parameters
coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions

Returns

GameboardTileInspection

interact

interact: (commandOrTarget, options?) => RunGameboardInteractionResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:602

Dispatch a command and optionally run systems.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions

Returns

RunGameboardInteractionResult

interactActorTarget

interactActorTarget: (options, interactionOptions?) => RunGameboardActorTargetInteractionResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:607

Target an actor, dispatch the command, and optionally run systems.

Parameters
options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions

Returns

RunGameboardActorTargetInteractionResult

loadPlan

loadPlan: (plan) => GameboardEntityIndex

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:322

Load a plan into the bound world.

Parameters
plan

GameboardPlan

Returns

GameboardEntityIndex

mountInterop

mountInterop: <TEntity>(adapter, options?) => GameboardEcsMountResult<TEntity>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:422

Mount the live runtime snapshot into another ECS/store adapter.

Type Parameters
TEntity

TEntity

Parameters
adapter

GameboardEcsAdapter<TEntity>

options?

GameboardRuntimeInteropOptions

Returns

GameboardEcsMountResult<TEntity>

moveActor

moveActor: (actor, to, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:546

Move an actor-backed placement by actor id or entity.

Parameters
actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions

Returns

Entity

movement

readonly movement: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:312

Movement actions.

advance

advance: (placement, options) => GameboardMovementAdvanceResult

Advance one placement along its requested path.

Parameters
placement

string | Entity

options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult

clear

clear: (placement) => Entity

Clear active movement path state for a placement.

Parameters
placement

string | Entity

Returns

Entity

reachable

reachable: (placement, options) => GameboardReachableTile[]

Return tiles reachable by one movement agent.

Parameters
placement

string | Entity

options?

GameboardMovementOptions = {}

Returns

GameboardReachableTile[]

requestMove

requestMove: (placement, destination, options) => GameboardMovementRequestResult

Request movement to a destination.

Parameters
placement

string | Entity

destination

string | HexCoordinates

options?

GameboardMovementPathRequestOptions = {}

Returns

GameboardMovementRequestResult

resetBudget

resetBudget: (placement?, options) => readonly Entity[]

Reset movement budget for one or all movement agents.

Parameters
placement?

string | Entity

options?

GameboardMovementOptions = {}

Returns

readonly Entity[]

runSystem

runSystem: (options) => GameboardMovementAdvanceResult[]

Advance all active movement agents.

Parameters
options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult[]

setAgent

setAgent: (placement, options) => Entity

Add or update a movement agent on a placement.

Parameters
placement

string | Entity

options?

SetGameboardMovementAgentOptions = {}

Returns

Entity

movePlacement

movePlacement: (placement, to, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:394

Move one placement to a new tile or coordinate-like target.

Use this for actor movement, build previews, temporary markers, and gameplay props that should remain in the same Koota entity.

Parameters
placement

string | Entity

to

string | HexCoordinates

options?

Omit<UpdateGameboardPlacementOptions, "at">

Returns

Entity

patrol

readonly patrol: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:314

Patrol actions.

advance

advance: (placement, options) => GameboardPatrolAdvanceResult

Advance one patrol agent.

Parameters
placement

string | Entity

options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult

clear

clear: (placement) => Entity

Remove patrol traits from a placement.

Parameters
placement

string | Entity

Returns

Entity

read

read: () => GameboardPatrolSnapshot[]

Read all patrol snapshots.

Returns

GameboardPatrolSnapshot[]

run

run: (options) => GameboardPatrolAdvanceResult[]

Advance every patrol agent in the world.

Parameters
options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult[]

set

set: (placement, options) => Entity

Attach or replace a patrol agent.

Parameters
placement

string | Entity

options

SetGameboardPatrolAgentOptions

Returns

Entity

plan

plan: () => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:324

Project the live world to a renderable plan.

Returns

GameboardPlan

planActorTargetCommand

planActorTargetCommand: (options) => GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:578

Plan a command against the selected actor target.

Parameters
options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan

planCommand

planCommand: (target, options?) => GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:573

Plan a command from a renderer or gameplay target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions

Returns

GameboardInteractionCommand

planPatrolRoute

planPatrolRoute: (options) => GameboardPatrolRoutePlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:435

Plan one patrol route from the live projected world.

Parameters
options

GameboardPatrolRouteOptions

Returns

GameboardPatrolRoutePlan

planPatrolRoutes

planPatrolRoutes: (options) => GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:437

Plan a patrol route set from the live projected world.

Parameters
options

GameboardPatrolRouteSetOptions

Returns

GameboardPatrolRouteSet

planSpawnGroups

planSpawnGroups: (options) => GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:433

Plan spawn groups from the live projected world.

Parameters
options

GameboardSpawnGroupOptions

Returns

GameboardSpawnGroupPlan

previewCommand

previewCommand: (commandOrTarget, options?) => GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:582

Preview command execution without mutating state.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions

Returns

GameboardInteractionCommandPreview

quests

readonly quests: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:316

Quest actions.

advance

advance: (quest, options) => GameboardQuestSnapshot

Advance one quest entity.

Parameters
quest

string | Entity

options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot

advanceAll

advanceAll: (options) => GameboardQuestSnapshot[]

Advance every quest entity.

Parameters
options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot[]

find

find: (quest) => GameboardQuestSnapshot | undefined

Find one quest snapshot.

Parameters
quest

string | Entity

Returns

GameboardQuestSnapshot | undefined

read

read: () => GameboardQuestSnapshot[]

Read all quest snapshots.

Returns

GameboardQuestSnapshot[]

spawn

spawn: (definition, options) => Entity

Spawn a quest entity.

Parameters
definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions = {}

Returns

Entity

readActors

readActors: () => GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:537

Read all registered actors joined with their placement and tile records.

Returns

GameboardActorSnapshot[]

readActorsForTile

readActorsForTile: (coordinates) => GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:544

Read registered actors whose placement origin is one tile.

Use this for hover cards, collision probes, encounter checks, and external ECS sync when a game needs actor semantics instead of raw placements.

Parameters
coordinates

string | HexCoordinates

Returns

GameboardActorSnapshot[]

readPlacementOccupancy

readPlacementOccupancy: () => PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:351

Read every placement footprint currently reserving or blocking tiles.

The returned records include origin and occupied tile metadata, so UI and pathfinding bridges can reason about multi-hex structures and blockers.

Returns

PlacementOccupancySnapshot[]

readPlacementOccupancyForTile

readPlacementOccupancyForTile: (coordinates) => PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:358

Read occupancy records for one tile.

Prefer this over filtering readPlacementOccupancy() in UI panels, collision probes, and external ECS bridges that only need one hex.

Parameters
coordinates

string | HexCoordinates

Returns

PlacementOccupancySnapshot[]

readPlacements

readPlacements: () => object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:337

Read serializable placement records from live state.

Use this for save data, editor panels, renderer diffing, and external ECS mirrors that do not need raw Koota relation stores.

Returns
readPlacementsForTile

readPlacementsForTile: (coordinates) => object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:344

Read serializable placement records that occupy one tile.

This includes placements whose multi-tile footprint covers the tile, not only placements whose canonical origin is the tile.

Parameters
coordinates

string | HexCoordinates

Returns
readQuests

readQuests: () => GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:564

Read all quest snapshots from live state for HUDs, saves, and tests.

Returns

GameboardQuestSnapshot[]

registerActor

registerActor: (placement, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:528

Attach actor state to an existing placement.

Register existing placements when a neutral prop, marker, structure, or externally declared piece becomes selectable, interactive, hostile, or quest-addressable after startup.

Parameters
placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity

removePlacement

removePlacement: (placement) => boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:404

Remove one placement entity and its placement relations from the live world.

Returns false when the entity or placement id cannot be found.

Parameters
placement

string | Entity

Returns

boolean

selectActors

selectActors: (options?) => GameboardActorSelection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:416

Select actors from live state using actor-aware filters.

Parameters
options?

GameboardActorSelectionOptions

Returns

GameboardActorSelection

selectPieces

selectPieces: (registry, selection?) => GameboardPieceDeclaration[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:482

Select declarations from a custom piece registry.

Parameters
registry

GameboardPieceRegistry

selection?

GameboardPieceRegistrySelection

Returns

GameboardPieceDeclaration[]

selectSpawnLocations

selectSpawnLocations: (options) => SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:431

Select deterministic spawn locations from the live projected world.

Parameters
options

GameboardSpawnLocationOptions

Returns

SpawnLocation[]

snapshot

snapshot: (options?) => GameboardRuntimeSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:330

Read a serializable runtime snapshot.

Parameters
options?

GameboardRuntimeSnapshotOptions

Returns

GameboardRuntimeSnapshot

spawnActor

spawnActor: (options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:520

Spawn an actor-backed placement.

Parameters
options

SpawnGameboardActorOptions

Returns

Entity

spawnLayoutFill

spawnLayoutFill: (options) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:455

Spawn a generated layout fill into the live world.

Parameters
options

GameboardLayoutFillOptions

Returns

Entity[]

spawnLayoutPlacements

spawnLayoutPlacements: (options) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:453

Spawn explicit layout placements into the live world.

Parameters
options

GameboardLayoutPlacementOptions

Returns

Entity[]

spawnPiece

spawnPiece: (piece, options?) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:472

Spawn one declared piece into the live world.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

Entity[]

spawnPieceFills

spawnPieceFills: (registry, fills, options?) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:509

Spawn generated piece fills into the live world.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

Entity[]

spawnPlacement

spawnPlacement: (options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:376

Spawn one renderable placement into the live world.

Pass occupancyGuard: true when the spawn should fail instead of overlapping an existing blocker or missing footprint tile.

Parameters
options

SpawnGameboardPlacementOptions

Returns

Entity

spawnQuest

spawnQuest: (definition, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:557

Spawn a quest definition into the live world.

Quest objectives can reference actor ids, placement ids, and tile keys, so scenario and runtime-created quests use the same progression surface.

Parameters
definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions

Returns

Entity

summarizePlan

summarizePlan: (options?) => GameboardPlanSummary

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:326

Summarize the live projected plan for editor, diagnostics, and bridge code.

Parameters
options?

SummarizeGameboardPlanOptions

Returns

GameboardPlanSummary

systems

readonly systems: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:320

System dispatch/tick actions.

dispatchActorTargetCommand

dispatchActorTargetCommand: (options, commandOptions) => DispatchGameboardActorTargetCommandResult

Select an actor target, then execute its planned command.

Parameters
options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardActorTargetCommandResult

dispatchCommand

dispatchCommand: (commandOrTarget, options) => DispatchGameboardInteractionCommandResult

Execute one command and emit dispatch event records.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardInteractionCommandResult

interact

interact: (commandOrTarget, options) => RunGameboardInteractionResult

Dispatch a command and optionally tick systems.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions = {}

Returns

RunGameboardInteractionResult

interactActorTarget

interactActorTarget: (options, interactionOptions) => RunGameboardActorTargetInteractionResult

Target an actor, dispatch the command, and optionally tick systems.

Parameters
options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions = {}

Returns

RunGameboardActorTargetInteractionResult

run

run: (options) => RunGameboardSystemsResult

Run enabled patrol, movement, and quest systems for one tick.

Parameters
options?

RunGameboardSystemsOptions = {}

Returns

RunGameboardSystemsResult

tick

tick: (options?) => RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:612

Run enabled systems for one game-loop tick.

Parameters
options?

RunGameboardSystemsOptions

Returns

RunGameboardSystemsResult

updateActor

updateActor: (actor, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:533

Update actor state while preserving omitted fields and placement binding.

Parameters
actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity

updatePlacement

updatePlacement: (placement, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:384

Update one placement in the live world while preserving omitted fields.

The helper refreshes placement classification and footprint relations when fields such as coordinates, kind, layer, footprint, tags, or blocking behavior change.

Parameters
placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity

validationPlan

validationPlan: () => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:328

Project the live world to a plan shape suitable for validation.

Returns

GameboardPlan

world

readonly world: World

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:306

Bound Koota world.


GameboardRuntimeInteropOptions

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:498

Options for runtime interop snapshots.

Extends

Properties

includeActors?

optional includeActors?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:500

Include actor entities and relations.

includePlacements?

optional includePlacements?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:450

Include placement entities and relations. Defaults to true.

Inherited from

GameboardInteropOptions.includePlacements

includeQuests?

optional includeQuests?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:502

Include quest entities and relations.

spawnLocations?

optional spawnLocations?: Omit<SpawnLocationOptions, "shape">

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:452

Optional spawn-location generation options.

Inherited from

GameboardInteropOptions.spawnLocations


GameboardRuntimeInteropState

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:484

Runtime state accepted by runtime interop snapshots.

Properties

actors?

optional actors?: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:488

Runtime actor snapshots.

plan

plan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:486

Current board plan.

quests?

optional quests?: readonly GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:490

Runtime quest snapshots.

scenario?

optional scenario?: GameboardInteropScenarioRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:492

Optional scenario metadata.


GameboardRuntimeSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:276

Full serializable snapshot of a live runtime facade.

Properties

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:288

Current actor snapshots.

interop?

optional interop?: GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:292

Optional ECS interop snapshot.

placementOccupancy

placementOccupancy: readonly PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:286

Current placement footprint occupancy records.

placements

placements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:284

Current placement records.

plan

plan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:280

Renderable/current projected gameboard plan.

quests

quests: readonly GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:290

Current quest snapshots.

state

state: GameboardSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:278

Low-level board snapshot from Koota traits and relations.

validationPlan?

optional validationPlan?: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:282

Validation-oriented plan when requested.


GameboardRuntimeSnapshotOptions

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:266

Snapshot options for the runtime facade.

Extends

Properties

includeInterop?

optional includeInterop?: boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:268

Include a runtime interop snapshot. Defaults to true.

includePlacements?

optional includePlacements?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:450

Include placement entities and relations. Defaults to true.

Inherited from

GameboardInteropOptions.includePlacements

includeValidationPlan?

optional includeValidationPlan?: boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:270

Include the validation-oriented plan projection.

spawnLocations?

optional spawnLocations?: Omit<SpawnLocationOptions, "shape">

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:452

Optional spawn-location generation options.

Inherited from

GameboardInteropOptions.spawnLocations


GameboardScenario

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:96

Serializable integration/e2e scenario using recipes, actors, routes, and quests.

Properties

actors?

optional actors?: readonly GameboardScenarioActor[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:110

Actors to spawn into the scenario runtime.

board

board: GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:104

Board recipe used to compile the scenario map.

id

id: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:100

Stable scenario id.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:114

Additional serializable scenario metadata.

patrolRoutes?

optional patrolRoutes?: readonly GameboardScenarioPatrolRoute[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:108

Deterministic patrol route rules for scenario actors.

quests?

optional quests?: readonly GameboardQuestDefinition[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:112

Quests to spawn into the scenario runtime.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:98

Version tag for migration-safe scenario persistence.

spawnGroups?

optional spawnGroups?: GameboardSpawnGroupOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:106

Deterministic spawn group rules for scenario actors.

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:102

Optional display title.


GameboardScenarioActor

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:56

Authored actor entry in a scenario, with optional spawn group resolution.

Extends

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:54

Stable gameplay actor id.

Inherited from

GameboardActorRegistrationOptions.actorId

actorKind?

optional actorKind?: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56

Gameplay actor kind. Defaults from placement kind.

Inherited from

GameboardActorRegistrationOptions.actorKind

actorMetadata?

optional actorMetadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:70

Serializable actor metadata independent from placement metadata.

Inherited from

GameboardActorRegistrationOptions.actorMetadata

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:302

Manifest or external registry asset id to render.

Inherited from

SpawnGameboardPlacementOptions.assetId

at?

optional at?: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:58

Explicit spawn coordinate or tile key; omitted when using a spawn group.

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64

Whether this actor blocks actor movement.

Inherited from

GameboardActorRegistrationOptions.blocksMovement

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

Inherited from

SpawnGameboardPlacementOptions.elevationOffset

faction?

optional faction?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58

Optional faction identifier.

Inherited from

GameboardActorRegistrationOptions.faction

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62

Whether this actor is generally hostile.

Inherited from

GameboardActorRegistrationOptions.hostile

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:298

Explicit placement id. Defaults to a deterministic runtime id.

Inherited from

SpawnGameboardPlacementOptions.id

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:66

Whether this actor should be considered an interaction target.

Inherited from

GameboardActorRegistrationOptions.interactive

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:304

Gameplay category for rules, selectors, and rendering.

Inherited from

SpawnGameboardPlacementOptions.kind

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306

Render and occupancy layer. Defaults from kind.

Inherited from

SpawnGameboardPlacementOptions.layer

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

Inherited from

SpawnGameboardPlacementOptions.metadata

movementAgent?

optional movementAgent?: SetGameboardMovementAgentOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:64

Optional movement agent to attach after spawning.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

Inherited from

SpawnGameboardPlacementOptions.occupancyGuard

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

Inherited from

SpawnGameboardPlacementOptions.order

patrolAgent?

optional patrolAgent?: GameboardScenarioActorPatrolAgent

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:66

Optional patrol agent to attach after spawning.

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

Inherited from

SpawnGameboardPlacementOptions.positionOffset

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

Inherited from

SpawnGameboardPlacementOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314

Clockwise 60-degree rotation steps.

Inherited from

SpawnGameboardPlacementOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

Inherited from

SpawnGameboardPlacementOptions.scale

spawnGroupId?

optional spawnGroupId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:60

Spawn group id to claim a deterministic spawn location from.

spawnLocationIndex?

optional spawnLocationIndex?: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:62

Explicit spawn location index inside the referenced spawn group.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

Inherited from

SpawnGameboardPlacementOptions.stackIndex

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:68

Free-form actor tags used by selectors and quests.

Inherited from

GameboardActorRegistrationOptions.tags

team?

optional team?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:60

Optional team identifier. Defaults to faction when omitted.

Inherited from

GameboardActorRegistrationOptions.team

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.

Inherited from

SpawnGameboardPlacementOptions.textureSet


GameboardScenarioActorPatrolAgent

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:89

Patrol agent definition that references a named scenario route.

Extends

Properties

active?

optional active?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:63

Whether the patrol starts active.

Inherited from

SetGameboardPatrolAgentOptions.active

alignToCurrentTile?

optional alignToCurrentTile?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:61

Align starting waypoint to the placement's current tile when possible.

Inherited from

SetGameboardPatrolAgentOptions.alignToCurrentTile

currentWaypointIndex?

optional currentWaypointIndex?: number

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:59

Starting waypoint index.

Inherited from

SetGameboardPatrolAgentOptions.currentWaypointIndex

movement?

optional movement?: GameboardMovementPathRequestOptions

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:67

Movement options used when requesting segment movement.

Inherited from

SetGameboardPatrolAgentOptions.movement

pauseTicks?

optional pauseTicks?: number

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:65

Ticks to wait after reaching each waypoint.

Inherited from

SetGameboardPatrolAgentOptions.pauseTicks

routeId

routeId: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:92

Scenario patrol route id to attach to the actor.


GameboardScenarioActorSummary

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

Serializable row for one authored or spawn-group-resolved scenario actor.

Properties

actorId

actorId: string

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

Stable actor id.

actorKind

actorKind: string

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

Gameplay actor kind.

assetId

assetId: string

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

Manifest or external registry asset id.

blocksMovement

blocksMovement: boolean

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

Whether this actor blocks movement.

hostile

hostile: boolean

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

Whether this actor is generally hostile.

interactive

interactive: boolean

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

Whether this actor is an interaction target.

movementProfileId?

optional movementProfileId?: string

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

Movement profile id, when a movement agent is authored.

patrolRouteId?

optional patrolRouteId?: string

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

Referenced patrol route, when a patrol agent is authored.

requiresExtra

requiresExtra: boolean

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

Whether this actor depends on local-only assets.

spawnGroupId?

optional spawnGroupId?: string

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

Referenced spawn group, when any.

spawnLocationIndex?

optional spawnLocationIndex?: number

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

Claimed spawn location index, when any.

tags

tags: readonly string[]

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

Selector tags authored on the actor.

team?

optional team?: string

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

Team or faction id used for interaction logic.

tileKey?

optional tileKey?: string

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

Resolved or explicit spawn tile key, when known.


GameboardScenarioAssetSummary

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:183

Asset-level count and gameplay treatment for scenario actors.

Properties

actorKinds

actorKinds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:191

Actor kinds using this asset.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:185

Manifest or external registry asset id.

count

count: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:187

Number of actors that use the asset.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:189

Whether any actor using this asset requires local-only assets.

teams

teams: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:193

Teams or factions using this asset.


GameboardScenarioGameRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:619

Runtime facade created from a scenario, preserving scenario-specific indexes and source URL helpers.

Extends

Properties

actions

readonly actions: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:308

Raw board placement actions.

canOccupyPlacement

canOccupyPlacement: (options) => boolean

Return only the boolean occupancy result for a proposed placement.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

boolean

clear

clear: () => void

Remove all board tile, placement, and board-state traits from the world.

Returns

void

inspectPlacementOccupancy

inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection

Inspect whether a proposed placement footprint can occupy its target tiles.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection

loadPlan

loadPlan: (plan) => GameboardEntityIndex

Replace the current world contents with a complete generated board plan.

Parameters
plan

GameboardPlan

Returns

GameboardEntityIndex

movePlacement

movePlacement: (placement, to, options) => Entity

Move an existing placement to another tile while preserving unspecified state.

Parameters
placement

string | Entity

to

string | HexCoordinates

options?

UpdateGameboardPlacementOptions = {}

Returns

Entity

removePlacement

removePlacement: (placement) => boolean

Remove an existing placement by entity or placement id.

Parameters
placement

string | Entity

Returns

boolean

spawnPlacement

spawnPlacement: (options) => Entity

Spawn a runtime placement into the board.

Parameters
options

SpawnGameboardPlacementOptions

Returns

Entity

updatePlacement

updatePlacement: (placement, options) => Entity

Update an existing runtime placement by entity or placement id.

Parameters
placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity

Inherited from

GameboardRuntime.actions

actorEntities

readonly actorEntities: Readonly<Record<string, Entity>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:623

Scenario actor entity index by actor id.

actors

readonly actors: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:310

Actor actions.

collision

collision: (actor, target, profile) => GameboardActorCollisionReport

Inspect whether an actor can enter a target tile.

Parameters
actor

string | Entity | undefined

target

string | HexCoordinates

profile?

GameboardActorCollisionProfile = {}

Returns

GameboardActorCollisionReport

command

command: (target, options) => GameboardInteractionCommand

Plan a high-level interaction command from a target input.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand

interaction

interaction: (target, options) => GameboardInteractionTargetReport

Resolve and inspect an interaction target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionTargetOptions = {}

Returns

GameboardInteractionTargetReport

move

move: (actor, to, options) => Entity

Move an actor to another tile.

Parameters
actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions = {}

Returns

Entity

navigationProfile: (actor, options) => GameboardNavigationProfile

Create an actor-aware navigation profile.

Parameters
actor

string | Entity

options?

GameboardActorNavigationOptions = {}

Returns

GameboardNavigationProfile

neighborhood

neighborhood: (center, options) => GameboardNeighborhoodInspection

Inspect a radius of tiles around a center.

Parameters
center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions = {}

Returns

GameboardNeighborhoodInspection

read

read: () => GameboardActorSnapshot[]

Read all registered actors.

Returns

GameboardActorSnapshot[]

register

register: (placement, options) => Entity

Register an existing placement as an actor.

Parameters
placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity

select

select: (options) => GameboardActorSelection

Select actors with optional faction, team, tag, radius, and hostility filters.

Parameters
options?

GameboardActorSelectionOptions = {}

Returns

GameboardActorSelection

spawn

spawn: (options) => Entity

Spawn a placement and register it as an actor.

Parameters
options

SpawnGameboardActorOptions

Returns

Entity

targets

targets: (options) => GameboardActorTargetingReport

Select and path to candidate actor targets.

Parameters
options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport

tile

tile: (coordinates, options) => GameboardTileInspection

Inspect one tile from an actor/gameplay perspective.

Parameters
coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions = {}

Returns

GameboardTileInspection

update

update: (actor, options) => Entity

Update actor trait state while preserving omitted fields.

Parameters
actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.actors

advanceAllQuests

advanceAllQuests: (options?) => GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:571

Advance every quest against the current live actor, placement, and tile state.

Parameters
options?

AdvanceGameboardQuestOptions

Returns

GameboardQuestSnapshot[]

Inherited from

GameboardRuntime.advanceAllQuests

advanceQuest

advanceQuest: (quest, options?) => GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:566

Advance one quest against the current live actor, placement, and tile state.

Parameters
quest

string | Entity

options?

AdvanceGameboardQuestOptions

Returns

GameboardQuestSnapshot

Inherited from

GameboardRuntime.advanceQuest

analyzeLayoutFill

analyzeLayoutFill: (options) => GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:447

Analyze seeded layout fill rules against the live projected world.

Parameters
options

GameboardLayoutFillOptions

Returns

GameboardLayoutFillAnalysis

Inherited from

GameboardRuntime.analyzeLayoutFill

analyzePieceFills

analyzePieceFills: (registry, fills, options?) => GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:497

Analyze generated piece fills against the current projected plan.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

GameboardLayoutFillAnalysis

Inherited from

GameboardRuntime.analyzePieceFills

analyzePieceRegistry

analyzePieceRegistry: (registry, options?) => GameboardPieceRegistryAnalysis

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:477

Analyze a custom piece registry.

Parameters
registry

GameboardPieceRegistry

options?

AnalyzeGameboardPieceRegistryOptions

Returns

GameboardPieceRegistryAnalysis

Inherited from

GameboardRuntime.analyzePieceRegistry

canOccupyPlacement

canOccupyPlacement: (options) => boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:369

Return the boolean result from inspectPlacementOccupancy.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

boolean

Inherited from

GameboardRuntime.canOccupyPlacement

commands

readonly commands: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:318

Command planning/execution actions.

execute

execute: (commandOrTarget, options) => GameboardInteractionCommandExecution

Execute a command with optional host-game handlers.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions = {}

Returns

GameboardInteractionCommandExecution

plan

plan: (target, options) => GameboardInteractionCommand

Plan a command from a renderer or gameplay target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand

preview

preview: (commandOrTarget, options) => GameboardInteractionCommandPreview

Preview a command without mutating state.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions = {}

Returns

GameboardInteractionCommandPreview

targetCommand

targetCommand: (options) => GameboardActorTargetCommandPlan

Select an actor target and plan a command against it.

Parameters
options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan

Inherited from

GameboardRuntime.commands

createInteropSnapshot

createInteropSnapshot: (options?) => GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:420

Create an ECS interop snapshot from the live runtime.

Parameters
options?

GameboardRuntimeInteropOptions

Returns

GameboardInteropSnapshot

Inherited from

GameboardRuntime.createInteropSnapshot

createLayoutFillPlacements

createLayoutFillPlacements: (options) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:449

Create seeded layout fill placement options without mutating the live world.

Parameters
options

GameboardLayoutFillOptions

Returns

SpawnGameboardPlacementOptions[]

Inherited from

GameboardRuntime.createLayoutFillPlacements

createLayoutPlacements

createLayoutPlacements: (options) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:443

Create layout placement spawn options without mutating the live world.

Parameters
options

GameboardLayoutPlacementOptions

Returns

SpawnGameboardPlacementOptions[]

Inherited from

GameboardRuntime.createLayoutPlacements

createNavigation

createNavigation: (profile?) => GameboardNavigation

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:429

Create a pathfinding/navigation facade from the live projected world.

Parameters
profile?

GameboardNavigationProfile

Returns

GameboardNavigation

Inherited from

GameboardRuntime.createNavigation

createOccupancyIndex

createOccupancyIndex: (profile?) => GameboardOccupancyIndex

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:427

Create a navigation occupancy index from the live projected world.

Parameters
profile?

GameboardNavigationProfile

Returns

GameboardOccupancyIndex

Inherited from

GameboardRuntime.createOccupancyIndex

createPieceFillRules

createPieceFillRules: (registry, options?) => GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:487

Create layout fill rules from selected registry pieces.

Parameters
registry

GameboardPieceRegistry

options?

GameboardPieceRegistryFillRulesOptions

Returns

GameboardLayoutFillRule[]

Inherited from

GameboardRuntime.createPieceFillRules

createPiecePlacementOptions

createPiecePlacementOptions: (piece, options?) => GameboardLayoutPlacementOptions

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:457

Convert a piece declaration to layout placement options.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

GameboardLayoutPlacementOptions

Inherited from

GameboardRuntime.createPiecePlacementOptions

createPiecePlacements

createPiecePlacements: (piece, options?) => SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:462

Create placement options for a piece against the current projected plan.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

SpawnGameboardPlacementOptions[]

Inherited from

GameboardRuntime.createPiecePlacements

createPiecePoolFillRule

createPiecePoolFillRule: (pieces, options?) => GameboardLayoutFillRule

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:492

Create one pooled fill rule from a piece collection.

Parameters
pieces

readonly GameboardPieceDeclaration[]

options?

GameboardPieceCollectionLayoutRuleOptions

Returns

GameboardLayoutFillRule

Inherited from

GameboardRuntime.createPiecePoolFillRule

createPieceSourceUrlMap

createPieceSourceUrlMap: (registry, options?) => Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:515

Create an asset-id-to-URL map for local custom pieces.

Parameters
registry

GameboardPieceRegistry

options?

GameboardPieceSourceUrlOptions

Returns

Readonly<Record<string, string>>

Inherited from

GameboardRuntime.createPieceSourceUrlMap

createScenarioInteropSnapshot

createScenarioInteropSnapshot: (options?) => GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:635

Create an interop snapshot from the original scenario definition.

Parameters
options?

GameboardScenarioInteropOptions

Returns

GameboardInteropSnapshot

createScenarioPieceSourceUrlMap

createScenarioPieceSourceUrlMap: (options?) => Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:646

Create an asset-id-to-URL map for scenario-local custom pieces.

Parameters
options?

GameboardPieceSourceUrlOptions

Returns

Readonly<Record<string, string>>

dispatchActorTargetCommand

dispatchActorTargetCommand: (options, commandOptions?) => DispatchGameboardActorTargetCommandResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:592

Select an actor target and dispatch the planned command.

Parameters
options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions

Returns

DispatchGameboardActorTargetCommandResult

Inherited from

GameboardRuntime.dispatchActorTargetCommand

dispatchCommand

dispatchCommand: (commandOrTarget, options?) => DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:587

Execute a command and return dispatch events.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions

Returns

DispatchGameboardInteractionCommandResult

Inherited from

GameboardRuntime.dispatchCommand

executeCommand

executeCommand: (commandOrTarget, options?) => GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:597

Execute a command without wrapping it in system events.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions

Returns

GameboardInteractionCommandExecution

Inherited from

GameboardRuntime.executeCommand

findActor

findActor: (actor) => GameboardActorSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:535

Find one actor by entity, placement id, or stable actor id.

Parameters
actor

string | Entity

Returns

GameboardActorSnapshot | undefined

Inherited from

GameboardRuntime.findActor

findQuest

findQuest: (quest) => GameboardQuestSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:562

Find one quest by entity or stable quest id.

Parameters
quest

string | Entity

Returns

GameboardQuestSnapshot | undefined

Inherited from

GameboardRuntime.findQuest

inspectActorTargets

inspectActorTargets: (options) => GameboardActorTargetingReport

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:418

Select and rank actor targets with path and command planning.

Parameters
options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport

Inherited from

GameboardRuntime.inspectActorTargets

inspectLayoutSites

inspectLayoutSites: (options?) => GameboardLayoutSiteInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:439

Inspect layout candidates and rejections against the live projected world.

Parameters
options?

InspectGameboardLayoutSitesOptions

Returns

GameboardLayoutSiteInspection

Inherited from

GameboardRuntime.inspectLayoutSites

inspectNeighborhood

inspectNeighborhood: (center, options?) => GameboardNeighborhoodInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:411

Inspect a radius around a tile, placement, actor, or coordinate.

Parameters
center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions

Returns

GameboardNeighborhoodInspection

Inherited from

GameboardRuntime.inspectNeighborhood

inspectPieceFills

inspectPieceFills: (registry, fills, options?) => SeededGameboardPieceFillInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:503

Inspect generated piece fills with candidate and rejection details.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

SeededGameboardPieceFillInspection

Inherited from

GameboardRuntime.inspectPieceFills

inspectPiecePlacement

inspectPiecePlacement: (piece, options?) => GameboardPiecePlacementInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:467

Inspect where a piece can be placed against the current projected plan.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

GameboardPiecePlacementInspection

Inherited from

GameboardRuntime.inspectPiecePlacement

inspectPlacementOccupancy

inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:365

Inspect whether a placement footprint can occupy the current live board.

This is the preflight path for construction cursors, drag previews, unit moves, and generated fills before mutating the world.

Parameters
options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection

Inherited from

GameboardRuntime.inspectPlacementOccupancy

inspectTile

inspectTile: (coordinates, options?) => GameboardTileInspection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:406

Inspect one tile, placement, actor, or coordinate in live state.

Parameters
coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions

Returns

GameboardTileInspection

Inherited from

GameboardRuntime.inspectTile

interact

interact: (commandOrTarget, options?) => RunGameboardInteractionResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:602

Dispatch a command and optionally run systems.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions

Returns

RunGameboardInteractionResult

Inherited from

GameboardRuntime.interact

interactActorTarget

interactActorTarget: (options, interactionOptions?) => RunGameboardActorTargetInteractionResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:607

Target an actor, dispatch the command, and optionally run systems.

Parameters
options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions

Returns

RunGameboardActorTargetInteractionResult

Inherited from

GameboardRuntime.interactActorTarget

loadPlan

loadPlan: (plan) => GameboardEntityIndex

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:322

Load a plan into the bound world.

Parameters
plan

GameboardPlan

Returns

GameboardEntityIndex

Inherited from

GameboardRuntime.loadPlan

mountInterop

mountInterop: <TEntity>(adapter, options?) => GameboardEcsMountResult<TEntity>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:422

Mount the live runtime snapshot into another ECS/store adapter.

Type Parameters
TEntity

TEntity

Parameters
adapter

GameboardEcsAdapter<TEntity>

options?

GameboardRuntimeInteropOptions

Returns

GameboardEcsMountResult<TEntity>

Inherited from

GameboardRuntime.mountInterop

mountScenarioInterop

mountScenarioInterop: <TEntity>(adapter, options?) => GameboardEcsMountResult<TEntity>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:641

Mount the original scenario definition into another ECS/store adapter.

Type Parameters
TEntity

TEntity

Parameters
adapter

GameboardEcsAdapter<TEntity>

options?

GameboardScenarioInteropOptions

Returns

GameboardEcsMountResult<TEntity>

moveActor

moveActor: (actor, to, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:546

Move an actor-backed placement by actor id or entity.

Parameters
actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.moveActor

movement

readonly movement: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:312

Movement actions.

advance

advance: (placement, options) => GameboardMovementAdvanceResult

Advance one placement along its requested path.

Parameters
placement

string | Entity

options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult

clear

clear: (placement) => Entity

Clear active movement path state for a placement.

Parameters
placement

string | Entity

Returns

Entity

reachable

reachable: (placement, options) => GameboardReachableTile[]

Return tiles reachable by one movement agent.

Parameters
placement

string | Entity

options?

GameboardMovementOptions = {}

Returns

GameboardReachableTile[]

requestMove

requestMove: (placement, destination, options) => GameboardMovementRequestResult

Request movement to a destination.

Parameters
placement

string | Entity

destination

string | HexCoordinates

options?

GameboardMovementPathRequestOptions = {}

Returns

GameboardMovementRequestResult

resetBudget

resetBudget: (placement?, options) => readonly Entity[]

Reset movement budget for one or all movement agents.

Parameters
placement?

string | Entity

options?

GameboardMovementOptions = {}

Returns

readonly Entity[]

runSystem

runSystem: (options) => GameboardMovementAdvanceResult[]

Advance all active movement agents.

Parameters
options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult[]

setAgent

setAgent: (placement, options) => Entity

Add or update a movement agent on a placement.

Parameters
placement

string | Entity

options?

SetGameboardMovementAgentOptions = {}

Returns

Entity

Inherited from

GameboardRuntime.movement

movePlacement

movePlacement: (placement, to, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:394

Move one placement to a new tile or coordinate-like target.

Use this for actor movement, build previews, temporary markers, and gameplay props that should remain in the same Koota entity.

Parameters
placement

string | Entity

to

string | HexCoordinates

options?

Omit<UpdateGameboardPlacementOptions, "at">

Returns

Entity

Inherited from

GameboardRuntime.movePlacement

patrol

readonly patrol: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:314

Patrol actions.

advance

advance: (placement, options) => GameboardPatrolAdvanceResult

Advance one patrol agent.

Parameters
placement

string | Entity

options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult

clear

clear: (placement) => Entity

Remove patrol traits from a placement.

Parameters
placement

string | Entity

Returns

Entity

read

read: () => GameboardPatrolSnapshot[]

Read all patrol snapshots.

Returns

GameboardPatrolSnapshot[]

run

run: (options) => GameboardPatrolAdvanceResult[]

Advance every patrol agent in the world.

Parameters
options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult[]

set

set: (placement, options) => Entity

Attach or replace a patrol agent.

Parameters
placement

string | Entity

options

SetGameboardPatrolAgentOptions

Returns

Entity

Inherited from

GameboardRuntime.patrol

patrolRoutes?

readonly optional patrolRoutes?: GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:629

Scenario patrol routes planned during startup.

plan

plan: () => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:324

Project the live world to a renderable plan.

Returns

GameboardPlan

Inherited from

GameboardRuntime.plan

planActorTargetCommand

planActorTargetCommand: (options) => GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:578

Plan a command against the selected actor target.

Parameters
options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan

Inherited from

GameboardRuntime.planActorTargetCommand

planCommand

planCommand: (target, options?) => GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:573

Plan a command from a renderer or gameplay target.

Parameters
target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions

Returns

GameboardInteractionCommand

Inherited from

GameboardRuntime.planCommand

planPatrolRoute

planPatrolRoute: (options) => GameboardPatrolRoutePlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:435

Plan one patrol route from the live projected world.

Parameters
options

GameboardPatrolRouteOptions

Returns

GameboardPatrolRoutePlan

Inherited from

GameboardRuntime.planPatrolRoute

planPatrolRoutes

planPatrolRoutes: (options) => GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:437

Plan a patrol route set from the live projected world.

Parameters
options

GameboardPatrolRouteSetOptions

Returns

GameboardPatrolRouteSet

Inherited from

GameboardRuntime.planPatrolRoutes

planSpawnGroups

planSpawnGroups: (options) => GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:433

Plan spawn groups from the live projected world.

Parameters
options

GameboardSpawnGroupOptions

Returns

GameboardSpawnGroupPlan

Inherited from

GameboardRuntime.planSpawnGroups

previewCommand

previewCommand: (commandOrTarget, options?) => GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:582

Preview command execution without mutating state.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions

Returns

GameboardInteractionCommandPreview

Inherited from

GameboardRuntime.previewCommand

questEntities

readonly questEntities: Readonly<Record<string, Entity>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:625

Scenario quest entity index by quest id.

quests

readonly quests: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:316

Quest actions.

advance

advance: (quest, options) => GameboardQuestSnapshot

Advance one quest entity.

Parameters
quest

string | Entity

options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot

advanceAll

advanceAll: (options) => GameboardQuestSnapshot[]

Advance every quest entity.

Parameters
options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot[]

find

find: (quest) => GameboardQuestSnapshot | undefined

Find one quest snapshot.

Parameters
quest

string | Entity

Returns

GameboardQuestSnapshot | undefined

read

read: () => GameboardQuestSnapshot[]

Read all quest snapshots.

Returns

GameboardQuestSnapshot[]

spawn

spawn: (definition, options) => Entity

Spawn a quest entity.

Parameters
definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions = {}

Returns

Entity

Inherited from

GameboardRuntime.quests

readActors

readActors: () => GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:537

Read all registered actors joined with their placement and tile records.

Returns

GameboardActorSnapshot[]

Inherited from

GameboardRuntime.readActors

readActorsForTile

readActorsForTile: (coordinates) => GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:544

Read registered actors whose placement origin is one tile.

Use this for hover cards, collision probes, encounter checks, and external ECS sync when a game needs actor semantics instead of raw placements.

Parameters
coordinates

string | HexCoordinates

Returns

GameboardActorSnapshot[]

Inherited from

GameboardRuntime.readActorsForTile

readPlacementOccupancy

readPlacementOccupancy: () => PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:351

Read every placement footprint currently reserving or blocking tiles.

The returned records include origin and occupied tile metadata, so UI and pathfinding bridges can reason about multi-hex structures and blockers.

Returns

PlacementOccupancySnapshot[]

Inherited from

GameboardRuntime.readPlacementOccupancy

readPlacementOccupancyForTile

readPlacementOccupancyForTile: (coordinates) => PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:358

Read occupancy records for one tile.

Prefer this over filtering readPlacementOccupancy() in UI panels, collision probes, and external ECS bridges that only need one hex.

Parameters
coordinates

string | HexCoordinates

Returns

PlacementOccupancySnapshot[]

Inherited from

GameboardRuntime.readPlacementOccupancyForTile

readPlacements

readPlacements: () => object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:337

Read serializable placement records from live state.

Use this for save data, editor panels, renderer diffing, and external ECS mirrors that do not need raw Koota relation stores.

Returns
Inherited from

GameboardRuntime.readPlacements

readPlacementsForTile

readPlacementsForTile: (coordinates) => object[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:344

Read serializable placement records that occupy one tile.

This includes placements whose multi-tile footprint covers the tile, not only placements whose canonical origin is the tile.

Parameters
coordinates

string | HexCoordinates

Returns
Inherited from

GameboardRuntime.readPlacementsForTile

readQuests

readQuests: () => GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:564

Read all quest snapshots from live state for HUDs, saves, and tests.

Returns

GameboardQuestSnapshot[]

Inherited from

GameboardRuntime.readQuests

registerActor

registerActor: (placement, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:528

Attach actor state to an existing placement.

Register existing placements when a neutral prop, marker, structure, or externally declared piece becomes selectable, interactive, hostile, or quest-addressable after startup.

Parameters
placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity

Inherited from

GameboardRuntime.registerActor

removePlacement

removePlacement: (placement) => boolean

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:404

Remove one placement entity and its placement relations from the live world.

Returns false when the entity or placement id cannot be found.

Parameters
placement

string | Entity

Returns

boolean

Inherited from

GameboardRuntime.removePlacement

scenarioLayoutArchetypes?

readonly optional scenarioLayoutArchetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:631

Layout archetypes declared by the scenario recipe.

scenarioPieceRegistry?

readonly optional scenarioPieceRegistry?: GameboardPieceRegistry

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:633

Piece registry declared by the scenario recipe.

scenarioRuntime

readonly scenarioRuntime: GameboardScenarioRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:621

Scenario runtime produced by createGameboardWorldFromScenario.

selectActors

selectActors: (options?) => GameboardActorSelection

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:416

Select actors from live state using actor-aware filters.

Parameters
options?

GameboardActorSelectionOptions

Returns

GameboardActorSelection

Inherited from

GameboardRuntime.selectActors

selectPieces

selectPieces: (registry, selection?) => GameboardPieceDeclaration[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:482

Select declarations from a custom piece registry.

Parameters
registry

GameboardPieceRegistry

selection?

GameboardPieceRegistrySelection

Returns

GameboardPieceDeclaration[]

Inherited from

GameboardRuntime.selectPieces

selectSpawnLocations

selectSpawnLocations: (options) => SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:431

Select deterministic spawn locations from the live projected world.

Parameters
options

GameboardSpawnLocationOptions

Returns

SpawnLocation[]

Inherited from

GameboardRuntime.selectSpawnLocations

snapshot

snapshot: (options?) => GameboardRuntimeSnapshot

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:330

Read a serializable runtime snapshot.

Parameters
options?

GameboardRuntimeSnapshotOptions

Returns

GameboardRuntimeSnapshot

Inherited from

GameboardRuntime.snapshot

spawnActor

spawnActor: (options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:520

Spawn an actor-backed placement.

Parameters
options

SpawnGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.spawnActor

spawnGroups?

readonly optional spawnGroups?: GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:627

Scenario spawn groups planned during startup.

spawnLayoutFill

spawnLayoutFill: (options) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:455

Spawn a generated layout fill into the live world.

Parameters
options

GameboardLayoutFillOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnLayoutFill

spawnLayoutPlacements

spawnLayoutPlacements: (options) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:453

Spawn explicit layout placements into the live world.

Parameters
options

GameboardLayoutPlacementOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnLayoutPlacements

spawnPiece

spawnPiece: (piece, options?) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:472

Spawn one declared piece into the live world.

Parameters
piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnPiece

spawnPieceFills

spawnPieceFills: (registry, fills, options?) => Entity[]

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:509

Spawn generated piece fills into the live world.

Parameters
registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions

Returns

Entity[]

Inherited from

GameboardRuntime.spawnPieceFills

spawnPlacement

spawnPlacement: (options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:376

Spawn one renderable placement into the live world.

Pass occupancyGuard: true when the spawn should fail instead of overlapping an existing blocker or missing footprint tile.

Parameters
options

SpawnGameboardPlacementOptions

Returns

Entity

Inherited from

GameboardRuntime.spawnPlacement

spawnQuest

spawnQuest: (definition, options?) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:557

Spawn a quest definition into the live world.

Quest objectives can reference actor ids, placement ids, and tile keys, so scenario and runtime-created quests use the same progression surface.

Parameters
definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions

Returns

Entity

Inherited from

GameboardRuntime.spawnQuest

summarizePlan

summarizePlan: (options?) => GameboardPlanSummary

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:326

Summarize the live projected plan for editor, diagnostics, and bridge code.

Parameters
options?

SummarizeGameboardPlanOptions

Returns

GameboardPlanSummary

Inherited from

GameboardRuntime.summarizePlan

summarizeScenario

summarizeScenario: (options?) => GameboardScenarioSummary

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:639

Summarize the original scenario definition, actors, quests, spawns, and routes.

Parameters
options?

SummarizeGameboardScenarioOptions

Returns

GameboardScenarioSummary

systems

readonly systems: object

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:320

System dispatch/tick actions.

dispatchActorTargetCommand

dispatchActorTargetCommand: (options, commandOptions) => DispatchGameboardActorTargetCommandResult

Select an actor target, then execute its planned command.

Parameters
options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardActorTargetCommandResult

dispatchCommand

dispatchCommand: (commandOrTarget, options) => DispatchGameboardInteractionCommandResult

Execute one command and emit dispatch event records.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardInteractionCommandResult

interact

interact: (commandOrTarget, options) => RunGameboardInteractionResult

Dispatch a command and optionally tick systems.

Parameters
commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions = {}

Returns

RunGameboardInteractionResult

interactActorTarget

interactActorTarget: (options, interactionOptions) => RunGameboardActorTargetInteractionResult

Target an actor, dispatch the command, and optionally tick systems.

Parameters
options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions = {}

Returns

RunGameboardActorTargetInteractionResult

run

run: (options) => RunGameboardSystemsResult

Run enabled patrol, movement, and quest systems for one tick.

Parameters
options?

RunGameboardSystemsOptions = {}

Returns

RunGameboardSystemsResult

Inherited from

GameboardRuntime.systems

tick

tick: (options?) => RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:612

Run enabled systems for one game-loop tick.

Parameters
options?

RunGameboardSystemsOptions

Returns

RunGameboardSystemsResult

Inherited from

GameboardRuntime.tick

updateActor

updateActor: (actor, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:533

Update actor state while preserving omitted fields and placement binding.

Parameters
actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity

Inherited from

GameboardRuntime.updateActor

updatePlacement

updatePlacement: (placement, options) => Entity

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:384

Update one placement in the live world while preserving omitted fields.

The helper refreshes placement classification and footprint relations when fields such as coordinates, kind, layer, footprint, tags, or blocking behavior change.

Parameters
placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity

Inherited from

GameboardRuntime.updatePlacement

validationPlan

validationPlan: () => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:328

Project the live world to a plan shape suitable for validation.

Returns

GameboardPlan

Inherited from

GameboardRuntime.validationPlan

world

readonly world: World

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:306

Bound Koota world.

Inherited from

GameboardRuntime.world


GameboardScenarioInteropOptions

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:458

Options for scenario interop snapshots.

Extends

Properties

includeActors?

optional includeActors?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:460

Include resolved actor entities and relations.

includePatrolRoutes?

optional includePatrolRoutes?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:466

Include patrol-route entities and relations.

includePlacements?

optional includePlacements?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:450

Include placement entities and relations. Defaults to true.

Inherited from

GameboardInteropOptions.includePlacements

includeQuests?

optional includeQuests?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:462

Include quest entities and relations.

includeSpawnGroups?

optional includeSpawnGroups?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:464

Include spawn-group entities and relations.

spawnLocations?

optional spawnLocations?: Omit<SpawnLocationOptions, "shape">

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:452

Optional spawn-location generation options.

Inherited from

GameboardInteropOptions.spawnLocations


GameboardScenarioPatrolRoute

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:86

Patrol route rule embedded in a scenario.

Extends

Properties

count?

optional count?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:73

Requested waypoint count.

Inherited from

GameboardPatrolRouteRule.count

edgePadding?

optional edgePadding?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:87

Number of outer rings/rows to avoid when selecting automatic candidates.

Inherited from

SpawnLocationOptions.edgePadding

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:89

Elevation used when projecting spawn locations to world positions.

Inherited from

SpawnLocationOptions.elevation

excludeTileTags?

optional excludeTileTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:34

Tile tags that must all be absent.

Inherited from

GameboardPatrolRouteRule.excludeTileTags

id

id: string

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:95

Stable route id.

Inherited from

GameboardPatrolRouteRule.id

idPrefix?

optional idPrefix?: string

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:91

Prefix used for generated spawn ids.

Inherited from

SpawnLocationOptions.idPrefix

loop?

optional loop?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:85

Whether the patrol returns to its first waypoint.

Inherited from

GameboardPatrolRouteRule.loop

maxElevation?

optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:30

Maximum candidate elevation.

Inherited from

GameboardPatrolRouteRule.maxElevation

minDistance?

optional minDistance?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:85

Minimum axial distance between returned spawn coordinates.

Inherited from

SpawnLocationOptions.minDistance

minElevation?

optional minElevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:28

Minimum candidate elevation.

Inherited from

GameboardPatrolRouteRule.minElevation

profile?

optional profile?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:24

Navigation profile used to reject blocked candidates.

Inherited from

GameboardPatrolRouteRule.profile

requireCompleteRoute?

optional requireCompleteRoute?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:87

Treat missing route segments as errors.

Inherited from

GameboardPatrolRouteRule.requireCompleteRoute

routeProfile?

optional routeProfile?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:83

Navigation profile used for route segments.

Inherited from

GameboardPatrolRouteRule.routeProfile

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:79

Seed used when candidate order must be randomized.

Inherited from

SpawnLocationOptions.seed

start?

optional start?: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:75

Explicit start tile, actor, or key.

Inherited from

GameboardPatrolRouteRule.start

startGroupId?

optional startGroupId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:77

Spawn group id used for the start waypoint.

Inherited from

GameboardPatrolRouteRule.startGroupId

startLocationIndex?

optional startLocationIndex?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:79

Location index within the start spawn group.

Inherited from

GameboardPatrolRouteRule.startLocationIndex

terrain?

optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:26

Allowed terrain for spawn candidates.

Inherited from

GameboardPatrolRouteRule.terrain

tileTags?

optional tileTags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:32

Tile tags that must all be present.

Inherited from

GameboardPatrolRouteRule.tileTags


GameboardScenarioRuntime

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:134

Runtime objects produced after compiling and spawning a scenario.

Properties

actorEntities

actorEntities: Readonly<Record<string, Entity>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:146

Spawned actor entities keyed by actor id.

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:150

Actor snapshots after scenario spawn.

patrolRoutes?

optional patrolRoutes?: GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:142

Planned patrol routes, when configured.

plan

plan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:138

Compiled gameboard plan.

questEntities

questEntities: Readonly<Record<string, Entity>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:148

Spawned quest entities keyed by quest id.

quests

quests: readonly GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:152

Quest snapshots after scenario spawn.

scenario

scenario: GameboardScenario

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:136

Scenario definition used to create the runtime.

spawnGroups?

optional spawnGroups?: GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:140

Planned spawn groups, when configured.

world

world: World

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:144

Koota world containing board, actor, quest, movement, and patrol state.


GameboardScenarioSimulationActorExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:502

Expected final actor state in a simulation report.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:504

Actor id to inspect.

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:528

Expected actor placement asset id.

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:516

Expected movement-blocking flag.

exists?

optional exists?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:506

Whether the actor is expected to exist.

faction?

optional faction?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:510

Expected actor faction.

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:514

Expected hostile flag.

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:518

Expected interactive flag.

kind?

optional kind?: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:508

Expected actor kind.

metadata?

optional metadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:522

Actor metadata entries that must match.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:526

Expected actor placement id.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:520

Actor tags that must be present.

team?

optional team?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:512

Expected actor team.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:524

Expected actor tile key.


GameboardScenarioSimulationActorRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:195

Final actor record in a simulation report.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:197

Actor id.

blocksMovement

blocksMovement: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:207

Whether the actor blocks movement.

faction?

optional faction?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:201

Actor faction.

hostile

hostile: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:205

Whether the actor is generally hostile.

interactive

interactive: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:209

Whether the actor can be interacted with.

kind

kind: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:199

Actor kind.

metadata

metadata: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:213

Serializable actor metadata.

placement

placement: GameboardScenarioSimulationPlacementRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:215

Final placement record for the actor.

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:211

Actor tags.

team?

optional team?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:203

Actor team.


GameboardScenarioSimulationActorTargetCommandStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:118

Selects an actor target, dispatches its planned command, and optionally runs systems.

Extends

Properties

action

action: "actor-target-command"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:121

Step discriminator.

command?

optional command?: Omit<RunGameboardInteractionOptions, "systems" | "handlers">

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:133

Command execution options excluding systems and handlers.

handler?

optional handler?: "remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:135

Single built-in command handler preset.

handlerOptions?

optional handlerOptions?: CreateGameboardInteractionHandlerPresetOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:139

Options for built-in command handler presets.

handlers?

optional handlers?: readonly ("remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:137

Built-in command handler presets.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

requireReachable?

optional requireReachable?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:127

Require the selected target to be reachable.

sourceActor?

optional sourceActor?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:123

Source actor id.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:141

Systems to run after command dispatch, or false to skip.

targetActorId?

optional targetActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:125

Optional exact target actor id.

targeting?

optional targeting?: Partial<Omit<GameboardActorTargetCommandOptions, "sourceActor" | "targetActorId" | "requireReachable">>

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:129

Actor-targeting filters and path options.


GameboardScenarioSimulationActorTargetRecord

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:814

Serializable actor target summary.

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:816

Actor id.

approach

approach: GameboardActorTargetApproach | "self" | "none"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:834

Approach policy selected for the target.

approachTileKey?

optional approachTileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:836

Approach tile key when one was selected.

commandActorId?

optional commandActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:860

Planned command actor id.

commandCanExecute

commandCanExecute: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:852

Whether the planned command can execute.

commandIntent

commandIntent: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:850

Planned command intent.

commandKind

commandKind: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:848

Planned command kind.

commandPlacementId?

optional commandPlacementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:858

Planned command placement id.

commandReason?

optional commandReason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:854

Planned command failure reason.

commandTileKey?

optional commandTileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:856

Planned command tile key.

faction?

optional faction?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:824

Actor faction.

hostile

hostile: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:828

Whether the actor is generally hostile.

hostileToSource?

optional hostileToSource?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:830

Whether the actor is hostile to the source actor.

interactive

interactive: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:832

Whether the actor is interactive.

kind

kind: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:822

Actor kind.

pathCost

pathCost: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:844

Path cost.

pathFound

pathFound: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:842

Whether a path was found.

pathKeys

pathKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:846

Path tile keys.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:818

Placement id for the actor.

reachable

reachable: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:838

Whether a usable approach path was found.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:840

Optional unreachable or command reason.

team?

optional team?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:826

Actor team.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:820

Actor tile key.


GameboardScenarioSimulationActorTargetsExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:356

Expected actor-targeting record in a simulation report.

Properties

nearestActorId?

optional nearestActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:368

Expected nearest target actor id.

nearestApproach?

optional nearestApproach?: GameboardActorTargetApproach | "self" | "none"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:370

Expected nearest target approach.

nearestApproachTileKey?

optional nearestApproachTileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:372

Expected nearest target approach tile key.

nearestPathCost?

optional nearestPathCost?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:378

Expected nearest target path cost.

nearestPathFound?

optional nearestPathFound?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:376

Expected nearest target path-found flag.

nearestPathKeys?

optional nearestPathKeys?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:380

Expected nearest target path tile keys.

nearestReachable?

optional nearestReachable?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:374

Expected nearest target reachability.

reachableActorIds?

optional reachableActorIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:366

Exact reachable actor ids expected in the report.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:402

Expected target report reason.

sourceActorId?

optional sourceActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:362

Expected source actor id.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:358

Step id that should emit the target report.

stepIndex?

optional stepIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:360

Step index that should emit the target report.

targetActorId?

optional targetActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:382

Specific target actor id to inspect.

targetActorIds?

optional targetActorIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:364

Exact target actor ids expected in the report.

targetApproach?

optional targetApproach?: GameboardActorTargetApproach | "self" | "none"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:386

Expected specific target approach.

targetApproachTileKey?

optional targetApproachTileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:388

Expected specific target approach tile key.

targetCommandCanExecute?

optional targetCommandCanExecute?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:400

Expected specific target command executability.

targetCommandIntent?

optional targetCommandIntent?: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:398

Expected specific target command intent.

targetCommandKind?

optional targetCommandKind?: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:396

Expected specific target command kind.

targetPathCost?

optional targetPathCost?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:392

Expected specific target path cost.

targetPathFound?

optional targetPathFound?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:390

Expected specific target path-found flag.

targetPathKeys?

optional targetPathKeys?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:394

Expected specific target path tile keys.

targetReachable?

optional targetReachable?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:384

Expected specific target reachability.


GameboardScenarioSimulationActorTargetsRecord

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:786

Serializable actor-targeting report with step provenance.

Declared in script.ts (not report.ts) because it appears in GameboardScenarioSimulationStepResult, which the engine produces and the report module consumes.

Properties

nearestTarget?

optional nearestTarget?: GameboardScenarioSimulationActorTargetRecord

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:804

Nearest or chosen target summary.

reachableActorIds

reachableActorIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:802

Reachable target actor ids in sorted order.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:808

Optional targeting failure reason.

sourceActorId?

optional sourceActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:794

Source actor id.

sourcePlacementId?

optional sourcePlacementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:796

Source placement id.

sourceTileKey?

optional sourceTileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:798

Source tile key.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:790

Authored step id.

stepIndex

stepIndex: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:788

Step index that emitted the actor-target report.

stepLabel?

optional stepLabel?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:792

Authored step label.

targetActorIds

targetActorIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:800

All target actor ids in sorted order.

targets

targets: readonly GameboardScenarioSimulationActorTargetRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:806

Full target summaries.


GameboardScenarioSimulationActorTargetsStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:147

Inspects actor targets without dispatching a command.

Extends

Properties

action

action: "inspect-actor-targets"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:150

Step discriminator.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

sourceActor?

optional sourceActor?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:152

Source actor id.

targeting?

optional targeting?: Partial<Omit<GameboardActorTargetingOptions, "sourceActor">>

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:154

Actor-targeting filters and path options.


GameboardScenarioSimulationCommandExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:308

Expected command record in a simulation report.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:328

Expected command actor id.

canExecute?

optional canExecute?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:320

Expected command executability.

effectTypes?

optional effectTypes?: readonly ("actor-removed" | "placement-removed" | "actor-updated" | "placement-updated")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:338

Expected command effect types.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:334

Expected handler id.

handlerStatus?

optional handlerStatus?: GameboardInteractionHandlerStatus

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:336

Expected handler status.

intent?

optional intent?: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:316

Expected command intent.

kind?

optional kind?: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:314

Expected command kind.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:326

Expected command placement id.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:322

Expected command reason.

sourceActorId?

optional sourceActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:330

Expected source actor id.

sourcePlacementId?

optional sourcePlacementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:332

Expected source placement id.

status?

optional status?: GameboardInteractionExecutionStatus

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:318

Expected command status.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:310

Step id that should emit the command.

stepIndex?

optional stepIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:312

Step index that should emit the command.

targetActorId?

optional targetActorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:348

Expected target actor id.

targetCanEnter?

optional targetCanEnter?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:350

Expected target enterability.

targetIntent?

optional targetIntent?: GameboardInteractionIntent

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:342

Expected target intent.

targetKind?

optional targetKind?: GameboardInteractionTargetKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:340

Expected target kind.

targetPlacementId?

optional targetPlacementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:346

Expected target placement id.

targetTileKey?

optional targetTileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:344

Expected target tile key.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:324

Expected command tile key.


GameboardScenarioSimulationCommandRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:147

Flattened command record with step provenance.

Properties

command

command: GameboardInteractionCommandRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:157

Serializable command execution record.

eventType

eventType: "movement-requested" | "command-handled" | "command-blocked" | "command-ignored" | "command-handler-required" | "patrol-move-requested" | "patrol-waiting" | "patrol-completed" | "patrol-blocked" | "movement-stepped" | "movement-completed" | "movement-blocked" | "quest-advanced" | "quest-completed" | "quest-blocked"

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:155

Event type that carried the command.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:151

Authored step id.

stepIndex

stepIndex: number

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:149

Step index that emitted the command.

stepLabel?

optional stepLabel?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:153

Authored step label.


GameboardScenarioSimulationCommandStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:94

Runs an interaction command against a target.

Extends

Properties

action

action: "command"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:97

Step discriminator.

command?

optional command?: Omit<RunGameboardInteractionOptions, "systems" | "handlers">

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:103

Command execution options excluding systems and handlers.

handler?

optional handler?: "remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:105

Single built-in command handler preset.

handlerOptions?

optional handlerOptions?: CreateGameboardInteractionHandlerPresetOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:109

Options for built-in command handler presets.

handlers?

optional handlers?: readonly ("remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:107

Built-in command handler presets.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

sourceActor?

optional sourceActor?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:101

Source actor id used when the target must be planned.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:111

Systems to run after command dispatch, or false to skip.

target

target: GameboardInteractionCommandInput

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:99

Command target or already-planned command.


GameboardScenarioSimulationExpectationFailure

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:574

Failed expectation produced while building a simulation report.

Properties

actual?

optional actual?: unknown

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:582

Actual value.

expected?

optional expected?: unknown

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:580

Expected value.

message

message: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:578

Human-readable failure message.

path

path: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:576

JSON-ish expectation path that failed.


GameboardScenarioSimulationExpectations

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:282

Expected records in a simulation report.

Properties

actors?

optional actors?: readonly GameboardScenarioSimulationActorExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:298

Final actor-state expectations.

actorTargets?

optional actorTargets?: readonly GameboardScenarioSimulationActorTargetsExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:290

Actor-target report expectations.

commands?

optional commands?: readonly GameboardScenarioSimulationCommandExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:288

Command expectations.

eventTypes?

optional eventTypes?: readonly ("movement-requested" | "command-handled" | "command-blocked" | "command-ignored" | "command-handler-required" | "patrol-move-requested" | "patrol-waiting" | "patrol-completed" | "patrol-blocked" | "movement-stepped" | "movement-completed" | "movement-blocked" | "quest-advanced" | "quest-completed" | "quest-blocked")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:284

Exact event type sequence expectation.

movements?

optional movements?: readonly GameboardScenarioSimulationMovementExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:294

Movement event expectations.

mutations?

optional mutations?: readonly GameboardScenarioSimulationMutationExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:296

Mutation expectations.

patrols?

optional patrols?: readonly GameboardScenarioSimulationPatrolExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:292

Patrol event expectations.

placements?

optional placements?: readonly GameboardScenarioSimulationPlacementExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:300

Final placement-state expectations.

quests?

optional quests?: readonly GameboardScenarioSimulationQuestExpectation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:302

Final quest-state expectations.

requiredEventTypes?

optional requiredEventTypes?: readonly ("movement-requested" | "command-handled" | "command-blocked" | "command-ignored" | "command-handler-required" | "patrol-move-requested" | "patrol-waiting" | "patrol-completed" | "patrol-blocked" | "movement-stepped" | "movement-completed" | "movement-blocked" | "quest-advanced" | "quest-completed" | "quest-blocked")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:286

Event types that must appear at least once.


GameboardScenarioSimulationMovementExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:408

Expected movement record in a simulation report.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:416

Expected actor id.

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:422

Expected placement asset id.

cost?

optional cost?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:438

Expected planned path cost.

destinationKey?

optional destinationKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:430

Expected movement destination key.

eventType?

optional eventType?: "movement-requested" | "movement-stepped" | "movement-completed" | "movement-blocked"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:414

Expected movement event type.

moved?

optional moved?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:426

Expected moved flag.

nextIndex?

optional nextIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:436

Expected next path index.

pathIncludes?

optional pathIncludes?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:434

Path tile keys that must be included.

pathKeys?

optional pathKeys?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:432

Expected exact path tile keys.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:418

Expected placement id.

profileId?

optional profileId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:424

Expected movement profile id.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:444

Expected movement reason.

spentCost?

optional spentCost?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:440

Expected spent path cost.

status?

optional status?: GameboardMovementStatus

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:428

Expected movement status.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:410

Step id that should emit the movement record.

stepIndex?

optional stepIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:412

Step index that should emit the movement record.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:420

Expected current tile key.

visited?

optional visited?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:442

Expected pathfinder visited count.


GameboardScenarioSimulationMovementRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:179

Flattened movement event record with step provenance.

Properties

eventType

eventType: "movement-requested" | "movement-stepped" | "movement-completed" | "movement-blocked"

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:187

Movement event type.

movement

movement: GameboardMovementEventRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:189

Serializable movement event record.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:183

Authored step id.

stepIndex

stepIndex: number

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:181

Step index that emitted the movement event.

stepLabel?

optional stepLabel?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:185

Authored step label.


GameboardScenarioSimulationMutationExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:484

Expected mutation record in a simulation report.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:488

Expected actor id.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:490

Expected placement id.

removed?

optional removed?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:492

Expected removed flag.

spawned?

optional spawned?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:494

Expected spawned flag.

type?

optional type?: "actor-removed" | "placement-removed" | "actor-updated" | "placement-updated" | "actor-spawned" | "placement-spawned"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:486

Expected mutation type.

updated?

optional updated?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:496

Expected updated flag.


GameboardScenarioSimulationMutationRecord

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:756

Serializable mutation record emitted by direct mutation simulation steps.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:766

Actor id involved in the mutation.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:768

Placement id involved in the mutation.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:776

Optional failure or diagnostic reason.

removed?

optional removed?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:770

Whether an entity was removed.

spawned?

optional spawned?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:772

Whether an entity was spawned.

type

type: "actor-removed" | "placement-removed" | "actor-updated" | "placement-updated" | "actor-spawned" | "placement-spawned"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:758

Mutation type.

updated?

optional updated?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:774

Whether an entity was updated.


GameboardScenarioSimulationPatrolExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:450

Expected patrol record in a simulation report.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:458

Expected actor id.

advanced?

optional advanced?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:476

Expected waypoint-advanced flag.

currentWaypointIndex?

optional currentWaypointIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:468

Expected current waypoint index.

eventType?

optional eventType?: "patrol-move-requested" | "patrol-waiting" | "patrol-completed" | "patrol-blocked"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:456

Expected patrol event type.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:460

Expected placement id.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:478

Expected patrol reason.

requested?

optional requested?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:474

Expected movement-request flag.

roundsCompleted?

optional roundsCompleted?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:472

Expected completed route rounds.

routeId?

optional routeId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:462

Expected patrol route id.

status?

optional status?: GameboardPatrolStatus

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:464

Expected patrol status.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:452

Step id that should emit the patrol record.

stepIndex?

optional stepIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:454

Step index that should emit the patrol record.

targetKey?

optional targetKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:466

Expected target tile key.

targetWaypointIndex?

optional targetWaypointIndex?: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:470

Expected target waypoint index.


GameboardScenarioSimulationPatrolRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:163

Flattened patrol event record with step provenance.

Properties

eventType

eventType: "patrol-move-requested" | "patrol-waiting" | "patrol-completed" | "patrol-blocked"

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:171

Patrol event type.

patrol

patrol: GameboardPatrolEventRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:173

Serializable patrol event record.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:167

Authored step id.

stepIndex

stepIndex: number

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:165

Step index that emitted the patrol event.

stepLabel?

optional stepLabel?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:169

Authored step label.


GameboardScenarioSimulationPlacementExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:534

Expected final placement state in a simulation report.

Properties

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:542

Expected asset id.

exists?

optional exists?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:538

Whether the placement is expected to exist.

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:544

Expected placement kind.

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:546

Expected placement layer.

metadata?

optional metadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:550

Placement metadata entries that must match.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:536

Placement id to inspect.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:548

Expected local-only asset flag.

tileKey?

optional tileKey?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:540

Expected tile key.


GameboardScenarioSimulationPlacementRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:221

Final placement record in a simulation report.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:227

Asset id.

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:229

Placement kind.

layer

layer: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:231

Placement layer.

metadata

metadata: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:235

Serializable placement metadata.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:223

Placement id.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:233

Whether the placement depends on local EXTRA or external assets.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:225

Origin tile key.


GameboardScenarioSimulationQuestExpectation

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:556

Expected final quest state in a simulation report.

Properties

activeObjectiveId?

optional activeObjectiveId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:562

Expected active objective id.

blockedObjectives?

optional blockedObjectives?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:566

Objective ids expected to be blocked.

completedObjectives?

optional completedObjectives?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:564

Objective ids expected to be completed.

pendingObjectives?

optional pendingObjectives?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:568

Objective ids expected to be pending.

questId

questId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:558

Quest id to inspect.

status?

optional status?: GameboardQuestStatus

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:560

Expected quest status.


GameboardScenarioSimulationQuestRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:241

Final quest record in a simulation report.

Properties

activeObjectiveId?

optional activeObjectiveId?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:251

Active objective id.

activeObjectiveIndex

activeObjectiveIndex: number

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:249

Active objective index.

metadata

metadata: Readonly<Record<string, GameboardQuestMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:257

Serializable quest metadata.

objectives

objectives: readonly GameboardQuestObjective[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:253

Quest objectives.

progress

progress: readonly GameboardQuestObjectiveProgress[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:255

Objective progress snapshots.

questId

questId: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:243

Quest id.

status

status: GameboardQuestStatus

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:247

Quest status.

title

title: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:245

Quest title.


GameboardScenarioSimulationRemoveActorStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:171

Removes an actor-backed placement.

Extends

Properties

action

action: "remove-actor"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:174

Step discriminator.

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:176

Actor id to remove.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:178

Systems to run after removal, or false to skip.


GameboardScenarioSimulationRemovePlacementStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:184

Removes a placement by id.

Extends

Properties

action

action: "remove-placement"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:187

Step discriminator.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:189

Placement id to remove.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:191

Systems to run after removal, or false to skip.


GameboardScenarioSimulationReport

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:85

Serializable report derived from a simulation result.

Properties

actors

actors: readonly GameboardScenarioSimulationActorRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:113

Final actor records.

actorTargets

actorTargets: readonly GameboardScenarioSimulationActorTargetsRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:99

Flattened actor-target records.

commands

commands: readonly GameboardScenarioSimulationCommandRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:97

Flattened command records.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:105

Flattened system event records.

expectationFailures

expectationFailures: readonly GameboardScenarioSimulationExpectationFailure[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:119

Expectation failures.

expectations?

optional expectations?: GameboardScenarioSimulationExpectations

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:117

Expectations evaluated for the report.

finalPlan

finalPlan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:109

Final projected plan.

movements

movements: readonly GameboardScenarioSimulationMovementRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:103

Flattened movement records.

mutations

mutations: readonly GameboardScenarioSimulationMutationRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:107

Direct mutation records.

patrols

patrols: readonly GameboardScenarioSimulationPatrolRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:101

Flattened patrol records.

placements

placements: readonly GameboardScenarioSimulationPlacementRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:111

Final placement records.

quests

quests: readonly GameboardScenarioSimulationQuestRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:115

Final quest records.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:89

Scenario id.

scenarioTitle?

optional scenarioTitle?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:91

Scenario title.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:87

Simulation schema version.

steps

steps: readonly GameboardScenarioSimulationStepReport[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:95

Per-step report records.

success

success: boolean

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:93

Whether all expectations passed.


GameboardScenarioSimulationResult

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:63

In-memory result of running a scenario simulation.

Properties

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:77

Final actor snapshots.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:71

All serializable event records emitted during the run.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:69

All in-memory events emitted during the run.

finalPlan

finalPlan: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:75

Final projected plan.

mutations

mutations: readonly GameboardScenarioSimulationMutationRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:73

All direct mutation records emitted during the run.

quests

quests: readonly GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:79

Final quest snapshots.

runtime

runtime: GameboardScenarioRuntime

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:65

Runtime created from the scenario.

steps

steps: readonly GameboardScenarioSimulationStepResult[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:67

Per-step execution results.


GameboardScenarioSimulationRunSystemsStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:160

Runs patrol, movement, and quest systems.

Extends

Properties

action

action: "run-systems"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:163

Step discriminator.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

systems?

optional systems?: RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:165

Systems to run.


GameboardScenarioSimulationScript

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:255

Serializable script for deterministic scenario simulation.

Properties

defaultCommandHandlerOptions?

optional defaultCommandHandlerOptions?: CreateGameboardInteractionHandlerPresetOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:267

Default options for built-in command handler presets.

defaultCommandHandlers?

optional defaultCommandHandlers?: readonly ("remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:265

Default built-in command handler presets.

defaultCommandSystems?

optional defaultCommandSystems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:263

Default systems after command dispatch, or false to skip.

defaultRunSystems?

optional defaultRunSystems?: RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:269

Default systems for run-systems steps.

defaultSourceActor?

optional defaultSourceActor?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:261

Default source actor id for command steps.

expectations?

optional expectations?: GameboardScenarioSimulationExpectations

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:271

Optional expectations evaluated against the report.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:257

Simulation schema version.

steps

steps: readonly GameboardScenarioSimulationStep[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:259

Steps to execute in order.


GameboardScenarioSimulationScriptValidationConfig

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:705

Validation context for an authored simulation script.

Properties

plan?

optional plan?: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:709

Precompiled plan used when a scenario is not available.

scenario?

optional scenario?: GameboardScenario

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:707

Scenario used to resolve actors, quests, and plan references.


GameboardScenarioSimulationScriptValidationResult

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:715

Result of validating a simulation script.

Properties

plan?

optional plan?: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:719

Plan compiled from validation context, when available.

script

script: GameboardScenarioSimulationScript

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:717

Script that was validated.

violations

violations: readonly GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:721

Validation violations.


GameboardScenarioSimulationSpawnActorStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:197

Spawns a scenario actor during a simulation.

Extends

Properties

action

action: "spawn-actor"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:200

Step discriminator.

actor

actor: GameboardScenarioActor

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:202

Actor declaration to spawn.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:204

Systems to run after spawn, or false to skip.


GameboardScenarioSimulationSpawnPlacementStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:210

Spawns a raw placement during a simulation.

Extends

Properties

action

action: "spawn-placement"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:213

Step discriminator.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

placement

placement: SpawnGameboardPlacementOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:215

Placement options to spawn.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:217

Systems to run after spawn, or false to skip.


GameboardScenarioSimulationStepBase

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:84

Common authored fields shared by all simulation steps.

Extended by

Properties

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.


GameboardScenarioSimulationStepReport

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:125

Serializable report for one simulation step.

Properties

action

action: "command" | "actor-target-command" | "inspect-actor-targets" | "run-systems" | "remove-actor" | "remove-placement" | "spawn-actor" | "spawn-placement" | "update-actor" | "update-placement"

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:133

Step action discriminator.

actorTargets?

optional actorTargets?: GameboardScenarioSimulationActorTargetsRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:137

Actor-target record emitted by the step.

command?

optional command?: GameboardInteractionCommandRecord

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:135

Command record emitted by the step.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:139

System event records emitted by the step.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:129

Authored step id.

index

index: number

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:127

Step index.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:131

Authored step label.

mutations

mutations: readonly GameboardScenarioSimulationMutationRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:141

Direct mutation records emitted by the step.


GameboardScenarioSimulationStepResult

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:730

Runtime result for one executed simulation step.

The full shape is defined here (alongside the step types) so authored scripts and runtime results share a single source of truth.

Properties

action

action: "command" | "actor-target-command" | "inspect-actor-targets" | "run-systems" | "remove-actor" | "remove-placement" | "spawn-actor" | "spawn-placement" | "update-actor" | "update-placement"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:738

Step action discriminator.

actorTargets?

optional actorTargets?: GameboardScenarioSimulationActorTargetsRecord

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:742

Actor-target report for target-inspection steps.

dispatch?

optional dispatch?: DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:740

Command dispatch result for command steps.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:748

Serializable event records emitted by the step.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:746

In-memory events emitted by the step.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:734

Authored step id.

index

index: number

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:732

Step index.

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:736

Authored step label.

mutations

mutations: readonly GameboardScenarioSimulationMutationRecord[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:750

Mutations directly performed by this step.

systems?

optional systems?: RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:744

System tick result for run-systems or post-command systems.


GameboardScenarioSimulationUpdateActorStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:223

Updates an actor and optionally its placement.

Extends

Properties

action

action: "update-actor"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:226

Step discriminator.

actor

actor: UpdateGameboardActorOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:230

Actor update options.

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:228

Actor id to update.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

placement?

optional placement?: UpdateGameboardPlacementOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:232

Optional placement update options for the actor placement.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:234

Systems to run after update, or false to skip.


GameboardScenarioSimulationUpdatePlacementStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:240

Updates a placement by id.

Extends

Properties

action

action: "update-placement"

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:243

Step discriminator.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86

Optional stable step id used by reports and expectations.

Inherited from

GameboardScenarioSimulationStepBase.id

label?

optional label?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88

Human-readable step label for reports.

Inherited from

GameboardScenarioSimulationStepBase.label

placement

placement: UpdateGameboardPlacementOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:247

Placement update options.

placementId

placementId: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:245

Placement id to update.

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:249

Systems to run after update, or false to skip.


GameboardScenarioSummary

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:246

Aggregate inspection result for a playable scenario.

This is designed for editor panels, CI diagnostics, screenshot manifests, external ECS bridges, and agent audits that need to prove a board is not only visually complete, but also has the expected actors, spawns, routes, and quest objectives before a renderer loads it.

Properties

actorAssetCounts

actorAssetCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:282

Actor count by asset id.

actorCount

actorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:258

Number of authored actors.

actorExtraAssetIds

actorExtraAssetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:284

Unique actor asset ids marked as requiring local-only assets.

actorKindCounts

actorKindCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:272

Actor count by gameplay kind.

actors

actors: readonly GameboardScenarioActorSummary[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:288

Per-actor rows useful for editor sidebars and E2E fixtures.

actorSpawnGroupCounts

actorSpawnGroupCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:276

Actor count by referenced spawn group.

actorTagCounts

actorTagCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:280

Actor tag counts.

actorTeamCounts

actorTeamCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:274

Actor count by team or faction.

actorTileCounts

actorTileCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:278

Actor count by resolved or explicit spawn tile key.

blockingActorCount

blockingActorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:270

Number of movement-blocking actors.

board?

optional board?: GameboardPlanSummary

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:254

Summary of the compiled board, when the board recipe compiles.

hostileActorCount

hostileActorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:266

Number of generally hostile actors.

interactiveActorCount

interactiveActorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:268

Number of interaction-target actors.

movementAgentCount

movementAgentCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:262

Number of actors with movement agents.

objectiveActorCounts

objectiveActorCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:296

Objective references by source actor id.

objectiveCount

objectiveCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:292

Number of authored quest objectives.

objectiveKindCounts

objectiveKindCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:294

Objective count by objective kind.

objectiveTargetActorCounts

objectiveTargetActorCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:298

Objective references by target actor id.

patrolAgentCount

patrolAgentCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:264

Number of actors with patrol agents.

patrolErrorCount

patrolErrorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:330

Patrol route error count.

patrolRouteCount

patrolRouteCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:318

Number of planned patrol routes.

patrolRouteFoundCount

patrolRouteFoundCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:320

Number of planned patrol routes that satisfy required segments.

patrolRouteMissingCount

patrolRouteMissingCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:322

Number of planned patrol routes with missing required segments.

patrolRouteWaypointCounts

patrolRouteWaypointCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:326

Waypoint count by patrol route id.

patrolWarningCount

patrolWarningCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:328

Patrol route warning count.

patrolWaypointCount

patrolWaypointCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:324

Number of selected patrol waypoints.

questCount

questCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:290

Number of authored quests.

resolvedActorCount

resolvedActorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:260

Number of actors whose spawn tile could be resolved.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:250

Stable scenario id.

schemaVersion

schemaVersion: "1.0.0"

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:248

Scenario schema version.

spawnErrorCount

spawnErrorCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:316

Spawn planning error count.

spawnGroupCandidateCounts

spawnGroupCandidateCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:306

Spawn candidate count by group id after filtering.

spawnGroupCount

spawnGroupCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:300

Number of planned spawn groups.

spawnGroupLocationCounts

spawnGroupLocationCounts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:304

Spawn location count by group id.

spawnLocationCount

spawnLocationCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:302

Number of selected spawn locations.

spawnRouteCheckCount

spawnRouteCheckCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:308

Number of spawn route checks.

spawnRouteFoundCount

spawnRouteFoundCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:310

Number of spawn route checks that found a path.

spawnRouteMissingCount

spawnRouteMissingCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:312

Number of spawn route checks that could not find a path.

spawnWarningCount

spawnWarningCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:314

Spawn planning warning count.

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:252

Optional display title.

topActorAssets

topActorAssets: readonly GameboardScenarioAssetSummary[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:286

Highest-frequency actor asset summaries, sorted by count then asset id.

validation

validation: GameboardScenarioSummaryValidation

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:256

Validation counts and diagnostics.


GameboardScenarioSummaryValidation

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

Validation counts and violations included in scenario summaries.

Properties

errorCount

errorCount: number

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

Number of error-level violations.

violations

violations: readonly GameboardRuleViolation[]

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

Scenario, spawn, route, actor, quest, and optional plan violations.

warningCount

warningCount: number

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

Number of warning-level violations.


GameboardScenarioValidationConfig

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:156

Validation controls for scenario inspection.

Extended by

Properties

plan?

optional plan?: GameboardPlanValidationConfig

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:158

Validation config passed to compiled plan validation.

validatePlan?

optional validatePlan?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:160

Whether to validate the compiled plan in addition to scenario references.


GameboardScenarioValidationResult

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:164

Result from validating a scenario and its compiled board.

Properties

patrolRoutes?

optional patrolRoutes?: GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:172

Patrol route plan when scenario patrol routes are configured.

plan?

optional plan?: GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:168

Compiled plan when the board recipe succeeds.

scenario

scenario: GameboardScenario

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:166

Scenario that was inspected.

spawnGroups?

optional spawnGroups?: GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:170

Spawn group plan when scenario spawn groups are configured.

violations

violations: readonly GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:174

Scenario, spawn, route, actor, quest, and optional plan violations.


GameboardSimulationInteropOptions

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:472

Options for simulation interop snapshots.

Extends

Properties

includeActors?

optional includeActors?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:474

Include final actor entities and relations.

includePlacements?

optional includePlacements?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:450

Include placement entities and relations. Defaults to true.

Inherited from

GameboardInteropOptions.includePlacements

includeQuests?

optional includeQuests?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:476

Include final quest entities and relations.

includeTimeline?

optional includeTimeline?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:478

Include simulation timeline entities and relations.

spawnLocations?

optional spawnLocations?: Omit<SpawnLocationOptions, "shape">

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:452

Optional spawn-location generation options.

Inherited from

GameboardInteropOptions.spawnLocations


GameboardSimulationRelationRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:352

Relation payload for simulation timeline entities.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:364

Related actor id.

commandKind?

optional commandKind?: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:368

Command kind, when related to a command.

commandStatus?

optional commandStatus?: GameboardInteractionExecutionStatus

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:370

Command status, when related to a command.

effectType?

optional effectType?: "actor-removed" | "placement-removed" | "actor-updated" | "placement-updated"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:392

Individual command effect type.

effectTypes?

optional effectTypes?: readonly ("actor-removed" | "placement-removed" | "actor-updated" | "placement-updated")[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:376

Command effect types.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:372

Handler id, when a command handler ran.

handlerStatus?

optional handlerStatus?: GameboardInteractionHandlerStatus

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:374

Handler status, when a command handler ran.

mutationType?

optional mutationType?: "actor-removed" | "placement-removed" | "actor-updated" | "placement-updated" | "actor-spawned" | "placement-spawned"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:378

Mutation type, when related to a mutation.

placementId?

optional placementId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:366

Related placement id.

recordId?

optional recordId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:362

Timeline record id.

role

role: GameboardSimulationRelationRole

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:356

Simulation relation role.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:354

Scenario id that produced the simulation.

stepId?

optional stepId?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:360

Simulation step entity id.

stepIndex?

optional stepIndex?: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:358

Simulation step index.

targetApproach?

optional targetApproach?: GameboardActorTargetApproach | "self" | "none"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:382

Approach mode for an actor target.

targetApproachTileKey?

optional targetApproachTileKey?: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:384

Approach tile key for an actor target.

targetCommandCanExecute?

optional targetCommandCanExecute?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:390

Whether the target command can execute.

targetCommandKind?

optional targetCommandKind?: GameboardInteractionCommandKind

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:388

Command kind planned for an actor target.

targetPathCost?

optional targetPathCost?: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:386

Path cost for an actor target.

targetReachable?

optional targetReachable?: boolean

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:380

Whether an actor target was reachable.


GameboardSnapshot

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:272

Serializable snapshot of board, tile, and placement state.

Properties

board

board: { placementCount: number; schemaVersion: string; seed: string; shape: GameboardShape; textureSet: "default" | "fall" | "summer" | "winter"; tileCount: number; } | undefined

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:274

Board metadata, or undefined when no plan is loaded.

Union Members
Type Literal

{ placementCount: number; schemaVersion: string; seed: string; shape: GameboardShape; textureSet: "default" | "fall" | "summer" | "winter"; tileCount: number; }

placementCount

placementCount: number = 0

Number of placement entities loaded into the world.

schemaVersion

schemaVersion: string = GAMEBOARD_SCHEMA_VERSION

Manifest/schema version used to generate the loaded board.

seed

seed: string = ''

Seed used by deterministic layout or simulation helpers.

shape

shape: GameboardShape

Board shape descriptor, such as rectangle or hexagon.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Active KayKit texture set for generated terrain and placements.

tileCount

tileCount: number = 0

Number of tile entities loaded into the world.


undefined

placements

placements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:278

Placement states sorted by order and id.

tiles

tiles: readonly object[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:276

Tile states sorted by axial tile key.


GameboardSpawnGroupLocationRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:172

Relation payload connecting a spawn group to a selected location.

Properties

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:180

Spawn tile coordinates.

groupId

groupId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:174

Spawn group id.

index

index: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:182

Location index inside the group.

spawnId

spawnId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:176

Spawn location id.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:178

Spawn tile key.


GameboardSpawnGroupRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:152

Interop record for one spawn group.

Properties

candidateCount

candidateCount: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:160

Number of candidate locations.

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:166

Fatal group diagnostics.

groupId

groupId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:154

Spawn group id.

rejectedByGroupDistanceCount

rejectedByGroupDistanceCount: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:162

Number of candidates rejected by group-distance filtering.

requestedCount

requestedCount: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:156

Number of requested locations.

selectedCount

selectedCount: number

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:158

Number of selected locations.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:164

Non-fatal group diagnostics.


GameboardSpawnGroupRouteRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:188

Interop route-check record between spawn groups.

Extends

Properties

cost

cost: number

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:82

Route cost.

Inherited from

GameboardSpawnGroupRoute.cost

found

found: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:74

Whether a route was found.

Inherited from

GameboardSpawnGroupRoute.found

fromGroupId

fromGroupId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:70

Source group id.

Inherited from

GameboardSpawnGroupRoute.fromGroupId

fromKey?

optional fromKey?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:76

Source location tile key.

Inherited from

GameboardSpawnGroupRoute.fromKey

pathKeys

pathKeys: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:80

Path tile keys for the best route.

Inherited from

GameboardSpawnGroupRoute.pathKeys

toGroupId

toGroupId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:72

Target group id.

Inherited from

GameboardSpawnGroupRoute.toGroupId

toKey?

optional toKey?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:78

Target location tile key.

Inherited from

GameboardSpawnGroupRoute.toKey

visited

visited: number

Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:84

Number of nodes visited by the pathfinder.

Inherited from

GameboardSpawnGroupRoute.visited


GameboardSpawnTileRecord

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:140

Relation payload connecting a spawn location to a tile.

Properties

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:146

Spawn tile coordinates.

spawnId

spawnId: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:142

Spawn location id.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:144

Spawn tile key.


GameboardSystemEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:213

Serializable event record for tests, logs, interop snapshots, and simulations.

Properties

beforeQuest?

optional beforeQuest?: GameboardQuestEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:227

Quest record before quest-related events.

command?

optional command?: GameboardInteractionCommandRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:219

Command record for command-related events.

movement?

optional movement?: GameboardMovementEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:223

Movement record for movement-related events.

patrol?

optional patrol?: GameboardPatrolEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:221

Patrol record for patrol-related events.

quest?

optional quest?: GameboardQuestEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:225

Quest record after quest-related events.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:217

Optional failure or blocked reason.

type

type: "movement-requested" | "command-handled" | "command-blocked" | "command-ignored" | "command-handler-required" | "patrol-move-requested" | "patrol-waiting" | "patrol-completed" | "patrol-blocked" | "movement-stepped" | "movement-completed" | "movement-blocked" | "quest-advanced" | "quest-completed" | "quest-blocked"

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:215

Event discriminator.


GameboardTileInspection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:254

Actor-aware tile inspection result for UI, AI, quests, and tests.

Extended by

Properties

actors

actors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:274

Actor placements on the tile.

blockingPlacements

blockingPlacements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:282

Placements that block movement onto the tile.

canEnter

canEnter: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:286

Whether the tile exists and can be entered.

collision

collision: GameboardActorCollisionReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:284

Full collision report for the tile.

coordinates?

optional coordinates?: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:262

Axial coordinates, when the tile exists.

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:266

Tile elevation, when the tile exists.

exists

exists: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:256

Whether the tile exists in the board.

hasActors

hasActors: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:290

Whether any actors occupy the tile.

hasHostiles

hasHostiles: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:292

Whether any hostile actors occupy the tile.

hasInteractive

hasInteractive: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:294

Whether any interactive actors occupy the tile.

hasProps

hasProps: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:296

Whether any prop actors occupy the tile.

hostileActors

hostileActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:276

Hostile actors on the tile.

interactiveActors

interactiveActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:278

Interactive actors on the tile.

isEmpty

isEmpty: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:288

Whether no placements occupy the tile.

occupancy

occupancy: readonly PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:272

Occupancy relation records for the tile.

placements

placements: readonly object[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:270

Placements occupying the tile.

propActors

propActors: readonly GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:280

Prop actors on the tile.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:298

Missing or blocked reason.

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:268

Tile tags, or an empty list for missing tiles.

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:264

Tile terrain, when the tile exists.

tile?

optional tile?: object

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:260

Tile trait value, when the tile exists.

baseAssetId

baseAssetId: string = ''

Asset id for the visible tile top.

coastEdges

coastEdges: number = 0

Six-edge bitmask for coast connectivity.

coastWaterless

coastWaterless: boolean = false

Whether this coast tile uses the waterless guide variant.

coordinates

coordinates: HexCoordinates

Axial tile coordinates.

elevation

elevation: number = 0

Stacked elevation level for the tile top.

key

key: string = ''

Stable axial key in q,r form.

riverCrossing

riverCrossing: "A" | "B" | undefined

River crossing variant, when present.

riverCurvy

riverCurvy: boolean = false

Whether this river tile uses the curvy guide variant.

riverEdges

riverEdges: number = 0

Six-edge bitmask for river connectivity.

riverWaterless

riverWaterless: boolean = false

Whether this river tile uses the waterless guide variant.

roadEdges

roadEdges: number = 0

Six-edge bitmask for road connectivity.

roadSlope

roadSlope: "high" | "low" | undefined

Road slope variant when a road changes elevation.

supportAssetId

supportAssetId: string = ''

Optional asset id for the vertical support below elevated tiles.

tags

tags: string[]

Free-form taxonomy and generation tags.

terrain

terrain: GameboardTerrain

Primary terrain biome represented by this tile.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this tile.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:258

Inspected tile key.


GameboardTileInspectionOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:246

Options for inspecting one board tile from an actor/gameplay perspective.

Extends

Extended by

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

GameboardActorCollisionProfile.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

GameboardActorCollisionProfile.blockingPlacementLayers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

GameboardActorCollisionProfile.ignorePlacementIds

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:248

Source actor used for collision interpretation.

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

GameboardActorCollisionProfile.treatPropsAsBlocking


GameboardTileSpec

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:125

Serializable tile state in a generated gameboard plan.

Properties

baseAssetId

baseAssetId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:137

Asset id for the visible tile top.

coastEdges

coastEdges: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:145

Six-edge bitmask for coast/water connectivity.

coastWaterless

coastWaterless: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:155

Whether this coast tile uses a waterless variant.

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:129

Axial tile coordinates.

elevation

elevation: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:135

Stacked elevation level.

key

key: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:127

Stable axial tile key in q,r form.

riverCrossing?

optional riverCrossing?: "A" | "B"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:153

River crossing variant, when any.

riverCurvy

riverCurvy: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:151

Whether this river tile uses a curvy variant.

riverEdges

riverEdges: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:143

Six-edge bitmask for river connectivity.

riverWaterless

riverWaterless: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:149

Whether this river tile uses a waterless variant.

roadEdges

roadEdges: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:141

Six-edge bitmask for road connectivity.

roadSlope?

optional roadSlope?: "high" | "low"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:147

Road slope variant when the tile uses sloped roads.

supportAssetId

supportAssetId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:139

Asset id for the support/bottom under elevated tiles.

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:157

Generated taxonomy tags.

terrain

terrain: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:131

Primary terrain category.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:133

KayKit texture set applied to this tile.


GuidePageCoverage

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:121

Release-readiness coverage for one extracted KayKit guide page.

Properties

assetOccurrences

assetOccurrences: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:131

Asset references on this page, counting repeated use across pages.

docs

docs: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:143

Documentation entries attached to this page.

docsCoverage

docsCoverage: readonly GameboardCoverageLinkedPath[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:147

Documentation pages linked by this scenario plus availability status.

edition

edition: KayKitGuideScenarioEdition

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:129

Edition scope represented by this page.

extraAssets

extraAssets: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:137

EXTRA asset ids on this page.

freeAssets

freeAssets: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:135

FREE asset ids on this page.

page

page: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:123

One-based extracted guide page number.

publicApis

publicApis: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:139

Public helper/API entries attached to this page.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:125

Stable guide scenario id.

sourceImage

sourceImage: GameboardCoverageLinkedPath

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:145

Source guide image for this page plus availability status.

title

title: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:127

Human-readable guide page title.

uniqueAssets

uniqueAssets: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:133

Unique asset ids on this page.

visualArtifactCoverage

visualArtifactCoverage: readonly VisualArtifactCoverage[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:149

Visual artifacts linked by this scenario plus availability status.

visualArtifacts

visualArtifacts: number

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:141

Review artifacts attached to this page.


GuidePermutationOptions

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:55

Options for expanding guide tile permutation lists.

Properties

rotationSteps?

optional rotationSteps?: readonly number[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:57

Rotation steps to include; defaults to all six.

waterless?

optional waterless?: boolean | "both"

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:59

Whether to include waterless variants, water variants, or both.


GuideTilePermutation

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:29

One concrete guide-described tile variant, modifier, and rotation.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:39

Concrete asset id to render for this permutation.

canonicalMask

canonicalMask: number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:43

Edge mask in the canonical unrotated asset orientation.

curvy

curvy: boolean

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:51

Whether this permutation uses the curvy river asset variant.

family

family: "road" | "river" | "coast"

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:35

Manifest variant family used by selectors.

id

id: string

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:31

Stable id for screenshots and test parametrization.

inputMask

inputMask: number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:41

Edge mask after applying the permutation rotation.

kind

kind: GuideTilePermutationKind

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:33

Permutation family.

label

label: string

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:37

KayKit guide label.

rotationRadians

rotationRadians: number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:47

Clockwise rotation in radians.

rotationSteps

rotationSteps: number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:45

Clockwise 60-degree rotation steps.

waterless

waterless: boolean

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:49

Whether this permutation uses a waterless asset variant.


HarborBoardOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:702

Options for the built-in medieval harbor demo board.

Extends

Properties

defaultTerrain?

optional defaultTerrain?: "grass" | "water"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:119

Initial terrain used for every generated tile.

Inherited from

GameboardPlanOptions.defaultTerrain

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:704

Faction color used by settlement and harbor pieces.

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113

Deterministic seed for generation.

Inherited from

GameboardPlanOptions.seed

shape?

optional shape?: GameboardShape

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:115

Board shape to populate.

Inherited from

GameboardPlanOptions.shape

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:117

Texture set applied to generated terrain.

Inherited from

GameboardPlanOptions.textureSet


HarborOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:388

Options for adding a harbor structure and optional water props.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:390

Coast tile where the harbor is anchored.

facing

facing: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:392

Edge facing adjacent water.

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:394

Faction color for the harbor.

includeProps?

optional includeProps?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:398

Whether to add adjacent boat/anchor props.

kind?

optional kind?: HarborKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:396

Harbor structure variant.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:400

Clockwise 60-degree rotation steps. Defaults to facing.


HexagonGridOptions

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:154

Hexagon grid dimensions in rings around the origin.

Properties

radius

radius: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:156

Honeycomb spiral radius.


HexDims

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:62

The rendered hex's world-space footprint, used to build a textured-hex mesh whose proportions match the source sheet's cell. Both are in world units.

Properties

height

height: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:64

width

width: number

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:63


HexGeometry

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:24

World-space dimensions for a hex footprint.

Properties

depth

depth: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:28

Tile depth along the world Z axis.

elevationStep

elevationStep: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:30

Vertical world-unit step for one elevation level.

width

width: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:26

Tile width along the world X axis.


HexPathOptions

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

Options for A-star pathfinding over axial coordinates.

Properties

cost?

optional cost?: (from, to) => number

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

Movement cost callback for weighted paths.

Parameters
from

HexCoordinates

to

HexCoordinates

Returns

number

maxVisited?

optional maxVisited?: number

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

Maximum visited nodes before aborting the search.

passable?

optional passable?: (coordinates, from?) => boolean

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

Predicate for rejecting blocked coordinates.

Parameters
coordinates

HexCoordinates

from?

HexCoordinates

Returns

boolean

shape?

optional shape?: GameboardShape

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

Optional shape boundary; omitted paths may explore outside an authored board.


HexPathResult

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

Result from a hex pathfinding request.

Properties

cost

cost: number

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

Total path cost, or positive infinity when no path is found.

found

found: boolean

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

Whether a complete path was found.

path

path: readonly HexCoordinates[]

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

Ordered path from start to goal, empty when no path is found.

visited

visited: number

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

Number of nodes visited before the search stopped.


HexTileDeclaration

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:114

Normalized tile declaration stored in a registry.

Properties

adjacency

adjacency: readonly TileAdjacencyRule[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:136

Adjacency rules consumed by validation and generators.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:118

Manifest asset id to place when this declaration is applied.

bounds?

optional bounds?: AssetBounds

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:128

Asset bounds used by geometry analysis and compatibility warnings.

edges

edges: readonly TileEdgeDeclaration[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:134

Normalized edge connection masks.

geometry

geometry: HexGeometry

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:130

Complete hex footprint geometry for placement and scaling calculations.

id

id: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:116

Stable declaration id used by recipes and registry lookups.

metadata

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

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:142

Additional serializable metadata to copy onto placements.

role

role: TileDeclarationRole

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:122

Board construction role for the declaration.

scale

scale: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:132

Default placement scale for feature/unit declarations.

source

source: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:120

Human-readable source label, commonly manifest, extra, or a pack id.

stack

stack: TileStackRule

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:138

Stacking behavior for elevation/support placement.

tags

tags: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:140

Search and selection tags attached to the declaration.

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:124

Default terrain assigned when the declaration becomes the base tile.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:126

Texture set associated with the declaration when it came from a pack variant.


HexTileDeclarationInput

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:82

Author input for registering KayKit-compatible or custom hex pieces.

Properties

adjacency?

optional adjacency?: readonly TileAdjacencyRule[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:104

Adjacency rules consumed by validation and generators.

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:86

Manifest asset id to place when this declaration is applied.

bounds?

optional bounds?: AssetBounds

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:96

Asset bounds used by geometry analysis and compatibility warnings.

edges?

optional edges?: Partial<Record<string, HexEdgeInput>>

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:102

Edge connection masks keyed by channel.

geometry?

optional geometry?: Partial<HexGeometry>

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:98

Hex footprint geometry for placement and scaling calculations.

id

id: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:84

Stable declaration id used by recipes and registry lookups.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:110

Additional serializable metadata to copy onto placements.

role?

optional role?: TileDeclarationRole

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:90

Board construction role for the declaration.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:100

Default placement scale for feature/unit declarations.

source?

optional source?: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:88

Human-readable source label, commonly manifest, extra, or a pack id.

stack?

optional stack?: Partial<TileStackRule>

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:106

Stacking behavior overrides.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:108

Search and selection tags attached to the declaration.

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:92

Default terrain assigned when the declaration becomes the base tile.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:94

Texture set associated with the declaration when it came from a pack variant.


HexTileRegistry

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:146

Lookup structure for registered tile declarations plus normalization warnings.

Properties

byAssetId

byAssetId: Readonly<Record<string, HexTileDeclaration>>

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:152

Declarations indexed by manifest asset id.

byId

byId: Readonly<Record<string, HexTileDeclaration>>

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:150

Declarations indexed by declaration id.

declarations

declarations: readonly HexTileDeclaration[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:148

All normalized declarations in insertion order.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:154

Non-fatal duplicate or compatibility warnings emitted while creating the registry.


InMemoryGameboardEcs

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:614

Minimal in-memory ECS useful for tests, examples, and adapter prototyping.

Properties

adapter

adapter: GameboardEcsAdapter<InMemoryGameboardEcsEntity>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:618

Adapter that populates entities.

entities

entities: Map<string, InMemoryGameboardEcsEntity>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:616

Mounted entities keyed by id.


InMemoryGameboardEcsEntity

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:600

Entity shape used by the in-memory ECS adapter.

Properties

components

components: Map<string, unknown>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:606

Components keyed by component name.

id

id: string

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:602

Entity id.

kind

kind: GameboardInteropEntityKind

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:604

Entity kind.

relations

relations: GameboardEcsRelation[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:608

Outgoing relations from this entity.


InspectGameboardLayoutSitesOptions

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

Options for inspecting layout candidates and rejections.

Properties

count?

optional count?: number

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

Optional number of selected sites to include.

criteria?

optional criteria?: GameboardLayoutCriteria

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

Site criteria.

seed?

optional seed?: string | number

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

Seed used to break score ties deterministically.


InspectGameboardPlacementOccupancyOptions

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

Options for simulating whether a placement can occupy a tile footprint.

Properties

at

at: string | HexCoordinates

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

Origin tile or tile key for the proposed placement.

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

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

Placement ids ignored when checking blockers, usually the moving entity.

kind?

optional kind?: GameboardPlacementKind

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

Placement kind to evaluate. Defaults to prop.

layer?

optional layer?: GameboardPlacementLayer

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

Placement layer to evaluate. Defaults from kind.

metadata?

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

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

Placement metadata used for footprint and occupancy rules.

requireUnblocked?

optional requireUnblocked?: boolean

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

Require no blockers even if the proposed placement itself is non-blocking.


InspectSeededGameboardPieceFillsOptions

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:139

Options for dry-running seeded piece fills.

Properties

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:141

Seed used to evaluate deterministic placements.


KayKitAssetPublicTreatment

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:412

Public API treatment for one asset id. This is the contract that keeps assets from becoming a passive catalog entry with no builder, selector, or layout path.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:414

Stable manifest asset id used by plans and placement records.

category

category: "tiles" | "buildings" | "decoration" | "units"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:418

Top-level manifest category.

minimumEdition

minimumEdition: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:416

Lowest edition that exposes this asset id.

placementKind

placementKind: "decoration" | "road" | "river" | "coast" | "prop" | "unit" | "terrain" | "transition" | "structure"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:426

Placement kind produced by the public board/runtime APIs.

placementLayer

placementLayer: "unit" | "terrain" | "structure" | "surface" | "feature"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:437

Placement layer produced by the public board/runtime APIs.

publicApi

publicApi: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:439

Public helpers or selectors that intentionally exercise this asset.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:445

Whether this asset should be treated as local-only/EXTRA in apps.

role

role: KayKitAssetPublicRole

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:424

Intent-level role used by docs, selectors, and gameplay placement helpers.

scenario

scenario: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:443

Human-readable scenario group for visual contact sheets and docs.

sourceImages

sourceImages: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:441

Extracted guide images that motivate this treatment.

sourcePath

sourcePath: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:422

Source-relative GLTF path for FREE packaging or local EXTRA ingest.

subcategory

subcategory: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:420

Manifest subcategory or source folder.


KayKitGuideAssetCoverage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:601

Coverage record that maps one asset id back to guide pages, APIs, docs, and visuals.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:603

Stable manifest asset id used by plans and placement records.

category

category: "tiles" | "buildings" | "decoration" | "units"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:607

Top-level manifest category.

docs

docs: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:631

Documentation pages linked by the matching guide scenarios.

editions

editions: readonly KayKitGuideScenarioEdition[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:625

Edition scopes represented by the guide scenarios.

minimumEdition

minimumEdition: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:605

Lowest edition that exposes this asset id.

occurrences

occurrences: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:635

Number of page-level scenario references for this asset id.

pages

pages: readonly number[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:623

One-based extracted guide pages that exercise this asset id.

placementKind

placementKind: "decoration" | "road" | "river" | "coast" | "prop" | "unit" | "terrain" | "transition" | "structure"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:615

Placement kind produced by the public board/runtime APIs.

placementLayer

placementLayer: "unit" | "terrain" | "structure" | "surface" | "feature"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:617

Placement layer produced by the public board/runtime APIs.

publicApi

publicApi: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:629

Public helper/API entries attached to this asset id.

role

role: KayKitAssetPublicRole

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:613

Intent-level role used by docs, selectors, and gameplay placement helpers.

scenarioIds

scenarioIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:621

Guide scenario ids that explicitly reference this asset id.

sourceImages

sourceImages: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:627

Extracted guide source PNGs that reference or motivate this asset id.

sourcePath

sourcePath: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:611

Source-relative GLTF path for FREE packaging or local EXTRA ingest.

subcategory

subcategory: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:609

Manifest subcategory or source folder.

treatment

treatment: KayKitAssetPublicTreatment

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:619

Full public treatment record for this asset id.

visualArtifacts

visualArtifacts: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:633

Visual artifacts linked by the matching guide scenarios.


KayKitGuideAssetCoverageCounts

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:481

Coverage counts for KayKit guide assets by unique id and page occurrence.

Properties

extra

extra: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:487

Unique EXTRA asset ids referenced by the guide scenario matrix.

extraOccurrences

extraOccurrences: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:493

EXTRA scenario asset references, counting repeated page-level use.

free

free: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:485

Unique FREE asset ids referenced by the guide scenario matrix.

freeOccurrences

freeOccurrences: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:491

FREE scenario asset references, counting repeated page-level use.

occurrences

occurrences: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:489

Total scenario asset references, counting repeated page-level use.

unique

unique: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:483

Unique asset ids referenced by the guide scenario matrix.


KayKitGuideCoverageSummary

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:521

Summary of the full extracted KayKit guide scenario matrix.

Properties

assetCounts

assetCounts: KayKitGuideAssetCoverageCounts

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:533

Unique and occurrence asset coverage counts.

docsCount

docsCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:531

Number of distinct docs referenced by guide scenarios.

pageCount

pageCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:525

Number of extracted guide pages.

pages

pages: readonly KayKitGuidePageCoverage[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:539

Page-level coverage rows in guide order.

scenarioCount

scenarioCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:523

Number of guide scenarios.

scenariosByEdition

scenariosByEdition: Readonly<Record<KayKitGuideScenarioEdition, number>>

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:535

Scenario counts by edition scope.

sourceImageCount

sourceImageCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:527

Number of distinct source images referenced by guide scenarios.

uniqueAssetsByRole

uniqueAssetsByRole: Readonly<Partial<Record<KayKitAssetPublicRole, number>>>

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:537

Unique asset counts by public treatment role.

visualArtifactCount

visualArtifactCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:529

Number of distinct visual artifacts referenced by guide scenarios.


KayKitGuidePageCoverage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:497

Coverage record for one extracted KayKit guide page.

Properties

assetOccurrences

assetOccurrences: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:505

Asset references on this page, counting repeated use across pages.

docs

docs: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:517

Documentation entries attached to this page.

edition

edition: KayKitGuideScenarioEdition

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:503

Edition scope represented by this page.

extraAssets

extraAssets: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:511

EXTRA asset ids on this page.

freeAssets

freeAssets: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:509

FREE asset ids on this page.

page

page: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:499

One-based extracted guide page number.

publicApis

publicApis: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:513

Public helper/API entries attached to this page.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:501

Stable scenario id for the page.

uniqueAssets

uniqueAssets: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:507

Unique asset ids on this page.

visualArtifacts

visualArtifacts: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:515

Review artifacts attached to this page.


KayKitGuidePublicApiCoverage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:557

Coverage record that maps one public API surface back to guide pages and assets.

Properties

assetCounts

assetCounts: KayKitGuideAssetCoverageCounts

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:571

Unique and repeated asset counts for this API surface across matching guide pages.

assetIds

assetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:567

Asset ids whose treatment explicitly lists this API surface.

docs

docs: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:573

Documentation pages linked by the matching guide scenarios.

editions

editions: readonly KayKitGuideScenarioEdition[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:565

Edition scopes represented by the guide scenarios.

pages

pages: readonly number[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:563

One-based extracted guide pages that exercise this API surface.

publicApi

publicApi: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:559

Public builder, selector, CLI, manifest, docs, or runtime surface.

scenarioIds

scenarioIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:561

Guide scenario ids that list or inherit this public API surface.

treatmentRoles

treatmentRoles: readonly KayKitAssetPublicRole[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:569

Public treatment roles attached to those assets.

visualArtifacts

visualArtifacts: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:575

Visual artifacts linked by the matching guide scenarios.


KayKitGuideRoleCoverage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:579

Coverage record that maps one public asset role back to guide pages, APIs, and assets.

Properties

assetCounts

assetCounts: KayKitGuideAssetCoverageCounts

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:593

Unique and repeated asset counts for this role across matching guide pages.

assetIds

assetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:589

Asset ids whose treatment uses this role.

docs

docs: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:595

Documentation pages linked by the matching guide scenarios.

editions

editions: readonly KayKitGuideScenarioEdition[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:587

Edition scopes represented by the guide scenarios.

pages

pages: readonly number[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:585

One-based extracted guide pages that exercise this role.

publicApi

publicApi: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:591

Public helper/API entries attached to assets with this role.

role

role: KayKitAssetPublicRole

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:581

Public treatment role assigned to the covered asset group.

scenarioIds

scenarioIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:583

Guide scenario ids that list or inherit this public role.

visualArtifacts

visualArtifacts: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:597

Visual artifacts linked by the matching guide scenarios.


KayKitGuideScenario

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:455

Decomposed scenario contract for one extracted KayKit guide page. Scenarios connect the image page to assets, public APIs, visual artifacts, and docs.

Properties

assetIds

assetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:469

Asset ids that must be exercised for this page/use case.

docs

docs: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:477

Documentation pages that explain the public contract.

edition

edition: KayKitGuideScenarioEdition

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:465

Edition scope for the use case shown by the page.

id

id: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:457

Stable scenario id derived from the guide page and use case.

page

page: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:459

One-based extracted guide page number.

publicApi

publicApi: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:471

Public helper surfaces that express this guide page.

sourceImage

sourceImage: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:463

Extracted PNG page used as source material.

summary

summary: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:467

Concise implementation intent for humans, tests, and agents.

title

title: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:461

Human-readable guide page title.

treatmentRoles

treatmentRoles: readonly KayKitAssetPublicRole[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:473

Public treatment roles represented by this page.

visualArtifacts

visualArtifacts: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:475

Screenshot or docs artifacts that should be reviewed for this page.


KayKitGuideScenarioAssetRenderGroup

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:758

Render-request group for one extracted guide scenario.

Properties

count

count: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:772

Number of repeated asset occurrences in this group.

edition

edition: KayKitGuideScenarioEdition

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:768

Scenario edition scope.

page

page: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:762

One-based extracted guide page number.

requests

requests: readonly KayKitGuideScenarioAssetRenderRequest[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:770

Renderer-ready asset requests for this page.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:760

Stable scenario id.

sourceImage

sourceImage: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:766

Extracted PNG page used as source material.

title

title: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:764

Human-readable guide page title.


KayKitGuideScenarioAssetRenderRequest

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:724

Renderer-facing row for one guide asset occurrence. It keeps the original usage row attached while exposing the repeated fields renderers usually need.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:734

Stable manifest asset id used by renderers and placement records.

caption

caption: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:752

Stable short caption for contact sheets and renderer previews.

category

category: "tiles" | "buildings" | "decoration" | "units"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:740

Top-level manifest category.

label

label: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:750

Stable short label for contact sheets and renderer previews.

minimumEdition

minimumEdition: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:744

Lowest edition that exposes this asset id.

page

page: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:728

One-based extracted guide page number.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:746

Whether this request requires local-only EXTRA assets.

role

role: KayKitAssetPublicRole

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:748

Intent-level role used by docs, selectors, and gameplay placement helpers.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:726

Stable scenario id that introduced this render request.

sourceImage

sourceImage: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:732

Extracted PNG page used as source material.

sourcePath

sourcePath: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:736

Source-relative GLTF path for FREE packaging or local EXTRA ingest.

subcategory

subcategory: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:742

Manifest subcategory or source folder.

title

title: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:730

Human-readable guide page title.

url?

optional url?: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:738

Optional resolved URL for loading the GLTF.

usage

usage: KayKitGuideScenarioAssetUsage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:754

Original page-level usage row.


KayKitGuideScenarioAssetRenderRequestOptions

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:712

Options for creating renderer-facing guide asset requests.

Extends

Properties

assetBaseUrl?

optional assetBaseUrl?: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:715

Base URL/path prepended to each source-relative GLTF path.

assetIds?

optional assetIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:697

Limit usages to exact asset ids.

Inherited from

KayKitGuideScenarioAssetUsageOptions.assetIds

categories?

optional categories?: readonly ("tiles" | "buildings" | "decoration" | "units")[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:701

Limit usages by top-level manifest categories.

Inherited from

KayKitGuideScenarioAssetUsageOptions.categories

editionScope?

optional editionScope?: KayKitGuideScenarioEdition | readonly KayKitGuideScenarioEdition[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:693

Limit usages by the guide scenario edition scope.

Inherited from

KayKitGuideScenarioAssetUsageOptions.editionScope

minimumEdition?

optional minimumEdition?: "free" | "extra" | "all"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:695

Limit usages by the asset's lowest available edition; defaults to all.

Inherited from

KayKitGuideScenarioAssetUsageOptions.minimumEdition

pages?

optional pages?: readonly number[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:691

Limit usages to one-based guide pages.

Inherited from

KayKitGuideScenarioAssetUsageOptions.pages

publicApis?

optional publicApis?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:703

Limit usages by public helper/API entries attached to the asset treatment.

Inherited from

KayKitGuideScenarioAssetUsageOptions.publicApis

roles?

optional roles?: readonly KayKitAssetPublicRole[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:699

Limit usages by public treatment roles.

Inherited from

KayKitGuideScenarioAssetUsageOptions.roles

scenarioIds?

optional scenarioIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:689

Limit usages to exact scenario ids.

Inherited from

KayKitGuideScenarioAssetUsageOptions.scenarioIds

urlResolver?

optional urlResolver?: KayKitGuideScenarioAssetUrlResolver

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:717

Custom URL resolver, used before assetBaseUrl when provided.


KayKitGuideScenarioAssetUsage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:643

Page-level asset occurrence from the decomposed KayKit guide matrix. Unlike asset coverage rows, this keeps repeated scenario uses so renderers, screenshots, docs, and audits can reproduce the exact guide treatment set.

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:655

Stable manifest asset id used by plans and placement records.

caption

caption: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:683

Stable short caption for contact sheets and renderer previews.

category

category: "tiles" | "buildings" | "decoration" | "units"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:659

Top-level manifest category.

docs

docs: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:673

Documentation pages linked by the matching guide scenario.

label

label: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:681

Stable short label for contact sheets and renderer previews.

minimumEdition

minimumEdition: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:657

Lowest edition that exposes this asset id.

page

page: number

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:647

One-based extracted guide page number.

placementKind

placementKind: "decoration" | "road" | "river" | "coast" | "prop" | "unit" | "terrain" | "transition" | "structure"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:667

Placement kind produced by the public board/runtime APIs.

placementLayer

placementLayer: "unit" | "terrain" | "structure" | "surface" | "feature"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:669

Placement layer produced by the public board/runtime APIs.

publicApi

publicApi: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:671

Public helpers or selectors that intentionally exercise this asset.

requiresExtra

requiresExtra: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:679

Whether this asset should be treated as local-only/EXTRA in apps.

role

role: KayKitAssetPublicRole

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:665

Intent-level role used by docs, selectors, and gameplay placement helpers.

scenarioEdition

scenarioEdition: KayKitGuideScenarioEdition

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:653

Edition scope for the source guide scenario.

scenarioId

scenarioId: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:645

Stable scenario id that introduced this asset occurrence.

sourceImage

sourceImage: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:651

Extracted PNG page used as source material.

sourcePath

sourcePath: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:663

Source-relative GLTF path for FREE packaging or local EXTRA ingest.

subcategory

subcategory: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:661

Manifest subcategory or source folder.

title

title: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:649

Human-readable guide page title.

treatment

treatment: KayKitAssetPublicTreatment

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:677

Full public treatment record for this asset id.

visualArtifacts

visualArtifacts: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:675

Screenshot or docs artifacts linked by the matching guide scenario.


KayKitGuideScenarioAssetUsageOptions

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:687

Filters for page-level KayKit guide asset usages.

Extended by

Properties

assetIds?

optional assetIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:697

Limit usages to exact asset ids.

categories?

optional categories?: readonly ("tiles" | "buildings" | "decoration" | "units")[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:701

Limit usages by top-level manifest categories.

editionScope?

optional editionScope?: KayKitGuideScenarioEdition | readonly KayKitGuideScenarioEdition[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:693

Limit usages by the guide scenario edition scope.

minimumEdition?

optional minimumEdition?: "free" | "extra" | "all"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:695

Limit usages by the asset's lowest available edition; defaults to all.

pages?

optional pages?: readonly number[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:691

Limit usages to one-based guide pages.

publicApis?

optional publicApis?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:703

Limit usages by public helper/API entries attached to the asset treatment.

roles?

optional roles?: readonly KayKitAssetPublicRole[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:699

Limit usages by public treatment roles.

scenarioIds?

optional scenarioIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:689

Limit usages to exact scenario ids.


KayKitGuideScenarioCoverage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:543

Public treatment join for one extracted KayKit guide scenario.

Properties

assetCounts

assetCounts: KayKitGuideAssetCoverageCounts

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:549

Unique and occurrence counts scoped to this scenario.

missingTreatmentAssetIds

missingTreatmentAssetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:553

Scenario asset ids that do not have a known public treatment.

page

page: KayKitGuidePageCoverage

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:547

Page-level coverage counts for this scenario.

scenario

scenario: KayKitGuideScenario

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:545

Decomposed guide scenario metadata.

treatments

treatments: readonly KayKitAssetPublicTreatment[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:551

Public treatment records for the scenario assets.


KayKitGuideScenarioCoverageMarkdownOptions

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:776

Options for rendering the extracted guide scenario matrix as Markdown.

Properties

includePublicApiInversion?

optional includePublicApiInversion?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:784

Whether to append the public API inverse-coverage usage section.

includeRoleCoverage?

optional includeRoleCoverage?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:782

Whether to append the public role coverage index.

scenarios?

optional scenarios?: readonly KayKitGuideScenario[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:780

Scenario subset to render; defaults to all extracted guide scenarios.

title?

optional title?: string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:778

Heading used for the generated document.


MarkTargetActorInteractedHandlerOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:184

Options for the actor-interaction marker handler preset.

Properties

commandKinds?

optional commandKinds?: readonly GameboardInteractionCommandKind[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:188

Command kinds this handler accepts.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:186

Handler id emitted in event records.

interactedField?

optional interactedField?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:190

Metadata field written to the target actor.

metadata?

optional metadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:194

Extra metadata merged into the target actor.

sourceActorField?

optional sourceActorField?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:192

Metadata field that records the source actor id.


MedievalHarborSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:126

Authored harbor or port cluster.

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:130

Coast tile where the harbor is anchored.

facing

facing: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:132

Edge facing adjacent water.

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:134

Faction used for faction-colored harbor assets.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:128

Optional harbor id used in diagnostics.

kind?

optional kind?: HarborKind

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:136

Harbor asset variant.

roadTo?

optional roadTo?: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:138

Optional inland road target.


MedievalMountainRangeSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:70

Multi-tile elevated mountain range intent.

Properties

height?

optional height?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:78

Highest stack height in the range. Defaults to blueprint maxElevation.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:72

Optional range id used in diagnostics and generated metadata.

path

path: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:74

Ridge path. Width expands around these coordinates.

treeLine?

optional treeLine?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:82

Include tree-covered mountain assets above this normalized height.

variant?

optional variant?: MountainVariant | "cycle"

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:80

Mountain visual variant or deterministic cycling. Defaults to cycle.

width?

optional width?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:76

Radius around the ridge path to include. Defaults to 1.


MedievalPropClusterDressingOptions

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:148

Policy for contextual prop clusters generated around towns and harbors.

Properties

auto?

optional auto?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:150

Generate context-aware town and harbor clusters. Defaults to true.

clusters?

optional clusters?: readonly MedievalPropClusterDressingSpec[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:158

Additional authored prop clusters compiled into the recipe.

density?

optional density?: number

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:152

Default density for generated clusters. Defaults to 0.55.

includeExtra?

optional includeExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:156

Include local-only EXTRA prop assets in generated clusters. Defaults to false.

placement?

optional placement?: PropClusterPlacement

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:154

Default cluster distribution for generated clusters. Defaults to adjacent.


MedievalPropClusterDressingSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:142

Authored or generated semantic prop-cluster dressing.

Extends

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:576

Anchor tile for the cluster.

Inherited from

PropClusterOptions.at

density?

optional density?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:584

Percentage of the cluster's available asset list to place, from 0 to 1. Defaults to 1.

Inherited from

PropClusterOptions.density

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:580

Edge used to orient adjacent spread patterns.

Inherited from

PropClusterOptions.facing

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:144

Optional stable id used for generated metadata and diagnostics.

includeExtra?

optional includeExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:586

Include local-only EXTRA prop assets when the cluster kind has them. Defaults to false.

Inherited from

PropClusterOptions.includeExtra

kind

kind: PropClusterKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:578

Cluster purpose. Determines the default asset list.

Inherited from

PropClusterOptions.kind

placement?

optional placement?: PropClusterPlacement

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:582

Whether assets stack on one tile or spread to neighboring tiles. Defaults to adjacent.

Inherited from

PropClusterOptions.placement

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:590

Base clockwise 60-degree rotation steps. Defaults to facing.

Inherited from

PropClusterOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:592

Uniform render scale.

Inherited from

PropClusterOptions.scale


MedievalRiverNetworkSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:114

Authored river network.

Properties

curvy?

optional curvy?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:122

Whether to prefer curvy river overlays.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:116

Optional river id used in diagnostics.

path

path: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:118

Ordered coordinates for the river path.

waterless?

optional waterless?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:120

Whether to use waterless river overlays.


MedievalRoadNetworkSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:102

Authored multi-segment road network.

Properties

addBridges?

optional addBridges?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:110

Add bridge structures where the road crosses water.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:104

Optional road id used in diagnostics.

path

path: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:106

Ordered coordinates for the road path.

slope?

optional slope?: RoadSlope

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:108

Optional road slope variant for this path.


MedievalTownSpec

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:86

Authored town or settlement cluster.

Properties

buildings?

optional buildings?: readonly ("tent" | "archeryrange" | "barracks" | "blacksmith" | "castle" | "church" | "docks" | "home_A" | "home_B" | "lumbermill" | "market" | "mine" | "shipyard" | "shrine" | "stables" | "tavern" | "townhall" | "tower_A" | "tower_B" | "tower_base" | "tower_cannon" | "tower_catapult" | "watchtower" | "watermill" | "well" | "windmill" | "workshop")[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:94

Building sequence to place around the town center.

center

center: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:90

Center tile, normally the town hall or market.

connectTo?

optional connectTo?: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:98

Optional road targets that should connect to this town center.

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:92

Faction used for faction-colored buildings.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:88

Optional town id used in diagnostics and generated docs.

includeWalls?

optional includeWalls?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:96

Whether to add a small defensive wall/fence ring.


MedievalTransitionPolicy

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:162

Policy for generated visual/access transitions between board regions.

Properties

biomeTransitions?

optional biomeTransitions?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:164

Add EXTRA transition tiles where neighboring texture sets differ.

bridges?

optional bridges?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:170

Add bridge structures where authored roads cross water tiles.

elevationRamps?

optional elevationRamps?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:166

Add sloped grass tiles where elevation changes by one level.

roadSlopes?

optional roadSlopes?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:168

Add sloped road variants where a road crosses one elevation level.


MountainStackOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:368

Options for adding a stacked mountain feature.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:370

Tile where the mountain stack is anchored.

height

height: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:372

Elevation height for the stack.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:380

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:382

Uniform render scale.

variant?

optional variant?: MountainVariant

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:374

Mountain visual variant.

withGrass?

optional withGrass?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:376

Include grass on the mountain asset.

withTrees?

optional withTrees?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:378

Include trees on the mountain asset.


NaturePlacementOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:546

Options for adding a nature decoration.

Extended by

Properties

assetId

assetId: "cloud_big" | "cloud_small" | "hill_single_A" | "hill_single_B" | "hill_single_C" | "hills_A" | "hills_A_trees" | "hills_B" | "hills_B_trees" | "hills_C" | "hills_C_trees" | "mountain_A" | "mountain_A_grass" | "mountain_A_grass_trees" | "mountain_B" | "mountain_B_grass" | "mountain_B_grass_trees" | "mountain_C" | "mountain_C_grass" | "mountain_C_grass_trees" | "rock_single_A" | "rock_single_B" | "rock_single_C" | "rock_single_D" | "rock_single_E" | "tree_single_A" | "tree_single_A_cut" | "tree_single_B" | "tree_single_B_cut" | "trees_A_cut" | "trees_A_large" | "trees_A_medium" | "trees_A_small" | "trees_B_cut" | "trees_B_large" | "trees_B_medium" | "trees_B_small" | "waterlily_A" | "waterlily_B" | "waterplant_A" | "waterplant_B" | "waterplant_C"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:550

Nature asset id.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:548

Tile where the nature asset is anchored.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:552

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:554

Uniform render scale.


NeutralStructureOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:438

Options for adding a neutral structure.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:440

Tile where the structure is anchored.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:444

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:446

Uniform render scale.

structure

structure: "building_bridge_A" | "building_bridge_B" | "building_destroyed" | "building_dirt" | "building_grain" | "building_scaffolding" | "building_stage_A" | "building_stage_B" | "building_stage_C" | "fence_stone_straight" | "fence_stone_straight_gate" | "fence_wood_straight" | "fence_wood_straight_gate" | "projectile_catapult" | "wall_corner_A_gate" | "wall_corner_A_inside" | "wall_corner_A_outside" | "wall_corner_B_inside" | "wall_corner_B_outside" | "wall_straight" | "wall_straight_gate"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:442

Neutral structure asset id.


Normalization

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:48

A computed normalization — a uniform scale + a recenter offset.

Properties

offset

readonly offset: WorldPosition

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:55

World-space offset to apply AFTER scaling so the (scaled) asset is centered on the cell in x/z, and rested on / centered in y per rest.

scale

readonly scale: number

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:50

Uniform scale factor to apply to the asset.


NormalizeOptions

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:37

Options for normalizing an asset to a cell.

Properties

fit?

readonly optional fit?: NormalizeFit

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:38

rest?

readonly optional rest?: boolean

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:44

Rest the asset ON the cell surface (its min-Y sits at y=0) after scaling, rather than centering it vertically. Default true — props/buildings stand on the tile.

target?

readonly optional target?: NormalizeTarget

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:39


NormalizeTarget

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:29

The board cell an asset is normalized to (defaults to the KayKit hex cell).

Properties

depth?

readonly optional depth?: number

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:33

Target cell depth in world units (z).

width?

readonly optional width?: number

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:31

Target cell width in world units (x).


OverlayAnchor

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:21

Where on the cell the asset anchors, as a fraction of the cell (0.5,0.5 = center; 0,0 = a corner). Applied on the board plane (x = width, z = depth) before offset.

Properties

x?

readonly optional x?: number

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:22

z?

readonly optional z?: number

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:23


OverlayControls

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:27

Dev-controllable overlay controls layered on top of the normalization.

Properties

anchor?

readonly optional anchor?: OverlayAnchor

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:29

Anchor within the cell (default center 0.5,0.5).

cell?

readonly optional cell?: object

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:37

The cell the anchor is measured against (default KayKit hex).

depth?

readonly optional depth?: number

width?

readonly optional width?: number

offset?

readonly optional offset?: Partial<WorldPosition>

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:31

Additional world-space nudge applied after anchoring.

rotationY?

readonly optional rotationY?: number

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:33

Additional Y rotation (radians) on top of the placement rotation.

scale?

readonly optional scale?: number

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:35

Multiplier on the normalized scale (1 = normalized size).


PlacementOccupancySnapshot

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:185

Serializable occupancy record joined from a placement and an occupied tile.

Properties

blocksMovement

blocksMovement: boolean

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

Whether this occupancy record blocks movement.

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:189

Axial coordinates for the occupied tile.

footprintIndex

footprintIndex: number

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

Zero-based index within the placement footprint.

occupancyGroup

occupancyGroup: string

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

Occupancy group used to allow compatible colocated placements.

originTileKey

originTileKey: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:193

Origin tile key for the placement.

placement

placement: object

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:191

Placement occupying the tile.

assetId

assetId: string = ''

Manifest or external registry asset id.

coordinates

coordinates: HexCoordinates

Axial coordinates of the origin tile.

elevation

elevation: number = 0

Base tile elevation where the placement was spawned.

elevationOffset

elevationOffset: number = 0

Extra vertical offset above the tile elevation.

id

id: string = ''

Stable placement id.

kind

kind: GameboardPlacementKind

Gameplay category for rules, selectors, and rendering.

layer

layer: GameboardPlacementLayer

Render and occupancy layer.

metadata

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

Serializable placement metadata for rules, ECS interop, and render hints.

order

order: number = 0

Stable sort order used by renderers and snapshots.

position

position: WorldPosition

World-space placement anchor after elevation and local offsets.

requiresExtra

requiresExtra: boolean = false

Whether the placement depends on local-only EXTRA assets.

rotationRadians

rotationRadians: number = 0

Rotation in radians derived from rotationSteps.

rotationSteps

rotationSteps: number = 0

Clockwise 60-degree rotation steps.

scale

scale: number = 1

Uniform render scale.

stackIndex

stackIndex: number | undefined

Optional stack index for layered terrain and vertical props.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

KayKit texture set applied to this placement.

tileKey

tileKey: string = ''

Origin tile key in q,r form.

tileKey

tileKey: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:187

Tile key for the occupied tile.


PlacementOccupancyValue

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:171

Stored relation payload for one tile occupied by one placement.

Properties

blocksMovement

blocksMovement: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:177

Whether this footprint record blocks movement.

footprintIndex

footprintIndex: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:175

Zero-based index within the footprint key list.

occupancyGroup

occupancyGroup: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:179

Occupancy group used to allow compatible colocated placements.

originTileKey

originTileKey: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:173

Origin tile key for the placement that owns this footprint record.


PngDimensions

Defined in: packages/declarative-hex-worlds/src/asset-source/png-dimensions.ts:18

A PNG's pixel dimensions.

Properties

height

height: number

Defined in: packages/declarative-hex-worlds/src/asset-source/png-dimensions.ts:20

width

width: number

Defined in: packages/declarative-hex-worlds/src/asset-source/png-dimensions.ts:19


ProjectWorldOptions

Defined in: packages/declarative-hex-worlds/src/coordinates/projection.ts:36

Options for projecting a world into a plan.

Properties

geometry?

optional geometry?: HexGeometry

Defined in: packages/declarative-hex-worlds/src/coordinates/projection.ts:45

Hex world geometry used to place tiles (their position). Defaults to DEFAULT_HEX_GEOMETRY. Override for a board whose row spacing differs from a regular hex — e.g. a TILESET board whose cells bake a vertically-foreshortened (isometric) hex: its rows must be packed at height/2, i.e. depth = (4/3)·(width·cellHeight/cellWidth)/2, so full-cell quads interlock seamlessly instead of spreading ~3× too far apart in Z.


PropClusterOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:574

Options for adding a semantic cluster of props.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:576

Anchor tile for the cluster.

clusterId?

optional clusterId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:588

Optional stable id shared by all placements in the cluster.

density?

optional density?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:584

Percentage of the cluster's available asset list to place, from 0 to 1. Defaults to 1.

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:580

Edge used to orient adjacent spread patterns.

includeExtra?

optional includeExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:586

Include local-only EXTRA prop assets when the cluster kind has them. Defaults to false.

kind

kind: PropClusterKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:578

Cluster purpose. Determines the default asset list.

placement?

optional placement?: PropClusterPlacement

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:582

Whether assets stack on one tile or spread to neighboring tiles. Defaults to adjacent.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:590

Base clockwise 60-degree rotation steps. Defaults to facing.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:592

Uniform render scale.


PropPlacementOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:560

Options for adding a prop placement.

Extended by

Properties

assetId

assetId: "anchor" | "barrel" | "boat" | "boatrack" | "bucket_arrows" | "bucket_empty" | "bucket_water" | "cannonball_pallet" | "crate_A_big" | "crate_A_small" | "crate_B_big" | "crate_B_small" | "crate_long_A" | "crate_long_B" | "crate_long_C" | "crate_long_empty" | "crate_open" | "flag_blue" | "flag_green" | "flag_red" | "flag_yellow" | "haybale" | "icon_combat" | "icon_range" | "ladder" | "pallet" | "resource_lumber" | "resource_stone" | "sack" | "target" | "tent" | "trough" | "trough_long" | "weaponrack" | "wheelbarrow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:564

Prop asset id.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:562

Tile where the prop is anchored.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:566

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:568

Uniform render scale.


RectangleGridOptions

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:146

Rectangle grid dimensions in hex cells.

Properties

height

height: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:150

Number of rows in the rectangle.

width

width: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:148

Number of columns in the rectangle.


RemoveTargetActorHandlerOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:160

Options for the actor-removal handler preset.

Properties

commandKinds?

optional commandKinds?: readonly GameboardInteractionCommandKind[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:164

Command kinds this handler accepts.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:162

Handler id emitted in event records.

requireHostile?

optional requireHostile?: boolean

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:166

Require the target to be hostile to the source actor.


RemoveTargetPlacementHandlerOptions

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:172

Options for the placement-removal handler preset.

Properties

commandKinds?

optional commandKinds?: readonly GameboardInteractionCommandKind[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:176

Command kinds this handler accepts.

handlerId?

optional handlerId?: string

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:174

Handler id emitted in event records.

includeActorPlacements?

optional includeActorPlacements?: boolean

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:178

Permit actor placements to be removed by this placement handler.


RequiredGameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:142

Fully normalized navigation profile used internally and exposed for debugging.

Properties

allowedTerrain?

optional allowedTerrain?: readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:144

Terrain values the profile may enter. Undefined means all except blocked terrain.

allowGoalBlocked

allowGoalBlocked: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:160

Whether the goal tile may be blocked.

allowStartBlocked

allowStartBlocked: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:158

Whether the start tile may be blocked.

blockedTerrain

blockedTerrain: readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:146

Terrain values the profile may not enter.

blockingPlacementKinds

blockingPlacementKinds: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:150

Placement kinds that block movement.

blockingPlacementLayers

blockingPlacementLayers: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:152

Placement layers that block movement.

canEnter?

optional canEnter?: (tile, context) => boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:162

Optional custom tile-entry predicate.

Parameters
tile

GameboardTileSpec

context

GameboardNavigationContext

Returns

boolean

cost?

optional cost?: (from, to, baseCost) => number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:164

Optional custom movement-cost function.

Parameters
from

GameboardTileSpec

to

GameboardTileSpec

baseCost

number

Returns

number

ignorePlacementIds

ignorePlacementIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:154

Placement ids ignored by occupancy checks.

maxElevationStep

maxElevationStep: number

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:156

Maximum allowed elevation change between adjacent tiles.

terrainCosts

terrainCosts: Readonly<Record<string, number>>

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:148

Additional movement costs by terrain value.


ResolveContext

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:155

Context passed to an AssetSource when resolving a placement. Carries the optional asset-root base URL (for resolving relative sheet/model paths) and is open for future resolution inputs without changing the interface signature.

Properties

baseUrl?

optional baseUrl?: string | URL

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:157

Base URL for resolving a source's relative asset paths (models, sheets).


ResolvedAccessoryTransform

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:40

A resolved accessory local transform with every field defaulted.

Properties

position

readonly position: WorldPosition

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:41

rotation

readonly rotation: WorldPosition

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:42

scale

readonly scale: number

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:43


ResolvedGameboardLayoutFootprint

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

Normalized footprint definition.

Properties

edges?

optional edges?: readonly HexEdgeIndex[]

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

Neighbor edges used by adjacent footprints.

includeCenter

includeCenter: boolean

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

Whether the origin tile is part of the footprint.

kind

kind: "radius" | "adjacent" | "single" | "custom"

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

Footprint mode.

offsets?

optional offsets?: readonly HexCoordinates[]

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

Custom axial offsets included in the footprint.

radius

radius: number

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

Radius used by radius footprints.


ResolvedGameboardScenarioActor

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:70

Scenario actor after spawn group references have been resolved.

Extends

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:54

Stable gameplay actor id.

Inherited from

SpawnGameboardActorOptions.actorId

actorKind?

optional actorKind?: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56

Gameplay actor kind. Defaults from placement kind.

Inherited from

SpawnGameboardActorOptions.actorKind

actorMetadata?

optional actorMetadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:70

Serializable actor metadata independent from placement metadata.

Inherited from

SpawnGameboardActorOptions.actorMetadata

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:302

Manifest or external registry asset id to render.

Inherited from

SpawnGameboardActorOptions.assetId

at

at: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:300

Origin tile or tile key where the placement should spawn.

Inherited from

SpawnGameboardActorOptions.at

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64

Whether this actor blocks actor movement.

Inherited from

SpawnGameboardActorOptions.blocksMovement

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

Inherited from

SpawnGameboardActorOptions.elevationOffset

faction?

optional faction?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58

Optional faction identifier.

Inherited from

SpawnGameboardActorOptions.faction

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62

Whether this actor is generally hostile.

Inherited from

SpawnGameboardActorOptions.hostile

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:298

Explicit placement id. Defaults to a deterministic runtime id.

Inherited from

SpawnGameboardActorOptions.id

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:66

Whether this actor should be considered an interaction target.

Inherited from

SpawnGameboardActorOptions.interactive

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:304

Gameplay category for rules, selectors, and rendering.

Inherited from

SpawnGameboardActorOptions.kind

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306

Render and occupancy layer. Defaults from kind.

Inherited from

SpawnGameboardActorOptions.layer

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

Inherited from

SpawnGameboardActorOptions.metadata

movementAgent?

optional movementAgent?: SetGameboardMovementAgentOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:80

Optional movement agent to attach after spawning.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

Inherited from

SpawnGameboardActorOptions.occupancyGuard

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

Inherited from

SpawnGameboardActorOptions.order

patrolAgent?

optional patrolAgent?: GameboardScenarioActorPatrolAgent

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:82

Optional patrol agent to attach after spawning.

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

Inherited from

SpawnGameboardActorOptions.positionOffset

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

Inherited from

SpawnGameboardActorOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314

Clockwise 60-degree rotation steps.

Inherited from

SpawnGameboardActorOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

Inherited from

SpawnGameboardActorOptions.scale

spawnGroupId?

optional spawnGroupId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:72

Spawn group id used to resolve the actor, when any.

spawnLocationId?

optional spawnLocationId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:76

Spawn location id claimed inside the group, when any.

spawnLocationIndex?

optional spawnLocationIndex?: number

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:74

Spawn location index claimed inside the group, when any.

spawnTileKey?

optional spawnTileKey?: string

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:78

Spawn tile key claimed inside the group, when any.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

Inherited from

SpawnGameboardActorOptions.stackIndex

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:68

Free-form actor tags used by selectors and quests.

Inherited from

SpawnGameboardActorOptions.tags

team?

optional team?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:60

Optional team identifier. Defaults to faction when omitted.

Inherited from

SpawnGameboardActorOptions.team

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.

Inherited from

SpawnGameboardActorOptions.textureSet


RunGameboardActorTargetInteractionResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:68

Result of target selection, command dispatch, and optional system advancement.

Properties

dispatch?

optional dispatch?: DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:74

Dispatch result when command dispatch occurred.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:80

Serializable event records derived from events.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:78

Combined dispatch and system events.

interaction?

optional interaction?: RunGameboardInteractionResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:72

Interaction result when the target command was executable.

reason?

optional reason?: string

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:82

Reason no interaction occurred or dispatch was blocked.

systems?

optional systems?: RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:76

System result when systems were enabled.

targetCommand

targetCommand: GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:70

Actor-target command plan.


RunGameboardInteractionOptions

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:46

Options for dispatching a command and then optionally running systems.

Extends

Properties

blockingPlacementKinds?

optional blockingPlacementKinds?: readonly GameboardPlacementKind[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126

Placement kinds that should block actor movement.

Inherited from

DispatchGameboardInteractionCommandOptions.blockingPlacementKinds

blockingPlacementLayers?

optional blockingPlacementLayers?: readonly GameboardPlacementLayer[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128

Placement layers that should block actor movement.

Inherited from

DispatchGameboardInteractionCommandOptions.blockingPlacementLayers

handlers?

optional handlers?: GameboardInteractionHandler | readonly GameboardInteractionHandler[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:240

Handler or handler chain for non-movement interact/attack/inspect commands.

Inherited from

DispatchGameboardInteractionCommandOptions.handlers

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130

Placement ids ignored during collision checks.

Inherited from

DispatchGameboardInteractionCommandOptions.ignorePlacementIds

movement?

optional movement?: GameboardMovementPathRequestOptions

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

Movement path options used when the command is a move request.

Inherited from

DispatchGameboardInteractionCommandOptions.movement

requireSourceActorForAttack?

optional requireSourceActorForAttack?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:572

Require a source actor before attack commands can execute.

Inherited from

DispatchGameboardInteractionCommandOptions.requireSourceActorForAttack

requireSourceActorForInteraction?

optional requireSourceActorForInteraction?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:574

Require a source actor before interaction commands can execute.

Inherited from

DispatchGameboardInteractionCommandOptions.requireSourceActorForInteraction

requireSourceActorForMove?

optional requireSourceActorForMove?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:570

Require a source actor before move commands can execute.

Inherited from

DispatchGameboardInteractionCommandOptions.requireSourceActorForMove

sourceActor?

optional sourceActor?: string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216

Source actor used for hostility and collision interpretation.

Inherited from

DispatchGameboardInteractionCommandOptions.sourceActor

systems?

optional systems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:48

Systems to run after dispatch, or false to only dispatch the command.

treatHostileAsBlocking?

optional treatHostileAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132

Treat hostile actors as movement blockers.

Inherited from

DispatchGameboardInteractionCommandOptions.treatHostileAsBlocking

treatInteractiveAsBlocking?

optional treatInteractiveAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134

Treat interactive actors as movement blockers.

Inherited from

DispatchGameboardInteractionCommandOptions.treatInteractiveAsBlocking

treatPropsAsBlocking?

optional treatPropsAsBlocking?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:136

Treat prop actors as movement blockers.

Inherited from

DispatchGameboardInteractionCommandOptions.treatPropsAsBlocking


RunGameboardInteractionResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:54

Result of command dispatch plus optional system advancement.

Properties

dispatch

dispatch: DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:56

Command dispatch result.

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:62

Serializable event records derived from events.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:60

Combined dispatch and system events.

systems?

optional systems?: RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:58

System result when systems were enabled.


RunGameboardScenarioSimulationOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:588

Options for running a scenario simulation.

Properties

defaultCommandHandlerOptions?

optional defaultCommandHandlerOptions?: CreateGameboardInteractionHandlerPresetOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:598

Default options for built-in command handler presets.

defaultCommandHandlers?

optional defaultCommandHandlers?: readonly ("remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg")[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:596

Default built-in command handler presets.

defaultCommandSystems?

optional defaultCommandSystems?: false | RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:594

Default systems after command dispatch, or false to skip.

defaultRunSystems?

optional defaultRunSystems?: RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:600

Default systems for run-systems steps.

defaultSourceActor?

optional defaultSourceActor?: string

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:592

Default source actor id for command steps.

recipeOverrides?

optional recipeOverrides?: Partial<GameboardPlanOptions>

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:590

Recipe compile overrides for the scenario board.


RunGameboardSystemsOptions

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:32

System tick options. Set a subsystem to false to skip it for this tick.

Properties

movement?

optional movement?: false | AdvanceGameboardMovementOptions

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:36

Movement advancement options or false to skip movement.

patrols?

optional patrols?: false | AdvanceGameboardPatrolOptions

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:34

Patrol advancement options or false to skip patrols.

quests?

optional quests?: false | AdvanceGameboardQuestOptions

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:38

Quest advancement options or false to skip quests.


RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:44

Result of running patrol, movement, and quest systems.

Properties

eventRecords

eventRecords: readonly GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:54

Serializable event records derived from events.

events

events: readonly GameboardSystemEvent[]

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:52

In-memory events emitted by all enabled systems.

movement

movement: readonly GameboardMovementAdvanceResult[]

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:48

Movement results produced by this tick.

patrols

patrols: readonly GameboardPatrolAdvanceResult[]

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:46

Patrol results produced by this tick.

quests

quests: readonly GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:50

Quest snapshots after advancement.


ScannedAsset

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:22

A candidate asset record the scanner produced (before spec validation).

Properties

format

readonly format: "png" | "glb" | "gltf"

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:25

id

readonly id: string

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:23

path

readonly path: string

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:26

role

readonly role: "tile" | "model" | "tileset" | "sprite"

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:24


ScannedFile

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:17

A discovered asset file, path relative to the source root (forward slashes).

Properties

path

readonly path: string

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:18


ScanResult

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:30

The outcome of scanning a file list.

Properties

assets

readonly assets: readonly ScannedAsset[]

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:32

Classified assets (tilesets appear here but need a grid before the spec validates).

skipped

readonly skipped: readonly string[]

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:34

Paths that could not be classified (unknown subdir or unsupported extension).

tilesetsNeedingGrid

readonly tilesetsNeedingGrid: readonly string[]

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:36

Ids of tileset assets that still need author-supplied grid dimensions.

tilesNeedingBiome

readonly tilesNeedingBiome: readonly string[]

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:38

Ids of tile assets whose biome was guessed as 'unknown' (author should fix).


ScatterDecorationOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:686

Options for seeded random decoration scatter.

Extended by

Properties

assets

assets: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:690

Candidate asset ids for each decoration.

avoidOccupied?

optional avoidOccupied?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:694

Avoid tiles with existing custom placements.

count

count: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:688

Number of decorations to place.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:696

Uniform render scale.

terrain?

optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:692

Allowed terrain for decoration sites.


ScatterDecorationsRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:356

Recipe step that scatters decoration assets across matching tiles.

Extends

Properties

action

action: "scatterDecorations"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:358

Discriminator for decoration scatter placement.

assets

assets: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:690

Candidate asset ids for each decoration.

Inherited from

ScatterDecorationOptions.assets

avoidOccupied?

optional avoidOccupied?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:694

Avoid tiles with existing custom placements.

Inherited from

ScatterDecorationOptions.avoidOccupied

count

count: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:688

Number of decorations to place.

Inherited from

ScatterDecorationOptions.count

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:696

Uniform render scale.

Inherited from

ScatterDecorationOptions.scale

terrain?

optional terrain?: GameboardTerrain | readonly GameboardTerrain[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:692

Allowed terrain for decoration sites.

Inherited from

ScatterDecorationOptions.terrain


SeededGameboardDensityContext

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:100

Context used while expanding built-in density presets.

Properties

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:102

Faction used for faction-colored preset assets.


SeededGameboardDensityRuleOptions

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:67

Overrides for one built-in seeded density preset.

Extends

Properties

archetype?

optional archetype?: GameboardLayoutArchetypeInput

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:80

Archetype id or inline archetype to use for placement constraints.

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

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

Registry used to resolve archetype.

Inherited from

GameboardLayoutPlacementOptions.archetypes

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:72

Single asset id to spawn for the preset.

assets?

optional assets?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:74

Asset pool to choose from for the preset.

count?

optional count?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:76

Exact placement count for the preset.

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over archetype defaults.

Inherited from

GameboardLayoutPlacementOptions.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

Inherited from

SpawnGameboardPlacementOptions.elevationOffset

fill?

optional fill?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:78

Fraction of eligible tiles to fill for the preset.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:70

Explicit fill rule id.

idPrefix?

optional idPrefix?: string

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

Prefix used when assigning deterministic placement ids.

Inherited from

GameboardLayoutFillRule.idPrefix

kind?

optional kind?: GameboardPlacementKind

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

Placement kind override.

Inherited from

GameboardLayoutPlacementOptions.kind

layer?

optional layer?: GameboardPlacementLayer

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

Placement layer override.

Inherited from

GameboardLayoutPlacementOptions.layer

maxCount?

optional maxCount?: number

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

Maximum placement count after fill/count calculation.

Inherited from

GameboardLayoutFillRule.maxCount

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

Inherited from

SpawnGameboardPlacementOptions.metadata

minCount?

optional minCount?: number

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

Minimum placement count after fill/count calculation.

Inherited from

GameboardLayoutFillRule.minCount

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

Inherited from

SpawnGameboardPlacementOptions.occupancyGuard

onDiagnostics?

optional onDiagnostics?: (diagnostics) => void

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

Called when the selected site count is less than the requested count (including zero). Reports the resolved criteria and a rejection histogram so an empty result is distinguishable from "board is full". Never called when selectedCount >= requestedCount. No-op by default — absent option means zero behavior change.

Parameters
diagnostics

GameboardLayoutPlacementDiagnostics

Returns

void

Inherited from

Omit.onDiagnostics

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

Inherited from

SpawnGameboardPlacementOptions.order

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

Inherited from

SpawnGameboardPlacementOptions.positionOffset

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

Inherited from

SpawnGameboardPlacementOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation steps or deterministic random rotation.

Inherited from

Omit.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

Inherited from

SpawnGameboardPlacementOptions.scale

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

Inherited from

SpawnGameboardPlacementOptions.stackIndex

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.

Inherited from

SpawnGameboardPlacementOptions.textureSet


SeededGameboardLayoutDensityOptions

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:84

Density controls for built-in seeded board fill presets.

Properties

harbors?

optional harbors?: SeededGameboardDensityValue

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:92

Harbor or dock density.

landmarks?

optional landmarks?: SeededGameboardDensityValue

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:94

Landmark structure density.

props?

optional props?: SeededGameboardDensityValue

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:90

Prop scatter density.

rocks?

optional rocks?: SeededGameboardDensityValue

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:88

Rock scatter density.

trees?

optional trees?: SeededGameboardDensityValue

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:86

Tree scatter density.

units?

optional units?: SeededGameboardDensityValue

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:96

Unit placement density.


SeededGameboardOptions

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:167

High-level options for generating a playable seeded medieval gameboard.

Extends

Properties

defaultTerrain?

optional defaultTerrain?: "grass" | "water"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:119

Initial terrain used for every generated tile.

Inherited from

GameboardPlanOptions.defaultTerrain

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:171

Primary faction used for settlements, harbors, and generated units.

forestTiles?

optional forestTiles?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:177

Number of forest tiles to place.

harborKind?

optional harborKind?: HarborKind

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:173

Harbor composition variant to place on the coast.

hillTiles?

optional hillTiles?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:179

Number of hill tiles to place.

layoutArchetypes?

optional layoutArchetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:187

Additional archetypes available to generated layout fill rules.

layoutDensity?

optional layoutDensity?: SeededGameboardLayoutDensityOptions

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:185

Built-in density preset overrides for layout fill.

layoutFills?

optional layoutFills?: readonly GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:191

Additional layout fill rules to run after built-in density and piece rules.

layoutFillSeed?

optional layoutFillSeed?: string | number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:189

Seed used for the layout fill pass.

mountainStacks?

optional mountainStacks?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:175

Number of mountain stacks to place.

pieceFills?

optional pieceFills?: readonly SeededGameboardPieceFillOptions[]

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

Piece fill rules that spawn registered external or custom pieces.

pieceRegistry?

optional pieceRegistry?: GameboardPieceRegistry

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:193

Piece registry used by seeded piece fill rules.

scatterProps?

optional scatterProps?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:183

Number of loose prop decorations to scatter.

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113

Deterministic seed for generation.

Inherited from

GameboardPlanOptions.seed

settlements?

optional settlements?: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:181

Number of faction settlements to place.

shape?

optional shape?: GameboardShape

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:169

Board shape to generate.

Overrides

GameboardPlanOptions.shape

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:117

Texture set applied to generated terrain.

Inherited from

GameboardPlanOptions.textureSet


SeededGameboardPieceFillInspection

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:145

Full dry-run result for seeded piece fills against a plan.

Properties

analysis

analysis: GameboardLayoutFillAnalysis

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:155

Eligibility and scoring analysis for the generated rules.

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:163

Flattened fatal errors.

placements

placements: readonly SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:157

Deterministic placements that would be spawned.

rules

rules: readonly GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:153

Fill rules generated from the selections.

seed

seed: string

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:147

Seed used for the inspection.

selectedPieceCount

selectedPieceCount: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:151

Number of unique piece ids selected across all fills.

selectionCount

selectionCount: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:149

Number of fill selections inspected.

selections

selections: readonly SeededGameboardPieceFillSelectionInspection[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:159

Per-selection inspection details.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:161

Flattened non-fatal warnings.


SeededGameboardPieceFillOptions

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:109

Options for generating layout fill rules from a registered piece selection.

Extends

Properties

archetypes?

optional archetypes?: Readonly<Record<string, GameboardLayoutArchetype>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:261

Archetype registry used by layout.

Inherited from

GameboardPieceLayoutRuleOptions.archetypes

count?

optional count?: number

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

Explicit placement count.

Inherited from

GameboardPieceLayoutRuleOptions.count

criteria?

optional criteria?: GameboardLayoutCriteria

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

Criteria merged over piece defaults.

Inherited from

GameboardPieceLayoutRuleOptions.criteria

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259

Vertical offset override.

Inherited from

GameboardPieceLayoutRuleOptions.elevationOffset

fill?

optional fill?: number

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

Fraction of candidate sites to fill.

Inherited from

GameboardPieceLayoutRuleOptions.fill

id?

optional id?: string

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

Fill rule id.

Inherited from

GameboardPieceLayoutRuleOptions.id

idPrefix?

optional idPrefix?: string

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

Prefix used for generated placement ids.

Inherited from

GameboardPieceLayoutRuleOptions.idPrefix

maxCount?

optional maxCount?: number

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

Maximum placement count.

Inherited from

GameboardPieceLayoutRuleOptions.maxCount

metadata?

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

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:267

Metadata merged over piece metadata.

Inherited from

GameboardPieceLayoutRuleOptions.metadata

minCount?

optional minCount?: number

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

Minimum placement count.

Inherited from

GameboardPieceLayoutRuleOptions.minCount

mode?

optional mode?: SeededGameboardPieceFillMode

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:113

Whether to create one rule per piece or a single pooled rule.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265

Optional occupancy guard for spawned placements.

Inherited from

GameboardPieceLayoutRuleOptions.occupancyGuard

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263

Local-only asset override.

Inherited from

GameboardPieceLayoutRuleOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number | "random"

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

Rotation override.

Inherited from

GameboardPieceLayoutRuleOptions.rotationSteps

ruleIdPrefix?

optional ruleIdPrefix?: string

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:115

Prefix used when generated per-piece rules need ids.

scale?

optional scale?: number

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

Uniform render scale override.

Inherited from

GameboardPieceLayoutRuleOptions.scale

selection?

optional selection?: GameboardPieceRegistrySelection

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:111

Registry selection used to choose pieces for the fill.


SeededGameboardPieceFillSelectionInspection

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:119

Inspection result for one piece-fill selection.

Properties

errors

errors: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:135

Fatal selection errors.

id

id: string

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:121

Fill id or generated inspection id.

mode

mode: SeededGameboardPieceFillMode

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:123

Fill mode used for the selection.

selectedAssetIds

selectedAssetIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:131

Matched asset ids.

selectedCount

selectedCount: number

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:127

Number of pieces matched by the selection.

selectedPieceIds

selectedPieceIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:129

Matched piece declaration ids.

selection

selection: GameboardPieceRegistrySelection

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:125

Selection criteria that were inspected.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:133

Non-fatal selection warnings.


SelectGameboardLayoutSitesOptions

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

Options for selecting valid layout sites from a plan.

Properties

count

count: number

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

Number of sites to select.

criteria?

optional criteria?: GameboardLayoutCriteria

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

Site criteria.

seed?

optional seed?: string | number

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

Seed used to break score ties deterministically.


SetCoastEdgesRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:160

Recipe step that records coastal water edge connectivity for one hex.

Properties

action

action: "setCoastEdges"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:162

Discriminator for coastal edge assignment.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:164

Target hex coordinate.

waterEdges

waterEdges: number | readonly HexEdgeIndex[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:166

Water-facing edges as indexes or a canonical bit mask.

waterless?

optional waterless?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:168

Whether to choose the waterless coast variant.


SetElevationRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:140

Recipe step that changes one hex elevation.

Properties

action

action: "setElevation"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:142

Discriminator for elevation assignment.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:144

Target hex coordinate.

elevation

elevation: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:146

Elevation level to assign.


SetGameboardMovementAgentOptions

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:93

Options for registering or updating a movement agent.

Extends

Properties

ignorePlacementIds?

optional ignorePlacementIds?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85

Placement ids ignored during pathing.

Inherited from

GameboardMovementOptions.ignorePlacementIds

movementBudget?

optional movementBudget?: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83

Movement budget override.

Inherited from

GameboardMovementOptions.movementBudget

optional navigation?: GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:87

Navigation profile overrides merged over the movement profile.

Inherited from

GameboardMovementOptions.navigation

profile?

optional profile?: GameboardMovementProfileInput

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79

Movement profile id or inline profile.

Inherited from

GameboardMovementOptions.profile

profiles?

optional profiles?: GameboardMovementProfileRegistry

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:81

Registry used to resolve profile ids.

Inherited from

GameboardMovementOptions.profiles

remainingMovement?

optional remainingMovement?: number

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:95

Remaining movement override. Defaults to full budget.


SetGameboardPatrolAgentOptions

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:55

Options for attaching a patrol agent to a placement or actor.

Properties

active?

optional active?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:63

Whether the patrol starts active.

alignToCurrentTile?

optional alignToCurrentTile?: boolean

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:61

Align starting waypoint to the placement's current tile when possible.

currentWaypointIndex?

optional currentWaypointIndex?: number

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:59

Starting waypoint index.

movement?

optional movement?: GameboardMovementPathRequestOptions

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:67

Movement options used when requesting segment movement.

pauseTicks?

optional pauseTicks?: number

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:65

Ticks to wait after reaching each waypoint.

route

route: GameboardPatrolRoutePlan | GameboardPatrolRouteInput

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:57

Route plan or route input to follow.


SetTerrainRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:118

Recipe step that assigns grass or water terrain to one hex.

Properties

action

action: "setTerrain"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:120

Discriminator for terrain assignment.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:122

Target hex coordinate.

baseAssetId?

optional baseAssetId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:128

Optional base tile asset override for the terrain.

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:126

Optional elevation to assign with the terrain.

terrain

terrain: "grass" | "water"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:124

Terrain value to assign.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:130

Optional texture set override for this tile.


SetTextureSetRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:150

Recipe step that changes one hex texture set without changing terrain.

Properties

action

action: "setTextureSet"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:152

Discriminator for texture-set assignment.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:154

Target hex coordinate.

textureSet

textureSet: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:156

KayKit texture set to apply to the tile.


SetTileAssetRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:134

Recipe step that applies a fully specified tile asset option object.

Extends

Properties

action

action: "setTileAsset"

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:136

Discriminator for direct tile asset assignment.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:654

Base tile asset id.

Inherited from

TileAssetOptions.assetId

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:652

Tile whose asset state should be replaced.

Inherited from

TileAssetOptions.at

coastEdges?

optional coastEdges?: HexEdgeInput

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:666

Replacement coast edge input.

Inherited from

TileAssetOptions.coastEdges

coastWaterless?

optional coastWaterless?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:676

Whether the coast uses a waterless variant.

Inherited from

TileAssetOptions.coastWaterless

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:660

Replacement elevation.

Inherited from

TileAssetOptions.elevation

riverCrossing?

optional riverCrossing?: RiverCrossing

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:674

River crossing variant.

Inherited from

TileAssetOptions.riverCrossing

riverCurvy?

optional riverCurvy?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:672

Whether the river uses a curvy variant.

Inherited from

TileAssetOptions.riverCurvy

riverEdges?

optional riverEdges?: HexEdgeInput

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:664

Replacement river edge input.

Inherited from

TileAssetOptions.riverEdges

riverWaterless?

optional riverWaterless?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:670

Whether the river uses a waterless variant.

Inherited from

TileAssetOptions.riverWaterless

roadEdges?

optional roadEdges?: HexEdgeInput

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:662

Replacement road edge input.

Inherited from

TileAssetOptions.roadEdges

roadSlope?

optional roadSlope?: RoadSlope

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:668

Road slope variant.

Inherited from

TileAssetOptions.roadSlope

supportAssetId?

optional supportAssetId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:658

Replacement support/bottom asset id.

Inherited from

TileAssetOptions.supportAssetId

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:680

Additional tile tags.

Inherited from

TileAssetOptions.tags

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:656

Replacement terrain category.

Inherited from

TileAssetOptions.terrain

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:678

Replacement texture set for this tile.

Inherited from

TileAssetOptions.textureSet


SettlementOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:406

Options for adding a faction settlement building.

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:408

Tile where the settlement is anchored.

building

building: "tent" | "archeryrange" | "barracks" | "blacksmith" | "castle" | "church" | "docks" | "home_A" | "home_B" | "lumbermill" | "market" | "mine" | "shipyard" | "shrine" | "stables" | "tavern" | "townhall" | "tower_A" | "tower_B" | "tower_base" | "tower_cannon" | "tower_catapult" | "watchtower" | "watermill" | "well" | "windmill" | "workshop"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:412

Settlement building kind.

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:410

Faction color for the building.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:414

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:416

Uniform render scale.


SiegeProjectileOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:528

Options for adding neutral siege projectile assets with gameplay metadata.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:530

Tile where the projectile is anchored.

facing?

optional facing?: HexEdgeIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:534

Edge the projectile travels or points toward; also used as the default rotation.

kind?

optional kind?: "catapult"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:532

Projectile visual kind. Defaults to catapult.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:536

Clockwise 60-degree rotation steps. Overrides facing when provided.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:540

Uniform render scale.

sourceId?

optional sourceId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:538

Optional source actor, structure, or attack id.


SpawnCoordinateOptions

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

Options for deterministic spawn coordinate selection.

Properties

candidates?

optional candidates?: readonly HexCoordinates[]

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

Explicit candidate coordinates to choose from.

count

count: number

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

Number of coordinates to select.

edgePadding?

optional edgePadding?: number

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

Number of outer rows/rings to avoid.

minDistance?

optional minDistance?: number

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

Minimum axial distance between selected coordinates.

passable?

optional passable?: (coordinates) => boolean

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

Predicate for rejecting blocked coordinates.

Parameters
coordinates

HexCoordinates

Returns

boolean

seed?

optional seed?: string | number

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

Seed used to shuffle candidates deterministically.

shape

shape: GameboardShape

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

Board shape that bounds spawn selection.


SpawnGameboardActorOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:100

Options for spawning a placement and registering it as an actor in one call.

Extends

Extended by

Properties

actorId

actorId: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:54

Stable gameplay actor id.

Inherited from

GameboardActorRegistrationOptions.actorId

actorKind?

optional actorKind?: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56

Gameplay actor kind. Defaults from placement kind.

Inherited from

GameboardActorRegistrationOptions.actorKind

actorMetadata?

optional actorMetadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:70

Serializable actor metadata independent from placement metadata.

Inherited from

GameboardActorRegistrationOptions.actorMetadata

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:302

Manifest or external registry asset id to render.

Inherited from

SpawnGameboardPlacementOptions.assetId

at

at: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:300

Origin tile or tile key where the placement should spawn.

Inherited from

SpawnGameboardPlacementOptions.at

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64

Whether this actor blocks actor movement.

Inherited from

GameboardActorRegistrationOptions.blocksMovement

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

Inherited from

SpawnGameboardPlacementOptions.elevationOffset

faction?

optional faction?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58

Optional faction identifier.

Inherited from

GameboardActorRegistrationOptions.faction

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62

Whether this actor is generally hostile.

Inherited from

GameboardActorRegistrationOptions.hostile

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:298

Explicit placement id. Defaults to a deterministic runtime id.

Inherited from

SpawnGameboardPlacementOptions.id

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:66

Whether this actor should be considered an interaction target.

Inherited from

GameboardActorRegistrationOptions.interactive

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:304

Gameplay category for rules, selectors, and rendering.

Inherited from

SpawnGameboardPlacementOptions.kind

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306

Render and occupancy layer. Defaults from kind.

Inherited from

SpawnGameboardPlacementOptions.layer

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

Inherited from

SpawnGameboardPlacementOptions.metadata

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

Inherited from

SpawnGameboardPlacementOptions.occupancyGuard

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

Inherited from

SpawnGameboardPlacementOptions.order

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

Inherited from

SpawnGameboardPlacementOptions.positionOffset

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

Inherited from

SpawnGameboardPlacementOptions.requiresExtra

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314

Clockwise 60-degree rotation steps.

Inherited from

SpawnGameboardPlacementOptions.rotationSteps

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

Inherited from

SpawnGameboardPlacementOptions.scale

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

Inherited from

SpawnGameboardPlacementOptions.stackIndex

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:68

Free-form actor tags used by selectors and quests.

Inherited from

GameboardActorRegistrationOptions.tags

team?

optional team?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:60

Optional team identifier. Defaults to faction when omitted.

Inherited from

GameboardActorRegistrationOptions.team

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.

Inherited from

SpawnGameboardPlacementOptions.textureSet


SpawnGameboardPlacementOptions

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:296

Options for spawning a runtime placement into an existing gameboard world.

Extended by

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:302

Manifest or external registry asset id to render.

at

at: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:300

Origin tile or tile key where the placement should spawn.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310

Extra vertical offset above the tile elevation.

id?

optional id?: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:298

Explicit placement id. Defaults to a deterministic runtime id.

kind

kind: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:304

Gameplay category for rules, selectors, and rendering.

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306

Render and occupancy layer. Defaults from kind.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:324

Serializable placement metadata for rules, ECS interop, and render hints.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326

Optional occupancy validation before spawning.

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318

Stable sort order used by renderers and snapshots.

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312

Local world-space offset after tile/elevation anchoring.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322

Whether the placement depends on local-only EXTRA assets.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316

Uniform render scale.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320

Optional stack index for layered terrain and vertical props.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:308

Texture set override. Defaults to the origin tile texture set.


SpawnGameboardQuestOptions

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:94

Options for spawning a quest.

Properties

status?

optional status?: GameboardQuestStatus

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:96

Initial quest status. Defaults to active.


SpawnLocation

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:95

Spawn point with both hex-grid and world-space coordinates.

Properties

coordinates

coordinates: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:101

Selected axial coordinate.

id

id: string

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:97

Stable generated spawn id.

key

key: string

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:99

Hex coordinate key for map/set lookups.

position

position: WorldPosition

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:103

World-space position for placing a unit or marker.


SpawnLocationOptions

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:73

Options for deterministic spawn coordinate selection and projection.

Properties

candidates?

optional candidates?: readonly HexCoordinates[]

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:81

Explicit candidate coordinates to choose from instead of the whole shape.

count

count: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:77

Number of spawn locations to return.

edgePadding?

optional edgePadding?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:87

Number of outer rings/rows to avoid when selecting automatic candidates.

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:89

Elevation used when projecting spawn locations to world positions.

idPrefix?

optional idPrefix?: string

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:91

Prefix used for generated spawn ids.

minDistance?

optional minDistance?: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:85

Minimum axial distance between returned spawn coordinates.

passable?

optional passable?: (coordinates) => boolean

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:83

Predicate used to reject blocked or otherwise unsuitable coordinates.

Parameters
coordinates

HexCoordinates

Returns

boolean

seed?

optional seed?: string | number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:79

Seed used when candidate order must be randomized.

shape

shape: GameboardShape

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:75

Board shape to select candidate spawn coordinates from.


SummarizeGameboardCoverageOptions

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:269

Options for summarizeGameboardCoverage.

Properties

generatedAt?

optional generatedAt?: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:273

ISO timestamp for generated report consumers.

manifest?

optional manifest?: MedievalHexagonManifest

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:271

Manifest to inspect. Defaults to the packaged FREE manifest.

packageChecks?

optional packageChecks?: readonly GameboardCoveragePackageCheckInput[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:279

Package, docs, visual, or release gate check status overrides.

pathStatus?

optional pathStatus?: GameboardCoveragePathStatusInput

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:275

Caller-provided path status maps. Omitted paths are marked skipped.

references?

optional references?: readonly GameboardCoverageReferenceInput[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:277

Local reference pack status overrides.

simpleRpgEvidence?

optional simpleRpgEvidence?: GameboardCoverageSimpleRpgEvidence

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:281

Optional SimpleRPG public API proof from the packaged example fixture.


SummarizeGameboardPlanOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:273

Options for summarizing a generated or projected gameboard plan.

Extended by

Properties

topAssetLimit?

optional topAssetLimit?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:279

Maximum number of high-frequency assets to include in topAssets.

Defaults to 20. Use 0 when only aggregate counts are needed.


SummarizeGameboardScenarioOptions

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:178

Options for summarizing an authored scenario and its compiled board.

Extends

Properties

plan?

optional plan?: GameboardPlanValidationConfig

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:158

Validation config passed to compiled plan validation.

Inherited from

GameboardScenarioValidationConfig.plan

topAssetLimit?

optional topAssetLimit?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:279

Maximum number of high-frequency assets to include in topAssets.

Defaults to 20. Use 0 when only aggregate counts are needed.

Inherited from

SummarizeGameboardPlanOptions.topAssetLimit

validatePlan?

optional validatePlan?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:160

Whether to validate the compiled plan in addition to scenario references.

Inherited from

GameboardScenarioValidationConfig.validatePlan


TextureBinding

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:15

A texture bound to a model, optionally scoped to specific meshes/materials by name.

Properties

assetId

readonly assetId: string

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:17

Asset id of the model these textures apply to.

normalUrl?

readonly optional normalUrl?: string

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:26

Optional normal-map URL applied alongside the base-color map.

targets?

readonly optional targets?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:24

Names of the meshes/materials the texture applies to. When omitted, the texture is applied to EVERY mesh material in the model.

textureUrl

readonly textureUrl: string

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:19

URL of the texture to apply as the base-color map.


TileAdjacencyRule

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:54

Adjacency rule attached to a tile declaration for validation and generation.

Properties

allowOffBoard?

optional allowOffBoard?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:66

Allows masked edges to face outside the board instead of another tile.

channel

channel: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:56

Connection channel that the rule applies to.

forbidsNeighborTerrain?

optional forbidsNeighborTerrain?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:64

Neighbor terrain values that are rejected for the masked edges.

mask

mask: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:58

Six-bit clockwise edge mask the rule constrains.

reciprocal?

optional reciprocal?: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:60

Whether neighbors should satisfy the same channel in the opposite direction.

requiresNeighborTerrain?

optional requiresNeighborTerrain?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:62

Neighbor terrain values that are allowed for the masked edges.


TileAssetOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:650

Options for overriding the base tile asset and guide connectivity state.

Extended by

Properties

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:654

Base tile asset id.

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:652

Tile whose asset state should be replaced.

coastEdges?

optional coastEdges?: HexEdgeInput

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:666

Replacement coast edge input.

coastWaterless?

optional coastWaterless?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:676

Whether the coast uses a waterless variant.

elevation?

optional elevation?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:660

Replacement elevation.

riverCrossing?

optional riverCrossing?: RiverCrossing

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:674

River crossing variant.

riverCurvy?

optional riverCurvy?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:672

Whether the river uses a curvy variant.

riverEdges?

optional riverEdges?: HexEdgeInput

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:664

Replacement river edge input.

riverWaterless?

optional riverWaterless?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:670

Whether the river uses a waterless variant.

roadEdges?

optional roadEdges?: HexEdgeInput

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:662

Replacement road edge input.

roadSlope?

optional roadSlope?: RoadSlope

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:668

Road slope variant.

supportAssetId?

optional supportAssetId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:658

Replacement support/bottom asset id.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:680

Additional tile tags.

terrain?

optional terrain?: GameboardTerrain

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:656

Replacement terrain category.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:678

Replacement texture set for this tile.


TileEdgeDeclaration

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:44

Normalized edge mask for a connection channel on a registered tile.

Properties

channel

channel: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:46

Connection channel, such as road, river, or coast.

mask

mask: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:48

Six-bit clockwise edge mask after canonicalization.

reciprocal

reciprocal: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:50

Whether neighboring tiles are expected to expose a matching edge.


TileGeometryAnalysis

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:158

Per-tile footprint and scaling analysis for compatibility diagnostics.

Properties

aspectRatio

aspectRatio: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:172

Width divided by depth for footprint compatibility checks.

assetId

assetId: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:162

Manifest asset id that was analyzed.

center

center: readonly [number, number, number]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:170

Bounds center in source asset coordinates.

depth

depth: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:166

Bounds depth in source asset units.

height

height: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:168

Bounds height in source asset units.

id

id: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:160

Declaration id that was analyzed.

recommendedScale

recommendedScale: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:178

Median of width and depth scale recommendations.

rowSpacing

rowSpacing: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:180

Row spacing implied by the analyzed depth and recommended scale.

scaleToKayKitDepth

scaleToKayKitDepth: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:176

Scale required to match the KayKit canonical depth.

scaleToKayKitWidth

scaleToKayKitWidth: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:174

Scale required to match the KayKit canonical width.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:182

Non-fatal warnings for this declaration.

width

width: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:164

Bounds width in source asset units.


TileRegistryAnalysis

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:186

Aggregate footprint and scaling analysis for an entire registry.

Properties

analyzedCount

analyzedCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:190

Number of declarations with usable bounds.

medianDepth

medianDepth: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:196

Median source depth for base/support tile footprints.

medianHeight

medianHeight: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:198

Median source height for base/support tile footprints.

medianWidth

medianWidth: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:194

Median source width for base/support tile footprints.

recommendedScale

recommendedScale: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:192

Median scale recommendation for base/support tile footprints.

rowSpacing

rowSpacing: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:200

Row spacing implied by the median depth and recommended scale.

tileCount

tileCount: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:188

Number of declarations in the registry.

tiles

tiles: readonly TileGeometryAnalysis[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:204

Per-tile analysis entries.

warnings

warnings: readonly string[]

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:202

Registry and per-tile warnings flattened for display.


TilesetSourceOptions

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:90

Options for a tileset source.

Properties

hex?

optional hex?: HexDims

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:98

The rendered cell's world-space footprint. Defaults to the board's default hex footprint (DEFAULT_TILESET_HEX), which tessellates seamlessly with the default 'quad' render shape. Override for a non-standard board geometry.

manifest

manifest: object

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:92

The validated tileset manifest to resolve against.

biomes

biomes: Record<string, { select: "first" | "hash"; sheet: string; }>

kind

kind: "tileset"

schemaVersion

schemaVersion: string

sheets

sheets: Record<string, { edgeCells?: Record<string, number>; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; role: "transition" | "fill"; url: string; variants?: number[]; }>

shape?

optional shape?: "hex" | "quad"

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:104

How each cell is drawn (see AssetRenderRequest['shape']). Defaults to 'quad' — the seamless path for painterly hex atlases whose cells have transparent corners. Use 'hex' only for sheets whose cells are opaque edge-to-edge.


TileStackRule

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:70

Stacking behavior for a registered tile declaration.

Properties

canStack

canStack: boolean

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:72

Whether this declaration may be used as a vertical stack/support piece.

heightStep?

optional heightStep?: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:78

World-space Y increment for each stacked elevation step.

maxElevation?

optional maxElevation?: number

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:74

Maximum supported elevation for repeated stack placement.

supportAssetId?

optional supportAssetId?: string

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:76

Asset to use as the support piece when this declaration is a visible top.


TransitionPlacementOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:598

Options for adding an EXTRA texture transition placement.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:600

Tile where the transition is anchored.

from

from: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:602

Source texture set.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:606

Clockwise 60-degree rotation steps.

to

to: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:604

Destination texture set.


UnitPlacementOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:612

Options for adding one EXTRA unit part.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:614

Tile where the unit part is anchored.

compositeId?

optional compositeId?: string

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:624

Shared composite id for multi-part units.

faction?

optional faction?: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:618

Faction used by colored unit parts.

neutral?

optional neutral?: boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:622

Force neutral unit asset selection.

part

part: "unit" | "projectile_catapult" | "catapult" | "banner" | "bow" | "cannon" | "cart" | "cart_merchant" | "helmet" | "horse" | "projectile_arrow" | "shield" | "ship" | "spear" | "sword" | "hammer" | "horse_A" | "horse_B" | "horse_C" | "horse_D" | "horse_E" | "horse_F" | "horse_G" | "horse_saddle" | "projectile_cannonball" | "shovel"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:616

Unit part asset id.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:626

Clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:628

Uniform render scale.

style?

optional style?: "accent" | "full"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:620

Colored unit style.


UnitPresetOptions

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:634

Options for adding a predefined multi-part unit composition.

Extended by

Properties

at

at: HexCoordinates

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:636

Tile where the unit preset is anchored.

faction

faction: "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:638

Faction used by colored unit parts.

role

role: "ship" | "worker" | "soldier" | "archer" | "cavalry" | "merchant" | "siege"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:642

Unit role composition to create.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:644

Clockwise 60-degree rotation steps.

style?

optional style?: "accent" | "full"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:640

Colored unit style.


UpdateGameboardActorOptions

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:76

Options for updating gameplay actor state while preserving omitted fields.

Properties

actorId?

optional actorId?: string

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:78

Replacement gameplay actor id.

actorKind?

optional actorKind?: GameboardActorKind

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:80

Replacement gameplay actor kind.

actorMetadata?

optional actorMetadata?: Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:94

Replacement serializable actor metadata.

blocksMovement?

optional blocksMovement?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:88

Replacement movement-blocking flag.

faction?

optional faction?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:82

Replacement faction identifier.

hostile?

optional hostile?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:86

Replacement hostility flag.

interactive?

optional interactive?: boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:90

Replacement interaction-target flag.

tags?

optional tags?: readonly string[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:92

Replacement actor tags.

team?

optional team?: string | null

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:84

Replacement team identifier.


UpdateGameboardPlacementOptions

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:332

Options for mutating an existing runtime placement.

Properties

assetId?

optional assetId?: string

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:336

New manifest or external registry asset id.

at?

optional at?: string | HexCoordinates

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:334

New origin tile or tile key.

elevationOffset?

optional elevationOffset?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:344

New vertical offset above the tile elevation.

kind?

optional kind?: GameboardPlacementKind

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:338

New gameplay category.

layer?

optional layer?: GameboardPlacementLayer

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:340

New render and occupancy layer.

metadata?

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

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:358

Replacement serializable placement metadata.

occupancyGuard?

optional occupancyGuard?: GameboardPlacementOccupancyGuard

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:360

Optional occupancy validation before applying the mutation.

order?

optional order?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:352

New stable sort order.

positionOffset?

optional positionOffset?: GameboardPlacementPositionOffset

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:346

New local world-space offset after tile/elevation anchoring.

requiresExtra?

optional requiresExtra?: boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:356

New local-only EXTRA requirement flag.

rotationSteps?

optional rotationSteps?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:348

New clockwise 60-degree rotation steps.

scale?

optional scale?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:350

New uniform render scale.

stackIndex?

optional stackIndex?: number

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:354

New stack index.

textureSet?

optional textureSet?: "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:342

New texture set.


VisualArtifactCoverage

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:105

One screenshot, contact sheet, guide image, or required review artifact for release.

Properties

pages

pages: readonly number[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:115

One-based guide pages represented by this artifact.

path

path: string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:107

Repo-relative screenshot, showcase, or contact-sheet path.

required

required: boolean

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:117

Whether release review expects this artifact to exist.

scenarioIds

scenarioIds: readonly string[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:113

Guide scenarios that reference this artifact.

source

source: VisualArtifactCoverageSource

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:111

Whether this artifact comes from guide visual coverage or curated showcases.

status

status: GameboardCoverageStatus

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:109

Whether the artifact was available during the coverage scan.

Type Aliases

AssetDimension

AssetDimension = "2d" | "3d"

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:30

The dimensionality of a rendered asset — a first-class concept so a backend (three for 3D/2.5D, a future Pixi backend for 2D) knows how to place, sort, and orient it. A '3d' asset is a volumetric mesh; a '2d' asset is a planar sprite whose depth is a z-order, not a world Y. &lt;Model&gt; is 3D-first, &lt;Sprite&gt; 2D-first, and both can coexist on one board (2.5D).


AssetFormat

AssetFormat = typeof ASSET_FORMATS[number]

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:28


AssetGrid

AssetGrid = z.infer<typeof gridSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:57


AssetRenderRequest

AssetRenderRequest = { dimension: "3d"; opacity?: number; tint?: AssetTint; transform?: AssetTransform; type: "gltf"; url: string; } | { cell: CellRect; dimension: "2d"; hex: HexDims; opacity?: number; shape?: "quad" | "hex"; sheetUrl: string; tint?: AssetTint; transform?: AssetTransform; type: "tileset-cell"; }

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:96

A resolved, renderer-agnostic render request. A renderer BINDING (the declarative-hex-worlds/three subpath today, /pixi tomorrow) subscribes to the koota placement signals and dispatches on type + dimension to reconcile its own scene nodes. New source kinds add new members here (a discriminated union), and each binding grows a matching arm. Every request carries its dimension so a binding can place/sort/orient a 2D sprite and a 3D model correctly on the same board.

Union Members

Type Literal

{ dimension: "3d"; opacity?: number; tint?: AssetTint; transform?: AssetTransform; type: "gltf"; url: string; }

dimension

dimension: "3d"

opacity?

optional opacity?: number

Optional per-placement opacity in [0, 1]. < 1 makes the placement translucent (e.g. a fog shroud over an explored tile); omitted or >= 1 leaves it fully opaque.

tint?

optional tint?: AssetTint

Optional per-placement multiplicative tint (fog/season/team shading). White ⇒ identity. Applied by the binding to the resolved object's material colour.

transform?

optional transform?: AssetTransform

type

type: "gltf"

url

url: string


Type Literal

{ cell: CellRect; dimension: "2d"; hex: HexDims; opacity?: number; shape?: "quad" | "hex"; sheetUrl: string; tint?: AssetTint; transform?: AssetTransform; type: "tileset-cell"; }

cell

cell: CellRect

dimension

dimension: "2d"

hex

hex: HexDims

opacity?

optional opacity?: number

Optional per-placement opacity in [0, 1]. < 1 makes the cell translucent (e.g. a fog shroud over an explored tile); omitted or >= 1 leaves the opaque-queue path (seamless cutout tessellation) unchanged.

shape?

optional shape?: "quad" | "hex"

How the sheet cell is drawn onto the board plane:

  • 'quad' (default): the FULL cell rect is drawn as a rectangle spanning hex.width × hex.height. Painterly hex atlases (e.g. JackleEarth) paint each cell as a flattened hex with TRANSPARENT corners — a full quad lets neighbouring cells' opaque bodies fill each other's transparent corners, so the board tessellates SEAMLESSLY into continuous terrain. This is what the canvas-2D binding already does (drawImage blits the whole cell), so 'quad' makes the 3D binding match.
  • 'hex': the cell is clipped to a hexagon silhouette (UV-mapped to the cell). Use only for sheets whose cells are opaque edge-to-edge and must NOT bleed past the hex outline. Leaves gaps for transparent-corner art. Omitted ⇒ 'quad'.
sheetUrl

sheetUrl: string

tint?

optional tint?: AssetTint

Optional per-placement multiplicative tint (fog/season/team shading). White ⇒ identity. Multiplies the sampled cell colour, so one atlas serves every shading state without re-authoring art.

transform?

optional transform?: AssetTransform

type

type: "tileset-cell"


AssetRole

AssetRole = typeof ASSET_ROLES[number]

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:24


AssetSourceSpec

AssetSourceSpec = z.infer<typeof assetSourceSpecSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:155


AssetSpec

AssetSpec = z.infer<typeof assetSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:125


BaseTileAssetId

BaseTileAssetId = typeof BASE_TILE_ASSET_IDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:374

Base or support tile asset id.


BridgeVariant

BridgeVariant = "A" | "B"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:73

Neutral bridge visual variant.


BuiltInGameboardLayoutArchetypeId

BuiltInGameboardLayoutArchetypeId = "surface" | "building" | "harbor" | "unit" | "prop" | "tree" | "scatter" | "landmark"

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

Built-in archetypes for common board pieces such as structures, units, trees, scatter props, and harbors.


BuiltInGameboardTerrain

BuiltInGameboardTerrain = "grass" | "water" | "coast" | "road" | "river" | "mountain" | "hill" | "forest"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:34

Built-in terrain categories understood by the guide-derived helpers.


CameraAngle

CameraAngle = "top-down" | "isometric" | "tilted"

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:28

How the camera looks at the board.


CameraFit

CameraFit = "frame-board" | "fill-viewport"

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:40

How the framing fits the board into the view.


CameraProjection

CameraProjection = "orthographic" | "perspective"

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:37

Projection kind — orthographic (no perspective foreshortening) or perspective.


ClassifierTag

ClassifierTag = KnownClassifierTag | string & object

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:31

A classifier tag — a known one or an app-specific custom string.


CoastTileAssetId

CoastTileAssetId = `hex_coast_${"A" | "B" | "C" | "D" | "E"}${"" | "_waterless"}`

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:380

Coast or waterless coast tile asset id.


ColoredUnitPart

ColoredUnitPart = typeof COLORED_UNIT_PARTS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:366

Faction-colored unit part id.


ColoredUnitStyle

ColoredUnitStyle = typeof EXTRA_UNIT_STYLES[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:370

Colored unit style id.


ConstructionSiteKind

ConstructionSiteKind = "destroyed" | "dirt" | "grain" | "scaffolding" | "stage-A" | "stage-B" | "stage-C"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:92

Construction and ruin state exposed by the neutral construction assets.


CoverageGapSeverity

CoverageGapSeverity = "info" | "warning" | "error"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:47

Severity for a machine-readable coverage gap.


CreateGameboardRuntimeInput

CreateGameboardRuntimeInput = GameboardPlan | World | CreateGameboardRuntimeOptions

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:244

Accepted input for creating a runtime facade.


ElevationRampDirection

ElevationRampDirection = "up" | "down"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:75

Sloped elevation ramp direction.


ExternalAssetAnchor

ExternalAssetAnchor = "center" | "bottom-center"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:37

Placement anchor recommendation for external models.


ExternalAssetFootprintKind

ExternalAssetFootprintKind = "hex" | "circle" | "square" | "rectangle" | "point"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:26

Coarse footprint shape inferred for an external asset.


ExternalAssetForwardAxis

ExternalAssetForwardAxis = "+x" | "-x" | "+z" | "-z"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:32

Model-local forward axis used to align rigged units or directional props to a board edge.


ExternalAssetIntendedRole

ExternalAssetIntendedRole = "tile" | "prop" | "structure" | "unit"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:15

Intended use for an external GLB/GLTF before the compatibility pass evaluates whether it actually fits KayKit hex geometry.


ExternalAssetSuggestedRole

ExternalAssetSuggestedRole = "tile" | "prop" | "unit"

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:21

Role suggested by the compatibility pass after bounds, rig, and requested role are considered.


ExtraFactionBuildingKind

ExtraFactionBuildingKind = typeof EXTRA_FACTION_BUILDING_KINDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:358

EXTRA-only faction building kind.


ExtraTransitionTileAssetId

ExtraTransitionTileAssetId = typeof EXTRA_TRANSITION_TILE_ASSET_IDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:376

EXTRA-only transition tile asset id.


FactionBuildingKind

FactionBuildingKind = typeof FACTION_BUILDING_KINDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:354

Any faction building kind supported by catalog helpers.


FenceFortificationSegment

FenceFortificationSegment = "straight" | "gate"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:88

Fence segment shape from the neutral fence asset set.


FortificationMaterial

FortificationMaterial = "wall" | "wood-fence" | "stone-fence"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:77

Fortification material exposed by the neutral wall and fence assets.


FortificationSegment

FortificationSegment = WallFortificationSegment | FenceFortificationSegment

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:90

Segment shape accepted by fortification helpers.


FreeFactionBuildingKind

FreeFactionBuildingKind = typeof FREE_FACTION_BUILDING_KINDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:356

FREE faction building kind.


GameboardActionBundle

GameboardActionBundle = ReturnType<typeof gameboardActions>

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

Koota action bundle for raw board placement operations.


GameboardActorActionBundle

GameboardActorActionBundle = ReturnType<typeof gameboardActorActions>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:214

Koota action bundle for actor spawning, movement, and selection.


GameboardActorSelectionSort

GameboardActorSelectionSort = "actorId" | "distance" | "tileKey"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:373

Sort modes for actor selection results.


GameboardActorTargetApproach

GameboardActorTargetApproach = "target-tile" | "adjacent" | "nearest"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:496

Strategy used when pathing to a target actor.


GameboardActorTargetSort

GameboardActorTargetSort = "pathCost" | "distance" | "actorId" | "tileKey"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:500

Sort modes for target reports.


GameboardActorValue

GameboardActorValue = TraitRecord<typeof GameboardActor>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:683

Actor trait value returned by GameboardActor.


GameboardCommandActionBundle

GameboardCommandActionBundle = ReturnType<typeof gameboardCommandActions>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:234

Koota action bundle for command planning, preview, execution, and targeting.


GameboardCoverageCheckStatus

GameboardCoverageCheckStatus = "passed" | "failed" | "not-run" | "skipped"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:41

Verification status for package, docs, CI, or release gate commands.


GameboardCoverageReportStatus

GameboardCoverageReportStatus = "passed" | "warning" | "failed"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:44

Overall release-readiness status derived from coverage gaps and check status.


GameboardCoverageSimpleRpgEvidenceMode

GameboardCoverageSimpleRpgEvidenceMode = "fixed-gameplay" | "seeded-generation" | "packaged-scenario" | "executable-smoke" | "blueprint-recipe" | "manifest-package" | "compatibility-adapter" | "package-boundary" | "visual-coverage"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:53

Evidence mode names used by the SimpleRPG public API integration fixture.


GameboardCoverageStatus

GameboardCoverageStatus = "available" | "missing" | "skipped"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:38

Filesystem availability status for coverage inputs and screenshot artifacts.


GameboardEcsRelationName

GameboardEcsRelationName = "AdjacentTo" | "PlacementOnTile" | "PlacementOccupiesTile" | "SpawnOnTile" | "SpawnGroupHasLocation" | "SpawnGroupRouteCheck" | "PatrolRouteHasWaypoint" | "PatrolWaypointOnTile" | "PatrolRouteSegment" | "ActorOnTile" | "ActorPlacement" | "ActorPatrolRoute" | "QuestReferencesActor" | "QuestTargetsTile" | "SimulationHasStep" | "SimulationStepActorTargets" | "SimulationStepCommand" | "SimulationStepPatrol" | "SimulationStepMovement" | "SimulationStepMutation" | "CommandSourceActor" | "CommandTargetActor" | "ActorTargetsSourceActor" | "ActorTargetsTargetActor" | "CommandEffectActor" | "CommandEffectPlacement" | "PatrolActor" | "PatrolPlacement" | "MovementActor" | "MovementPlacement" | "MutationActor" | "MutationPlacement"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:508

Relation name emitted by interop snapshots.


GameboardGridOptions

GameboardGridOptions = GameboardShape

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:160

Supported board shapes for Honeycomb grid creation.


GameboardInteractionCommandInput

GameboardInteractionCommandInput = GameboardInteractionCommand | GameboardInteractionTargetInput

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:39

Input accepted by command helpers: either an already planned command or a renderer/gameplay target that should be planned first.


GameboardInteractionCommandKind

GameboardInteractionCommandKind = "move" | "interact-actor" | "interact-placement" | "attack-actor" | "inspect-actor" | "inspect-placement" | "inspect-tile" | "none"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:184

Concrete command kind produced from an interaction target.


GameboardInteractionExecutionStatus

GameboardInteractionExecutionStatus = "handled" | "requested-move" | "requires-game-handler" | "blocked" | "ignored"

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:46

Execution outcome for a planned interaction command.


GameboardInteractionHandler

GameboardInteractionHandler = (context) => GameboardInteractionHandlerResult | undefined

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:153

Game-supplied handler for commands that require host-specific policy.

Parameters

context

GameboardInteractionHandlerContext

Returns

GameboardInteractionHandlerResult | undefined


GameboardInteractionHandlerEffect

GameboardInteractionHandlerEffect = { actorId: string; placementId?: string; reason?: string; removed: boolean; type: "actor-removed"; } | { placementId: string; reason?: string; removed: boolean; type: "placement-removed"; } | { actorId: string; placementId?: string; reason?: string; type: "actor-updated"; updated: boolean; } | { placementId: string; reason?: string; type: "placement-updated"; updated: boolean; }

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:69

Serializable side effect emitted by a command handler.

Union Members

Type Literal

{ actorId: string; placementId?: string; reason?: string; removed: boolean; type: "actor-removed"; }

actorId

actorId: string

Actor id that the handler attempted to remove.

placementId?

optional placementId?: string

Placement id associated with the removed actor.

reason?

optional reason?: string

Optional failure or diagnostic reason.

removed

removed: boolean

Whether the actor placement was removed.

type

type: "actor-removed"

Effect discriminator for removing an actor placement.


Type Literal

{ placementId: string; reason?: string; removed: boolean; type: "placement-removed"; }

placementId

placementId: string

Placement id that the handler attempted to remove.

reason?

optional reason?: string

Optional failure or diagnostic reason.

removed

removed: boolean

Whether the placement was removed.

type

type: "placement-removed"

Effect discriminator for removing a non-actor placement.


Type Literal

{ actorId: string; placementId?: string; reason?: string; type: "actor-updated"; updated: boolean; }

actorId

actorId: string

Actor id that the handler attempted to update.

placementId?

optional placementId?: string

Placement id associated with the actor.

reason?

optional reason?: string

Optional failure or diagnostic reason.

type

type: "actor-updated"

Effect discriminator for actor metadata updates.

updated

updated: boolean

Whether actor state was updated.


Type Literal

{ placementId: string; reason?: string; type: "placement-updated"; updated: boolean; }

placementId

placementId: string

Placement id that the handler attempted to update.

reason?

optional reason?: string

Optional failure or diagnostic reason.

type

type: "placement-updated"

Effect discriminator for placement metadata updates.

updated

updated: boolean

Whether placement state was updated.


GameboardInteractionHandlerMetadata

GameboardInteractionHandlerMetadata = Readonly<Record<string, GameboardActorMetadataValue>>

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:62

Serializable metadata returned by command handlers and copied into event records.


GameboardInteractionHandlerPreset

GameboardInteractionHandlerPreset = typeof GAMEBOARD_INTERACTION_HANDLER_PRESETS[number]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:210

Identifier for a built-in interaction handler preset.


GameboardInteractionHandlerStatus

GameboardInteractionHandlerStatus = "handled" | "blocked" | "ignored"

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:56

Result status returned by an opt-in game command handler.


GameboardInteractionIntent

GameboardInteractionIntent = "move" | "interact" | "attack" | "inspect"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:180

High-level intent inferred from an interaction target.


GameboardInteractionTargetInput

GameboardInteractionTargetInput = string | HexCoordinates | { actorId?: string; coordinates?: HexCoordinates | string; placementId?: string; tileKey?: string; }

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

Input accepted by interaction helpers when resolving a target.

Union Members

string


HexCoordinates


Type Literal

{ actorId?: string; coordinates?: HexCoordinates | string; placementId?: string; tileKey?: string; }

actorId?

optional actorId?: string

Actor id to resolve directly.

coordinates?

optional coordinates?: HexCoordinates | string

Axial coordinates or tile key to resolve as a tile.

placementId?

optional placementId?: string

Placement id to resolve directly.

tileKey?

optional tileKey?: string

Tile key to resolve directly.


GameboardInteractionTargetKind

GameboardInteractionTargetKind = "actor" | "placement" | "tile" | "empty"

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:176

Kind of target resolved from a click, tile coordinate, actor id, or placement id.


GameboardInteropEntityKind

GameboardInteropEntityKind = "tile" | "placement" | "spawn" | "spawn-group" | "patrol-route" | "patrol-waypoint" | "actor" | "quest" | "simulation" | "simulation-step" | "simulation-actor-targets" | "simulation-command" | "simulation-patrol" | "simulation-movement" | "simulation-mutation"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:62

Entity kind emitted by interop snapshots for external ECS adapters.


GameboardLayoutArchetypeId

GameboardLayoutArchetypeId = BuiltInGameboardLayoutArchetypeId | string & object

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

Layout archetype id accepted by the registry.


GameboardLayoutArchetypeInput

GameboardLayoutArchetypeInput = GameboardLayoutArchetypeId | GameboardLayoutArchetype

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

Archetype reference accepted by placement helpers.


GameboardLayoutArchetypeRegistry

GameboardLayoutArchetypeRegistry = Readonly<Record<string, GameboardLayoutArchetype>>

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

Archetype registry keyed by archetype id.


GameboardLayoutArchetypeRegistryInput

GameboardLayoutArchetypeRegistryInput = GameboardLayoutArchetypeRegistry | readonly GameboardLayoutArchetype[]

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

Input accepted when creating or overriding an archetype registry.


GameboardLayoutFootprintInput

GameboardLayoutFootprintInput = "single" | "adjacent" | number | { edges?: readonly HexEdgeIndex[]; includeCenter?: boolean; kind: "single" | "adjacent" | "radius" | "custom"; offsets?: readonly HexCoordinates[]; radius?: number; }

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

Footprint definition used for multi-tile placement and occupancy criteria.

Union Members

"single"


"adjacent"


number


Type Literal

{ edges?: readonly HexEdgeIndex[]; includeCenter?: boolean; kind: "single" | "adjacent" | "radius" | "custom"; offsets?: readonly HexCoordinates[]; radius?: number; }

edges?

optional edges?: readonly HexEdgeIndex[]

Neighbor edges included by adjacent footprints.

includeCenter?

optional includeCenter?: boolean

Whether the origin tile is part of the footprint.

kind

kind: "single" | "adjacent" | "radius" | "custom"

Footprint mode.

offsets?

optional offsets?: readonly HexCoordinates[]

Custom axial offsets included in the footprint.

radius?

optional radius?: number

Radius used by radius footprints.


GameboardLayoutPreference

GameboardLayoutPreference = { kind: "center"; weight?: number; } | { kind: "edge"; weight?: number; } | { kind: "near-terrain"; radius?: number; terrain: GameboardTerrain | readonly GameboardTerrain[]; weight?: number; } | { kind: "far-from-terrain"; radius?: number; terrain: GameboardTerrain | readonly GameboardTerrain[]; weight?: number; } | { kind: "near-placement-kind"; placementKind: GameboardPlacementKind | readonly GameboardPlacementKind[]; radius?: number; weight?: number; } | { kind: "far-from-placement-kind"; placementKind: GameboardPlacementKind | readonly GameboardPlacementKind[]; radius?: number; weight?: number; } | { kind: "high-elevation"; weight?: number; } | { kind: "low-elevation"; weight?: number; }

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

Weighted placement preference used to score otherwise valid layout sites.

Union Members

Type Literal

{ kind: "center"; weight?: number; }

kind

kind: "center"

Preference discriminator for tiles near the board center.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "edge"; weight?: number; }

kind

kind: "edge"

Preference discriminator for tiles near the board edge.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "near-terrain"; radius?: number; terrain: GameboardTerrain | readonly GameboardTerrain[]; weight?: number; }

kind

kind: "near-terrain"

Preference discriminator for tiles near matching terrain.

radius?

optional radius?: number

Search radius for nearby terrain.

terrain

terrain: GameboardTerrain | readonly GameboardTerrain[]

Terrain values considered by this preference.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "far-from-terrain"; radius?: number; terrain: GameboardTerrain | readonly GameboardTerrain[]; weight?: number; }

kind

kind: "far-from-terrain"

Preference discriminator for tiles away from matching terrain.

radius?

optional radius?: number

Search radius for nearby terrain.

terrain

terrain: GameboardTerrain | readonly GameboardTerrain[]

Terrain values considered by this preference.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "near-placement-kind"; placementKind: GameboardPlacementKind | readonly GameboardPlacementKind[]; radius?: number; weight?: number; }

kind

kind: "near-placement-kind"

Preference discriminator for tiles near matching placement kinds.

placementKind

placementKind: GameboardPlacementKind | readonly GameboardPlacementKind[]

Placement kinds considered by this preference.

radius?

optional radius?: number

Search radius for nearby placements.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "far-from-placement-kind"; placementKind: GameboardPlacementKind | readonly GameboardPlacementKind[]; radius?: number; weight?: number; }

kind

kind: "far-from-placement-kind"

Preference discriminator for tiles away from matching placement kinds.

placementKind

placementKind: GameboardPlacementKind | readonly GameboardPlacementKind[]

Placement kinds considered by this preference.

radius?

optional radius?: number

Search radius for nearby placements.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "high-elevation"; weight?: number; }

kind

kind: "high-elevation"

Preference discriminator for higher elevation tiles.

weight?

optional weight?: number

Score multiplier for this preference.


Type Literal

{ kind: "low-elevation"; weight?: number; }

kind

kind: "low-elevation"

Preference discriminator for lower elevation tiles.

weight?

optional weight?: number

Score multiplier for this preference.


GameboardLayoutSiteRejectionCode

GameboardLayoutSiteRejectionCode = "footprint-out-of-bounds" | "footprint-terrain" | "terrain" | "excluded-terrain" | "elevation" | "missing-required-tags" | "excluded-tags" | "occupied" | "edge-padding" | "missing-adjacent-terrain" | "forbidden-adjacent-terrain" | "missing-adjacent-placement-kind" | "forbidden-adjacent-placement-kind" | "missing-adjacent-placement-layer" | "forbidden-adjacent-placement-layer" | "min-distance" | "max-distance" | "slots-full"

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

Rejection codes emitted when a tile cannot satisfy layout criteria.


GameboardMovementActionBundle

GameboardMovementActionBundle = ReturnType<typeof gameboardMovementActions>

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

Koota action bundle for movement-agent requests and ticks.


GameboardMovementProfileInput

GameboardMovementProfileInput = GameboardMovementProfileId | GameboardMovementProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:64

Profile id or inline profile accepted by movement APIs.


GameboardNeighborhoodCenter

GameboardNeighborhoodCenter = HexCoordinates | string | Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:304

Input accepted when resolving the center of a neighborhood inspection.


GameboardPatrolActionBundle

GameboardPatrolActionBundle = ReturnType<typeof gameboardPatrolActions>

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:224

Koota action bundle for patrol-agent setup and ticks.


GameboardPatrolAgentValue

GameboardPatrolAgentValue = TraitRecord<typeof GameboardPatrolAgent>

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:126

Patrol agent trait value.


GameboardPatrolRouteOptions

GameboardPatrolRouteOptions = GameboardPatrolRouteOptionsCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:243

Options for planning one patrol route.


GameboardPatrolRoutePlan

GameboardPatrolRoutePlan = GameboardPatrolRoutePlanCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:258

Planned patrol route with waypoints, segments, and diagnostics.


GameboardPatrolRouteRule

GameboardPatrolRouteRule = GameboardPatrolRouteRuleCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:248

Named patrol route rule for route-set planning.


GameboardPatrolRouteSegment

GameboardPatrolRouteSegment = GameboardPatrolRouteSegmentCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:238

One path segment between patrol waypoints.


GameboardPatrolRouteSet

GameboardPatrolRouteSet = GameboardPatrolRouteSetCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:263

Result for planning a set of patrol routes.


GameboardPatrolRouteSetOptions

GameboardPatrolRouteSetOptions = GameboardPatrolRouteSetOptionsCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:253

Options for planning several patrol routes.


GameboardPatrolStateValue

GameboardPatrolStateValue = TraitRecord<typeof GameboardPatrolState>

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:128

Patrol state trait value.


GameboardPatrolWaypoint

GameboardPatrolWaypoint = GameboardPatrolWaypointCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:233

Spawn location promoted to a patrol waypoint.


GameboardPatrolWaypointSource

GameboardPatrolWaypointSource = GameboardPatrolWaypointSourceCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:228

Source used to create a patrol waypoint.


GameboardPieceRegistryAnalysisCheckMode

GameboardPieceRegistryAnalysisCheckMode = "per-piece" | "pool"

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:150

Registry analysis mode for selection checks.


GameboardPieceRole

GameboardPieceRole = BuiltInGameboardLayoutArchetypeId | "custom"

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:34

Role used to map registered pieces onto layout archetypes.


GameboardPlacementAssetUrlResolver

GameboardPlacementAssetUrlResolver = (placement) => string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:38

Function that maps a placement to a model URL.

Parameters

placement

GameboardPlacementSpec

Returns

string | undefined


GameboardPlacementKind

GameboardPlacementKind = "terrain" | "road" | "river" | "coast" | "transition" | "decoration" | "structure" | "unit" | "prop"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:50

Placement category used by manifests, Koota traits, layout rules, and renderers.


GameboardPlacementLayer

GameboardPlacementLayer = "terrain" | "surface" | "feature" | "structure" | "unit"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:64

Render and gameplay layer for a placement.


GameboardPlacementOccupancyGuard

GameboardPlacementOccupancyGuard = boolean | GameboardPlacementOccupancyGuardOptions

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

Occupancy guard setting used by placement mutation helpers.


GameboardQuestActionBundle

GameboardQuestActionBundle = ReturnType<typeof gameboardQuestActions>

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

Koota action bundle for quest spawning and progression.


GameboardQuestActorReferenceRole

GameboardQuestActorReferenceRole = "actor" | "targetActor"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:283

Quest-to-actor reference role.


GameboardQuestTileReferenceRole

GameboardQuestTileReferenceRole = "tile" | "targetTile"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:302

Quest-to-tile reference role.


GameboardQuestValue

GameboardQuestValue = TraitRecord<typeof GameboardQuest>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:151

Quest trait value.


GameboardRecipePlanOptionsOverride

GameboardRecipePlanOptionsOverride = Partial<GameboardPlanOptions>

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:362

Partial plan-option override accepted when compiling a recipe.


GameboardRecipeStep

GameboardRecipeStep = SetTerrainRecipeStep | SetTileAssetRecipeStep | SetElevationRecipeStep | SetTextureSetRecipeStep | SetCoastEdgesRecipeStep | AddRoadPathRecipeStep | AddRiverPathRecipeStep | AddMountainStackRecipeStep | AddHillRecipeStep | AddForestRecipeStep | AddFactionBuildingRecipeStep | AddNeutralStructureRecipeStep | AddBridgeRecipeStep | AddFortificationRecipeStep | AddConstructionSiteRecipeStep | AddSiegeProjectileRecipeStep | AddElevationRampRecipeStep | AddNatureRecipeStep | AddPropRecipeStep | AddPropClusterRecipeStep | AddFlagRecipeStep | AddPlacementRecipeStep | AddTransitionRecipeStep | AddUnitRecipeStep | AddUnitPresetRecipeStep | AddHarborRecipeStep | ScatterDecorationsRecipeStep

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:88

Discriminated union of all recipe actions supported by the builder adapter.


GameboardScenarioSimulationCommandHandlerPreset

GameboardScenarioSimulationCommandHandlerPreset = GameboardInteractionHandlerPreset

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:277

Built-in command handler preset id accepted by simulation scripts.


GameboardScenarioSimulationStep

GameboardScenarioSimulationStep = GameboardScenarioSimulationActorTargetCommandStep | GameboardScenarioSimulationCommandStep | GameboardScenarioSimulationActorTargetsStep | GameboardScenarioSimulationRunSystemsStep | GameboardScenarioSimulationRemoveActorStep | GameboardScenarioSimulationRemovePlacementStep | GameboardScenarioSimulationSpawnActorStep | GameboardScenarioSimulationSpawnPlacementStep | GameboardScenarioSimulationUpdateActorStep | GameboardScenarioSimulationUpdatePlacementStep

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:69

One executable step in a deterministic scenario simulation script.


GameboardSimulationRelationRole

GameboardSimulationRelationRole = "step" | "command" | "patrol" | "movement" | "mutation" | "actorTargets" | "sourceActor" | "targetActor" | "effectActor" | "effectPlacement" | "actor" | "placement"

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:335

Role used by simulation relation records.


GameboardSpawnGroup

GameboardSpawnGroup = GameboardSpawnGroupCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:218

Selected spawn group with diagnostics.


GameboardSpawnGroupOptions

GameboardSpawnGroupOptions = GameboardSpawnGroupOptionsCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:208

Options for selecting several spawn groups in sequence.


GameboardSpawnGroupPlan

GameboardSpawnGroupPlan = GameboardSpawnGroupPlanCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:223

Complete spawn group planning result.


GameboardSpawnGroupRoute

GameboardSpawnGroupRoute = GameboardSpawnGroupRouteCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:213

Route check between two spawn groups.


GameboardSpawnGroupRule

GameboardSpawnGroupRule = GameboardSpawnGroupRuleCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:203

Rule for selecting one spawn group and checking routes to earlier groups.


GameboardSpawnLocationOptions

GameboardSpawnLocationOptions = GameboardSpawnLocationOptionsCore

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:198

Options for selecting spawn locations from a gameboard plan.


GameboardStateValue

GameboardStateValue = TraitRecord<typeof GameboardState>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:150

Board trait value returned by GameboardState.


GameboardSystemActionBundle

GameboardSystemActionBundle = ReturnType<typeof gameboardSystemActions>

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

Koota action bundle for command dispatch and game-loop system ticks.


GameboardSystemEvent

GameboardSystemEvent = GameboardMovementRequestedEvent | GameboardCommandHandledEvent | GameboardCommandBlockedEvent | GameboardCommandIgnoredEvent | GameboardCommandHandlerRequiredEvent | GameboardPatrolMoveRequestedEvent | GameboardPatrolWaitingEvent | GameboardPatrolCompletedEvent | GameboardPatrolBlockedEvent | GameboardMovementSteppedEvent | GameboardMovementCompletedEvent | GameboardMovementBlockedEvent | GameboardQuestAdvancedEvent | GameboardQuestCompletedEvent | GameboardQuestBlockedEvent

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:27

Event emitted by one high-level gameboard system pass.


GameboardTerrain

GameboardTerrain = BuiltInGameboardTerrain | string & object

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:38

Terrain category for a tile. Custom strings are allowed for external packs.


GameplayCategory

GameplayCategory = typeof GAMEPLAY_CATEGORIES[number]

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:48


GltfPackSourceOptions

GltfPackSourceOptions = GameboardPlacementAssetUrlOptions

Defined in: packages/declarative-hex-worlds/src/asset-source/gltf-pack.ts:29

Options for a gltf-pack source: the same URL-resolution options the three bridge already accepts (explicit maps, manifest catalog, fallback resolver).


GuideTilePermutationKind

GuideTilePermutationKind = "road" | "river" | "river-curvy" | "river-crossing" | "coast"

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:21

Guide permutation families that must be covered by visual tests.


HarborKind

HarborKind = "docks" | "shipyard" | "watermill"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:71

Harbor structure variant.


HexOrientation

HexOrientation = "pointy" | "flat"

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:21

Hex vertex orientation: 'pointy' (vertex up) or 'flat' (edge up).


HexRotationSteps

HexRotationSteps = 0 | 1 | 2 | 3 | 4 | 5

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:45

Clockwise flat-top rotation in 60-degree steps.


HexTileStateValue

HexTileStateValue = TraitRecord<typeof HexTileState>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:152

Full tile trait value returned by HexTileState.


HillVariant

HillVariant = "A" | "B" | "C"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:69

Hill visual variant.


KayKitAssetPublicRole

KayKitAssetPublicRole = "base-tile" | "support-tile" | "road-tile" | "river-tile" | "coast-tile" | "transition-tile" | "faction-building" | "neutral-structure" | "nature-decoration" | "prop" | "colored-unit-part" | "neutral-unit-part"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:394

Public treatment role assigned to every KayKit Medieval Hexagon asset.


KayKitGameboardGrid

KayKitGameboardGrid = Grid<InstanceType<typeof KayKitHex>>

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:163

Honeycomb grid instance configured with the KayKit hex class.


KayKitGuideScenarioAssetUrlResolver

KayKitGuideScenarioAssetUrlResolver = (usage) => string | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:707

Resolves a guide usage row to an app, package, or local reference URL.

Parameters

usage

KayKitGuideScenarioAssetUsage

Returns

string | undefined


KayKitGuideScenarioEdition

KayKitGuideScenarioEdition = PackEdition | "mixed" | "reference"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:449

Edition scope for an extracted KayKit guide-page scenario.


KayKitTileAssetId

KayKitTileAssetId = BaseTileAssetId | ExtraTransitionTileAssetId | RoadTileAssetId | CoastTileAssetId | RiverTileAssetId

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:384

Tile asset id covered by guide-derived helpers.


KnownClassifierTag

KnownClassifierTag = typeof CLASSIFIER_TAGS[number]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:28

A known gameplay classifier. Custom classifiers are plain strings (see ClassifierTag).


MountainVariant

MountainVariant = "A" | "B" | "C"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:67

Mountain stack visual variant.


MoveGameboardActorOptions

MoveGameboardActorOptions = Omit<UpdateGameboardPlacementOptions, "at">

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:107

Placement update options accepted while moving an actor.


MovementAgentValue

MovementAgentValue = TraitRecord<typeof MovementAgent>

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:226

Movement agent trait value.


MovementPathStateValue

MovementPathStateValue = TraitRecord<typeof MovementPathState>

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:228

Movement path state trait value.


NatureAssetId

NatureAssetId = typeof NATURE_ASSET_IDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:362

Nature asset id.


NeutralStructureKind

NeutralStructureKind = typeof NEUTRAL_STRUCTURE_KINDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:360

Neutral structure kind.


NeutralUnitPart

NeutralUnitPart = typeof NEUTRAL_UNIT_PARTS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:368

Neutral unit part id.


NormalizeFit

NormalizeFit = "cover" | "contain" | "width"

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:17

How an asset's footprint is fit to the target cell.


PackClassifierCategory

PackClassifierCategory = "terrain" | "playable" | "enemy"

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:72

A recognized pack's GAMEPLAY category, as published by the pack registry (terrain | playable | enemy). Passed in as a plain value so this core module never imports the CLI-domain registry — a consumer threads packDescriptor(id).category through packClassifier.


PlacementClassifier

PlacementClassifier = (placement) => readonly ClassifierTag[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:42

A pure function that assigns zero or more classifier tags to a placement. Classifiers compose: every registered classifier runs, and their tags are unioned. A classifier inspects the placement's kind / assetId / metadata and returns the classifiers it recognizes (or none).

Parameters

placement

GameboardPlacementSpec

Returns

readonly ClassifierTag[]


PlacementStateValue

PlacementStateValue = TraitRecord<typeof PlacementState>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:166

Placement trait value returned by PlacementState.


PropAssetId

PropAssetId = typeof PROP_ASSET_IDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:364

Prop asset id.


PropClusterKind

PropClusterKind = "camp" | "harbor-support" | "resource-cache" | "stable-yard" | "training-yard" | "worksite"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:96

Semantic prop cluster kinds for authored and generated dressing.


PropClusterPlacement

PropClusterPlacement = "single" | "adjacent"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:104

How a prop cluster is distributed around its anchor tile.


RecipeGenerationApplier

RecipeGenerationApplier = (plan, generation) => GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:433

Applies a recipe's seeded generation block to a built plan. The runtime tier injects a koota-backed applier (applyGameboardRecipeGeneration from ./recipe-generation); ./core uses the pure default below.

Parameters

plan

GameboardPlan

generation

GameboardRecipeGeneration | undefined

Returns

GameboardPlan


RiverCrossing

RiverCrossing = "A" | "B"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:43

River crossing guide variant.


RiverTileAssetId

RiverTileAssetId = typeof RIVER_TILE_ASSET_IDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:382

River, crossing, curvy, or waterless river tile asset id.


RoadSlope

RoadSlope = "high" | "low"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:41

Road slope variant used by elevated road pieces.


RoadTileAssetId

RoadTileAssetId = typeof ROAD_TILE_ASSET_IDS[number]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:378

Road tile asset id.


RuleSeverity

RuleSeverity = "error" | "warning"

Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:8

Severity level for validation and rule diagnostics.


SeededGameboardDensityPresetId

SeededGameboardDensityPresetId = "trees" | "rocks" | "props" | "harbors" | "landmarks" | "units"

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:61

Built-in seeded fill presets for common board decoration and encounter roles.


SeededGameboardDensityValue

SeededGameboardDensityValue = number | SeededGameboardDensityRuleOptions | false | null | undefined

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:64

User-facing density value where numbers mean fill percentage and false disables a preset.


SeededGameboardPieceFillMode

SeededGameboardPieceFillMode = "per-piece" | "pool"

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:106

Strategy for converting selected registered pieces into fill rules.


SettlementBuilding

SettlementBuilding = FactionBuildingKind

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:106

Faction building kind accepted by settlement helpers.


SiegeProjectileKind

SiegeProjectileKind = "catapult"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:94

Siege projectile visual exposed by the neutral building asset set.


TextureBindingIndex

TextureBindingIndex = ReadonlyMap<string, readonly TextureBinding[]>

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:30

A map of asset id → its texture bindings, for quick lookup during load.


TileConnectivityValue

TileConnectivityValue = TraitRecord<typeof TileConnectivity>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:160

Decomposed connectivity trait value returned by TileConnectivity.


TileCoordinatesValue

TileCoordinatesValue = TraitRecord<typeof TileCoordinates>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:154

Decomposed coordinate trait value returned by TileCoordinates.


TileDeclarationRole

TileDeclarationRole = "base" | "support" | "surface" | "road" | "river" | "coast" | "decoration" | "structure" | "unit" | "custom"

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:31

Describes how a registered tile-like declaration participates in board construction.


TileElevationValue

TileElevationValue = TraitRecord<typeof TileElevation>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:158

Decomposed elevation trait value returned by TileElevation.


TileRenderStateValue

TileRenderStateValue = TraitRecord<typeof TileRenderState>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:162

Decomposed render trait value returned by TileRenderState.


TilesetBiome

TilesetBiome = z.infer<typeof biomeSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:95


TilesetBiomeSelector

TilesetBiomeSelector = typeof TILESET_BIOME_SELECTORS[number]

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:39


TilesetGrid

TilesetGrid = z.infer<typeof tilesetGridSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:27


TilesetManifest

TilesetManifest = z.infer<typeof tilesetManifestSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:128


TilesetSheet

TilesetSheet = z.infer<typeof sheetSchema>

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:89


TilesetSheetRole

TilesetSheetRole = typeof TILESET_SHEET_ROLES[number]

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:35


TileTagListValue

TileTagListValue = TraitRecord<typeof TileTagList>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:164

Decomposed tag trait value returned by TileTagList.


TileTerrainValue

TileTerrainValue = TraitRecord<typeof TileTerrain>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:156

Decomposed terrain trait value returned by TileTerrain.


TransitionFamily

TransitionFamily = keyof typeof TRANSITION_VARIANTS

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:125

A transition family key ('road' | 'river' | 'coast').


UnitPart

UnitPart = ColoredUnitPart | NeutralUnitPart

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:372

Any unit part id supported by catalog helpers.


VisualArtifactCoverageSource

VisualArtifactCoverageSource = "guide" | "showcase" | "screenshot"

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:50

Review artifact source class for screenshots, guide images, or required supporting files.


WallFortificationSegment

WallFortificationSegment = "straight" | "straight-gate" | "corner-A-gate" | "corner-A-inside" | "corner-A-outside" | "corner-B-inside" | "corner-B-outside"

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:79

Wall segment shape from the neutral wall asset set.

Variables

ActiveGameboardQuestQuery

const ActiveGameboardQuestQuery: Query<[TagTrait, TagTrait, Trait<{ activeObjectiveIndex: number; metadata: () => Record<string, GameboardQuestMetadataValue>; objectives: () => GameboardQuestObjective[]; progress: () => GameboardQuestObjectiveProgress[]; questId: string; schemaVersion: string; status: GameboardQuestStatus; title: string; }>]>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:144

Query for active quest entities.


ActiveMovementQuery

const ActiveMovementQuery: Query<[TagTrait, TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, Trait<{ movementBudget: number; profileId: GameboardMovementProfileId; remainingMovement: number; }>, Trait<{ cost: number; destinationKey: string; nextIndex: number; pathKeys: () => string[]; reason: string | undefined; spentCost: number; status: GameboardMovementStatus; visited: number; }>]>

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

Query for placements currently advancing along a path.


ASSET_FORMATS

const ASSET_FORMATS: readonly ["png", "glb", "gltf"]

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:27

The asset file formats. Closed set.


ASSET_ROLES

const ASSET_ROLES: readonly ["tile", "tileset", "sprite", "model"]

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:23

The asset roles a source can declare. Closed set.


assetSchema

const assetSchema: ZodDiscriminatedUnion<[ZodObject<{ biome: ZodString; edgeMask: ZodOptional<ZodNumber>; format: ZodEnum<{ glb: "glb"; gltf: "gltf"; png: "png"; }>; id: ZodString; path: ZodString; role: ZodLiteral<"tile">; }, $strip>, ZodObject<{ biome: ZodOptional<ZodString>; format: ZodLiteral<"png">; grid: ZodObject<{ cellHeight: ZodNumber; cellWidth: ZodNumber; cols: ZodNumber; rows: ZodNumber; }, $strip>; id: ZodString; path: ZodString; role: ZodLiteral<"tileset">; transition: ZodOptional<ZodObject<{ edgeCells: ZodRecord<ZodString, ZodNumber>; }, $strip>>; }, $strip>, ZodObject<{ category: ZodOptional<ZodEnum<{ encounter: "encounter"; enemy: "enemy"; npc: "npc"; pc: "pc"; prop: "prop"; structure: "structure"; unit: "unit"; }>>; format: ZodLiteral<"png">; id: ZodString; path: ZodString; role: ZodLiteral<"sprite">; }, $strip>, ZodObject<{ category: ZodOptional<ZodEnum<{ encounter: "encounter"; enemy: "enemy"; npc: "npc"; pc: "pc"; prop: "prop"; structure: "structure"; unit: "unit"; }>>; format: ZodEnum<{ glb: "glb"; gltf: "gltf"; }>; id: ZodString; path: ZodString; role: ZodLiteral<"model">; }, $strip>], "role">

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:119

One asset, discriminated by role so per-role format/field rules apply.


assetSourceSpecSchema

const assetSourceSpecSchema: ZodObject<{ assetRoot: ZodString; assets: ZodArray<ZodDiscriminatedUnion<[ZodObject<{ biome: ZodString; edgeMask: ZodOptional<ZodNumber>; format: ZodEnum<{ glb: "glb"; gltf: "gltf"; png: "png"; }>; id: ZodString; path: ZodString; role: ZodLiteral<"tile">; }, $strip>, ZodObject<{ biome: ZodOptional<ZodString>; format: ZodLiteral<"png">; grid: ZodObject<{ cellHeight: ZodNumber; cellWidth: ZodNumber; cols: ZodNumber; rows: ZodNumber; }, $strip>; id: ZodString; path: ZodString; role: ZodLiteral<"tileset">; transition: ZodOptional<ZodObject<{ edgeCells: ZodRecord<..., ...>; }, $strip>>; }, $strip>, ZodObject<{ category: ZodOptional<ZodEnum<{ encounter: "encounter"; enemy: "enemy"; npc: "npc"; pc: "pc"; prop: "prop"; structure: "structure"; unit: "unit"; }>>; format: ZodLiteral<"png">; id: ZodString; path: ZodString; role: ZodLiteral<"sprite">; }, $strip>, ZodObject<{ category: ZodOptional<ZodEnum<{ encounter: "encounter"; enemy: "enemy"; npc: "npc"; pc: "pc"; prop: "prop"; structure: "structure"; unit: "unit"; }>>; format: ZodEnum<{ glb: "glb"; gltf: "gltf"; }>; id: ZodString; path: ZodString; role: ZodLiteral<"model">; }, $strip>], "role">>; name: ZodString; specVersion: ZodLiteral<1>; }, $strip>

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:128

A complete asset source: a named set of assets under an asset root.


BASE_TILE_ASSET_IDS

const BASE_TILE_ASSET_IDS: readonly ["hex_grass_bottom", "hex_grass_sloped_high", "hex_grass_sloped_low", "hex_grass", "hex_water"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:14

Base and support tile asset ids used by terrain helpers.


BIOME_KEYWORDS

const BIOME_KEYWORDS: readonly ["grass", "water", "coast", "desert", "sand", "snow", "ice", "forest", "hill", "mountain", "rock", "road", "river", "lava", "swamp"]

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:93

Known biome keywords the tile-biome heuristic looks for in a filename. Exported so the interactive init wizard can offer them as the biome-override choices (single source — the heuristic and the picker share one list).


BlockedGameboardQuestQuery

const BlockedGameboardQuestQuery: Query<[TagTrait, TagTrait, Trait<{ activeObjectiveIndex: number; metadata: () => Record<string, GameboardQuestMetadataValue>; objectives: () => GameboardQuestObjective[]; progress: () => GameboardQuestObjectiveProgress[]; questId: string; schemaVersion: string; status: GameboardQuestStatus; title: string; }>]>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:148

Query for blocked quest entities.


BlockingActorQuery

const BlockingActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:675

Query for movement-blocking actor placements.


CLASSIFIER_TAG_PREFIX

const CLASSIFIER_TAG_PREFIX: "classifier:" = 'classifier:'

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:34

The &lt;classifier&gt;: prefix under which classifier tags live in a placement's tag list.


CLASSIFIER_TAGS

const CLASSIFIER_TAGS: readonly ["playable", "non-playable", "enemy", "random-encounter", "unit", "building", "prop"]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:17

The first-class classifier vocabulary. Consumers may also use custom string tags.


COAST_TILE_ASSET_IDS

const COAST_TILE_ASSET_IDS: readonly ("hex_coast_A" | "hex_coast_A_waterless" | "hex_coast_B" | "hex_coast_B_waterless" | "hex_coast_C" | "hex_coast_C_waterless" | "hex_coast_D" | "hex_coast_D_waterless" | "hex_coast_E" | "hex_coast_E_waterless")[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:45

Coast and waterless coast tile asset ids from the guide index.


COAST_VARIANTS

const COAST_VARIANTS: readonly [CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:103

Coast variants from the KayKit guide with canonical water-edge masks.


CoastPlacementQuery

const CoastPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:139

Query for coast placements.


COLORED_UNIT_PARTS

const COLORED_UNIT_PARTS: readonly ["banner", "bow", "cannon", "cart", "cart_merchant", "catapult", "helmet", "horse", "projectile_arrow", "shield", "ship", "spear", "sword", "unit"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:304

Faction-colored unit part ids expected from the local EXTRA ingest.


CompletedGameboardQuestQuery

const CompletedGameboardQuestQuery: Query<[TagTrait, TagTrait, Trait<{ activeObjectiveIndex: number; metadata: () => Record<string, GameboardQuestMetadataValue>; objectives: () => GameboardQuestObjective[]; progress: () => GameboardQuestObjectiveProgress[]; questId: string; schemaVersion: string; status: GameboardQuestStatus; title: string; }>]>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:146

Query for completed quest entities.


DecomposedGameboardTileQuery

const DecomposedGameboardTileQuery: Query<[TagTrait, Trait<{ key: string; q: number; r: number; }>, Trait<{ terrain: GameboardTerrain; }>, Trait<{ baseAssetId: string; elevation: number; supportAssetId: string; }>, Trait<{ coastEdges: number; coastWaterless: boolean; riverCrossing: "A" | "B" | undefined; riverCurvy: boolean; riverEdges: number; riverWaterless: boolean; roadEdges: number; roadSlope: "high" | "low" | undefined; }>, Trait<{ textureSet: "default" | "fall" | "summer" | "winter"; }>, Trait<() => string[]>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:121

Query for decomposed tile traits used by rule and ECS adapters.


DEFAULT_CAMERA_STATE

const DEFAULT_CAMERA_STATE: CameraState

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:58

The default game camera: isometric, orthographic, framing the whole board.


DEFAULT_GAMEBOARD_ASSET_ROOT

const DEFAULT_GAMEBOARD_ASSET_ROOT: "models" = 'models'

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:34

Default consumer asset root when no override is configured. Consumers set this via HEX_WORLDS_ASSET_ROOT env var or setGameboardAssetRoot to match their framework's static-file root (e.g. public/models for Vite). The bare 'models' default works for CLI/Node consumers where the process CWD is the project root and bootstrap outputs to ./models.


DEFAULT_HEX_GEOMETRY

const DEFAULT_HEX_GEOMETRY: HexGeometry

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:40

The DEFAULT hex-grid world geometry, loaded from hex-geometry.default.json — DATA, not an engine constant. The agnostic core hardcodes NO pack's numbers; a board/pack overrides these via createGameboardCoordinateSystem({ geometry }) or a tileset source's hex. The shipped defaults match the KayKit Medieval Hexagon reference pack, but that's just the default data, not a baked-in assumption.


DEFAULT_HEX_ORIENTATION

const DEFAULT_HEX_ORIENTATION: HexOrientation

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:47

Default hex orientation (from the geometry defaults data).


DEFAULT_PLACEMENT_CLASSIFIERS

const DEFAULT_PLACEMENT_CLASSIFIERS: readonly PlacementClassifier[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:50

The default classifiers — a renderer/pack-agnostic baseline derived from the placement's structural KIND. Recognized-pack classifiers (Adventurers → playable, Skeletons → enemy/random-encounter) layer ON TOP of these via packClassifier (RFC0-TAGb); a consumer composes [...DEFAULT_PLACEMENT_CLASSIFIERS, ...packClassifiers()].


EnemyActorQuery

const EnemyActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:647

Query for enemy actor placements.


EXTRA_FACTION_BUILDING_KINDS

const EXTRA_FACTION_BUILDING_KINDS: readonly ["docks", "shipyard", "shrine", "stables", "tent", "townhall", "tower_cannon", "watchtower", "workshop"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:138

Faction-colored building kinds expected from the local EXTRA ingest.


EXTRA_PROP_ASSET_IDS

const EXTRA_PROP_ASSET_IDS: readonly ["anchor", "boat", "boatrack", "cannonball_pallet", "haybale", "icon_combat", "icon_range", "trough", "trough_long"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:291

Prop asset ids expected from the local EXTRA ingest.


EXTRA_TRANSITION_TILE_ASSET_IDS

const EXTRA_TRANSITION_TILE_ASSET_IDS: readonly ["hex_transition"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:23

EXTRA-only transition tile ids used for biome blends.


EXTRA_UNIT_STYLES

const EXTRA_UNIT_STYLES: readonly ["accent", "full"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:351

Unit texture application styles available for colored unit parts.


ExtraPlacementQuery

const ExtraPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:147

Query for placements backed by local-only EXTRA assets.


FACTION_BUILDING_KINDS

const FACTION_BUILDING_KINDS: readonly ["archeryrange", "barracks", "blacksmith", "castle", "church", "docks", "home_A", "home_B", "lumbermill", "market", "mine", "shipyard", "shrine", "stables", "tavern", "tent", "townhall", "tower_A", "tower_B", "tower_base", "tower_cannon", "tower_catapult", "watchtower", "watermill", "well", "windmill", "workshop"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:85

All faction-colored building ids supported across FREE and EXTRA editions.


FREE_FACTION_BUILDING_KINDS

const FREE_FACTION_BUILDING_KINDS: readonly ["archeryrange", "barracks", "blacksmith", "castle", "church", "home_A", "home_B", "lumbermill", "market", "mine", "tavern", "tower_A", "tower_B", "tower_base", "tower_catapult", "watermill", "well", "windmill"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:116

Faction-colored building kinds available in the FREE KayKit pack.


FREE_PROP_ASSET_IDS

const FREE_PROP_ASSET_IDS: readonly ["barrel", "bucket_arrows", "bucket_empty", "bucket_water", "crate_A_big", "crate_A_small", "crate_B_big", "crate_B_small", "crate_long_A", "crate_long_B", "crate_long_C", "crate_long_empty", "crate_open", "flag_blue", "flag_green", "flag_red", "flag_yellow", "ladder", "pallet", "resource_lumber", "resource_stone", "sack", "target", "tent", "weaponrack", "wheelbarrow"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:261

Prop asset ids available in the FREE KayKit pack.


GAMEBOARD_ASSET_ROOT_ENV_VAR

const GAMEBOARD_ASSET_ROOT_ENV_VAR: "HEX_WORLDS_ASSET_ROOT" = 'HEX_WORLDS_ASSET_ROOT'

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:40

Environment variable name read by resolveGameboardAssetRoot when no higher-priority override is configured.


GAMEBOARD_ASSET_ROOT_GLOBAL_KEY

const GAMEBOARD_ASSET_ROOT_GLOBAL_KEY: "HEX_WORLDS_ASSET_ROOT" = 'HEX_WORLDS_ASSET_ROOT'

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:46

Property on globalThis consulted by resolveGameboardAssetRoot before falling back to the env var.


GAMEBOARD_COVERAGE_SCHEMA_VERSION

const GAMEBOARD_COVERAGE_SCHEMA_VERSION: "1.0.0" = '1.0.0'

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:35

Schema version for generated release-readiness reports.


GAMEBOARD_CURATED_SHOWCASE_ARTIFACTS

const GAMEBOARD_CURATED_SHOWCASE_ARTIFACTS: readonly ["docs/showcases/free-guide-scenarios-by-extracted-page.png", "docs/showcases/free-guide-roads-all-labels-rotations.png", "docs/showcases/free-guide-rivers-all-labels-rotations-water-waterless.png", "docs/showcases/free-guide-coasts-all-labels-rotations-water-waterless.png", "docs/showcases/free-blueprint-builder-showcase.png", "docs/showcases/extra-blueprint-biome-transition-showcase.png", "docs/showcases/extra-harbor-gameboard.png"]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:319

Curated showcase artifacts promoted from browser screenshots into docs.


GAMEBOARD_INTERACTION_HANDLER_PRESETS

const GAMEBOARD_INTERACTION_HANDLER_PRESETS: readonly ["remove-target-actor", "remove-target-placement", "mark-target-interacted", "default-rpg"]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:200

Built-in handler presets for common SimpleRPG-style interactions.


GAMEBOARD_LAYOUT_ARCHETYPES

const GAMEBOARD_LAYOUT_ARCHETYPES: GameboardLayoutArchetypeRegistry

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

Built-in layout archetypes for common surface, structure, harbor, unit, prop, scatter, and landmark placement behavior.


GAMEBOARD_MOVEMENT_PROFILES

const GAMEBOARD_MOVEMENT_PROFILES: GameboardMovementProfileRegistry

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:150

Built-in movement profiles for ground units, workers, cavalry, ships, and flying units.


GAMEBOARD_RECIPE_SCHEMA_VERSION

const GAMEBOARD_RECIPE_SCHEMA_VERSION: "1.0.0" = '1.0.0'

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:59

Current schema version for serialized gameboard recipes.


GAMEBOARD_RELEASE_GATE_COMMANDS

const GAMEBOARD_RELEASE_GATE_COMMANDS: readonly ["pnpm lint", "pnpm typecheck", "pnpm build", "pnpm test", "pnpm test:coverage:enforce", "pnpm test:browser:free", "pnpm docs:build", "npm pack --dry-run"]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:340

Canonical final acceptance commands for release closeout.

Mirrors the per-PR CI workflow (lint / typecheck / build / vitest with contract specs / coverage-enforce / docs site build / browser visual snapshot diff) plus the release-only npm pack step. The bespoke audit-*.ts scripts are gone — their assertions live in tests/contract/ and run under pnpm test.


GAMEBOARD_REQUIRED_BROWSER_SCREENSHOT_ARTIFACTS

const GAMEBOARD_REQUIRED_BROWSER_SCREENSHOT_ARTIFACTS: readonly ["tests/browser/__screenshots__/free-catalog.png", "tests/browser/__screenshots__/free-guide-assets-by-public-role.png", "tests/browser/__screenshots__/free-guide-source-pages.png", "tests/browser/__screenshots__/free-guide-scenarios-by-extracted-page.png", "tests/browser/__screenshots__/free-guide-roads-all-labels-rotations.png", "tests/browser/__screenshots__/free-guide-rivers-all-labels-rotations-water-waterless.png", "tests/browser/__screenshots__/free-guide-river-curvy-crossings-all-modes.png", "tests/browser/__screenshots__/free-guide-coasts-all-labels-rotations-water-waterless.png", "tests/browser/__screenshots__/free-guide-page-nature-stacks-buildings-props.png", "tests/browser/__screenshots__/free-gameboard-recipe.png", "tests/browser/__screenshots__/free-blueprint-builder-showcase.png", "tests/browser/__screenshots__/free-seeded-gameboard.png", "tests/browser/__screenshots__/free-seeded-hex-gameboard.png", "tests/browser/__screenshots__/free-generated-piece-recipe.png", "tests/browser/__screenshots__/extra-local-all-tiles-guide-and-transitions.png", "tests/browser/__screenshots__/extra-local-all-buildings-factions-neutral-harbors.png", "tests/browser/__screenshots__/extra-local-all-decoration-nature-props.png", "tests/browser/__screenshots__/extra-local-all-units-full-accent-neutral-siege.png", "tests/browser/__screenshots__/extra-guide-assets-by-public-role.png", "tests/browser/__screenshots__/extra-guide-scenarios-pages-02-15.png", "tests/browser/__screenshots__/extra-guide-scenarios-pages-16-18.png", "tests/browser/__screenshots__/extra-seasonal-textures.png", "tests/browser/__screenshots__/extra-harbor-gameboard.png", "tests/browser/__screenshots__/extra-blueprint-biome-transition-showcase.png"]

Defined in: packages/declarative-hex-worlds/src/interop/internal.ts:14

Browser screenshot artifacts enforced by the visual test scripts.


GAMEBOARD_SCENARIO_SCHEMA_VERSION

const GAMEBOARD_SCENARIO_SCHEMA_VERSION: "1.0.0" = '1.0.0'

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:53

Current schema version for serialized scenario files.


GAMEBOARD_SCENARIO_SIMULATION_SCHEMA_VERSION

const GAMEBOARD_SCENARIO_SIMULATION_SCHEMA_VERSION: "1.0.0" = '1.0.0'

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:58

Current JSON schema version for scenario simulation scripts and reports.


GAMEBOARD_SCENARIO_SIMULATION_STEP_ACTIONS

const GAMEBOARD_SCENARIO_SIMULATION_STEP_ACTIONS: readonly ["actor-target-command", "command", "inspect-actor-targets", "run-systems", "remove-actor", "remove-placement", "spawn-actor", "spawn-placement", "update-actor", "update-placement"] = SIMULATION_STEP_ACTIONS

Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:65

Supported simulation step action discriminators. Canonical table lives in ./internal (as SIMULATION_STEP_ACTIONS); re-exported here under the public name so the cycle-prone guards can stay in ./internal.


gameboardActions

const gameboardActions: Actions<{ canOccupyPlacement: (options) => boolean; clear: () => void; inspectPlacementOccupancy: (options) => GameboardPlacementOccupancyInspection; loadPlan: (plan) => GameboardEntityIndex; movePlacement: (placement, to, options) => Entity; removePlacement: (placement) => boolean; spawnPlacement: (options) => Entity; updatePlacement: (placement, options) => Entity; }>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:367

Koota action bundle for loading, clearing, inspecting, and mutating a board through world-bound helpers.


gameboardActorActions

const gameboardActorActions: Actions<{ collision: (actor, target, profile) => GameboardActorCollisionReport; command: (target, options) => GameboardInteractionCommand; interaction: (target, options) => GameboardInteractionTargetReport; move: (actor, to, options) => Entity; navigationProfile: (actor, options) => GameboardNavigationProfile; neighborhood: (center, options) => GameboardNeighborhoodInspection; read: () => GameboardActorSnapshot[]; register: (placement, options) => Entity; select: (options) => GameboardActorSelection; spawn: (options) => Entity; targets: (options) => GameboardActorTargetingReport; tile: (coordinates, options) => GameboardTileInspection; update: (actor, options) => Entity; }>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:698

Koota action bundle for actor spawning, registration, selection, inspection, targeting, and command planning.


GameboardActorQuery

const GameboardActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:626

Query for every gameplay actor placement.


gameboardCommandActions

const gameboardCommandActions: Actions<{ execute: (commandOrTarget, options) => GameboardInteractionCommandExecution; plan: (target, options) => GameboardInteractionCommand; preview: (commandOrTarget, options) => GameboardInteractionCommandPreview; targetCommand: (options) => GameboardActorTargetCommandPlan; }>

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:309

Koota action bundle for planning, previewing, executing, and targeting interaction commands in a live world.


gameboardMovementActions

const gameboardMovementActions: Actions<{ advance: (placement, options) => GameboardMovementAdvanceResult; clear: (placement) => Entity; reachable: (placement, options) => GameboardReachableTile[]; requestMove: (placement, destination, options) => GameboardMovementRequestResult; resetBudget: (placement?, options) => readonly Entity[]; runSystem: (options) => GameboardMovementAdvanceResult[]; setAgent: (placement, options) => Entity; }>

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:234

Koota action bundle for movement agents, path requests, reachability, and advancement.


gameboardPatrolActions

const gameboardPatrolActions: Actions<{ advance: (placement, options) => GameboardPatrolAdvanceResult; clear: (placement) => Entity; read: () => GameboardPatrolSnapshot[]; run: (options) => GameboardPatrolAdvanceResult[]; set: (placement, options) => Entity; }>

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:145

Koota action bundle for patrol setup, clearing, advancement, and reads.


GameboardPatrolAgentQuery

const GameboardPatrolAgentQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ active: boolean; currentWaypointIndex: number; loop: boolean; pauseTicks: number; roundsCompleted: number; routeId: string; segmentCosts: () => number[]; targetWaypointIndex: number; waitTicksRemaining: number; waypointKeys: () => string[]; }>, Trait<{ lastPathKeys: () => string[]; reason: string | undefined; status: GameboardPatrolStatus; targetKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:117

Query for every patrol agent placement.


GameboardPlacementQuery

const GameboardPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:131

Query for all board placements.


gameboardQuestActions

const gameboardQuestActions: Actions<{ advance: (quest, options) => GameboardQuestSnapshot; advanceAll: (options) => GameboardQuestSnapshot[]; find: (quest) => GameboardQuestSnapshot | undefined; read: () => GameboardQuestSnapshot[]; spawn: (definition, options) => Entity; }>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:156

Koota action bundle for spawning, advancing, reading, and finding quests.


GameboardQuestQuery

const GameboardQuestQuery: Query<[TagTrait, Trait<{ activeObjectiveIndex: number; metadata: () => Record<string, GameboardQuestMetadataValue>; objectives: () => GameboardQuestObjective[]; progress: () => GameboardQuestObjectiveProgress[]; questId: string; schemaVersion: string; status: GameboardQuestStatus; title: string; }>]>

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:142

Query for all quest entities.


gameboardSystemActions

const gameboardSystemActions: Actions<{ dispatchActorTargetCommand: (options, commandOptions) => DispatchGameboardActorTargetCommandResult; dispatchCommand: (commandOrTarget, options) => DispatchGameboardInteractionCommandResult; interact: (commandOrTarget, options) => RunGameboardInteractionResult; interactActorTarget: (options, interactionOptions) => RunGameboardActorTargetInteractionResult; run: (options) => RunGameboardSystemsResult; }>

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:88

Koota action bundle for high-level game-loop dispatch and system ticks.


GameboardTileQuery

const GameboardTileQuery: Query<[TagTrait, Trait<{ baseAssetId: string; coastEdges: number; coastWaterless: boolean; coordinates: () => HexCoordinates; elevation: number; key: string; riverCrossing: "A" | "B" | undefined; riverCurvy: boolean; riverEdges: number; riverWaterless: boolean; roadEdges: number; roadSlope: "high" | "low" | undefined; supportAssetId: string; tags: () => string[]; terrain: GameboardTerrain; textureSet: "default" | "fall" | "summer" | "winter"; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:119

Query for full tile state.


GAMEPLAY_CATEGORIES

const GAMEPLAY_CATEGORIES: readonly ["unit", "pc", "npc", "enemy", "encounter", "prop", "structure"]

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:39

A SUGGESTED gameplay category for a model/sprite asset — what it should be in a game, orthogonal to its role (which is the asset TYPE). A downloaded pack (e.g. KayKit Adventurers → pc, Skeletons → enemy) or a bind scan declares these as DEFAULTS the developer accepts or overrides; the engine never forces a category. unit = a player/AI-controlled piece; pc/npc = playable/non-playable character; enemy = hostile; encounter = a random-encounter spawn; prop = decoration; structure = a building. undefined = uncategorized (a plain model).


HarborPlacementQuery

const HarborPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:143

Query for harbor-capable placements.


HEX_DIRECTIONS

const HEX_DIRECTIONS: readonly [HexCoordinates, HexCoordinates, HexCoordinates, HexCoordinates, HexCoordinates, HexCoordinates]

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

Axial neighbor offsets ordered clockwise for the library edge convention.


HEX_EDGE_COUNT

const HEX_EDGE_COUNT: 6 = 6

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:63

Number of edges on every hex tile.


HEX_ROTATION_RADIANS

const HEX_ROTATION_RADIANS: number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:65

Rotation in radians for one clockwise hex edge step.


HEX_ROTATION_STEPS

const HEX_ROTATION_STEPS: readonly [0, 1, 2, 3, 4, 5]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:67

All valid clockwise 60-degree rotation steps.


HostileActorQuery

const HostileActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:661

Query for hostile actor placements.


InteractiveActorQuery

const InteractiveActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:668

Query for interactive actor placements.


KAYKIT_ELEVATION_STEP

const KAYKIT_ELEVATION_STEP: number = DEFAULT_HEX_GEOMETRY.elevationStep

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:64

Deprecated

Use DEFAULT_HEX_GEOMETRY.elevationStep.


KAYKIT_HEX_DEPTH

const KAYKIT_HEX_DEPTH: number = DEFAULT_HEX_GEOMETRY.depth

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:58

Deprecated

Use DEFAULT_HEX_GEOMETRY.depth.


KAYKIT_HEX_GEOMETRY

const KAYKIT_HEX_GEOMETRY: HexGeometry = DEFAULT_HEX_GEOMETRY

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:134

Deprecated

Alias of DEFAULT_HEX_GEOMETRY (data-driven). Use that instead of the KayKit-named export — the engine holds no pack-specific geometry.


KAYKIT_HEX_ROW_SPACING

const KAYKIT_HEX_ROW_SPACING: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:62

Deprecated

Row spacing derives from geometry; use rowSpacingForGeometry(DEFAULT_HEX_GEOMETRY).


KAYKIT_HEX_SIDE

const KAYKIT_HEX_SIDE: number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:60

Deprecated

Use DEFAULT_HEX_GEOMETRY.depth / 2.


KAYKIT_HEX_WIDTH

const KAYKIT_HEX_WIDTH: number = DEFAULT_HEX_GEOMETRY.width

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:56

Back-compat aliases for the default geometry, now SOURCED FROM the JSON defaults (not hardcoded). Prefer DEFAULT_HEX_GEOMETRY in new code; these remain so existing consumers keep working.

Deprecated

Use DEFAULT_HEX_GEOMETRY (data-driven) instead of the KayKit-named constants.


KayKitHex

const KayKitHex: typeof Hex

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:137

Honeycomb hex class configured for the default axial footprint.


MovementAgentQuery

const MovementAgentQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, Trait<{ movementBudget: number; profileId: GameboardMovementProfileId; remainingMovement: number; }>]>

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

Query for placements with movement agents.


NATURE_ASSET_IDS

const NATURE_ASSET_IDS: readonly ["cloud_big", "cloud_small", "hill_single_A", "hill_single_B", "hill_single_C", "hills_A", "hills_A_trees", "hills_B", "hills_B_trees", "hills_C", "hills_C_trees", "mountain_A", "mountain_A_grass", "mountain_A_grass_trees", "mountain_B", "mountain_B_grass", "mountain_B_grass_trees", "mountain_C", "mountain_C_grass", "mountain_C_grass_trees", "rock_single_A", "rock_single_B", "rock_single_C", "rock_single_D", "rock_single_E", "tree_single_A", "tree_single_A_cut", "tree_single_B", "tree_single_B_cut", "trees_A_cut", "trees_A_large", "trees_A_medium", "trees_A_small", "trees_B_cut", "trees_B_large", "trees_B_medium", "trees_B_small", "waterlily_A", "waterlily_B", "waterplant_A", "waterplant_B", "waterplant_C"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:176

Nature and terrain-detail asset ids available to placement helpers.


NEUTRAL_STRUCTURE_KINDS

const NEUTRAL_STRUCTURE_KINDS: readonly ["building_bridge_A", "building_bridge_B", "building_destroyed", "building_dirt", "building_grain", "building_scaffolding", "building_stage_A", "building_stage_B", "building_stage_C", "fence_stone_straight", "fence_stone_straight_gate", "fence_wood_straight", "fence_wood_straight_gate", "projectile_catapult", "wall_corner_A_gate", "wall_corner_A_inside", "wall_corner_A_outside", "wall_corner_B_inside", "wall_corner_B_outside", "wall_straight", "wall_straight_gate"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:151

Neutral structure asset ids available to placement helpers.


NEUTRAL_UNIT_PARTS

const NEUTRAL_UNIT_PARTS: readonly ["banner", "bow", "cannon", "cart", "cart_merchant", "catapult", "hammer", "helmet", "horse_A", "horse_B", "horse_C", "horse_D", "horse_E", "horse_F", "horse_G", "horse_saddle", "projectile_arrow", "projectile_cannonball", "projectile_catapult", "shield", "ship", "shovel", "spear", "sword", "unit"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:322

Neutral unit and equipment part ids expected from the local EXTRA ingest.


NpcActorQuery

const NpcActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:640

Query for NPC actor placements.


PlayerActorQuery

const PlayerActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:633

Query for player actor placements.


PROP_ASSET_IDS

const PROP_ASSET_IDS: readonly ["anchor", "barrel", "boat", "boatrack", "bucket_arrows", "bucket_empty", "bucket_water", "cannonball_pallet", "crate_A_big", "crate_A_small", "crate_B_big", "crate_B_small", "crate_long_A", "crate_long_B", "crate_long_C", "crate_long_empty", "crate_open", "flag_blue", "flag_green", "flag_red", "flag_yellow", "haybale", "icon_combat", "icon_range", "ladder", "pallet", "resource_lumber", "resource_stone", "sack", "target", "tent", "trough", "trough_long", "weaponrack", "wheelbarrow"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:222

All prop asset ids supported across FREE and EXTRA editions.


PropActorQuery

const PropActorQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, TagTrait, Trait<{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: () => Record<string, GameboardActorMetadataValue>; tags: () => string[]; team: string | undefined; }>]>

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:654

Query for prop actor placements.


RIVER_TILE_ASSET_IDS

const RIVER_TILE_ASSET_IDS: readonly ["hex_river_A_curvy", "hex_river_A", "hex_river_B", "hex_river_C", "hex_river_crossing_A", "hex_river_crossing_B", "hex_river_D", "hex_river_E", "hex_river_F", "hex_river_G", "hex_river_H", "hex_river_I", "hex_river_J", "hex_river_K", "hex_river_L", "hex_river_A_curvy_waterless", "hex_river_A_waterless", "hex_river_B_waterless", "hex_river_C_waterless", "hex_river_crossing_A_waterless", "hex_river_crossing_B_waterless", "hex_river_D_waterless", "hex_river_E_waterless", "hex_river_F_waterless", "hex_river_G_waterless", "hex_river_H_waterless", "hex_river_I_waterless", "hex_river_J_waterless", "hex_river_K_waterless", "hex_river_L_waterless"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:51

River, curvy river, crossing, and waterless river asset ids from the guide.


RIVER_VARIANTS

const RIVER_VARIANTS: readonly [CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:87

River variants from the KayKit guide with canonical edge masks.


RiverPlacementQuery

const RiverPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:137

Query for river placements.


ROAD_TILE_ASSET_IDS

const ROAD_TILE_ASSET_IDS: readonly ["hex_road_A_sloped_high", "hex_road_A_sloped_low", "hex_road_A", "hex_road_B", "hex_road_C", "hex_road_D", "hex_road_E", "hex_road_F", "hex_road_G", "hex_road_H", "hex_road_I", "hex_road_J", "hex_road_K", "hex_road_L", "hex_road_M"]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:26

Road tile asset ids from the guide index.


ROAD_VARIANTS

const ROAD_VARIANTS: readonly [CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:70

Road variants from the KayKit guide with canonical edge masks.


RoadPlacementQuery

const RoadPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:135

Query for road placements.


SOURCE_PACK_METADATA_KEY

const SOURCE_PACK_METADATA_KEY: "sourcePack" = 'sourcePack'

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:99

The metadata key under which a placement records the id of the pack it was sourced from. packClassifier reads this (or an assetId prefix) to decide whether a placement belongs to a recognized pack.


StackedTerrainQuery

const StackedTerrainQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:145

Query for stacked or elevated terrain placements.


StructurePlacementQuery

const StructurePlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:141

Query for structure placements.


TerrainPlacementQuery

const TerrainPlacementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>]>

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:133

Query for terrain placements.


TILESET_BIOME_SELECTORS

const TILESET_BIOME_SELECTORS: readonly ["hash", "first"]

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:38

Biome selection strategy across a fill sheet's usable cells.


TILESET_SHEET_ROLES

const TILESET_SHEET_ROLES: readonly ["fill", "transition"]

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:34

A sheet's role in the tiling:

  • fill: cells are interchangeable variations of one biome (pick by hash).
  • transition: cells are positional — an edge mask selects a specific cell.

tilesetManifestSchema

const tilesetManifestSchema: ZodObject<{ biomes: ZodRecord<ZodString, ZodObject<{ select: ZodEnum<{ first: "first"; hash: "hash"; }>; sheet: ZodString; }, $strip>>; kind: ZodLiteral<"tileset">; schemaVersion: ZodString; sheets: ZodRecord<ZodString, ZodObject<{ edgeCells: ZodOptional<ZodRecord<ZodString, ZodNumber>>; grid: ZodObject<{ cellHeight: ZodNumber; cellWidth: ZodNumber; cols: ZodNumber; rows: ZodNumber; }, $strip>; role: ZodEnum<{ fill: "fill"; transition: "transition"; }>; url: ZodString; variants: ZodOptional<ZodArray<ZodNumber>>; }, $strip>>; }, $strip>

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:98

The full tileset manifest schema.


TRANSITION_VARIANTS

const TRANSITION_VARIANTS: object

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:118

The transition families that resolve an edge mask to a rotated variant (RFC0-9b). Any AssetSource can drive its resolveEdge off this table: it is the renderer-neutral edge → variant seam. A tileset maps the chosen variant's canonical mask to a sheet cell; a gltf-pack maps the variant's assetId to a model URL and bakes the rotation into the transform.

Type Declaration

coast

readonly coast: readonly [CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant] = COAST_VARIANTS

river

readonly river: readonly [CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant] = RIVER_VARIANTS

road

readonly road: readonly [CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant, CanonicalVariant] = ROAD_VARIANTS


UnitMovementQuery

const UnitMovementQuery: Query<[TagTrait, Trait<{ assetId: string; coordinates: () => HexCoordinates; elevation: number; elevationOffset: number; id: string; kind: GameboardPlacementKind; layer: GameboardPlacementLayer; metadata: () => Record<string, string | number | boolean | null>; order: number; position: () => WorldPosition; requiresExtra: boolean; rotationRadians: number; rotationSteps: number; scale: number; stackIndex: number | undefined; textureSet: "default" | "fall" | "summer" | "winter"; tileKey: string; }>, Trait<{ movementBudget: number; profileId: GameboardMovementProfileId; remainingMovement: number; }>]>

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

Query for unit placements that have movement agents.

Functions

advanceAllGameboardQuests()

advanceAllGameboardQuests(world, options?): GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:319

Advance every quest in the world.

Parameters

world

World

options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot[]


advanceGameboardMovement()

advanceGameboardMovement(world, placement, options?): GameboardMovementAdvanceResult

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:395

Advance one movement agent by one or more path steps.

Parameters

world

World

placement

string | Entity

options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult


advanceGameboardPatrol()

advanceGameboardPatrol(world, placement, options?): GameboardPatrolAdvanceResult

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

Advance one patrol agent through waiting, movement requests, and route completion.

Parameters

world

World

placement

string | Entity

options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult


advanceGameboardQuest()

advanceGameboardQuest(world, quest, options?): GameboardQuestSnapshot

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:266

Advance one quest and update objective progress.

Parameters

world

World

quest

string | Entity

options?

AdvanceGameboardQuestOptions = {}

Returns

GameboardQuestSnapshot


analyzeExternalAssetCompatibility()

analyzeExternalAssetCompatibility(input): ExternalAssetCompatibilityReport

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:215

Evaluates an external GLB/GLTF against KayKit hex dimensions and returns the placement role, scale, facing, animation, warning, and error data needed for local piece registration.

Parameters

input

ExternalAssetCompatibilityInput

Returns

ExternalAssetCompatibilityReport


analyzeGameboardLayoutFill()

analyzeGameboardLayoutFill(plan, options): GameboardLayoutFillAnalysis

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

Analyze layout fill rules, selected sites, and diagnostics without mutating a world or requiring render assets.

Parameters

plan

GameboardPlan

options

GameboardLayoutFillOptions

Returns

GameboardLayoutFillAnalysis


analyzeGameboardPieceRegistry()

analyzeGameboardPieceRegistry(registry, options?): GameboardPieceRegistryAnalysis

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:461

Analyze piece counts, tags, local-only assets, and optional compatibility checks for a registry.

Parameters

registry

GameboardPieceRegistry

options?

AnalyzeGameboardPieceRegistryOptions = {}

Returns

GameboardPieceRegistryAnalysis


analyzeHexTileRegistry()

analyzeHexTileRegistry(registry): TileRegistryAnalysis

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:361

Analyzes registry-wide tile sizing, scale recommendations, and compatibility warnings.

Parameters

registry

HexTileRegistry

Returns

TileRegistryAnalysis


analyzeTileGeometry()

analyzeTileGeometry(declaration): TileGeometryAnalysis

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:299

Analyzes one declaration footprint against the canonical KayKit hex footprint.

Parameters

declaration

Pick<HexTileDeclaration, "assetId" | "id" | "bounds" | "geometry"> & Partial<Pick<HexTileDeclaration, "role">>

Returns

TileGeometryAnalysis


appendGameboardLayoutPlacementsToPlan()

appendGameboardLayoutPlacementsToPlan(plan, placements): GameboardPlan

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

Return a copied plan with generated layout placements appended as concrete placement specs.

Parameters

plan

GameboardPlan

placements

readonly SpawnGameboardPlacementOptions[]

Returns

GameboardPlan


appendGameboardRecipeSteps()

appendGameboardRecipeSteps(recipe, steps): GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:403

Returns a new recipe with additional steps appended.

Parameters

recipe

GameboardRecipe

steps

readonly GameboardRecipeStep[]

Returns

GameboardRecipe


applyGameboardRecipe()

applyGameboardRecipe(builder, recipeOrSteps): GameboardBuilder

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:583

Applies all recipe steps to an existing builder.

Parameters

builder

GameboardBuilder

recipeOrSteps

GameboardRecipe | readonly GameboardRecipeStep[]

Returns

GameboardBuilder


applyGameboardRecipeGeneration()

applyGameboardRecipeGeneration(plan, generation): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/recipe-generation.ts:27

Run seeded recipe generation over a built plan and return the projected result. Builds a koota world, spawns the generation's layout-fill, projects back. When the generation declares no fill rules, returns the plan unchanged (no world).

Parameters

plan

GameboardPlan

generation

GameboardRecipeGeneration | undefined

Returns

GameboardPlan


applyRecipeStep()

applyRecipeStep(builder, step): GameboardBuilder

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:595

Applies one recipe step to an existing builder.

Parameters

builder

GameboardBuilder

step

GameboardRecipeStep

Returns

GameboardBuilder


applyTileDeclaration()

applyTileDeclaration(builder, registry, options): GameboardBuilder

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:405

Applies a registered declaration to a builder as either a base tile or feature placement.

Parameters

builder

GameboardBuilder

registry

HexTileRegistry

options

ApplyTileDeclarationOptions

Returns

GameboardBuilder


areGameboardActorsHostile()

areGameboardActorsHostile(left, right): boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1039

Return whether two actors should be considered hostile to each other.

Parameters

left

GameboardActorSnapshot | { actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: Record<string, GameboardActorMetadataValue>; tags: string[]; team: string | undefined; } | undefined

GameboardActorSnapshot


Type Literal

{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: Record<string, GameboardActorMetadataValue>; tags: string[]; team: string | undefined; }

actorId

string = ''

Stable gameplay actor id.

blocksMovement

boolean = false

Whether this actor blocks movement.

faction

string | undefined = ...

Optional faction identifier.

hostile

boolean = false

Whether this actor is generally hostile.

interactive

boolean = false

Whether this actor should be treated as an interaction target.

kind

GameboardActorKind = ...

Actor role used by collision, targeting, commands, and fixtures.

metadata

Record<string, GameboardActorMetadataValue> = ...

Serializable actor metadata.

tags

string[] = ...

Free-form actor tags.

team

string | undefined = ...

Optional team identifier.


undefined

GameboardActorSnapshot | { actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: Record<string, GameboardActorMetadataValue>; tags: string[]; team: string | undefined; } | undefined

GameboardActorSnapshot


Type Literal

{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: Record<string, GameboardActorMetadataValue>; tags: string[]; team: string | undefined; }

actorId

string = ''

Stable gameplay actor id.

blocksMovement

boolean = false

Whether this actor blocks movement.

faction

string | undefined = ...

Optional faction identifier.

hostile

boolean = false

Whether this actor is generally hostile.

interactive

boolean = false

Whether this actor should be treated as an interaction target.

kind

GameboardActorKind = ...

Actor role used by collision, targeting, commands, and fixtures.

metadata

Record<string, GameboardActorMetadataValue> = ...

Serializable actor metadata.

tags

string[] = ...

Free-form actor tags.

team

string | undefined = ...

Optional team identifier.


undefined

Returns

boolean


assertCoverableCoastMask()

assertCoverableCoastMask(edges, context?): void

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:281

Assert that edges form a coverable coast mask, throwing a clear author-time error otherwise. Called by GameboardBuilder.setCoastEdges so a bad mask fails at the authoring call — naming the tile + the offending mask — rather than deep in projection with an opaque "no coast variant covers …" runtime error.

Parameters

edges

HexEdgeInput

context?
tileKey?

string

Returns

void


assertGameboardScenarioSimulationExpectations()

assertGameboardScenarioSimulationExpectations(report, expectations?): void

Defined in: packages/declarative-hex-worlds/src/simulation/assertions.ts:65

Throws when a simulation report does not satisfy its expectations.

Parameters

report

GameboardScenarioSimulationReport

expectations?

GameboardScenarioSimulationExpectations | undefined

Returns

void


assetIdFromPath()

assetIdFromPath(path): string

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:80

Derive a stable asset id from a path: the basename without extension, slug-safe. Returns '' when the basename has no stem (e.g. a dotfile like .glb, whose only . starts the name) — the scanner treats an empty id as unclassifiable and routes it to skipped rather than emitting an id the spec schema rejects.

Parameters

path

string

Returns

string


axialToWorld()

axialToWorld(coordinates, elevation?, geometry?): WorldPosition

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:185

Converts axial hex coordinates to KayKit world-space coordinates.

Parameters

coordinates

HexCoordinates

elevation?

number = 0

geometry?

HexGeometry = DEFAULT_HEX_GEOMETRY

Returns

WorldPosition


bindingTargetsMesh()

bindingTargetsMesh(binding, meshName): boolean

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:69

True if a mesh/material name is a target of the binding (a binding with no targets matches all).

Parameters

binding

TextureBinding

meshName

string

Returns

boolean


buildAssetSourceSpec()

buildAssetSourceSpec(files, options): object

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:246

Build a candidate AssetSourceSpec from a scan. Non-tileset assets are emitted as-is; tilesets are given a placeholder grid (the CLI overwrites it with author input — a placeholder keeps the spec shape valid for preview). Returns the spec plus the scan's skipped/needs-grid info so the caller can surface it.

Parameters

files

readonly ScannedFile[]

options
assetRoot

string

name

string

resolveTilesetGrid?

(asset) => { cellHeight: number; cellWidth: number; cols: number; rows: number; } | undefined

Per-tileset grid resolver (the CLI supplies this — it reads the PNG bytes and derives the grid via readPngDimensions + inferTilesetGrid, keeping this function pure of fs/image-decode). Return undefined to fall back to tilesetGrid. When BOTH are absent a tileset keeps the placeholder grid and is reported in scan.tilesetsNeedingGrid so the author can fix it.

tilesetGrid?

{ cellHeight: number; cellWidth: number; cols: number; rows: number; }

Fallback grid for tilesets when no per-tileset grid is resolved.

tilesetGrid.cellHeight

number

tilesetGrid.cellWidth

number

tilesetGrid.cols

number

tilesetGrid.rows

number

Returns

object

scan

scan: ScanResult

spec

spec: object

spec.assetRoot

assetRoot: string

Root directory the asset paths are relative to (e.g. "public/assets").

spec.assets

assets: ({ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; })[]

Ordered asset records.

spec.name

name: string

Human-readable source name (e.g. "kaykit-free", "my-tileset-pack").

spec.specVersion

specVersion: 1

Spec format version (this schema is v1).


canOccupyGameboardPlacement()

canOccupyGameboardPlacement(world, options): boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:779

Return whether a proposed placement footprint can occupy its target tiles.

Parameters

world

World

options

InspectGameboardPlacementOccupancyOptions

Returns

boolean


canStackInPlan()

canStackInPlan(plan, coordinates, height, config?): boolean

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:109

Checks whether a tile in a plan can support the requested elevation.

Parameters

plan

GameboardPlan

coordinates

string | HexCoordinates

height

number

config?

GameboardPlanValidationConfig = {}

Returns

boolean


cellRect()

cellRect(grid, cellIndex): CellRect

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:108

The row-major pixel rect of a 0-based cell index within a grid.

Parameters

grid
cellHeight

number = ...

cellWidth

number = ...

cols

number = ...

rows

number = ...

cellIndex

number

Returns

CellRect


classifierMetadata()

classifierMetadata(tags): Record<string, boolean>

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:165

A metadata patch that flags the given classifiers on a placement (all true).

Parameters

tags

readonly ClassifierTag[]

Returns

Record<string, boolean>


classifierMetadataKey()

classifierMetadataKey(tag): string

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:160

The metadata KEY a classifier is stored under on a placement. Placement metadata values are string | number | boolean | null, so each classifier is a boolean flag (classifier:enemy → true) rather than an array — this keeps classifiers queryable through the placement metadata that survives projection into the koota world.

Parameters

tag

ClassifierTag

Returns

string


classifierTagsOf()

classifierTagsOf(metadata): readonly ClassifierTag[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:176

The classifier tags flagged in a placement's metadata (keys prefixed + truthy).

Parameters

metadata

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

Returns

readonly ClassifierTag[]


classifyGameboardPlacement()

classifyGameboardPlacement(world, actorOrPlacement): GameboardActorKind | undefined

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1029

Return the gameplay actor kind for an actor or placement, when registered.

Parameters

world

World

actorOrPlacement

string | Entity

Returns

GameboardActorKind | undefined


classifyPlacement()

classifyPlacement(placement, classifiers?): readonly ClassifierTag[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:137

Union of the classifier tags every classifier assigns to a placement (order-stable, deduped).

Parameters

placement

GameboardPlacementSpec

classifiers?

readonly PlacementClassifier[] = DEFAULT_PLACEMENT_CLASSIFIERS

Returns

readonly ClassifierTag[]


clearGameboardMovement()

clearGameboardMovement(world, placement): Entity

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:426

Clear active path state for one movement agent.

Parameters

world

World

placement

string | Entity

Returns

Entity


clearGameboardPatrolAgent()

clearGameboardPatrolAgent(world, placement): Entity

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:204

Remove patrol state from a placement or actor.

Parameters

world

World

placement

string | Entity

Returns

Entity


clearGameboardWorld()

clearGameboardWorld(world): void

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:601

Remove all gameboard tiles, placements, and board metadata from the world.

Parameters

world

World

Returns

void


coloredUnitAssetId()

coloredUnitAssetId(part, faction, style): string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:793

Builds a faction-colored unit part asset id.

Parameters

part

"unit" | "catapult" | "banner" | "bow" | "cannon" | "cart" | "cart_merchant" | "helmet" | "horse" | "projectile_arrow" | "shield" | "ship" | "spear" | "sword"

faction

"blue" | "green" | "red" | "yellow"

style

"accent" | "full"

Returns

string


combineSources()

combineSources(sources): AssetSource | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/source.ts:167

Compose sources into one first-match AssetSource: the first source to resolve a placement (or edge) wins. Returns the single source directly, or undefined for an empty list. Renderer-neutral, so it lives in the core alongside the AssetSource contract (a binding then registers the composite). Re-exported from declarative-hex-worlds/react-elements for back-compat.

Parameters

sources

readonly AssetSource[]

Returns

AssetSource | undefined


computeBoardBounds()

computeBoardBounds(tiles): BoardBounds

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:91

Compute the world-space bounds of a board from its tiles (their world positions at their elevation). An empty board yields a unit box centered at the origin so a binding never divides by zero.

Parameters

tiles

readonly GameboardTileSpec[]

Returns

BoardBounds


computeCameraFraming()

computeCameraFraming(bounds, state?): CameraFraming

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:151

Compute a renderer-neutral camera framing for a board's bounds + a requested view. The eye sits along the angle's direction at a distance chosen so the board fits (frame-board, with padding) or fills (fill-viewport) the view; the target is the board center. orthoHalfHeight sizes an orthographic box; fov/distance size a perspective one.

Parameters

bounds

BoardBounds

state?

CameraState = DEFAULT_CAMERA_STATE

Returns

CameraFraming


containsHex()

containsHex(shape, coordinates): boolean

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

Checks whether an axial coordinate is inside a supported board shape.

Parameters

shape

GameboardShape

coordinates

HexCoordinates

Returns

boolean


coordinatesForShape()

coordinatesForShape(shape): HexCoordinates[]

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

Lists all axial coordinates inside a supported board shape.

Parameters

shape

GameboardShape

Returns

HexCoordinates[]


createDefaultGameboardCoveragePackageChecks()

createDefaultGameboardCoveragePackageChecks(status?): GameboardCoveragePackageCheck[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:422

Builds the default release gate command rows without executing commands.

Parameters

status?

GameboardCoverageCheckStatus = 'not-run'

Returns

GameboardCoveragePackageCheck[]


createDefaultGameboardCoverageReferences()

createDefaultGameboardCoverageReferences(status?): GameboardCoverageReference[]

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:380

Builds the default local reference-pack status inputs without probing the filesystem. The CLI upgrades these statuses from skipped to available or missing during a workspace scan.

Parameters

status?

GameboardCoverageStatus = 'skipped'

Returns

GameboardCoverageReference[]


createGameboardActorNavigationProfile()

createGameboardActorNavigationProfile(world, actor, options?): GameboardNavigationProfile

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1109

Create a navigation profile that rejects tiles blocked for a specific actor.

Parameters

world

World

actor

string | Entity

options?

GameboardActorNavigationOptions = {}

Returns

GameboardNavigationProfile


createGameboardBlueprintPlan()

createGameboardBlueprintPlan(options?): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:275

Compile a high-level 2.5D board blueprint directly into a gameboard plan.

Parameters

options?

GameboardBlueprintOptions = {}

Returns

GameboardPlan


createGameboardBlueprintRecipe()

createGameboardBlueprintRecipe(options?): GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:268

Compile a high-level 2.5D board blueprint into a serializable recipe.

Parameters

options?

GameboardBlueprintOptions = {}

Returns

GameboardRecipe


createGameboardBlueprintScenario()

createGameboardBlueprintScenario(options?): GameboardScenario

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:293

Compile board intent plus spawn groups, actors, patrols, and quests into a scenario.

Parameters

options?

GameboardBlueprintScenarioOptions = {}

Returns

GameboardScenario


createGameboardBuilder()

createGameboardBuilder(options): GameboardBuilder

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:831

Create a fluent gameboard builder.

Parameters

options

GameboardPlanOptions

Returns

GameboardBuilder


createGameboardCoordinateSystem()

createGameboardCoordinateSystem(options?): GameboardCoordinateSystem

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

Creates a reusable coordinate-system facade for grid math, paths, and spawns.

Parameters

options?

GameboardCoordinateSystemOptions = {}

Returns

GameboardCoordinateSystem


createGameboardGrid()

createGameboardGrid(shape): KayKitGameboardGrid

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:178

Creates a Honeycomb grid for any supported gameboard shape.

Parameters

shape

GameboardShape

Returns

KayKitGameboardGrid


createGameboardInteractionHandlerPreset()

createGameboardInteractionHandlerPreset(preset, options?): readonly GameboardInteractionHandler[]

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:616

Expands a named handler preset into concrete interaction handlers.

Parameters

preset

"remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg"

options?

CreateGameboardInteractionHandlerPresetOptions = {}

Returns

readonly GameboardInteractionHandler[]


createGameboardInteropSnapshot()

createGameboardInteropSnapshot(plan, options?): GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:624

Create an interop snapshot from a generated board plan.

Parameters

plan

GameboardPlan

options?

GameboardInteropOptions = {}

Returns

GameboardInteropSnapshot


createGameboardInteropSnapshotIndex()

createGameboardInteropSnapshotIndex(snapshot): GameboardInteropSnapshotIndex

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:840

Create lookup indexes for an interop snapshot.

Parameters

snapshot

GameboardInteropSnapshot

Returns

GameboardInteropSnapshotIndex


createGameboardLayoutArchetypeRegistry()

createGameboardLayoutArchetypeRegistry(archetypes?, options?): GameboardLayoutArchetypeRegistry

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

Create an archetype registry from built-ins plus optional overrides.

Parameters

archetypes?

GameboardLayoutArchetypeRegistryInput | undefined

options?

CreateGameboardLayoutArchetypeRegistryOptions = {}

Returns

GameboardLayoutArchetypeRegistry


createGameboardLayoutArchetypeRegistryFromRecipe()

createGameboardLayoutArchetypeRegistryFromRecipe(recipe): Readonly<Record<string, GameboardLayoutArchetype>> | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:728

Creates the layout archetype registry declared by a recipe, when present.

Parameters

recipe

GameboardRecipe

Returns

Readonly<Record<string, GameboardLayoutArchetype>> | undefined


createGameboardLayoutArchetypeRegistryFromRecipeGeneration()

createGameboardLayoutArchetypeRegistryFromRecipeGeneration(generation): Readonly<Record<string, GameboardLayoutArchetype>> | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:735

Creates a layout archetype registry from recipe generation config.

Parameters

generation

GameboardRecipeGeneration | undefined

Returns

Readonly<Record<string, GameboardLayoutArchetype>> | undefined


createGameboardLayoutFillPlacements()

createGameboardLayoutFillPlacements(plan, options): SpawnGameboardPlacementOptions[]

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

Create placement spawn options by applying layout fill rules in order.

Parameters

plan

GameboardPlan

options

GameboardLayoutFillOptions

Returns

SpawnGameboardPlacementOptions[]


createGameboardLayoutFillRuleFromPiece()

createGameboardLayoutFillRuleFromPiece(piece, options?): GameboardLayoutFillRule

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:553

Convert one piece declaration into a layout fill rule.

Parameters

piece

GameboardPieceDeclaration

options?

GameboardPieceLayoutRuleOptions = {}

Returns

GameboardLayoutFillRule


createGameboardLayoutFillRuleFromPieces()

createGameboardLayoutFillRuleFromPieces(pieces, options?): GameboardLayoutFillRule

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:582

Convert a compatible collection of pieces into one pooled layout fill rule.

Parameters

pieces

readonly GameboardPieceDeclaration[]

options?

GameboardPieceCollectionLayoutRuleOptions = {}

Returns

GameboardLayoutFillRule


createGameboardLayoutFillRulesFromRegistry()

createGameboardLayoutFillRulesFromRegistry(registry, options?): GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:625

Create one fill rule for each selected piece in a registry.

Parameters

registry

GameboardPieceRegistry

options?

GameboardPieceRegistryFillRulesOptions = {}

Returns

GameboardLayoutFillRule[]


createGameboardLayoutPlacementOptionsFromPiece()

createGameboardLayoutPlacementOptionsFromPiece(piece, options?): GameboardLayoutPlacementOptions

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:642

Convert one piece declaration into direct layout placement options.

Parameters

piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions = {}

Returns

GameboardLayoutPlacementOptions


createGameboardLayoutPlacements()

createGameboardLayoutPlacements(plan, options): SpawnGameboardPlacementOptions[]

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

Create placement spawn options from selected layout sites.

Parameters

plan

GameboardPlan

options

GameboardLayoutPlacementOptions

Returns

SpawnGameboardPlacementOptions[]


createGameboardLayoutPlacementsFromPiece()

createGameboardLayoutPlacementsFromPiece(plan, piece, options?): SpawnGameboardPlacementOptions[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:668

Create placement spawn options for one piece on a plan.

Parameters

plan

GameboardPlan

piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions = {}

Returns

SpawnGameboardPlacementOptions[]


createGameboardMovementNavigation()

createGameboardMovementNavigation(world, placement, options?): GameboardNavigation

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:309

Create navigation for one movement agent, ignoring the agent's own placement.

Parameters

world

World

placement

string | Entity

options?

GameboardMovementOptions = {}

Returns

GameboardNavigation


createGameboardNavigation()

createGameboardNavigation(plan, profile?): GameboardNavigation

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:313

Create a reusable navigation facade for pathfinding, reachability, and tile occupancy queries.

Parameters

plan

GameboardPlan

profile?

GameboardNavigationProfile = {}

Returns

GameboardNavigation


createGameboardOccupancyIndex()

createGameboardOccupancyIndex(plan, profile?): GameboardOccupancyIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:279

Build an occupancy index for a plan under a navigation profile.

Parameters

plan

GameboardPlan

profile?

GameboardNavigationProfile = {}

Returns

GameboardOccupancyIndex


createGameboardPatrolSimulationScript()

createGameboardPatrolSimulationScript(options): GameboardPatrolSimulationScriptPlan

Defined in: packages/declarative-hex-worlds/src/simulation/engine.ts:204

Converts patrol routes into a complete simulation script.

Parameters

options

CreateGameboardPatrolSimulationScriptOptions

Returns

GameboardPatrolSimulationScriptPlan


createGameboardPatrolSimulationSteps()

createGameboardPatrolSimulationSteps(options): GameboardPatrolSimulationStepsPlan

Defined in: packages/declarative-hex-worlds/src/simulation/engine.ts:120

Converts planned patrol routes into executable command steps.

Parameters

options

CreateGameboardPatrolSimulationStepsOptions

Returns

GameboardPatrolSimulationStepsPlan


createGameboardPieceRegistry()

createGameboardPieceRegistry(declarations): GameboardPieceRegistry

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:430

Create a normalized piece registry and lookup indexes.

Parameters

declarations

readonly GameboardPieceDeclarationInput[]

Returns

GameboardPieceRegistry


createGameboardPieceRegistryFromCompatibilityReports()

createGameboardPieceRegistryFromCompatibilityReports(reports, options?): GameboardPieceRegistry

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:420

Create a piece registry from compatibility reports.

Parameters

reports

readonly ExternalAssetCompatibilityReport[]

options?

GameboardPieceCompatibilityBatchOptions = {}

Returns

GameboardPieceRegistry


createGameboardPieceRegistryFromRecipe()

createGameboardPieceRegistryFromRecipe(recipe): GameboardPieceRegistry | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:721

Creates the piece registry declared by a recipe, when any pieces are present.

Parameters

recipe

GameboardRecipe

Returns

GameboardPieceRegistry | undefined


createGameboardPieceRegistryFromRecipeGeneration()

createGameboardPieceRegistryFromRecipeGeneration(generation): GameboardPieceRegistry | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:744

Creates a piece registry from recipe generation config.

Parameters

generation

GameboardRecipeGeneration | undefined

Returns

GameboardPieceRegistry | undefined


createGameboardPieceSourceUrlMap()

createGameboardPieceSourceUrlMap(registry, options?): Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:724

Create an asset-id-to-source-URL map for every piece with resolvable source metadata.

Parameters

registry

GameboardPieceRegistry

options?

GameboardPieceSourceUrlOptions = {}

Returns

Readonly<Record<string, string>>


createGameboardPlacementAssetUrlResolver()

createGameboardPlacementAssetUrlResolver(options?): GameboardPlacementAssetUrlResolver

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:104

Creates a reusable placement-to-model URL resolver.

Parameters

options?

GameboardPlacementAssetUrlOptions = {}

Returns

GameboardPlacementAssetUrlResolver


createGameboardPlan()

createGameboardPlan(options, configure?): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:839

Create a complete gameboard plan, optionally configuring it through a builder callback before build.

Parameters

options

GameboardPlanOptions

configure?

(builder) => void

Returns

GameboardPlan


createGameboardPlanFromRecipe()

createGameboardPlanFromRecipe(recipe, overrides?, applyGeneration?): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:488

Compiles a recipe into a concrete gameboard plan.

Parameters

recipe

GameboardRecipe

overrides?

GameboardRecipePlanOptionsOverride = {}

applyGeneration?

RecipeGenerationApplier = ...

Returns

GameboardPlan


createGameboardPlanFromTiles()

createGameboardPlanFromTiles(options): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/terrain.ts:97

Create a complete plan from explicit tiles and custom placements, adding the derived terrain and connectivity placements used by renderers.

Parameters

options

GameboardPlanFromTilesOptions

Returns

GameboardPlan


createGameboardQuest()

createGameboardQuest(definition): GameboardQuestDefinition

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:174

Normalize a quest definition into a serializable copy.

Parameters

definition

GameboardQuestDefinition

Returns

GameboardQuestDefinition


createGameboardRecipe()

createGameboardRecipe(options, steps?, generation?): GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:389

Creates a cloned, schema-tagged gameboard recipe.

Parameters

options

GameboardPlanOptions

steps?

readonly GameboardRecipeStep[] = []

generation?

GameboardRecipeGeneration = {}

Returns

GameboardRecipe


createGameboardRecipeGenerationFillRules()

createGameboardRecipeGenerationFillRules(generation): GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:753

Creates all layout fill rules implied by recipe generation config.

Parameters

generation

GameboardRecipeGeneration | undefined

Returns

GameboardLayoutFillRule[]


createGameboardRuntime()

createGameboardRuntime(input): GameboardRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:671

Creates a runtime facade from an existing world, a serializable plan, or explicit runtime options.

Parameters

input

CreateGameboardRuntimeInput

Returns

GameboardRuntime


createGameboardRuntimeFromRecipe()

createGameboardRuntimeFromRecipe(recipe, overrides?): GameboardRecipeGameRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:680

Compiles a recipe into a live runtime while preserving recipe-local layout archetypes and piece registry helpers.

Parameters

recipe

GameboardRecipe

overrides?

GameboardRecipePlanOptionsOverride = {}

Returns

GameboardRecipeGameRuntime


createGameboardRuntimeFromScenario()

createGameboardRuntimeFromScenario(scenario, overrides?): GameboardScenarioGameRuntime

Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:701

Compiles a scenario into a live runtime while preserving actor/quest indexes, scenario interop helpers, and scenario-local piece source URL helpers.

Parameters

scenario

GameboardScenario

overrides?

GameboardRecipePlanOptionsOverride = {}

Returns

GameboardScenarioGameRuntime


createGameboardRuntimeInteropSnapshot()

createGameboardRuntimeInteropSnapshot(state, options?): GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:803

Create an interop snapshot from live runtime state.

Parameters

state

GameboardRuntimeInteropState

options?

GameboardRuntimeInteropOptions = {}

Returns

GameboardInteropSnapshot


createGameboardScenario()

createGameboardScenario(id, board, options?): GameboardScenario

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:334

Creates a cloned, schema-tagged gameboard scenario.

Parameters

id

string

board

GameboardRecipe

options?

CreateGameboardScenarioOptions = {}

Returns

GameboardScenario


createGameboardScenarioInteropSnapshot()

createGameboardScenarioInteropSnapshot(scenario, options?): GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:663

Create an interop snapshot from a scenario recipe, including optional actors, quests, spawn groups, and patrol routes.

Parameters

scenario

GameboardScenario

options?

GameboardScenarioInteropOptions = {}

Returns

GameboardInteropSnapshot


createGameboardScenarioSimulationReport()

createGameboardScenarioSimulationReport(result, expectations?): GameboardScenarioSimulationReport

Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:263

Creates a serializable report from an in-memory simulation result.

Parameters

result

GameboardScenarioSimulationResult

expectations?

GameboardScenarioSimulationExpectations

Returns

GameboardScenarioSimulationReport


createGameboardSimulationInteropSnapshot()

createGameboardSimulationInteropSnapshot(report, options?): GameboardInteropSnapshot

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:755

Create an interop snapshot from a completed scenario simulation report.

Parameters

report

GameboardScenarioSimulationReport

options?

GameboardSimulationInteropOptions = {}

Returns

GameboardInteropSnapshot


createGameboardWorld()

createGameboardWorld(plan?): World

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:398

Create a Koota world ready for gameboard systems, optionally preloaded with a complete board plan.

Parameters

plan?

GameboardPlan

Returns

World


createGameboardWorldFromBlueprint()

createGameboardWorldFromBlueprint(options?): GameboardScenarioRuntime

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:300

Compile a blueprint scenario and instantiate it into a ready Koota runtime.

Parameters

options?

GameboardBlueprintScenarioOptions = {}

Returns

GameboardScenarioRuntime


createGameboardWorldFromScenario()

createGameboardWorldFromScenario(scenario, overrides?): GameboardScenarioRuntime

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:642

Compiles a scenario and spawns its board, actors, agents, and quests into a Koota world.

Parameters

scenario

GameboardScenario

overrides?

GameboardRecipePlanOptionsOverride = {}

Returns

GameboardScenarioRuntime


createGltfPackSource()

createGltfPackSource(options?): AssetSource

Defined in: packages/declarative-hex-worlds/src/asset-source/gltf-pack.ts:46

Create a gltf-pack AssetSource. Resolves a placement to a { type: 'gltf' } request via the existing URL resolver + placement transform, or undefined when no URL resolves (letting the caller fall through).

Parameters

options?

GameboardPlacementAssetUrlOptions = {}

Returns

AssetSource


createHarborBoard()

createHarborBoard(options?): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:851

Create the built-in medieval harbor sample board used by examples and tests.

Parameters

options?

HarborBoardOptions = {}

Returns

GameboardPlan


createHexagonGameboardGrid()

createHexagonGameboardGrid(options): KayKitGameboardGrid

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:173

Creates a hexagonal Honeycomb spiral grid using KayKit hex dimensions.

Parameters

options

HexagonGridOptions

Returns

KayKitGameboardGrid


createHexTileRegistry()

createHexTileRegistry(declarations): HexTileRegistry

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:264

Creates a lookup registry and reports duplicate id or asset-id warnings.

Parameters

declarations

readonly HexTileDeclarationInput[]

Returns

HexTileRegistry


createHexTileRegistryFromManifest()

createHexTileRegistryFromManifest(manifest): HexTileRegistry

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:290

Creates a tile registry from all tile assets in a medieval hexagon manifest.

Parameters

manifest

MedievalHexagonManifest

Returns

HexTileRegistry


createInMemoryGameboardEcs()

createInMemoryGameboardEcs(): InMemoryGameboardEcs

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:925

Create a small in-memory ECS adapter for examples and integration tests.

Returns

InMemoryGameboardEcs


createMarkTargetActorInteractedHandler()

createMarkTargetActorInteractedHandler(options?): GameboardInteractionHandler

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:570

Creates a handler that marks the target actor as interacted in metadata.

Parameters

options?

MarkTargetActorInteractedHandlerOptions = {}

Returns

GameboardInteractionHandler


createMedievalShowcaseBlueprintRecipe()

createMedievalShowcaseBlueprintRecipe(options?): GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:321

Create a comprehensive showcase recipe with mountains, towns, roads, harbors, biomes, and transitions.

Parameters

options?

GameboardBlueprintOptions = {}

Returns

GameboardRecipe


createRectangleGameboardGrid()

createRectangleGameboardGrid(options): Grid<Hex>

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:166

Creates a rectangular Honeycomb grid using KayKit hex dimensions.

Parameters

options

RectangleGridOptions

Returns

Grid<Hex>


createRemoveTargetActorHandler()

createRemoveTargetActorHandler(options?): GameboardInteractionHandler

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:480

Creates a handler that removes the target actor for accepted command kinds.

Parameters

options?

RemoveTargetActorHandlerOptions = {}

Returns

GameboardInteractionHandler


createRemoveTargetPlacementHandler()

createRemoveTargetPlacementHandler(options?): GameboardInteractionHandler

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:528

Creates a handler that removes a target placement for accepted command kinds.

Parameters

options?

RemoveTargetPlacementHandlerOptions = {}

Returns

GameboardInteractionHandler


createSeededGameboardDensityFillRules()

createSeededGameboardDensityFillRules(density, context?): GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:388

Expands built-in density preset options into concrete layout fill rules.

Parameters

density

SeededGameboardLayoutDensityOptions | undefined

context?

SeededGameboardDensityContext = {}

Returns

GameboardLayoutFillRule[]


createSeededGameboardPieceFillRules()

createSeededGameboardPieceFillRules(registry, fills): GameboardLayoutFillRule[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:462

Expands registered piece fill options into concrete layout fill rules.

Parameters

registry

GameboardPieceRegistry | undefined

fills

readonly SeededGameboardPieceFillOptions[] | undefined

Returns

GameboardLayoutFillRule[]


createSeededGameboardPlan()

createSeededGameboardPlan(options?): GameboardPlan

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

Creates a deterministic generated board with terrain, roads, rivers, structures, and fills.

Parameters

options?

SeededGameboardOptions = {}

Returns

GameboardPlan


createSeededGameboardWorld()

createSeededGameboardWorld(options?): World

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:383

Creates a Koota world from a deterministic generated board.

Parameters

options?

SeededGameboardOptions = {}

Returns

World


createSourceFromSpec()

createSourceFromSpec(spec, options?): AssetSource | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/spec-source.ts:89

Create a live AssetSource from a validated AssetSourceSpec. Composes a tileset source (from tileset-role assets) and a gltf-pack source (from model + glb/gltf tile assets) first-match. Sprite-role assets are carried for a future sprite source; today they resolve through the gltf/tileset arms only if they match, else fall through. Returns undefined only when the spec yields no resolvable source.

Parameters

spec
assetRoot

string = ...

Root directory the asset paths are relative to (e.g. "public/assets").

assets

({ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; })[] = ...

Ordered asset records.

name

string = ...

Human-readable source name (e.g. "kaykit-free", "my-tileset-pack").

specVersion

1 = ...

Spec format version (this schema is v1).

options?

CreateSourceFromSpecOptions = {}

Returns

AssetSource | undefined


createSpawnLocations()

createSpawnLocations(options?): SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:234

Selects deterministic spawn coordinates and projects them to world positions.

Parameters

options?

SpawnLocationOptions & object = ...

Returns

SpawnLocation[]


createTilesetSource()

createTilesetSource(options): AssetSource

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:192

Create a tileset AssetSource over a validated manifest. resolve maps a placement's biome to a fill cell (by hash of tileKey, or the first variant); resolveEdge maps an edge mask to a transition cell via the sheet's edgeCells. Both return undefined when the biome/sheet/mask isn't in the manifest.

Parameters

options

TilesetSourceOptions

Returns

AssetSource


declareGameboardPiece()

declareGameboardPiece(input): GameboardPieceDeclaration

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:345

Normalize a reusable gameboard piece declaration.

Parameters

input

GameboardPieceDeclarationInput

Returns

GameboardPieceDeclaration


declareGameboardPieceFromCompatibility()

declareGameboardPieceFromCompatibility(report, options?): GameboardPieceDeclaration

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:371

Declare one piece from an external asset compatibility report.

Parameters

report

ExternalAssetCompatibilityReport

options?

GameboardPieceCompatibilityDeclarationOptions = {}

Returns

GameboardPieceDeclaration


declareGameboardPiecesFromCompatibilityReports()

declareGameboardPiecesFromCompatibilityReports(reports, options?): GameboardPieceDeclaration[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:403

Declare pieces from multiple compatibility reports.

Parameters

reports

readonly ExternalAssetCompatibilityReport[]

options?

GameboardPieceCompatibilityBatchOptions = {}

Returns

GameboardPieceDeclaration[]


declareHexTile()

declareHexTile(input): HexTileDeclaration

Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:230

Normalizes a tile declaration input using KayKit defaults and inferred roles.

Parameters

input

HexTileDeclarationInput

Returns

HexTileDeclaration


describeKayKitAssetTreatment()

describeKayKitAssetTreatment(assetId): KayKitAssetPublicTreatment | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:820

Returns the public treatment contract for one asset id, if the id is KayKit-owned.

Parameters

assetId

string

Returns

KayKitAssetPublicTreatment | undefined


describeKayKitGuideAssetCoverage()

describeKayKitGuideAssetCoverage(assetId): KayKitGuideAssetCoverage | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1007

Returns guide-page, API, docs, and visual coverage for one asset id.

Parameters

assetId

string

Returns

KayKitGuideAssetCoverage | undefined


describeKayKitGuidePublicApiCoverage()

describeKayKitGuidePublicApiCoverage(publicApi): KayKitGuidePublicApiCoverage | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:970

Returns guide-page and asset coverage for one public API surface.

Parameters

publicApi

string

Returns

KayKitGuidePublicApiCoverage | undefined


describeKayKitGuideRoleCoverage()

describeKayKitGuideRoleCoverage(role): KayKitGuideRoleCoverage | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:988

Returns guide-page, API, and asset coverage for one public asset role.

Parameters

role

string

Returns

KayKitGuideRoleCoverage | undefined


describeKayKitGuideScenario()

describeKayKitGuideScenario(id): KayKitGuideScenario | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:827

Returns the decomposed guide-page scenario contract for one scenario id.

Parameters

id

string

Returns

KayKitGuideScenario | undefined


describeKayKitGuideScenarioCoverage()

describeKayKitGuideScenarioCoverage(id): KayKitGuideScenarioCoverage | undefined

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:945

Returns the scenario, page counts, and public treatment join for one guide page scenario.

Parameters

id

string

Returns

KayKitGuideScenarioCoverage | undefined


dispatchGameboardActorTargetCommand()

dispatchGameboardActorTargetCommand(world, options, commandOptions?): DispatchGameboardActorTargetCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:77

Plans a command against an actor target, then dispatches it when executable.

Parameters

world

World

options

GameboardActorTargetCommandOptions

commandOptions?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardActorTargetCommandResult


dispatchGameboardInteractionCommand()

dispatchGameboardInteractionCommand(world, commandOrTarget, options?): DispatchGameboardInteractionCommandResult

Defined in: packages/declarative-hex-worlds/src/systems/command-dispatch.ts:60

Executes one interaction command and converts the execution into system events and serializable records.

Parameters

world

World

commandOrTarget

GameboardInteractionCommandInput

options?

DispatchGameboardInteractionCommandOptions = {}

Returns

DispatchGameboardInteractionCommandResult


edgeBetween()

edgeBetween(from, to): HexEdgeIndex | undefined

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

Returns the edge index from one coordinate to an adjacent coordinate.

Parameters

from

HexCoordinates

to

HexCoordinates

Returns

HexEdgeIndex | undefined


edgeMask()

edgeMask(edges): number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:171

Converts an edge, edge list, or bit mask into a normalized six-bit edge mask.

Parameters

edges

HexEdgeInput

Returns

number


evaluateGameboardQuestObjective()

evaluateGameboardQuestObjective(world, objective, step?): GameboardQuestObjectiveEvaluation

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:244

Evaluate one quest objective without mutating quest state.

Parameters

world

World

objective

GameboardQuestObjective

step?

number = 0

Returns

GameboardQuestObjectiveEvaluation


evaluateGameboardScenarioSimulationExpectations()

evaluateGameboardScenarioSimulationExpectations(report, expectations?): GameboardScenarioSimulationExpectationFailure[]

Defined in: packages/declarative-hex-worlds/src/simulation/assertions.ts:42

Evaluates report expectations and returns all failures without throwing.

Parameters

report

GameboardScenarioSimulationReport

expectations?

GameboardScenarioSimulationExpectations | undefined

Returns

GameboardScenarioSimulationExpectationFailure[]


executeGameboardInteractionCommand()

executeGameboardInteractionCommand(world, commandOrTarget, options?): GameboardInteractionCommandExecution

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:426

Executes a command by requesting movement for move commands or dispatching non-movement commands to game-supplied handlers.

Parameters

world

World

commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandExecutionOptions = {}

Returns

GameboardInteractionCommandExecution


externalAssetSpawnOptions()

externalAssetSpawnOptions(input): SpawnGameboardPlacementOptions

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:263

Converts an external compatibility report into spawnGameboardPlacement options, preserving local-only metadata and marking the placement as EXTRA.

Parameters

input

ExternalAssetSpawnOptionsInput

Returns

SpawnGameboardPlacementOptions


factionBuildingAssetId()

factionBuildingAssetId(kind, faction): string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:788

Builds a faction-colored building asset id.

Parameters

kind

"tent" | "archeryrange" | "barracks" | "blacksmith" | "castle" | "church" | "docks" | "home_A" | "home_B" | "lumbermill" | "market" | "mine" | "shipyard" | "shrine" | "stables" | "tavern" | "townhall" | "tower_A" | "tower_B" | "tower_base" | "tower_cannon" | "tower_catapult" | "watchtower" | "watermill" | "well" | "windmill" | "workshop"

faction

"blue" | "green" | "red" | "yellow"

Returns

string


findGameboardActor()

findGameboardActor(world, actorOrPlacement): GameboardActorSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:872

Read one actor snapshot by entity reference, placement id, or actor id.

Parameters

world

World

actorOrPlacement

string | Entity

Returns

GameboardActorSnapshot | undefined


findGameboardActorEntity()

findGameboardActorEntity(world, actorOrPlacement): Entity | undefined

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:853

Find an actor entity by entity reference, placement id, or actor id.

Parameters

world

World

actorOrPlacement

string | Entity

Returns

Entity | undefined


findGameboardMovementPath()

findGameboardMovementPath(world, placement, destination, options?): GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:323

Find a movement path from a placement to a destination.

Parameters

world

World

placement

string | Entity

destination

string | HexCoordinates

options?

GameboardMovementOptions = {}

Returns

GameboardNavigationPathResult


findGameboardPath()

findGameboardPath(plan, start, goal, profile?, tilesByKey?, occupancy?): GameboardNavigationPathResult

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:355

Find the lowest-cost path between two tiles under a navigation profile.

Parameters

plan

GameboardPlan

start

string | HexCoordinates

goal

string | HexCoordinates

profile?

GameboardNavigationProfile = {}

tilesByKey?

ReadonlyMap<string, GameboardTileSpec> = ...

occupancy?

GameboardOccupancyIndex = ...

Returns

GameboardNavigationPathResult


findGameboardQuest()

findGameboardQuest(world, quest): GameboardQuestSnapshot | undefined

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:226

Find a quest snapshot by entity reference or quest id.

Parameters

world

World

quest

string | Entity

Returns

GameboardQuestSnapshot | undefined


findGameboardQuestEntity()

findGameboardQuestEntity(world, quest): Entity | undefined

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:216

Find a quest entity by entity reference or quest id.

Parameters

world

World

quest

string | Entity

Returns

Entity | undefined


findHexPath()

findHexPath(start, goal, options?): HexPathResult

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

Finds a weighted shortest path across axial neighbors.

This is A*: costByKey is the known g-score from start, the heap priority is g + hexDistance(node, goal), and closed lets older duplicate heap entries fall out cheaply after a better route to the same key was queued. The hex-distance heuristic is admissible for the default unit-cost graph and custom costs >= 1. Callers that provide cheaper or negative step costs may still get a path, but they are opting out of the shortest-path guarantee.

Parameters

start

HexCoordinates

goal

HexCoordinates

options?

HexPathOptions = {}

Returns

HexPathResult


findPlacementEntity()

findPlacementEntity(world, placement): Entity | undefined

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:631

Find a placement entity by entity reference or placement id. O(1) via per-world index maintained by spawn / remove helpers.

Parameters

world

World

placement

string | Entity

Returns

Entity | undefined


findTileEntity()

findTileEntity(world, coordinates): Entity | undefined

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:619

Find a tile entity by axial coordinates or tile key. O(1) via per-world index maintained by spawnGameboardPlan / clearGameboardWorld.

Parameters

world

World

coordinates

string | HexCoordinates

Returns

Entity | undefined


flagAssetId()

flagAssetId(faction): "anchor" | "barrel" | "boat" | "boatrack" | "bucket_arrows" | "bucket_empty" | "bucket_water" | "cannonball_pallet" | "crate_A_big" | "crate_A_small" | "crate_B_big" | "crate_B_small" | "crate_long_A" | "crate_long_B" | "crate_long_C" | "crate_long_empty" | "crate_open" | "flag_blue" | "flag_green" | "flag_red" | "flag_yellow" | "haybale" | "icon_combat" | "icon_range" | "ladder" | "pallet" | "resource_lumber" | "resource_stone" | "sack" | "target" | "tent" | "trough" | "trough_long" | "weaponrack" | "wheelbarrow"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1275

Builds a faction flag prop asset id.

Parameters

faction

"blue" | "green" | "red" | "yellow"

Returns

"anchor" | "barrel" | "boat" | "boatrack" | "bucket_arrows" | "bucket_empty" | "bucket_water" | "cannonball_pallet" | "crate_A_big" | "crate_A_small" | "crate_B_big" | "crate_B_small" | "crate_long_A" | "crate_long_B" | "crate_long_C" | "crate_long_empty" | "crate_open" | "flag_blue" | "flag_green" | "flag_red" | "flag_yellow" | "haybale" | "icon_combat" | "icon_range" | "ladder" | "pallet" | "resource_lumber" | "resource_stone" | "sack" | "target" | "tent" | "trough" | "trough_long" | "weaponrack" | "wheelbarrow"


frameBoard()

frameBoard(tiles, state?): CameraFraming

Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:184

One-shot framing straight from a board's tiles + a view state — the common path for a binding's useCamera. Equivalent to computeCameraFraming(computeBoardBounds(tiles), state).

Parameters

tiles

readonly GameboardTileSpec[]

state?

CameraState = DEFAULT_CAMERA_STATE

Returns

CameraFraming


gameboardActorBlocksMovement()

gameboardActorBlocksMovement(actor, placement?, profile?): boolean

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1380

Evaluate whether an actor/placement combination blocks movement under a collision profile.

Parameters

actor

{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: Record<string, GameboardActorMetadataValue>; tags: string[]; team: string | undefined; } | undefined

Type Literal

{ actorId: string; blocksMovement: boolean; faction: string | undefined; hostile: boolean; interactive: boolean; kind: GameboardActorKind; metadata: Record<string, GameboardActorMetadataValue>; tags: string[]; team: string | undefined; }

actorId

string = ''

Stable gameplay actor id.

blocksMovement

boolean = false

Whether this actor blocks movement.

faction

string | undefined = ...

Optional faction identifier.

hostile

boolean = false

Whether this actor is generally hostile.

interactive

boolean = false

Whether this actor should be treated as an interaction target.

kind

GameboardActorKind = ...

Actor role used by collision, targeting, commands, and fixtures.

metadata

Record<string, GameboardActorMetadataValue> = ...

Serializable actor metadata.

tags

string[] = ...

Free-form actor tags.

team

string | undefined = ...

Optional team identifier.


undefined

placement?

Pick<GameboardPlacementSpec, "kind" | "layer">

profile?

GameboardActorCollisionProfile = {}

Returns

boolean


gameboardAssetUrl()

gameboardAssetUrl(asset): string

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:96

Convenience wrapper: returns the URL of asset under the resolved bootstrap asset root. Equivalent to joinUrl(resolveGameboardAssetRoot(), rewriteToBootstrapPath(asset)).

Parameters

asset

MedievalHexagonAsset

Returns

string


gameboardPlacementBlocksOccupancy()

gameboardPlacementBlocksOccupancy(placement, options?): boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:67

Checks whether a placement should block another placement from occupying the same tile.

Parameters

placement

GameboardPlacementOccupancyLike

options?

GameboardPlacementOccupancyOptions = {}

Returns

boolean


gameboardPlacementFootprintKeys()

gameboardPlacementFootprintKeys(placement, options?): string[]

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:43

Returns every tile key occupied by a placement footprint.

Parameters

placement

Pick<GameboardPlacementSpec, "tileKey" | "metadata">

options?

Pick<GameboardPlacementOccupancyOptions, "includeLayoutFootprint"> = {}

Returns

string[]


gameboardPlacementOccupancyGroup()

gameboardPlacementOccupancyGroup(placement): string

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:83

Returns the occupancy group id used to collapse multi-placement composites.

Parameters

placement

Pick<GameboardPlacementOccupancyLike, "id" | "metadata">

Returns

string


gameboardPlacementOccupiesTile()

gameboardPlacementOccupiesTile(placement, tileKey, options?): boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:58

Checks whether a placement footprint includes a tile key.

Parameters

placement

Pick<GameboardPlacementSpec, "tileKey" | "metadata">

tileKey

string

options?

Pick<GameboardPlacementOccupancyOptions, "includeLayoutFootprint"> = {}

Returns

boolean


gameboardPlanIndex()

gameboardPlanIndex(plan): GameboardPlanIndex

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:246

Return memoized indexes for a GameboardPlan, building them lazily the first time and caching per-plan thereafter (PRD B4).

Hot-path callers should prefer this over inlining new Map(plan.tiles.map(...)) — that rebuild cost shows up under profiling on every render of large boards.

Parameters

plan

GameboardPlan

Returns

GameboardPlanIndex


getGameboardAssetRootOverride()

getGameboardAssetRootOverride(): string | undefined

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:65

Returns the currently configured process-wide asset root override, if any.

Returns

string | undefined


getPlacementAsset()

getPlacementAsset(placement, manifest): MedievalHexagonAsset | undefined

Defined in: packages/declarative-hex-worlds/src/gameboard/assets.ts:45

Resolve a placement's asset from a manifest.

Parameters

placement

Pick<GameboardPlacementSpec, "assetId">

manifest

MedievalHexagonManifest

Returns

MedievalHexagonAsset | undefined


guessGameplayCategory()

guessGameplayCategory(path): "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter" | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:170

Guess a model/sprite asset's SUGGESTED gameplay category from its filename, or undefined when no keyword matches (an uncategorized model). A default the dev accepts or overrides — never authoritative.

Substring (not token) match is deliberate: asset packs favour compound names where the keyword is fused into a word — watchtower (→ structure via tower), treehouse, crossbowman. Requiring a whole-token match would miss those. List order breaks ties when a name carries two keywords (skeleton_warrior → enemy, checked before pc). The result is only ever a SUGGESTION the developer confirms or overrides, so an occasional loose hit costs nothing — it's one click to correct in the wizard/web flow.

Parameters

path

string

Returns

"npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter" | undefined


guessTileBiome()

guessTileBiome(path): string

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:115

Guess a tile's biome from its filename (e.g. hex_grass_Agrass). Falls back to 'unknown' when no keyword matches — the CLI surfaces these for the author to fix.

Parameters

path

string

Returns

string


hasKayKitAssetTreatment()

hasKayKitAssetTreatment(assetId): boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1244

Returns whether an asset id has an explicit public API treatment.

Parameters

assetId

string

Returns

boolean


hexDistance()

hexDistance(left, right): number

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

Computes axial hex distance between two coordinates.

Parameters

left

HexCoordinates

HexCoordinates

Returns

number


hexKey()

hexKey(coordinates): string

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

Converts axial coordinates into a stable string key.

Parameters

coordinates

HexCoordinates

Returns

string


hexLine()

hexLine(start, end): HexCoordinates[]

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

Returns a rounded axial line between two coordinates, inclusive.

Parameters

start

HexCoordinates

end

HexCoordinates

Returns

HexCoordinates[]


hexRange()

hexRange(center, radius): HexCoordinates[]

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

Returns all coordinates within a radius of a center.

Parameters

center

HexCoordinates

radius

number

Returns

HexCoordinates[]


hexRing()

hexRing(center, radius): HexCoordinates[]

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

Returns coordinates exactly one radius away from a center.

Parameters

center

HexCoordinates

radius

number

Returns

HexCoordinates[]


indexGameboardInteropSnapshot()

indexGameboardInteropSnapshot(snapshot): ReadonlyMap<string, GameboardInteropEntity>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:831

Return only the entity index for an interop snapshot.

Parameters

snapshot

GameboardInteropSnapshot

Returns

ReadonlyMap<string, GameboardInteropEntity>


indexTextureBindings()

indexTextureBindings(bindings): TextureBindingIndex

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:33

Build a lookup index from a flat list of texture bindings (grouped by assetId).

Parameters

bindings

readonly TextureBinding[]

Returns

TextureBindingIndex


inferTilesetGrid()

inferTilesetGrid(dimensions, cols, rows): object

Defined in: packages/declarative-hex-worlds/src/asset-source/png-dimensions.ts:61

Infer a tileset grid from the atlas dimensions + a known column/row count. The common case: the author knows the sheet is cols × rows cells (the CLI takes --cols/--rows), and the cell size is the exact integer division of the atlas. Throws if the dimensions don't divide evenly — a mismatch means the cols/rows are wrong and the emitted grid would mis-slice every cell.

Parameters

dimensions

PngDimensions

cols

number

rows

number

Returns

object

cellHeight

cellHeight: number

cellWidth

cellWidth: number

cols

cols: number

rows

rows: number


inspectGameboardActorCollision()

inspectGameboardActorCollision(world, actor, target, profile?): GameboardActorCollisionReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1057

Inspect whether an actor can enter a target tile under a collision profile.

Parameters

world

World

actor

string | Entity | undefined

target

string | HexCoordinates

profile?

GameboardActorCollisionProfile = {}

Returns

GameboardActorCollisionReport


inspectGameboardActorTargets()

inspectGameboardActorTargets(world, options): GameboardActorTargetingReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:961

Select candidate target actors for a source actor and evaluate reachability using actor-aware navigation.

Parameters

world

World

options

GameboardActorTargetingOptions

Returns

GameboardActorTargetingReport


inspectGameboardBlueprint()

inspectGameboardBlueprint(options?): GameboardBlueprintInspection

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:282

Compile, build, and summarize a high-level 2.5D board blueprint.

Parameters

options?

GameboardBlueprintOptions = {}

Returns

GameboardBlueprintInspection


inspectGameboardBlueprintScenario()

inspectGameboardBlueprintScenario(options?, config?): GameboardBlueprintScenarioInspection

Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:307

Inspect both generated board intent and playable scenario wiring.

Parameters

options?

GameboardBlueprintScenarioOptions = {}

config?

GameboardScenarioValidationConfig = {}

Returns

GameboardBlueprintScenarioInspection


inspectGameboardInteractionTarget()

inspectGameboardInteractionTarget(world, target, options?): GameboardInteractionTargetReport

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1150

Resolve a target input into an interaction target report.

Parameters

world

World

target

GameboardInteractionTargetInput

options?

GameboardInteractionTargetOptions = {}

Returns

GameboardInteractionTargetReport


inspectGameboardLayoutSites()

inspectGameboardLayoutSites(plan, options?): GameboardLayoutSiteInspection

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

Inspect candidate and rejected layout sites without creating placements.

Parameters

plan

GameboardPlan

options?

InspectGameboardLayoutSitesOptions = {}

Returns

GameboardLayoutSiteInspection


inspectGameboardNeighborhood()

inspectGameboardNeighborhood(world, center, options?): GameboardNeighborhoodInspection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1230

Inspect a radius of tiles around a center and aggregate actor/tile summaries.

Parameters

world

World

center

GameboardNeighborhoodCenter

options?

GameboardNeighborhoodInspectionOptions = {}

Returns

GameboardNeighborhoodInspection


inspectGameboardPiecePlacement()

inspectGameboardPiecePlacement(plan, piece, options?): GameboardPiecePlacementInspection

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:679

Inspect candidate sites and generated placements for one piece.

Parameters

plan

GameboardPlan

piece

GameboardPieceDeclaration

options?

GameboardPiecePlacementOptions = {}

Returns

GameboardPiecePlacementInspection


inspectGameboardPlacementOccupancy()

inspectGameboardPlacementOccupancy(world, options): GameboardPlacementOccupancyInspection

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:727

Inspect a proposed placement footprint without mutating the world.

Parameters

world

World

options

InspectGameboardPlacementOccupancyOptions

Returns

GameboardPlacementOccupancyInspection


inspectGameboardRecipe()

inspectGameboardRecipe(recipe, config?): GameboardRecipeValidationResult

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:499

Compiles and validates a recipe, returning errors instead of throwing.

Parameters

recipe

GameboardRecipe

config?

GameboardRecipeValidationConfig = {}

Returns

GameboardRecipeValidationResult


inspectGameboardScenario()

inspectGameboardScenario(scenario, config?): GameboardScenarioValidationResult

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:361

Compiles and validates a scenario, returning errors instead of throwing.

Parameters

scenario

GameboardScenario

config?

GameboardScenarioValidationConfig = {}

Returns

GameboardScenarioValidationResult


inspectGameboardScenarioSimulationScript()

inspectGameboardScenarioSimulationScript(script, config?): GameboardScenarioSimulationScriptValidationResult

Defined in: packages/declarative-hex-worlds/src/simulation/script-validators.ts:52

Validates a simulation script against optional scenario or compiled plan context without executing it.

Parameters

script

GameboardScenarioSimulationScript

config?

GameboardScenarioSimulationScriptValidationConfig = {}

Returns

GameboardScenarioSimulationScriptValidationResult


inspectGameboardTile()

inspectGameboardTile(world, coordinates, options?): GameboardTileInspection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1186

Inspect one tile from an actor/gameplay perspective.

Parameters

world

World

coordinates

string | HexCoordinates

options?

GameboardTileInspectionOptions = {}

Returns

GameboardTileInspection


inspectSeededGameboardPieceFills()

inspectSeededGameboardPieceFills(plan, registry, fills, options?): SeededGameboardPieceFillInspection

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:503

Dry-runs seeded piece fill selection, scoring, and placement for a plan.

Parameters

plan

GameboardPlan

registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

options?

InspectSeededGameboardPieceFillsOptions = {}

Returns

SeededGameboardPieceFillInspection


inspectSeededGameboardPieceFillSelections()

inspectSeededGameboardPieceFillSelections(registry, fills): SeededGameboardPieceFillSelectionInspection[]

Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:528

Inspects which registered pieces each seeded piece-fill option selects.

Parameters

registry

GameboardPieceRegistry

fills

readonly SeededGameboardPieceFillOptions[]

Returns

SeededGameboardPieceFillSelectionInspection[]


isCoverableCoastMask()

isCoverableCoastMask(edges): boolean

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:260

True if mask is coverable by a coast tile — i.e. it is 0 (no coast) or a rotation of some COAST_VARIANT canonical mask (a CONTIGUOUS run of 1-5 water edges). Non-contiguous masks (e.g. 0b010101 from edges [0,2,4]) have no coast tile: a single hex tile can only depict one unbroken coastline arc.

Parameters

edges

HexEdgeInput

Returns

boolean


isFaction()

isFaction(value): value is "blue" | "green" | "red" | "yellow"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1294

Type guard for supported faction ids.

Parameters

value

string

Returns

value is "blue" | "green" | "red" | "yellow"


isGameboardInteractionHandlerPreset()

isGameboardInteractionHandlerPreset(value): value is "remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg"

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:639

Runtime guard for handler preset ids.

Parameters

value

unknown

Returns

value is "remove-target-actor" | "remove-target-placement" | "mark-target-interacted" | "default-rpg"


isKnownExtraAssetId()

isKnownExtraAssetId(assetId): boolean

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1270

Checks whether an asset id belongs to known local-only EXTRA content.

Parameters

assetId

string

Returns

boolean


isTextureSet()

isTextureSet(value): value is "default" | "fall" | "summer" | "winter"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1299

Type guard for supported KayKit texture set ids.

Parameters

value

string

Returns

value is "default" | "fall" | "summer" | "winter"


isTransitionFamily()

isTransitionFamily(value): value is "road" | "river" | "coast"

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:133

True if value names a known transition family. Uses Object.hasOwn (not in) so inherited Object.prototype keys (constructor, toString, …) don't spuriously match — a selectTransitionVariant/resolveEdge miss must fall through, and matching an inherited key would index the table with a non-array.

Parameters

value

string

Returns

value is "road" | "river" | "coast"


isUnitStyle()

isUnitStyle(value): value is "neutral" | "accent" | "full"

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1304

Type guard for supported colored unit styles.

Parameters

value

string

Returns

value is "neutral" | "accent" | "full"


linkAdjacentTiles()

linkAdjacentTiles(tiles): void

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:586

Add directional AdjacentTo relations for every neighboring tile pair in an already constructed tile index.

Parameters

tiles

ReadonlyMap<string, Entity>

Returns

void


listClassifiersInWorld()

listClassifiersInWorld(world): readonly ClassifierTag[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers-runtime.ts:34

Distinct classifier tags present across all placements in world.

Parameters

world

World

Returns

readonly ClassifierTag[]


listCoastGuidePermutations()

listCoastGuidePermutations(options?): GuideTilePermutation[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:388

Lists every requested coast guide variant/rotation/waterless permutation.

Parameters

options?

GuidePermutationOptions = {}

Returns

GuideTilePermutation[]


listGuideTilePermutations()

listGuideTilePermutations(): GuideTilePermutation[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:407

Lists the full guide permutation matrix used by visual coverage tests.

Returns

GuideTilePermutation[]


listKayKitAssetPublicTreatments()

listKayKitAssetPublicTreatments(): KayKitAssetPublicTreatment[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:810

Lists the public treatment contract for every FREE and local EXTRA KayKit asset id.

Returns

KayKitAssetPublicTreatment[]


listKayKitGuideAssetCoverages()

listKayKitGuideAssetCoverages(): KayKitGuideAssetCoverage[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:993

Lists every public asset id and the guide pages/APIs/docs/visuals that exercise it.

Returns

KayKitGuideAssetCoverage[]


listKayKitGuidePublicApiCoverages()

listKayKitGuidePublicApiCoverages(): KayKitGuidePublicApiCoverage[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:959

Lists public API surfaces and the guide pages/assets that intentionally exercise them.

Returns

KayKitGuidePublicApiCoverage[]


listKayKitGuideRoleCoverages()

listKayKitGuideRoleCoverages(): KayKitGuideRoleCoverage[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:977

Lists public asset roles and the guide pages/assets/APIs that intentionally exercise them.

Returns

KayKitGuideRoleCoverage[]


listKayKitGuideScenarioAssetRenderGroups()

listKayKitGuideScenarioAssetRenderGroups(options?): KayKitGuideScenarioAssetRenderGroup[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:914

Groups renderer-ready guide asset requests by extracted guide scenario.

Parameters

options?

KayKitGuideScenarioAssetRenderRequestOptions = {}

Returns

KayKitGuideScenarioAssetRenderGroup[]


listKayKitGuideScenarioAssetRenderRequests()

listKayKitGuideScenarioAssetRenderRequests(options?): KayKitGuideScenarioAssetRenderRequest[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:904

Lists renderer-ready guide asset requests with optional URL resolution.

Parameters

options?

KayKitGuideScenarioAssetRenderRequestOptions = {}

Returns

KayKitGuideScenarioAssetRenderRequest[]


listKayKitGuideScenarioAssetUsages()

listKayKitGuideScenarioAssetUsages(options?): KayKitGuideScenarioAssetUsage[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:843

Lists page-level guide asset occurrences as renderer-ready public treatment records.

Parameters

options?

KayKitGuideScenarioAssetUsageOptions = {}

Returns

KayKitGuideScenarioAssetUsage[]


listKayKitGuideScenarioAssetUsagesForScenario()

listKayKitGuideScenarioAssetUsagesForScenario(id, options?): KayKitGuideScenarioAssetUsage[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:896

Lists renderer-ready guide asset occurrences for one scenario id.

Parameters

id

string

options?

Omit<KayKitGuideScenarioAssetUsageOptions, "scenarioIds"> = {}

Returns

KayKitGuideScenarioAssetUsage[]


listKayKitGuideScenarios()

listKayKitGuideScenarios(): KayKitGuideScenario[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:815

Lists the decomposed scenario contract for every extracted KayKit guide page.

Returns

KayKitGuideScenario[]


listKayKitGuideScenarioTreatments()

listKayKitGuideScenarioTreatments(id): KayKitAssetPublicTreatment[]

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:832

Returns public treatment records for the assets used by one guide scenario.

Parameters

id

string

Returns

KayKitAssetPublicTreatment[]


listPropClusterAssets()

listPropClusterAssets(kind, options?): readonly ("anchor" | "barrel" | "boat" | "boatrack" | "bucket_arrows" | "bucket_empty" | "bucket_water" | "cannonball_pallet" | "crate_A_big" | "crate_A_small" | "crate_B_big" | "crate_B_small" | "crate_long_A" | "crate_long_B" | "crate_long_C" | "crate_long_empty" | "crate_open" | "flag_blue" | "flag_green" | "flag_red" | "flag_yellow" | "haybale" | "icon_combat" | "icon_range" | "ladder" | "pallet" | "resource_lumber" | "resource_stone" | "sack" | "target" | "tent" | "trough" | "trough_long" | "weaponrack" | "wheelbarrow")[]

Defined in: packages/declarative-hex-worlds/src/gameboard/assets.ts:73

List the default prop assets used by a semantic cluster kind.

Parameters

kind

PropClusterKind

options?
includeExtra?

boolean

Returns

readonly ("anchor" | "barrel" | "boat" | "boatrack" | "bucket_arrows" | "bucket_empty" | "bucket_water" | "cannonball_pallet" | "crate_A_big" | "crate_A_small" | "crate_B_big" | "crate_B_small" | "crate_long_A" | "crate_long_B" | "crate_long_C" | "crate_long_empty" | "crate_open" | "flag_blue" | "flag_green" | "flag_red" | "flag_yellow" | "haybale" | "icon_combat" | "icon_range" | "ladder" | "pallet" | "resource_lumber" | "resource_stone" | "sack" | "target" | "tent" | "trough" | "trough_long" | "weaponrack" | "wheelbarrow")[]


listRiverCrossingGuidePermutations()

listRiverCrossingGuidePermutations(options?): GuideTilePermutation[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:364

Lists every requested river crossing guide waterless permutation.

Parameters

options?

Pick<GuidePermutationOptions, "waterless"> = {}

Returns

GuideTilePermutation[]


listRiverCurvyGuidePermutations()

listRiverCurvyGuidePermutations(options?): GuideTilePermutation[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:344

Lists every requested curvy river guide rotation/waterless permutation.

Parameters

options?

GuidePermutationOptions = {}

Returns

GuideTilePermutation[]


listRiverGuidePermutations()

listRiverGuidePermutations(options?): GuideTilePermutation[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:325

Lists every requested river guide variant/rotation/waterless permutation.

Parameters

options?

GuidePermutationOptions = {}

Returns

GuideTilePermutation[]


listRoadGuidePermutations()

listRoadGuidePermutations(options?): GuideTilePermutation[]

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:309

Lists every requested road guide variant/rotation permutation.

Parameters

options?

Pick<GuidePermutationOptions, "rotationSteps"> = {}

Returns

GuideTilePermutation[]


loadPlacementAsset()

loadPlacementAsset(placement): Promise<MedievalHexagonAsset | undefined>

Defined in: packages/declarative-hex-worlds/src/gameboard/assets.ts:55

Resolve a placement's asset from the packaged FREE manifest.

Parameters

placement

Pick<GameboardPlacementSpec, "assetId">

Returns

Promise<MedievalHexagonAsset | undefined>


mergeGameboardRecipes()

mergeGameboardRecipes(base, recipes): GameboardRecipe

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:416

Merges explicit steps and generation config into one recipe.

Parameters

base

GameboardRecipe

recipes

readonly GameboardRecipe[]

Returns

GameboardRecipe


minHeapCreate()

minHeapCreate<T>(compare): T[] & object

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

Binary min-heap — O(log N) push/pop.

Type Parameters

T

T

Parameters

compare

(a, b) => number

Returns

T[] & object


minHeapPop()

minHeapPop<T>(heap): T | undefined

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

Type Parameters

T

T

Parameters

heap

T[] & object

Returns

T | undefined


minHeapPush()

minHeapPush<T>(heap, value): void

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

Type Parameters

T

T

Parameters

heap

T[] & object

value

T

Returns

void


mountGameboardInteropSnapshot()

mountGameboardInteropSnapshot<TEntity>(snapshot, adapter): GameboardEcsMountResult<TEntity>

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:890

Mount an interop snapshot into a host ECS adapter.

Type Parameters

TEntity

TEntity

Parameters

snapshot

GameboardInteropSnapshot

adapter

GameboardEcsAdapter<TEntity>

Returns

GameboardEcsMountResult<TEntity>


moveGameboardActor()

moveGameboardActor(world, actor, to, options?): Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:841

Move an actor to a new tile by delegating to placement movement.

Parameters

world

World

actor

string | Entity

to

string | HexCoordinates

options?

MoveGameboardActorOptions = {}

Returns

Entity


moveGameboardPlacement()

moveGameboardPlacement(world, placement, to, options?): Entity

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:556

Move an existing placement to a new tile while allowing selected placement fields to be updated in the same operation.

Parameters

world

World

placement

string | Entity

to

string | HexCoordinates

options?

Omit<UpdateGameboardPlacementOptions, "at"> = {}

Returns

Entity


neighbor()

neighbor(coordinates, edge): HexCoordinates

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

Returns the neighbor coordinate at a clockwise edge index.

Parameters

coordinates

HexCoordinates

edge

number

Returns

HexCoordinates


neighbors()

neighbors(coordinates): HexCoordinates[]

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

Returns all six neighboring axial coordinates.

Parameters

coordinates

HexCoordinates

Returns

HexCoordinates[]


neutralUnitAssetId()

neutralUnitAssetId(part): string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:802

Returns the neutral unit/equipment asset id for a part.

Parameters

part

"unit" | "projectile_catapult" | "catapult" | "banner" | "bow" | "cannon" | "cart" | "cart_merchant" | "helmet" | "projectile_arrow" | "shield" | "ship" | "spear" | "sword" | "hammer" | "horse_A" | "horse_B" | "horse_C" | "horse_D" | "horse_E" | "horse_F" | "horse_G" | "horse_saddle" | "projectile_cannonball" | "shovel"

Returns

string


normalizeAssetToCell()

normalizeAssetToCell(bounds, options?): Normalization

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:65

Compute the uniform scale + recenter offset that normalizes an asset's native bounds onto a board cell. The scale fits the footprint per fit; the offset re-centers the scaled asset on the cell (x/z) and rests it on the surface (or centers it in y).

Parameters

bounds

AssetBounds

options?

NormalizeOptions = {}

Returns

Normalization


normalizedFootprint()

normalizedFootprint(bounds, normalization): object

Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:110

The world footprint (width × depth) an asset occupies after a normalization.

Parameters

bounds

AssetBounds

normalization

Normalization

Returns

object

depth

depth: number

height

height: number

width

width: number


normalizeGameboardLayoutArchetypeRegistry()

normalizeGameboardLayoutArchetypeRegistry(archetypes): GameboardLayoutArchetypeRegistry

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

Normalize registry input into an object keyed by archetype id.

Parameters

archetypes

GameboardLayoutArchetypeRegistryInput | undefined

Returns

GameboardLayoutArchetypeRegistry


normalizeHexRotationSteps()

normalizeHexRotationSteps(steps): HexEdgeIndex

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

Normalizes any integer-ish rotation step value into the range 0 through 5.

Parameters

steps

number

Returns

HexEdgeIndex


oppositeEdge()

oppositeEdge(edge): HexEdgeIndex

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

Returns the opposite edge index for a given edge.

Parameters

edge

number

Returns

HexEdgeIndex


overlayTransform()

overlayTransform(tilePosition, normalization, controls?, base?): AssetTransform

Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:45

Compose a normalized asset onto a tile at tilePosition with overlay controls, yielding the final AssetTransform. Order: normalized recenter → anchor within the cell → tile position → dev offset; scale = normalized × control multiplier; rotation = base + control.

Parameters

tilePosition

WorldPosition

normalization

Normalization

controls?

OverlayControls = {}

base?
rotationY?

number

Returns

AssetTransform


packClassifier()

packClassifier(packId, category, assetIdPrefix?): PlacementClassifier

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:113

Build a PlacementClassifier for a recognized pack (RFC0-TAGb). A placement belongs to the pack when EITHER its sourcePack metadata equals packId OR its assetId is namespaced under &lt;packId&gt;: (the adventurer:knight convention). Matching placements receive the pack category's default classifiers (packDefaultClassifiers); everything else gets none, so pack classifiers compose cleanly on top of the kind-based DEFAULT_PLACEMENT_CLASSIFIERS.

Parameters

packId

string

The registered pack id (e.g. adventurers, skeletons).

category

PackClassifierCategory

The pack's registry category (thread packDescriptor(id).category).

assetIdPrefix?

string = packId

Optional assetId namespace to also match (defaults to packId).

Returns

PlacementClassifier


packDefaultClassifiers()

packDefaultClassifiers(category): readonly ("enemy" | "prop" | "unit" | "building" | "playable" | "non-playable" | "random-encounter")[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:81

The default classifier tags a recognized pack's CATEGORY contributes (RFC0-TAGb). playable characters are playable units; enemy characters are both enemies and eligible random encounters; terrain packs contribute no gameplay classifier (their pieces are classified by structural kind alone). This is the pack→classifier mapping the RFC0-TAG doc reserved ("Adventures → playable, Skeletons → enemy").

Parameters

category

PackClassifierCategory

Returns

readonly ("enemy" | "prop" | "unit" | "building" | "playable" | "non-playable" | "random-encounter")[]


parseAssetSourceSpec()

parseAssetSourceSpec(input): object

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:158

Parse + validate a spec, throwing a precise ZodError on invalid input.

Parameters

input

unknown

Returns

assetRoot

assetRoot: string

Root directory the asset paths are relative to (e.g. "public/assets").

assets

assets: ({ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; })[]

Ordered asset records.

name

name: string

Human-readable source name (e.g. "kaykit-free", "my-tileset-pack").

specVersion

specVersion: 1

Spec format version (this schema is v1).


parseHexKey()

parseHexKey(key): HexCoordinates

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

Parses a string key produced by hexKey.

Throws on invalid input. Prefer tryParseHexKey on lookup paths where a miss is an expected outcome (returning undefined is ~100× faster than throwing + catching in V8).

Parameters

key

string

Returns

HexCoordinates


parseTilesetManifest()

parseTilesetManifest(input): object

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:131

Parse + validate a tileset manifest, throwing a ZodError on invalid data.

Parameters

input

unknown

Returns

object

biomes

biomes: Record<string, { select: "first" | "hash"; sheet: string; }>

kind

kind: "tileset"

schemaVersion

schemaVersion: string

sheets

sheets: Record<string, { edgeCells?: Record<string, number>; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; role: "transition" | "fill"; url: string; variants?: number[]; }>


placementHasClassifier()

placementHasClassifier(metadata, tag): boolean

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:189

True if a placement's metadata flags the given classifier.

Parameters

metadata

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

tag

ClassifierTag

Returns

boolean


planGameboardActorTargetCommand()

planGameboardActorTargetCommand(world, options): GameboardActorTargetCommandPlan

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:334

Selects an actor target through actor-aware targeting rules and returns the command that would interact with or attack it.

Parameters

world

World

options

GameboardActorTargetCommandOptions

Returns

GameboardActorTargetCommandPlan


planGameboardInteractionCommand()

planGameboardInteractionCommand(world, target, options?): GameboardInteractionCommand

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1300

Plan a high-level interaction command from a click/target input.

Parameters

world

World

target

GameboardInteractionTargetInput

options?

GameboardInteractionCommandOptions = {}

Returns

GameboardInteractionCommand


planGameboardPatrolRoute()

planGameboardPatrolRoute(plan, options): GameboardPatrolRoutePlan

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:528

Plan one patrol route from an explicit start, a spawn-group start, or generated waypoints.

Parameters

plan

GameboardPlan

options

GameboardPatrolRouteOptions

Returns

GameboardPatrolRoutePlan


planGameboardPatrolRoutes()

planGameboardPatrolRoutes(plan, options): GameboardPatrolRouteSet

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:539

Plan a set of named patrol routes with shared spawn group and navigation defaults.

Parameters

plan

GameboardPlan

options

GameboardPatrolRouteSetOptions

Returns

GameboardPatrolRouteSet


planGameboardSpawnGroups()

planGameboardSpawnGroups(plan, options): GameboardSpawnGroupPlan

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:517

Plan multiple spawn groups in order, with optional inter-group distance and route checks.

Parameters

plan

GameboardPlan

options

GameboardSpawnGroupOptions

Returns

GameboardSpawnGroupPlan


previewGameboardInteractionCommand()

previewGameboardInteractionCommand(world, commandOrTarget, options?): GameboardInteractionCommandPreview

Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:367

Previews an interaction command, including actor-aware movement path checks for move commands, without mutating the world.

Parameters

world

World

commandOrTarget

GameboardInteractionCommandInput

options?

GameboardInteractionCommandPreviewOptions = {}

Returns

GameboardInteractionCommandPreview


projectWorldToGameboardPlan()

projectWorldToGameboardPlan(world, options?): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/coordinates/projection.ts:49

Projects a Koota gameboard world into a serializable gameboard plan with render placements.

Parameters

world

World

options?

ProjectWorldOptions

Returns

GameboardPlan


pureRecipeGenerationApplier()

pureRecipeGenerationApplier(plan, generation): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:445

The pure (koota-free) generation applier used by the ./core tier. Seeded recipe generation requires a koota world to run layout-fill, which core does not depend on — so if a recipe declares generation fill rules, this throws a clear "use the runtime tier" error rather than silently dropping them. A generation block with no fill rules (or none at all) passes through unchanged.

Parameters

plan

GameboardPlan

generation

GameboardRecipeGeneration | undefined

Returns

GameboardPlan


reachableGameboardMovementTiles()

reachableGameboardMovementTiles(world, placement, options?): GameboardReachableTile[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:337

Return tiles reachable by a placement under its movement profile and budget.

Parameters

world

World

placement

string | Entity

options?

GameboardMovementOptions = {}

Returns

GameboardReachableTile[]


reachableGameboardTiles()

reachableGameboardTiles(plan, start, movementBudget, profile?, tilesByKey?, occupancy?): GameboardReachableTile[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:410

Return all tiles reachable from a start tile within a movement budget.

Parameters

plan

GameboardPlan

start

string | HexCoordinates

movementBudget

number

profile?

GameboardNavigationProfile = {}

tilesByKey?

ReadonlyMap<string, GameboardTileSpec> = ...

occupancy?

GameboardOccupancyIndex = ...

Returns

GameboardReachableTile[]


readDecomposedTileSpecs()

readDecomposedTileSpecs(world): GameboardTileSpec[]

Defined in: packages/declarative-hex-worlds/src/coordinates/projection.ts:73

Reads decomposed tile components from a Koota world as plan tile specs.

Parameters

world

World

Returns

GameboardTileSpec[]


readGameboardActors()

readGameboardActors(world): GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:883

Read all registered actor snapshots sorted by actor id.

Parameters

world

World

Returns

GameboardActorSnapshot[]


readGameboardActorsForTile()

readGameboardActorsForTile(world, coordinates): GameboardActorSnapshot[]

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:1018

Read actor snapshots whose origin tile matches the provided coordinates or key.

Parameters

world

World

coordinates

string | HexCoordinates

Returns

GameboardActorSnapshot[]


readGameboardPatrolAgents()

readGameboardPatrolAgents(world): GameboardPatrolSnapshot[]

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

Read all patrol agents sorted by route id and placement id.

Parameters

world

World

Returns

GameboardPatrolSnapshot[]


readGameboardPlacementOccupancy()

readGameboardPlacementOccupancy(world): PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:687

Read every placement-to-tile occupancy relation in the world.

Parameters

world

World

Returns

PlacementOccupancySnapshot[]


readGameboardPlacements()

readGameboardPlacements(world): object[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:652

Read placement state snapshots sorted by render order and placement id.

Parameters

world

World

Returns


readGameboardQuests()

readGameboardQuests(world): GameboardQuestSnapshot[]

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:234

Read all quest snapshots sorted by quest id.

Parameters

world

World

Returns

GameboardQuestSnapshot[]


readGameboardSnapshot()

readGameboardSnapshot(world): GameboardSnapshot

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:820

Read a serializable snapshot of board metadata, tiles, and placements.

Parameters

world

World

Returns

GameboardSnapshot


readGameboardTiles()

readGameboardTiles(world): object[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:641

Read tile state snapshots sorted by axial tile key.

Parameters

world

World

Returns


readPlacementOccupancyForTile()

readPlacementOccupancyForTile(world, coordinates): PlacementOccupancySnapshot[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:703

Read all occupancy records for one tile.

Parameters

world

World

coordinates

string | HexCoordinates

Returns

PlacementOccupancySnapshot[]


readPlacementsForTile()

readPlacementsForTile(world, coordinates): object[]

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:665

Read placements that occupy a tile, including multi-tile footprint occupants.

Parameters

world

World

coordinates

string | HexCoordinates

Returns


readPngDimensions()

readPngDimensions(bytes): PngDimensions

Defined in: packages/declarative-hex-worlds/src/asset-source/png-dimensions.ts:28

Read the pixel width + height from a PNG's IHDR chunk. Accepts the raw file bytes (a Uint8Array/Buffer). Throws if the data isn't a PNG or is too short to hold an IHDR — a caller feeding a non-PNG should fail loudly, not silently mis-size.

Parameters

bytes

Uint8Array

Returns

PngDimensions


readTintOpacity()

readTintOpacity(metadata): object

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:144

The per-placement tint + opacity read off flat placement metadata, so a game can drive fog-of-war / season / team shading over a shared atlas from the sim. Metadata is flat (Record<string, string|number|boolean|null>), so the tint is carried as three sibling keys:

  • tintR / tintG / tintB (channels [0, 1]) → tint — ONLY when ALL three are present AND finite numbers (a partial/typo'd tint is ignored, never a half-applied colour);
  • opacity (a number) → opacity — ONLY when it's a finite number in [0, 1]. Anything else is omitted, leaving the request on its default opaque/untinted path.

Parameters

metadata

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

Returns

object

opacity?

optional opacity?: number

tint?

optional tint?: AssetTint


readValidationGameboardPlanFromWorld()

readValidationGameboardPlanFromWorld(world): GameboardPlan

Defined in: packages/declarative-hex-worlds/src/coordinates/projection.ts:104

Reads a lightweight validation plan from a Koota world without rebuilding render overlays.

Parameters

world

World

Returns

GameboardPlan


recommendExternalAssetFacing()

recommendExternalAssetFacing(options?): ExternalAssetFacingRecommendation

Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:294

Computes the nearest hex-step yaw correction for a model-local forward axis.

Parameters

options?

ExternalAssetFacingOptions = {}

Returns

ExternalAssetFacingRecommendation


registerGameboardActor()

registerGameboardActor(world, placement, options): Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:794

Attach actor state to an existing placement entity or placement id.

Parameters

world

World

placement

string | Entity

options

GameboardActorRegistrationOptions

Returns

Entity


removeGameboardPlacement()

removeGameboardPlacement(world, placement): boolean

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:568

Remove a placement entity by entity reference or placement id.

Parameters

world

World

placement

string | Entity

Returns

boolean


renderGameboardCoverageMarkdown()

renderGameboardCoverageMarkdown(report?): string

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:510

Renders a release-readiness report as a Markdown ledger.

Parameters

report?

GameboardCoverageReport = ...

Returns

string


renderKayKitGuideScenarioCoverageMarkdown()

renderKayKitGuideScenarioCoverageMarkdown(options?): string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1058

Renders the guide scenario coverage matrix as reproducible Markdown docs.

Parameters

options?

KayKitGuideScenarioCoverageMarkdownOptions = {}

Returns

string


requestGameboardMovement()

requestGameboardMovement(world, placement, destination, options?): GameboardMovementRequestResult

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:352

Request movement for a placement and write path state back to its entity.

Parameters

world

World

placement

string | Entity

destination

string | HexCoordinates

options?

GameboardMovementPathRequestOptions = {}

Returns

GameboardMovementRequestResult


requiresExtraAsset()

requiresExtraAsset(assetId): boolean

Defined in: packages/declarative-hex-worlds/src/gameboard/assets.ts:66

Return whether an asset id requires a local EXTRA edition asset.

Parameters

assetId

string

Returns

boolean


resetGameboardMovementBudget()

resetGameboardMovementBudget(world, placement?, options?): readonly Entity[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:436

Reset the movement budget for one placement or all movement agents.

Parameters

world

World

placement?

string | Entity

options?

GameboardMovementOptions = {}

Returns

readonly Entity[]


resolveAccessoryTransform()

resolveAccessoryTransform(transform?): ResolvedAccessoryTransform

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:47

Fill in the defaults of an accessory local transform.

Parameters

transform?

AccessoryLocalTransform = {}

Returns

ResolvedAccessoryTransform


resolveAssetUrl()

resolveAssetUrl(asset, baseUrl?): string

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:51

Resolves a manifest asset's model path with an optional base URL.

Parameters

asset

MedievalHexagonAsset

baseUrl?

string | URL

Returns

string


resolveAssetUrlById()

resolveAssetUrlById(assetId, options?): string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:88

Resolve a model URL for a bare asset id (no placement) from the explicit assetUrls map or the manifest catalog. Used by transition-edge resolution (RFC0-9b), where the input is a variant asset id (e.g. hex_coast_B) rather than a placement — so the placement-only paths (metadata.sourceUrl, fallback) don't apply. Returns undefined when neither the map nor the catalog resolves.

Parameters

assetId

string

options?

GameboardPlacementAssetUrlOptions = {}

Returns

string | undefined


resolveGameboardAssetRoot()

resolveGameboardAssetRoot(): string

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:75

Resolve the consumer's bootstrap asset root using the documented priority chain. The return value is always a string (never undefined) — callers can always feed it as bootstrapAssetRoot to the manifest URL resolver exported from declarative-hex-worlds/manifest.

Returns

string


resolveGameboardLayoutArchetype()

resolveGameboardLayoutArchetype(archetype, registry?): GameboardLayoutArchetype | undefined

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

Resolve an archetype id or inline archetype against a registry.

Parameters

archetype

GameboardLayoutArchetypeInput | undefined

registry?

GameboardLayoutArchetypeRegistry = GAMEBOARD_LAYOUT_ARCHETYPES

Returns

GameboardLayoutArchetype | undefined


resolveGameboardLayoutCriteria()

resolveGameboardLayoutCriteria(archetype, criteria, registry?): GameboardLayoutCriteria

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

Merge explicit criteria over the criteria from a resolved archetype.

Parameters

archetype

GameboardLayoutArchetypeInput | undefined

criteria

GameboardLayoutCriteria | undefined

registry?

GameboardLayoutArchetypeRegistry = GAMEBOARD_LAYOUT_ARCHETYPES

Returns

GameboardLayoutCriteria


resolveGameboardMovementProfile()

resolveGameboardMovementProfile(profile, profiles?): GameboardMovementProfile

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:262

Resolve a movement profile id or inline profile.

Parameters

profile

GameboardMovementProfileInput | undefined

profiles?

GameboardMovementProfileRegistry = GAMEBOARD_MOVEMENT_PROFILES

Returns

GameboardMovementProfile


resolveGameboardPieceSourceUrl()

resolveGameboardPieceSourceUrl(piece, options?): string | undefined

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:704

Resolve a piece source URL from explicit metadata or source-relative metadata.

Parameters

piece

GameboardPieceDeclaration

options?

GameboardPieceSourceUrlOptions = {}

Returns

string | undefined


resolveGameboardPlacementAnimationUrl()

resolveGameboardPlacementAnimationUrl(placement, options?): string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:114

Resolves a separate animation URL for a placement when the model does not carry the desired clips.

Parameters

placement

GameboardPlacementSpec

options?

GameboardPlacementAnimationUrlOptions = {}

Returns

string | undefined


resolveGameboardPlacementAssetUrl()

resolveGameboardPlacementAssetUrl(placement, options?): string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:62

Resolves the model URL for a placement from explicit maps, placement metadata, a manifest catalog, or a fallback resolver.

Parameters

placement

GameboardPlacementSpec

options?

GameboardPlacementAssetUrlOptions = {}

Returns

string | undefined


resolveGameboardScenarioActors()

resolveGameboardScenarioActors(actors?, spawnGroups?): ResolvedGameboardScenarioActor[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:706

Resolves scenario actors against spawn groups without creating entities.

Parameters

actors?

readonly GameboardScenarioActor[] = []

spawnGroups?

GameboardSpawnGroupPlan

Returns

ResolvedGameboardScenarioActor[]


rotateMask()

rotateMask(mask, steps): number

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:183

Rotates a six-bit hex edge mask clockwise by the requested number of steps.

Parameters

mask

number

steps

number

Returns

number


rowSpacingForGeometry()

rowSpacingForGeometry(geometry): number

Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:250

Computes row spacing from hex depth for pointy hex placement.

Parameters

geometry

Pick<HexGeometry, "depth">

Returns

number


runGameboardActorTargetInteraction()

runGameboardActorTargetInteraction(world, options, interactionOptions?): RunGameboardActorTargetInteractionResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:138

Selects an actor target, dispatches the planned command, and then runs systems unless disabled.

Parameters

world

World

options

GameboardActorTargetCommandOptions

interactionOptions?

RunGameboardInteractionOptions = {}

Returns

RunGameboardActorTargetInteractionResult


runGameboardInteraction()

runGameboardInteraction(world, commandOrTarget, options?): RunGameboardInteractionResult

Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:114

Dispatches an interaction command and then runs systems unless disabled.

Parameters

world

World

commandOrTarget

GameboardInteractionCommandInput

options?

RunGameboardInteractionOptions = {}

Returns

RunGameboardInteractionResult


runGameboardMovementSystem()

runGameboardMovementSystem(world, options?): GameboardMovementAdvanceResult[]

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:412

Advance every active movement agent in the world.

Parameters

world

World

options?

AdvanceGameboardMovementOptions = {}

Returns

GameboardMovementAdvanceResult[]


runGameboardPatrolSystem()

runGameboardPatrolSystem(world, options?): GameboardPatrolAdvanceResult[]

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

Advance every patrol agent in the world.

Parameters

world

World

options?

AdvanceGameboardPatrolOptions = {}

Returns

GameboardPatrolAdvanceResult[]


runGameboardScenarioSimulation()

runGameboardScenarioSimulation(scenario, steps, options?): GameboardScenarioSimulationResult

Defined in: packages/declarative-hex-worlds/src/simulation/engine.ts:87

Runs simulation steps against a fresh runtime created from a scenario.

Parameters

scenario

GameboardScenario

steps

readonly GameboardScenarioSimulationStep[]

options?

RunGameboardScenarioSimulationOptions = {}

Returns

GameboardScenarioSimulationResult


runGameboardScenarioSimulationScript()

runGameboardScenarioSimulationScript(scenario, script, options?): GameboardScenarioSimulationResult

Defined in: packages/declarative-hex-worlds/src/simulation/engine.ts:101

Runs an authored simulation script against a fresh runtime created from a scenario, applying script defaults to individual steps.

Parameters

scenario

GameboardScenario

script

GameboardScenarioSimulationScript

options?

RunGameboardScenarioSimulationOptions = {}

Returns

GameboardScenarioSimulationResult


runGameboardSystems()

runGameboardSystems(world, options?): RunGameboardSystemsResult

Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:60

Runs the enabled patrol, movement, and quest systems for one game-loop tick.

Parameters

world

World

options?

RunGameboardSystemsOptions = {}

Returns

RunGameboardSystemsResult


safeParseAssetSourceSpec()

safeParseAssetSourceSpec(input): ZodSafeParseResult<{ assetRoot: string; assets: ({ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; })[]; name: string; specVersion: 1; }>

Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:163

Non-throwing parse — returns Zod's { success, data | error } result.

Parameters

input

unknown

Returns

ZodSafeParseResult<{ assetRoot: string; assets: ({ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; })[]; name: string; specVersion: 1; }>


safeParseTilesetManifest()

safeParseTilesetManifest(input): ZodSafeParseResult<{ biomes: Record<string, { select: "first" | "hash"; sheet: string; }>; kind: "tileset"; schemaVersion: string; sheets: Record<string, { edgeCells?: Record<string, number>; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; role: "transition" | "fill"; url: string; variants?: number[]; }>; }>

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:136

Safe-parse a tileset manifest, returning the Zod result discriminant.

Parameters

input

unknown

Returns

ZodSafeParseResult<{ biomes: Record<string, { select: "first" | "hash"; sheet: string; }>; kind: "tileset"; schemaVersion: string; sheets: Record<string, { edgeCells?: Record<string, number>; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; role: "transition" | "fill"; url: string; variants?: number[]; }>; }>


scanAssetFiles()

scanAssetFiles(files): ScanResult

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:197

Classify a scanned file list into candidate assets. A file's role comes from its top-level directory; its format from its extension. Files under an unknown directory, with an unsupported extension, or whose extension doesn't fit the role, are skipped.

Parameters

files

readonly ScannedFile[]

Returns

ScanResult


selectCoastVariant()

selectCoastVariant(waterEdges, options?): VariantSelection

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:246

Selects the coast guide asset and rotation for water-facing edges.

Parameters

waterEdges

HexEdgeInput

options?
waterless?

boolean

Returns

VariantSelection


selectCoastVariantByLabel()

selectCoastVariantByLabel(label, options?): VariantSelection

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:300

Selects an unrotated coast guide asset by KayKit label.

Parameters

label

string

options?
waterless?

boolean

Returns

VariantSelection


selectGameboardActors()

selectGameboardActors(world, options?): GameboardActorSelection

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:894

Select actors by id, kind, faction, team, tags, tile, radius, hostility, and interaction flags.

Parameters

world

World

options?

GameboardActorSelectionOptions = {}

Returns

GameboardActorSelection


selectGameboardInteropRelations()

selectGameboardInteropRelations(source, filter?): GameboardEcsRelation[]

Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:866

Select relations by name, source id, and/or target id.

Parameters

source

GameboardInteropSnapshot | GameboardInteropSnapshotIndex

filter?

GameboardInteropRelationFilter = {}

Returns

GameboardEcsRelation[]


selectGameboardLayoutSites()

selectGameboardLayoutSites(plan, options): GameboardLayoutSite[]

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

Select deterministic valid layout sites from a generated board plan.

Parameters

plan

GameboardPlan

options

SelectGameboardLayoutSitesOptions

Returns

GameboardLayoutSite[]


selectGameboardPieces()

selectGameboardPieces(registry, selection?): GameboardPieceDeclaration[]

Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:530

Select pieces from a registry using id, role, source, tag, and EXTRA filters.

Parameters

registry

GameboardPieceRegistry

selection?

GameboardPieceRegistrySelection = {}

Returns

GameboardPieceDeclaration[]


selectGameboardSpawnLocations()

selectGameboardSpawnLocations(plan, options): SpawnLocation[]

Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:506

Select deterministic spawn locations from passable plan tiles.

Parameters

plan

GameboardPlan

options

GameboardSpawnLocationOptions

Returns

SpawnLocation[]


selectPlacementsByClassifier()

selectPlacementsByClassifier(world, tag): readonly object[]

Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers-runtime.ts:24

All placements in world that carry the given classifier tag (in their tag list under the classifier: namespace). The renderer-neutral query behind usePlacementsByClassifier.

Parameters

world

World

tag

ClassifierTag

Returns

readonly object[]


selectRiverCrossingVariant()

selectRiverCrossingVariant(label, options?): VariantSelection

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

Selects one of the river crossing guide variants.

Parameters

label

"A" | "B"

options?
waterless?

boolean

Returns

VariantSelection


selectRiverVariant()

selectRiverVariant(edges, options?): VariantSelection

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

Selects the river guide asset and rotation for an edge mask.

Parameters

edges

HexEdgeInput

options?
curvy?

boolean

waterless?

boolean

Returns

VariantSelection


selectRiverVariantByLabel()

selectRiverVariantByLabel(label, options?): VariantSelection

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

Selects an unrotated river guide asset by KayKit label.

Parameters

label

string

options?
curvy?

boolean

waterless?

boolean

Returns

VariantSelection


selectRoadVariant()

selectRoadVariant(edges): VariantSelection

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

Selects the road guide asset and rotation for an edge mask.

Parameters

edges

HexEdgeInput

Returns

VariantSelection


selectRoadVariantByLabel()

selectRoadVariantByLabel(label): VariantSelection

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:200

Selects an unrotated road guide asset by KayKit label.

Parameters

label

string

Returns

VariantSelection


selectSpawnCoordinates()

selectSpawnCoordinates(options): HexCoordinates[]

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

Selects deterministic spawn coordinates that satisfy spacing and passability rules.

Parameters

options

SpawnCoordinateOptions

Returns

HexCoordinates[]


selectTransitionVariant()

selectTransitionVariant(family, edges): VariantSelection | undefined

Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:143

Select the variant covering edges for a transition family, or undefined when the family is unknown or no variant covers the mask (a NON-throwing counterpart to selectVariant, for the AssetSource.resolveEdge seam where a miss must fall through rather than error). RFC0-9b.

Parameters

family

string

edges

HexEdgeInput

Returns

VariantSelection | undefined


setDefaultRecipeGenerationApplier()

setDefaultRecipeGenerationApplier(applier): void

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:477

Set the process-wide default generation applier (the runtime tier wires koota). Pass undefined to clear it back to the pure default — mainly for tests that exercise the ./core-tier (unregistered) code path.

Parameters

applier

RecipeGenerationApplier | undefined

Returns

void


setGameboardAssetRoot()

setGameboardAssetRoot(assetRoot): void

Defined in: packages/declarative-hex-worlds/src/runtime/asset-root.ts:58

Set an explicit process-wide asset root. Pass undefined to clear the override and fall back to the global / env / default chain.

Parameters

assetRoot

string | undefined

Returns

void


setGameboardMovementAgent()

setGameboardMovementAgent(world, placement, options?): Entity

Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:286

Add or update movement-agent state for a placement.

Parameters

world

World

placement

string | Entity

options?

SetGameboardMovementAgentOptions = {}

Returns

Entity


setGameboardPatrolAgent()

setGameboardPatrolAgent(world, placement, options): Entity

Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:163

Attach a patrol route to a placement or actor.

Parameters

world

World

placement

string | Entity

options

SetGameboardPatrolAgentOptions

Returns

Entity


snapshotGameboardSystemEvent()

snapshotGameboardSystemEvent(event): GameboardSystemEventRecord

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:352

Converts one in-memory system event into a serializable event record.

Parameters

event

GameboardSystemEvent

Returns

GameboardSystemEventRecord


snapshotGameboardSystemEvents()

snapshotGameboardSystemEvents(events): GameboardSystemEventRecord[]

Defined in: packages/declarative-hex-worlds/src/systems/events.ts:418

Converts in-memory system events into serializable records.

Parameters

events

readonly GameboardSystemEvent[]

Returns

GameboardSystemEventRecord[]


spawnGameboardActor()

spawnGameboardActor(world, options): Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:752

Spawn a placement and immediately register it as a gameplay actor.

Parameters

world

World

options

SpawnGameboardActorOptions

Returns

Entity


spawnGameboardLayoutFill()

spawnGameboardLayoutFill(world, options): Entity[]

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

Spawn all placements generated by a layout fill pass into a Koota world.

Parameters

world

World

options

GameboardLayoutFillOptions

Returns

Entity[]


spawnGameboardLayoutPlacements()

spawnGameboardLayoutPlacements(world, options): Entity[]

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

Spawn generated layout placements into a Koota world.

Parameters

world

World

options

GameboardLayoutPlacementOptions

Returns

Entity[]


spawnGameboardPlacement()

spawnGameboardPlacement(world, options): Entity

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:468

Spawn one runtime placement on an existing tile, deriving world position, layer defaults, EXTRA detection, and occupancy footprint relations.

Parameters

world

World

options

SpawnGameboardPlacementOptions

Returns

Entity


spawnGameboardPlan()

spawnGameboardPlan(world, plan): GameboardEntityIndex

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:410

Clear the world and spawn all tiles, placements, marker traits, adjacency relations, and occupancy relations for a generated board plan.

Parameters

world

World

plan

GameboardPlan

Returns

GameboardEntityIndex


spawnGameboardQuest()

spawnGameboardQuest(world, definition, options?): Entity

Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:186

Spawn a quest entity into a Koota world.

Parameters

world

World

definition

GameboardQuestDefinition

options?

SpawnGameboardQuestOptions = {}

Returns

Entity


stripAssetCategory()

stripAssetCategory(asset): { biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; }

Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:179

Return a copy of an asset with any category field removed. Used by the init and web authoring flows when the developer clears a suggested gameplay category (choosing "none").

Parameters

asset

{ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; } | { biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; } | { category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; }

Type Literal

{ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; }

biome

string = ...

Biome/terrain key this tile represents (grass, water, desert, …).

edgeMask?

number = ...

Optional edge mask this tile satisfies, for transition tiles (G3).

format

"png" | "glb" | "gltf" = ...

id

string = idSchema

path

string = pathSchema

role

"tile" = ...


Type Literal

{ biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; }

biome?

string = ...

Optional biome this whole sheet represents (fill sheets).

format

"png" = ...

grid

{ cellHeight: number; cellWidth: number; cols: number; rows: number; } = gridSchema

grid.cellHeight

number = ...

grid.cellWidth

number = ...

grid.cols

number = ...

grid.rows

number = ...

id

string = idSchema

path

string = pathSchema

role

"tileset" = ...

transition?

{ edgeCells: Record<string, number>; } = ...

Optional per-cell role: 'fill' cells are interchangeable variations; 'transition' cells map an edge mask to a specific cell index (G3).

transition.edgeCells

Record<string, number> = ...

Canonical edge mask → cell index within the sheet grid.


Type Literal

{ category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; }

category?

"npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter" = ...

Suggested gameplay category (unit/pc/npc/enemy/…); a default the dev may override.

format

"png" = ...

id

string = idSchema

path

string = pathSchema

role

"sprite" = ...


Type Literal

{ category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; }

category?

"npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter" = ...

Suggested gameplay category (unit/pc/npc/enemy/…); a default the dev may override.

format

"glb" | "gltf" = ...

id

string = idSchema

path

string = pathSchema

role

"model" = ...

Returns

Type Literal

{ biome: string; edgeMask?: number; format: "png" | "glb" | "gltf"; id: string; path: string; role: "tile"; }

biome

biome: string

Biome/terrain key this tile represents (grass, water, desert, …).

edgeMask?

optional edgeMask?: number

Optional edge mask this tile satisfies, for transition tiles (G3).

format

format: "png" | "glb" | "gltf"

id

id: string = idSchema

path

path: string = pathSchema

role

role: "tile"


Type Literal

{ biome?: string; format: "png"; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; id: string; path: string; role: "tileset"; transition?: { edgeCells: Record<string, number>; }; }

biome?

optional biome?: string

Optional biome this whole sheet represents (fill sheets).

format

format: "png"

grid

grid: object = gridSchema

grid.cellHeight

cellHeight: number

grid.cellWidth

cellWidth: number

grid.cols

cols: number

grid.rows

rows: number

id

id: string = idSchema

path

path: string = pathSchema

role

role: "tileset"

transition?

optional transition?: object

Optional per-cell role: 'fill' cells are interchangeable variations; 'transition' cells map an edge mask to a specific cell index (G3).

transition.edgeCells

edgeCells: Record<string, number>

Canonical edge mask → cell index within the sheet grid.


Type Literal

{ category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "png"; id: string; path: string; role: "sprite"; }

category?

optional category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"

Suggested gameplay category (unit/pc/npc/enemy/…); a default the dev may override.

format

format: "png"

id

id: string = idSchema

path

path: string = pathSchema

role

role: "sprite"


Type Literal

{ category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"; format: "glb" | "gltf"; id: string; path: string; role: "model"; }

category?

optional category?: "npc" | "enemy" | "prop" | "unit" | "structure" | "pc" | "encounter"

Suggested gameplay category (unit/pc/npc/enemy/…); a default the dev may override.

format

format: "glb" | "gltf"

id

id: string = idSchema

path

path: string = pathSchema

role

role: "model"


summarizeGameboardCoverage()

summarizeGameboardCoverage(options?): GameboardCoverageReport

Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:441

Summarizes guide-page coverage, manifest coverage, public APIs, visual artifacts, local references, package gates, and release gaps.

Parameters

options?

SummarizeGameboardCoverageOptions = {}

Returns

GameboardCoverageReport


summarizeGameboardPlan()

summarizeGameboardPlan(plan, options?): GameboardPlanSummary

Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:711

Summarize terrain, elevation, placement, feature, and local-only asset usage in a generated or live-projected gameboard plan.

Parameters

plan

GameboardPlan

options?

SummarizeGameboardPlanOptions = {}

Returns

GameboardPlanSummary


summarizeGameboardScenario()

summarizeGameboardScenario(scenario, options?): GameboardScenarioSummary

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:455

Summarizes playable scenario content without creating a live Koota world.

Parameters

scenario

GameboardScenario

options?

SummarizeGameboardScenarioOptions = {}

Returns

GameboardScenarioSummary


summarizeKayKitGuideCoverage()

summarizeKayKitGuideCoverage(): KayKitGuideCoverageSummary

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1018

Summarizes source images, docs, visual artifacts, assets, roles, and page coverage.

Returns

KayKitGuideCoverageSummary


textureFileName()

textureFileName(textureSet): string

Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:1280

Returns the texture filename for a KayKit texture set.

Parameters

textureSet

"default" | "fall" | "summer" | "winter"

Returns

string


tilesetHexGeometry()

tilesetHexGeometry(manifest, grid?): object

Defined in: packages/declarative-hex-worlds/src/asset-source/tileset.ts:68

Derive the board PLACEMENT geometry a tileset needs for seamless quad tessellation, from the manifest's cell aspect. Pass the result to <HexWorld geometry> (or projectWorldToGameboardPlan({ geometry })).

Why row spacing must change: a full-cell quad's Z-extent is height = width · cellHeight/cellWidth (the baked cell aspect). For pointy-top quads to interlock, adjacent ROWS must be height/2 apart. rowSpacingForGeometry computes 1.5·(depth/2), so we invert: depth = (height/2)/0.75 = (2/3)·height. The default regular-hex depth (≈2.3094) spreads rows ~3× too far in Z, leaving the blue gaps between tiles. Width + elevationStep stay at the board defaults.

Uses the first sheet's grid for the aspect (all sheets in a coherent pack share a cell size); pass a specific grid to override.

Parameters

manifest
biomes

Record<string, { select: "first" | "hash"; sheet: string; }> = ...

kind

"tileset" = ...

schemaVersion

string = ...

sheets

Record<string, { edgeCells?: Record<string, number>; grid: { cellHeight: number; cellWidth: number; cols: number; rows: number; }; role: "transition" | "fill"; url: string; variants?: number[]; }> = ...

grid?
cellHeight

number = ...

cellWidth

number = ...

cols

number = ...

rows

number = ...

Returns

object

depth

depth: number

elevationStep

elevationStep: number

width

width: number


transformForHex()

transformForHex(coordinates, options?): AssetTransform

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:133

Creates a transform from axial coordinates, optional elevation, and optional placement offset.

Parameters

coordinates

HexCoordinates

options?
elevation?

number

positionOffset?

GameboardPlacementPositionOffset

rotationY?

number

scale?

number

Returns

AssetTransform


transformForPlacement()

transformForPlacement(placement): AssetTransform

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:176

Converts a serialized placement into a gameboard transform.

Parameters

placement

GameboardPlacementSpec

Returns

AssetTransform


transformForVariant()

transformForVariant(coordinates, variant, options?): AssetTransform

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:158

Creates a transform from axial coordinates and a selected road/river/coast variant rotation.

Parameters

coordinates

HexCoordinates

variant

VariantSelection

options?
elevation?

number

positionOffset?

GameboardPlacementPositionOffset

scale?

number

Returns

AssetTransform


tryParseHexKey()

tryParseHexKey(key): HexCoordinates | undefined

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

Non-throwing variant of parseHexKey. Returns undefined when the key is malformed. Use this on lookup paths where a miss is expected; use parseHexKey on assertion paths where a miss is a programming error.

Parameters

key

string

Returns

HexCoordinates | undefined


updateGameboardActor()

updateGameboardActor(world, actor, options): Entity

Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:811

Update actor state while keeping omitted fields stable and mirroring actor metadata back onto the placement metadata.

Parameters

world

World

actor

string | Entity

options

UpdateGameboardActorOptions

Returns

Entity


updateGameboardPlacement()

updateGameboardPlacement(world, placement, options): Entity

Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:496

Mutate an existing placement while keeping unspecified placement state stable. Position, tile relations, marker traits, and occupancy footprint relations are synchronized after the update.

Parameters

world

World

placement

string | Entity

options

UpdateGameboardPlacementOptions

Returns

Entity


validateAccessoryAttachments()

validateAccessoryAttachments(attachments): readonly string[]

Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:70

Validate a set of accessory attachments: ids unique, node + assetId non-empty. Returns the list of problems (empty = valid) so callers can fail at author time rather than silently drop a mis-specified accessory during rendering.

Parameters

attachments

readonly AccessoryAttachment[]

Returns

readonly string[]


validateGameboardPlan()

validateGameboardPlan(plan, config?): GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:71

Validates a gameboard plan for connectivity, stacking, asset, and occupancy rules.

Parameters

plan

GameboardPlan

config?

GameboardPlanValidationConfig = {}

Returns

GameboardRuleViolation[]


validateGameboardRecipe()

validateGameboardRecipe(recipe, config?): GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:533

Validates a recipe and returns all recipe/plan rule violations.

Parameters

recipe

GameboardRecipe

config?

GameboardRecipeValidationConfig = {}

Returns

GameboardRuleViolation[]


validateGameboardRecipeGeneration()

validateGameboardRecipeGeneration(recipe): GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:541

Validates generation-specific references before a recipe is compiled.

Parameters

recipe

GameboardRecipe

Returns

GameboardRuleViolation[]


validateGameboardScenario()

validateGameboardScenario(scenario, config?): GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:353

Validates a scenario and returns all scenario/plan rule violations.

Parameters

scenario

GameboardScenario

config?

GameboardScenarioValidationConfig = {}

Returns

GameboardRuleViolation[]


validateGameboardScenarioSimulationScript()

validateGameboardScenarioSimulationScript(script, config?): GameboardRuleViolation[]

Defined in: packages/declarative-hex-worlds/src/simulation/script-validators.ts:114

Returns validation violations for a simulation script.

Parameters

script

GameboardScenarioSimulationScript

config?

GameboardScenarioSimulationScriptValidationConfig = {}

Returns

GameboardRuleViolation[]


validateTextureBindings()

validateTextureBindings(bindings): readonly string[]

Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:53

Validate texture bindings at author time: assetId + textureUrl non-empty. Returns the problems (empty = valid) so a mis-specified binding fails before it silently no-ops at render.

Parameters

bindings

readonly TextureBinding[]

Returns

readonly string[]


worldToAxial()

worldToAxial(position, geometry?): HexCoordinates

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

Converts world X/Z coordinates to the nearest axial hex coordinate.

Parameters

position

Pick<WorldPosition, "x" | "z">

geometry?

HexGeometry = DEFAULT_HEX_GEOMETRY

Returns

HexCoordinates

References

AdjacentTo

Re-exports AdjacentTo


ASSET_CATEGORIES

Re-exports ASSET_CATEGORIES


AssetBounds

Re-exports AssetBounds


AssetCategory

Re-exports AssetCategory


BuiltInGameboardMovementProfileId

Re-exports BuiltInGameboardMovementProfileId


canPlaceHarborAt

Re-exports canPlaceHarborAt


canStackAt

Re-exports canStackAt


CollisionQuestObjective

Re-exports CollisionQuestObjective


createManifestBundle

Re-exports createManifestBundle


CreateManifestBundleOptions

Re-exports CreateManifestBundleOptions


DefeatActorQuestObjective

Re-exports DefeatActorQuestObjective


Faction

Re-exports Faction


FACTIONS

Re-exports FACTIONS


freeManifest

Re-exports freeManifest


GAMEBOARD_QUEST_SCHEMA_VERSION

Re-exports GAMEBOARD_QUEST_SCHEMA_VERSION


GAMEBOARD_SCHEMA_VERSION

Re-exports GAMEBOARD_SCHEMA_VERSION


GameboardActor

Re-exports GameboardActor


GameboardActorKind

Re-exports GameboardActorKind


GameboardActorMetadataValue

Re-exports GameboardActorMetadataValue


GameboardCliError

Re-exports GameboardCliError


GameboardError

Re-exports GameboardError


GameboardIoError

Re-exports GameboardIoError


GameboardManifestError

Re-exports GameboardManifestError


GameboardMovementProfileId

Re-exports GameboardMovementProfileId


GameboardMovementStatus

Re-exports GameboardMovementStatus


GameboardPatrolAgent

Re-exports GameboardPatrolAgent


GameboardPatrolState

Re-exports GameboardPatrolState


GameboardPatrolStatus

Re-exports GameboardPatrolStatus


GameboardQuest

Re-exports GameboardQuest


GameboardQuestCollisionExpectation

Re-exports GameboardQuestCollisionExpectation


GameboardQuestMetadataValue

Re-exports GameboardQuestMetadataValue


GameboardQuestObjective

Re-exports GameboardQuestObjective


GameboardQuestObjectiveBase

Re-exports GameboardQuestObjectiveBase


GameboardQuestObjectiveProgress

Re-exports GameboardQuestObjectiveProgress


GameboardQuestObjectiveStatus

Re-exports GameboardQuestObjectiveStatus


GameboardQuestStatus

Re-exports GameboardQuestStatus


GameboardRuntimeError

Re-exports GameboardRuntimeError


GameboardScenarioError

Re-exports GameboardScenarioError


GameboardShape

Re-exports GameboardShape


GameboardState

Re-exports GameboardState


GameboardValidationError

Re-exports GameboardValidationError


getManifestAsset

Re-exports getManifestAsset


hasManifestAsset

Re-exports hasManifestAsset


HEX_WORLDS_SCHEMA_VERSION

Re-exports HEX_WORLDS_SCHEMA_VERSION


HexagonGameboardShape

Re-exports HexagonGameboardShape


HexCoordinates

Re-exports HexCoordinates


HexEdgeIndex

Re-exports HexEdgeIndex


HexEdgeInput

Re-exports HexEdgeInput


HexTileState

Re-exports HexTileState


inspectMedievalHexagonManifest

Re-exports inspectMedievalHexagonManifest


InteractActorQuestObjective

Re-exports InteractActorQuestObjective


IsActiveGameboardQuest

Re-exports IsActiveGameboardQuest


IsBlockedGameboardQuest

Re-exports IsBlockedGameboardQuest


IsBlockingActor

Re-exports IsBlockingActor


IsCoastPlacement

Re-exports IsCoastPlacement


IsCompletedGameboardQuest

Re-exports IsCompletedGameboardQuest


IsDecorationPlacement

Re-exports IsDecorationPlacement


IsEnemyActor

Re-exports IsEnemyActor


IsGameboardActor

Re-exports IsGameboardActor


IsGameboardPatrolAgent

Re-exports IsGameboardPatrolAgent


IsGameboardPlacement

Re-exports IsGameboardPlacement


IsGameboardQuest

Re-exports IsGameboardQuest


IsGameboardTile

Re-exports IsGameboardTile


IsHarborPlacement

Re-exports IsHarborPlacement


IsHostileActor

Re-exports IsHostileActor


IsInteractiveActor

Re-exports IsInteractiveActor


IsMoving

Re-exports IsMoving


IsNpcActor

Re-exports IsNpcActor


IsPlayerActor

Re-exports IsPlayerActor


IsPropActor

Re-exports IsPropActor


IsPropPlacement

Re-exports IsPropPlacement


IsRiverPlacement

Re-exports IsRiverPlacement


IsRoadPlacement

Re-exports IsRoadPlacement


IsStackedTerrain

Re-exports IsStackedTerrain


IsStructurePlacement

Re-exports IsStructurePlacement


IsTerrainPlacement

Re-exports IsTerrainPlacement


IsUnitPlacement

Re-exports IsUnitPlacement


KAYKIT_ATTRIBUTION

Re-exports KAYKIT_ATTRIBUTION


KAYKIT_PACK_VERSION

Re-exports KAYKIT_PACK_VERSION


KayKitAttribution

Re-exports KayKitAttribution


loadFreeManifest

Re-exports loadFreeManifest


ManifestAssetCatalog

Re-exports ManifestAssetCatalog


manifestAssetRequiresExtra

Re-exports manifestAssetRequiresExtra


ManifestAssetSelection

Re-exports ManifestAssetSelection


ManifestAssetUrlOptions

Re-exports ManifestAssetUrlOptions


ManifestDuplicatePreference

Re-exports ManifestDuplicatePreference


MedievalHexagonAsset

Re-exports MedievalHexagonAsset


MedievalHexagonManifest

Re-exports MedievalHexagonManifest


MedievalHexagonManifestBundle

Re-exports MedievalHexagonManifestBundle


MedievalHexagonManifestCounts

Re-exports MedievalHexagonManifestCounts


MedievalHexagonManifestInspection

Re-exports MedievalHexagonManifestInspection


MedievalHexagonManifestIssue

Re-exports MedievalHexagonManifestIssue


MedievalHexagonManifestIssueSeverity

Re-exports MedievalHexagonManifestIssueSeverity


MovementAgent

Re-exports MovementAgent


MovementPathState

Re-exports MovementPathState


normalizeMedievalHexagonManifest

Re-exports normalizeMedievalHexagonManifest


PACK_EDITIONS

Re-exports PACK_EDITIONS


PackEdition

Re-exports PackEdition


PlacementOccupiesTile

Re-exports PlacementOccupiesTile


PlacementOnTile

Re-exports PlacementOnTile


PlacementState

Re-exports PlacementState


ReachActorQuestObjective

Re-exports ReachActorQuestObjective


ReachTileQuestObjective

Re-exports ReachTileQuestObjective


RectangleGameboardShape

Re-exports RectangleGameboardShape


RequiresExtraAsset

Re-exports RequiresExtraAsset


resolveManifestAssetUrl

Re-exports resolveManifestAssetUrl


rewriteToBootstrapPath

Re-exports rewriteToBootstrapPath


selectManifestAssets

Re-exports selectManifestAssets


setTileElevation

Re-exports setTileElevation


setTileTerrain

Re-exports setTileTerrain


SourcePackInfo

Re-exports SourcePackInfo


TEXTURE_SETS

Re-exports TEXTURE_SETS


TextureSet

Re-exports TextureSet


TileConnectivity

Re-exports TileConnectivity


TileCoordinates

Re-exports TileCoordinates


TileElevation

Re-exports TileElevation


TileRenderState

Re-exports TileRenderState


TileTagList

Re-exports TileTagList


TileTerrain

Re-exports TileTerrain


UNIT_STYLES

Re-exports UNIT_STYLES


UnitStyle

Re-exports UnitStyle


validateGameboardRules

Re-exports validateGameboardRules


validateMedievalHexagonManifest

Re-exports validateMedievalHexagonManifest


VariantSelection

Re-exports VariantSelection


WorldPosition

Re-exports WorldPosition