tv-anarchy/v2/glossary.md
Natalie 4a2ceb9781 feat(offline): inline star-to-keep and trash-to-cull on cache rows
Surface the existing pin (keep-from-cull) and per-file delete actions as
visible inline buttons on each offline cache row instead of context-menu-only:
a star toggles protection from auto-cull (and restore-if-missing), a trash
culls that file early. Aligns wording/icons to the star metaphor.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 00:12:41 -04:00

5.5 KiB

Glossary (v2)

Extends docs/glossary.md with pillar vocabulary.

Pillars

  • Watch — playback, Player, Home rails, queue, Continue Watching UX.
  • Library — catalog scan, index, grouping, metadata enrichment.
  • Download — torrent acquisition, transmission, custody floor, reaper, peers_for, seed TTL, governor prefetch buffer.
  • Net — TVAnarchy data synced between installs (editions over friend_mesh); trust per part (friends vs network). Not video bytes.
  • Devices — device registry + install pairing (the product term that replaced "fleet" in UI), storage pools, shared media volume, offline/extension policy.

Cross-pillar settings — theme, Winamp skins, shell chrome (settings.md).

Tagline (press/GTM): Napster for Netflix — see docs/marketing/.

Pillars: Watch · Library · Download · Net · Devices.

Additional terms (from 2026-06 doc build-out)

  • Pillar (lens): Organizational product/engineering boundary. See plan.md Appendix C for how separation is achieved while staying DRY (correlation tags + manifest as truth, packages/faces for engines, pattern reuse like TitleLibrary → Net obs, state path segregation, UI surface mapping). Not runtime modules or separate apps.
  • Faces pattern: See packages/README.md + bittorrentdrive.md.
  • ContentKey: Stable non-path identity (ContentID.canonical + optional fingerprint). Used by Library/TitleLibrary, Net observations/editions, Devices placement, Download hints.
  • Winamp chrome / .wsz system: Custom retro skin implementation (real .wsz BMP sprites + TXT parsing into ThemePalette + exact sprite views for transport/LED/spectrum). Hybrid AppKit (NSImage, no interpolation) + SwiftUI (environment, custom buttons/sliders). macOS Player-focused; standard theme + iOS unaffected. Detailed in plan.md Appendix C + pillars/watch-appearance.md.
  • Embedded UI (Net): No dedicated tab. Lives in Settings sections + Player hooks (bounds, contribute observation). See correlation/ui.md.
  • Switching pillars: Single-shell navigation (RootView NavigationSplitView sidebar enum Section + selection-driven @ViewBuilder detail switch + library subnav). Global cross chrome (queue, theme env, offline, notifications) always available. Controllers per pillar; heavy pollers gated to relevant selection. See plan.md Appendix C + RootView.swift + correlation/ui.md.
  • PathGuard: Reusable input guard (realpath + ext allow + media roots containment after realpath of roots; model on bridge/library.ts resolveStreamId). Implemented + wired for blacktv (sh + TS dispatch in tools); model/pattern for future Swift/MCP/Net surfaces (cf. existing prefix checks in LibraryScanner/MediaPaths and resolveStreamId for bridge streams). See plan.md App C + security inserts.
  • Mandatory auth: No default-open for daemons/bridges/serves/HTTP/MCP surfaces (bearer token or equiv required; fatal if missing post-install). Per v1 review + v2 plan (fleet serve bearer, Phase 7 control-plane, bridge). See plan.md checklist + cross-cutting.

Net terms

  • part — named dataset type (intro-markers, grouping, quality, signal, peers-hints).
  • edition — versioned snapshot of a part, distributed as a small torrent.
  • observation — one install's contribution (value + confidence + provenance).
  • merge — local policy producing the subscribed view from observations.
  • trustfriends (f2f_only) or network (k-anon aggregates).

Disambiguation

Term Means Pillar
torrent peers seeders/leechers for an infohash Download
Net peers other TVAnarchy installs Net
friend_mesh source kind / transport Download + Net
watchlog append-only play events JSONL Watch write, Download read
signal k-anon watch aggregates Net part (not raw watchlog)
holdings completed copies on install nodes Download
install one operator identity + devices (UI term) Devices
fleet legacy impl name for install registry Devices (internal)
shared media volume logical library across storage + extension tiers Devices
extension tier spare disk on laptop expanding canonical storage Devices
extended warmup placement to extension while watching; alias not duplicate Devices + Watch
Title Library local contentKey → episode title dataset we own Library
episode refiner M2 MLX parser for cache misses; writes Title Library Library / recommender
BitTorrentDrive shared package: internal (Devices) + external (Net) faces packages/
internal face within-install pins, pools, extension tiers Devices → drive
external face cross-install edition swarms Net → drive

Legacy terms (unchanged)

Fleet, custody floor, duty, F2F relay, reaper, peers_for, PlayerTarget, meta-tracker, Identity (discord_id root), Discord planes/bridge (notify surface only) — see main glossary + v2/plan.md §13.5 (Phase 8). Map to pillars:

Legacy term Pillar
custody floor, rolling baton, zombie, reaper Download
peers_for, meta-tracker Download
PlayerTarget, Continue Watching Watch
appTheme, .wsz skin Watch (local appearance)
discovery/signal graph (aggregates) Net
broadcast, f2f_relay duties Download
Identity (discord_id + fleets[]), Discord planes/bridge (notify surface) Devices (duty + identity) + Download (governor runtime)