From c4ee47647a5bf1a06ae88ebb9410117c927868ee Mon Sep 17 00:00:00 2001 From: LLLL Colonq Date: Mon, 12 Oct 2026 01:31:00 -0400 Subject: Major refactor, generate relation traits with macros --- crates/elfmind/src/knowledge.rs | 187 ++++++++++++++++++++-------------------- 1 file changed, 92 insertions(+), 95 deletions(-) (limited to 'crates/elfmind/src/knowledge.rs') diff --git a/crates/elfmind/src/knowledge.rs b/crates/elfmind/src/knowledge.rs index a610328..97ff118 100644 --- a/crates/elfmind/src/knowledge.rs +++ b/crates/elfmind/src/knowledge.rs @@ -1,86 +1,45 @@ -pub mod relation; -pub use relation::*; +pub mod traits; pub use traits::*; +pub mod relation; pub use relation::*; -use crate::time::*; -use crate::item::*; -use crate::character::*; +pub use crate::noun::*; use std::collections::{HashMap, HashSet}; +use std::fmt::Display; use itertools::Itertools; +use strum::IntoDiscriminant; use enum_map::EnumMap; -use strum::IntoDiscriminant; #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] -pub struct Var { index: u64 } - -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum Value { - Var(Var), - Item(Item), - Character(Character), - Time(Time), -} -impl From for Value { fn from(x: Var) -> Self {Value::Var(x)} } -impl From for Value { fn from(x: Item) -> Self {Value::Item(x)} } -impl From for Value { fn from(x: Character) -> Self {Value::Character(x)} } -impl From