wifi-densepose/archive/v1
ruv dbcbac1d43 feat(adr-110): Python SyncPacket API parity with Rust (apply_to_local + interpolation)
Iter 26 — closes the ABI gap between the Python and Rust SyncPacket
decoders. Before this, Python could decode the wire but had no helpers
to apply offsets or recover per-frame mesh time; any Python-side tooling
(host scripts, replay analysers, notebooks) would have to re-implement
the math from scratch and could drift from Rust silently.

New methods on the Python SyncPacket dataclass:

  local_minus_epoch_us() -> int
    Signed local-vs-mesh offset. Matches Rust byte-for-byte.

  apply_to_local(local_at_frame_us: int) -> int
    offset = epoch_us - local_us
    return local_at_frame_us + offset
    Identity at local_at_frame_us == self.local_us returns epoch_us.

  mesh_aligned_us_for_sequence(frame_seq: int, fps_hz: float) -> int
    Sequence-based interpolation matching Rust's identical method.
    Includes u32 wraparound handling via masked-subtract — verified
    against Rust's iter 17 `mesh_aligned_for_sequence_handles_seq_wraparound`.

3 new Python tests (10 total in TestSyncPacketParser, all green in 0.24s):

  test_apply_to_local_recovers_epoch_at_sync_point
    Identity at the sync point. Also verifies local_minus_epoch_us()
    matches §A0.10's measured 1,163,565 µs bench number.

  test_apply_to_local_preserves_inter_frame_delta
    Frame arriving 5 s after the sync on the follower's local clock
    produces mesh time exactly 5 s after sync.epoch_us.

  test_mesh_aligned_us_for_sequence_matches_rust
    Cross-language parity with Rust's
    `end_to_end_sync_decode_then_frame_mesh_recovery` (iter 20):
    100 frames after sync.sequence at 20 fps = sync.epoch_us + 5 s.
    Cross-checks via apply_to_local — both paths must agree.

Test count after iter 26:
  Python TestSyncPacketParser: 10/10 (was 7/7)
  Rust sync_packet::tests: 15/15
  Combined: 25 unit tests defending the SyncPacket contract across
  the two host language stacks.

Co-Authored-By: claude-flow <ruv@ruv.net>
2026-05-23 14:15:28 -04:00
..
data fix(verify): cross-platform deterministic proof — 6-decimal quantize + thread-pinning (closes #560) (#609) 2026-05-17 19:50:55 -04:00
docs chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
scripts chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
src feat(adr-110): Python SyncPacket API parity with Rust (apply_to_local + interpolation) 2026-05-23 14:15:28 -04:00
tests feat(adr-110): Python SyncPacket API parity with Rust (apply_to_local + interpolation) 2026-05-23 14:15:28 -04:00
README.md chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
__init__.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
requirements-lock.txt chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
setup.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
test_application.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00
test_auth_rate_limit.py chore(repo): move v1/ → archive/v1/ + add archive/README.md (#430) 2026-04-25 23:07:52 -04:00

README.md

WiFi-DensePose v1 (Python Implementation)

This directory contains the original Python implementation of WiFi-DensePose.

Structure

v1/
├── src/                    # Python source code
│   ├── api/               # REST API endpoints
│   ├── config/            # Configuration management
│   ├── core/              # Core processing logic
│   ├── database/          # Database models and migrations
│   ├── hardware/          # Hardware interfaces
│   ├── middleware/        # API middleware
│   ├── models/            # Neural network models
│   ├── services/          # Business logic services
│   └── tasks/             # Background tasks
├── tests/                  # Test suite
├── docs/                   # Documentation
├── scripts/               # Utility scripts
├── data/                  # Data files
├── setup.py               # Package setup
├── test_application.py    # Application tests
└── test_auth_rate_limit.py # Auth/rate limit tests

Requirements

  • Python 3.10+
  • PyTorch 2.0+
  • FastAPI
  • PostgreSQL/SQLite

Installation

cd v1
pip install -e .

Usage

# Start API server
python -m src.main

# Run tests
pytest tests/

Note

This is the legacy Python implementation. For the new Rust implementation with improved performance, see /v2/.