Point. Hold. Release.
Follow one target-ray controller through connected, hover, selectstart, selectend, and disconnected states. Desktop buttons dispatch the same controller events so the ownership contract is testable without pretending a headset is present.
Preparing WebXR manager, target-ray spaces, grip models, and shared raycasting...
- mode
- -
- connected
- -
- hovered
- -
- selected
- -
- events
- -
- ray hits
- -
- moves
- -
- draws
- -
Selectstart attaches the intersected mesh to the controller; selectend attaches it back to the content group while preserving world transform.
The event log is intentionally short; it records the last eight lifecycle transitions.
A desktop simulation can verify state transitions and ownership; physical controller pose, input source profiles, and immersive frame timing still require a headset.
The XR button is a real session entry point. Use ?forceWebGL=1 for the WebGL2 companion; no physical XR session is claimed by desktop simulation.