mirror of
https://github.com/DeeJanuz/frametop.git
synced 2026-10-23 06:00:39 +02:00
With POINTER_HANDS=1 and POINTER_HAND_RAY=1 (design sections 2, 5): - Per side, each hands frame goes through fh_ray's gate; the first ray up drives the pointer (a pinch by the other hand's ray takes it). It wakes the pointer and claims the laser unless a controller pressed within 2 s. The mouse takes the pointer back; the ray returns after 1 s of no mouse. - The pose is the ray's origin and direction (a visible beam); our dot only where it meets a panel, no catcher in free space. A controller taking the laser hides our dot until a ray pinch claims it back. - A ray pinch is the left button, 30 ms after a claim it had to make; the direction holds until POINTER_RAY_DEADZONE (2.5 deg), then drags. A middle pinch (fh_gestures v3) is a right click, or scrolling when held and moved. Gaze pinches and grips are unchanged with the ray down. - Push and pull while carrying (POINTER_RAY_PUSH): the origin moves along the ray, distance d0 (h/h0)^3. - ft-screens' "near <capture_ns> <L> <R>": a gesture waits for the report on its frame (60 ms at most) and is left to ft-screens if near. - The ray lets go of a pointer it woke POINTER_RAY_RELEASE after it went; at once when its side's controller is in use or in a game. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>