15 Commits

Author SHA1 Message Date
fedora-bot
1c06983c39 feat: unified sidecar schema v1.5 across Android and GoPro
BREAKING: rename item_id to qr_item_id everywhere (API, beacons, dashboard,
GoPro web UI, clients). Pre-production unified schema.

Sidecar schema (version 1.5):
- Add capture_id (UUID per capture)
- Add source (scicam-android / gopro)
- Add device_name and device_id (ANDROID_ID on Android, persisted UUID on GoPro)
- Add camera_file (original camera filename)
- ISO 8601 UTC timestamps
- Expanded camera_settings baseline: iso, exposure_time, aperture,
  focal_length, lens_mode, cx, fx, ae_locked, awb_locked (null if unknown)

Android (scicam/):
- MetadataLogger emits v1.5 sidecars with all new fields
- MainActivity generates capture_id, isoTimestamp, reads ANDROID_ID
- PresenceBeacon broadcasts qr_item_id, device_name, device_id
- API /status and /settings use qr_item_id

GoPro (clients/gopro-scicam/):
- _fetch_camera_state_settings returns lens_mode, cx, fx
- Sidecar generation uses v1.5 schema
- API and beacon updated for qr_item_id, device fields
- Persistent _DEVICE_UUID for device_id

Dashboard (dashboard/):
- DeviceStatus, discovery beacon, UI updated for qr_item_id
- Display device_name and device_id in detail panel

Docs:
- api_spec.yaml: Sidecar schema added, State schema updated
- AGENTS.md: Unified sidecar schema documented, beacon payload updated
- CHANGELOG.md: reference updated

Cleanup:
- Remove unused clients/go-scicam and clients/web-scicam
- Update .gitmodules accordingly
2026-04-26 22:09:51 +03:00
fedora-bot
4d8b89eb39 Release: dashboard gallery/sidecar preview, capture_alert, beacon sync 2026-04-26 02:01:54 +03:00
fedora-bot
558e73fd8a Align capture filenames and sidecars across app and clients
- Change filename format from timestamp_itemId to deviceName_timestamp
  (e.g. Pixel_7_20260101_120000.jpg) so all clients see consistent naming
- Add "version": 1 to sidecar JSON for future schema evolution
- Update filenameToIso parser to read timestamp from end of new base name
- Sync api_spec.yaml, AGENTS.md, and test script examples with new format
- Update go-scicam and web-scicam submodule examples/placeholders
2026-04-25 16:18:10 +03:00
fedora-bot
f32c718e43 Release 1.2.0 — UDP multicast auto-discovery, cached Docker builds 2026-04-25 14:25:41 +03:00
fedora-bot
fdc2ee05e1 feat: UDP multicast auto-discovery protocol
- Add PresenceBeacon to Android app, multicasts device state every 5s
- Add discovery.rs listener to dashboard, auto-registers new devices
- Persist discovered devices to timi.conf immediately
- Document protocol in AGENTS.md with Python/Go/TS/Android examples

Beacon: 239.255.0.1:9876 JSON with name, ip, api_port, item_id, timestamp
2026-04-25 13:58:29 +03:00
fedora-bot
b52a6f944d Release 1.1.0 — video recording, /captures, /sidecar, dashboard
- Add VideoCapture with CameraX for MP4 recording via POST /record
- Add GET /captures to list all media with sidecar status
- Add GET /sidecar/<filename> for JSON sidecar downloads
- Add GET /video/last and /video/<filename> endpoints
- New Rust TUI dashboard for WiFi auto-sync to ~/timi/capture
- Fix duplicate tvQr id in activity_main.xml
- Update api_spec.yaml, AGENTS.md, scicam_api_test.sh
2026-04-25 13:20:21 +03:00
fedora-bot
768f8cf7b4 Prepare v12.1 release 2026-04-25 11:28:55 +03:00
yair
56390c6c34 feat: add origin IP address to JSON sidecar metadata 2026-04-25 10:37:32 +03:00
yair
b4fffff94f Add Docker build support and restore missing Gradle wrapper
- Generate missing gradlew / gradlew.bat / wrapper.jar so host builds work.
- Add Dockerfile based on eclipse-temurin:17-jdk with Android SDK 34.
- Add docker-build.sh convenience script for containerized builds.
- Update AGENTS.md and README.md with Docker build instructions.
- APK output is written back to host; adb install stays on host for USB.
2026-04-25 10:37:18 +03:00
yair
c8fc7c4179 feat: add photo endpoints, SSE events stream, CORS, and safe filenames 2026-04-25 10:10:03 +03:00
devdesk
22010dfbfd feat: QR auto-capture, debug overlay, chime, and flash feedback
- Add QR text overlay (tvQr) shown below IP address, persists until superseded
- Add white screen flash when a new QR code is detected
- Add debug overlay (tvDebug) showing capture count, item ID, last filename, free space
- Debug overlay can be toggled via POST /settings {"debug": true/false}
- Add POST /auto-capture endpoint with {"enabled": true/false}
- Auto-capture debounces: triggers once per QR appearance, waits 0.5s after disappearance
- Add chime (ToneGenerator) on successful auto-capture photo
- BoofCvQrAnalyzer now reports null when no QR is detected to drive state transitions
- Update scicam_api_test.sh with /auto-capture and debug toggle tests
- Update AGENTS.md API table for new endpoints and fields
2026-04-24 04:47:16 +03:00
devdesk
958b8edcc9 Add on-device capture button, client submodules, and API test script
- Add low-key rectangular capture button overlay to MainActivity
  (semi-transparent black with white stroke, consumes touch events)
- Run capture() off UI thread via cameraExecutor to avoid ANR
- Add .gitmodules for go-scicam and web-scicam clients
- Add AGENTS.md with build, API, and architecture notes
- Add scicam_api_test.sh for manual API validation
- Ignore scicam_capture_base64.txt and .env
2026-04-24 03:38:50 +03:00
devdesk
ce6c2fc084 go 2026-04-24 02:39:33 +03:00
devdesk
73d5e3bc32 API-first rewrite: fullscreen preview + IP text, NanoHTTPD REST API, remove ZXing GUI 2026-04-24 01:54:15 +03:00
devdesk
4f75b3f1da Initial SciCam with CameraX + BoofCV QR integration 2026-04-24 01:43:51 +03:00