use Arc;
use ;
use crateDetectorError;
/// Transforms a watcher's cropped view into the frame the rest of the
/// pipeline sees. Runs BEFORE the implicit frame-diff gate, so a
/// preprocessor whose output is static (e.g. a fully-suppressed stability
/// mask) holds the detector at zero cost until its output actually changes.
///
/// Preprocessors run every tick on the async path — they must be cheap
/// (block math, copies), never heavy inference.