bool intersects(Rect2D o) => left <= o.right && right >= o.left && top <= o.bottom && bottom >= o.top;