Checking WebXR support…
Launch monitor mode (default). Hands only — no controllers needed. Look at your real ball and pinch to place the tee. Look downrange and pinch again to set your target line. Raise a wrist palm-toward-you and look at it for the menu (poke buttons with your other index finger). Pinch to fire a practice shot (no launch monitor needed) · thumb-to-middle-finger pinch cycles the club · hold a pinch 2s to re-anchor. Hand input pauses automatically while you grip and swing the club. Once a real monitor sends a shot, practice pinches lock out (?testshots=1 re-enables them).

Virtual golf mode — just pick up your right controller: the mode follows your input device (bare hands = launch monitor, controller in hand = virtual golf; ?mode= forces one). No monitor and no real ball: swing the controller at a virtual ball. A weighted handle such as the YEZRO Y14 on your right controller gives it a real club's length and weight. Calibrate once: a club outline stands soled on the floor ahead of you — take your address over it, hands on its grip, shaft along your attachment, hold still, pull the trigger. The virtual club comes out inline with whatever attachment you have, wherever the controller is mounted on it. Then swing: head speed, attack angle, club path, face angle and strike location all shape the shot, with Golf+-style shaping assist so a small wrist wobble doesn't become a 40-yard slice. A/X cycles clubs, B/Y opens the menu; point at it and pull the trigger to click. Options: ?attach=none|yezro|<metres>, ?swingzone=<metres>, ?assist=0..1 (default 0.5), ?power=0.5..1.6 (default 1.15), ?shape=0..3 (default 1, true D-plane curve), ?wind=mph,deg (0° tail · 180° into · 90° L→R — real flight physics, watch the flags), ?swingdebug=1.

Desktop preview: add ?sim=1 and use keys 1-9 / Space or the button above; V toggles mode and B fires a synthetic swing.