Look & Touch
Head-Tracked Interactions
The biggest change in this release: interactions now follow your head, not the mouse. When head tracking is active, block breaking, placing, entity hitting, and button pressing all target where you're actually looking. WASD movement still follows the mouse (body) direction. This makes the AR glasses experience feel natural — look at a block, click to break it.
Body Crosshair Edge Clamping
The < > body crosshair now handles being outside the viewport gracefully. Instead of disappearing or drawing both brackets at the edge, a single rotated chevron is drawn pinned to the viewport border, pointing toward where the body crosshair actually is. Works on any edge including corners.
Convergence Crosshair Fix
Fixed a bug where the + crosshair appeared as two separated crosshairs that never aligned. The per-eye pixel shift was incorrect — removed it entirely since the off-axis projection + camera eye offset already produces zero parallax at convergence distance. The crosshair now draws at the center of each eye half and converges naturally through the stereo projection.
Close-Range Dynamic Convergence
Dynamic convergence minimum lowered from 1.0 blocks to eyeDistance / 2 (0.125 blocks with default config). Convergence now tracks blocks right up against your face without clamping.
Head Tracker Simplified
- No smoothing: Removed nlerp filtering. Quaternions from OSC pass through raw — the source (Rust
htapp EKF or data OSC) already provides filtered data. - No drift compensation: Removed drift detection and correction logic.
- Cleaner dead zones: Neutral dead zone snaps to center instantly. Anchor dead zone now requires 100ms settle before locking, preventing the viewport from jumping when passing through a dead zone boundary.
Rust Head Tracking Bridge
Included the ht companion app for Xreal Air 2 AR glasses. Reads IMU data over USB, runs a 7-state Extended Kalman Filter for orientation fusion, and streams quaternions over OSC. See headtracking/README.md for usage.