Add docs/tartube-spec.md: structured analysis of Tartube's codebase
To make the "surpass Tartube" roadmap concrete, document Tartube's v2.5.231 codebase as a specification we can refer to: - Module map: 146k lines of Python across 19 modules, with per-module responsibilities (mainapp / mainwin / config / downloads / media / options / wizwin / process / refresh / tidy / info / updates / ffmpeg_tartube / formats / ttutils / dialogue / files / xdg). - Data model: container hierarchy (Folder → Channel | Playlist → Video) with N-level Folder nesting, system folders that act as smart filters (Bookmarks, Favourites, Waiting, New, Live, Missing, Recent, Temporary), and the full per-video flag inventory. - OptionsManager: the headline feature — 164 distinct yt-dlp flags attachable to any container or video with cascading resolution. The spec lists the option groups (Behaviour, Network, Playlist, Filters, Download, Filesystem, Auth, Anti-bot, Format, Subtitles, Post-processing, Cookies, Output, Tartube-specific) and points to a concrete SQLite + Rust struct design for our Phase 1.1. - Seven threaded operation managers (Download, Update, Refresh, Tidy, Info, Process, Livestream/Stream) and three downloader strategies (VideoDownloader, ClipDownloader, StreamDownloader). - Custom downloads (named recipes) and profiles (saved container groups) — feeding our Phase 1 + 3. - UI surface inventory: five primary tabs (Videos, Progress, Classic Mode, Drag and Drop, Errors), ~80 specialised dialogs, three wizards (Setup, Import YT subs, Tutorial), and the ~30-tab SystemPrefWin. - SponsorBlock + chapter persistence (slice_list / stamp_list) — a Phase 1 add-on after per-channel options ship. - Notable corners: master/slave dbid dedup, RSS-driven discovery, external_dir per-channel storage, livestream message parsing, full gettext i18n. - Things Tartube does better (15 items, mapped to roadmap entries), things we already do better (10 items, to keep momentum honest). - A 12-checkbox "Tartube parity" milestone definition — when all are ticked, the comparison table at the top of ROADMAP.md goes from 8-ahead-8-behind to 8-ahead-0-behind, and "surpass" begins. ROADMAP.md gains a pointer to the spec just under the north-star line. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
555e0e1574
commit
c713d05db8
2 changed files with 622 additions and 0 deletions
|
|
@ -4,6 +4,11 @@
|
|||
|
||||
**Surpass [Tartube](https://github.com/axcore/tartube) in every dimension.**
|
||||
|
||||
A structured analysis of Tartube's codebase, data model, operations, and
|
||||
configuration surface lives at [`docs/tartube-spec.md`](docs/tartube-spec.md).
|
||||
It enumerates the exact features we need to match — every Phase 1 item
|
||||
below traces back to a specific Tartube subsystem.
|
||||
|
||||
Tartube is the mature open-source yt-dlp GUI and the obvious benchmark for a
|
||||
project in this space. yt-offline has architectural advantages Tartube can't
|
||||
catch up on quickly (Rust + axum + a real web UI + bundled toolchain + a
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue