Switch the triangulation adapter from ad hoc Python dictionaries to rpt.make_camera so the tracker passes the exact typed camera objects expected by the current RPT bindings.
The camera convention test now asserts against the bound camera object's numeric fields instead of raw dict payloads, which keeps the test aligned with the compiled interface.
Refactor the package into common, schema, detection, and tracking namespaces and move dataset-specific ActualTest utilities into tests/support.
Add a pluggable detection stack with typed protocols, pydantic-settings config, loguru-based runner logging, cvmmap and headless video sources, NATS and parquet sinks, and a structured coco-wholebody133 payload path.
Teach tracking replay loading to consume parquet detection directories directly, preserve empty frames, and keep the video-to-parquet-to-tracking workflow usable for offline E2E runs.
Vendor the local mmcv and xtcocotools wheels under Git LFS, update uv sources/lock state, and refresh the mmcv build so mmcv.ops loads successfully with the current torch+cu130 environment.
Set up pose_tracking_exp as a uv-managed Python package for offline multiview body tracking experiments.
This initial commit includes:
- the typed package scaffold, CLI entrypoints, and repo-local uv configuration
- scene and replay loaders for generic JSON replays and ActualTest parquet inputs
- ParaJumping payload conversion and RTMPose-to-body20 normalization
- a custom articulated tracker with tentative, active, and lost lifecycle handling
- RPT-backed proposal generation, camera convention handling, and multiview reprojection updates
- regression tests for normalization, camera conventions, ActualTest ingestion, seeding, and tracker smoke flows
- project documentation covering extrinsic formats and the ActualTest calibration caveat