pub fn find_first_occluder( origin: Vec2, direction: Vec2, max_range: f32, occluders: &[OccluderSegment], ) -> Option<(f32, usize)>