Had the darnedest time get the origin set correctly.
A few things that weren't obvious (to me at least):
- Convert the target child view to a UIHostingView, not self or body, otherwise your origin will be inexplicably quite off and screenshot will look drunk.
- Add +1 to the origin's y-axis, at least on the iPhone XS, because of course. Otherwise see above.
- A drawing group must be applied within the background modifier of your view, if your view has a background. Otherwise what's below bleeds through. And if you apply that else where that hierarchy disappears.
- In UIGraphics, override the background color to clear. UIHostingView conveniently resets the background to the system background color after the graphic returns. If you don't do this, within UIGraphics you can layer things transparently behind the UIView, but the readout back to SwiftUI will not be the cropped droid you were looking for.
- Scale and rotate do not work together as ExclusiveGestures. Ok.
- All the gestures perform for the us