docs: amend DESIGN.md for four rulings
Untracking a season now clears its episodes' wanted flag, unified search returns titles only, the library is the homepage and the signal chain moves into settings, and the wordmark links home. Refs #169
This commit is contained in:
@@ -139,9 +139,12 @@ manually marked S02 needs no special case: three wanted episodes, nothing else.
|
|||||||
|
|
||||||
`Season.tracked` is also a rule, not intent. Turning tracking on marks every
|
`Season.tracked` is also a rule, not intent. Turning tracking on marks every
|
||||||
already-revealed episode in the season wanted, and keeps marking episodes
|
already-revealed episode in the season wanted, and keeps marking episodes
|
||||||
wanted as metadata reveals them. Turning it off withdraws nothing: leaf intent
|
wanted as metadata reveals them. Turning it off clears `wanted` on every
|
||||||
is never removed implicitly, so anything already marked wanted stays wanted
|
episode of that season: toggling the flag is itself the explicit act, and the
|
||||||
until cleared explicitly.
|
product offers no other way to withdraw a season's worth of intent. Without
|
||||||
|
that, untracking leaves a series with every season off and every episode still
|
||||||
|
wanted, pinned at `incomplete` with no way back. Marking individual episodes
|
||||||
|
wanted on a season that was never tracked is unaffected by any of this.
|
||||||
|
|
||||||
Both rules skip season 0. Specials are dozens of undated shorts and recaps
|
Both rules skip season 0. Specials are dozens of undated shorts and recaps
|
||||||
that indexers do not carry, so `auto_track` never marks season 0 tracked. See
|
that indexers do not carry, so `auto_track` never marks season 0 tracked. See
|
||||||
@@ -485,12 +488,10 @@ lower-priority crate** (§9.4), not the primary shape.
|
|||||||
|
|
||||||
### 9.2 Unified search
|
### 9.2 Unified search
|
||||||
|
|
||||||
One box. Two grouped result sets: **in library** first (title match, and for TV
|
One box. Two grouped result sets: **in library** first, **on TMDB** below. Both
|
||||||
also episode title, so `bluey hospital` finds the episode), **on TMDB** below.
|
sets are titles — series and movies. Episode rows never appear, under any
|
||||||
An episode row surfaces only when the query matches something beyond the series
|
query, and there are no season rows. Enter on a TMDB result opens the add flow
|
||||||
title: a query satisfied by the series title alone returns the series row and
|
with root and policy pre-filled.
|
||||||
nothing below it. Enter on a TMDB result opens the add flow with root and
|
|
||||||
policy pre-filled.
|
|
||||||
|
|
||||||
The same box accepts a raw TMDB or IMDb ID, and a pasted magnet or `.torrent`,
|
The same box accepts a raw TMDB or IMDb ID, and a pasted magnet or `.torrent`,
|
||||||
which skips to the manual-grab flow.
|
which skips to the manual-grab flow.
|
||||||
@@ -597,6 +598,22 @@ Out of scope here, because they are the adjacent scope most likely to creep:
|
|||||||
watch providers, recommendations or similar titles, collections, person pages
|
watch providers, recommendations or similar titles, collections, person pages
|
||||||
inside the app, review text.
|
inside the app, review text.
|
||||||
|
|
||||||
|
### 9.7 The shell
|
||||||
|
|
||||||
|
**The library is the homepage.** `/` renders the library view described in
|
||||||
|
§9.6. It is what the operator opens the app to look at, so it is what the app
|
||||||
|
opens on.
|
||||||
|
|
||||||
|
**The signal chain is a settings section.** The four upstreams — tmdb,
|
||||||
|
prowlarr, arr, transmission — and their lamps live inside `/settings`, and have
|
||||||
|
no route of their own. Per-upstream health is something you check when
|
||||||
|
something is wrong, not a homepage.
|
||||||
|
|
||||||
|
**The master lamp stays on the rail**, so the at-a-glance read that the chain
|
||||||
|
is healthy survives the move and no navigation is needed to get it.
|
||||||
|
|
||||||
|
**The wordmark is a link home.** `arr` on the rail navigates to `/`.
|
||||||
|
|
||||||
## 10. Persistence
|
## 10. Persistence
|
||||||
|
|
||||||
SQLite via `sqlx`, compile-time-checked queries, migrations in `arr-db`.
|
SQLite via `sqlx`, compile-time-checked queries, migrations in `arr-db`.
|
||||||
|
|||||||
Reference in New Issue
Block a user