src
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
Returns
Properties
seed
readonlyseed:string
Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:103
Seed used by deterministic builder helpers.
shape
readonlyshape:GameboardShape
Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:105
Shape populated by this builder.
textureSet
readonlytextureSet:"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
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
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
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
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
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
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
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
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
options?
rotationSteps?
number
single?
boolean
variant?
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
Returns
this
addNature()
addNature(
options):this
Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:486
Add a nature decoration placement.
Parameters
options
Returns
this
addNeutralStructure()
addNeutralStructure(
options):this
Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:348
Add a neutral structure placement.
Parameters
options
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
elevationOffset?
number
kind
layer
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
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
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
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
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
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
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
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
scatterDecorations()
scatterDecorations(
options):this
Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:708
Scatter random decoration placements across matching terrain.
Parameters
options
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
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
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
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
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
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
readonlyassetId: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
readonlyid:string
Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:27
Stable id for this attachment (for diffing/removal).
node
readonlynode: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?
readonlyoptionaltransform?: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?
readonlyoptionalposition?: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?
readonlyoptionalrotation?:Partial<WorldPosition>
Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:19
Local Euler rotation in radians (default 0,0,0).
scale?
readonlyoptionalscale?: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
facing?
optionalfacing?: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
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:460
Clockwise 60-degree rotation steps. Overrides facing when provided.
Inherited from
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:462
Uniform render scale.
Inherited from
variant?
optionalvariant?:BridgeVariant
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:456
KayKit bridge visual variant. Defaults to A.
Inherited from
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
constructionId?
optionalconstructionId?: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?
optionalkind?:ConstructionSiteKind
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:516
Construction state to place. Defaults to stage-A.
Inherited from
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:518
Clockwise 60-degree rotation steps.
Inherited from
ConstructionSiteOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:522
Uniform render scale.
Inherited from
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
direction?
optionaldirection?:ElevationRampDirection
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:472
Visual ramp direction. Defaults to up.
Inherited from
ElevationRampOptions.direction
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:484
Fractional elevation offset above the tile surface.
Inherited from
ElevationRampOptions.elevationOffset
facing?
optionalfacing?: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
fromElevation?
optionalfromElevation?: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?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:486
Uniform render scale.
Inherited from
textureSet?
optionaltextureSet?:"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?
optionaltoElevation?: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
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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:430
Clockwise 60-degree rotation steps.
Inherited from
FactionBuildingOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:432
Uniform render scale.
Inherited from
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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:300
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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?
optionalcut?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:228
Whether to use a cut/logged forest variant.
size?
optionalsize?:"small"|"medium"|"large"
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:226
Forest size variant.
species?
optionalspecies?:"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
enclosureId?
optionalenclosureId?: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?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:500
Edge the segment faces; also used as the default rotation.
Inherited from
material?
optionalmaterial?:FortificationMaterial
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:496
Material family. Defaults to wall.
Inherited from
rotationSteps?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:506
Uniform render scale.
Inherited from
segment?
optionalsegment?:FortificationSegment
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:498
Segment visual shape. Defaults to straight.
Inherited from
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
facing
facing:
HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:392
Edge facing adjacent water.
Inherited from
faction
faction:
"blue"|"green"|"red"|"yellow"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:394
Faction color for the harbor.
Inherited from
includeProps?
optionalincludeProps?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:398
Whether to add adjacent boat/anchor props.
Inherited from
kind?
optionalkind?:HarborKind
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:396
Harbor structure variant.
Inherited from
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:400
Clockwise 60-degree rotation steps. Defaults to facing.
Inherited from
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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:214
Clockwise 60-degree rotation steps.
single?
optionalsingle?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:212
Whether to use the single-hex hill style.
variant?
optionalvariant?:HillVariant
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:208
KayKit hill variant to place.
withTrees?
optionalwithTrees?: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
height
height:
number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:372
Elevation height for the stack.
Inherited from
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:380
Clockwise 60-degree rotation steps.
Inherited from
MountainStackOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:382
Uniform render scale.
Inherited from
variant?
optionalvariant?:MountainVariant
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:374
Mountain visual variant.
Inherited from
withGrass?
optionalwithGrass?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:376
Include grass on the mountain asset.
Inherited from
MountainStackOptions.withGrass
withTrees?
optionalwithTrees?: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
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:552
Clockwise 60-degree rotation steps.
Inherited from
NaturePlacementOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:554
Uniform render scale.
Inherited from
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
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:444
Clockwise 60-degree rotation steps.
Inherited from
NeutralStructureOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:446
Uniform render scale.
Inherited from
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?
optionalelevationOffset?: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?
optionalmetadata?:Readonly<Record<string,string|number|boolean|null>>
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:328
Serializable placement metadata.
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:326
Whether the placement requires local EXTRA assets.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:318
Clockwise 60-degree rotation steps.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:322
Uniform render scale.
stackIndex?
optionalstackIndex?: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
clusterId?
optionalclusterId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:588
Optional stable id shared by all placements in the cluster.
Inherited from
density?
optionaldensity?: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
facing?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:580
Edge used to orient adjacent spread patterns.
Inherited from
includeExtra?
optionalincludeExtra?: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
placement?
optionalplacement?: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
rotationSteps?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:592
Uniform render scale.
Inherited from
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
at
at:
HexCoordinates
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:562
Tile where the prop is anchored.
Inherited from
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:566
Clockwise 60-degree rotation steps.
Inherited from
PropPlacementOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:568
Uniform render scale.
Inherited from
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?
optionalcrossing?:RiverCrossing
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:192
Crossing variant to place where road/river crossings are desired.
curvy?
optionalcurvy?: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?
optionalwaterless?: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?
optionalslope?: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
facing?
optionalfacing?: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
kind?
optionalkind?:"catapult"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:532
Projectile visual kind. Defaults to catapult.
Inherited from
rotationSteps?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:540
Uniform render scale.
Inherited from
sourceId?
optionalsourceId?: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
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?
optionalrotationSteps?: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
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
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
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
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:644
Clockwise 60-degree rotation steps.
Inherited from
UnitPresetOptions.rotationSteps
style?
optionalstyle?:"accent"|"full"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:640
Colored unit style.
Inherited from
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
compositeId?
optionalcompositeId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:624
Shared composite id for multi-part units.
Inherited from
UnitPlacementOptions.compositeId
faction?
optionalfaction?:"blue"|"green"|"red"|"yellow"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:618
Faction used by colored unit parts.
Inherited from
neutral?
optionalneutral?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:622
Force neutral unit asset selection.
Inherited from
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
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:626
Clockwise 60-degree rotation steps.
Inherited from
UnitPlacementOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:628
Uniform render scale.
Inherited from
style?
optionalstyle?:"accent"|"full"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:620
Colored unit style.
Inherited from
AdvanceGameboardMovementOptions
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:109
Options for advancing movement.
Extends
Properties
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85
Placement ids ignored during pathing.
Inherited from
GameboardMovementOptions.ignorePlacementIds
movementBudget?
optionalmovementBudget?:number
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83
Movement budget override.
Inherited from
GameboardMovementOptions.movementBudget
navigation?
optionalnavigation?: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?
optionalprofile?:GameboardMovementProfileInput
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79
Movement profile id or inline profile.
Inherited from
GameboardMovementOptions.profile
profiles?
optionalprofiles?:GameboardMovementProfileRegistry
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:81
Registry used to resolve profile ids.
Inherited from
GameboardMovementOptions.profiles
steps?
optionalsteps?: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?
optionaldeactivateOnBlocked?:boolean
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:79
Deactivate the patrol when movement is blocked.
movement?
optionalmovement?:GameboardMovementPathRequestOptions
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:75
Movement options used when requesting segment movement.
resetMovementBudget?
optionalresetMovementBudget?: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?
optionaladvanceThroughCompleted?:boolean
Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:104
Continue through completed objectives in one advance call.
step?
optionalstep?: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?
optionalchecks?: readonlyGameboardPieceRegistryAnalysisCheckInput[]
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?
optionalelevation?:number
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:218
Elevation override for base/support declarations.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:222
Placement kind override for non-base declarations.
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:224
Placement layer override for non-base declarations.
metadata?
optionalmetadata?: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?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:220
Scale override for non-base placements.
terrain?
optionalterrain?: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
readonlykind: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
ctx?
Returns
AssetRenderRequest | undefined
resolveEdge()?
optionalresolveEdge(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?
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?
optionalcenter?: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?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:56
Optional id used in diagnostics and future editor UIs.
radius?
optionalradius?:number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:64
Optional radius around center that bounds the biome.
terrain?
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
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
readonlycenter:WorldPosition
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:22
Center of the bounds — the natural look-at target.
max
readonlymax:WorldPosition
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:20
min
readonlymin:WorldPosition
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:19
size
readonlysize: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?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:458
Edge the bridge points toward; also used as the default rotation.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:460
Clockwise 60-degree rotation steps. Overrides facing when provided.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:462
Uniform render scale.
variant?
optionalvariant?: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
readonlydistance:number
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:80
Distance from eye to target.
fov
readonlyfov:number
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:78
Field of view in radians (perspective).
orthoHalfHeight
readonlyorthoHalfHeight: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
readonlyposition:WorldPosition
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:67
Eye position in world space.
projection
readonlyprojection:CameraProjection
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:70
target
readonlytarget: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
readonlyangle:CameraAngle
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:48
fit
readonlyfit:CameraFit
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:50
fov?
readonlyoptionalfov?:number
Defined in: packages/declarative-hex-worlds/src/camera/camera.ts:54
Field of view in radians for perspective projection (default ~50°).
padding?
readonlyoptionalpadding?: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
readonlyprojection: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?
optionalconstructionId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:520
Optional stable id for a multi-step construction chain.
kind?
optionalkind?:ConstructionSiteKind
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:516
Construction state to place. Defaults to stage-A.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:518
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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?
optionalsubject?: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?
optionalmarkTargetActorInteracted?:MarkTargetActorInteractedHandlerOptions
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:222
Options for mark-target-interacted.
removeTargetActor?
optionalremoveTargetActor?:RemoveTargetActorHandlerOptions
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:218
Options for remove-target-actor.
removeTargetPlacement?
optionalremoveTargetPlacement?: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?
optionalincludeBuiltIns?: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?
optionaldefaultCommandHandlerOptions?:CreateGameboardInteractionHandlerPresetOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:687
Default handler options for generated script.
defaultCommandHandlers?
optionaldefaultCommandHandlers?: 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?
optionaldefaultCommandSystems?:false|RunGameboardSystemsOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:683
Default command systems for generated script.
defaultRunSystems?
optionaldefaultRunSystems?:RunGameboardSystemsOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:689
Default systems for generated run-systems steps.
defaultSourceActor?
optionaldefaultSourceActor?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:681
Default source actor id for generated command steps.
expectations?
optionalexpectations?:GameboardScenarioSimulationExpectations
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:691
Expectations to embed in the generated script.
requireFoundRoutes?
optionalrequireFoundRoutes?: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| readonlyGameboardPatrolRoutePlan[]
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?
optionalrequireFoundRoutes?: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| readonlyGameboardPatrolRoutePlan[]
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?
optionalplan?:GameboardPlan
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:256
Serializable plan to load into a new Koota world.
world?
optionalworld?: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?
optionalactors?: readonlyGameboardScenarioActor[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:126
Actors to spawn into the scenario runtime.
metadata?
optionalmetadata?:Readonly<Record<string,string|number|boolean|null>>
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:130
Additional serializable scenario metadata.
patrolRoutes?
optionalpatrolRoutes?: readonlyGameboardScenarioPatrolRoute[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:124
Deterministic patrol route rules for scenario actors.
quests?
optionalquests?: readonlyGameboardQuestDefinition[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:128
Quests to spawn into the scenario runtime.
spawnGroups?
optionalspawnGroups?:GameboardSpawnGroupOptions
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:122
Deterministic spawn group rules for scenario actors.
title?
optionaltitle?: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?
optionaltilesetShape?:"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?
optionaldispatch?: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?
optionalreason?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardInteractionCommandExecutionOptions.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardInteractionCommandExecutionOptions.blockingPlacementLayers
handlers?
optionalhandlers?:GameboardInteractionHandler| readonlyGameboardInteractionHandler[]
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?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardInteractionCommandExecutionOptions.ignorePlacementIds
movement?
optionalmovement?: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?
optionalrequireSourceActorForAttack?: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?
optionalrequireSourceActorForInteraction?: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?
optionalrequireSourceActorForMove?: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?
optionalsourceActor?: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?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardInteractionCommandExecutionOptions.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardInteractionCommandExecutionOptions.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionaldirection?:ElevationRampDirection
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:472
Visual ramp direction. Defaults to up.
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:484
Fractional elevation offset above the tile surface.
facing?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:474
Edge the ramp points toward; also used as the default rotation.
fromElevation?
optionalfromElevation?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:478
Elevation on the anchor tile. Defaults to the tile elevation.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:476
Clockwise 60-degree rotation steps. Overrides facing when provided.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:486
Uniform render scale.
textureSet?
optionaltextureSet?:"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?
optionaltoElevation?: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?
optionalanimationNames?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:58
Animation clip names discovered in the model.
boardForwardEdge?
optionalboardForwardEdge?: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?
optionalcreator?:string
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:48
Optional creator attribution.
hasRig?
optionalhasRig?: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?
optionalintendedRole?:ExternalAssetIntendedRole
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:54
How the caller hoped to use the asset before fit analysis.
license?
optionallicense?:string
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:50
Optional license label for docs or local reports.
materialSlots?
optionalmaterialSlots?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:60
Material slot names discovered in the model.
modelForward?
optionalmodelForward?: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
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?
optionalboardForwardEdge?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:140
Board edge the model should face. Defaults to edge 1.
modelForward?
optionalmodelForward?: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?
optionalanimation?: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?
optionaldefaultClip?: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
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?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:186
Optional placement id.
metadata?
optionalmetadata?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:198
Optional rotation override.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:200
Optional scale override.
sourcePack?
optionalsourcePack?:string
Defined in: packages/declarative-hex-worlds/src/interop/compatibility.ts:196
Optional source pack override for metadata.
sourceUrl?
optionalsourceUrl?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:430
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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?
optionalenclosureId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:504
Optional stable id for a multi-segment enclosure.
facing?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:500
Edge the segment faces; also used as the default rotation.
material?
optionalmaterial?:FortificationMaterial
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:496
Material family. Defaults to wall.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:502
Clockwise 60-degree rotation steps. Overrides facing when provided.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:506
Uniform render scale.
segment?
optionalsegment?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
treatHostileAsBlocking?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:162
Blocked reason when canEnter is false.
source?
optionalsource?: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?
optionalbaseProfile?:GameboardNavigationProfile
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:170
Base navigation profile to extend with actor collision behavior.
blockingPlacementKinds?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardActorCollisionProfile.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardActorCollisionProfile.blockingPlacementLayers
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardActorCollisionProfile.ignorePlacementIds
treatHostileAsBlocking?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardActorCollisionProfile.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardActorCollisionProfile.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalactorKind?:GameboardActorKind
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56
Gameplay actor kind. Defaults from placement kind.
actorMetadata?
optionalactorMetadata?:Readonly<Record<string,GameboardActorMetadataValue>>
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:70
Serializable actor metadata independent from placement metadata.
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64
Whether this actor blocks actor movement.
faction?
optionalfaction?:string|null
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58
Optional faction identifier.
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62
Whether this actor is generally hostile.
interactive?
optionalinteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:66
Whether this actor should be considered an interaction target.
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:68
Free-form actor tags used by selectors and quests.
team?
optionalteam?: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, readonlyGameboardActorSnapshot[]>>
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:432
Matching actors grouped by tile key.
center?
optionalcenter?:HexCoordinates
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:444
Resolved center coordinates used for radius and distance.
centerKey?
optionalcenterKey?: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?
optionalradius?: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, readonlyGameboardActorSelectionRecord[]>>
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:434
Matching records grouped by tile key.
source?
optionalsource?: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?
optionalactorIds?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:380
Actor id or ids to include.
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:408
Filter by actor movement-blocking flag.
center?
optionalcenter?:GameboardNeighborhoodCenter
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:396
Optional center used by radius filtering and distance sorting.
excludeTags?
optionalexcludeTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:392
Actor tags that must all be absent.
factions?
optionalfactions?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:388
Faction id or ids to include.
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:404
Filter by actor hostile flag.
hostileToSource?
optionalhostileToSource?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:410
Filter by hostility relative to sourceActor.
includeSource?
optionalincludeSource?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:402
Include the source actor in results. Defaults to true.
interactive?
optionalinteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:406
Filter by actor interactive flag.
kinds?
optionalkinds?:GameboardActorKind| readonlyGameboardActorKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:384
Actor kind or kinds to include.
placementIds?
optionalplacementIds?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:382
Placement id or ids to include.
radius?
optionalradius?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:398
Maximum hex distance from center or sourceActor.
sort?
optionalsort?:GameboardActorSelectionSort
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:412
Sort mode for selected actors.
sourceActor?
optionalsourceActor?:string|Entity
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:400
Source actor used for hostility and default center resolution.
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:390
Actor tags that must all be present.
teams?
optionalteams?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:386
Team id or ids to include.
tileKeys?
optionaltileKeys?:string| readonlystring[]
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?
optionaldistance?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:482
Distance from the selection center, when available.
faction?
optionalfaction?: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?
optionalhostileToSource?: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?
optionalteam?: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?
optionalapproachTileKey?: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
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?
optionalreason?: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?
optionalactorIds?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:380
Actor id or ids to include.
Inherited from
GameboardActorSelectionOptions.actorIds
approach?
optionalapproach?:GameboardActorTargetApproach
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:512
Target approach strategy. Defaults to nearest.
Inherited from
GameboardActorTargetingOptions.approach
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:408
Filter by actor movement-blocking flag.
Inherited from
GameboardActorSelectionOptions.blocksMovement
center?
optionalcenter?: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?
optionalexcludeTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:392
Actor tags that must all be absent.
Inherited from
GameboardActorSelectionOptions.excludeTags
factions?
optionalfactions?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:388
Faction id or ids to include.
Inherited from
GameboardActorSelectionOptions.factions
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:404
Filter by actor hostile flag.
Inherited from
GameboardActorSelectionOptions.hostile
hostileToSource?
optionalhostileToSource?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:410
Filter by hostility relative to sourceActor.
Inherited from
GameboardActorSelectionOptions.hostileToSource
includeSource?
optionalincludeSource?: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?
optionalincludeUnreachable?: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?
optionalinteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:406
Filter by actor interactive flag.
Inherited from
GameboardActorSelectionOptions.interactive
kinds?
optionalkinds?:GameboardActorKind| readonlyGameboardActorKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:384
Actor kind or kinds to include.
Inherited from
GameboardActorSelectionOptions.kinds
maxPathCost?
optionalmaxPathCost?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:514
Maximum accepted path cost.
Inherited from
GameboardActorTargetingOptions.maxPathCost
navigation?
optionalnavigation?:GameboardActorNavigationOptions
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:510
Actor-aware navigation options.
Inherited from
GameboardActorTargetingOptions.navigation
placementIds?
optionalplacementIds?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:382
Placement id or ids to include.
Inherited from
GameboardActorSelectionOptions.placementIds
radius?
optionalradius?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:398
Maximum hex distance from center or sourceActor.
Inherited from
GameboardActorSelectionOptions.radius
requireReachable?
optionalrequireReachable?:boolean
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:250
Require the selected actor target to be reachable. Defaults to true.
sort?
optionalsort?: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?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:390
Actor tags that must all be present.
Inherited from
GameboardActorSelectionOptions.tags
targetActorId?
optionaltargetActorId?: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?
optionalteams?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:386
Team id or ids to include.
Inherited from
GameboardActorSelectionOptions.teams
tileKeys?
optionaltileKeys?:string| readonlystring[]
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?
optionalcommand?:GameboardInteractionCommand
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:262
Planned command against the selected target.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:266
Reason execution is unavailable.
target?
optionaltarget?: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
Omit<GameboardActorSelectionOptions,"sourceActor"|"sort">
Extended by
Properties
actorIds?
optionalactorIds?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:380
Actor id or ids to include.
Inherited from
GameboardActorSelectionOptions.actorIds
approach?
optionalapproach?:GameboardActorTargetApproach
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:512
Target approach strategy. Defaults to nearest.
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:408
Filter by actor movement-blocking flag.
Inherited from
GameboardActorSelectionOptions.blocksMovement
center?
optionalcenter?: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?
optionalexcludeTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:392
Actor tags that must all be absent.
Inherited from
GameboardActorSelectionOptions.excludeTags
factions?
optionalfactions?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:388
Faction id or ids to include.
Inherited from
GameboardActorSelectionOptions.factions
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:404
Filter by actor hostile flag.
Inherited from
GameboardActorSelectionOptions.hostile
hostileToSource?
optionalhostileToSource?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:410
Filter by hostility relative to sourceActor.
Inherited from
GameboardActorSelectionOptions.hostileToSource
includeSource?
optionalincludeSource?: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?
optionalincludeUnreachable?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:516
Include unreachable targets in results. Defaults to true.
interactive?
optionalinteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:406
Filter by actor interactive flag.
Inherited from
GameboardActorSelectionOptions.interactive
kinds?
optionalkinds?:GameboardActorKind| readonlyGameboardActorKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:384
Actor kind or kinds to include.
Inherited from
GameboardActorSelectionOptions.kinds
maxPathCost?
optionalmaxPathCost?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:514
Maximum accepted path cost.
navigation?
optionalnavigation?:GameboardActorNavigationOptions
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:510
Actor-aware navigation options.
placementIds?
optionalplacementIds?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:382
Placement id or ids to include.
Inherited from
GameboardActorSelectionOptions.placementIds
radius?
optionalradius?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:398
Maximum hex distance from center or sourceActor.
Inherited from
GameboardActorSelectionOptions.radius
sort?
optionalsort?: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?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:390
Actor tags that must all be present.
Inherited from
GameboardActorSelectionOptions.tags
teams?
optionalteams?:string| readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:386
Team id or ids to include.
Inherited from
GameboardActorSelectionOptions.teams
tileKeys?
optionaltileKeys?:string| readonlystring[]
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?
optionalnearestTarget?: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?
optionalreason?: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?
optionalsource?: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
Partial<GameboardPlanOptions>
Extended by
Properties
biomeFills?
optionalbiomeFills?: readonlyBiomeFillSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:184
Texture-set fill targets for biome regions.
defaultTerrain?
optionaldefaultTerrain?:"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?
optionalfaction?:"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?
optionalharbors?:number| readonlyMedievalHarborSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:194
Authored harbors, or a count for deterministic coast placement.
layoutDensity?
optionallayoutDensity?:SeededGameboardLayoutDensityOptions
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:200
Optional generated density fills attached to the resulting recipe.
layoutFillSeed?
optionallayoutFillSeed?:string|number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:202
Seed used for generated density fills.
maxElevation?
optionalmaxElevation?:number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:182
Highest generated elevation used by default mountain ranges.
mountainRanges?
optionalmountainRanges?: readonlyMedievalMountainRangeSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:186
Authored mountain ranges. Omit to create one default ridge.
propClusterDressing?
optionalpropClusterDressing?: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?
optionalrivers?: readonlyMedievalRiverNetworkSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:192
Authored river networks. Omit to create one mountain-to-coast river.
roads?
optionalroads?: readonlyMedievalRoadNetworkSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:190
Authored road networks. Auto roads connect towns and harbors.
seed?
optionalseed?:string|number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113
Deterministic seed for generation.
Inherited from
shape?
optionalshape?:GameboardShape
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:176
Board shape to compile.
Overrides
textureSet?
optionaltextureSet?:"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?
optionaltowns?:number| readonlyMedievalTownSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:188
Authored towns, or a count for deterministic town placement.
transitionPolicy?
optionaltransitionPolicy?:MedievalTransitionPolicy
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:198
Visual and access transition policy.
waterFill?
optionalwaterFill?: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
GameboardBlueprintOptions.Omit<CreateGameboardScenarioOptions,"metadata">
Properties
actors?
optionalactors?: readonlyGameboardScenarioActor[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:126
Actors to spawn into the scenario runtime.
Inherited from
CreateGameboardScenarioOptions.actors
biomeFills?
optionalbiomeFills?: readonlyBiomeFillSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:184
Texture-set fill targets for biome regions.
Inherited from
GameboardBlueprintScenarioOptions.biomeFills
defaultTerrain?
optionaldefaultTerrain?:"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?
optionalfaction?:"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?
optionalharbors?:number| readonlyMedievalHarborSpec[]
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?
optionallayoutDensity?: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?
optionallayoutFillSeed?:string|number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:202
Seed used for generated density fills.
Inherited from
GameboardBlueprintScenarioOptions.layoutFillSeed
maxElevation?
optionalmaxElevation?: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?
optionalmountainRanges?: readonlyMedievalMountainRangeSpec[]
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?
optionalpatrolRoutes?: readonlyGameboardScenarioPatrolRoute[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:124
Deterministic patrol route rules for scenario actors.
Inherited from
CreateGameboardScenarioOptions.patrolRoutes
propClusterDressing?
optionalpropClusterDressing?: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?
optionalquests?: readonlyGameboardQuestDefinition[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:128
Quests to spawn into the scenario runtime.
Inherited from
CreateGameboardScenarioOptions.quests
rivers?
optionalrivers?: readonlyMedievalRiverNetworkSpec[]
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?
optionalroads?: readonlyMedievalRoadNetworkSpec[]
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?
optionalscenarioId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:222
Stable scenario id. Defaults to medieval-blueprint:<seed>.
scenarioMetadata?
optionalscenarioMetadata?: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?
optionalseed?:string|number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113
Deterministic seed for generation.
Inherited from
shape?
optionalshape?:GameboardShape
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:176
Board shape to compile.
Inherited from
GameboardBlueprintOptions.shape
spawnGroups?
optionalspawnGroups?:GameboardSpawnGroupOptions
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:122
Deterministic spawn group rules for scenario actors.
Inherited from
CreateGameboardScenarioOptions.spawnGroups
textureSet?
optionaltextureSet?:"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?
optionaltitle?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:120
Optional display title.
Inherited from
CreateGameboardScenarioOptions.title
towns?
optionaltowns?:number| readonlyMedievalTownSpec[]
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?
optionaltransitionPolicy?:MedievalTransitionPolicy
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:198
Visual and access transition policy.
Inherited from
GameboardBlueprintOptions.transitionPolicy
waterFill?
optionalwaterFill?: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?
optionalreason?: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?
optionalreason?: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
right
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
goal
options?
Returns
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
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
Returns
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
Returns
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
elevation?
number
Returns
GameboardCoordinateSystemOptions
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:67
Options for creating a reusable coordinate conversion system.
Properties
geometry?
optionalgeometry?: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?
optionaledition?:"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?
optionalsummary?: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
Partial<Omit<GameboardCoveragePackageCheck,"id"|"status">>
Properties
command?
optionalcommand?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:210
Human-readable check label.
Inherited from
GameboardCoveragePackageCheck.label
status?
optionalstatus?:GameboardCoverageCheckStatus
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:225
Verification status for this report.
summary?
optionalsummary?: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?
optionaldocs?:Readonly<Record<string,GameboardCoverageStatus>>
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:263
Availability status by repo-relative docs path.
sourceImages?
optionalsourceImages?:Readonly<Record<string,GameboardCoverageStatus>>
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:261
Availability status by repo-relative source image path.
visualArtifacts?
optionalvisualArtifacts?: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?
optionaledition?:"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
Partial<Omit<GameboardCoverageReference,"id"|"status">>
Properties
edition?
optionaledition?:"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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:183
Human-readable reference pack name.
Inherited from
GameboardCoverageReference.label
path?
optionalpath?:string
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:185
Repo-relative local path.
Inherited from
GameboardCoverageReference.path
purpose?
optionalpurpose?: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?
optionalrequiredForFullReview?: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?
optionalstatus?: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?
optionalgeneratedAt?: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?
optionalsimpleRpgEvidence?: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?
optionalpublicApiExercises?: readonlyGameboardCoverageSimpleRpgEvidenceRow[]
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
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?
optionaladdComponent?: (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
Returns
void
addRelation?
optionaladdRelation?: (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
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
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?
optionalactorId?: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
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:582
Concrete command kind.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:592
Target placement id, when available.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:598
Failure reason when canExecute is false.
source?
optionalsource?: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?
optionaltileKey?: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?
optionaleffects?: readonlyGameboardInteractionHandlerEffect[]
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:300
Flattened handler side effects.
handler?
optionalhandler?:GameboardInteractionHandlerResult
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:298
Handler result for handler-backed commands.
movement?
optionalmovement?: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?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:302
Reason execution was blocked, ignored, or handler-dependent.
status
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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardInteractionCommandPreviewOptions.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardInteractionCommandPreviewOptions.blockingPlacementLayers
handlers?
optionalhandlers?:GameboardInteractionHandler| readonlyGameboardInteractionHandler[]
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:240
Handler or handler chain for non-movement interact/attack/inspect commands.
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardInteractionCommandPreviewOptions.ignorePlacementIds
movement?
optionalmovement?: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?
optionalrequireSourceActorForAttack?: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?
optionalrequireSourceActorForInteraction?: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?
optionalrequireSourceActorForMove?: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?
optionalsourceActor?: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?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardInteractionCommandPreviewOptions.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardInteractionCommandPreviewOptions.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardInteractionTargetOptions.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardInteractionTargetOptions.blockingPlacementLayers
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardInteractionTargetOptions.ignorePlacementIds
requireSourceActorForAttack?
optionalrequireSourceActorForAttack?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:572
Require a source actor before attack commands can execute.
requireSourceActorForInteraction?
optionalrequireSourceActorForInteraction?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:574
Require a source actor before interaction commands can execute.
requireSourceActorForMove?
optionalrequireSourceActorForMove?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:570
Require a source actor before move commands can execute.
sourceActor?
optionalsourceActor?: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?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardInteractionTargetOptions.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardInteractionTargetOptions.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalmovementBudget?:number
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:278
Movement budget used for range checks.
movementPath?
optionalmovementPath?:GameboardNavigationPathResult
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:276
Movement path when the command requests movement.
reason?
optionalreason?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardInteractionCommandOptions.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardInteractionCommandOptions.blockingPlacementLayers
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardInteractionCommandOptions.ignorePlacementIds
movement?
optionalmovement?:GameboardMovementPathRequestOptions
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:231
Movement path options used when the command is a move request.
requireSourceActorForAttack?
optionalrequireSourceActorForAttack?: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?
optionalrequireSourceActorForInteraction?: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?
optionalrequireSourceActorForMove?: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?
optionalsourceActor?: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?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardInteractionCommandOptions.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardInteractionCommandOptions.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalactorId?: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?
optionaleffects?: readonlyGameboardInteractionHandlerEffect[]
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:253
Full handler side effects.
effectTypes?
optionaleffectTypes?: 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?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:245
Handler id when a handler processed the command.
handlerMetadata?
optionalhandlerMetadata?:Readonly<Record<string,GameboardActorMetadataValue>>
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:249
Handler metadata when supplied.
handlerStatus?
optionalhandlerStatus?: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
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:235
Command kind.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:257
Target placement id, when applicable.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:243
Optional blocked or handler reason.
sourceActorId?
optionalsourceActorId?:string
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:261
Source actor id, when applicable.
sourcePlacementId?
optionalsourcePlacementId?:string
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:263
Source placement id, when applicable.
status
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?
optionalactorId?:string
Target actor id.
canEnter
canEnter:
boolean
Whether the source can enter the target tile.
intent
intent:
GameboardInteractionIntent
Target intent.
kind
Target kind.
placementId?
optionalplacementId?:string
Target placement id.
tileKey?
optionaltileKey?:string
Target tile key.
tileKey?
optionaltileKey?: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?
optionaleffects?: readonlyGameboardInteractionHandlerEffect[]
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:126
Serializable side effects produced by the handler.
handlerId?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:120
Stable handler id used by event records and simulation reports.
metadata?
optionalmetadata?:Readonly<Record<string,GameboardActorMetadataValue>>
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:128
Serializable metadata copied into command event records.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:124
Optional failure or blocked reason.
status
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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardActorCollisionProfile.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardActorCollisionProfile.blockingPlacementLayers
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardActorCollisionProfile.ignorePlacementIds
sourceActor?
optionalsourceActor?:string|Entity
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:216
Source actor used for hostility and collision interpretation.
treatHostileAsBlocking?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardActorCollisionProfile.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardActorCollisionProfile.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalactor?: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?
optionalcollision?: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
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:224
Resolved target kind.
placement?
optionalplacement?: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?
optionaltileKey?: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
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
GameboardScenarioInteropOptionsGameboardSimulationInteropOptionsGameboardRuntimeInteropOptionsGameboardRuntimeSnapshotOptions
Properties
includePlacements?
optionalincludePlacements?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:450
Include placement entities and relations. Defaults to true.
spawnLocations?
optionalspawnLocations?: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?
optionalfromId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:440
Source entity id to include.
name?
optionalname?:GameboardEcsRelationName
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:438
Relation name to include.
toId?
optionaltoId?: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?
optionaltitle?: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?
optionalscenario?: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, readonlyGameboardEcsRelation[]>
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:426
Relations grouped by relation name.
relationsFromId
relationsFromId:
ReadonlyMap<string, readonlyGameboardEcsRelation[]>
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:428
Relations grouped by source id.
relationsToId
relationsToId:
ReadonlyMap<string, readonlyGameboardEcsRelation[]>
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
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:164
Stable archetype id.
kind?
optionalkind?: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?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:170
Default placement layer.
metadata?
optionalmetadata?:Readonly<Record<string,string|number|boolean|null>>
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:176
Metadata merged into generated placements.
rotationSteps?
optionalrotationSteps?: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?
optionalallowOccupied?:boolean
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:233
Allow placement on tiles with blocking occupants.
blockingPlacementKinds?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:235
Placement kinds that should be treated as blockers.
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:237
Placement layers that should be treated as blockers.
edgePadding?
optionaledgePadding?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:249
Number of outer rings excluded from placement.
elevation?
optionalelevation?:number| readonlynumber[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:201
Allowed exact elevations.
excludeFootprintTerrain?
optionalexcludeFootprintTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:231
Disallowed terrain across any footprint tile.
excludeTerrain?
optionalexcludeTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:199
Disallowed origin tile terrain.
excludeTileTags?
optionalexcludeTileTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:209
Tile tags that must all be absent.
footprint?
optionalfootprint?:GameboardLayoutFootprintInput
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:223
Footprint required by the placement.
footprintTerrain?
optionalfootprintTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:229
Allowed terrain across all footprint tiles.
forbiddenAdjacentPlacementKind?
optionalforbiddenAdjacentPlacementKind?:GameboardPlacementKind| readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:217
Adjacent placement kinds that must be absent.
forbiddenAdjacentPlacementLayer?
optionalforbiddenAdjacentPlacementLayer?:GameboardPlacementLayer| readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:221
Adjacent placement layers that must be absent.
forbiddenAdjacentTerrain?
optionalforbiddenAdjacentTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:213
Adjacent terrain that must be absent.
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:239
Placement ids ignored during occupancy checks.
maxDistance?
optionalmaxDistance?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:247
Maximum distance from at least one maxDistanceFrom reference.
maxDistanceFrom?
optionalmaxDistanceFrom?: readonly (string|HexCoordinates)[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:245
Reference tiles that the site must stay near.
maxElevation?
optionalmaxElevation?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:205
Maximum origin tile elevation.
maxPerTile?
optionalmaxPerTile?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:253
Maximum selected slots allowed on one tile.
minDistance?
optionalminDistance?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:243
Minimum distance from every minDistanceFrom reference.
minDistanceBetween?
optionalminDistanceBetween?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:251
Minimum distance between selected sites from the same selection call.
minDistanceFrom?
optionalminDistanceFrom?: readonly (string|HexCoordinates)[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:241
Reference tiles that the site must stay away from.
minElevation?
optionalminElevation?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:203
Minimum origin tile elevation.
prefer?
optionalprefer?: readonlyGameboardLayoutPreference[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:257
Weighted preferences used to score candidate sites.
requiredAdjacentPlacementKind?
optionalrequiredAdjacentPlacementKind?:GameboardPlacementKind| readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:215
Adjacent placement kinds that must be present.
requiredAdjacentPlacementLayer?
optionalrequiredAdjacentPlacementLayer?:GameboardPlacementLayer| readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:219
Adjacent placement layers that must be present.
requiredAdjacentTerrain?
optionalrequiredAdjacentTerrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:211
Adjacent terrain that must be present.
requireFootprintInBounds?
optionalrequireFootprintInBounds?:boolean
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:225
Reject sites whose footprint leaves the board.
requireFootprintUnoccupied?
optionalrequireFootprintUnoccupied?:boolean
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:227
Reject sites whose footprint has blocking occupancy.
slotGroup?
optionalslotGroup?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:255
Optional slot group used to share occupancy slots between compatible pieces.
terrain?
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:197
Allowed origin tile terrain.
tileTags?
optionaltileTags?: readonlystring[]
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?
optionalseed?: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
Omit<GameboardLayoutPlacementOptions,"assetId"|"count"|"seed"|"idPrefix">
Properties
archetype?
optionalarchetype?:GameboardLayoutArchetypeInput
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:430
Archetype id or inline archetype.
Inherited from
GameboardLayoutPlacementOptions.archetype
archetypes?
optionalarchetypes?: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?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:465
Single asset id used by the rule.
assets?
optionalassets?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:467
Asset ids cycled deterministically across selected sites.
count?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:469
Explicit placement count.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:446
Criteria merged over archetype defaults.
Inherited from
GameboardLayoutPlacementOptions.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
Inherited from
SpawnGameboardPlacementOptions.elevationOffset
fill?
optionalfill?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:471
Fraction of candidate sites to fill.
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:463
Stable rule id used in diagnostics and generated ids.
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:477
Prefix used when assigning deterministic placement ids.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:434
Placement kind override.
Inherited from
GameboardLayoutPlacementOptions.kind
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:436
Placement layer override.
Inherited from
GameboardLayoutPlacementOptions.layer
maxCount?
optionalmaxCount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:475
Maximum placement count after fill/count calculation.
metadata?
optionalmetadata?: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?
optionalminCount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:473
Minimum placement count after fill/count calculation.
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
Inherited from
SpawnGameboardPlacementOptions.occupancyGuard
onDiagnostics?
optionalonDiagnostics?: (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?
optionalorder?: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?
optionalpositionOffset?: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?
optionalrequiresExtra?: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?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:444
Rotation steps or deterministic random rotation.
Inherited from
Omit.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
Inherited from
SpawnGameboardPlacementOptions.scale
stackIndex?
optionalstackIndex?: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?
optionaltextureSet?:"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?
optionalarchetypeId?: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?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:501
Resolved placement kind.
layer?
optionallayer?: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?
optionalarchetypeId?: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
Omit<SpawnGameboardPlacementOptions,"at"|"id"|"kind"|"layer"|"rotationSteps">
Properties
archetype?
optionalarchetype?:GameboardLayoutArchetypeInput
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:430
Archetype id or inline archetype.
archetypes?
optionalarchetypes?: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?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:438
Number of placements to create.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:446
Criteria merged over archetype defaults.
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
Inherited from
SpawnGameboardPlacementOptions.elevationOffset
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:442
Prefix used when assigning deterministic placement ids.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:434
Placement kind override.
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:436
Placement layer override.
metadata?
optionalmetadata?: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?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
Inherited from
SpawnGameboardPlacementOptions.occupancyGuard
onDiagnostics?
optionalonDiagnostics?: (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?
optionalorder?: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?
optionalpositionOffset?: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?
optionalrequiresExtra?: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?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:444
Rotation steps or deterministic random rotation.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
Inherited from
SpawnGameboardPlacementOptions.scale
seed?
optionalseed?:string|number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:440
Seed used for site selection and random rotation.
stackIndex?
optionalstackIndex?: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?
optionaltextureSet?:"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
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?
optionalreason?: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?
optionalactorId?: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
SetGameboardMovementAgentOptionsGameboardMovementPathRequestOptionsAdvanceGameboardMovementOptions
Properties
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85
Placement ids ignored during pathing.
movementBudget?
optionalmovementBudget?:number
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83
Movement budget override.
navigation?
optionalnavigation?:GameboardNavigationProfile
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:87
Navigation profile overrides merged over the movement profile.
profile?
optionalprofile?:GameboardMovementProfileInput
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79
Movement profile id or inline profile.
profiles?
optionalprofiles?: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?
optionalallowOutOfRangePath?:boolean
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:103
Keep a found path even when it exceeds the current budget.
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85
Placement ids ignored during pathing.
Inherited from
GameboardMovementOptions.ignorePlacementIds
movementBudget?
optionalmovementBudget?:number
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83
Movement budget override.
Inherited from
GameboardMovementOptions.movementBudget
navigation?
optionalnavigation?: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?
optionalprofile?:GameboardMovementProfileInput
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79
Movement profile id or inline profile.
Inherited from
GameboardMovementOptions.profile
profiles?
optionalprofiles?: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
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
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
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
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
occupancy
occupancy:
GameboardOccupancyIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:117
Occupancy lookup for the plan/profile pair.
placementsAt
placementsAt: (
coordinates) => readonlyGameboardPlacementSpec[]
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
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?
optionalfrom?: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
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?
optionalallowedTerrain?: readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:57
Terrain values the profile may enter. Undefined means all except blocked terrain.
allowGoalBlocked?
optionalallowGoalBlocked?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:73
Whether the goal tile may be blocked.
allowStartBlocked?
optionalallowStartBlocked?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:71
Whether the start tile may be blocked.
blockedTerrain?
optionalblockedTerrain?: readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:59
Terrain values the profile may not enter.
blockingPlacementKinds?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:63
Placement kinds that block movement.
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:65
Placement layers that block movement.
canEnter?
optionalcanEnter?: (tile,context) =>boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:75
Optional custom tile-entry predicate.
Parameters
tile
context
Returns
boolean
cost?
optionalcost?: (from,to,baseCost) =>number
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:77
Optional custom movement-cost function.
Parameters
from
to
baseCost
number
Returns
number
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:67
Placement ids ignored by occupancy checks.
maxElevationStep?
optionalmaxElevationStep?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:69
Maximum allowed elevation change between adjacent tiles.
terrainCosts?
optionalterrainCosts?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardTileInspectionOptions.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardTileInspectionOptions.blockingPlacementLayers
canEnter?
optionalcanEnter?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:323
Filter by enterable state.
excludeTileTags?
optionalexcludeTileTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:321
Tile tags that must be absent.
hasActors?
optionalhasActors?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:325
Filter by actor presence.
hasHostiles?
optionalhasHostiles?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:327
Filter by hostile actor presence.
hasInteractive?
optionalhasInteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:329
Filter by interactive actor presence.
hasProps?
optionalhasProps?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:331
Filter by prop actor presence.
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardTileInspectionOptions.ignorePlacementIds
includeCenter?
optionalincludeCenter?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:313
Include the center tile in results. Defaults to true.
includeMissing?
optionalincludeMissing?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:315
Include missing tiles in results. Defaults to false.
radius?
optionalradius?:number
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:311
Hex radius around the center. Defaults to 1.
sourceActor?
optionalsourceActor?:string|Entity
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:248
Source actor used for collision interpretation.
Inherited from
GameboardTileInspectionOptions.sourceActor
terrain?
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:317
Required terrain or accepted terrains.
tileTags?
optionaltileTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:319
Required tile tags.
treatHostileAsBlocking?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardTileInspectionOptions.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardTileInspectionOptions.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalcoordinates?: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?
optionalelevation?: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?
optionalreason?: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
terrain?
optionalterrain?:GameboardTerrain
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:264
Tile terrain, when the tile exists.
Inherited from
GameboardTileInspection.terrain
tile?
optionaltile?: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
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, readonlyGameboardPlacementSpec[]>
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?
optionalactor?: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
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
entity
entity:
Entity
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:87
Live Koota entity.
Inherited from
GameboardPatrolSnapshot.entity
movement?
optionalmovement?: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
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?
optionalreason?: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?
optionalactorId?: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?
optionalreason?: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?
optionaltargetKey?: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?
optionalloop?:boolean
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:47
Whether the route loops back to the first waypoint.
segmentCosts?
optionalsegmentCosts?: readonlynumber[]
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?
optionalfromKey?: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?
optionaltoKey?: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?
optionalcommand?:Omit<RunGameboardInteractionOptions,"sourceActor"|"systems">
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:618
Command options for generated movement commands.
label?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:616
Base label for generated steps.
movement?
optionalmovement?:GameboardMovementPathRequestOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:620
Movement path options for generated movement commands.
rounds?
optionalrounds?: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?
optionalstepIdPrefix?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:614
Prefix for generated step ids.
systems?
optionalsystems?: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
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?
optionalactor?: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?
optionalspawnGroupId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:233
Spawn group id when sourced from a group.
spawnLocationIndex?
optionalspawnLocationIndex?: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
Omit<GameboardPieceLayoutRuleOptions,"assetId">
Properties
archetypes?
optionalarchetypes?: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?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:243
Explicit placement count.
Inherited from
GameboardPieceLayoutRuleOptions.count
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:253
Criteria merged over piece defaults.
Inherited from
GameboardPieceLayoutRuleOptions.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259
Vertical offset override.
Inherited from
GameboardPieceLayoutRuleOptions.elevationOffset
fill?
optionalfill?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:245
Fraction of candidate sites to fill.
Inherited from
GameboardPieceLayoutRuleOptions.fill
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:239
Fill rule id.
Inherited from
GameboardPieceLayoutRuleOptions.id
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:251
Prefix used for generated placement ids.
Inherited from
GameboardPieceLayoutRuleOptions.idPrefix
maxCount?
optionalmaxCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:249
Maximum placement count.
Inherited from
GameboardPieceLayoutRuleOptions.maxCount
metadata?
optionalmetadata?: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?
optionalminCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:247
Minimum placement count.
Inherited from
GameboardPieceLayoutRuleOptions.minCount
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265
Optional occupancy guard for spawned placements.
Inherited from
GameboardPieceLayoutRuleOptions.occupancyGuard
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263
Local-only asset override.
Inherited from
GameboardPieceLayoutRuleOptions.requiresExtra
rotationSteps?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:257
Rotation override.
Inherited from
GameboardPieceLayoutRuleOptions.rotationSteps
scale?
optionalscale?: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
Omit<GameboardPieceCompatibilityDeclarationOptions,"id"|"assetId">
Properties
archetype?
optionalarchetype?:GameboardLayoutArchetypeInput
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:51
Layout archetype id or inline archetype.
Inherited from
GameboardPieceDeclarationInput.archetype
assetIdPrefix?
optionalassetIdPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:90
Prefix added to generated asset ids.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:59
Layout criteria for selecting valid sites.
Inherited from
GameboardPieceDeclarationInput.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:65
Vertical offset above the tile elevation.
Inherited from
GameboardPieceDeclarationInput.elevationOffset
footprint?
optionalfootprint?:GameboardLayoutFootprintInput
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:57
Placement footprint.
Inherited from
GameboardPieceDeclarationInput.footprint
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:53
Placement kind override.
Inherited from
GameboardPieceDeclarationInput.kind
label?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:45
Human-readable label. Defaults from id.
Inherited from
GameboardPieceDeclarationInput.label
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:55
Placement layer override.
Inherited from
GameboardPieceDeclarationInput.layer
metadata?
optionalmetadata?: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?
optionaloverrides?:Readonly<Record<string,GameboardPieceCompatibilityDeclarationOptions>>
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:92
Per-report declaration overrides keyed by report id.
pieceIdPrefix?
optionalpieceIdPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:88
Prefix added to generated piece ids.
requiresExtra?
optionalrequiresExtra?: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?
optionalrole?:GameboardPieceRole
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:49
Placement role. Defaults from id heuristics.
Inherited from
GameboardPieceDeclarationInput.role
rotationSteps?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:61
Uniform render scale.
Inherited from
GameboardPieceDeclarationInput.scale
source?
optionalsource?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:47
Source pack or registry name.
Inherited from
GameboardPieceDeclarationInput.source
tags?
optionaltags?: readonlystring[]
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
Omit<GameboardPieceDeclarationInput,"id">
Properties
archetype?
optionalarchetype?:GameboardLayoutArchetypeInput
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:51
Layout archetype id or inline archetype.
Inherited from
GameboardPieceDeclarationInput.archetype
assetId?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:43
Render asset id. Defaults to id.
Inherited from
GameboardPieceDeclarationInput.assetId
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:59
Layout criteria for selecting valid sites.
Inherited from
GameboardPieceDeclarationInput.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:65
Vertical offset above the tile elevation.
Inherited from
GameboardPieceDeclarationInput.elevationOffset
footprint?
optionalfootprint?:GameboardLayoutFootprintInput
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:57
Placement footprint.
Inherited from
GameboardPieceDeclarationInput.footprint
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:79
Override piece id. Defaults to the compatibility report id.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:53
Placement kind override.
Inherited from
GameboardPieceDeclarationInput.kind
label?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:45
Human-readable label. Defaults from id.
Inherited from
GameboardPieceDeclarationInput.label
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:55
Placement layer override.
Inherited from
GameboardPieceDeclarationInput.layer
metadata?
optionalmetadata?: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?
optionalrequiresExtra?: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?
optionalrole?:GameboardPieceRole
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:49
Placement role. Defaults from id heuristics.
Inherited from
GameboardPieceDeclarationInput.role
rotationSteps?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:61
Uniform render scale.
Inherited from
GameboardPieceDeclarationInput.scale
source?
optionalsource?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:47
Source pack or registry name.
Inherited from
GameboardPieceDeclarationInput.source
tags?
optionaltags?: readonlystring[]
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?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:124
Vertical offset above the tile elevation.
footprint?
optionalfootprint?: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?
optionalkind?: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?
optionallayer?: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?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:122
Clockwise 60-degree rotation steps or random rotation.
scale?
optionalscale?: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?
optionalarchetype?:GameboardLayoutArchetypeInput
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:51
Layout archetype id or inline archetype.
assetId?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:43
Render asset id. Defaults to id.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:59
Layout criteria for selecting valid sites.
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:65
Vertical offset above the tile elevation.
footprint?
optionalfootprint?: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?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:53
Placement kind override.
label?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:45
Human-readable label. Defaults from id.
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:55
Placement layer override.
metadata?
optionalmetadata?: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?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:67
Whether the asset is local-only or EXTRA.
role?
optionalrole?:GameboardPieceRole
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:49
Placement role. Defaults from id heuristics.
rotationSteps?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:63
Clockwise 60-degree rotation steps or random rotation.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:61
Uniform render scale.
source?
optionalsource?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:47
Source pack or registry name.
tags?
optionaltags?: readonlystring[]
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?
optionalarchetypes?:Readonly<Record<string,GameboardLayoutArchetype>>
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:261
Archetype registry used by layout.
assetId?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:241
Asset id override.
count?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:243
Explicit placement count.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:253
Criteria merged over piece defaults.
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259
Vertical offset override.
fill?
optionalfill?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:245
Fraction of candidate sites to fill.
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:239
Fill rule id.
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:251
Prefix used for generated placement ids.
maxCount?
optionalmaxCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:249
Maximum placement count.
metadata?
optionalmetadata?:Readonly<Record<string,string|number|boolean|null>>
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:267
Metadata merged over piece metadata.
minCount?
optionalminCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:247
Minimum placement count.
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265
Optional occupancy guard for spawned placements.
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263
Local-only asset override.
rotationSteps?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:257
Rotation override.
scale?
optionalscale?: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
Omit<GameboardPieceLayoutRuleOptions,"fill"|"minCount"|"maxCount">
Properties
archetypes?
optionalarchetypes?:Readonly<Record<string,GameboardLayoutArchetype>>
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:295
Archetype registry used by layout.
Overrides
GameboardPieceLayoutRuleOptions.archetypes
assetId?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:241
Asset id override.
Inherited from
GameboardPieceLayoutRuleOptions.assetId
count?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:243
Explicit placement count.
Inherited from
GameboardPieceLayoutRuleOptions.count
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:253
Criteria merged over piece defaults.
Inherited from
GameboardPieceLayoutRuleOptions.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259
Vertical offset override.
Inherited from
GameboardPieceLayoutRuleOptions.elevationOffset
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:239
Fill rule id.
Inherited from
GameboardPieceLayoutRuleOptions.id
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:251
Prefix used for generated placement ids.
Inherited from
GameboardPieceLayoutRuleOptions.idPrefix
metadata?
optionalmetadata?: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?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265
Optional occupancy guard for spawned placements.
Inherited from
GameboardPieceLayoutRuleOptions.occupancyGuard
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263
Local-only asset override.
Inherited from
GameboardPieceLayoutRuleOptions.requiresExtra
rotationSteps?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:257
Rotation override.
Inherited from
GameboardPieceLayoutRuleOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:255
Uniform render scale override.
Inherited from
GameboardPieceLayoutRuleOptions.scale
seed?
optionalseed?: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
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?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:177
Check id used in diagnostics.
mode?
optionalmode?:GameboardPieceRegistryAnalysisCheckMode
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:179
Check mode.
selection?
optionalselection?: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
Omit<GameboardPieceLayoutRuleOptions,"id"|"assetId">
Properties
archetypes?
optionalarchetypes?: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?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:243
Explicit placement count.
Inherited from
GameboardPieceLayoutRuleOptions.count
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:253
Criteria merged over piece defaults.
Inherited from
GameboardPieceLayoutRuleOptions.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259
Vertical offset override.
Inherited from
GameboardPieceLayoutRuleOptions.elevationOffset
fill?
optionalfill?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:245
Fraction of candidate sites to fill.
Inherited from
GameboardPieceLayoutRuleOptions.fill
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:251
Prefix used for generated placement ids.
Inherited from
GameboardPieceLayoutRuleOptions.idPrefix
maxCount?
optionalmaxCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:249
Maximum placement count.
Inherited from
GameboardPieceLayoutRuleOptions.maxCount
metadata?
optionalmetadata?: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?
optionalminCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:247
Minimum placement count.
Inherited from
GameboardPieceLayoutRuleOptions.minCount
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265
Optional occupancy guard for spawned placements.
Inherited from
GameboardPieceLayoutRuleOptions.occupancyGuard
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263
Local-only asset override.
Inherited from
GameboardPieceLayoutRuleOptions.requiresExtra
rotationSteps?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:257
Rotation override.
Inherited from
GameboardPieceLayoutRuleOptions.rotationSteps
ruleIdPrefix?
optionalruleIdPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:284
Prefix applied to generated rule ids.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:255
Uniform render scale override.
Inherited from
GameboardPieceLayoutRuleOptions.scale
selection?
optionalselection?: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?
optionalassetIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:159
Asset ids to include.
excludeTags?
optionalexcludeTags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:167
Tags that must all be absent.
ids?
optionalids?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:157
Piece ids to include.
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:169
Filter by local-only or EXTRA requirement.
roles?
optionalroles?: readonlyGameboardPieceRole[]
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:161
Piece roles to include.
sources?
optionalsources?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:163
Source names to include.
tags?
optionaltags?: readonlystring[]
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?
optionalencode?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:307
Encode path components when joining URLs.
sourceRoot?
optionalsourceRoot?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:303
Default root URL or path for source-relative assets.
sourceRoots?
optionalsourceRoots?: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?
optionalanimationUrlResolver?: (placement) =>string|undefined
Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:47
App-specific animation URL resolver.
Parameters
placement
Returns
string | undefined
animationUrls?
optionalanimationUrls?: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?
optionalassetUrls?: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?
optionalbaseUrl?: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?
optionalbootstrapAssetRoot?: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 —
<bootstrapAssetRoot>/<sourcePath> (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?
optionalcatalog?: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?
optionaleditionBaseUrls?: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?
optionalfallback?: (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
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?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:249
Placement ids ignored when checking blockers, usually the moving entity.
requireUnblocked?
optionalrequireUnblocked?: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?
optionalreason?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:32
Placement kinds that should block occupancy by default.
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:34
Placement layers that should block occupancy by default.
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/gameboard/occupancy.ts:36
Placement ids ignored by blocking checks.
includeLayoutFootprint?
optionalincludeLayoutFootprint?: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?
optionalx?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:286
X-axis world offset.
y?
optionaly?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:288
Y-axis world offset.
z?
optionalz?: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?
optionalstackIndex?: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?
optionalplacements?: readonlyGameboardPlacementSpec[]
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?
optionaltextureSet?:"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?
optionalwarnings?: readonlystring[]
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
readonlyplacementsByTile:ReadonlyMap<string, readonlyGameboardPlacementSpec[]>
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:233
Placement specs grouped by their tile's q,r hexKey.
tilesByKey
readonlytilesByKey: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?
optionaldefaultTerrain?:"grass"|"water"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:119
Initial terrain used for every generated tile.
seed?
optionalseed?: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?
optionaltextureSet?:"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?
optionalallowUnknownAssetIds?: readonlystring[]
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?
optionalallowUnknownAssets?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:29
Whether unknown asset ids are allowed.
assetCatalog?
optionalassetCatalog?:ManifestAssetCatalog
Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:27
Optional manifest catalog used to validate asset ids and editions.
forbidStructuresOnWater?
optionalforbidStructuresOnWater?: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?
optionalmaxElevation?:number
Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:27
Maximum allowed tile elevation.
Inherited from
GameboardRuleConfig.maxElevation
registry?
optionalregistry?:HexTileRegistry
Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:23
Optional tile declaration registry for declaration-aware validation.
requireCoastsTouchWater?
optionalrequireCoastsTouchWater?: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?
optionalrequireExtraAssetFlags?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:33
Whether EXTRA assets must be marked with requiresExtra.
requireHarborsTouchWater?
optionalrequireHarborsTouchWater?: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?
optionalrequireReciprocalRivers?: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?
optionalrequireReciprocalRoads?: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?
optionalvalidatePlacementBlockingOverlap?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:37
Whether blocking placements may overlap.
validatePlacementFootprints?
optionalvalidatePlacementFootprints?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/validation.ts:35
Whether placement layout footprints must point at existing tiles.
validateRegisteredDeclarations?
optionalvalidateRegisteredDeclarations?: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
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?
optionalbefore?: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?
optionalbefore?: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?
optionalreason?: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?
optionalbefore?: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?
optionalmetadata?: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?
optionaltitle?: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?
optionalactiveObjectiveId?: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?
optionalcollision?: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?
optionalsource?:GameboardActorSnapshot
Defined in: packages/declarative-hex-worlds/src/quests/quests.ts:118
Source actor, when resolved.
target?
optionaltarget?: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
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?
optionalgeneration?: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
readonlyactions: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
Returns
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
actors
readonlyactors: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
command
command: (
target,options) =>GameboardInteractionCommand
Plan a high-level interaction command from a target input.
Parameters
target
GameboardInteractionTargetInput
options?
GameboardInteractionCommandOptions = {}
Returns
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
navigationProfile: (
actor,options) =>GameboardNavigationProfile
Create an actor-aware navigation profile.
Parameters
actor
string | Entity
options?
GameboardActorNavigationOptions = {}
Returns
neighborhood
neighborhood: (
center,options) =>GameboardNeighborhoodInspection
Inspect a radius of tiles around a center.
Parameters
center
options?
GameboardNeighborhoodInspectionOptions = {}
Returns
GameboardNeighborhoodInspection
read
read: () =>
GameboardActorSnapshot[]
Read all registered actors.
Returns
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
spawn
spawn: (
options) =>Entity
Spawn a placement and register it as an actor.
Parameters
options
Returns
Entity
targets
targets: (
options) =>GameboardActorTargetingReport
Select and path to candidate actor targets.
Parameters
options
GameboardActorTargetingOptions
Returns
tile
tile: (
coordinates,options) =>GameboardTileInspection
Inspect one tile from an actor/gameplay perspective.
Parameters
coordinates
string | HexCoordinates
options?
GameboardTileInspectionOptions = {}
Returns
update
update: (
actor,options) =>Entity
Update actor trait state while preserving omitted fields.
Parameters
actor
string | Entity
options
Returns
Entity
Inherited from
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?
Returns
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?
Returns
Inherited from
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
Returns
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
fills
readonly SeededGameboardPieceFillOptions[]
options?
InspectSeededGameboardPieceFillsOptions
Returns
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
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
readonlycommands: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
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
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
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
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?
Returns
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?
Returns
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
options?
GameboardPieceRegistryFillRulesOptions
Returns
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
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
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
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
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
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
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
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
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
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
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
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
Inherited from
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
Inherited from
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
Returns
Inherited from
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
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?
Returns
Entity
Inherited from
movement
readonlymovement: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?
Returns
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) => readonlyEntity[]
Reset movement budget for one or all movement agents.
Parameters
placement?
string | Entity
options?
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
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
readonlypatrol: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
clear
clear: (
placement) =>Entity
Remove patrol traits from a placement.
Parameters
placement
string | Entity
Returns
Entity
read
read: () =>
GameboardPatrolSnapshot[]
Read all patrol snapshots.
Returns
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
plan
plan: () =>
GameboardPlan
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:324
Project the live world to a renderable plan.
Returns
Inherited from
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
Inherited from
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
readonlyquests: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
advanceAll
advanceAll: (
options) =>GameboardQuestSnapshot[]
Advance every quest entity.
Parameters
options?
AdvanceGameboardQuestOptions = {}
Returns
find
find: (
quest) =>GameboardQuestSnapshot|undefined
Find one quest snapshot.
Parameters
quest
string | Entity
Returns
GameboardQuestSnapshot | undefined
read
read: () =>
GameboardQuestSnapshot[]
Read all quest snapshots.
Returns
spawn
spawn: (
definition,options) =>Entity
Spawn a quest entity.
Parameters
definition
options?
SpawnGameboardQuestOptions = {}
Returns
Entity
Inherited from
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
Inherited from
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
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
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
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
Inherited from
recipe
readonlyrecipe:GameboardRecipe
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:656
Source recipe used to create the runtime.
recipeLayoutArchetypes?
readonlyoptionalrecipeLayoutArchetypes?:Readonly<Record<string,GameboardLayoutArchetype>>
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:658
Layout archetypes declared by the recipe.
recipePieceRegistry?
readonlyoptionalrecipePieceRegistry?: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
Inherited from
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
selection?
GameboardPieceRegistrySelection
Returns
Inherited from
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
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
Inherited from
spawnActor
spawnActor: (
options) =>Entity
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:520
Spawn an actor-backed placement.
Parameters
options
Returns
Entity
Inherited from
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
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
options?
GameboardPiecePlacementOptions
Returns
Entity[]
Inherited from
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
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
options?
Returns
Entity
Inherited from
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?
Returns
Inherited from
GameboardRuntime.summarizePlan
systems
readonlysystems: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
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
Inherited from
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?
Returns
Inherited from
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
Returns
Entity
Inherited from
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
Inherited from
GameboardRuntime.validationPlan
world
readonlyworld:World
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:306
Bound Koota world.
Inherited from
GameboardRecipeGeneration
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:74
Seeded generation configuration embedded in a recipe.
Properties
layoutArchetypes?
optionallayoutArchetypes?: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?
optionallayoutFills?: readonlyGameboardLayoutFillRule[]
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:80
Rules that spawn placements directly from layout archetypes.
layoutFillSeed?
optionallayoutFillSeed?:string|number
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:78
Seed used by layout fill spawning.
pieceDeclarations?
optionalpieceDeclarations?: readonlyGameboardPieceDeclarationInput[]
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:82
Piece declarations used by seeded piece fill rules.
pieceFills?
optionalpieceFills?: readonlySeededGameboardPieceFillOptions[]
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?
optionaloverrides?:Partial<GameboardPlanOptions>
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:367
Plan option overrides applied before validating the compiled plan.
plan?
optionalplan?: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?
optionalplan?: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?
optionalforbidStructuresOnWater?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:35
Whether structure placements are forbidden on water tiles.
maxElevation?
optionalmaxElevation?:number
Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:27
Maximum allowed tile elevation.
requireCoastsTouchWater?
optionalrequireCoastsTouchWater?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:33
Whether coast edges should face adjacent water tiles.
requireHarborsTouchWater?
optionalrequireHarborsTouchWater?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:37
Whether harbor placements must face adjacent water tiles.
requireReciprocalRivers?
optionalrequireReciprocalRivers?:boolean
Defined in: packages/declarative-hex-worlds/src/rules/rule-types.ts:31
Whether river edges must connect back from neighboring tiles.
requireReciprocalRoads?
optionalrequireReciprocalRoads?: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?
optionalplacementId?: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?
optionaltileKey?: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
readonlyactions: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
Returns
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
readonlyactors: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
command
command: (
target,options) =>GameboardInteractionCommand
Plan a high-level interaction command from a target input.
Parameters
target
GameboardInteractionTargetInput
options?
GameboardInteractionCommandOptions = {}
Returns
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
navigationProfile: (
actor,options) =>GameboardNavigationProfile
Create an actor-aware navigation profile.
Parameters
actor
string | Entity
options?
GameboardActorNavigationOptions = {}
Returns
neighborhood
neighborhood: (
center,options) =>GameboardNeighborhoodInspection
Inspect a radius of tiles around a center.
Parameters
center
options?
GameboardNeighborhoodInspectionOptions = {}
Returns
GameboardNeighborhoodInspection
read
read: () =>
GameboardActorSnapshot[]
Read all registered actors.
Returns
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
spawn
spawn: (
options) =>Entity
Spawn a placement and register it as an actor.
Parameters
options
Returns
Entity
targets
targets: (
options) =>GameboardActorTargetingReport
Select and path to candidate actor targets.
Parameters
options
GameboardActorTargetingOptions
Returns
tile
tile: (
coordinates,options) =>GameboardTileInspection
Inspect one tile from an actor/gameplay perspective.
Parameters
coordinates
string | HexCoordinates
options?
GameboardTileInspectionOptions = {}
Returns
update
update: (
actor,options) =>Entity
Update actor trait state while preserving omitted fields.
Parameters
actor
string | Entity
options
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?
Returns
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?
Returns
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
Returns
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
fills
readonly SeededGameboardPieceFillOptions[]
options?
InspectSeededGameboardPieceFillsOptions
Returns
analyzePieceRegistry
analyzePieceRegistry: (
registry,options?) =>GameboardPieceRegistryAnalysis
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:477
Analyze a custom piece registry.
Parameters
registry
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
readonlycommands: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
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
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
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?
Returns
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?
Returns
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
options?
GameboardPieceRegistryFillRulesOptions
Returns
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
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
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
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
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
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
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
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
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
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
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
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
Returns
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?
Returns
Entity
movement
readonlymovement: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?
Returns
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) => readonlyEntity[]
Reset movement budget for one or all movement agents.
Parameters
placement?
string | Entity
options?
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
readonlypatrol: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
clear
clear: (
placement) =>Entity
Remove patrol traits from a placement.
Parameters
placement
string | Entity
Returns
Entity
read
read: () =>
GameboardPatrolSnapshot[]
Read all patrol snapshots.
Returns
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
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
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
readonlyquests: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
advanceAll
advanceAll: (
options) =>GameboardQuestSnapshot[]
Advance every quest entity.
Parameters
options?
AdvanceGameboardQuestOptions = {}
Returns
find
find: (
quest) =>GameboardQuestSnapshot|undefined
Find one quest snapshot.
Parameters
quest
string | Entity
Returns
GameboardQuestSnapshot | undefined
read
read: () =>
GameboardQuestSnapshot[]
Read all quest snapshots.
Returns
spawn
spawn: (
definition,options) =>Entity
Spawn a quest entity.
Parameters
definition
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
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
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
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
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
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
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
selection?
GameboardPieceRegistrySelection
Returns
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
snapshot
snapshot: (
options?) =>GameboardRuntimeSnapshot
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:330
Read a serializable runtime snapshot.
Parameters
options?
GameboardRuntimeSnapshotOptions
Returns
spawnActor
spawnActor: (
options) =>Entity
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:520
Spawn an actor-backed placement.
Parameters
options
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
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
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
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
options?
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?
Returns
systems
readonlysystems: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
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
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?
Returns
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
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
world
readonlyworld: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?
optionalincludeActors?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:500
Include actor entities and relations.
includePlacements?
optionalincludePlacements?: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?
optionalincludeQuests?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:502
Include quest entities and relations.
spawnLocations?
optionalspawnLocations?: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?
optionalactors?: readonlyGameboardActorSnapshot[]
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?
optionalquests?: readonlyGameboardQuestSnapshot[]
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:490
Runtime quest snapshots.
scenario?
optionalscenario?: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?
optionalinterop?: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?
optionalvalidationPlan?: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?
optionalincludeInterop?:boolean
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:268
Include a runtime interop snapshot. Defaults to true.
includePlacements?
optionalincludePlacements?: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?
optionalincludeValidationPlan?:boolean
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:270
Include the validation-oriented plan projection.
spawnLocations?
optionalspawnLocations?: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?
optionalactors?: readonlyGameboardScenarioActor[]
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?
optionalmetadata?:Readonly<Record<string,string|number|boolean|null>>
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:114
Additional serializable scenario metadata.
patrolRoutes?
optionalpatrolRoutes?: readonlyGameboardScenarioPatrolRoute[]
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:108
Deterministic patrol route rules for scenario actors.
quests?
optionalquests?: readonlyGameboardQuestDefinition[]
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?
optionalspawnGroups?:GameboardSpawnGroupOptions
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:106
Deterministic spawn group rules for scenario actors.
title?
optionaltitle?: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
Omit<SpawnGameboardActorOptions,"at">
Properties
actorId
actorId:
string
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:54
Stable gameplay actor id.
Inherited from
GameboardActorRegistrationOptions.actorId
actorKind?
optionalactorKind?:GameboardActorKind
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56
Gameplay actor kind. Defaults from placement kind.
Inherited from
GameboardActorRegistrationOptions.actorKind
actorMetadata?
optionalactorMetadata?: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?
optionalat?: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?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64
Whether this actor blocks actor movement.
Inherited from
GameboardActorRegistrationOptions.blocksMovement
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
Inherited from
SpawnGameboardPlacementOptions.elevationOffset
faction?
optionalfaction?:string|null
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58
Optional faction identifier.
Inherited from
GameboardActorRegistrationOptions.faction
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62
Whether this actor is generally hostile.
Inherited from
GameboardActorRegistrationOptions.hostile
id?
optionalid?: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?
optionalinteractive?: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?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306
Render and occupancy layer. Defaults from kind.
Inherited from
SpawnGameboardPlacementOptions.layer
metadata?
optionalmetadata?: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?
optionalmovementAgent?:SetGameboardMovementAgentOptions
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:64
Optional movement agent to attach after spawning.
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
Inherited from
SpawnGameboardPlacementOptions.occupancyGuard
order?
optionalorder?: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?
optionalpatrolAgent?:GameboardScenarioActorPatrolAgent
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:66
Optional patrol agent to attach after spawning.
positionOffset?
optionalpositionOffset?: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?
optionalrequiresExtra?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314
Clockwise 60-degree rotation steps.
Inherited from
SpawnGameboardPlacementOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
Inherited from
SpawnGameboardPlacementOptions.scale
spawnGroupId?
optionalspawnGroupId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:60
Spawn group id to claim a deterministic spawn location from.
spawnLocationIndex?
optionalspawnLocationIndex?:number
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:62
Explicit spawn location index inside the referenced spawn group.
stackIndex?
optionalstackIndex?: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?
optionaltags?: readonlystring[]
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?
optionalteam?: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?
optionaltextureSet?:"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
Omit<SetGameboardPatrolAgentOptions,"route">
Properties
active?
optionalactive?:boolean
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:63
Whether the patrol starts active.
Inherited from
SetGameboardPatrolAgentOptions.active
alignToCurrentTile?
optionalalignToCurrentTile?: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?
optionalcurrentWaypointIndex?:number
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:59
Starting waypoint index.
Inherited from
SetGameboardPatrolAgentOptions.currentWaypointIndex
movement?
optionalmovement?:GameboardMovementPathRequestOptions
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:67
Movement options used when requesting segment movement.
Inherited from
SetGameboardPatrolAgentOptions.movement
pauseTicks?
optionalpauseTicks?: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?
optionalmovementProfileId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:211
Movement profile id, when a movement agent is authored.
patrolRouteId?
optionalpatrolRouteId?: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?
optionalspawnGroupId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:207
Referenced spawn group, when any.
spawnLocationIndex?
optionalspawnLocationIndex?: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?
optionalteam?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:215
Team or faction id used for interaction logic.
tileKey?
optionaltileKey?: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
readonlyactions: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
Returns
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
actorEntities
readonlyactorEntities:Readonly<Record<string,Entity>>
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:623
Scenario actor entity index by actor id.
actors
readonlyactors: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
command
command: (
target,options) =>GameboardInteractionCommand
Plan a high-level interaction command from a target input.
Parameters
target
GameboardInteractionTargetInput
options?
GameboardInteractionCommandOptions = {}
Returns
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
navigationProfile: (
actor,options) =>GameboardNavigationProfile
Create an actor-aware navigation profile.
Parameters
actor
string | Entity
options?
GameboardActorNavigationOptions = {}
Returns
neighborhood
neighborhood: (
center,options) =>GameboardNeighborhoodInspection
Inspect a radius of tiles around a center.
Parameters
center
options?
GameboardNeighborhoodInspectionOptions = {}
Returns
GameboardNeighborhoodInspection
read
read: () =>
GameboardActorSnapshot[]
Read all registered actors.
Returns
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
spawn
spawn: (
options) =>Entity
Spawn a placement and register it as an actor.
Parameters
options
Returns
Entity
targets
targets: (
options) =>GameboardActorTargetingReport
Select and path to candidate actor targets.
Parameters
options
GameboardActorTargetingOptions
Returns
tile
tile: (
coordinates,options) =>GameboardTileInspection
Inspect one tile from an actor/gameplay perspective.
Parameters
coordinates
string | HexCoordinates
options?
GameboardTileInspectionOptions = {}
Returns
update
update: (
actor,options) =>Entity
Update actor trait state while preserving omitted fields.
Parameters
actor
string | Entity
options
Returns
Entity
Inherited from
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?
Returns
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?
Returns
Inherited from
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
Returns
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
fills
readonly SeededGameboardPieceFillOptions[]
options?
InspectSeededGameboardPieceFillsOptions
Returns
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
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
readonlycommands: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
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
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
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
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?
Returns
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?
Returns
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
options?
GameboardPieceRegistryFillRulesOptions
Returns
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
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
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
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
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
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
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
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
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
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
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
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
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
Inherited from
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
Inherited from
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
Returns
Inherited from
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
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?
Returns
Entity
Inherited from
movement
readonlymovement: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?
Returns
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) => readonlyEntity[]
Reset movement budget for one or all movement agents.
Parameters
placement?
string | Entity
options?
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
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
readonlypatrol: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
clear
clear: (
placement) =>Entity
Remove patrol traits from a placement.
Parameters
placement
string | Entity
Returns
Entity
read
read: () =>
GameboardPatrolSnapshot[]
Read all patrol snapshots.
Returns
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
patrolRoutes?
readonlyoptionalpatrolRoutes?: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
Inherited from
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
Inherited from
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
readonlyquestEntities:Readonly<Record<string,Entity>>
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:625
Scenario quest entity index by quest id.
quests
readonlyquests: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
advanceAll
advanceAll: (
options) =>GameboardQuestSnapshot[]
Advance every quest entity.
Parameters
options?
AdvanceGameboardQuestOptions = {}
Returns
find
find: (
quest) =>GameboardQuestSnapshot|undefined
Find one quest snapshot.
Parameters
quest
string | Entity
Returns
GameboardQuestSnapshot | undefined
read
read: () =>
GameboardQuestSnapshot[]
Read all quest snapshots.
Returns
spawn
spawn: (
definition,options) =>Entity
Spawn a quest entity.
Parameters
definition
options?
SpawnGameboardQuestOptions = {}
Returns
Entity
Inherited from
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
Inherited from
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
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
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
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
Inherited from
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?
readonlyoptionalscenarioLayoutArchetypes?:Readonly<Record<string,GameboardLayoutArchetype>>
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:631
Layout archetypes declared by the scenario recipe.
scenarioPieceRegistry?
readonlyoptionalscenarioPieceRegistry?:GameboardPieceRegistry
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:633
Piece registry declared by the scenario recipe.
scenarioRuntime
readonlyscenarioRuntime: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
Inherited from
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
selection?
GameboardPieceRegistrySelection
Returns
Inherited from
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
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
Inherited from
spawnActor
spawnActor: (
options) =>Entity
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:520
Spawn an actor-backed placement.
Parameters
options
Returns
Entity
Inherited from
spawnGroups?
readonlyoptionalspawnGroups?: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
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
options?
GameboardPiecePlacementOptions
Returns
Entity[]
Inherited from
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
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
options?
Returns
Entity
Inherited from
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?
Returns
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
systems
readonlysystems: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
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
Inherited from
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?
Returns
Inherited from
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
Returns
Entity
Inherited from
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
Inherited from
GameboardRuntime.validationPlan
world
readonlyworld:World
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:306
Bound Koota world.
Inherited from
GameboardScenarioInteropOptions
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:458
Options for scenario interop snapshots.
Extends
Properties
includeActors?
optionalincludeActors?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:460
Include resolved actor entities and relations.
includePatrolRoutes?
optionalincludePatrolRoutes?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:466
Include patrol-route entities and relations.
includePlacements?
optionalincludePlacements?: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?
optionalincludeQuests?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:462
Include quest entities and relations.
includeSpawnGroups?
optionalincludeSpawnGroups?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:464
Include spawn-group entities and relations.
spawnLocations?
optionalspawnLocations?: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?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:73
Requested waypoint count.
Inherited from
GameboardPatrolRouteRule.count
edgePadding?
optionaledgePadding?: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?
optionalelevation?: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?
optionalexcludeTileTags?: readonlystring[]
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?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:91
Prefix used for generated spawn ids.
Inherited from
loop?
optionalloop?: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?
optionalmaxElevation?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:30
Maximum candidate elevation.
Inherited from
GameboardPatrolRouteRule.maxElevation
minDistance?
optionalminDistance?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:85
Minimum axial distance between returned spawn coordinates.
Inherited from
SpawnLocationOptions.minDistance
minElevation?
optionalminElevation?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:28
Minimum candidate elevation.
Inherited from
GameboardPatrolRouteRule.minElevation
profile?
optionalprofile?: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?
optionalrequireCompleteRoute?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:87
Treat missing route segments as errors.
Inherited from
GameboardPatrolRouteRule.requireCompleteRoute
routeProfile?
optionalrouteProfile?:GameboardNavigationProfile
Defined in: packages/declarative-hex-worlds/src/gameboard/patrol-routes.ts:83
Navigation profile used for route segments.
Inherited from
GameboardPatrolRouteRule.routeProfile
seed?
optionalseed?:string|number
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:79
Seed used when candidate order must be randomized.
Inherited from
start?
optionalstart?: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?
optionalstartGroupId?: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?
optionalstartLocationIndex?: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?
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
Defined in: packages/declarative-hex-worlds/src/gameboard/spawn-groups.ts:26
Allowed terrain for spawn candidates.
Inherited from
GameboardPatrolRouteRule.terrain
tileTags?
optionaltileTags?: readonlystring[]
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?
optionalpatrolRoutes?: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?
optionalspawnGroups?: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?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:528
Expected actor placement asset id.
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:516
Expected movement-blocking flag.
exists?
optionalexists?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:506
Whether the actor is expected to exist.
faction?
optionalfaction?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:510
Expected actor faction.
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:514
Expected hostile flag.
interactive?
optionalinteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:518
Expected interactive flag.
kind?
optionalkind?:GameboardActorKind
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:508
Expected actor kind.
metadata?
optionalmetadata?:Readonly<Record<string,GameboardActorMetadataValue>>
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:522
Actor metadata entries that must match.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:526
Expected actor placement id.
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:520
Actor tags that must be present.
team?
optionalteam?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:512
Expected actor team.
tileKey?
optionaltileKey?: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?
optionalfaction?: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?
optionalteam?: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?
optionalcommand?:Omit<RunGameboardInteractionOptions,"systems"|"handlers">
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:133
Command execution options excluding systems and handlers.
handler?
optionalhandler?:"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?
optionalhandlerOptions?:CreateGameboardInteractionHandlerPresetOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:139
Options for built-in command handler presets.
handlers?
optionalhandlers?: 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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
requireReachable?
optionalrequireReachable?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:127
Require the selected target to be reachable.
sourceActor?
optionalsourceActor?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:123
Source actor id.
systems?
optionalsystems?: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?
optionaltargetActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:125
Optional exact target actor id.
targeting?
optionaltargeting?: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?
optionalapproachTileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:836
Approach tile key when one was selected.
commandActorId?
optionalcommandActorId?: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?
optionalcommandPlacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:858
Planned command placement id.
commandReason?
optionalcommandReason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:854
Planned command failure reason.
commandTileKey?
optionalcommandTileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:856
Planned command tile key.
faction?
optionalfaction?: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?
optionalhostileToSource?: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?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:840
Optional unreachable or command reason.
team?
optionalteam?: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?
optionalnearestActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:368
Expected nearest target actor id.
nearestApproach?
optionalnearestApproach?:GameboardActorTargetApproach|"self"|"none"
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:370
Expected nearest target approach.
nearestApproachTileKey?
optionalnearestApproachTileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:372
Expected nearest target approach tile key.
nearestPathCost?
optionalnearestPathCost?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:378
Expected nearest target path cost.
nearestPathFound?
optionalnearestPathFound?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:376
Expected nearest target path-found flag.
nearestPathKeys?
optionalnearestPathKeys?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:380
Expected nearest target path tile keys.
nearestReachable?
optionalnearestReachable?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:374
Expected nearest target reachability.
reachableActorIds?
optionalreachableActorIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:366
Exact reachable actor ids expected in the report.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:402
Expected target report reason.
sourceActorId?
optionalsourceActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:362
Expected source actor id.
stepId?
optionalstepId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:358
Step id that should emit the target report.
stepIndex?
optionalstepIndex?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:360
Step index that should emit the target report.
targetActorId?
optionaltargetActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:382
Specific target actor id to inspect.
targetActorIds?
optionaltargetActorIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:364
Exact target actor ids expected in the report.
targetApproach?
optionaltargetApproach?:GameboardActorTargetApproach|"self"|"none"
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:386
Expected specific target approach.
targetApproachTileKey?
optionaltargetApproachTileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:388
Expected specific target approach tile key.
targetCommandCanExecute?
optionaltargetCommandCanExecute?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:400
Expected specific target command executability.
targetCommandIntent?
optionaltargetCommandIntent?:GameboardInteractionIntent
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:398
Expected specific target command intent.
targetCommandKind?
optionaltargetCommandKind?:GameboardInteractionCommandKind
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:396
Expected specific target command kind.
targetPathCost?
optionaltargetPathCost?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:392
Expected specific target path cost.
targetPathFound?
optionaltargetPathFound?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:390
Expected specific target path-found flag.
targetPathKeys?
optionaltargetPathKeys?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:394
Expected specific target path tile keys.
targetReachable?
optionaltargetReachable?: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?
optionalnearestTarget?: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?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:808
Optional targeting failure reason.
sourceActorId?
optionalsourceActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:794
Source actor id.
sourcePlacementId?
optionalsourcePlacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:796
Source placement id.
sourceTileKey?
optionalsourceTileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:798
Source tile key.
stepId?
optionalstepId?: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?
optionalstepLabel?: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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
sourceActor?
optionalsourceActor?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:152
Source actor id.
targeting?
optionaltargeting?: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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:328
Expected command actor id.
canExecute?
optionalcanExecute?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:320
Expected command executability.
effectTypes?
optionaleffectTypes?: 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?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:334
Expected handler id.
handlerStatus?
optionalhandlerStatus?:GameboardInteractionHandlerStatus
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:336
Expected handler status.
intent?
optionalintent?:GameboardInteractionIntent
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:316
Expected command intent.
kind?
optionalkind?:GameboardInteractionCommandKind
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:314
Expected command kind.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:326
Expected command placement id.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:322
Expected command reason.
sourceActorId?
optionalsourceActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:330
Expected source actor id.
sourcePlacementId?
optionalsourcePlacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:332
Expected source placement id.
status?
optionalstatus?:GameboardInteractionExecutionStatus
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:318
Expected command status.
stepId?
optionalstepId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:310
Step id that should emit the command.
stepIndex?
optionalstepIndex?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:312
Step index that should emit the command.
targetActorId?
optionaltargetActorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:348
Expected target actor id.
targetCanEnter?
optionaltargetCanEnter?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:350
Expected target enterability.
targetIntent?
optionaltargetIntent?:GameboardInteractionIntent
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:342
Expected target intent.
targetKind?
optionaltargetKind?:GameboardInteractionTargetKind
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:340
Expected target kind.
targetPlacementId?
optionaltargetPlacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:346
Expected target placement id.
targetTileKey?
optionaltargetTileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:344
Expected target tile key.
tileKey?
optionaltileKey?: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?
optionalstepId?: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?
optionalstepLabel?: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?
optionalcommand?:Omit<RunGameboardInteractionOptions,"systems"|"handlers">
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:103
Command execution options excluding systems and handlers.
handler?
optionalhandler?:"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?
optionalhandlerOptions?:CreateGameboardInteractionHandlerPresetOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:109
Options for built-in command handler presets.
handlers?
optionalhandlers?: 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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
sourceActor?
optionalsourceActor?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:101
Source actor id used when the target must be planned.
systems?
optionalsystems?: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?
optionalactual?:unknown
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:582
Actual value.
expected?
optionalexpected?: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?
optionalactors?: readonlyGameboardScenarioSimulationActorExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:298
Final actor-state expectations.
actorTargets?
optionalactorTargets?: readonlyGameboardScenarioSimulationActorTargetsExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:290
Actor-target report expectations.
commands?
optionalcommands?: readonlyGameboardScenarioSimulationCommandExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:288
Command expectations.
eventTypes?
optionaleventTypes?: 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?
optionalmovements?: readonlyGameboardScenarioSimulationMovementExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:294
Movement event expectations.
mutations?
optionalmutations?: readonlyGameboardScenarioSimulationMutationExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:296
Mutation expectations.
patrols?
optionalpatrols?: readonlyGameboardScenarioSimulationPatrolExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:292
Patrol event expectations.
placements?
optionalplacements?: readonlyGameboardScenarioSimulationPlacementExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:300
Final placement-state expectations.
quests?
optionalquests?: readonlyGameboardScenarioSimulationQuestExpectation[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:302
Final quest-state expectations.
requiredEventTypes?
optionalrequiredEventTypes?: 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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:416
Expected actor id.
assetId?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:422
Expected placement asset id.
cost?
optionalcost?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:438
Expected planned path cost.
destinationKey?
optionaldestinationKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:430
Expected movement destination key.
eventType?
optionaleventType?:"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?
optionalmoved?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:426
Expected moved flag.
nextIndex?
optionalnextIndex?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:436
Expected next path index.
pathIncludes?
optionalpathIncludes?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:434
Path tile keys that must be included.
pathKeys?
optionalpathKeys?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:432
Expected exact path tile keys.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:418
Expected placement id.
profileId?
optionalprofileId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:424
Expected movement profile id.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:444
Expected movement reason.
spentCost?
optionalspentCost?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:440
Expected spent path cost.
status?
optionalstatus?:GameboardMovementStatus
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:428
Expected movement status.
stepId?
optionalstepId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:410
Step id that should emit the movement record.
stepIndex?
optionalstepIndex?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:412
Step index that should emit the movement record.
tileKey?
optionaltileKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:420
Expected current tile key.
visited?
optionalvisited?: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?
optionalstepId?: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?
optionalstepLabel?: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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:488
Expected actor id.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:490
Expected placement id.
removed?
optionalremoved?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:492
Expected removed flag.
spawned?
optionalspawned?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:494
Expected spawned flag.
type?
optionaltype?:"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?
optionalupdated?: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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:766
Actor id involved in the mutation.
placementId?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:768
Placement id involved in the mutation.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:776
Optional failure or diagnostic reason.
removed?
optionalremoved?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:770
Whether an entity was removed.
spawned?
optionalspawned?: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?
optionalupdated?: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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:458
Expected actor id.
advanced?
optionaladvanced?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:476
Expected waypoint-advanced flag.
currentWaypointIndex?
optionalcurrentWaypointIndex?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:468
Expected current waypoint index.
eventType?
optionaleventType?:"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?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:460
Expected placement id.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:478
Expected patrol reason.
requested?
optionalrequested?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:474
Expected movement-request flag.
roundsCompleted?
optionalroundsCompleted?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:472
Expected completed route rounds.
routeId?
optionalrouteId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:462
Expected patrol route id.
status?
optionalstatus?:GameboardPatrolStatus
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:464
Expected patrol status.
stepId?
optionalstepId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:452
Step id that should emit the patrol record.
stepIndex?
optionalstepIndex?:number
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:454
Step index that should emit the patrol record.
targetKey?
optionaltargetKey?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:466
Expected target tile key.
targetWaypointIndex?
optionaltargetWaypointIndex?: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?
optionalstepId?: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?
optionalstepLabel?: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?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:542
Expected asset id.
exists?
optionalexists?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:538
Whether the placement is expected to exist.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:544
Expected placement kind.
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:546
Expected placement layer.
metadata?
optionalmetadata?: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?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:548
Expected local-only asset flag.
tileKey?
optionaltileKey?: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?
optionalactiveObjectiveId?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:562
Expected active objective id.
blockedObjectives?
optionalblockedObjectives?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:566
Objective ids expected to be blocked.
completedObjectives?
optionalcompletedObjectives?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:564
Objective ids expected to be completed.
pendingObjectives?
optionalpendingObjectives?: readonlystring[]
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?
optionalstatus?: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?
optionalactiveObjectiveId?: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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
systems?
optionalsystems?: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?
optionalid?: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?
optionallabel?: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?
optionalsystems?: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?
optionalexpectations?: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?
optionalscenarioTitle?: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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
systems?
optionalsystems?: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?
optionaldefaultCommandHandlerOptions?:CreateGameboardInteractionHandlerPresetOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:267
Default options for built-in command handler presets.
defaultCommandHandlers?
optionaldefaultCommandHandlers?: 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?
optionaldefaultCommandSystems?:false|RunGameboardSystemsOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:263
Default systems after command dispatch, or false to skip.
defaultRunSystems?
optionaldefaultRunSystems?:RunGameboardSystemsOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:269
Default systems for run-systems steps.
defaultSourceActor?
optionaldefaultSourceActor?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:261
Default source actor id for command steps.
expectations?
optionalexpectations?: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?
optionalplan?:GameboardPlan
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:709
Precompiled plan used when a scenario is not available.
scenario?
optionalscenario?: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?
optionalplan?:GameboardPlan
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:719
Plan compiled from validation context, when available.
script
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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
systems?
optionalsystems?: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?
optionalid?: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?
optionallabel?: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?
optionalsystems?: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
GameboardScenarioSimulationCommandStepGameboardScenarioSimulationActorTargetCommandStepGameboardScenarioSimulationActorTargetsStepGameboardScenarioSimulationRunSystemsStepGameboardScenarioSimulationRemoveActorStepGameboardScenarioSimulationRemovePlacementStepGameboardScenarioSimulationSpawnActorStepGameboardScenarioSimulationSpawnPlacementStepGameboardScenarioSimulationUpdateActorStepGameboardScenarioSimulationUpdatePlacementStep
Properties
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:86
Optional stable step id used by reports and expectations.
label?
optionallabel?: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?
optionalactorTargets?:GameboardScenarioSimulationActorTargetsRecord
Defined in: packages/declarative-hex-worlds/src/simulation/report.ts:137
Actor-target record emitted by the step.
command?
optionalcommand?: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?
optionalid?: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?
optionallabel?: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?
optionalactorTargets?:GameboardScenarioSimulationActorTargetsRecord
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:742
Actor-target report for target-inspection steps.
dispatch?
optionaldispatch?: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?
optionalid?: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?
optionallabel?: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?
optionalsystems?: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?
optionalid?: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?
optionallabel?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:88
Human-readable step label for reports.
Inherited from
GameboardScenarioSimulationStepBase.label
placement?
optionalplacement?:UpdateGameboardPlacementOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:232
Optional placement update options for the actor placement.
systems?
optionalsystems?: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?
optionalid?: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?
optionallabel?: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?
optionalsystems?: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?
optionalboard?: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?
optionaltitle?: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?
optionalplan?:GameboardPlanValidationConfig
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:158
Validation config passed to compiled plan validation.
validatePlan?
optionalvalidatePlan?: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?
optionalpatrolRoutes?:GameboardPatrolRouteSet
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:172
Patrol route plan when scenario patrol routes are configured.
plan?
optionalplan?: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?
optionalspawnGroups?: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?
optionalincludeActors?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:474
Include final actor entities and relations.
includePlacements?
optionalincludePlacements?: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?
optionalincludeQuests?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:476
Include final quest entities and relations.
includeTimeline?
optionalincludeTimeline?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:478
Include simulation timeline entities and relations.
spawnLocations?
optionalspawnLocations?: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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:364
Related actor id.
commandKind?
optionalcommandKind?:GameboardInteractionCommandKind
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:368
Command kind, when related to a command.
commandStatus?
optionalcommandStatus?:GameboardInteractionExecutionStatus
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:370
Command status, when related to a command.
effectType?
optionaleffectType?:"actor-removed"|"placement-removed"|"actor-updated"|"placement-updated"
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:392
Individual command effect type.
effectTypes?
optionaleffectTypes?: readonly ("actor-removed"|"placement-removed"|"actor-updated"|"placement-updated")[]
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:376
Command effect types.
handlerId?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:372
Handler id, when a command handler ran.
handlerStatus?
optionalhandlerStatus?:GameboardInteractionHandlerStatus
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:374
Handler status, when a command handler ran.
mutationType?
optionalmutationType?:"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?
optionalplacementId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:366
Related placement id.
recordId?
optionalrecordId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:362
Timeline record id.
role
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?
optionalstepId?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:360
Simulation step entity id.
stepIndex?
optionalstepIndex?:number
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:358
Simulation step index.
targetApproach?
optionaltargetApproach?:GameboardActorTargetApproach|"self"|"none"
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:382
Approach mode for an actor target.
targetApproachTileKey?
optionaltargetApproachTileKey?:string
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:384
Approach tile key for an actor target.
targetCommandCanExecute?
optionaltargetCommandCanExecute?:boolean
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:390
Whether the target command can execute.
targetCommandKind?
optionaltargetCommandKind?:GameboardInteractionCommandKind
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:388
Command kind planned for an actor target.
targetPathCost?
optionaltargetPathCost?:number
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:386
Path cost for an actor target.
targetReachable?
optionaltargetReachable?: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?
optionalfromKey?: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?
optionaltoKey?: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?
optionalbeforeQuest?:GameboardQuestEventRecord
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:227
Quest record before quest-related events.
command?
optionalcommand?:GameboardInteractionCommandRecord
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:219
Command record for command-related events.
movement?
optionalmovement?:GameboardMovementEventRecord
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:223
Movement record for movement-related events.
patrol?
optionalpatrol?:GameboardPatrolEventRecord
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:221
Patrol record for patrol-related events.
quest?
optionalquest?:GameboardQuestEventRecord
Defined in: packages/declarative-hex-worlds/src/systems/events.ts:225
Quest record after quest-related events.
reason?
optionalreason?: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?
optionalcoordinates?:HexCoordinates
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:262
Axial coordinates, when the tile exists.
elevation?
optionalelevation?: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?
optionalreason?: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?
optionalterrain?:GameboardTerrain
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:264
Tile terrain, when the tile exists.
tile?
optionaltile?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
GameboardActorCollisionProfile.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
GameboardActorCollisionProfile.blockingPlacementLayers
ignorePlacementIds?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
GameboardActorCollisionProfile.ignorePlacementIds
sourceActor?
optionalsourceActor?:string|Entity
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:248
Source actor used for collision interpretation.
treatHostileAsBlocking?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
GameboardActorCollisionProfile.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
GameboardActorCollisionProfile.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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?
optionalriverCrossing?:"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?
optionalroadSlope?:"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?
optionalrotationSteps?: readonlynumber[]
Defined in: packages/declarative-hex-worlds/src/selectors/selectors.ts:57
Rotation steps to include; defaults to all six.
waterless?
optionalwaterless?: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
Partial<GameboardPlanOptions>
Properties
defaultTerrain?
optionaldefaultTerrain?:"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?
optionalfaction?:"blue"|"green"|"red"|"yellow"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:704
Faction color used by settlement and harbor pieces.
seed?
optionalseed?:string|number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113
Deterministic seed for generation.
Inherited from
shape?
optionalshape?:GameboardShape
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:115
Board shape to populate.
Inherited from
textureSet?
optionaltextureSet?:"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?
optionalincludeProps?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:398
Whether to add adjacent boat/anchor props.
kind?
optionalkind?:HarborKind
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:396
Harbor structure variant.
rotationSteps?
optionalrotationSteps?: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?
optionalcost?: (from,to) =>number
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:35
Movement cost callback for weighted paths.
Parameters
from
to
Returns
number
maxVisited?
optionalmaxVisited?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:37
Maximum visited nodes before aborting the search.
passable?
optionalpassable?: (coordinates,from?) =>boolean
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:33
Predicate for rejecting blocked coordinates.
Parameters
coordinates
from?
Returns
boolean
shape?
optionalshape?: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?
optionalbounds?: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?
optionalterrain?:GameboardTerrain
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:124
Default terrain assigned when the declaration becomes the base tile.
textureSet?
optionaltextureSet?:"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?
optionaladjacency?: readonlyTileAdjacencyRule[]
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:104
Adjacency rules consumed by validation and generators.
assetId?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:86
Manifest asset id to place when this declaration is applied.
bounds?
optionalbounds?:AssetBounds
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:96
Asset bounds used by geometry analysis and compatibility warnings.
edges?
optionaledges?:Partial<Record<string,HexEdgeInput>>
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:102
Edge connection masks keyed by channel.
geometry?
optionalgeometry?: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?
optionalmetadata?: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?
optionalrole?:TileDeclarationRole
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:90
Board construction role for the declaration.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:100
Default placement scale for feature/unit declarations.
source?
optionalsource?:string
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:88
Human-readable source label, commonly manifest, extra, or a pack id.
stack?
optionalstack?:Partial<TileStackRule>
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:106
Stacking behavior overrides.
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:108
Search and selection tags attached to the declaration.
terrain?
optionalterrain?:GameboardTerrain
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:92
Default terrain assigned when the declaration becomes the base tile.
textureSet?
optionaltextureSet?:"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
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
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?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:364
Optional number of selected sites to include.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:368
Site criteria.
seed?
optionalseed?: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?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:215
Placement ids ignored when checking blockers, usually the moving entity.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:209
Placement kind to evaluate. Defaults to prop.
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:211
Placement layer to evaluate. Defaults from kind.
metadata?
optionalmetadata?: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?
optionalrequireUnblocked?: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?
optionalseed?: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?
optionalurl?:string
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:738
Optional resolved URL for loading the GLTF.
usage
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?
optionalassetBaseUrl?:string
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:715
Base URL/path prepended to each source-relative GLTF path.
assetIds?
optionalassetIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:697
Limit usages to exact asset ids.
Inherited from
KayKitGuideScenarioAssetUsageOptions.assetIds
categories?
optionalcategories?: 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?
optionaleditionScope?:KayKitGuideScenarioEdition| readonlyKayKitGuideScenarioEdition[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:693
Limit usages by the guide scenario edition scope.
Inherited from
KayKitGuideScenarioAssetUsageOptions.editionScope
minimumEdition?
optionalminimumEdition?:"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?
optionalpages?: readonlynumber[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:691
Limit usages to one-based guide pages.
Inherited from
KayKitGuideScenarioAssetUsageOptions.pages
publicApis?
optionalpublicApis?: readonlystring[]
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?
optionalroles?: readonlyKayKitAssetPublicRole[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:699
Limit usages by public treatment roles.
Inherited from
KayKitGuideScenarioAssetUsageOptions.roles
scenarioIds?
optionalscenarioIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:689
Limit usages to exact scenario ids.
Inherited from
KayKitGuideScenarioAssetUsageOptions.scenarioIds
urlResolver?
optionalurlResolver?: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?
optionalassetIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:697
Limit usages to exact asset ids.
categories?
optionalcategories?: readonly ("tiles"|"buildings"|"decoration"|"units")[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:701
Limit usages by top-level manifest categories.
editionScope?
optionaleditionScope?:KayKitGuideScenarioEdition| readonlyKayKitGuideScenarioEdition[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:693
Limit usages by the guide scenario edition scope.
minimumEdition?
optionalminimumEdition?:"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?
optionalpages?: readonlynumber[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:691
Limit usages to one-based guide pages.
publicApis?
optionalpublicApis?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:703
Limit usages by public helper/API entries attached to the asset treatment.
roles?
optionalroles?: readonlyKayKitAssetPublicRole[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:699
Limit usages by public treatment roles.
scenarioIds?
optionalscenarioIds?: readonlystring[]
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?
optionalincludePublicApiInversion?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:784
Whether to append the public API inverse-coverage usage section.
includeRoleCoverage?
optionalincludeRoleCoverage?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:782
Whether to append the public role coverage index.
scenarios?
optionalscenarios?: readonlyKayKitGuideScenario[]
Defined in: packages/declarative-hex-worlds/src/scenario/catalog.ts:780
Scenario subset to render; defaults to all extracted guide scenarios.
title?
optionaltitle?: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?
optionalcommandKinds?: readonlyGameboardInteractionCommandKind[]
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:188
Command kinds this handler accepts.
handlerId?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:186
Handler id emitted in event records.
interactedField?
optionalinteractedField?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:190
Metadata field written to the target actor.
metadata?
optionalmetadata?:Readonly<Record<string,GameboardActorMetadataValue>>
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:194
Extra metadata merged into the target actor.
sourceActorField?
optionalsourceActorField?: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?
optionalfaction?:"blue"|"green"|"red"|"yellow"
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:134
Faction used for faction-colored harbor assets.
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:128
Optional harbor id used in diagnostics.
kind?
optionalkind?:HarborKind
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:136
Harbor asset variant.
roadTo?
optionalroadTo?: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?
optionalheight?:number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:78
Highest stack height in the range. Defaults to blueprint maxElevation.
id?
optionalid?: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?
optionaltreeLine?:number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:82
Include tree-covered mountain assets above this normalized height.
variant?
optionalvariant?:MountainVariant|"cycle"
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:80
Mountain visual variant or deterministic cycling. Defaults to cycle.
width?
optionalwidth?: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?
optionalauto?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:150
Generate context-aware town and harbor clusters. Defaults to true.
clusters?
optionalclusters?: readonlyMedievalPropClusterDressingSpec[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:158
Additional authored prop clusters compiled into the recipe.
density?
optionaldensity?:number
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:152
Default density for generated clusters. Defaults to 0.55.
includeExtra?
optionalincludeExtra?: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?
optionalplacement?: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
Omit<PropClusterOptions,"clusterId">
Properties
at
at:
HexCoordinates
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:576
Anchor tile for the cluster.
Inherited from
density?
optionaldensity?: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
facing?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:580
Edge used to orient adjacent spread patterns.
Inherited from
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:144
Optional stable id used for generated metadata and diagnostics.
includeExtra?
optionalincludeExtra?: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
placement?
optionalplacement?: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
rotationSteps?
optionalrotationSteps?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:592
Uniform render scale.
Inherited from
MedievalRiverNetworkSpec
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:114
Authored river network.
Properties
curvy?
optionalcurvy?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:122
Whether to prefer curvy river overlays.
id?
optionalid?: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?
optionalwaterless?: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?
optionaladdBridges?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:110
Add bridge structures where the road crosses water.
id?
optionalid?: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?
optionalslope?: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?
optionalbuildings?: 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?
optionalconnectTo?: readonlyHexCoordinates[]
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:98
Optional road targets that should connect to this town center.
faction?
optionalfaction?:"blue"|"green"|"red"|"yellow"
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:92
Faction used for faction-colored buildings.
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:88
Optional town id used in diagnostics and generated docs.
includeWalls?
optionalincludeWalls?: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?
optionalbiomeTransitions?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:164
Add EXTRA transition tiles where neighboring texture sets differ.
bridges?
optionalbridges?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:170
Add bridge structures where authored roads cross water tiles.
elevationRamps?
optionalelevationRamps?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/blueprint.ts:166
Add sloped grass tiles where elevation changes by one level.
roadSlopes?
optionalroadSlopes?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:380
Clockwise 60-degree rotation steps.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:382
Uniform render scale.
variant?
optionalvariant?:MountainVariant
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:374
Mountain visual variant.
withGrass?
optionalwithGrass?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:376
Include grass on the mountain asset.
withTrees?
optionalwithTrees?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:552
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:444
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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
readonlyoffset: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
readonlyscale: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?
readonlyoptionalfit?:NormalizeFit
Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:38
rest?
readonlyoptionalrest?: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?
readonlyoptionaltarget?: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?
readonlyoptionaldepth?:number
Defined in: packages/declarative-hex-worlds/src/normalize/normalize.ts:33
Target cell depth in world units (z).
width?
readonlyoptionalwidth?: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?
readonlyoptionalx?:number
Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:22
z?
readonlyoptionalz?: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?
readonlyoptionalanchor?:OverlayAnchor
Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:29
Anchor within the cell (default center 0.5,0.5).
cell?
readonlyoptionalcell?:object
Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:37
The cell the anchor is measured against (default KayKit hex).
depth?
readonlyoptionaldepth?:number
width?
readonlyoptionalwidth?:number
offset?
readonlyoptionaloffset?:Partial<WorldPosition>
Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:31
Additional world-space nudge applied after anchoring.
rotationY?
readonlyoptionalrotationY?:number
Defined in: packages/declarative-hex-worlds/src/overlay/overlay.ts:33
Additional Y rotation (radians) on top of the placement rotation.
scale?
readonlyoptionalscale?: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?
optionalgeometry?: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?
optionalclusterId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:588
Optional stable id shared by all placements in the cluster.
density?
optionaldensity?: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?
optionalfacing?:HexEdgeIndex
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:580
Edge used to orient adjacent spread patterns.
includeExtra?
optionalincludeExtra?: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?
optionalplacement?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:590
Base clockwise 60-degree rotation steps. Defaults to facing.
scale?
optionalscale?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:566
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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?
optionalcommandKinds?: readonlyGameboardInteractionCommandKind[]
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:164
Command kinds this handler accepts.
handlerId?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:162
Handler id emitted in event records.
requireHostile?
optionalrequireHostile?: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?
optionalcommandKinds?: readonlyGameboardInteractionCommandKind[]
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:176
Command kinds this handler accepts.
handlerId?
optionalhandlerId?:string
Defined in: packages/declarative-hex-worlds/src/commands/commands.ts:174
Handler id emitted in event records.
includeActorPlacements?
optionalincludeActorPlacements?: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?
optionalallowedTerrain?: readonlyGameboardTerrain[]
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?
optionalcanEnter?: (tile,context) =>boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:162
Optional custom tile-entry predicate.
Parameters
tile
context
Returns
boolean
cost?
optionalcost?: (from,to,baseCost) =>number
Defined in: packages/declarative-hex-worlds/src/gameboard/navigation.ts:164
Optional custom movement-cost function.
Parameters
from
to
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?
optionalbaseUrl?: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
readonlyposition:WorldPosition
Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:41
rotation
readonlyrotation:WorldPosition
Defined in: packages/declarative-hex-worlds/src/accessories/accessories.ts:42
scale
readonlyscale: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?
optionaledges?: readonlyHexEdgeIndex[]
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?
optionaloffsets?: readonlyHexCoordinates[]
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?
optionalactorKind?:GameboardActorKind
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56
Gameplay actor kind. Defaults from placement kind.
Inherited from
SpawnGameboardActorOptions.actorKind
actorMetadata?
optionalactorMetadata?: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
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64
Whether this actor blocks actor movement.
Inherited from
SpawnGameboardActorOptions.blocksMovement
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
Inherited from
SpawnGameboardActorOptions.elevationOffset
faction?
optionalfaction?:string|null
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58
Optional faction identifier.
Inherited from
SpawnGameboardActorOptions.faction
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62
Whether this actor is generally hostile.
Inherited from
SpawnGameboardActorOptions.hostile
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:298
Explicit placement id. Defaults to a deterministic runtime id.
Inherited from
interactive?
optionalinteractive?: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?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306
Render and occupancy layer. Defaults from kind.
Inherited from
SpawnGameboardActorOptions.layer
metadata?
optionalmetadata?: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?
optionalmovementAgent?:SetGameboardMovementAgentOptions
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:80
Optional movement agent to attach after spawning.
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
Inherited from
SpawnGameboardActorOptions.occupancyGuard
order?
optionalorder?: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?
optionalpatrolAgent?:GameboardScenarioActorPatrolAgent
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:82
Optional patrol agent to attach after spawning.
positionOffset?
optionalpositionOffset?: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?
optionalrequiresExtra?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314
Clockwise 60-degree rotation steps.
Inherited from
SpawnGameboardActorOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
Inherited from
SpawnGameboardActorOptions.scale
spawnGroupId?
optionalspawnGroupId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:72
Spawn group id used to resolve the actor, when any.
spawnLocationId?
optionalspawnLocationId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:76
Spawn location id claimed inside the group, when any.
spawnLocationIndex?
optionalspawnLocationIndex?:number
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:74
Spawn location index claimed inside the group, when any.
spawnTileKey?
optionalspawnTileKey?:string
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:78
Spawn tile key claimed inside the group, when any.
stackIndex?
optionalstackIndex?: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?
optionaltags?: readonlystring[]
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?
optionalteam?: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?
optionaltextureSet?:"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?
optionaldispatch?: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?
optionalinteraction?:RunGameboardInteractionResult
Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:72
Interaction result when the target command was executable.
reason?
optionalreason?:string
Defined in: packages/declarative-hex-worlds/src/systems/systems.ts:82
Reason no interaction occurred or dispatch was blocked.
systems?
optionalsystems?: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?
optionalblockingPlacementKinds?: readonlyGameboardPlacementKind[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:126
Placement kinds that should block actor movement.
Inherited from
DispatchGameboardInteractionCommandOptions.blockingPlacementKinds
blockingPlacementLayers?
optionalblockingPlacementLayers?: readonlyGameboardPlacementLayer[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:128
Placement layers that should block actor movement.
Inherited from
DispatchGameboardInteractionCommandOptions.blockingPlacementLayers
handlers?
optionalhandlers?:GameboardInteractionHandler| readonlyGameboardInteractionHandler[]
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?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:130
Placement ids ignored during collision checks.
Inherited from
DispatchGameboardInteractionCommandOptions.ignorePlacementIds
movement?
optionalmovement?: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?
optionalrequireSourceActorForAttack?: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?
optionalrequireSourceActorForInteraction?: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?
optionalrequireSourceActorForMove?: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?
optionalsourceActor?: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?
optionalsystems?: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?
optionaltreatHostileAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:132
Treat hostile actors as movement blockers.
Inherited from
DispatchGameboardInteractionCommandOptions.treatHostileAsBlocking
treatInteractiveAsBlocking?
optionaltreatInteractiveAsBlocking?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:134
Treat interactive actors as movement blockers.
Inherited from
DispatchGameboardInteractionCommandOptions.treatInteractiveAsBlocking
treatPropsAsBlocking?
optionaltreatPropsAsBlocking?: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
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?
optionalsystems?: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?
optionaldefaultCommandHandlerOptions?:CreateGameboardInteractionHandlerPresetOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:598
Default options for built-in command handler presets.
defaultCommandHandlers?
optionaldefaultCommandHandlers?: 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?
optionaldefaultCommandSystems?:false|RunGameboardSystemsOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:594
Default systems after command dispatch, or false to skip.
defaultRunSystems?
optionaldefaultRunSystems?:RunGameboardSystemsOptions
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:600
Default systems for run-systems steps.
defaultSourceActor?
optionaldefaultSourceActor?:string
Defined in: packages/declarative-hex-worlds/src/simulation/script-types.ts:592
Default source actor id for command steps.
recipeOverrides?
optionalrecipeOverrides?: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?
optionalmovement?:false|AdvanceGameboardMovementOptions
Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:36
Movement advancement options or false to skip movement.
patrols?
optionalpatrols?:false|AdvanceGameboardPatrolOptions
Defined in: packages/declarative-hex-worlds/src/systems/tick.ts:34
Patrol advancement options or false to skip patrols.
quests?
optionalquests?: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
readonlyformat:"png"|"glb"|"gltf"
Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:25
id
readonlyid:string
Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:23
path
readonlypath:string
Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:26
role
readonlyrole:"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
readonlypath: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
readonlyassets: readonlyScannedAsset[]
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
readonlyskipped: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:34
Paths that could not be classified (unknown subdir or unsupported extension).
tilesetsNeedingGrid
readonlytilesetsNeedingGrid: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/asset-source/scan.ts:36
Ids of tileset assets that still need author-supplied grid dimensions.
tilesNeedingBiome
readonlytilesNeedingBiome: readonlystring[]
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?
optionalavoidOccupied?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:696
Uniform render scale.
terrain?
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
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?
optionalavoidOccupied?: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?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:696
Uniform render scale.
Inherited from
ScatterDecorationOptions.scale
terrain?
optionalterrain?:GameboardTerrain| readonlyGameboardTerrain[]
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?
optionalfaction?:"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
Omit<GameboardLayoutFillRule,"archetype"|"assetId"|"assets"|"count"|"fill"|"id">
Properties
archetype?
optionalarchetype?:GameboardLayoutArchetypeInput
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:80
Archetype id or inline archetype to use for placement constraints.
archetypes?
optionalarchetypes?: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?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:72
Single asset id to spawn for the preset.
assets?
optionalassets?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:74
Asset pool to choose from for the preset.
count?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:76
Exact placement count for the preset.
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:446
Criteria merged over archetype defaults.
Inherited from
GameboardLayoutPlacementOptions.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
Inherited from
SpawnGameboardPlacementOptions.elevationOffset
fill?
optionalfill?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:78
Fraction of eligible tiles to fill for the preset.
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:70
Explicit fill rule id.
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:477
Prefix used when assigning deterministic placement ids.
Inherited from
GameboardLayoutFillRule.idPrefix
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:434
Placement kind override.
Inherited from
GameboardLayoutPlacementOptions.kind
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:436
Placement layer override.
Inherited from
GameboardLayoutPlacementOptions.layer
maxCount?
optionalmaxCount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:475
Maximum placement count after fill/count calculation.
Inherited from
GameboardLayoutFillRule.maxCount
metadata?
optionalmetadata?: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?
optionalminCount?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:473
Minimum placement count after fill/count calculation.
Inherited from
GameboardLayoutFillRule.minCount
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
Inherited from
SpawnGameboardPlacementOptions.occupancyGuard
onDiagnostics?
optionalonDiagnostics?: (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?
optionalorder?: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?
optionalpositionOffset?: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?
optionalrequiresExtra?: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?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:444
Rotation steps or deterministic random rotation.
Inherited from
Omit.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
Inherited from
SpawnGameboardPlacementOptions.scale
stackIndex?
optionalstackIndex?: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?
optionaltextureSet?:"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?
optionalharbors?:SeededGameboardDensityValue
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:92
Harbor or dock density.
landmarks?
optionallandmarks?:SeededGameboardDensityValue
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:94
Landmark structure density.
props?
optionalprops?:SeededGameboardDensityValue
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:90
Prop scatter density.
rocks?
optionalrocks?:SeededGameboardDensityValue
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:88
Rock scatter density.
trees?
optionaltrees?:SeededGameboardDensityValue
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:86
Tree scatter density.
units?
optionalunits?: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
Partial<GameboardPlanOptions>
Properties
defaultTerrain?
optionaldefaultTerrain?:"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?
optionalfaction?:"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?
optionalforestTiles?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:177
Number of forest tiles to place.
harborKind?
optionalharborKind?:HarborKind
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:173
Harbor composition variant to place on the coast.
hillTiles?
optionalhillTiles?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:179
Number of hill tiles to place.
layoutArchetypes?
optionallayoutArchetypes?:Readonly<Record<string,GameboardLayoutArchetype>>
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:187
Additional archetypes available to generated layout fill rules.
layoutDensity?
optionallayoutDensity?:SeededGameboardLayoutDensityOptions
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:185
Built-in density preset overrides for layout fill.
layoutFills?
optionallayoutFills?: readonlyGameboardLayoutFillRule[]
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?
optionallayoutFillSeed?:string|number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:189
Seed used for the layout fill pass.
mountainStacks?
optionalmountainStacks?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:175
Number of mountain stacks to place.
pieceFills?
optionalpieceFills?: readonlySeededGameboardPieceFillOptions[]
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:195
Piece fill rules that spawn registered external or custom pieces.
pieceRegistry?
optionalpieceRegistry?:GameboardPieceRegistry
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:193
Piece registry used by seeded piece fill rules.
scatterProps?
optionalscatterProps?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:183
Number of loose prop decorations to scatter.
seed?
optionalseed?:string|number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:113
Deterministic seed for generation.
Inherited from
settlements?
optionalsettlements?:number
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:181
Number of faction settlements to place.
shape?
optionalshape?:GameboardShape
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:169
Board shape to generate.
Overrides
textureSet?
optionaltextureSet?:"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
Omit<GameboardPieceLayoutRuleOptions,"assetId">
Properties
archetypes?
optionalarchetypes?: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?
optionalcount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:243
Explicit placement count.
Inherited from
GameboardPieceLayoutRuleOptions.count
criteria?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:253
Criteria merged over piece defaults.
Inherited from
GameboardPieceLayoutRuleOptions.criteria
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:259
Vertical offset override.
Inherited from
GameboardPieceLayoutRuleOptions.elevationOffset
fill?
optionalfill?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:245
Fraction of candidate sites to fill.
Inherited from
GameboardPieceLayoutRuleOptions.fill
id?
optionalid?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:239
Fill rule id.
Inherited from
GameboardPieceLayoutRuleOptions.id
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:251
Prefix used for generated placement ids.
Inherited from
GameboardPieceLayoutRuleOptions.idPrefix
maxCount?
optionalmaxCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:249
Maximum placement count.
Inherited from
GameboardPieceLayoutRuleOptions.maxCount
metadata?
optionalmetadata?: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?
optionalminCount?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:247
Minimum placement count.
Inherited from
GameboardPieceLayoutRuleOptions.minCount
mode?
optionalmode?: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?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:265
Optional occupancy guard for spawned placements.
Inherited from
GameboardPieceLayoutRuleOptions.occupancyGuard
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:263
Local-only asset override.
Inherited from
GameboardPieceLayoutRuleOptions.requiresExtra
rotationSteps?
optionalrotationSteps?:number|"random"
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:257
Rotation override.
Inherited from
GameboardPieceLayoutRuleOptions.rotationSteps
ruleIdPrefix?
optionalruleIdPrefix?:string
Defined in: packages/declarative-hex-worlds/src/rules/rules.ts:115
Prefix used when generated per-piece rules need ids.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/pieces/pieces.ts:255
Uniform render scale override.
Inherited from
GameboardPieceLayoutRuleOptions.scale
selection?
optionalselection?: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
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?
optionalcriteria?:GameboardLayoutCriteria
Defined in: packages/declarative-hex-worlds/src/coordinates/layout.ts:269
Site criteria.
seed?
optionalseed?: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| readonlyHexEdgeIndex[]
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:166
Water-facing edges as indexes or a canonical bit mask.
waterless?
optionalwaterless?: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?
optionalignorePlacementIds?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:85
Placement ids ignored during pathing.
Inherited from
GameboardMovementOptions.ignorePlacementIds
movementBudget?
optionalmovementBudget?:number
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:83
Movement budget override.
Inherited from
GameboardMovementOptions.movementBudget
navigation?
optionalnavigation?: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?
optionalprofile?:GameboardMovementProfileInput
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:79
Movement profile id or inline profile.
Inherited from
GameboardMovementOptions.profile
profiles?
optionalprofiles?:GameboardMovementProfileRegistry
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:81
Registry used to resolve profile ids.
Inherited from
GameboardMovementOptions.profiles
remainingMovement?
optionalremainingMovement?: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?
optionalactive?:boolean
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:63
Whether the patrol starts active.
alignToCurrentTile?
optionalalignToCurrentTile?:boolean
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:61
Align starting waypoint to the placement's current tile when possible.
currentWaypointIndex?
optionalcurrentWaypointIndex?:number
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:59
Starting waypoint index.
movement?
optionalmovement?:GameboardMovementPathRequestOptions
Defined in: packages/declarative-hex-worlds/src/patrol/patrol.ts:67
Movement options used when requesting segment movement.
pauseTicks?
optionalpauseTicks?: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?
optionalbaseAssetId?:string
Defined in: packages/declarative-hex-worlds/src/scenario/recipe.ts:128
Optional base tile asset override for the terrain.
elevation?
optionalelevation?: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?
optionaltextureSet?:"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
at
at:
HexCoordinates
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:652
Tile whose asset state should be replaced.
Inherited from
coastEdges?
optionalcoastEdges?:HexEdgeInput
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:666
Replacement coast edge input.
Inherited from
coastWaterless?
optionalcoastWaterless?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:676
Whether the coast uses a waterless variant.
Inherited from
TileAssetOptions.coastWaterless
elevation?
optionalelevation?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:660
Replacement elevation.
Inherited from
riverCrossing?
optionalriverCrossing?:RiverCrossing
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:674
River crossing variant.
Inherited from
TileAssetOptions.riverCrossing
riverCurvy?
optionalriverCurvy?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:672
Whether the river uses a curvy variant.
Inherited from
riverEdges?
optionalriverEdges?:HexEdgeInput
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:664
Replacement river edge input.
Inherited from
riverWaterless?
optionalriverWaterless?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:670
Whether the river uses a waterless variant.
Inherited from
TileAssetOptions.riverWaterless
roadEdges?
optionalroadEdges?:HexEdgeInput
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:662
Replacement road edge input.
Inherited from
roadSlope?
optionalroadSlope?:RoadSlope
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:668
Road slope variant.
Inherited from
supportAssetId?
optionalsupportAssetId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:658
Replacement support/bottom asset id.
Inherited from
TileAssetOptions.supportAssetId
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:680
Additional tile tags.
Inherited from
terrain?
optionalterrain?:GameboardTerrain
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:656
Replacement terrain category.
Inherited from
textureSet?
optionaltextureSet?:"default"|"fall"|"summer"|"winter"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:678
Replacement texture set for this tile.
Inherited from
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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:414
Clockwise 60-degree rotation steps.
scale?
optionalscale?: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?
optionalfacing?: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?
optionalkind?:"catapult"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:532
Projectile visual kind. Defaults to catapult.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:536
Clockwise 60-degree rotation steps. Overrides facing when provided.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:540
Uniform render scale.
sourceId?
optionalsourceId?: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?
optionalcandidates?: readonlyHexCoordinates[]
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?
optionaledgePadding?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:67
Number of outer rows/rings to avoid.
minDistance?
optionalminDistance?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:65
Minimum axial distance between selected coordinates.
passable?
optionalpassable?: (coordinates) =>boolean
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:63
Predicate for rejecting blocked coordinates.
Parameters
coordinates
Returns
boolean
seed?
optionalseed?: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?
optionalactorKind?:GameboardActorKind
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:56
Gameplay actor kind. Defaults from placement kind.
Inherited from
GameboardActorRegistrationOptions.actorKind
actorMetadata?
optionalactorMetadata?: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?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:64
Whether this actor blocks actor movement.
Inherited from
GameboardActorRegistrationOptions.blocksMovement
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
Inherited from
SpawnGameboardPlacementOptions.elevationOffset
faction?
optionalfaction?:string|null
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:58
Optional faction identifier.
Inherited from
GameboardActorRegistrationOptions.faction
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:62
Whether this actor is generally hostile.
Inherited from
GameboardActorRegistrationOptions.hostile
id?
optionalid?: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?
optionalinteractive?: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?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306
Render and occupancy layer. Defaults from kind.
Inherited from
SpawnGameboardPlacementOptions.layer
metadata?
optionalmetadata?: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?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
Inherited from
SpawnGameboardPlacementOptions.occupancyGuard
order?
optionalorder?: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?
optionalpositionOffset?: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?
optionalrequiresExtra?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314
Clockwise 60-degree rotation steps.
Inherited from
SpawnGameboardPlacementOptions.rotationSteps
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
Inherited from
SpawnGameboardPlacementOptions.scale
stackIndex?
optionalstackIndex?: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?
optionaltags?: readonlystring[]
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?
optionalteam?: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?
optionaltextureSet?:"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?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:310
Extra vertical offset above the tile elevation.
id?
optionalid?: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?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:306
Render and occupancy layer. Defaults from kind.
metadata?
optionalmetadata?: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?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:326
Optional occupancy validation before spawning.
order?
optionalorder?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:318
Stable sort order used by renderers and snapshots.
positionOffset?
optionalpositionOffset?:GameboardPlacementPositionOffset
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:312
Local world-space offset after tile/elevation anchoring.
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:322
Whether the placement depends on local-only EXTRA assets.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:314
Clockwise 60-degree rotation steps.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:316
Uniform render scale.
stackIndex?
optionalstackIndex?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:320
Optional stack index for layered terrain and vertical props.
textureSet?
optionaltextureSet?:"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?
optionalstatus?: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?
optionalcandidates?: readonlyHexCoordinates[]
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?
optionaledgePadding?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:87
Number of outer rings/rows to avoid when selecting automatic candidates.
elevation?
optionalelevation?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:89
Elevation used when projecting spawn locations to world positions.
idPrefix?
optionalidPrefix?:string
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:91
Prefix used for generated spawn ids.
minDistance?
optionalminDistance?:number
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:85
Minimum axial distance between returned spawn coordinates.
passable?
optionalpassable?: (coordinates) =>boolean
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:83
Predicate used to reject blocked or otherwise unsuitable coordinates.
Parameters
coordinates
Returns
boolean
seed?
optionalseed?: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?
optionalgeneratedAt?:string
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:273
ISO timestamp for generated report consumers.
manifest?
optionalmanifest?:MedievalHexagonManifest
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:271
Manifest to inspect. Defaults to the packaged FREE manifest.
packageChecks?
optionalpackageChecks?: readonlyGameboardCoveragePackageCheckInput[]
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:279
Package, docs, visual, or release gate check status overrides.
pathStatus?
optionalpathStatus?:GameboardCoveragePathStatusInput
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:275
Caller-provided path status maps. Omitted paths are marked skipped.
references?
optionalreferences?: readonlyGameboardCoverageReferenceInput[]
Defined in: packages/declarative-hex-worlds/src/interop/coverage.ts:277
Local reference pack status overrides.
simpleRpgEvidence?
optionalsimpleRpgEvidence?: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?
optionaltopAssetLimit?: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?
optionalplan?:GameboardPlanValidationConfig
Defined in: packages/declarative-hex-worlds/src/scenario/scenario.ts:158
Validation config passed to compiled plan validation.
Inherited from
GameboardScenarioValidationConfig.plan
topAssetLimit?
optionaltopAssetLimit?: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?
optionalvalidatePlan?: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
readonlyassetId:string
Defined in: packages/declarative-hex-worlds/src/texture-binding/texture-binding.ts:17
Asset id of the model these textures apply to.
normalUrl?
readonlyoptionalnormalUrl?: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?
readonlyoptionaltargets?: readonlystring[]
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
readonlytextureUrl: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?
optionalallowOffBoard?: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?
optionalforbidsNeighborTerrain?: readonlystring[]
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?
optionalreciprocal?:boolean
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:60
Whether neighbors should satisfy the same channel in the opposite direction.
requiresNeighborTerrain?
optionalrequiresNeighborTerrain?: readonlystring[]
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?
optionalcoastEdges?:HexEdgeInput
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:666
Replacement coast edge input.
coastWaterless?
optionalcoastWaterless?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:676
Whether the coast uses a waterless variant.
elevation?
optionalelevation?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:660
Replacement elevation.
riverCrossing?
optionalriverCrossing?:RiverCrossing
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:674
River crossing variant.
riverCurvy?
optionalriverCurvy?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:672
Whether the river uses a curvy variant.
riverEdges?
optionalriverEdges?:HexEdgeInput
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:664
Replacement river edge input.
riverWaterless?
optionalriverWaterless?:boolean
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:670
Whether the river uses a waterless variant.
roadEdges?
optionalroadEdges?:HexEdgeInput
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:662
Replacement road edge input.
roadSlope?
optionalroadSlope?:RoadSlope
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:668
Road slope variant.
supportAssetId?
optionalsupportAssetId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:658
Replacement support/bottom asset id.
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:680
Additional tile tags.
terrain?
optionalterrain?:GameboardTerrain
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:656
Replacement terrain category.
textureSet?
optionaltextureSet?:"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?
optionalhex?: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?
optionalshape?:"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?
optionalheightStep?:number
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:78
World-space Y increment for each stacked elevation step.
maxElevation?
optionalmaxElevation?:number
Defined in: packages/declarative-hex-worlds/src/scenario/registry.ts:74
Maximum supported elevation for repeated stack placement.
supportAssetId?
optionalsupportAssetId?: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?
optionalrotationSteps?: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?
optionalcompositeId?:string
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:624
Shared composite id for multi-part units.
faction?
optionalfaction?:"blue"|"green"|"red"|"yellow"
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:618
Faction used by colored unit parts.
neutral?
optionalneutral?: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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:626
Clockwise 60-degree rotation steps.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:628
Uniform render scale.
style?
optionalstyle?:"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?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/gameboard/plan.ts:644
Clockwise 60-degree rotation steps.
style?
optionalstyle?:"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?
optionalactorId?:string
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:78
Replacement gameplay actor id.
actorKind?
optionalactorKind?:GameboardActorKind
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:80
Replacement gameplay actor kind.
actorMetadata?
optionalactorMetadata?:Readonly<Record<string,GameboardActorMetadataValue>>
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:94
Replacement serializable actor metadata.
blocksMovement?
optionalblocksMovement?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:88
Replacement movement-blocking flag.
faction?
optionalfaction?:string|null
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:82
Replacement faction identifier.
hostile?
optionalhostile?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:86
Replacement hostility flag.
interactive?
optionalinteractive?:boolean
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:90
Replacement interaction-target flag.
tags?
optionaltags?: readonlystring[]
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:92
Replacement actor tags.
team?
optionalteam?: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?
optionalassetId?:string
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:336
New manifest or external registry asset id.
at?
optionalat?:string|HexCoordinates
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:334
New origin tile or tile key.
elevationOffset?
optionalelevationOffset?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:344
New vertical offset above the tile elevation.
kind?
optionalkind?:GameboardPlacementKind
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:338
New gameplay category.
layer?
optionallayer?:GameboardPlacementLayer
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:340
New render and occupancy layer.
metadata?
optionalmetadata?:Readonly<Record<string,string|number|boolean|null>>
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:358
Replacement serializable placement metadata.
occupancyGuard?
optionaloccupancyGuard?:GameboardPlacementOccupancyGuard
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:360
Optional occupancy validation before applying the mutation.
order?
optionalorder?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:352
New stable sort order.
positionOffset?
optionalpositionOffset?:GameboardPlacementPositionOffset
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:346
New local world-space offset after tile/elevation anchoring.
requiresExtra?
optionalrequiresExtra?:boolean
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:356
New local-only EXTRA requirement flag.
rotationSteps?
optionalrotationSteps?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:348
New clockwise 60-degree rotation steps.
scale?
optionalscale?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:350
New uniform render scale.
stackIndex?
optionalstackIndex?:number
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:354
New stack index.
textureSet?
optionaltextureSet?:"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. <Model> is 3D-first, <Sprite> 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<typeofgridSchema>
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?
optionalopacity?: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?
optionaltint?:AssetTint
Optional per-placement multiplicative tint (fog/season/team shading). White ⇒ identity. Applied by the binding to the resolved object's material colour.
transform?
optionaltransform?: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?
optionalopacity?: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?
optionalshape?:"quad"|"hex"
How the sheet cell is drawn onto the board plane:
'quad'(default): the FULL cell rect is drawn as a rectangle spanninghex.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 (drawImageblits 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?
optionaltint?: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?
optionaltransform?: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<typeofassetSourceSpecSchema>
Defined in: packages/declarative-hex-worlds/src/asset-source/spec.ts:155
AssetSpec
AssetSpec =
z.infer<typeofassetSchema>
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<typeofgameboardActions>
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:209
Koota action bundle for raw board placement operations.
GameboardActorActionBundle
GameboardActorActionBundle =
ReturnType<typeofgameboardActorActions>
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<typeofGameboardActor>
Defined in: packages/declarative-hex-worlds/src/actors/actors.ts:683
Actor trait value returned by GameboardActor.
GameboardCommandActionBundle
GameboardCommandActionBundle =
ReturnType<typeofgameboardCommandActions>
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?
optionalplacementId?:string
Placement id associated with the removed actor.
reason?
optionalreason?: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?
optionalreason?: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?
optionalplacementId?:string
Placement id associated with the actor.
reason?
optionalreason?: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?
optionalreason?: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
Type Literal
{ actorId?: string; coordinates?: HexCoordinates | string; placementId?: string; tileKey?: string; }
actorId?
optionalactorId?:string
Actor id to resolve directly.
coordinates?
optionalcoordinates?:HexCoordinates|string
Axial coordinates or tile key to resolve as a tile.
placementId?
optionalplacementId?:string
Placement id to resolve directly.
tileKey?
optionaltileKey?: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| readonlyGameboardLayoutArchetype[]
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?: readonlyHexEdgeIndex[];includeCenter?:boolean;kind:"single"|"adjacent"|"radius"|"custom";offsets?: readonlyHexCoordinates[];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?
optionaledges?: readonlyHexEdgeIndex[]
Neighbor edges included by adjacent footprints.
includeCenter?
optionalincludeCenter?:boolean
Whether the origin tile is part of the footprint.
kind
kind:
"single"|"adjacent"|"radius"|"custom"
Footprint mode.
offsets?
optionaloffsets?: readonlyHexCoordinates[]
Custom axial offsets included in the footprint.
radius?
optionalradius?:number
Radius used by radius footprints.
GameboardLayoutPreference
GameboardLayoutPreference = {
kind:"center";weight?:number; } | {kind:"edge";weight?:number; } | {kind:"near-terrain";radius?:number;terrain:GameboardTerrain| readonlyGameboardTerrain[];weight?:number; } | {kind:"far-from-terrain";radius?:number;terrain:GameboardTerrain| readonlyGameboardTerrain[];weight?:number; } | {kind:"near-placement-kind";placementKind:GameboardPlacementKind| readonlyGameboardPlacementKind[];radius?:number;weight?:number; } | {kind:"far-from-placement-kind";placementKind:GameboardPlacementKind| readonlyGameboardPlacementKind[];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?
optionalweight?:number
Score multiplier for this preference.
Type Literal
{ kind: "edge"; weight?: number; }
kind
kind:
"edge"
Preference discriminator for tiles near the board edge.
weight?
optionalweight?: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?
optionalradius?:number
Search radius for nearby terrain.
terrain
terrain:
GameboardTerrain| readonlyGameboardTerrain[]
Terrain values considered by this preference.
weight?
optionalweight?: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?
optionalradius?:number
Search radius for nearby terrain.
terrain
terrain:
GameboardTerrain| readonlyGameboardTerrain[]
Terrain values considered by this preference.
weight?
optionalweight?: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| readonlyGameboardPlacementKind[]
Placement kinds considered by this preference.
radius?
optionalradius?:number
Search radius for nearby placements.
weight?
optionalweight?: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| readonlyGameboardPlacementKind[]
Placement kinds considered by this preference.
radius?
optionalradius?:number
Search radius for nearby placements.
weight?
optionalweight?:number
Score multiplier for this preference.
Type Literal
{ kind: "high-elevation"; weight?: number; }
kind
kind:
"high-elevation"
Preference discriminator for higher elevation tiles.
weight?
optionalweight?:number
Score multiplier for this preference.
Type Literal
{ kind: "low-elevation"; weight?: number; }
kind
kind:
"low-elevation"
Preference discriminator for lower elevation tiles.
weight?
optionalweight?: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<typeofgameboardMovementActions>
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<typeofgameboardPatrolActions>
Defined in: packages/declarative-hex-worlds/src/runtime/runtime.ts:224
Koota action bundle for patrol-agent setup and ticks.
GameboardPatrolAgentValue
GameboardPatrolAgentValue =
TraitRecord<typeofGameboardPatrolAgent>
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<typeofGameboardPatrolState>
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
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<typeofgameboardQuestActions>
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<typeofGameboardQuest>
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<typeofGameboardState>
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:150
Board trait value returned by GameboardState.
GameboardSystemActionBundle
GameboardSystemActionBundle =
ReturnType<typeofgameboardSystemActions>
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<typeofHexTileState>
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<typeofKayKitHex>>
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
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<typeofMovementAgent>
Defined in: packages/declarative-hex-worlds/src/movement/movement.ts:226
Movement agent trait value.
MovementPathStateValue
MovementPathStateValue =
TraitRecord<typeofMovementPathState>
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) => readonlyClassifierTag[]
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
Returns
readonly ClassifierTag[]
PlacementStateValue
PlacementStateValue =
TraitRecord<typeofPlacementState>
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
generation
GameboardRecipeGeneration | undefined
Returns
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, readonlyTextureBinding[]>
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<typeofTileConnectivity>
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:160
Decomposed connectivity trait value returned by TileConnectivity.
TileCoordinatesValue
TileCoordinatesValue =
TraitRecord<typeofTileCoordinates>
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<typeofTileElevation>
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:158
Decomposed elevation trait value returned by TileElevation.
TileRenderStateValue
TileRenderStateValue =
TraitRecord<typeofTileRenderState>
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:162
Decomposed render trait value returned by TileRenderState.
TilesetBiome
TilesetBiome =
z.infer<typeofbiomeSchema>
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<typeoftilesetGridSchema>
Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:27
TilesetManifest
TilesetManifest =
z.infer<typeoftilesetManifestSchema>
Defined in: packages/declarative-hex-worlds/src/asset-source/tileset-manifest.ts:128
TilesetSheet
TilesetSheet =
z.infer<typeofsheetSchema>
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<typeofTileTagList>
Defined in: packages/declarative-hex-worlds/src/koota/koota.ts:164
Decomposed tag trait value returned by TileTagList.
TileTerrainValue
TileTerrainValue =
TraitRecord<typeofTileTerrain>
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
constActiveGameboardQuestQuery: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
constActiveMovementQuery: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
constASSET_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
constASSET_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
constassetSchema: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
constassetSourceSpecSchema: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
constBASE_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
constBIOME_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
constBlockedGameboardQuestQuery: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
constBlockingActorQuery: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
constCLASSIFIER_TAG_PREFIX:"classifier:"='classifier:'
Defined in: packages/declarative-hex-worlds/src/classifiers/classifiers.ts:34
The <classifier>: prefix under which classifier tags live in a placement's tag list.
CLASSIFIER_TAGS
constCLASSIFIER_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
constCOAST_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
constCOAST_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
constCoastPlacementQuery: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
constCOLORED_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
constCompletedGameboardQuestQuery: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
constDecomposedGameboardTileQuery: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
constDEFAULT_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
constDEFAULT_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
constDEFAULT_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
constDEFAULT_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
constDEFAULT_PLACEMENT_CLASSIFIERS: readonlyPlacementClassifier[]
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
constEnemyActorQuery: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
constEXTRA_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
constEXTRA_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
constEXTRA_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
constEXTRA_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
constExtraPlacementQuery: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
constFACTION_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
constFREE_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
constFREE_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constGAMEBOARD_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
constgameboardActions: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
constgameboardActorActions: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
constGameboardActorQuery: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
constgameboardCommandActions: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
constgameboardMovementActions:Actions<{advance: (placement,options) =>GameboardMovementAdvanceResult;clear: (placement) =>Entity;reachable: (placement,options) =>GameboardReachableTile[];requestMove: (placement,destination,options) =>GameboardMovementRequestResult;resetBudget: (placement?,options) => readonlyEntity[];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
constgameboardPatrolActions: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
constGameboardPatrolAgentQuery: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
constGameboardPlacementQuery: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
constgameboardQuestActions: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
constGameboardQuestQuery: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
constgameboardSystemActions: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
constGameboardTileQuery: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
constGAMEPLAY_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
constHarborPlacementQuery: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
constHEX_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
constHEX_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
constHEX_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
constHEX_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
constHostileActorQuery: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
constInteractiveActorQuery: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
constKAYKIT_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
constKAYKIT_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
constKAYKIT_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
constKAYKIT_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
constKAYKIT_HEX_SIDE:number
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:60
Deprecated
Use DEFAULT_HEX_GEOMETRY.depth / 2.
KAYKIT_HEX_WIDTH
constKAYKIT_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
constKayKitHex: typeofHex
Defined in: packages/declarative-hex-worlds/src/coordinates/grid.ts:137
Honeycomb hex class configured for the default axial footprint.
MovementAgentQuery
constMovementAgentQuery: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
constNATURE_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
constNEUTRAL_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
constNEUTRAL_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
constNpcActorQuery: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
constPlayerActorQuery: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
constPROP_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
constPropActorQuery: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
constRIVER_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
constRIVER_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
constRiverPlacementQuery: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
constROAD_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
constROAD_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
constRoadPlacementQuery: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
constSOURCE_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
constStackedTerrainQuery: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
constStructurePlacementQuery: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
constTerrainPlacementQuery: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
constTILESET_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
constTILESET_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
consttilesetManifestSchema: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
constTRANSITION_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
readonlycoast: readonly [CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant] =COAST_VARIANTS
river
readonlyriver: readonly [CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant] =RIVER_VARIANTS
road
readonlyroad: readonly [CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant,CanonicalVariant] =ROAD_VARIANTS
UnitMovementQuery
constUnitMovementQuery: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
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
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
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
options
Returns
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
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
Returns
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
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
placements
readonly SpawnGameboardPlacementOptions[]
Returns
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
steps
readonly GameboardRecipeStep[]
Returns
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
recipeOrSteps
GameboardRecipe | readonly GameboardRecipeStep[]
Returns
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
generation
GameboardRecipeGeneration | undefined
Returns
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
step
Returns
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
registry
options
Returns
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
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
right
GameboardActorSnapshot | { 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
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
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
elevation?
number = 0
geometry?
HexGeometry = DEFAULT_HEX_GEOMETRY
Returns
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
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
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
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
Returns
string
classifierTagsOf()
classifierTagsOf(
metadata): readonlyClassifierTag[]
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?): readonlyClassifierTag[]
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
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
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
state?
CameraState = DEFAULT_CAMERA_STATE
Returns
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
coordinates
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
Returns
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
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
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
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
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
createGameboardBuilder()
createGameboardBuilder(
options):GameboardBuilder
Defined in: packages/declarative-hex-worlds/src/gameboard/gameboard.ts:831
Create a fluent gameboard builder.
Parameters
options
Returns
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
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
Returns
createGameboardInteractionHandlerPreset()
createGameboardInteractionHandlerPreset(
preset,options?): readonlyGameboardInteractionHandler[]
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
options?
Returns
createGameboardInteropSnapshotIndex()
createGameboardInteropSnapshotIndex(
snapshot):GameboardInteropSnapshotIndex
Defined in: packages/declarative-hex-worlds/src/interop/interop.ts:840
Create lookup indexes for an interop snapshot.
Parameters
snapshot
Returns
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
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
options
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
options?
GameboardPieceLayoutRuleOptions = {}
Returns
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
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
options?
GameboardPieceRegistryFillRulesOptions = {}
Returns
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
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
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
piece
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?
Returns
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
profile?
GameboardNavigationProfile = {}
Returns
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
profile?
GameboardNavigationProfile = {}
Returns
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
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
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
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
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
configure?
(builder) => void
Returns
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
overrides?
GameboardRecipePlanOptionsOverride = {}
applyGeneration?
RecipeGenerationApplier = ...
Returns
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
Returns
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
Returns
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
steps?
readonly GameboardRecipeStep[] = []
generation?
GameboardRecipeGeneration = {}
Returns
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
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
Returns
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
overrides?
GameboardRecipePlanOptionsOverride = {}
Returns
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
overrides?
GameboardRecipePlanOptionsOverride = {}
Returns
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
options?
GameboardRuntimeInteropOptions = {}
Returns
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
options?
CreateGameboardScenarioOptions = {}
Returns
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
options?
GameboardScenarioInteropOptions = {}
Returns
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
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?
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
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
overrides?
GameboardRecipePlanOptionsOverride = {}
Returns
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
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
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
Returns
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
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
Returns
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
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
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
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
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
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
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
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
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?
Returns
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?
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
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
Returns
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
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
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
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
Returns
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
to
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
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
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?
Returns
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
start
string | HexCoordinates
goal
string | HexCoordinates
profile?
GameboardNavigationProfile = {}
tilesByKey?
ReadonlyMap<string, GameboardTileSpec> = ...
occupancy?
GameboardOccupancyIndex = ...
Returns
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
goal
options?
HexPathOptions = {}
Returns
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
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
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
Returns
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
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_A → grass). 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
right
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
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
end
Returns
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
radius
number
Returns
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
radius
number
Returns
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
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
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
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
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
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
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
options?
InspectGameboardLayoutSitesOptions = {}
Returns
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
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
piece
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
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
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
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
registry
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
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
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): readonlyClassifierTag[]
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?
Returns
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
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
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
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
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
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
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
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
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?
Returns
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?
Returns
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
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
recipes
readonly GameboardRecipe[]
Returns
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
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
edge
number
Returns
neighbors()
neighbors(
coordinates):HexCoordinates[]
Defined in: packages/declarative-hex-worlds/src/coordinates/coordinates.ts:116
Returns all six neighboring axial coordinates.
Parameters
coordinates
Returns
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
options?
NormalizeOptions = {}
Returns
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
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
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
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
normalization
controls?
OverlayControls = {}
base?
rotationY?
number
Returns
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 <packId>: (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
The pack's registry category (thread packDescriptor(id).category).
assetIdPrefix?
string = packId
Optional assetId namespace to also match (defaults to packId).
Returns
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
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
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
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
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
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
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
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?
Returns
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
generation
GameboardRecipeGeneration | undefined
Returns
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?
Returns
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
start
string | HexCoordinates
movementBudget
number
profile?
GameboardNavigationProfile = {}
tilesByKey?
ReadonlyMap<string, GameboardTileSpec> = ...
occupancy?
GameboardOccupancyIndex = ...
Returns
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
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
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
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
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
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
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
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
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
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?
optionalopacity?:number
tint?
optionaltint?: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
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?): readonlyEntity[]
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?
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?
Returns
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
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
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
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
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
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
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
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
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
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
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
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
options?
waterless?
boolean
Returns
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
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
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
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
options
SelectGameboardLayoutSitesOptions
Returns
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
selection?
GameboardPieceRegistrySelection = {}
Returns
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
options
GameboardSpawnLocationOptions
Returns
selectPlacementsByClassifier()
selectPlacementsByClassifier(
world,tag): readonlyobject[]
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
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
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
options?
curvy?
boolean
waterless?
boolean
Returns
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
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
Returns
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
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
Returns
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
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
Returns
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
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
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
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
Returns
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
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?
optionaledgeMask?: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?
optionalbiome?: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?
optionaltransition?: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?
optionalcategory?:"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?
optionalcategory?:"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
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
options?
SummarizeGameboardPlanOptions = {}
Returns
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
options?
SummarizeGameboardScenarioOptions = {}
Returns
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
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
options?
elevation?
number
positionOffset?
GameboardPlacementPositionOffset
rotationY?
number
scale?
number
Returns
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
Returns
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
variant
options?
elevation?
number
positionOffset?
GameboardPlacementPositionOffset
scale?
number
Returns
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
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): readonlystring[]
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
config?
GameboardPlanValidationConfig = {}
Returns
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
config?
GameboardRecipeValidationConfig = {}
Returns
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
Returns
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
config?
GameboardScenarioValidationConfig = {}
Returns
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
validateTextureBindings()
validateTextureBindings(
bindings): readonlystring[]
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
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
