Record FR-DEV-16 as met and where FR-UI-5 stands

FR-DEV-16's promise that the gesture book cannot describe a binding the
application lacks is now enforced by the gestures gate in both directions,
and every binding it names is bound and tagged, so it is marked met, with
what develop answers beyond the list.

FR-UI-5 is not met in full: its keyboard half and the 2026-09-19 amendment
are, but no develop slider takes the scroll wheel, so its status says that
rather than rounding up.
This commit is contained in:
2026-09-24 23:42:28 -04:00
parent aa2a88f655
commit b5ae5c2be1
+18
View File
@@ -605,6 +605,15 @@ Editing rhythm depends on the hands staying put: reaching for a menu breaks the
edit the same way it breaks the pace of a cull. A binding nobody can discover is the same as no
binding, which is why the generated book is part of the requirement rather than documentation of it.
*Status (2026-09-24).* Met. Every binding named above is bound in develop's key handler and tagged
beside it, and develop also answers zoom in, out, fit and 1:1, panning a magnified view, rating,
flagging and labelling the open photograph, nudging the control last moved (the framing sliders
included), turning a mask part's join, keeping a crop that hid a mask, and going back to the grid.
"Cannot describe a binding the application does not have" is now checked rather than argued:
`traces gestures-check` reads the chord every handler compares against (`Keys.chord`, in
`ui/dr-ui/ui/keys.slint`) and fails when a bound key has no tag in its place or a tagged key has no
handler (`tools/traceability/src/keymap.rs`).
**FR-DEV-20 — Perspective correction.** Framing shall include perspective correction — a vertical
and a horizontal keystone — applied before the crop. It runs in the coordinate chain after the
crop and the straightening and before the stored orientation and the lens warp, so that "vertical"
@@ -733,6 +742,15 @@ rating, and common adjustments. Neither is required for any operation to be reac
> wherever they can be set, and on the roll's cells, so stepping along a set shows what has been
> judged.
*Status (2026-09-24).* The keyboard half and the amendment are met; the pointer half is not yet.
Keys cover navigation, rating and common adjustments in the grid, develop, the collections sidebar,
People and the export and copy sheets, each one in the gesture book and held to its handler by the
gestures gate. Rating and flagging work in develop on the open photograph without advancing, with
stars and Pick/Reject in the top bar, and the roll's cells carry each frame's flag and stars; pick
and reject also gained a pointer and touch route in the grid (Flag in the selection bar), where they
had been keyboard-only. Outstanding: scroll-wheel adjustment on numeric controls — the develop
sliders do not take the wheel.
**FR-UI-6 — Shared component library.** Touch and desktop presentations are variants of shared
components, not parallel implementations. A new operation (FR-DEV-3c) becomes usable on both
without frontend work.