#pragma once #include "frame_result.hpp" #include namespace cms { class CameraPipeline; // Pure drawing from the immutable result. Never re-runs inference. cv::Mat renderResult(FrameResult const& result,CanSnapshot const* liveCan=nullptr); void renderCanOverlay(cv::Mat& image,CanSnapshot const& can); // Optional observer: closing the window returns without stopping the pipeline. void runLocalVisualization(CameraPipeline const& pipeline); }