Skip to content

Add Rust and Python video tracking E2E demo - #58

Merged
rsasaki0109 merged 2 commits into
mainfrom
agent/video-tracking-e2e
Jul 16, 2026
Merged

Add Rust and Python video tracking E2E demo#58
rsasaki0109 merged 2 commits into
mainfrom
agent/video-tracking-e2e

Conversation

@rsasaki0109

Copy link
Copy Markdown
Owner

Summary

  • add a deterministic Rust/Python frame-sequence demo that reloads 12 PGM frames, verifies dense optical flow for two opposite motions, and preserves native tracker IDs
  • expose the existing safe Rust MultiObjectTracker as a stateful Python class with lossless typed track tuples and matching stubs/tests
  • generate and commit the 12-frame GIF, plus README, ROADMAP, CI smoke coverage, and a dated reproducibility receipt

Validation

  • cargo test -p spatialrust-vision --no-default-features --features video (22 passed)
  • cargo run -p spatialrust --no-default-features --features image-io-standard,vision-video --example video_tracking_e2e
  • cargo check --manifest-path crates/spatialrust-py/Cargo.toml
  • cargo clippy --manifest-path crates/spatialrust-py/Cargo.toml -- -A clippy::missing-const-for-thread-local -A clippy::too-many-arguments -D warnings
  • maturin develop --release --manifest-path crates/spatialrust-py/Cargo.toml
  • .venv/Scripts/python.exe -m pytest crates/spatialrust-py/tests -q
  • .venv/Scripts/python.exe -m mypy.stubtest spatialrust --ignore-missing-stub
  • .venv/Scripts/python.exe crates/spatialrust-py/examples/video_tracking_e2e.py

Reproducibility

Rust and Python independently generated 12 byte-identical 96x72 Gray8 PGM frames. All 11 frame pairs produced exact object-center flow (2,1) and (-2,-1), detections remained at two objects, and track IDs remained 1,2. The committed GIF is 384x288 with 12 frames at 140 ms/frame.

@rsasaki0109
rsasaki0109 merged commit 184eea5 into main Jul 16, 2026
86 of 92 checks passed
@rsasaki0109
rsasaki0109 deleted the agent/video-tracking-e2e branch July 16, 2026 08:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant