pub fn reflect_velocity_off_normal( velocity: Vec3, surface_normal: Vec3, restitution: f32, ) -> Vec3