Part of #15. Gate on the A3 harness.
When one thumb glides and the other taps simultaneously, all touch points are aggregated into one stroke and the tap warps the recognized word. Keep the two thumbs' point streams separate by pointer ID (infra exists: PointerTrackerQueue): gliding thumb -> stroke; tapping thumb -> discrete taps via live-converge.
Acceptance: a tap mid-glide no longer corrupts the swiped word in corpus tests.
Part of #15. Gate on the A3 harness.
When one thumb glides and the other taps simultaneously, all touch points are aggregated into one stroke and the tap warps the recognized word. Keep the two thumbs' point streams separate by pointer ID (infra exists: PointerTrackerQueue): gliding thumb -> stroke; tapping thumb -> discrete taps via live-converge.
Acceptance: a tap mid-glide no longer corrupts the swiped word in corpus tests.