Skip to content

KayKitAssetPublicTreatment

Defined in: src/scenario/catalog.ts:410

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.

assetId: string

Defined in: src/scenario/catalog.ts:412

Stable manifest asset id used by plans and placement records.


category: "tiles" | "buildings" | "decoration" | "units"

Defined in: src/scenario/catalog.ts:416

Top-level manifest category.


minimumEdition: "free" | "extra"

Defined in: src/scenario/catalog.ts:414

Lowest edition that exposes this asset id.


placementKind: "coast" | "road" | "river" | "unit" | "decoration" | "prop" | "terrain" | "transition" | "structure"

Defined in: src/scenario/catalog.ts:424

Placement kind produced by the public board/runtime APIs.


placementLayer: "unit" | "terrain" | "structure" | "surface" | "feature"

Defined in: src/scenario/catalog.ts:435

Placement layer produced by the public board/runtime APIs.


publicApi: readonly string[]

Defined in: src/scenario/catalog.ts:437

Public helpers or selectors that intentionally exercise this asset.


requiresExtra: boolean

Defined in: src/scenario/catalog.ts:443

Whether this asset should be treated as local-only/EXTRA in apps.


role: KayKitAssetPublicRole

Defined in: src/scenario/catalog.ts:422

Intent-level role used by docs, selectors, and gameplay placement helpers.


scenario: string

Defined in: src/scenario/catalog.ts:441

Human-readable scenario group for visual contact sheets and docs.


sourceImages: readonly string[]

Defined in: src/scenario/catalog.ts:439

Extracted guide images that motivate this treatment.


sourcePath: string

Defined in: src/scenario/catalog.ts:420

Source-relative GLTF path for FREE packaging or local EXTRA ingest.


subcategory: string

Defined in: src/scenario/catalog.ts:418

Manifest subcategory or source folder.