feat: skip track forward on result overlap, not class presence (REQ-189)

Frame holding the tracked class is now annotated like any other; the run's
result is dropped only when it intersects a same-class shape already there.
This commit is contained in:
asus committed 2026-10-06 16:08:54 +07:00
1 parent 3eeb529e3d
commit f5be7880b0
8 files changed
+86 -30

No files matched your search

+6 -3
View File
@@ -200,9 +200,12 @@ changes.
shape supplies its own box, a polygon is reduced to its bounding box. Each frame is an
**independent** run: a frame SAM3 refuses (nothing inside the box) is reported and the rest
still run; nothing selected, an unusable shape, or the last frame says so instead of doing
nothing. A frame that **already holds a shape of the tracked class is skipped** — hidden or
dimmed shapes count as present — and the skip is reported in the result banner and marked
with a dot on that frame's filmstrip thumbnail, never silently passed over. A long run can be
nothing. Every frame ahead **runs** — a frame that already holds a shape of the tracked class
is still annotated when SAM3 finds a *different* object there. What is dropped is a
**duplicate**: a result that intersects an existing shape of the tracked class (any shared
area counts, hidden or dimmed shapes count) is not written, and that skip is reported in the
result banner and marked with a dot on that frame's filmstrip thumbnail, never silently passed
over. A long run can be
**cancelled** mid-flight: cancelling stops the remaining frames, but a request already in
flight is not aborted server-side and may still save its shape. The box is never grown and never reseeded from a result, so there is
no size or position readjustment between frames: a fast-moving object can still leave the