fix: track 5 frames works for bbox and polygon shapes (REQ-189)

trackForward read geometry.coordinates, a key the backend never emits, and
had no bbox branch - the action silently no-op'd for every shape (flagged
dead in docs/audit-2026-08-07.md:103).

- bbox points used as-is, polygon reduced to its bounding box
- guards speak instead of returning silently
- a frame SAM3 refuses no longer aborts the remaining frames
- a press during an in-flight run is ignored (would double-write)
- REQ-189 added; non-goal requirements.md:22 amended to keep exemplar
  propagation out while admitting this one-shot hand-off
This commit is contained in:
asus committed 2026-10-05 12:01:59 +07:00
1 parent 2971f9192c
commit b71f1d4bf2
4 files changed
+79 -24

No files matched your search

+7 -4
View File
@@ -989,9 +989,13 @@ previous geometry** and shows the error. Same optimistic-with-rollback pattern f
- *Copy Prev* copies every annotation from frame `n-1` onto this frame (one POST per shape);
disabled at index 0 or when the previous frame is empty.
- *Track 5 Frames* takes the selected shape's bounding box and runs SAM3 assist on the next 5
frames with it. **Only implemented for polygon geometry** in the current code — a bbox
selection yields no box and the action no-ops. A rebuild should either keep that limitation
or extend it deliberately, not accidentally.
frames with it. Works for both geometry types: a bbox shape supplies its own box, a polygon
is reduced to its bounding box. Nothing selected, an unusable shape, or the last frame
says so in the error slot instead of silently doing nothing; a frame SAM3 refuses (nothing
inside the box) does not stop the rest — the banner then **starts** with `Tracked N of M`
(M = frames actually ahead, ≤ 5) followed by the per-frame failures. A second press while
a run is in flight is ignored. Shapes are written `source=manual`, exactly as a hand-drawn
one (REQ-189).
**Quick reclass bar** appears whenever a shape is selected: one button per class
(`[n] name`, class-coloured) plus *Delete [Del]*.
@@ -1285,7 +1289,6 @@ Removing any of these breaks the pipeline, corrupts data, or produces numbers th
- `AutoAnnotateModal` and `MassAutoAnnotateModal` duplicate ~70 % of their logic.
- `BatchList` and `ActiveJobsBanner` are exported from `LibraryPage` and imported by
`BatchesPage`; they belong in `components/`.
- Track-5-frames only works for polygon geometry.
---