Take item pinches only from a mostly open hand

- Now that holding the wheel engages the race controls, closing the other hand on the rim could
  bring thumb and index together on the way and fire an item. A pinch uses an item only while the
  hand's grasp is under 0.5; a relaxed hand reads about 0, a hand closed on a rim about 0.9.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
iChris4andClaude Opus 5.5 committed 2026-09-25 00:42:48 +02:00
1 parent d3ad9fbd56
commit 38b7f89d74
4 files changed
+19 -4

No files matched your search

+5
View File
@@ -126,6 +126,11 @@ void TestPinchGate() {
Check(gate.Update(true, false, dt), "holding the pinch holds the button");
Check(!gate.Update(false, false, dt), "letting go releases it");
Check(!gate.Update(true, true, dt), "grabbing the wheel stops it");
Check(ItemPinch(true, GraspFromJoints(Hand(0.3f, 0.5f, 0.3f))), "a pinch from a relaxed hand is an item");
Check(!ItemPinch(true, GraspFromJoints(Hand(1.0f, 1.3f, 0.6f))), "a hand closing on the rim is not an item");
Check(!ItemPinch(true, std::numeric_limits<float>::quiet_NaN()), "an unknown grasp is not an item");
Check(!ItemPinch(false, 0.0f), "no pinch, no item");
}
void TestGestures() {