Skip to content

release: version packages (lockstep) - #428

Merged
sobechestnut-dev merged 2 commits into
devfrom
changeset-release/dev
Aug 30, 2026
Merged

sobechestnut-dev merged 2 commits into
devfrom
changeset-release/dev

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and publish to npm yourself or setup this action to publish automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to dev, this PR will be updated.

Releases

@chestnutlabs/gcode-model-renderer@0.20.0

Minor Changes

  • #427 b25ddb6 Thanks @sobechestnut-dev! - Make interactive source-model viewing (STL / 3MF) a first-class, declarative half of the SDK —
    the Prepare side alongside the toolpath Preview side — so consumers no longer have to drop to the
    imperative createModelViewer engine to show a model in a framework (DD-031).

    New framework-neutral controller (@chestnutlabs/gcode-model-renderer):

    • createModelPreviewController(options) — the Prepare-side analogue of gcode-preview-core's toolpath
      controller. It wraps the existing createModelViewer engine unchanged and adds what a framework
      binding needs: canvas-deferred construction with bindCanvas (rebuilding on a canvas swap and
      replaying the last source), a reactive getState()/onStateChange() snapshot derived from the
      engine's events (ModelPreviewState: loading/ready/rendererSupported/objectCount/materials/
      instancedCount/decimationApplied/bounds/plates/hasPlates/cameraState/progress/error),
      and an op queue for calls made before the canvas binds. ModelPreviewControls exposes setSource,
      setView, get/setCameraState, setBackground, setInteractionQuality, setRenderScope, frame,
      resize, and capture.
    • A portable model behavioral suite ships via the @chestnutlabs/gcode-model-renderer/testing subpath
      (runModelBehavioralSuite) with controls/state completeness parity guards.

    New /model adapter subpath on every framework — thin shells over the one controller, mirroring
    each framework's toolpath idiom:

    • @chestnutlabs/gcode-preview-react/model — useModelViewer hook + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-vue/model — useModelViewer composable + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-svelte/model — createModelViewer store/action + the raw
      @chestnutlabs/gcode-preview-svelte/model/ModelViewer.svelte component.
    • @chestnutlabs/gcode-preview-element/model (+ /model/define) — the <gcode-model-viewer> custom
      element (tag chosen to avoid the reserved <model-viewer>).

    All additive — the toolpath surface is unchanged, and toolpath-only consumers don't pull the model
    renderer (it lives behind the opt-in /model subpath). Every adapter passes the portable model
    behavioral suite; each package gains @chestnutlabs/gcode-model-renderer as a dependency.

Patch Changes

  • Updated dependencies [718d1bd]:
    • @chestnutlabs/gcode-renderer-three@0.20.0
    • @chestnutlabs/gcode-containers@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-preview-core@0.20.0

Minor Changes

  • #427 8810ba4 Thanks @sobechestnut-dev! - Close the dark-capability gaps so no shipped capability is reachable only through the
    raw.renderer() escape hatch, with full parity across all four framework adapters (DD-031).

    New on the public controller (GcodePreviewControls), so it flows to every adapter's controls:

    • getRenderStats() — the DD-027 render-diagnostics snapshot (backend, GPU, geometry mode, build
      parallelism, timings), previously reachable only on the Three renderer. Returns null on the 2D
      renderer (which produces no GPU/geometry diagnostics — never a fabricated stats object).
    • pickSegment(ndcX, ndcY, threshold?) — source-mapping / segment picking, previously renderer-only.
    • isColorModeAvailable(mode) — the honest per-file color-mode capability gate.

    New capability-aware state (GcodePreviewState): availableColorModes, hasRetractions,
    hasColorChanges — refreshed after each parse, so a UI can offer and explain controls instead of
    guessing (e.g. gray out feature coloring on a file with no feature roles, with a reason).

    Adapter parity:

    • hiddenFeatureRoles is now a declarative prop (Vue/React/Svelte) and a hidden-feature-roles
      attribute (Web Component) — the declarative form of setFeatureRoleVisible (hide Skirt/Brim to
      declutter a part). Gate it on capabilities.featureRoles.
    • capture() is now a top-level method on the Vue/React/Svelte handles too, matching the Web
      Component's element.capture().
    • Web Component: renderer/adjacentLayers gain property accessors; the package now also re-exports
      RendererMode and PreviewRenderer.

    All additive — existing code keeps working unchanged; the 2D renderer honors the widened contract as
    documented no-ops / honest null. The portable behavioral suite is extended (layer-range, color-mode
    gating, diagnostics + picking reachability) and gains a controls-completeness parity guard so a
    capability can no longer ship in core and silently vanish from an adapter.

Patch Changes

  • Updated dependencies [718d1bd]:
    • @chestnutlabs/gcode-renderer-three@0.20.0
    • @chestnutlabs/gcode-parser@0.20.0
    • @chestnutlabs/gcode-renderer-2d@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-preview-element@0.20.0

Minor Changes

  • #427 8810ba4 Thanks @sobechestnut-dev! - Close the dark-capability gaps so no shipped capability is reachable only through the
    raw.renderer() escape hatch, with full parity across all four framework adapters (DD-031).

    New on the public controller (GcodePreviewControls), so it flows to every adapter's controls:

    • getRenderStats() — the DD-027 render-diagnostics snapshot (backend, GPU, geometry mode, build
      parallelism, timings), previously reachable only on the Three renderer. Returns null on the 2D
      renderer (which produces no GPU/geometry diagnostics — never a fabricated stats object).
    • pickSegment(ndcX, ndcY, threshold?) — source-mapping / segment picking, previously renderer-only.
    • isColorModeAvailable(mode) — the honest per-file color-mode capability gate.

    New capability-aware state (GcodePreviewState): availableColorModes, hasRetractions,
    hasColorChanges — refreshed after each parse, so a UI can offer and explain controls instead of
    guessing (e.g. gray out feature coloring on a file with no feature roles, with a reason).

    Adapter parity:

    • hiddenFeatureRoles is now a declarative prop (Vue/React/Svelte) and a hidden-feature-roles
      attribute (Web Component) — the declarative form of setFeatureRoleVisible (hide Skirt/Brim to
      declutter a part). Gate it on capabilities.featureRoles.
    • capture() is now a top-level method on the Vue/React/Svelte handles too, matching the Web
      Component's element.capture().
    • Web Component: renderer/adjacentLayers gain property accessors; the package now also re-exports
      RendererMode and PreviewRenderer.

    All additive — existing code keeps working unchanged; the 2D renderer honors the widened contract as
    documented no-ops / honest null. The portable behavioral suite is extended (layer-range, color-mode
    gating, diagnostics + picking reachability) and gains a controls-completeness parity guard so a
    capability can no longer ship in core and silently vanish from an adapter.

  • #427 b25ddb6 Thanks @sobechestnut-dev! - Make interactive source-model viewing (STL / 3MF) a first-class, declarative half of the SDK —
    the Prepare side alongside the toolpath Preview side — so consumers no longer have to drop to the
    imperative createModelViewer engine to show a model in a framework (DD-031).

    New framework-neutral controller (@chestnutlabs/gcode-model-renderer):

    • createModelPreviewController(options) — the Prepare-side analogue of gcode-preview-core's toolpath
      controller. It wraps the existing createModelViewer engine unchanged and adds what a framework
      binding needs: canvas-deferred construction with bindCanvas (rebuilding on a canvas swap and
      replaying the last source), a reactive getState()/onStateChange() snapshot derived from the
      engine's events (ModelPreviewState: loading/ready/rendererSupported/objectCount/materials/
      instancedCount/decimationApplied/bounds/plates/hasPlates/cameraState/progress/error),
      and an op queue for calls made before the canvas binds. ModelPreviewControls exposes setSource,
      setView, get/setCameraState, setBackground, setInteractionQuality, setRenderScope, frame,
      resize, and capture.
    • A portable model behavioral suite ships via the @chestnutlabs/gcode-model-renderer/testing subpath
      (runModelBehavioralSuite) with controls/state completeness parity guards.

    New /model adapter subpath on every framework — thin shells over the one controller, mirroring
    each framework's toolpath idiom:

    • @chestnutlabs/gcode-preview-react/model — useModelViewer hook + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-vue/model — useModelViewer composable + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-svelte/model — createModelViewer store/action + the raw
      @chestnutlabs/gcode-preview-svelte/model/ModelViewer.svelte component.
    • @chestnutlabs/gcode-preview-element/model (+ /model/define) — the <gcode-model-viewer> custom
      element (tag chosen to avoid the reserved <model-viewer>).

    All additive — the toolpath surface is unchanged, and toolpath-only consumers don't pull the model
    renderer (it lives behind the opt-in /model subpath). Every adapter passes the portable model
    behavioral suite; each package gains @chestnutlabs/gcode-model-renderer as a dependency.

Patch Changes

  • Updated dependencies [718d1bd, 8810ba4, b25ddb6]:
    • @chestnutlabs/gcode-renderer-three@0.20.0
    • @chestnutlabs/gcode-preview-core@0.20.0
    • @chestnutlabs/gcode-model-renderer@0.20.0
    • @chestnutlabs/gcode-parser@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-preview-react@0.20.0

Minor Changes

  • #427 8810ba4 Thanks @sobechestnut-dev! - Close the dark-capability gaps so no shipped capability is reachable only through the
    raw.renderer() escape hatch, with full parity across all four framework adapters (DD-031).

    New on the public controller (GcodePreviewControls), so it flows to every adapter's controls:

    • getRenderStats() — the DD-027 render-diagnostics snapshot (backend, GPU, geometry mode, build
      parallelism, timings), previously reachable only on the Three renderer. Returns null on the 2D
      renderer (which produces no GPU/geometry diagnostics — never a fabricated stats object).
    • pickSegment(ndcX, ndcY, threshold?) — source-mapping / segment picking, previously renderer-only.
    • isColorModeAvailable(mode) — the honest per-file color-mode capability gate.

    New capability-aware state (GcodePreviewState): availableColorModes, hasRetractions,
    hasColorChanges — refreshed after each parse, so a UI can offer and explain controls instead of
    guessing (e.g. gray out feature coloring on a file with no feature roles, with a reason).

    Adapter parity:

    • hiddenFeatureRoles is now a declarative prop (Vue/React/Svelte) and a hidden-feature-roles
      attribute (Web Component) — the declarative form of setFeatureRoleVisible (hide Skirt/Brim to
      declutter a part). Gate it on capabilities.featureRoles.
    • capture() is now a top-level method on the Vue/React/Svelte handles too, matching the Web
      Component's element.capture().
    • Web Component: renderer/adjacentLayers gain property accessors; the package now also re-exports
      RendererMode and PreviewRenderer.

    All additive — existing code keeps working unchanged; the 2D renderer honors the widened contract as
    documented no-ops / honest null. The portable behavioral suite is extended (layer-range, color-mode
    gating, diagnostics + picking reachability) and gains a controls-completeness parity guard so a
    capability can no longer ship in core and silently vanish from an adapter.

  • #427 b25ddb6 Thanks @sobechestnut-dev! - Make interactive source-model viewing (STL / 3MF) a first-class, declarative half of the SDK —
    the Prepare side alongside the toolpath Preview side — so consumers no longer have to drop to the
    imperative createModelViewer engine to show a model in a framework (DD-031).

    New framework-neutral controller (@chestnutlabs/gcode-model-renderer):

    • createModelPreviewController(options) — the Prepare-side analogue of gcode-preview-core's toolpath
      controller. It wraps the existing createModelViewer engine unchanged and adds what a framework
      binding needs: canvas-deferred construction with bindCanvas (rebuilding on a canvas swap and
      replaying the last source), a reactive getState()/onStateChange() snapshot derived from the
      engine's events (ModelPreviewState: loading/ready/rendererSupported/objectCount/materials/
      instancedCount/decimationApplied/bounds/plates/hasPlates/cameraState/progress/error),
      and an op queue for calls made before the canvas binds. ModelPreviewControls exposes setSource,
      setView, get/setCameraState, setBackground, setInteractionQuality, setRenderScope, frame,
      resize, and capture.
    • A portable model behavioral suite ships via the @chestnutlabs/gcode-model-renderer/testing subpath
      (runModelBehavioralSuite) with controls/state completeness parity guards.

    New /model adapter subpath on every framework — thin shells over the one controller, mirroring
    each framework's toolpath idiom:

    • @chestnutlabs/gcode-preview-react/model — useModelViewer hook + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-vue/model — useModelViewer composable + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-svelte/model — createModelViewer store/action + the raw
      @chestnutlabs/gcode-preview-svelte/model/ModelViewer.svelte component.
    • @chestnutlabs/gcode-preview-element/model (+ /model/define) — the <gcode-model-viewer> custom
      element (tag chosen to avoid the reserved <model-viewer>).

    All additive — the toolpath surface is unchanged, and toolpath-only consumers don't pull the model
    renderer (it lives behind the opt-in /model subpath). Every adapter passes the portable model
    behavioral suite; each package gains @chestnutlabs/gcode-model-renderer as a dependency.

Patch Changes

  • Updated dependencies [718d1bd, 8810ba4, b25ddb6]:
    • @chestnutlabs/gcode-renderer-three@0.20.0
    • @chestnutlabs/gcode-preview-core@0.20.0
    • @chestnutlabs/gcode-model-renderer@0.20.0
    • @chestnutlabs/gcode-parser@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-preview-svelte@0.20.0

Minor Changes

  • #427 8810ba4 Thanks @sobechestnut-dev! - Close the dark-capability gaps so no shipped capability is reachable only through the
    raw.renderer() escape hatch, with full parity across all four framework adapters (DD-031).

    New on the public controller (GcodePreviewControls), so it flows to every adapter's controls:

    • getRenderStats() — the DD-027 render-diagnostics snapshot (backend, GPU, geometry mode, build
      parallelism, timings), previously reachable only on the Three renderer. Returns null on the 2D
      renderer (which produces no GPU/geometry diagnostics — never a fabricated stats object).
    • pickSegment(ndcX, ndcY, threshold?) — source-mapping / segment picking, previously renderer-only.
    • isColorModeAvailable(mode) — the honest per-file color-mode capability gate.

    New capability-aware state (GcodePreviewState): availableColorModes, hasRetractions,
    hasColorChanges — refreshed after each parse, so a UI can offer and explain controls instead of
    guessing (e.g. gray out feature coloring on a file with no feature roles, with a reason).

    Adapter parity:

    • hiddenFeatureRoles is now a declarative prop (Vue/React/Svelte) and a hidden-feature-roles
      attribute (Web Component) — the declarative form of setFeatureRoleVisible (hide Skirt/Brim to
      declutter a part). Gate it on capabilities.featureRoles.
    • capture() is now a top-level method on the Vue/React/Svelte handles too, matching the Web
      Component's element.capture().
    • Web Component: renderer/adjacentLayers gain property accessors; the package now also re-exports
      RendererMode and PreviewRenderer.

    All additive — existing code keeps working unchanged; the 2D renderer honors the widened contract as
    documented no-ops / honest null. The portable behavioral suite is extended (layer-range, color-mode
    gating, diagnostics + picking reachability) and gains a controls-completeness parity guard so a
    capability can no longer ship in core and silently vanish from an adapter.

  • #427 b25ddb6 Thanks @sobechestnut-dev! - Make interactive source-model viewing (STL / 3MF) a first-class, declarative half of the SDK —
    the Prepare side alongside the toolpath Preview side — so consumers no longer have to drop to the
    imperative createModelViewer engine to show a model in a framework (DD-031).

    New framework-neutral controller (@chestnutlabs/gcode-model-renderer):

    • createModelPreviewController(options) — the Prepare-side analogue of gcode-preview-core's toolpath
      controller. It wraps the existing createModelViewer engine unchanged and adds what a framework
      binding needs: canvas-deferred construction with bindCanvas (rebuilding on a canvas swap and
      replaying the last source), a reactive getState()/onStateChange() snapshot derived from the
      engine's events (ModelPreviewState: loading/ready/rendererSupported/objectCount/materials/
      instancedCount/decimationApplied/bounds/plates/hasPlates/cameraState/progress/error),
      and an op queue for calls made before the canvas binds. ModelPreviewControls exposes setSource,
      setView, get/setCameraState, setBackground, setInteractionQuality, setRenderScope, frame,
      resize, and capture.
    • A portable model behavioral suite ships via the @chestnutlabs/gcode-model-renderer/testing subpath
      (runModelBehavioralSuite) with controls/state completeness parity guards.

    New /model adapter subpath on every framework — thin shells over the one controller, mirroring
    each framework's toolpath idiom:

    • @chestnutlabs/gcode-preview-react/model — useModelViewer hook + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-vue/model — useModelViewer composable + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-svelte/model — createModelViewer store/action + the raw
      @chestnutlabs/gcode-preview-svelte/model/ModelViewer.svelte component.
    • @chestnutlabs/gcode-preview-element/model (+ /model/define) — the <gcode-model-viewer> custom
      element (tag chosen to avoid the reserved <model-viewer>).

    All additive — the toolpath surface is unchanged, and toolpath-only consumers don't pull the model
    renderer (it lives behind the opt-in /model subpath). Every adapter passes the portable model
    behavioral suite; each package gains @chestnutlabs/gcode-model-renderer as a dependency.

Patch Changes

  • Updated dependencies [718d1bd, 8810ba4, b25ddb6]:
    • @chestnutlabs/gcode-renderer-three@0.20.0
    • @chestnutlabs/gcode-preview-core@0.20.0
    • @chestnutlabs/gcode-model-renderer@0.20.0
    • @chestnutlabs/gcode-parser@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-preview-vue@0.20.0

Minor Changes

  • #427 8810ba4 Thanks @sobechestnut-dev! - Close the dark-capability gaps so no shipped capability is reachable only through the
    raw.renderer() escape hatch, with full parity across all four framework adapters (DD-031).

    New on the public controller (GcodePreviewControls), so it flows to every adapter's controls:

    • getRenderStats() — the DD-027 render-diagnostics snapshot (backend, GPU, geometry mode, build
      parallelism, timings), previously reachable only on the Three renderer. Returns null on the 2D
      renderer (which produces no GPU/geometry diagnostics — never a fabricated stats object).
    • pickSegment(ndcX, ndcY, threshold?) — source-mapping / segment picking, previously renderer-only.
    • isColorModeAvailable(mode) — the honest per-file color-mode capability gate.

    New capability-aware state (GcodePreviewState): availableColorModes, hasRetractions,
    hasColorChanges — refreshed after each parse, so a UI can offer and explain controls instead of
    guessing (e.g. gray out feature coloring on a file with no feature roles, with a reason).

    Adapter parity:

    • hiddenFeatureRoles is now a declarative prop (Vue/React/Svelte) and a hidden-feature-roles
      attribute (Web Component) — the declarative form of setFeatureRoleVisible (hide Skirt/Brim to
      declutter a part). Gate it on capabilities.featureRoles.
    • capture() is now a top-level method on the Vue/React/Svelte handles too, matching the Web
      Component's element.capture().
    • Web Component: renderer/adjacentLayers gain property accessors; the package now also re-exports
      RendererMode and PreviewRenderer.

    All additive — existing code keeps working unchanged; the 2D renderer honors the widened contract as
    documented no-ops / honest null. The portable behavioral suite is extended (layer-range, color-mode
    gating, diagnostics + picking reachability) and gains a controls-completeness parity guard so a
    capability can no longer ship in core and silently vanish from an adapter.

  • #427 b25ddb6 Thanks @sobechestnut-dev! - Make interactive source-model viewing (STL / 3MF) a first-class, declarative half of the SDK —
    the Prepare side alongside the toolpath Preview side — so consumers no longer have to drop to the
    imperative createModelViewer engine to show a model in a framework (DD-031).

    New framework-neutral controller (@chestnutlabs/gcode-model-renderer):

    • createModelPreviewController(options) — the Prepare-side analogue of gcode-preview-core's toolpath
      controller. It wraps the existing createModelViewer engine unchanged and adds what a framework
      binding needs: canvas-deferred construction with bindCanvas (rebuilding on a canvas swap and
      replaying the last source), a reactive getState()/onStateChange() snapshot derived from the
      engine's events (ModelPreviewState: loading/ready/rendererSupported/objectCount/materials/
      instancedCount/decimationApplied/bounds/plates/hasPlates/cameraState/progress/error),
      and an op queue for calls made before the canvas binds. ModelPreviewControls exposes setSource,
      setView, get/setCameraState, setBackground, setInteractionQuality, setRenderScope, frame,
      resize, and capture.
    • A portable model behavioral suite ships via the @chestnutlabs/gcode-model-renderer/testing subpath
      (runModelBehavioralSuite) with controls/state completeness parity guards.

    New /model adapter subpath on every framework — thin shells over the one controller, mirroring
    each framework's toolpath idiom:

    • @chestnutlabs/gcode-preview-react/model — useModelViewer hook + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-vue/model — useModelViewer composable + <ModelViewer> component.
    • @chestnutlabs/gcode-preview-svelte/model — createModelViewer store/action + the raw
      @chestnutlabs/gcode-preview-svelte/model/ModelViewer.svelte component.
    • @chestnutlabs/gcode-preview-element/model (+ /model/define) — the <gcode-model-viewer> custom
      element (tag chosen to avoid the reserved <model-viewer>).

    All additive — the toolpath surface is unchanged, and toolpath-only consumers don't pull the model
    renderer (it lives behind the opt-in /model subpath). Every adapter passes the portable model
    behavioral suite; each package gains @chestnutlabs/gcode-model-renderer as a dependency.

Patch Changes

  • Updated dependencies [718d1bd, 8810ba4, b25ddb6]:
    • @chestnutlabs/gcode-renderer-three@0.20.0
    • @chestnutlabs/gcode-preview-core@0.20.0
    • @chestnutlabs/gcode-model-renderer@0.20.0
    • @chestnutlabs/gcode-parser@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-renderer-three@0.20.0

Minor Changes

  • #427 718d1bd Thanks @sobechestnut-dev! - CaptureOptions gains includeBuildVolume?: boolean (default true). Set it to false to exclude
    the whole build-volume group (grid + bed surface + origin + cage) from the off-screen capture render
    only — so capture({ background: 'transparent', includeBuildVolume: false }) produces a clean
    toolpath-only cutout, matching ModelRenderer thumbnails. The live view is untouched (visibility is
    restored synchronously, no intermediate frame is painted). The option flows through
    GcodePreviewControls.capture to every adapter; it is a no-op where there is no build volume
    (ModelViewer) or no capture (the 2D renderer).

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/gcode-colors@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-bgcode@0.20.0

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/gcode-containers@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-colors@0.20.0

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-containers@0.20.0

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-dialects@0.20.0

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-parser@0.20.0

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/gcode-bgcode@0.20.0
    • @chestnutlabs/gcode-containers@0.20.0
    • @chestnutlabs/gcode-dialects@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/gcode-renderer-2d@0.20.0

Patch Changes

  • Updated dependencies []:
    • @chestnutlabs/gcode-colors@0.20.0
    • @chestnutlabs/toolpath-core@0.20.0

@chestnutlabs/toolpath-core@0.20.0

- docs/README "Current state" leads with v0.20.0 (source-model viewing as a
  first-class declarative half of the SDK + toolpath dark-capability closure +
  Feature Lab + two-tier examples, DD-031); v0.19.0 demoted to Prior. Release-history
  line appended.
- RELEASE_REVIEW.md: all seven changed packages reviewed; Product/Docs/Visual markers
  resolved, with reconciliation notes (incl. the deferred app-UI media + the two-surface
  parity coverage). RELEASE_NOTES_DRAFT.md folded in and removed.

docs:release-check PASS.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sobechestnut-dev
sobechestnut-dev merged commit c6b819c into dev Aug 30, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant