Commit Graph
41 Commits
Author SHA1 Message Date
asus 1530bbc999 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
2026-10-05 12:21:18 +07:00
asus b71f1d4bf2 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
2026-10-05 12:01:59 +07:00
asus 2971f9192c style: stack per-class override rows instead of a wide table (REQ-181 layout)
The width:100% table plus the new MaxBox column let the Class column absorb
the slack, stranding the Container checkbox away from its class. One block
per class now: name + Container checkbox on the first line, Conf/IoU/MinBox/
MaxBox inputs in a wrapping grid below. Behavior identical - KEYS,
buildClassParams, compose() copy line, toggleContainer revert, aria labels.
2026-10-05 11:01:26 +07:00
asus d3a6aa49b6 feat: per-class max box fraction (REQ-188)
- labeling/preview/autolabel: max_box_frac + per-class max_box_fracs
  ceiling filter (0=none, 1=off) before NMS, mirrors min_box_frac
- exemplar review-assist: ceiling before max_detections truncation;
  ExemplarLabelRequest + filter panel 'Max box size' slider
- ClassParamsTable: MaxBox column; copy line now REQ-186 amended
  order: class <name> conf <v> iou <v> minbox <v> maxbox <v> container
- docs: design/ui-spec/tasks updated (incl. stale 4-slider narrative)
2026-10-02 17:27:11 +07:00
asus dee58e4ae5 fix: resolve model weight paths against DATA_DIR (REQ-187)
- config.py: resolve_data_path (legacy abs + rel) + rel_data_path
- all file-opening reads wrapped: preview, autolabel, training, model
  download, live count, projects.get; training_start_point hack replaced
- new writes store paths relative to data/
- legacy stale rows (/home/asus/reTraining/...) resolve without migration
- requirements: REQ-187 added; REQ-188 (per-class max box) + REQ-186
  copy-line amendment drafted for the next task
2026-10-02 16:59:25 +07:00
asus 8f41c6c85a 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
2026-10-02 15:20:46 +07:00
asus 8fb65d2de9 feat: one-click copy of effective auto-annotate params (REQ-186)
- ClassParamsTable: Copy button above per-class overrides table —
  clipboard text, one line per class (class/conf/iou/minbox/container),
  effective values (override else global), present in both the
  per-batch and mass auto-annotate modals via the shared component
- clipboard.js: extract legacyCopy + copyText from ArchiveControls
  (insecure-context execCommand fallback), ArchiveControls now imports it
- docs: REQ-186 added; design/ui-spec/tasks synced
2026-10-02 14:28:46 +07:00
asus 6a36f102c9 Per-shape hide + dimmed shape list in review editor (REQ-185, amended REQ-183)
- ReviewPage: hiddenShapeIds/overriddenShapeIds session Sets, H toggles
  selected/marked shapes, purge effect removed (dimmed rows selectable
  from list), auto-override on draw/assist/copy into hidden class,
  class-eye toggle clears that class's overrides
- ReviewSidebar: all rows listed, dimmed rows get restore eye, header
  count = total shapes
- ShortcutsPanel: H entry
- docs: REQ-183 amended + REQ-185 added; design/ui-spec/tasks synced
2026-10-02 13:22:50 +07:00
asus 96a00267d9 feat: per-class exemplar preview, class hide toggle, container NMS flag (REQ-182, REQ-183, REQ-184) 2026-10-02 11:11:33 +07:00
asus 1a99f2ffe4 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)
2026-10-01 17:01:54 +07:00
Andrew-AAAA c244ab9795 docs: fix README archive mount wording (read-write, REQ-178) 2026-09-30 12:11:03 +07:00
Andrew-AAAA a3f2e01c20 feat: resolve relative VIDEO_ARCHIVE_HOST via compose cwd (portable copy-path) 2026-09-30 12:03:20 +07:00
Andrew-AAAA 7a7393d7a5 fix: clipboard fallback for insecure origins (http://<ip>:9000) 2026-09-30 11:37:17 +07:00
Andrew-AAAA 4da721e590 chore: remove CLAUDE.md symlink 2026-09-30 11:31:14 +07:00
Andrew-AAAA 1403a07b86 feat: live count worker, tracking, and page updates 2026-09-30 11:31:13 +07:00
Andrew-AAAA 4606c0adeb docs: add archive upload/copy-path implementation plan 2026-09-29 11:49:56 +07:00
Andrew-AAAA 4b33af54ae fix: use gpus:all for GPU passthrough, detect Docker Desktop in start.sh 2026-09-29 11:49:54 +07:00
Andrew-AAAA 7f5fc7fea3 fix: final review findings — env template placeholder, a11y live region, stale read-only comments 2026-09-29 11:37:22 +07:00
Andrew-AAAA 5d8f1272ff docs: update read-only wording for archive upload in ui-spec and panduan 2026-09-29 09:42:22 +07:00
Andrew-AAAA 113db4559b docs: revise REQ-074 read-only wording for user-initiated uploads 2026-09-29 09:38:40 +07:00
Andrew-AAAA 085eb51229 docs: mark archive upload/copy-path tasks DONE with verification evidence 2026-09-29 09:35:55 +07:00
Andrew-AAAA db1b258b03 feat: archive upload controls and copy-path buttons in Video Archive (REQ-178/179) 2026-09-29 09:07:26 +07:00
Andrew-AAAA 0c8eeac8a5 feat: make archive mount writable and raise upload cap (REQ-178) 2026-09-29 09:02:08 +07:00
Andrew-AAAA 15cc9777b9 docs: revise REQ-010/163 for archive upload, add REQ-178/179 2026-09-29 08:58:34 +07:00
Andrew-AAAA 92360660c7 fix: validate upload date, close upload races (REQ-178) 2026-09-29 08:55:14 +07:00
Andrew-AAAA 712cdeabf1 feat: expose archive host paths in project payload (REQ-172) 2026-09-29 08:47:19 +07:00
Andrew-AAAA e2f4a51838 feat: archive upload and date-folder endpoints (REQ-171) 2026-09-29 08:46:28 +07:00
Andrew-AAAA d170cff0e4 feat: add descriptive model naming and inline rename
- Auto-generate model names: {arch}-{labelType}-{epochs}ep-{classNames}-{YYYYMMDD}
- Add PATCH /api/models/{id}/rename endpoint
- Inline rename UI on Models & Training page
- Download filename uses model name instead of v{N}
- DB migration: add name column to model_versions
- Update all docs to reflect new naming convention
2026-09-10 09:14:55 +07:00
Andrew-AAAA 51e74a253e chore: sync annotation UI, shortcuts, and misc updates 2026-09-10 09:14:28 +07:00
Andrew-AAAA cf4c3370e1 feat: remap ports to 9000/9010, update documentation, and add Mermaid ERD 2026-09-01 09:15:49 +07:00
Andrew-AAAA 8ad35ed9d1 docs: add database entity relationship diagram (ERD.md) 2026-08-31 15:44:27 +07:00
asus c0cce17490 feat(docs): generate and add modern project logo to README header 2026-08-27 15:25:51 +07:00
asus af043f576f docs: add prominent auto-download buttons for handover docs and architecture assets in README 2026-08-27 14:51:58 +07:00
asus 6485f59e26 docs: transform README into SaaS-grade reference manual and optimize repository hygiene 2026-08-27 14:27:29 +07:00
ervanfahriaw ac95674c07 feat: sync live-count, exemplar annotation modules, and update .gitignore 2026-08-24 14:57:42 +07:00
asus b6624eeff9 docs: update README and add .env.example 2026-08-14 16:37:27 +07:00
asus 5c7c122105 feat: add counting bench, triage, and dataset modules
This commit includes major additions and updates to the frontend and backend architectures, introducing new dataset management, live counting features, batch processing, and triage logic. Includes new UI pages, components, and API routes.
2026-08-14 16:28:52 +07:00
asus 8285400254 update from asus 106 2026-08-05 15:56:11 +07:00
fhanyuh 6637fb1302 test ci/cd 2026-08-05 11:54:59 +07:00
asus d07578462e feat: setup dataset enrichment app codebase and scripts 2026-08-05 11:52:27 +07:00
asus b5c28cc98a first commit 2026-08-05 11:15:05 +07:00