feat: per-class autolabel params + frame-scoped class clear (REQ-180, REQ-181)
- REQ-181: class_params {name: {threshold?, iou_threshold?, min_box_frac?}}
on /preview and /autolabel, per-class override table in both modals;
empty overrides take the unchanged global path
- REQ-180: x button on each review sidebar class row clears that class on
the current frame only via bulk-delete, no confirmation
- includes REQ-178 empty date-folder cycle fix (archive_index.py)
This commit is contained in:
1 parent
c244ab9795
commit
1a99f2ffe4
16 files changed
+372
-45
No files matched your search
@@ -167,7 +167,14 @@ def cycles(project_id: int) -> List[dict]:
|
||||
|
||||
buckets: dict = {}
|
||||
for day in library.list_dates(project["video_root"]):
|
||||
for name in _video_names(project, day["date"]):
|
||||
names = _video_names(project, day["date"])
|
||||
if not names:
|
||||
# Folder still holds no recording: it must still appear in the
|
||||
# list, or a folder just created with "Folder baru" is invisible.
|
||||
buckets.setdefault(day["date"], {"cycle": day["date"], "video_count": 0,
|
||||
"flagged": 0, "first_start": None})
|
||||
continue
|
||||
for name in names:
|
||||
rel = f"{day['date']}/{name}"
|
||||
timing = _sidecar(project, rel) or known.get(rel) or {}
|
||||
cycle = timing.get("working_day") or day["date"]
|
||||
|
||||
Reference in new issue
Block a user