pub trait Edge { fn horizontal(&self) -> f32; fn vertical(&self) -> f32; }