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

    Module @chestnutlabs/toolpath-core

    @chestnutlabs/toolpath-core

    Neutral ToolpathIR and capability model for the Chestnut Labs G-code Preview toolpath stack. This is the replacement seam for the whole stack: the parser writes it, renderers and analyzers read it. See docs/design/DD-001.

    Design rules

    • The canonical IR is plain, transferable data — a small header plus structure-of-arrays typed buffers (not object graphs). Positions are Float32 deltas relative to a Float64 originOffset (floating origin, DD-001 §4.6).
    • Unknown is a valid state. Optional/derived data carries a Confidence (known | inferred | approximated | unavailable); missing values are sentinels (NaN, 0), never fabricated data.
    • This package depends on nothing — no three, DOM, Vue, or AnyBridge (DD-002 boundary).

    Contents (scaffold)

    • ir.tsToolpathIR, header, segments (SoA), layers/tools/objects, capabilities, MoveKind, FeatureRole, IR_SCHEMA_VERSION.
    • builder.tsToolpathIRBuilder (accumulate segments → canonical typed-array IR).
    • source-index.tsbuildSourceIndex / segmentAtByte (byte offset → segment; live-progress input).
    • bounds.ts — extrude-only and travel-inclusive bounds.
    npm run build      -w @chestnutlabs/toolpath-core   # tsc -> dist
    npm run typecheck -w @chestnutlabs/toolpath-core
    npm test -w @chestnutlabs/toolpath-core

    Status: scaffold (E1, issue #32). The builder accumulates into number arrays and converts to typed arrays in finalize(); E2's worker parser will write directly into growable typed buffers. Package extraction/publish is gated by DD-002 §7 and the release DD (E7/DD-008).

    Classes

    ToolpathIRBuilder

    Interfaces

    BuilderOptions
    ColorChangeEvent
    DialectDecision
    DialectDetection
    DialectMetadata
    FilamentInfo
    MachineGeometry
    MappedProgress
    ObjectInfo
    Point2
    ProgressFileIdentity
    ProgressMapper
    ProgressMapperOptions
    ProgressNote
    ProgressObservation
    ProgressPosition
    Region2
    RetractionEvent
    RGBA
    SegmentInput
    SourceIndex
    ThumbnailData
    ToolInfo
    ToolpathBounds
    ToolpathIR
    ToolpathIRHeader
    ToolpathLayer
    ToolpathSegments
    Vec3
    Warning

    Type Aliases

    Confidence
    FeatureRoleName
    MoveKindName
    ProgressBasis
    ProgressJobState
    ProgressPercentBasis
    Severity
    Units

    Variables

    DEFAULT_STALE_AFTER_MS
    FeatureRole
    IR_SCHEMA_VERSION
    MAX_PROGRESS_NOTES
    MoveKind
    PROGRESS_OBSERVATION_VERSION

    Functions

    buildSourceIndex
    computeSegmentBounds
    createProgressMapper
    emptyBounds
    segmentAtByte