pub trait Primitive4 { // Required methods fn to_wgsl_4d(&self, name: &str) -> String; fn eval_4d(&self, p: Vec4) -> f32; }