breezy-desktop/ui/data
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
..
icons Breezy GNOME support (#22) 2024-05-16 12:26:59 -07:00
com.xronlinux.BreezyDesktop.desktop.in Remove Flatpak usage for UI (#61) 2024-10-03 22:22:10 -07:00
com.xronlinux.BreezyDesktop.gschema.xml Add Horizon Lock: track only horizontal (yaw) head movement 2026-06-27 15:15:19 -07:00
com.xronlinux.BreezyDesktop.metainfo.xml.in Add refresh rate and fast SBS mode switching settings 2024-07-17 22:58:45 -07:00
meson.build Breezy GNOME support (#22) 2024-05-16 12:26:59 -07:00