---
status: accepted (shipped 2026-06-11, 04a387b; default ON, flat retained as live A/B)
---

# Virtual screens arrange on a head-centered cylinder by default

The M3 flat layout put all virtual screens on one plane at the set distance, reproducing
OS monitor coordinates faithfully. First multi-monitor field use showed why that is wrong
ergonomics: a side monitor sits a full hypotenuse farther than the primary (reads smaller
and "far away"), OS coordinate gaps appear as floating voids, and OS top-edge alignment of
unequal panels reads as a vertical step. We chose a curved arrangement as the default:
screens sit on a cylinder of radius `screen_distance_m` centered on the head, each yawed
so its surface normal points at the wearer, adjacent edges touching, walking left/right
from the OS primary (dead ahead) in OS x order.

The rotation follows the live distance and scale knobs per frame — geometry the user asked
for explicitly ("rotation must change as size and distance adjust").

## Considered options

- **Flat + per-monitor distance/scale knobs** — rejected for v1: equidistance is what the
  per-monitor distance knob would mostly be used for, and per-monitor controls need a
  selection UI that does not exist before the settings GUI (M4 step 6). Revisit there if
  curved equidistance turns out not to be enough.
- **OS-faithful gaps preserved on the cylinder** — rejected: the gaps exist for cursor
  travel on the physical desk, not for spatial layout; edge-to-edge is the point of an
  arc. (It also mooted an unexplained 75-vs-90 Hz gap-size report.)
- **Removing flat entirely** — rejected: kept as a live A/B ('c' key, `screen_curved`
  setting) and as the OS-faithful reference while curved is young.

## Consequences

- One global distance + scale pair remains the whole placement UX; "which screen am I
  adjusting" never arises.
- The warp-direct shader generalized from one shared screen plane to a per-screen oriented
  plane basis — flat is now just the special case of every normal pointing +Z. Flat panels
  on a circle meet in angle but not exactly in depth when widths differ ("roughly share
  their edges" — accepted).
- Same-row vertical snapping applies in BOTH modes: center offsets under half the primary
  height snap to the primary row; genuinely stacked monitors keep their OS placement.
- Stereo comfort at large azimuths (3+ monitor rigs) is unvalidated — eyes-in checkpoint
  owed when such a rig appears.
