use crate::SovereignDimension;
pub struct DimensionLabel {
pub key: &'static str,
pub name_en: &'static str,
pub description_en: &'static str,
pub icon: &'static str,
}
pub const DIMENSION_LABELS: [DimensionLabel; 8] = [
DimensionLabel {
key: "epistemic_integrity",
name_en: "Epistemic Integrity",
description_en: "Your truth-telling track record",
icon: "search",
},
DimensionLabel {
key: "thermodynamic_yield",
name_en: "Thermodynamic Yield",
description_en: "Energy contributed to the commons",
icon: "bolt",
},
DimensionLabel {
key: "network_resilience",
name_en: "Network Resilience",
description_en: "Infrastructure uptime and reliability",
icon: "wifi",
},
DimensionLabel {
key: "economic_velocity",
name_en: "Economic Velocity",
description_en: "Healthy circulation of mutual credit",
icon: "refresh",
},
DimensionLabel {
key: "civic_participation",
name_en: "Civic Participation",
description_en: "Governance engagement and jury service",
icon: "vote",
},
DimensionLabel {
key: "stewardship_care",
name_en: "Stewardship & Care",
description_en: "Verified labor maintaining the commons",
icon: "hands",
},
DimensionLabel {
key: "semantic_resonance",
name_en: "Semantic Resonance",
description_en: "Alignment with community values",
icon: "heart",
},
DimensionLabel {
key: "domain_competence",
name_en: "Domain Competence",
description_en: "Peer-verified expertise in your field",
icon: "star",
},
];
pub fn dimension_label(dim: SovereignDimension) -> &'static DimensionLabel {
&DIMENSION_LABELS[dim.index()]
}
pub const TIER_LABELS: [(&str, &str); 5] = [
("observer", "Observer"),
("participant", "Participant"),
("citizen", "Citizen"),
("steward", "Steward"),
("guardian", "Guardian"),
];