Skip to content

[codex] Gate camera-relative gaze by tracking mode - #29

Merged
meekmachine merged 1 commit into
mainfrom
codex/gate-camera-relative-gaze-mode
May 27, 2026
Merged

[codex] Gate camera-relative gaze by tracking mode#29
meekmachine merged 1 commit into
mainfrom
codex/gate-camera-relative-gaze-mode

Conversation

@meekmachine

Copy link
Copy Markdown
Owner

Summary

  • Gate camera-relative gaze tracking on live input modes (mouse or webcam) instead of only eye/head channel enablement.
  • Toggle the camera listener when tracking mode changes so manual mode unsubscribes and stops applying camera-derived gaze offsets.
  • Add regression coverage for manual startup, live tracking startup, cached camera offsets, disabled tracking, manual-mode unsubscribe, and experimental gaze mode.

Root cause

The camera-relative tracker was enabled whenever the service was started and either eye or head tracking was enabled. That allowed default manual mode to subscribe to OrbitControls camera changes and reapply a camera-relative head target even when mouse/webcam tracking was not active.

Validation

  • npm test -- --run src/eyeHeadTracking/__tests__/eyeHeadTrackingService.test.ts
  • npm run typecheck

@meekmachine

Copy link
Copy Markdown
Owner Author

Rechecked/rebased against origin/main on 2026-05-27.

  • Branch is already current with origin/main; git rebase origin/main was a no-op.
  • Confirmed origin/main still lacks the live-mode gate in src/eyeHeadTracking/eyeHeadTrackingService.ts.
  • Checked newer Latticework PRs Add CLJS animation, tracking, and speech planners #45/[codex] Modernize gaze runtime path #28 for overlap; they do not replace this TypeScript camera-relative listener fix on main.
  • Validation passed: npm test -- --run src/eyeHeadTracking/__tests__/eyeHeadTrackingService.test.ts and npm run typecheck.

@meekmachine
meekmachine marked this pull request as ready for review May 27, 2026 22:45
@meekmachine
meekmachine merged commit d3e7af9 into main May 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant