pub fn surface_of_revolution( profile_pts: &[Vec2], axis: Vec3, n_revolutions: usize, ) -> SplineMesh