Per-shape hide + dimmed shape list in review editor (REQ-185, amended REQ-183)
- ReviewPage: hiddenShapeIds/overriddenShapeIds session Sets, H toggles selected/marked shapes, purge effect removed (dimmed rows selectable from list), auto-override on draw/assist/copy into hidden class, class-eye toggle clears that class's overrides - ReviewSidebar: all rows listed, dimmed rows get restore eye, header count = total shapes - ShortcutsPanel: H entry - docs: REQ-183 amended + REQ-185 added; design/ui-spec/tasks synced
This commit is contained in:
1 parent
96a00267d9
commit
6a36f102c9
7 files changed
+175
-57
No files matched your search
+13
-7
@@ -355,13 +355,19 @@ sequentially and merges, without examples it is the unchanged full-set request.
|
||||
per-class overrides table also carries a **Container** checkbox (REQ-184) that toggles
|
||||
`project_classes.container` through `PATCH /api/projects/{id} { containers: … }`.
|
||||
|
||||
**Review sidebar class rows (REQ-180, REQ-183).** Each class row's frame-clear `×` (REQ-180)
|
||||
gains an eye toggle in front of it: session-only `Set` state in `ReviewPage`, so it survives
|
||||
frame changes, resets when the review page is left, and never touches stored data. Hiding a
|
||||
class filters it out of the `annotations` array handed to `AnnotationCanvas` and to the
|
||||
"Shapes on this frame" list, and a purge effect drops hidden shapes from the marked and
|
||||
selected ids — so hidden shapes are not selectable, not marquee-selectable, not deletable —
|
||||
while the row keeps its real per-frame count.
|
||||
**Review sidebar class rows (REQ-180, REQ-183, REQ-185).** Each class row's frame-clear `×`
|
||||
(REQ-180) gains an eye toggle in front of it: session-only `Set` state in `ReviewPage`, so it
|
||||
survives frame changes, resets when the review page is left, and never touches stored data.
|
||||
Hidden shapes are never handed to `AnnotationCanvas` — not drawn, not clickable, not
|
||||
marquee-selectable — but they stay listed, dimmed, in "Shapes on this frame". Two session
|
||||
Sets drive the hide half: `hiddenShapeIds` (the `H` key, REQ-185, which toggles the single
|
||||
selection or all marked shapes) and `overriddenShapeIds` (the row-eye restore and the
|
||||
auto-override below); a shape is visible when it is not `H`-hidden and (its class is visible
|
||||
or it is overridden). Dimmed rows stay selectable, reclassable and deletable from the list —
|
||||
the old "not deletable while hidden" purge invariant is superseded — while the class row
|
||||
keeps its real per-frame count. Creating a shape while its class is hidden (draw, assist,
|
||||
copy) auto-overrides it so the user sees what they just made; reclassing into a hidden class
|
||||
dims it unless it already carries an override; toggling a class eye clears that class's overrides.
|
||||
|
||||
**Exemplar-driven labeling in review (REQ-173, REQ-174, REQ-175).** In `draw` mode a drag on
|
||||
`AnnotationCanvas` is an exemplar, not a rectangle: `onExemplar(box, positive)` where
|
||||
|
||||
Reference in new issue
Block a user