soulsync/api/video
BoulderBadgeDad ba6065f1b3 video discover phase 1b-d: gap-engine queries, engine collection fetch, /discover/gaps API
- video_database: owned_movie_tmdb_ids (diff set), owned_movie_collections (franchises you've
  started, most-invested first), top_owned_people (directors/creators you own the most).
- engine.collection(id): cached + owned-annotated franchise film list (person_detail already
  gives owned-annotated filmography).
- /api/video/discover/gaps: builds 'Complete the <franchise>' rails (collection_gaps) + 'More
  from <person>' rails (filmography_gaps, movies, vote-filtered) — the 'what am I missing' section.
All additive; gap diffs are the pure tested core.
2026-06-22 23:28:23 -07:00
..
__init__.py Video downloads: best-in-class post-process pipeline 2026-06-21 01:44:35 -07:00
automations.py video automations: 'Scan Video Library' — the first video twin (shared engine) 2026-06-19 19:38:18 -07:00
calendar.py video calendar: watchlist-driven by default + an 'All library' toggle 2026-06-20 14:07:40 -07:00
dashboard.py Video: scope library reads to the active server (Plex/Jellyfin don't commingle) 2026-06-15 18:45:28 -07:00
detail.py video: episode detail expand (guest stars + bigger still) 2026-06-15 13:20:15 -07:00
discover.py video discover phase 1b-d: gap-engine queries, engine collection fetch, /discover/gaps API 2026-06-22 23:28:23 -07:00
downloads.py Video download history: API + beautiful timeline modal (phase 2) 2026-06-21 14:15:37 -07:00
enrichment.py video enrichment: add a GLOBAL 'Retry all failed' (all workers, all kinds) 2026-06-20 14:15:18 -07:00
libraries.py Video side: own server connection (Plex/Jellyfin), music-style picker, isolated 2026-06-15 16:42:22 -07:00
library.py Video: scope library reads to the active server (Plex/Jellyfin don't commingle) 2026-06-15 18:45:28 -07:00
manual_import.py Video downloads: best-in-class post-process pipeline 2026-06-21 01:44:35 -07:00
poster.py Search avatars: proxy with a UA + graceful initials fallback 2026-06-17 09:57:42 -07:00
scan.py Video tools: add a Server Scan tool (trigger the media server to index new downloads) 2026-06-22 08:26:24 -07:00
search.py video: smart multi-layer back button + next-level search/person 2026-06-15 08:30:17 -07:00
watchlist.py Video watchlist: richer show cards (status pill + ep count) + sort dropdown 2026-06-16 10:19:13 -07:00
wishlist.py video wishlist: add a 'Clear all' button (movies / TV / YouTube) 2026-06-20 16:42:57 -07:00
youtube.py video enrichment: add DeArrow (crowd-sourced YouTube titles) — full parity 2026-06-18 23:09:02 -07:00