Solid transforms
Post-processing operations consume an existing solid and produce a new one:
Mirror(shape, plane_name) # plane_name in {"XY", "YZ", "XZ"}
Scale(shape, factor) # uniform about world origin
BoundingBox(shape) # axis-aligned envelope
Offset2D(shape, distance) # 2D offset of a closed shape
Section(solid, plane_name) # cut by a world plane → wire compoundAll native nodes — no @expand, direct kernel calls.
Section(solid, plane_name) cuts the solid with the given world plane and
returns a wire compound of the resulting edges (in world coordinates).
Useful for cross-section visualization and bounding-box queries on the
cut. Re-using the section result as a 2D sketch is a separate follow-up
(needs world-edges → plane-local Drawing conversion).
Non-uniform Scale (per-axis factors) is a follow-up.