breezy-desktop/ui
Devin Bernosky 20bd0b6435 Add Horizon Lock: track only horizontal (yaw) head movement
Adds a "Horizon lock" toggle that flattens the head pose to yaw-only,
ignoring pitch (vertical) and roll (tilt). The display then only pans
horizontally as you turn your head, staying level and at a fixed height.

This is a comfort/nausea aid — particularly on glasses such as the Viture
Pro, where pulse and micro-movement jitter on the pitch/roll axes makes the
display visibly wobble (see #80, #114). Unlike smooth follow, which chases
those noisy axes, horizon lock removes them from the rendered orientation
entirely.

Implementation: a swing-twist decomposition about the NWU up-axis (Z),
applied to the pose quaternions in DeviceDataStream, so the shader,
look-ahead and follow logic all inherit the yaw-only orientation. Exposed
as a GtkSwitch in the GNOME settings (Features group) and wired through the
shared gschema.
2026-06-27 15:15:19 -07:00
..
bin Fix some missed translation opportunities 2025-03-11 13:49:31 -07:00
data Add Horizon Lock: track only horizontal (yaw) head movement 2026-06-27 15:15:19 -07:00
docker-build Fix docker init, actually bump to v2.3 this time 2025-09-24 13:46:27 -07:00
lib Remove Flatpak usage for UI (#61) 2024-10-03 22:22:10 -07:00
modules Add GitHub release update check to Python GNOME and KDE KCM UIs (#160) 2026-02-28 18:29:27 -08:00
po Add support for Productivity Pro tier, v2.9.1 (#162) 2026-03-03 13:26:47 -08:00
src Add Horizon Lock: track only horizontal (yaw) head movement 2026-06-27 15:15:19 -07:00
meson.build Remove Flatpak usage for UI (#61) 2024-10-03 22:22:10 -07:00