//! Content discovery and deserialization. //! //! Reads content.yaml, discovers campaigns and districts via directory //! structure, deserializes YAML files into intermediate content types. //! Comment-only YAML files (stubs) are skipped gracefully. use std::collections::BTreeMap; use std::path::{Path, PathBuf}; use crate::content::types::*; /// All content loaded from disk, organized by district. /// Inserted as a bevy Resource after loading completes. #[derive(Debug, Default)] pub struct ContentStore { pub manifest: Option, pub districts: BTreeMap, } /// Content for a single district. #[derive(Debug, Default)] pub struct DistrictContent { pub meta: Option, pub district_path: PathBuf, pub pools: Vec, pub templates: Vec