All notable changes to this project will be documented in this file.
- Calibration System: Resolved a critical bug where the
calibrate()function updated the state but failed to synchronize with the high-frequency tracking loop. The "Recenter" button now works instantly. - Z-Axis Tracking Logic: Switched from using
nose.z(relative head rotation) to Iris Distance (1 / distance_between_irises). This allows for true physical depth tracking—leaning closer to the screen now correctly zooms the perspective. - Motion Smoothing: Replaced frame-rate dependent smoothing with Time-Based LERP. The tracking smooths consistently regardless of whether the app is running at 30, 60, or 120 FPS.
- Z-Sensitivity Explosion: Fixed an issue where the new inverse-distance math caused the camera to fly to infinity. Tuned
Z_SENSITIVITYinconfig.tsto0.1to map raw inputs to world units correctly.
- Debug UI: Added "Raw Z" readout to the HeadTracker debug overlay to visualize the raw inverse-iris-distance input.
- Math Library: Added
lerpTimehelper for delta-time based interpolation.
- Config: Updated
src/lib/config.tswith new sensitivity defaults.