feat: one-click copy of effective auto-annotate params (REQ-186)
- ClassParamsTable: Copy button above per-class overrides table — clipboard text, one line per class (class/conf/iou/minbox/container), effective values (override else global), present in both the per-batch and mass auto-annotate modals via the shared component - clipboard.js: extract legacyCopy + copyText from ArchiveControls (insecure-context execCommand fallback), ArchiveControls now imports it - docs: REQ-186 added; design/ui-spec/tasks synced
This commit is contained in:
1 parent
6a36f102c9
commit
8fb65d2de9
7 files changed
+110
-35
No files matched your search
+8
-2
@@ -331,7 +331,7 @@ Pages:
|
||||
The canvas editor is hand-written; the normalized-coordinate conventions already exist in
|
||||
`sessions.py` (`annotations_payload`, `detections_payload`) as a reference.
|
||||
|
||||
**Auto-annotate modal (REQ-171, REQ-172, REQ-182, REQ-184).** `AutoAnnotateModal.jsx` splits into
|
||||
**Auto-annotate modal (REQ-171, REQ-172, REQ-182, REQ-184, REQ-186).** `AutoAnnotateModal.jsx` splits into
|
||||
`PreviewShapes.jsx` (the result overlay, shared with the mass modal),
|
||||
`ClassPromptPanel.jsx` (class chips + the editable SAM3 prompt) and `ExemplarCanvas.jsx`
|
||||
(the drag-to-draw layer). All three overlays and the `<img>` share one shrink-wrapped
|
||||
@@ -353,7 +353,13 @@ plain full-set preview (the session's last full-set run, blank if none ran yet);
|
||||
Run Preview with examples runs the exemplared classes
|
||||
sequentially and merges, without examples it is the unchanged full-set request. The
|
||||
per-class overrides table also carries a **Container** checkbox (REQ-184) that toggles
|
||||
`project_classes.container` through `PATCH /api/projects/{id} { containers: … }`.
|
||||
`project_classes.container` through `PATCH /api/projects/{id} { containers: … }`. The same
|
||||
table carries a **Copy** button (REQ-186): one click puts every selected class's effective
|
||||
settings (per-class override where set, else the global slider; container = the checkbox
|
||||
state) on the clipboard as short lines `class <name> conf … iou … minbox … container
|
||||
true|false`, through `clipboard.js`'s `copyText` (Clipboard API with an `execCommand`
|
||||
fallback for insecure contexts) — read-only, no network, no setting changed. Because
|
||||
`ClassParamsTable` is shared, the mass modal carries the button too.
|
||||
|
||||
**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
|
||||
|
||||
Reference in new issue
Block a user