Early-stage project for real-time webcam-based 3D hand interaction.
Current implementation snapshot:
- Gesture:
GestureServiceImplinsrc/gesture/service.py - Shared gesture temporal reducer:
src/gesture/temporal.py - Bridge:
BridgeServiceImplinsrc/bridge/service.py - Rendering:
RenderingServiceImplinsrc/rendering/service.py - Rendering backend: Python + Panda3D
The gesture runtime and live preview now share the same temporal logic for:
- tracking-state transitions
- pinch hysteresis and confirmation
- confidence shaping
- coordinate smoothing
The live preview also shows measured on-screen FPS from the actual preview loop, not just the configured target FPS.
Current runtime defaults:
- target FPS request:
30 - requested capture resolution:
1280x960
Main app preview behavior:
- the Panda3D window now owns the camera preview feed
- use
--flip-cameraor--no-flip-camerato control horizontal mirroring - use
--debug-statsto show the gesture/runtime statistics panel - the old main-entry
--live-previewpath is removed completely - use
--render-position-sensitivityto make rendered object translation more or less sensitive
Local machine run defaults can be stored in .run.yaml at the repository root. A committed
template is available in .run.example.yaml, while the real .run.yaml stays untracked.
Developer environment setup: see DEVELOPMENT.md.