use indexmap::IndexMap;
pub mod filesystem;
pub mod loadable_device;
pub use loadable_device::LoadableDevice;
#[derive(Clone, Debug)]
pub struct Sampling {
pub mappings: IndexMap<String, Mapping>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct Mapping {
pub result_mapping: IndexMap<String, String>,
#[serde(default, skip_serializing_if = "IndexMap::is_empty")]
pub curve_mapping: IndexMap<String, CurveMapping>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct CurveMapping {
pub coordinate_system: CoordinateSystemMapping,
#[serde(default, skip_serializing_if = "IndexMap::is_empty")]
pub markers: IndexMap<String, CoordinateSystemMapping>,
}
#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
#[serde(rename_all = "camelCase")]
pub struct CoordinateSystemMapping {
pub x: String,
pub y: String,
}