Skip to content

IngeniaWorks/OmniSlide-TV

Repository files navigation

OmniSlide TV

OmniSlide TV is a SwiftUI-based tvOS slideshow engine built for a premium, Apple Photos-like experience on Apple TV. The long-term goal is to integrate this package into Immich-Gallery for richer, cinematic slideshows. This is an early work in progress, more to come, and contributions are welcome.

Why

  • tvOS-first slideshow engine with Siri Remote focus and navigation in mind
  • Hardware-accelerated transitions and smooth playback at 60 FPS
  • Clean MVVM architecture that is easy to integrate and extend

Goals

  • High-performance SwiftUI slideshow playback on tvOS 16+
  • Robust transition system with complementary outgoing/incoming pairs
  • Native tvOS focus interactions and pause shelf controls
  • Support for local image and video assets with async loading

Highlights

  • Transition manager that maps transition types to SwiftUI transitions
  • Core Image transition pipeline for cinematic effects
  • Pause shelf UI with focusable controls
  • Portrait/landscape-aware media layout

Transition System

Transitions are defined as complementary pairs: outgoing animations for the current slide and incoming animations for the next slide. This enables cohesive effects like fade-to-black followed by fade-from-black, or wipe-out followed by reveal-wipe.

See docs/TRANSITIONS_PRD.md for full timing and behavior specs.

Architecture

The app uses MVVM with a dedicated SlideshowViewModel driving the SlideshowView. The TransitionManager resolves the correct AnyTransition and animation pairing per transition type.

See docs/ARCHITECTURE.md for the full structure and data flow.

Status

  • Work in progress
  • Target integration: Immich-Gallery slideshow experience
  • Feedback and contributions welcome

Docs

  • docs/PRD.md
  • docs/ARCHITECTURE.md
  • docs/TRANSITIONS_PRD.md

Contributing

Feel free to open issues or submit pull requests. If you are integrating with Immich-Gallery or have ideas for transitions, please share context so we can align on requirements.

About

Swift Slideshow package intended to be integrated in Immich-Gallery

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors