fix: exemplar draw keeps other classes' full-set preview (REQ-182 amended)

- AutoAnnotateModal: render merges last full-set detections for
  non-exemplared classes with conditioned results for exemplared ones
  (selected-not-exemplared filter); drawing an example no longer clears
  the other classes' detections
- Run Preview now always refreshes full-set first (exemplars: []) then
  re-runs exemplared classes
- docs: REQ-182 amended (merge semantics), design/ui-spec/tasks synced
This commit is contained in:
asus committed 2026-10-02 15:20:46 +07:00
1 parent 8fb65d2de9
commit 8f41c6c85a
5 files changed
+59 -38

No files matched your search

+17 -4
View File
@@ -1272,10 +1272,11 @@ failure modes to the counting path. The saving was always on the browser side.
1. Exemplar pools keyed by class and a per-class accumulating preview in the auto-annotate
modal — switching the active class swaps pools and a frame change clears them all
(REQ-172); a redraw re-runs only the touched class against its own pool, the canvas unions
every exemplared class, classes without examples contribute nothing while any example
exists, clearing the last example falls back to the full-set preview, no examples at all →
the unchanged full-set request (REQ-182) → verify: **[DONE]** `cd frontend && npm run
(REQ-172); a redraw re-runs only the touched class against its own pool, the canvas merges
exemplared classes' conditioned results over the last full-set detections of the other
selected classes (REQ-182, as amended — superseded by the merged-preview entry below),
clearing the last example returns that class to its full-set detections, no examples at
all → the unchanged full-set request (REQ-182) → verify: **[DONE]** `cd frontend && npm run
build` passes (✓ 536 ms, 69 modules); `wc -l` caps hold —
`frontend/src/components/AutoAnnotateModal.jsx` (400) and
`frontend/src/hooks/useExemplarPools.js` (100) both ≤ 400; rebuilt Docker frontend
@@ -1348,6 +1349,18 @@ read it.
invalid→global, float-noise case 0.30000000000000004 → `0.3`); browser clipboard
click-test NOT automated — manual click-test pending.
## Task — Merged preview: exemplar draw keeps other classes (REQ-182 amended) `[DONE]`
1. Non-exemplared classes keep last full-set detections when an exemplar is drawn;
exemplared class shows conditioned results replacing its own; Run Preview
refreshes full-set first (exemplars: []) then exemplared; draw never full-set
re-runs → verify: **[DONE]** `cd frontend && npm run build` passes (✓ 523 ms);
`wc -l frontend/src/components/AutoAnnotateModal.jsx` = 400 (at cap; blank lines
trimmed to fit, adjudicated by review); `git diff --stat` = 1 code file; grep
proof full-set call has `exemplars: []` (`AutoAnnotateModal.jsx:118`); 7-case
walkthrough in t11-report.md; browser test (draw example after Run Preview, other
classes persist) NOT automated — manual click-test pending.
## Known open points
- *Not closed by any task, by choice:* **any rebuild kills the running job.** Task 14's resume