Adds a new Passthrough viewing environment alongside Void and Theatre, including runtime support detection, environment blend switching, and safe fallback to Void when unsupported. Updates settings persistence/validation and the settings UI to expose Passthrough with proper disabled state and guidance. Also wires passthrough into world/main environment application flow, adds focused passthrough and settings tests, and introduces Android build setup to fetch/pin OpenXR vendor assets with checksum verification.
Introduces a new `TheatreEnvironment` with tiered seating, curtains, batched geometry, recentering, and fixed cinema-screen projection sizing. Settings UI is split into separate Screen and Environment pages so Theatre/Void can be switched independently, with Void position controls disabled in Theatre and screen reset no longer changing the environment choice. Main/world behavior and README were updated to reflect the new environment flow, and new/updated tests cover persistence, UI behavior, projection rules, and environment switching.
Introduces reusable `SCREEN_KEYS` in settings and adds `reset_screen()` to restore screen-related defaults only. The settings UI now shows a “Reset to defaults” button for the screen section, rebuilds that section after reset, reapplies layout/focus, emits screen updates, and saves immediately. It also fixes format/swap handlers so toggles update local state consistently. Tests were expanded to cover reset behavior, persistence boundaries, save count, and refreshed UI values.
Replaces the old screen-only settings page with a new Settings view that includes library sorting plus screen/environment controls, updates UI labels/tooltips from “Screen settings” to “Settings,” and documents the new behavior in the README. Adds persisted library sort field/order preferences, applies them to Jellyfin library requests while keeping Home fixed to newest-first, and implements stable random pagination via a cached catalog snapshot (cleared on sign-out). Includes new settings tests covering persistence/defaults, API query behavior, random ordering across pages, and the new settings UI interactions.