//! Runtime-configuration primitives shared by vehicle-specific schemas. //! //! This crate has no knowledge of MAVLink, filesystems, board routing, motors, //! or a particular airframe. It owns the committed-versus-active lifecycle and //! parameter metadata; vehicle crates provide the typed schema and complete //! validation. It also owns the canonical public KCFG artifact and the compact //! private scalar snapshot. Transport and storage framing remain separate //! adapters. #![no_std] extern crate self as kaptan_config; mod artifact; mod checksum; pub mod error; pub mod field; pub mod journal; pub mod lifecycle; pub mod snapshot; pub mod storage; pub mod validation; pub use artifact::{ KcfgArtifact, KcfgDecodeError, KcfgEncodeError, KcfgEnumOption, KcfgEnumOptions, KcfgExportPlan, KcfgExporter, KcfgField, KcfgFields, KcfgImporter, KcfgResultDetail, decode_kcfg, encode_edited_kcfg, kcfg_length, }; pub use error::{ConfigViolation, ValidationRule}; pub use field::{ ConfigModel, ConfigScalar, ConfigValue, FieldDescriptor, FieldId, FieldWriteError, ScalarValueError, ValueKind, }; pub use journal::{DualSlotJournal, DualSlotNor, JournalError}; pub use kaptan_config_derive::{Config, ConfigEnum}; pub use lifecycle::{ConfigManager, ReplaceError, ReplaceOutcome, StartupError}; pub use snapshot::{ ScalarSnapshotDecodeError, ScalarSnapshotEncodeError, SnapshotModelError, decode_scalar_snapshot, encode_scalar_snapshot, scalar_snapshot_length, }; pub use storage::ConfigStore; pub use validation::Config;