Cut was broken a bit and was fixed (hopefully in all cases) and was a good occasion to review the sub shape code. Firstly what is subshape? Is a function that extracts a primitive OpenCascade shape from other shape: as a point from an edge, or an edge from a box, etc.
This remains the same but also were some improvements in code logic as Mirror Point will be able to use a point not just from a point shape, but from other shape (at least from logical point of view).
As a small extension the Point3D component is extended to use referenced points from other shapes. This will may mean at least in future (the current visible functionality is unchanged) that is possible to relate a point to a line without making a subshape. In a similar way, the referenced shape is possible as with changes of today to store the same information as subshape, making possible to create (in future) extrudes or cuts internally without creating an extra subshape with all maintained code.