pub struct Campaign {Show 13 fields
pub world: Envelope<WorldContent>,
pub npcs: Envelope<NpcsContent>,
pub classes: Envelope<ClassesContent>,
pub quest_plan: Envelope<QuestPlanContent>,
pub quests: Envelope<QuestsContent>,
pub dialogue: Envelope<DialogueContent>,
pub world_edits: Option<Envelope<WorldEditsContent>>,
pub geometry_brief: Option<Envelope<GeometryBriefContent>>,
pub layout_graph: Option<Envelope<LayoutGraphContent>>,
pub site_plan: Option<Envelope<SitePlanContent>>,
pub detail_plan: Option<Envelope<DetailPlanContent>>,
pub design: Option<Envelope<DesignContent>>,
pub heightmap: Option<HeightmapRead>,
}Expand description
The parsed stage documents that make up one campaign: the six required stages plus the optional stage-7 edit script (spec-0017).
Fields§
§world: Envelope<WorldContent>Stage 1.
npcs: Envelope<NpcsContent>Stage 2.
classes: Envelope<ClassesContent>Stage 3.
quest_plan: Envelope<QuestPlanContent>Stage 4.
quests: Envelope<QuestsContent>Stage 5.
dialogue: Envelope<DialogueContent>Stage 6.
world_edits: Option<Envelope<WorldEditsContent>>Stage 7 (optional; DSL v0.6, spec-0017): the map-editor edit script.
None = no world-edits.json in the campaign directory — byte-identical
to a campaign from before the stage existed.
geometry_brief: Option<Envelope<GeometryBriefContent>>The whole map’s brief as numbers (optional; DSL v0.13, spec-0049 §4.2).
layout_graph: Option<Envelope<LayoutGraphContent>>The campaign’s space as a graph (optional; DSL v0.13, spec-0049 §3).
site_plan: Option<Envelope<SitePlanContent>>The geometric embedding of that graph (optional; DSL v0.14, spec-0049 §4).
detail_plan: Option<Envelope<DetailPlanContent>>Which piece fills which of the plan’s places (optional; DSL v0.15, spec-0050 §1).
design: Option<Envelope<DesignContent>>The approved design’s record (optional; DSL v0.22, spec-0061): the rows
DW0890 holds the world’s reachable skies to. None = the campaign
ships no design.json, which is a measured zero of an optional surface
at validation and a refusal at staging.
heightmap: Option<HeightmapRead>The site plan’s heightmap as the loader read it (spec-0098 §2c), or
None when nothing has read one — every campaign whose terrain is not a
heightmap, and a campaign parsed from documents alone. A plan whose
terrain IS a heightmap and whose image was never read is refused at
validation (DW0826) rather than built over a guessed ground.