feat: chain track 5 frames so a moving object is re-seeded (REQ-189)
trackForward sent the identical box to all five target frames. On batch 19 (extracted at 0.5 fps - one frame every 2 s) a truck entering the frame outruns a static seed, so the action either missed it or grabbed the wrong part. - geometry handling lifted to module-level shapeBox(), reused for the drawn shape and for each assist result - first frame still uses the drawn box exactly; frames 2-5 are seeded with the previous run's shape grown x1.5 about its centre (SEED_GROWTH) - a frame SAM3 refuses keeps the last good seed for the next attempt - REQ-189 rewritten to the chaining contract, including the accepted cost: a bad read can carry forward; this is not tracking, no motion model
This commit is contained in:
1 parent
b71f1d4bf2
commit
1530bbc999
4 files changed
+73
-26
No files matched your search
@@ -1405,6 +1405,20 @@ read it.
|
||||
(accent border + glow) — no CSS added; **browser eyeball still owed by the user**
|
||||
(375 px 2-col wrap, long class names).
|
||||
|
||||
## Task — Track 5 Frames follows a moving object (REQ-189) `[DONE]`
|
||||
|
||||
1. Root cause: `trackForward` sent the **same box** to all 5 frames, and batch 19 was
|
||||
extracted at **fps 0.5** (one frame every 2 s, `batches.fps`) — a truck entering frame
|
||||
outruns a static seed. Now the runs are **chained**: first frame gets the drawn box
|
||||
untouched, each later frame is seeded with the previous run's resulting shape grown ×1.5
|
||||
about its centre (`SEED_GROWTH`, `growBox`), a refused frame keeps the last good seed.
|
||||
Geometry handling moved to a module-level `shapeBox()` reused by both call sites.
|
||||
→ verify: **[DONE]** `npm run build` green; first frame un-grown (stationary case keeps
|
||||
its exact precision); failure path leaves `seed` untouched; busy guard still blocks a
|
||||
double-writes; **moving-object behaviour needs the user's GPU run** — expect chained
|
||||
readjustment to hold a slow move, still lose a fast one at 0.5 fps (fix: re-extract at
|
||||
2 fps via *Trim → frames per second*, or REQ-190 video propagation).
|
||||
|
||||
## Task — Track 5 Frames works at all (REQ-189) `[DONE]`
|
||||
|
||||
1. `ReviewPage.jsx:trackForward` read `geometry.coordinates` — a key the backend never emits
|
||||
|
||||
Reference in new issue
Block a user