|
1 | 1 | # PyVizAST |
2 | 2 |
|
3 | | -[](https://github.com/ChidcGithub/PyVizAST) |
| 3 | +[](https://github.com/ChidcGithub/PyVizAST) |
4 | 4 | [](https://www.python.org/) |
5 | 5 | [](LICENSE) |
6 | 6 | [](https://github.com/ChidcGithub/PyVizAST) |
7 | | -[](https://github.com/ChidcGithub/PyVizAST) |
| 7 | +[](https://github.com/ChidcGithub/PyVizAST) |
8 | 8 |
|
9 | 9 | A Python AST Visualizer & Static Analyzer that transforms code into interactive graphs. Detect complexity, performance bottlenecks, and code smells with actionable refactoring suggestions. |
10 | 10 |
|
@@ -35,9 +35,7 @@ A Python AST Visualizer & Static Analyzer that transforms code into interactive |
35 | 35 | - **Challenge Mode**: Identify performance issues in provided code samples |
36 | 36 |
|
37 | 37 | ### Easter Egg |
38 | | -- Click the "PV" logo 5 times within 2 seconds to discover a hidden surprise |
39 | | -- Features a physics-based confetti animation with 300 realistic paper particles |
40 | | -- Particles spray from screen corners with natural flutter, bend, and fold effects |
| 38 | +- Just explore the project and you'll find it :) |
41 | 39 |
|
42 | 40 | ## Architecture |
43 | 41 |
|
@@ -201,7 +199,54 @@ Contributions are welcome. Please submit pull requests to the main repository. |
201 | 199 |
|
202 | 200 | <summary>Version History</summary> |
203 | 201 |
|
| 202 | +<details> |
| 203 | +<summary>v0.7.0-beta (2026-03-11)</summary> |
| 204 | + |
| 205 | +**New Feature: Webcam Gesture Control** |
| 206 | + |
| 207 | +Hand gesture recognition for 2D/3D AST visualization control using MediaPipe. |
| 208 | + |
| 209 | +**Supported Gestures:** |
| 210 | +- **Thumb Up**: Zoom in |
| 211 | +- **Thumb Down**: Zoom out |
| 212 | +- **Closed Fist**: Pan mode (grab and drag) |
| 213 | +- **Open Palm**: Quick tap = select, Hold = reset view |
| 214 | +- **Pointing Up**: Select node |
| 215 | +- **Victory (V sign)**: Rotate mode |
| 216 | +- **Two Hands Pinch**: Pinch to zoom, move both hands to pan |
| 217 | + |
| 218 | +**Components:** |
| 219 | +- `GestureService.js`: Core gesture recognition service using MediaPipe GestureRecognizer |
| 220 | +- `GestureControl.js`: UI component with camera preview, status indicator, gesture guide |
| 221 | +- `GestureControl.css`: Styling for gesture control overlay |
| 222 | + |
| 223 | +**Features:** |
| 224 | +- Toggle button in header (default OFF) |
| 225 | +- Real-time camera preview with gesture overlay |
| 226 | +- Status indicator (loading/ready/running/error/stopped) |
| 227 | +- Visual gesture guide with action mappings |
| 228 | +- Support for both 2D (Cytoscape) and 3D (Three.js) visualizations |
204 | 229 |
|
| 230 | +**Dependencies:** |
| 231 | +- Added `@mediapipe/tasks-vision` for gesture recognition |
| 232 | + |
| 233 | +**Known Issues:** |
| 234 | +- Gesture recognition may be unstable in certain lighting conditions |
| 235 | +- Future improvements planned: stability filtering, confidence threshold adjustment, gesture cooldown |
| 236 | + |
| 237 | +**Files Added:** |
| 238 | +- `frontend/src/utils/GestureService.js` |
| 239 | +- `frontend/src/components/GestureControl.js` |
| 240 | +- `frontend/src/components/GestureControl.css` |
| 241 | + |
| 242 | +**Files Modified:** |
| 243 | +- `frontend/src/components/Header.js` - Added gesture toggle button |
| 244 | +- `frontend/src/App.js` - Added gesture state management |
| 245 | +- `frontend/src/components/ASTVisualizer.js` - Added gesture handling for 2D |
| 246 | +- `frontend/src/components/ASTVisualizer3D.js` - Added gesture handling for 3D |
| 247 | +- `frontend/package.json` - Added MediaPipe dependency |
| 248 | + |
| 249 | +</details> |
205 | 250 |
|
206 | 251 | <details> |
207 | 252 |
|
|
0 commit comments