''Full formal changelog for the TIMI project. For a quick summary of the last five major changes, see [[timi|the main TIMI page]].'' ====== TIMI Changelog ====== ===== 2026-04-27 ===== * **Dataset Viewer & Agent Workflow** — Added Rerun-based ''dataset_viewer.py'' for browsing local and remote capture datasets with multi-mount support, sidecar normalization, timeline plots, and a web viewer on port 9090. Updated agent instructions for tmux window management (''runio'', ''tdash'', ''gopro''). * **GoPro Client Inline Merge** — Merged ''clients/gopro-scicam/'' from submodule into the main repository as inline history, simplifying builds and removing submodule sync friction. * **Tooling Suite** — Added ''tools/colmap_parser'' and ''tools/mirror_server'' alongside the dataset viewer. ===== 2026-04-26 ===== * **Unified Sidecar Schema v1.5** — All capture sources (Android and GoPro) now emit the same JSON sidecar format. Renamed ''item_id'' to ''qr_item_id'', added ''device_name'', ''device_id'', and ''camera_file'' fields. Legacy v1 sidecars are preserved as-is. * **Discovery Protocol Extracted** — Moved UDP multicast beacon specification from ''AGENTS.md'' into ''references/discovery_protocol.md'' as a standalone reference document. * **Box QR Workflow** — Fullscreen borderless QR view on DP-1 for the GoPro client, per-capture UUID generation (capture_id), and gamepad "Next Box" button (Y) for rapid box cycling. * **Dashboard Enhancements** — Gallery and sidecar preview, capture_alert feedback, and beacon-based auto-discovery sync. ===== 2026-04-25 ===== * **GoPro Station Mode** — Split-screen full-screen view: live preview alongside the last capture. Accessible via UI button or F key. * **QR Debounce & History** — Require two consecutive QR detections before accepting a new code to reduce flicker. Added ''/api/qr_history'' endpoint and prominent QR info panel. * **Real Camera Settings in Sidecars** — GoPro bridge now queries actual ISO, shutter speed, aperture, focal length, and AE/AWB lock state from the camera for accurate metadata. * **Lens Mode Toggle** — Switch between Wide and Linear lens modes via API and UI; persists in sidecar JSON. * **GoPro Deletion Fixes** — Corrected delete path format (removed erroneous ''DCIM/'' prefix), added bulk delete fallback, and robust ''Clear All'' flow. * **Background Sync & Duplicate Prevention** — Sync history tracks GoPro files across restarts so clearing local files does not trigger re-downloads. * **XInput / Gamepad API Support** — Xbox 360 controller mapped: A/X capture photo, Y advances box ID, B toggles QR overlay. * **GoPro Auto-Capture v2** — Structural change detection with motion threshold and settle-delay parameters; captures only when objects remain on the table (ignores passing hands). * **UI Polish** — Event log panel, QR flash overlay on detection, ROI visibility toggle, modal robustness, and JSON sidecar panel in gallery. ===== 2026-04-24 ===== * **SciCam API-First Rewrite** — Fullscreen preview with IP overlay, NanoHTTPD REST API, removal of ZXing GUI hop. * **QR Auto-Capture** — BoofCV runs on preview frames; snaps automatically when a QR code is detected. Includes debug overlay, chime, and flash feedback. * **Client Submodules** — Added ''clients/go-scicam'' and ''clients/web-scicam'' as submodules. * **OpenAPI 3.0 Spec** — Formal API specification in ''api_spec.yaml''. * **Docker Build Support** — Cached Docker builds for the Android app with restored Gradle wrapper. ===== Earlier Releases ===== * **SciCam v1.2.0 (2026-04-25)** — UDP multicast auto-discovery, cached Docker builds. * **SciCam v1.1.0 (2026-04-25)** — Video recording (''POST /record''), ''/captures'' listing, ''/sidecar'' downloads, initial Rust dashboard. * **SciCam v1.0.0 (2026-04-24)** — Initial release with CameraX + BoofCV QR integration, photo capture, and JSON sidecars.