Skip to content

KayKitUpstreamLayout

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:42

Structural description of a single KayKit Medieval Hexagon pack edition as it appears on disk after extraction.

readonly assetCategories: readonly string[]

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:54

Asset category subdirectory names found directly under relativeGltfRoot.


readonly optional detection?: "medieval" | "character"

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:70

Detection strategy (RFC0-10). 'medieval' (default) uses the marker/texture + required-category rules below — the Medieval Hexagon shape. 'character' matches a flat Assets/gltf/ with ≥1 .gltf and no category/marker requirements — the KayKit character packs (Adventurers/Skeletons), which ship textures inline in Assets/gltf/ and carry no edition markers.


readonly displayName: string

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:46

Human-readable edition label (e.g. FREE, EXTRA).


readonly editionName: "free" | "extra"

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:44

Edition this layout describes.


readonly expectedBinCount: number

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:60

Expected total number of .bin companions under relativeGltfRoot.


readonly expectedGltfCount: number

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:58

Expected total number of .gltf files under relativeGltfRoot.


readonly markerFiles: readonly string[]

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:56

Files used as markers when detecting which edition a pack root belongs to.


readonly optional mirrorAllGltfDirs?: boolean

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:80

When true, the mirror ignores relativeGltfRoot as a single source and instead SCANS the pack root for every directory containing a renderable .gltf/.glb, mirroring each (path preserved relative to the pack root). This is how a character pack captures BOTH Assets/gltf/ (weapons) and Characters/gltf/ (bodies) — the layout is derived from the real tree, not a declared constant. Source-format dirs (fbx, obj, Samples) are excluded by extension/name during the walk.


readonly packFolderName: string

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:48

Top-level pack folder name as published by KayKit.


readonly relativeGltfRoot: string

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:50

Relative path under the pack root where .gltf assets live.


readonly relativeTextureRoot: string

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:52

Relative path under the pack root where shared .png textures live.


readonly textureFiles: readonly string[]

Defined in: packages/declarative-hex-worlds/src/cli/commands/bootstrap/upstream-layout.ts:62

Texture filenames published with this edition’s Textures/ directory.