diff --git a/ROADMAP.md b/ROADMAP.md index 4df2600..d2dc179 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -95,7 +95,15 @@ Where it already binds, and what the rule is in each case: | collection | rule | |---|---| | items in a booth | `sorted(rel)` — byte order over the booth-relative path (U1 INV-3) | -| the zoom prev/next ring | the item order, filtered to images — same sequence, one source | +| the review prev/next ring | the item order, **filtered to media** — image, video and audio (`review_chain`, R2). Supersedes `image_chain`, which stays importable and unchanged for its other callers | +| an item's ordinal (`#NN`) | its position in `sorted(rel)` — **counted across ALL items, so `#07` is the same tile under every filter.** This is what makes the operator's "the third one" mean one thing, which the filters had quietly broken (R2) | +| the filmstrip and the tape | the review ring | +| the flag tray | **by ordinal** — the tray reads in the same direction as the grid (R2). The notes list keeps `(created, id)` | +| the Desk's sections | fixed: needs you → new since you looked → everything else (R2) | +| within *needs you* | `(open_since, name)` | +| within *new since you looked* | `(-landed_at, name)` | +| within *everything else* | `list_booths` order: `(mtime, name)` descending | +| the Desk's bookmarks column | `order_for_display` — pinned first, then newest | | caption sidecar resolution | sorted scan, so two media files sharing a stem resolve the same way every time (a real non-determinism U1 removed) | | marks in a booth | `(created, id)` — time, with the id as tie-break so two marks written in the same second cannot swap | | legacy ask import | `(mtime, name)`, which is the order `list_asks` gave them |