The XR pointer
A WebXR controller adapted to Editor pointers. Like the flat pointer this is an adapter: it knows about controllers so that no tool has to.
Written now, not later, and not stubbed. A stub would compile and let a tool quietly assume a mouse — which is exactly the "we'll add VR after" failure this project decided to avoid. It is wired but unverified in a headset; say so rather than implying otherwise.
Where each part comes from
| ray | the controller's pointer node — its aim, not its grip |
| grip | the controller's grip node, which is where the HAND is |
| trigger | xr-standard-trigger on the motion controller |
| squeeze | xr-standard-squeeze — the modifier |
The ray comes from pointer and the near-grab position from grip because they
are genuinely different poses: aim runs from the knuckles forward, while the
hand is a few centimetres back and lower. Using one for both is why some apps
feel like you are grabbing with a stick.