Picking (select) a shape shall process all shapes in Z descending order,
i.e. top shape first. This is a bug currently.
Note: Picking (selecting) a shape using a (mouse-)pointer device
is active by mouse-moved and not only mouse-clicked.
Therefor, we select shapes by mouse-over.
The active selected shape shall have an elevated Z offset to be rendered on top
of the others on same plane.
- This avoids them being rendered below others while moving them around etc.
- This also avoids flickering of overlapping shapes with mouse over.
- This stabilizes the UI experience
Feature added w/ commit 84b26f9efcd62cc8c41bf3cd867482080d16d7a0
Resolution uses a multiple of current Z-Epsilon, see Bug 1458
Bug 1454 - GraphUI Scene: Make active ZOffset scale configurable
Bug 1454 + Bug 1464: Maintain a Shape local 'zOffset' and only consider it for sorting w/o actually modifying the position (enogh to be painted on top and for selection)
Also use a simplified comparison using only float relational operations w/o NaN/Inf bit-stuff or epsilon,
as it should be accurate enough for this cause.
This shall also resolve Bug 1454, as we no more modify the position directly
but the local zOffset field .. but this has to be seen (data race).