Consider model #1 below:
If pocketing only the two rectangular pockets (1,2), you obviously don't want to rapid between them at the top of the model. It's not a big deal with just two pockets but would be incredibly inefficient if there were 100. On the other hand, if you're also pocketing #3 you HAVE to go all the way up. So the safe-height is effectively the local high point inside the boundbox of the operation.
But maybe the user still doesn't want the wasted rapid time between pockets 1 and 2. In that case, he can configure two operations. One has pockets 1, 2 and the other has just pocket 3. The safe-height for the first op can be set at the local high point between them and it will be efficient. When moving from the first op to the second, the system will go to clearance height and avoid the tower.
- safeclear1.png (9.01 KiB) Viewed 1732 times
Now consider model #2. Maybe this is a second operation to clear an even lower part of the two pockets (1,2). The safe height is still the same but the start point and end points have changed.
- safeclear2.png (8.58 KiB) Viewed 1732 times
This should show that there are three separate ideas:
Safe height being the height at which rapid moves INSIDE the boundbox of an operation are safe.
Clearance height being the the height at which rapid moves BETWEEN operations are safe.
Start depth being the point at which cutting starts.
But this is just concept. I'm not saying anything about whether Path gives reasonable defaults for these things. I'm also not saying whether or not Path actually follows the concept universally in every operation. You might be right that drilling can be improved here. I haven't had time to look at it.