Skip to content

Stereo 3D: default eye order + swap-eyes control #116

Description

@cashew-hamper-bot

The JPS eye-order study (2026-10-03) found the wild split 4/4 between right-on-left and left-on-left across 8 independent pairs. The .JPS extension promises a side-by-side pair; it cannot promise eye order. So the viewer needs both a default and an override.

What we already know:

  • VRex 1997 spec default: right field first. Bill Costa's test repo documents its JPS files as right/left, consistent with the spec.
  • Honor the _JPSJPS_ APP3 descriptor when present: Pillow exposes it via Image.open(...).applist as ('APP3', payload) tuples — parsed during normal JPEG open, zero extra I/O, no exiftool (latency-safe). Bit 0x040000 = left-first. Almost nobody writes it, but readers should still check.
  • Default: right-eye-on-left. Swap-eyes control always available, and the active assumption is shown in the UI ("Stereo: Right eye left (JPS default)" style).
  • This is first-ship scope (v1.3.3): without it, half the real-world files render inside-out and the user has no recourse.

Test files: Bill Costa ti1 (right-on-left) and depth-black-white (left-on-left, labeled) — see the test-matrix roadmap issue.

Activity

  1. added
    Stereo 3DStereo 3D viewing: input handling, rendering, display output, and related ecosystem work.
    on Oct 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stereo 3DStereo 3D viewing: input handling, rendering, display output, and related ecosystem work.

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions