Igalia / wolvic

A fast and secure browser for standalone virtual-reality and augmented-reality headsets.
https://wolvic.org
Mozilla Public License 2.0
813 stars 105 forks source link

Sync UI with pinch gesture detection #1580

Closed svillar closed 3 weeks ago

svillar commented 3 weeks ago

When using hand tracking in some systems the pointer was not getting azure (signal of pinching) until the fingers were actually in contact. However for the pinch to happen, there is no need to touch them, once they are close enough we consider them performing the pinch gesture.

The problem was that the code detecting the gesture and the code changing the color of the pointer were not using the same activation thresholds. Actually the color of the pointer was only changed when the pinch gesture was returning 1.0, i.e, fingers touching.

svillar commented 3 weeks ago

These are two recordings demonstrating the issue and the fix. First the "before" clicks and scrolling happens even if the pointer is not in selected (azure) color

https://github.com/user-attachments/assets/ba813c2d-dd9c-4536-aacc-e7137965f62e

and then with the fix (note that click happens exactly when the pointer turns blue)

https://github.com/user-attachments/assets/303f627e-5c6e-43c5-af06-2d348b46a1d3