PyVizAST Prerelease 0.7.0
Pre-release
Pre-release
New Feature: Webcam Gesture Control
Hand gesture recognition for 2D/3D AST visualization control using MediaPipe.
Supported Gestures:
- Thumb Up: Zoom in
- Thumb Down: Zoom out
- Closed Fist: Pan mode (grab and drag)
- Open Palm: Quick tap = select, Hold = reset view
- Pointing Up: Select node
- Victory (V sign): Rotate mode
- Two Hands Pinch: Pinch to zoom, move both hands to pan
Components:
GestureService.js: Core gesture recognition service using MediaPipe GestureRecognizerGestureControl.js: UI component with camera preview, status indicator, gesture guideGestureControl.css: Styling for gesture control overlay
Features:
- Toggle button in header (default OFF)
- Real-time camera preview with gesture overlay
- Status indicator (loading/ready/running/error/stopped)
- Visual gesture guide with action mappings
- Support for both 2D (Cytoscape) and 3D (Three.js) visualizations
Dependencies:
- Added
@mediapipe/tasks-visionfor gesture recognition
Known Issues:
- Gesture recognition may be unstable in certain lighting conditions
- Future improvements planned: stability filtering, confidence threshold adjustment, gesture cooldown
Files Added:
frontend/src/utils/GestureService.jsfrontend/src/components/GestureControl.jsfrontend/src/components/GestureControl.css
Files Modified:
frontend/src/components/Header.js- Added gesture toggle buttonfrontend/src/App.js- Added gesture state managementfrontend/src/components/ASTVisualizer.js- Added gesture handling for 2Dfrontend/src/components/ASTVisualizer3D.js- Added gesture handling for 3Dfrontend/package.json- Added MediaPipe dependency