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
+18
-12
@@ -1099,6 +1099,7 @@ Handlers are attached in the **capture** phase on `document`, and:
|
||||
| `T` | track selected shape forward 5 frames | same |
|
||||
| `1`–`9` | set active class; reclass the selected shape if any | reclass **all marked** shapes |
|
||||
| `Del` / `Backspace` | delete the selected shape | delete **all marked** shapes (confirmed) |
|
||||
| `H` | hide/show the selected shape(s); no-op with nothing selected | same |
|
||||
| `Esc` | cancel the gesture in flight | clear the marked set |
|
||||
| hold `S` | SAM3 assist mode while held | — |
|
||||
| `Enter` | apply the exemplar preview (panel open) | — |
|
||||
@@ -1125,18 +1126,23 @@ network.
|
||||
- **Eye button (REQ-183)** — first control in the class row, before the frame-clear `×`: a
|
||||
ghost icon button (`cursor: pointer`, `aria-pressed` bound to the hidden state, title
|
||||
`Hide "name"` / `Show "name"`), drawing the eye icon while the class is visible and the
|
||||
slashed eye at 55 % opacity while it is hidden. Hiding drops that class's shapes from the
|
||||
annotation canvas **and** from *Shapes on this frame* — not selectable, not
|
||||
marquee-selectable, not deletable while hidden, and any selection or mark on them is
|
||||
cleared — while the row keeps its real per-frame count (the `×` and the trash still count
|
||||
every shape). The choice is **session state**: it survives frame changes, resets when the
|
||||
review page is left, and never touches stored data.
|
||||
slashed eye at 55 % opacity while it is hidden. Hiding stops drawing that class's shapes on
|
||||
the annotation canvas — not clickable there, not marquee-selectable — but the shapes stay
|
||||
listed in *Shapes on this frame*, dimmed (≈45 % opacity), each dimmed row carrying its own
|
||||
show control (REQ-185), while the class row keeps its real per-frame count (the `×` and
|
||||
the trash still count every shape). The choice is **session state**: it survives frame
|
||||
changes, resets when the review page is left, and never touches stored data.
|
||||
- **Shapes on this frame (N)** — one row per annotation: swatch, class name, and either the
|
||||
score to 2 dp (auto) or the word `manual`; click selects, trash deletes. When empty:
|
||||
*"None on this frame — drag to draw a shape."* plus, if the batch has shapes elsewhere, a
|
||||
*Jump to Frame with Shapes [N]* button.
|
||||
- **Shortcuts** — a static `<dl>` of the keyboard map. Keep it visible; this is a keyboard-first
|
||||
screen and the panel is the discovery mechanism.
|
||||
score to 2 dp (auto) or the word `manual`; click selects, trash deletes. The header count
|
||||
and the rows cover **every** annotation on the frame, visible or not. A row is dimmed
|
||||
(≈45 % opacity) when its shape is `H`-hidden or hidden by its class without an override;
|
||||
a dimmed row keeps its swatch, name and score and gains an eye button (*Show shape*, the
|
||||
REQ-185 eye) that first un-hides an `H`-hidden shape and otherwise overrides the class
|
||||
hide; click still selects it and the trash still deletes it. Empty means the frame has
|
||||
**zero shapes**, not zero visible ones: *"None on this frame — drag to draw a shape."*
|
||||
plus, if the batch has shapes elsewhere, a *Jump to Frame with Shapes [N]* button.
|
||||
- **Shortcuts** — a static `<dl>` of the keyboard map (it also lists `H`). Keep it visible;
|
||||
this is a keyboard-first screen and the panel is the discovery mechanism.
|
||||
|
||||
---
|
||||
|
||||
@@ -1516,7 +1522,7 @@ Shortcuts).
|
||||
Overlap/NMS, Min box size, Max shapes), lalu baru **Apply** yang menulis. Shift-drag = contoh
|
||||
negatif ("bukan ini"). Panel filter duduk di **sidebar**, bukan menutupi frame.
|
||||
- Tahan `S` = SAM3 click-assist (satu box → satu shape).
|
||||
- Keyboard-first: `V ← → A X U N C T 1–9 Del Esc Enter`. Semua aksi punya shortcut; panel
|
||||
- Keyboard-first: `V ← → A X U N C T 1–9 Del H Esc Enter`. Semua aksi punya shortcut; panel
|
||||
Shortcuts selalu terlihat. Ctrl/Cmd/Alt **tidak pernah** di-intercept; mengetik di input tidak
|
||||
memicu shortcut.
|
||||
- Approve/Reject langsung pindah frame dan meng-update status lokal sebelum request selesai.
|
||||
|
||||
Reference in new issue
Block a user