29 Commits
Author SHA1 Message Date
Lizzy ff66861e2c Open settings with left controller menu button 2026-10-24 16:22:09 +02:00
Lizzy c1a20857e7 Add Play from start button to details page 2026-10-24 04:12:07 +02:00
Lizzy eb3fac60df Make B open library during playback 2026-10-24 03:59:41 +02:00
Lizzy 818a65452f Remove playback diagnostics and debug logging 2026-10-20 20:35:01 +02:00
Lizzy e6697e5ac1 Fix player seek restarting video 2026-10-15 02:51:22 +02:00
Lizzy da3bcb3389 Show buffering popup 2026-10-15 02:12:33 +02:00
Cuteminded 3fb03e885d Add playback quality setting 2026-10-15 00:50:30 +02:00
Cuteminded d850180050 Keep settings window fixed on projection change 2026-10-15 00:05:14 +02:00
ItsAlexeii fb754709a4 Add 180 video support 2026-10-07 14:13:05 +02:00
ItsAlexeii bf614a6b70 Add 360 video support 2026-10-05 11:26:17 +02:00
ItsAlexeii acf2e73e83 Persist PC sign-in sessions 2026-10-04 10:02:52 +02:00
Lizzy d964cb4b16 Add cinema environment option 2026-09-29 03:05:50 +02:00
Lizzy ef41fa1e61 Return player Library to active title
Updates player navigation so the Library action returns to the currently playing movie or series details instead of the generic library view. For episodes, it restores the correct series season and keeps series context open; selecting the active title resumes playback without restarting the stream. Adds a new `test_player_return` integration test and wires it into Linux/Windows CI, plus README updates documenting the behavior and test command.
2026-09-27 00:19:02 +02:00
Lizzy e72139c8be Keep autoplay loading visible in VR
When an episode ends, the app now keeps the library hidden and shows the loading indicator while the next episode is fetched in VR. This prevents the library from reappearing during autoplay and ensures the wait state stays visible until the next video is ready.
2026-09-25 22:55:37 +02:00
Lizzy f65a1d6c93 Format episode titles with season and episode 2026-09-24 21:32:13 +02:00
Lizzy 96e8654a8c Add episode autoplay countdown
Implement automatic next-episode playback with a 5-second on-screen countdown, cancellation, and series-order lookup that works across season boundaries. Update the loading UI and VR pointer targeting to support the countdown flow, adjust shell/login presentation, and add autoplay coverage to tests and CI.
2026-09-22 18:45:24 +02:00
Lizzy 9b83b7c057 Add video loading indicator
Show a dedicated loading spinner while playback is preparing, seeking, or buffering. This exposes buffering state from the Android and mpv backends, wires the indicator into the VR player UI, updates playback flow to keep it visible even when controls are hidden, and adds coverage for the new loading-state behavior.
2026-09-21 17:22:00 +02:00
Lizzy a22f5871a1 Refine user-facing copy and setup docs
Improve wording across the app
2026-09-19 14:35:11 +02:00
Lizzy 158e0eb5c6 Add OpenXR passthrough environment support
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.
2026-09-18 13:11:47 +02:00
Lizzy 665b3b027e Add immersive theatre environment mode
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.
2026-09-17 11:48:22 +02:00
Lizzy ea0ed9fe31 Add unified settings view and library sorting
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.
2026-09-14 07:38:09 +02:00
Lizzy ebe8c141af Add season browser for series details
Replaces the flat series episode list with a dedicated season/episode browser in the details view. Added Jellyfin client helpers for season and paginated episode endpoints, introduced reusable `SeriesBrowser` and `EpisodeCard` UI components, and wired section scrolling/playback events through the details page. Updated HTTP/details tests and added comprehensive series browser coverage for pagination, retries, empty states, and stale-response handling.
2026-09-09 00:41:07 +02:00
Lizzy ed9774f151 Add rich details view and metadata helpers
Introduces a dedicated `DetailsView` UI with artwork, overview, cast/crew, stream info, and movie/episode playback actions, plus a new `DetailsMetadata` helper for formatting runtime, badges, and media stream labels. `main.gd` now mounts this view for item details, tracks page generations to avoid stale async updates, and routes series episode loading into the new component. Adds end-to-end UI checks in `test_details.gd` to cover playback actions, responsive layout, metadata fallbacks, and series episode behavior.
2026-09-07 23:17:43 +02:00
Lizzy bef7dc4772 Add Windows mpv playback backend and CI build 2026-08-30 12:10:28 +02:00
Lizzy 09828faa76 Refine app copy and onboarding messaging
Reworks README into a clearer user-facing guide with project status, Quest install steps, limitations, and collapsed developer setup details. Updates in-app text across login, library loading, playback errors, calibration guidance, and 3D mode instructions to be more explicit and user-friendly. Also adjusts hero card fallback text and CTA label for clearer browsing flow.
2026-08-24 03:50:02 +02:00
Lizzy 620bfbd62d Refine shell nav layout and remove recenter
Removes the unused `recenter` signal wiring between `main.gd` and `ui/shell.gd`, including the Recenter button. Updates the shell rail and navigation typography for a cleaner, more consistent sidebar: wider rail, adjusted section label size, and standardized button/library font sizes.
2026-08-22 01:03:13 +02:00
Lizzy 91d1fdb0b2 Handle OpenXR recenter events
Connect the main scene to OpenXR pose recenter notifications so the screen and menu reposition when the headset is recentered. Extend the recenter test to simulate an OpenXR recenter event and verify the movie screen, menu placement, and overlay visibility update correctly.
2026-08-19 22:16:24 +02:00
Lizzy 364eaca48f Add playback overlay and timeline seeking
This change replaces the old playback button strip with a transparent overlay attached to the movie screen. It adds a seekable timeline, duration reporting, and proper seek routing for resumed/transcoded streams while preserving paused state and overlay behavior across settings and recenter actions.

Pointer and scroll handling were also hardened to improve controller input stability, including hover tracking, exit handling, aim smoothing, and synthetic wheel release events. Regression tests and testing notes were extended to cover overlay toggling, timeline formatting, seek flows, recenter behavior, and pointer/scroll edge cases.
2026-08-16 18:06:11 +02:00
Lizzy 424c3204e3 Initial commit 2026-08-15 16:42:47 +02:00