pub fn sphere_intersect( ray_origin: Vec3, ray_dir: Vec3, sphere_center: Vec3, sphere_radius: f32, ) -> Option<f32>