Questions about virtual shapes and layers

Hello!

So I have been looking at ways of speeding up my macro projects. Of course virtual shapes and layers sound like the way to go.

But their lack of documentation makes trying to find the correct usage very, very hard (at least for me).

So I wanted to ask some questions to the more experienced users here:

I need to speed up actions for existing objects, in this case I would like to create a contour of certain size and then check if it overlaps with other objects - basically a distance check. What I am currently using is SelectShapesFromRectangle combined with Curve.IntersectsWith. So first we roughly check if our shapes rectangle overlaps with other shapes (by removing the initial shape from the selected range and then comparing shape counts) and then use IntersectsWith command to see if those shapes actually overlap.

If they do, then I would move our shape or the other shape away a certain distance and then check again until that is no longer the case.

Ideally it would be possible to have all these shapes (or their Separated contours) on a virtual layer doing all that intersection checking and movement and then just replace the contours with the real shapes (for example I would name the contours with the parent shapes StaticID or something similar).

I know this is a little long and complex, but can anyone help with understanding what is and what isn't possible for such a task using virtual shapes or layers?