pub fn normalize_normal(n: [f64; 3]) -> [f64; 3]
Normalize a surface normal vector. Returns zero vector if magnitude is too small.