G-code Preview — API Reference
    Preparing search index...
    interface GcodePreviewProps {
        buildVolume?: BuildVolumeDef | MachineGeometry;
        cameraMode?: CameraMode;
        colorMode?: ColorMode;
        createWorker?: () => WorkerLike;
        layerRange?: null | [number, number];
        onBuildComplete?: (e: { quality: QualityMode; segments: number }) => void;
        onDisclosure?: (text: string) => void;
        onError?: (e: { code: string; message: string }) => void;
        onMachineGeometryDiscovered?: (machine: MachineGeometry) => void;
        onMachineGeometryMismatch?: (message: string) => void;
        onParseCancelled?: () => void;
        onParseError?: (e: { code: string; message: string }) => void;
        onParseProgress?: (
            p: { bytesProcessed: number; totalBytes: number },
        ) => void;
        onProgressPresentationChanged?: (
            e: { mode: string; reason?: string },
        ) => void;
        onQualityFallback?: (
            e: { from: QualityMode; reason: string; to: QualityMode },
        ) => void;
        onReady?: (
            summary: { complete: boolean; layers: number; segments: number },
        ) => void;
        parseOptions?: WireParseOptions;
        progress?: null | ProgressObservation;
        quality?: QualityMode | "auto";
        rendererOptions?: Omit<
            {
                buildVolume?: BuildVolumeDef;
                cameraMode?: CameraMode;
                chunksPerTick?: number;
                colorMode?: ColorMode;
                createRenderer?: (canvas: RenderTargetCanvas) => GLRendererLike;
                quality?: QualityMode | "auto";
                scheduleFrame?: (cb: () => void) => void;
                theme?: Theme;
                tube?: TubeOptions;
            },
            "buildVolume"
            | "quality"
            | "cameraMode"
            | "theme"
            | "colorMode"
            | "tube",
        >;
        scrub?: null | number;
        showRetractions?: boolean;
        showTravel?: boolean;
        source?: GcodePreviewSource;
        theme?: Theme;
        tube?: TubeOptions;
    }
    Index

    Properties

    Consumer-configured volume — wins over file-discovered geometry (DD-005 precedence).

    cameraMode?: CameraMode

    #150 (DD-009 D3): camera projection.

    colorMode?: ColorMode
    createWorker?: () => WorkerLike

    Worker factory escape hatch (DD-005 slim/custom entries; D2).

    layerRange?: null | [number, number]

    Inclusive [start, end]; null/undefined shows every layer.

    onBuildComplete?: (e: { quality: QualityMode; segments: number }) => void
    onDisclosure?: (text: string) => void
    onError?: (e: { code: string; message: string }) => void
    onMachineGeometryDiscovered?: (machine: MachineGeometry) => void
    onMachineGeometryMismatch?: (message: string) => void
    onParseCancelled?: () => void
    onParseError?: (e: { code: string; message: string }) => void
    onParseProgress?: (p: { bytesProcessed: number; totalBytes: number }) => void
    onProgressPresentationChanged?: (e: { mode: string; reason?: string }) => void
    onQualityFallback?: (
        e: { from: QualityMode; reason: string; to: QualityMode },
    ) => void
    onReady?: (
        summary: { complete: boolean; layers: number; segments: number },
    ) => void
    parseOptions?: WireParseOptions
    progress?: null | ProgressObservation

    DD-006 live progress observation; null hides the overlay.

    quality?: QualityMode | "auto"
    rendererOptions?: Omit<
        {
            buildVolume?: BuildVolumeDef;
            cameraMode?: CameraMode;
            chunksPerTick?: number;
            colorMode?: ColorMode;
            createRenderer?: (canvas: RenderTargetCanvas) => GLRendererLike;
            quality?: QualityMode | "auto";
            scheduleFrame?: (cb: () => void) => void;
            theme?: Theme;
            tube?: TubeOptions;
        },
        "buildVolume"
        | "quality"
        | "cameraMode"
        | "theme"
        | "colorMode"
        | "tube",
    >

    Advanced/test renderer injectables (pass-throughs of the renderer contract).

    scrub?: null | number

    Scrub cut (IR segment index); null shows everything up to the layer range.

    showRetractions?: boolean

    DD-009 D1 (#148): opt-in retraction/deretraction markers.

    showTravel?: boolean

    The one prop needed in practice: bytes/File to parse. Changing it re-parses.

    theme?: Theme

    #153 (DD-009 D4): bounded declarative theme.