Introduce `Rectangle.sub` and `Box.sub` functions to derive sub-rectangles and sub-boxes from existing shapes using relative dimensions. Add `Box.place` to position a box relative to another using customizable anchors.
Introduce `Rectangle.place` to position rectangles dynamically within bounds using anchor points. Added a demo (`DemoRectanglePlace01`) showcasing a 10x10 grid of rectangles evenly distributed across the canvas.
Introduce `splitAtX`, `splitAtY`, and `splitAtZ` methods to divide a box along specific axes. Implement `subtract` methods to handle box subtraction and remove intersecting regions, with support for operations on individual boxes and lists of boxes.
Introduce functions to split rectangles at specified axes and subtract overlapping areas. These utilities allow precise manipulation of rectangle shapes, including dividing and removing intersections while preserving non-overlapping sections.
This commit introduces `Rectangle.irregularGrid`, enabling the creation of grids with irregular spacing based on weights. New helper methods and properties for 2D rectangle lists, such as subgrid selection, bounds calculation, and random access, are also added. Additionally, two new demos showcase regular and irregular grid features.