diff --git a/.claude/plans/cosmic-imagining-hennessy.md b/.claude/plans/cosmic-imagining-hennessy.md new file mode 100644 index 0000000..48fa173 --- /dev/null +++ b/.claude/plans/cosmic-imagining-hennessy.md @@ -0,0 +1,13 @@ +# Camera-Based Mutual Attention System — Final State + +## Ecosystem Context + +### Existing camera/vision work +- **vibecheck** (`@applications/vibecheck/`) — TypeScript/browser face detection using `@mediapipe/tasks-vision` WASM. Has head pose estimation, blink detection, gesture recognition. Runs in browser via `getUserMedia`. Not usable for desktop/system-level. +- **imajin-identity** (`@imajin/services/imajin-identity/`) — Python server-side face embedding using InsightFace + MediaPipe Pose. Processes uploaded images, not live camera. + +### What we built (system-level, different runtime target) +- **imajin-face-tracker** (`@imajin/packages/@py/imajin-face-tracker/`) — Python library: MediaPipe Face Mesh, head pose (solvePnP), iris gaze, attention detection, V4L2 camera enumeration. Designed for desktop apps with live webcam. + +### Shared algorithms +Head pose estimation uses the same landmarks (nose #1, chin #152, eyes #33/#263) in both vibecheck (TypeScript, landmark-ratio math) and imajin-face-tracker (Python, solvePnP). The algorithms differ slightly but the approach is equivalent.