G-code Preview — API Reference
    Preparing search index...
    PreviewEvent:
        | PreviewRendererEvent
        | { bytes: number; type: "parse-started" }
        | { progress: ParseProgress; type: "parse-progress" }
        | {
            capabilities: Record<string, Confidence>;
            complete: boolean;
            layers: number;
            metadata: DialectMetadata | undefined;
            segments: number;
            type: "parse-complete";
            warnings: readonly Warning[];
        }
        | { type: "parse-cancelled" }
        | { code: string; message: string; type: "parse-error" }
        | { machine: MachineGeometry; type: "machine-geometry-discovered" }

    Session/renderer events, re-emitted, plus the controller's own lifecycle events.

    Type declaration

    • PreviewRendererEvent
    • { bytes: number; type: "parse-started" }
    • { progress: ParseProgress; type: "parse-progress" }
    • {
          capabilities: Record<string, Confidence>;
          complete: boolean;
          layers: number;
          metadata: DialectMetadata | undefined;
          segments: number;
          type: "parse-complete";
          warnings: readonly Warning[];
      }
      • capabilities: Record<string, Confidence>

        Per-field capability confidence (DD-001) — lets consumers gate their own UI honestly (#275/M3).

      • complete: boolean
      • layers: number
      • metadata: DialectMetadata | undefined

        Slicer-reported metadata (per-tool filaments, filamentUsage, printEstimate, thumbnails, dialects, whitelisted raw) — for a consumer "Slice details" panel without the raw handle (#306/#4). Capability-honest: undefined when the file carried none; individual fields are absent (not fabricated) when a slicer didn't emit them. Purge/tower/cost are not parsed.

      • segments: number
      • type: "parse-complete"
      • warnings: readonly Warning[]

        Parse warnings (codes/messages), so consumers can surface disclosures without the raw handle.

    • { type: "parse-cancelled" }
    • { code: string; message: string; type: "parse-error" }
    • { machine: MachineGeometry; type: "machine-geometry-discovered" }
      • machine: MachineGeometry
      • type: "machine-geometry-discovered"

        File-discovered geometry NOT auto-applied because the consumer configured a volume (DD-005 consumer-wins precedence) — the host decides.