/** * PanoramaSettingsModal — runtime tuning surface for 's * batch-keyframe panorama capture. * * v0.4 rewrite (Phase 2 of F10): * ────────────────────────────── * * The v0.3 modal exposed a flat 45-field surface that mixed * batch-keyframe knobs with slit-scan, hybrid, and video-recording * fallback fields the engine never reads in 's * `engine: 'batch-keyframe'` path. The 2026-05-22 audit (v0.3.0 * CHANGELOG) traced every field's native consumer and proved most of * the cross-engine fields were dead surface in this modal. * * v0.4 narrows the modal to exactly the surface consumes: * the `PanoramaSettings` type defined in `./PanoramaSettings.ts`. Each * section in the modal mirrors a sub-tree of that type — operators see * the same shape in the UI as the code, and host apps that want to * tune slit-scan or hybrid engines build their own analogous * SlitscanSettingsModal / HybridSettingsModal on top of those types. * * UI structure (matches the type tree): * * - Debug (top-level, `debug`) * - Frame selection (`frameSelection`, closed by default) * - Mode * - Max keyframes * - Overlap threshold * - Flow tunables (`frameSelection.flow`, only when * mode === 'flow-based') * - Max corners * - Quality level * - Min distance * - Max translation cm * - Novelty percentile * - Eval every N frames * - Stitcher (`stitcher`, closed by default) * - Stitch mode * - Warper type * - Blender * - Seam finder * - Inscribed-rect crop * - Reset to defaults (button) * * Note: `captureSource` (AR vs non-AR) is NOT surfaced here. The * camera-screen AR toggle owns that state — Camera.tsx overrides the * native bridge's `captureSource` with the derived * `effectiveCaptureSource` so settings and runtime stay in sync. * * The reusable `Accordion` + `SectionHeader` + `SegmentedControl` + * `Tag` helpers from the v0.3 modal are preserved verbatim — only the * data-binding layer changed. */ import React from 'react'; import { type PanoramaSettings } from './PanoramaSettings'; export interface PanoramaSettingsModalProps { visible: boolean; settings: PanoramaSettings; onChange: (next: PanoramaSettings) => void; onClose: () => void; } export declare function PanoramaSettingsModal({ visible, settings, onChange, onClose, }: PanoramaSettingsModalProps): React.JSX.Element; //# sourceMappingURL=PanoramaSettingsModal.d.ts.map