Rect:

points(): [Vec2, Vec2, Vec2, Vec2]

collides(shape: ShapeType | Vec2): boolean

raycast(origin: Vec2, direction: Vec2): RaycastResult