Roadmap
What ships, what is next and what was left out on purpose.
Phases ship one at a time. Each one ends with unit, integration and end-to-end tests, a working demo and updated docs. Anything marked planned is not available yet.
| Phase | Scope | Status |
|---|---|---|
| 1 | Core lightbox: open and close flight, navigation, keyboard, swipe, transitions, captions, preloading, srcset, focus management, scroll lock | Done |
| 2 | Thumbnail strip, zoom (wheel, double click, double tap, pinch, pan, buttons, keys), fullscreen, image loading and error states | Done |
| 3 | Video slides (MP4, YouTube through youtube-nocookie.com, Vimeo), custom iframe slides, slideshow with progress bar | Done |
| 4 | Hash deep linking with back-button close, rotation, download | Done |
| 5 | Optional grids (masonry, justified, uniform) and a category filter, all usable without the lightbox and vice versa | Done |
| 6 | Interaction polish: toolbar overflow menu on narrow screens, idle-hiding controls, right-to-left layouts, pinch to close, flip, Web Share, pager dots | Done |
| 6b | Caption placement inside the slide, cropped-thumbnail flight | Done |
| 7 | Release: CI on React 18 and 19, npm Trusted Publishing through OIDC, Vercel site, contributor docs, integration in the ModuloService site | Done |
Left out on purpose
- Comment panels (Facebook, Disqus). They need third-party scripts, which breaks the no-CDN, strict CSP promise.
- Vimeo thumbnails through oEmbed. A request to a third party at runtime just to draw a poster. Pass
thumbnailyourself. - Wistia. Needs its player script.
- Medium-style zoom mode. A second viewing mode with its own rules. The flight animation already covers the "zoom from the page" feel.
The source of this page is ROADMAP.md. Ideas and requests are welcome in GitHub issues.