Yes: Imagine that you start dragging inside an annotation. Then you move the mouse below-and-outside the annotation, so the native selection actually starts inside the annotation and ends somewhere after-and-outside it. But: the `shadowCursor`'s range is only updated to match the native selection when the `mousemove` coordinates are `RootFilter`-accepted. So when you're moving the mouse in another root, while the native selection has updated to contain everything within the `mousedown` and `mousemove` bounds, the `shadowCursor` *still has the old selection before the mouse moved out of the local root*.

So we call maintainShadowSelection() to make the native selection conform to our root constraints.