pub fn ray_rect_intersection( rect: Rect<f32>, origin: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, dir: Matrix<f32, Const<2>, Const<1>, ArrayStorage<f32, 2, 1>>, ) -> Option<IntersectionResult>