Taking https://popper.js.org/docs/v2/virtual-elements/ into account, surface an API so that something like https://webcomponents.dev/edit/ThKC7g0JNv1sswUo63Iu/src/index.ts is relatively easy to achieve.
Initial thought is a makeVirtualTriggerAt(x, y) helper that would possibly extend eventTarget to include the getBoundingClientRect call so that we could still communicate trigger contexts via DOM events even when the trigger is virtual.