
KIT
Catalog · camp
catalog
DOMAIN
catalog
PATH
data/kits/catalog/camp.json
PARTS
7
NOTE
Open-world PACK part vocabulary (the Pack DSL, docs/designs/living-world-procgen.md §1) — the camp/lair prop-cluster parts a data pack (data/kits/packs/*.json) names by KEY, resolved through KitSet exactly like every other domain. Code-built by default (the plan's §0/§6: assets/models/camps/ is still empty), each with a `code:lair_*` builder wrapping the existing LairKit primitives — swapping a part to a real model later is a catalog edit here, never a PackComposer/pack-def change. `cargo_crate` reuses the shared medieval storage box (same recipe family as the interior `crate` key) since a camp's stolen goods are the same object as a house's storage crate. `player_campfire`/`player_stump` back the PLAYER's own ephemeral rest-camp (scripts/world/gen/PlayerCamp.gd, T-sy031) — real medieval-pack models (assets/models/medieval/camp/{fire,wood}/*.glb, already present on disk, unlike the still-empty assets/models/camps/ this note's Code-built-by-default line refers to) so the tent/fire/stump read as one coherent low-poly set; each still falls back to a code builder if the pack ever goes missing.
Metadata
Parts (7)
code:lair_campfireprocedural — built by code, no static mesh file (check the matching Bench)code:lair_weapon_rackprocedural — built by code, no static mesh file (check the matching Bench)code:lair_war_bannerprocedural — built by code, no static mesh file (check the matching Bench)

