"""``FrameSource`` cross-cutting interface — public surface (AZ-398 v1.0.0). Per AC-9, this module re-exports the Protocol and the error family ONLY. Concrete strategies (``LiveCameraFrameSource``, ``VideoFileFrameSource``) live in their own modules and are imported LAZILY by ``runtime_root.frame_source_factory.build_frame_source``; this keeps the lazy-import boundary explicit and lets Tier-0 builds omit the OpenCV runtime entirely. """ from gps_denied_onboard.frame_source.errors import ( FrameSourceConfigError, FrameSourceError, ) from gps_denied_onboard.frame_source.interface import FrameSource __all__ = [ "FrameSource", "FrameSourceConfigError", "FrameSourceError", ]