demo · v131
five canonical gestures: pinch, fist, point, peace, open palm
Hand input gives positions and radii. From those you derive gestures. Each tile below is a recognised gesture with its detection formula. The sliders simulate joint distances — you can validate the logic on the page, then deploy the same code in the XR loop.
session
On a non-XR browser the sliders simulate joint values. Real values come from
frame.getJointPose(jointSpace, ref) in an immersive-ar/vr session with hand-tracking requested.
pinch (select)
Thumb tip touches index tip.
distance(thumb-tip, index-tip) < thumb.r + index.r
fist (grab)
All four finger tips near the palm.
∀ finger: distance(tip, wrist) < 0.6 × hand-length
point
Index extended, others curled.
index extended ∧ ¬middle-extended ∧ ¬ring-extended ∧ ¬pinky-extended
peace
Index and middle extended, ring and pinky curled.
index, middle extended ∧ ring, pinky curled
open palm
All five fingers extended.
∀ finger: extended
simulator
50 mm
1.00
detected gesture
—