Skip to content

FreeMoCap runtime adapter reads real 3D output into ADR-0005 frames #70

Description

@rupertgermann

Parent

What to build

Add the real FreeMoCap-backed frame source behind the sidecar's internal source boundary. The sidecar should be able to use FreeMoCap camera/runtime output and convert it into the existing ADR-0005 sidecar-3d frame stream: 33 BlazePose landmarks, world-mm-3d coordinates, confidence, frame timestamps, and quality metadata. Keep FreeMoCap-specific behavior isolated so the HTTP/WebSocket contract and Rowing Tracker app-side client remain stable.

Acceptance criteria

  • The sidecar can select a FreeMoCap-backed source instead of the synthetic source.
  • FreeMoCap output is converted into schema-v2 sidecar-3d frames with 33 ordered keypoints and [x_mm, y_mm, z_mm, confidence] values.
  • Frames include wall-clock timestamps suitable for the existing Rowing Tracker capture and alignment path.
  • Reprojection/camera quality data is mapped into the existing frame quality fields where available.
  • Malformed or incomplete FreeMoCap output is rejected with a clear sidecar error rather than streamed to the app.
  • Tests cover adapter conversion using fixture or recorded FreeMoCap-like data without requiring hardware in CI.

Blocked by

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions