hackathon/PAUSE_SIGNAL.md

1.6 KiB

Pause Signal Rework

Problem

The current pause gesture is arms-out (T-pose): both wrists at shoulder height.

Issues:

  • Accidental triggers — players raise arms during gameplay and inadvertently pause
  • Unintuitive — new players don't know or remember to hold a T-pose to pause

Current Implementation

  • armsOutDetector.ts — checks both wrists within ARMS_Y_TOLERANCE (0.15) of shoulder Y
  • 2-second cooldown after arms drop before it can re-trigger
  • Arms-out is dual-purpose: it both pauses gameplay and is the calibration-ready signal

Alternative Signals

Gesture Pros Cons
Hands on head (both wrists above head) Very intentional, hard to do by accident Might be tiring if held
Crossed arms (wrists near opposite shoulders) Familiar "stop" posture, unlikely during dance Harder to detect reliably with occlusion
Hand over face (one wrist covering nose) Simple, quick Could conflict with wiping sweat
Both hands raised high (surrender pose) Easy to detect, distinct from dance moves Could overlap with jump celebrations
Timeout / stillness (no movement for N seconds) No specific pose needed Slow, frustrating to wait
Palm facing camera (open hand toward webcam) Intuitive "stop" signal Requires hand landmark model, more compute

Considerations

  • Whatever replaces T-pose for pause must not conflict with the calibration flow (which also uses arms-out to signal "ready")
  • Should be easy to explain in the tutorial overlay
  • Must be distinct from stepping, jumping, and natural dance movement