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

see also