"""C3 `CrossDomainMatcher` Protocol. Concrete impls: DISK+LightGlue (primary), ALIKED+LightGlue, XFeat. See `_docs/02_document/components/04_c3_matcher/`. """ from __future__ import annotations from typing import Protocol from gps_denied_onboard._types.matching import MatchResult from gps_denied_onboard._types.nav import NavCameraFrame from gps_denied_onboard._types.tile import Tile class CrossDomainMatcher(Protocol): """Match a nav-camera frame against a satellite tile.""" def match(self, frame: NavCameraFrame, tile: Tile) -> MatchResult: ...