/** * CaptureDebugOverlay — diagnostic overlay for capture sessions. * * Shows the live engine state in a floating pill at the top of the * capture screen so operators can see: * * - which frame outcome the engine just emitted (accept/skip/reject) * - keyframe count vs. cap (e.g. "3 / 6") * - per-frame newContent fraction + overlap percent * - latest processingMs (how long the gate eval took) * - JS-side IMU translation accumulator (when non-AR) * - JS heap usage estimate (rough — RN doesn't expose Native heap) * * The overlay is gated by ``'s `settings.debug` flag. When * `debug = false` the component renders null and consumes no CPU. * * Why a separate component (not inline in Camera.tsx)? * * Camera.tsx is already a 1200-line beast and the debug pill needs * its own styling/layout that would distract from the main capture * UX. Splitting it out keeps Camera.tsx focused and the debug * surface easy to evolve independently (future F9 work — port the * richer memory bubble + stitch toast from the RetaiLens host). * * This component is intentionally PRESENTATIONAL — all data is * pushed in as props. The host (Camera.tsx) owns the * subscriptions / refs / state and decides when to mount the * overlay. */ import React from 'react'; import type { IncrementalState } from '../stitching/incremental'; export interface CaptureDebugOverlayProps { /** Latest engine state (null = no capture in progress). */ incrementalState: IncrementalState | null; /** JS-side IMU translation accumulator in metres (non-AR mode). */ imuTranslationMetres?: number | null; /** Capture-source label so the operator knows which gate path is live. */ captureSource: 'ar' | 'non-ar'; /** Effective frame selection mode that's running right now. */ frameSelectionMode: 'time-based' | 'pose-based' | 'flow-based'; /** Effective stitchMode setting (operator-set, before auto-resolution). */ stitchMode: 'auto' | 'panorama' | 'scans'; } export declare function CaptureDebugOverlay({ incrementalState, imuTranslationMetres, captureSource, frameSelectionMode, stitchMode, }: CaptureDebugOverlayProps): React.JSX.Element; //# sourceMappingURL=CaptureDebugOverlay.d.ts.map