xrkit — the geometry¶
The geometry an immersive video player and an XR virtual desktop need, and nothing else: orientation, how a frame packs two eyes, the projections that turn a flat frame into a world you can look around in, the band screens sit on, and a catalogue of what a given headset can actually show.
CGO_ENABLED=0. 100% statement coverage, gated in CI. The geometry packages
have no dependencies at all; glasses uses HCL so a person can add their own
hardware without a rebuild.
Every package is testable with no headset attached, which is the point. Sign and axis-order mistakes are invisible in a still frame and awful to wear, so they are pinned by tests against known directions rather than discovered by putting the glasses on.
The six packages¶
Each is described in full on the Packages page.
| Package | Purpose |
|---|---|
pose |
quaternions, the Euler convention head trackers report, recentring, smoothing |
stereo |
how a frame packs two eyes — mono, side-by-side, top-bottom |
projection |
flat / equirectangular (360×180, VR180 180×180) / equidistant fisheye |
warp |
the projection precomputed into a lookup table |
ribbon |
screens on a 360° band, composited by yaw — and the gallery that shows them all at once |
glasses |
which display is the headset, and how wide the view is |
Who consumes it¶
player, desk and android. xrkit
knows about none of them, and knows no operating system at all.
What it does not claim¶
The glasses catalogue grades every entry Observed, Enumerated or
Published, and an entry whose figure cannot be sourced carries none — because a
wrong field of view renders everything in the wrong place with no symptom. No
macOS display-name artifact has been read for any model yet.