Skip to content

GameboardPlacementObjectSyncOptions

Defined in: packages/declarative-hex-worlds/src/three/three.ts:281

Options for reconciling a Three.js scene with a placement list.

optional animationUrlResolver?: (placement) => string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:47

App-specific animation URL resolver.

GameboardPlacementSpec

string | undefined

LoadGameboardPlacementObjectOptions.animationUrlResolver


optional animationUrls?: Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:45

Explicit asset-id-to-animation-URL map.

LoadGameboardPlacementObjectOptions.animationUrls


optional assetUrls?: Readonly<Record<string, string>>

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:32

Explicit asset-id-to-URL overrides, useful for local-only Vite @fs assets.

LoadGameboardPlacementObjectOptions.assetUrls


optional baseUrl?: string | URL

Defined in: packages/declarative-hex-worlds/src/manifest/schema.ts:147

Base URL applied to every model path when no edition-specific base exists.

LoadGameboardPlacementObjectOptions.baseUrl


optional bootstrapAssetRoot?: string | URL

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

Consumer’s bootstrap asset root (per PRD RB3).

When set, manifest sourcePath values (e.g. buildings/blue/foo.gltf) are joined with this root to produce the resolved URL — <bootstrapAssetRoot>/<sourcePath> (flat layout, no subdirectory prefix).

Honored only when neither baseUrl nor a matching editionBaseUrls entry is set; explicit base URLs always win.

LoadGameboardPlacementObjectOptions.bootstrapAssetRoot


optional cacheLoads?: boolean

Defined in: packages/declarative-hex-worlds/src/three/three.ts:225

Deduplicates loader calls by URL so multiple placements sharing an asset trigger exactly one loadAsync invocation. The cached GLTF source is never mutated directly — each placement still receives its own cloned Object3D scene instance. Defaults to true.

LoadGameboardPlacementObjectOptions.cacheLoads


optional catalog?: ManifestAssetCatalog

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:30

Manifest or manifest bundle used for packaged FREE/EXTRA asset ids.

LoadGameboardPlacementObjectOptions.catalog


optional clipName?: string

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

Optional clip name override. Defaults to placement metadata when present.

LoadGameboardPlacementObjectOptions.clipName


optional clipNameResolver?: (placement) => string | undefined

Defined in: packages/declarative-hex-worlds/src/three/three.ts:291

Per-placement clip-name resolver.

GameboardPlacementSpec

string | undefined


optional deltaSeconds?: number

Defined in: packages/declarative-hex-worlds/src/three/three.ts:289

Optional animation delta to advance during this sync pass.


optional editionBaseUrls?: Partial<Record<"free" | "extra", string | URL>>

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

Per-edition base URLs, useful when FREE is packaged and EXTRA is local.

LoadGameboardPlacementObjectOptions.editionBaseUrls


optional fallback?: (placement) => string | undefined

Defined in: packages/declarative-hex-worlds/src/asset-source/placement-resolution.ts:34

Last-chance resolver for app-specific asset stores.

GameboardPlacementSpec

string | undefined

LoadGameboardPlacementObjectOptions.fallback


optional loader?: GameboardGltfLoader

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

GLTF-compatible async loader. OPTIONAL: only required when a placement actually resolves to a gltf request. A tileset-ONLY board (every placement resolves to a tileset-cell) needs no GLTF loader — supply only textureLoader. A gltf request with no loader throws a clear error at load time.

LoadGameboardPlacementObjectOptions.loader


optional parent?: Object3D<Object3DEventMap>

Defined in: packages/declarative-hex-worlds/src/three/three.ts:283

Parent object to receive loaded placement objects.


optional playAnimation?: boolean

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

Whether to start the selected animation immediately. Defaults to true.

LoadGameboardPlacementObjectOptions.playAnimation


optional records?: Map<string, LoadedGameboardPlacementObject>

Defined in: packages/declarative-hex-worlds/src/three/three.ts:285

Mutable cache keyed by placement id.


optional removeStale?: boolean

Defined in: packages/declarative-hex-worlds/src/three/three.ts:287

Remove cached objects that no longer appear in the placement list.


optional source?: AssetSource

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

Optional asset source (RFC0-7). When provided, a placement resolving to a tileset-cell request is rendered as a textured-hex mesh instead of a GLTF; a gltf request (or no resolution) falls through to the GLTF loader path.

LoadGameboardPlacementObjectOptions.source


optional textureLoader?: GameboardSheetTextureLoader

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

Sheet-texture loader, required when source can emit tileset-cell requests.

LoadGameboardPlacementObjectOptions.textureLoader


optional throwOnError?: boolean

Defined in: packages/declarative-hex-worlds/src/three/three.ts:293

Rethrow load errors instead of collecting them in the result.