"""VIO component (ARCH-01). Public surface for visual-inertial odometry adapters. Phase-1 split of the legacy ``core/vo.py`` monolith into per-backend modules: - protocol.py — VisualOdometry Protocol (alias ISequentialVisualOdometry) - orbslam_backend.py — pure-Python OpenCV: SequentialVisualOdometry + ORBVisualOdometry - cuvslam_backend.py — Jetson cuVSLAM SDK bridge: CuVSLAMVisualOdometry + CuVSLAMMonoDepthVisualOdometry - factory.py — create_vo_backend env-aware DI seed - native/ — placeholder for future cuvslam SDK native glue The legacy ``gps_denied.core.vo`` import path is preserved as a thin re-export shim for one phase; tests still import from there. """ from gps_denied.components.vio.protocol import ( ISequentialVisualOdometry, VisualOdometry, ) from gps_denied.components.vio.orbslam_backend import ( ORBVisualOdometry, SequentialVisualOdometry, ) from gps_denied.components.vio.cuvslam_backend import ( CuVSLAMMonoDepthVisualOdometry, CuVSLAMVisualOdometry, ) from gps_denied.components.vio.factory import create_vo_backend __all__ = [ "VisualOdometry", "ISequentialVisualOdometry", "ORBVisualOdometry", "SequentialVisualOdometry", "CuVSLAMVisualOdometry", "CuVSLAMMonoDepthVisualOdometry", "create_vo_backend", ]