Skip to main content

locus_core_rs/parsing/
lexicon.rs

1pub const PROVENANCE_MARKER: &str = "⊕⟨";
2pub const ENVELOPE_MARKER: &str = "⦿⟨";
3pub const CONTENT_MARKER: &str = "◈⟨";
4pub const METRICS_MARKER: &str = "⍉⟨";
5pub const LAYER_STOP_MARKER: &str = "⟩";
6
7pub const AVEC_USER_KEY: &str = "user_avec";
8pub const AVEC_MODEL_KEY: &str = "model_avec";
9pub const AVEC_COMPRESSION_KEY: &str = "compression_avec";
10
11pub const AVEC_DIMENSION_KEYS: [&str; 4] = ["stability", "friction", "logic", "autonomy"];
12
13#[derive(Debug, Clone, Copy, PartialEq, Eq)]
14pub enum LayerKind {
15    Provenance,
16    Envelope,
17    Content,
18    Metrics,
19}
20
21impl LayerKind {
22    pub fn marker(self) -> &'static str {
23        match self {
24            Self::Provenance => PROVENANCE_MARKER,
25            Self::Envelope => ENVELOPE_MARKER,
26            Self::Content => CONTENT_MARKER,
27            Self::Metrics => METRICS_MARKER,
28        }
29    }
30}
31
32pub const LAYER_ORDER: [LayerKind; 4] = [
33    LayerKind::Provenance,
34    LayerKind::Envelope,
35    LayerKind::Content,
36    LayerKind::Metrics,
37];