---
id: TASK-134
title: PWA — MediaPipe CV pipeline + pointer mapper
status: Done
assignee: []
created_date: '2026-03-29 20:52'
labels:
  - pwa
  - cv
milestone: m-2
dependencies: []
priority: high
---

## Description

<!-- SECTION:DESCRIPTION:BEGIN -->
Write cv-pipeline.js (MediaPipe ObjectDetector from CDN, EfficientDet Lite 0 float16, VIDEO mode, detection overlay drawing) and pointer-mapper.js (FOV-based bbox→pan/tilt angle conversion with exponential smoothing).
<!-- SECTION:DESCRIPTION:END -->

## Acceptance Criteria
<!-- AC:BEGIN -->
- [ ] #1 Dynamic import from MediaPipe CDN with GPU delegate + CPU fallback
- [ ] #2 detectForVideo returns normalised bboxes with centerX/centerY
- [ ] #3 drawDetections: green for target, amber dashed for others, HiDPI aware
- [ ] #4 pixelToAngles: mirrored X axis, 80/60 FOV default
- [ ] #5 relativeTarget for fallback anchor offsets
- [ ] #6 Exponential smoothing factor 0.3
<!-- AC:END -->

## Final Summary

<!-- SECTION:FINAL_SUMMARY:BEGIN -->
cv-pipeline.js: MediaPipe Tasks Vision CDN, EfficientDet Lite 0, normalised detections, styled overlay. pointer-mapper.js: FOV mapping, EMA smoothing, relative fallback.
<!-- SECTION:FINAL_SUMMARY:END -->
