G-code Preview — API Reference
    Preparing search index...

    @chestnutlabs/gcode-dialects — dialect adapter contracts & registry (DD-005).

    Phase 1 (#73): behavioral contracts, buffered annotation sink, and the composition runner. Built-in vendor adapters arrive in phases 3–5. Depends only on @chestnutlabs/toolpath-core; the parser consumes the runner through its own structural DialectRunnerFactory type (worker entries compose the two — DD-002 §5 boundaries).

    interface AnnotationSink {
        addMoveKind(segStart: number, segEnd: number, kindBits: number): void;
        addThumbnail(thumb: ThumbnailData): void;
        defineObject(objectValue: number, name: string): void;
        setFeature(segStart: number, segEnd: number, role: number): void;
        setFilament(info: FilamentInfo): void;
        setFilamentUsage(usage: FilamentUsage): void;
        setMachine(machine: MachineGeometry): void;
        setObject(segStart: number, segEnd: number, objectValue: number): void;
        setPrintEstimate(estimate: PrintEstimate): void;
        setRaw(key: string, value: string): void;
        setToolInfo(
            tool: number,
            info: { colorHex?: string; material?: string },
        ): void;
        upgradeCapability(key: string, confidence: Confidence): void;
        warn(code: string, message: string, srcByte?: number): void;
    }

    Implemented by

    Index

    Methods

    • Additively OR an annotation move-kind bit onto segments [segStart, segEnd] (DD-016 §4.2). Allow-listed to MoveKind.Wipe | MoveKind.Seam — the ONLY exception to the sink's kind immutability, and additive-only: it never clears an existing Extrude/Travel bit and never reclassifies a move. Non-allow-listed bits are dropped with a warning (bounded failure).

      Parameters

      • segStart: number
      • segEnd: number
      • kindBits: number

      Returns void

    • Parameters

      • objectValue: number
      • name: string

      Returns void

    • Write a FeatureRole index for segments [segStart, segEnd] (bounds validated at apply).

      Parameters

      • segStart: number
      • segEnd: number
      • role: number

      Returns void

    • objectValue is the 1-based object-channel value (DD-001: v indexes ir.objects[v-1]).

      Parameters

      • segStart: number
      • segEnd: number
      • objectValue: number

      Returns void

    • The slicer's own print-time estimate (#183). Prefer the 'normal'/default mode when several.

      Parameters

      Returns void

    • Parameters

      • key: string
      • value: string

      Returns void

    • Enrich a tool's identity (material, '#RRGGBB' color) — merged into ir.tools (DD-005 phase 5).

      Parameters

      • tool: number
      • info: { colorHex?: string; material?: string }

      Returns void

    • Parameters

      • code: string
      • message: string
      • OptionalsrcByte: number

      Returns void