feat: route resources through typed content

This commit is contained in:
Rijad Zuzo
2026-08-12 20:51:01 +02:00
parent 4e4ae1a969
commit dc0f59fcf0
31 changed files with 1071 additions and 10 deletions
@@ -0,0 +1,32 @@
class_name PresentationCueIds
extends RefCounted
# Pure stable vocabulary only. Presentation layers may map these IDs to scenes,
# audio, particles, or animation without making the headless catalog load them.
const ITEM_FOOD := &"item.food"
const ITEM_HERBS := &"item.herbs"
const ITEM_WOOD := &"item.wood"
const RESOURCE_BERRY_PATCH := &"resource.berry_patch"
const RESOURCE_HERB_PATCH := &"resource.herb_patch"
const RESOURCE_TREE := &"resource.tree"
const STORAGE_APOTHECARY := &"storage.apothecary"
const STORAGE_PANTRY := &"storage.pantry"
const STORAGE_WOODPILE := &"storage.woodpile"
static func get_all() -> Array[StringName]:
var cue_ids: Array[StringName] = [
ITEM_FOOD,
ITEM_HERBS,
ITEM_WOOD,
RESOURCE_BERRY_PATCH,
RESOURCE_HERB_PATCH,
RESOURCE_TREE,
STORAGE_APOTHECARY,
STORAGE_PANTRY,
STORAGE_WOODPILE,
]
cue_ids.sort_custom(
func(first: StringName, second: StringName): return String(first) < String(second)
)
return cue_ids