docs(contract): r2 — fold booth-dev's items.py notes and the empty-section negative
Ordinal is appended, not inserted. The quote() guard stays, and skipped items take no ordinal. Empty Desk sections do not render; this carries forward the negative half of the kept-lane pair. The 1:1 toggle is bound only when the stage is an image.
This commit is contained in:
@@ -66,6 +66,15 @@ open_questions:
|
|||||||
`sorted(rel)` order over **all** items. It is assigned in the resolver loop, so
|
`sorted(rel)` order over **all** items. It is assigned in the resolver loop, so
|
||||||
no route derives it.
|
no route derives it.
|
||||||
|
|
||||||
|
- `ordinal` is **appended** as the dataclass's last field, never inserted.
|
||||||
|
Mid-dataclass insertion is a positional-construction break, and `group` has
|
||||||
|
already had that conversation.
|
||||||
|
- The resolver's `quote()` guard on non-UTF-8 names stays exactly as it is. It
|
||||||
|
looks like a stray `try` around a discarded result, but it is what keeps one
|
||||||
|
0xff filename from taking down the index for every booth.
|
||||||
|
- An item skipped by that guard takes no ordinal, so ordinals stay contiguous
|
||||||
|
over the items that render.
|
||||||
|
|
||||||
- **A filter never renumbers.** Under `?filter=flagged` a tile still shows the
|
- **A filter never renumbers.** Under `?filter=flagged` a tile still shows the
|
||||||
number it has in the whole set. That is the point: "#07" is a property of the
|
number it has in the whole set. That is the point: "#07" is a property of the
|
||||||
item, not of the view.
|
item, not of the view.
|
||||||
@@ -178,6 +187,12 @@ The side column holds:
|
|||||||
- Capped at 8, with a link to the full board.
|
- Capped at 8, with a link to the full board.
|
||||||
- **Pickup**: the existing upload form, unchanged, moved from the page head.
|
- **Pickup**: the existing upload form, unchanged, moved from the page head.
|
||||||
|
|
||||||
|
**An empty section does not render** — no heading, no box. This is the
|
||||||
|
load-bearing negative half of the kept-lane pair it replaces
|
||||||
|
(`'class="grid kept-grid"' not in html`), carried forward into test_flow.py as
|
||||||
|
a pair: present when it has rows, absent when it has none. It applies to each
|
||||||
|
of the three sections and to the Benches and Bookmarks panels.
|
||||||
|
|
||||||
The kept/ephemeral lanes are **removed**: 23 of 24 live booths are kept, so the
|
The kept/ephemeral lanes are **removed**: 23 of 24 live booths are kept, so the
|
||||||
lanes sort nothing. Kept status and the lifetime line (`_lifetime.html`,
|
lanes sort nothing. Kept status and the lifetime line (`_lifetime.html`,
|
||||||
unchanged) remain on every row.
|
unchanged) remain on every row.
|
||||||
@@ -212,7 +227,12 @@ unchanged) remain on every row.
|
|||||||
|
|
||||||
This applies to image, video and audio items. Docs keep `doc.html`.
|
This applies to image, video and audio items. Docs keep `doc.html`.
|
||||||
|
|
||||||
- **The stage**: the artifact at fit size, with a 1:1 toggle for images.
|
- **The stage**: the artifact at fit size, with a 1:1 toggle for images ONLY.
|
||||||
|
- The toggle and its script are rendered and bound only when the stage is
|
||||||
|
an `<img>`.
|
||||||
|
- Video and audio get their native controls and no toggle. A toggle that
|
||||||
|
renders on audio and silently no-ops (today's script binds
|
||||||
|
`getElementById('vimg')`) is the failure this names.
|
||||||
- **The rail** (`data-region="rail"`) holds:
|
- **The rail** (`data-region="rail"`) holds:
|
||||||
- `#NN of M`, and position within the group;
|
- `#NN of M`, and position within the group;
|
||||||
- the caption;
|
- the caption;
|
||||||
|
|||||||
Reference in New Issue
Block a user