Four I001 violations surfaced when running ruff over the full src/
tests/ tree (the CI command) rather than just the testing subpath:
- src/gps_denied/testing/coord.py
- src/gps_denied/testing/datasets/vpair.py
- tests/e2e/test_coord.py
- tests/e2e/test_vpair_adapter.py
All auto-fixable; no behavioural change.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Closed-form Heikkinen method for ECEF conversion (centimetre accuracy,
no iteration). ZYX aerospace-convention Euler → quaternion. Both needed
by upcoming VPAIRAdapter rewrite; reusable for other datasets shipping
ECEF or Euler poses (e.g. some MARS-LVIG releases).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>