release: version packages (lockstep) - #271
Merged
Merged
Conversation
github-actions
Bot
force-pushed
the
changeset-release/dev
branch
from
August 14, 2026 05:47
b8c5ce2 to
44e2c41
Compare
This was referenced Aug 14, 2026
github-actions
Bot
force-pushed
the
changeset-release/dev
branch
5 times, most recently
from
August 14, 2026 15:28
7dc0c6c to
6ff86d4
Compare
github-actions
Bot
force-pushed
the
changeset-release/dev
branch
from
August 14, 2026 15:28
6ff86d4 to
f84826c
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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-preview-core@0.5.0
Minor Changes
#283
804cafbThanks @sobechestnut-dev! - Adapter surface: capabilities/warnings onready+ declarativeview/cameraState(#275 M3+M6)M3 — the
parse-complete/readyevent now carriescapabilities(the per-field confidencemap) and
warningsalongside{ segments, layers, complete }, so consumers can gate their own UI oncapability-honesty without reaching for the raw handle.
M6 — the
setView/getCameraState/setCameraStatemethods (#268) get first-class declarativeprops on all four adapters: a
viewprop (preset orientation) and acameraStateprop (restore),paired with a new
camera-changedevent (renderer → controller → adapters, emitted when a usercamera interaction settles) so a
cameraStatebinding round-trips. The 2D renderer keeps disclosingvia
renderer-unsupportedrather than fabricating a pose. Behavioral-suite coverage added for thecapabilities/warnings payload across all four adapters.
#270
bb2af7aThanks @sobechestnut-dev! - Preset camera views + serializable camera state (#268)Adds three imperative camera methods, threaded from the renderer through
PreviewRendererand thecontrolshandle into all four adapters:setView(view)— snap to a preset orientation (top/bottom/front/back/left/right/iso),instant, preserving the active projection.
getCameraState()— read the current camera as a serializableCameraState(
{ position, target, zoom, cameraMode }, scene coordinates); a stable contract a dashboard canpersist.
setCameraState(state)— restore a snapshot verbatim (no re-fit to the current model).New public types
CameraViewandCameraState. No new dependency, no IR/schema change, no animation(snapping is instant). The low-resource 2D renderer has no 3D pose, so it honors these as documented
disclosures (
getCameraState()→null;setView/setCameraState→renderer-unsupported) ratherthan fabricating a pose. Covered across all four adapters by the portable behavioral suite.
Patch Changes
804cafb,b671d02,54b54fe,bb2af7a]:@chestnutlabs/gcode-preview-element@0.5.0
Minor Changes
#283
804cafbThanks @sobechestnut-dev! - Adapter surface: capabilities/warnings onready+ declarativeview/cameraState(#275 M3+M6)M3 — the
parse-complete/readyevent now carriescapabilities(the per-field confidencemap) and
warningsalongside{ segments, layers, complete }, so consumers can gate their own UI oncapability-honesty without reaching for the raw handle.
M6 — the
setView/getCameraState/setCameraStatemethods (#268) get first-class declarativeprops on all four adapters: a
viewprop (preset orientation) and acameraStateprop (restore),paired with a new
camera-changedevent (renderer → controller → adapters, emitted when a usercamera interaction settles) so a
cameraStatebinding round-trips. The 2D renderer keeps disclosingvia
renderer-unsupportedrather than fabricating a pose. Behavioral-suite coverage added for thecapabilities/warnings payload across all four adapters.
#270
bb2af7aThanks @sobechestnut-dev! - Preset camera views + serializable camera state (#268)Adds three imperative camera methods, threaded from the renderer through
PreviewRendererand thecontrolshandle into all four adapters:setView(view)— snap to a preset orientation (top/bottom/front/back/left/right/iso),instant, preserving the active projection.
getCameraState()— read the current camera as a serializableCameraState(
{ position, target, zoom, cameraMode }, scene coordinates); a stable contract a dashboard canpersist.
setCameraState(state)— restore a snapshot verbatim (no re-fit to the current model).New public types
CameraViewandCameraState. No new dependency, no IR/schema change, no animation(snapping is instant). The low-resource 2D renderer has no 3D pose, so it honors these as documented
disclosures (
getCameraState()→null;setView/setCameraState→renderer-unsupported) ratherthan fabricating a pose. Covered across all four adapters by the portable behavioral suite.
Patch Changes
#282
54b54feThanks @sobechestnut-dev! - Keyboard-operable camera for embedded viewers (DD-004 a11y) (#275/M4)The embedded adapter canvases had
aria-labelbut notabindex, so they weren't focusable, and therenderer never enabled OrbitControls key events — only the standalone demo page was keyboard-usable.
Now every adapter canvas is focusable (
tabindex="0") and the renderer enables OrbitControls keyboardevents scoped to the canvas (arrow keys pan the view when it's focused, without hijacking the page's
arrow keys). Keyboard operability is satisfied for embedders, not just the demo.
Updated dependencies [
804cafb,b671d02,54b54fe,bb2af7a]:@chestnutlabs/gcode-preview-react@0.5.0
Minor Changes
#283
804cafbThanks @sobechestnut-dev! - Adapter surface: capabilities/warnings onready+ declarativeview/cameraState(#275 M3+M6)M3 — the
parse-complete/readyevent now carriescapabilities(the per-field confidencemap) and
warningsalongside{ segments, layers, complete }, so consumers can gate their own UI oncapability-honesty without reaching for the raw handle.
M6 — the
setView/getCameraState/setCameraStatemethods (#268) get first-class declarativeprops on all four adapters: a
viewprop (preset orientation) and acameraStateprop (restore),paired with a new
camera-changedevent (renderer → controller → adapters, emitted when a usercamera interaction settles) so a
cameraStatebinding round-trips. The 2D renderer keeps disclosingvia
renderer-unsupportedrather than fabricating a pose. Behavioral-suite coverage added for thecapabilities/warnings payload across all four adapters.
#270
bb2af7aThanks @sobechestnut-dev! - Preset camera views + serializable camera state (#268)Adds three imperative camera methods, threaded from the renderer through
PreviewRendererand thecontrolshandle into all four adapters:setView(view)— snap to a preset orientation (top/bottom/front/back/left/right/iso),instant, preserving the active projection.
getCameraState()— read the current camera as a serializableCameraState(
{ position, target, zoom, cameraMode }, scene coordinates); a stable contract a dashboard canpersist.
setCameraState(state)— restore a snapshot verbatim (no re-fit to the current model).New public types
CameraViewandCameraState. No new dependency, no IR/schema change, no animation(snapping is instant). The low-resource 2D renderer has no 3D pose, so it honors these as documented
disclosures (
getCameraState()→null;setView/setCameraState→renderer-unsupported) ratherthan fabricating a pose. Covered across all four adapters by the portable behavioral suite.
Patch Changes
#282
54b54feThanks @sobechestnut-dev! - Keyboard-operable camera for embedded viewers (DD-004 a11y) (#275/M4)The embedded adapter canvases had
aria-labelbut notabindex, so they weren't focusable, and therenderer never enabled OrbitControls key events — only the standalone demo page was keyboard-usable.
Now every adapter canvas is focusable (
tabindex="0") and the renderer enables OrbitControls keyboardevents scoped to the canvas (arrow keys pan the view when it's focused, without hijacking the page's
arrow keys). Keyboard operability is satisfied for embedders, not just the demo.
Updated dependencies [
804cafb,b671d02,54b54fe,bb2af7a]:@chestnutlabs/gcode-preview-svelte@0.5.0
Minor Changes
#283
804cafbThanks @sobechestnut-dev! - Adapter surface: capabilities/warnings onready+ declarativeview/cameraState(#275 M3+M6)M3 — the
parse-complete/readyevent now carriescapabilities(the per-field confidencemap) and
warningsalongside{ segments, layers, complete }, so consumers can gate their own UI oncapability-honesty without reaching for the raw handle.
M6 — the
setView/getCameraState/setCameraStatemethods (#268) get first-class declarativeprops on all four adapters: a
viewprop (preset orientation) and acameraStateprop (restore),paired with a new
camera-changedevent (renderer → controller → adapters, emitted when a usercamera interaction settles) so a
cameraStatebinding round-trips. The 2D renderer keeps disclosingvia
renderer-unsupportedrather than fabricating a pose. Behavioral-suite coverage added for thecapabilities/warnings payload across all four adapters.
#270
bb2af7aThanks @sobechestnut-dev! - Preset camera views + serializable camera state (#268)Adds three imperative camera methods, threaded from the renderer through
PreviewRendererand thecontrolshandle into all four adapters:setView(view)— snap to a preset orientation (top/bottom/front/back/left/right/iso),instant, preserving the active projection.
getCameraState()— read the current camera as a serializableCameraState(
{ position, target, zoom, cameraMode }, scene coordinates); a stable contract a dashboard canpersist.
setCameraState(state)— restore a snapshot verbatim (no re-fit to the current model).New public types
CameraViewandCameraState. No new dependency, no IR/schema change, no animation(snapping is instant). The low-resource 2D renderer has no 3D pose, so it honors these as documented
disclosures (
getCameraState()→null;setView/setCameraState→renderer-unsupported) ratherthan fabricating a pose. Covered across all four adapters by the portable behavioral suite.
Patch Changes
#282
54b54feThanks @sobechestnut-dev! - Keyboard-operable camera for embedded viewers (DD-004 a11y) (#275/M4)The embedded adapter canvases had
aria-labelbut notabindex, so they weren't focusable, and therenderer never enabled OrbitControls key events — only the standalone demo page was keyboard-usable.
Now every adapter canvas is focusable (
tabindex="0") and the renderer enables OrbitControls keyboardevents scoped to the canvas (arrow keys pan the view when it's focused, without hijacking the page's
arrow keys). Keyboard operability is satisfied for embedders, not just the demo.
#281
775598fThanks @sobechestnut-dev! - Fix: SveltebuildVolumeis reactive after mount (parity with Vue/React) (#274)The Svelte shell applied
buildVolumeonce at init with no reactive statement, so changing it aftermount was a silent no-op — a cross-adapter parity break (Vue watches it; React re-applies via
useEffect). It was the only writable prop missing a$:wiring. Now a post-mountbuildVolumechange re-applies through the handle, matching the other twelve props. A source-invariant test guards
that every writable prop stays reactively wired (the shell has no component-mount harness).
Updated dependencies [
804cafb,b671d02,54b54fe,bb2af7a]:@chestnutlabs/gcode-preview-vue@0.5.0
Minor Changes
#283
804cafbThanks @sobechestnut-dev! - Adapter surface: capabilities/warnings onready+ declarativeview/cameraState(#275 M3+M6)M3 — the
parse-complete/readyevent now carriescapabilities(the per-field confidencemap) and
warningsalongside{ segments, layers, complete }, so consumers can gate their own UI oncapability-honesty without reaching for the raw handle.
M6 — the
setView/getCameraState/setCameraStatemethods (#268) get first-class declarativeprops on all four adapters: a
viewprop (preset orientation) and acameraStateprop (restore),paired with a new
camera-changedevent (renderer → controller → adapters, emitted when a usercamera interaction settles) so a
cameraStatebinding round-trips. The 2D renderer keeps disclosingvia
renderer-unsupportedrather than fabricating a pose. Behavioral-suite coverage added for thecapabilities/warnings payload across all four adapters.
#270
bb2af7aThanks @sobechestnut-dev! - Preset camera views + serializable camera state (#268)Adds three imperative camera methods, threaded from the renderer through
PreviewRendererand thecontrolshandle into all four adapters:setView(view)— snap to a preset orientation (top/bottom/front/back/left/right/iso),instant, preserving the active projection.
getCameraState()— read the current camera as a serializableCameraState(
{ position, target, zoom, cameraMode }, scene coordinates); a stable contract a dashboard canpersist.
setCameraState(state)— restore a snapshot verbatim (no re-fit to the current model).New public types
CameraViewandCameraState. No new dependency, no IR/schema change, no animation(snapping is instant). The low-resource 2D renderer has no 3D pose, so it honors these as documented
disclosures (
getCameraState()→null;setView/setCameraState→renderer-unsupported) ratherthan fabricating a pose. Covered across all four adapters by the portable behavioral suite.
Patch Changes
#282
54b54feThanks @sobechestnut-dev! - Keyboard-operable camera for embedded viewers (DD-004 a11y) (#275/M4)The embedded adapter canvases had
aria-labelbut notabindex, so they weren't focusable, and therenderer never enabled OrbitControls key events — only the standalone demo page was keyboard-usable.
Now every adapter canvas is focusable (
tabindex="0") and the renderer enables OrbitControls keyboardevents scoped to the canvas (arrow keys pan the view when it's focused, without hijacking the page's
arrow keys). Keyboard operability is satisfied for embedders, not just the demo.
Updated dependencies [
804cafb,b671d02,54b54fe,bb2af7a]:@chestnutlabs/gcode-renderer-three@0.5.0
Minor Changes
#283
804cafbThanks @sobechestnut-dev! - Adapter surface: capabilities/warnings onready+ declarativeview/cameraState(#275 M3+M6)M3 — the
parse-complete/readyevent now carriescapabilities(the per-field confidencemap) and
warningsalongside{ segments, layers, complete }, so consumers can gate their own UI oncapability-honesty without reaching for the raw handle.
M6 — the
setView/getCameraState/setCameraStatemethods (#268) get first-class declarativeprops on all four adapters: a
viewprop (preset orientation) and acameraStateprop (restore),paired with a new
camera-changedevent (renderer → controller → adapters, emitted when a usercamera interaction settles) so a
cameraStatebinding round-trips. The 2D renderer keeps disclosingvia
renderer-unsupportedrather than fabricating a pose. Behavioral-suite coverage added for thecapabilities/warnings payload across all four adapters.
#270
bb2af7aThanks @sobechestnut-dev! - Preset camera views + serializable camera state (#268)Adds three imperative camera methods, threaded from the renderer through
PreviewRendererand thecontrolshandle into all four adapters:setView(view)— snap to a preset orientation (top/bottom/front/back/left/right/iso),instant, preserving the active projection.
getCameraState()— read the current camera as a serializableCameraState(
{ position, target, zoom, cameraMode }, scene coordinates); a stable contract a dashboard canpersist.
setCameraState(state)— restore a snapshot verbatim (no re-fit to the current model).New public types
CameraViewandCameraState. No new dependency, no IR/schema change, no animation(snapping is instant). The low-resource 2D renderer has no 3D pose, so it honors these as documented
disclosures (
getCameraState()→null;setView/setCameraState→renderer-unsupported) ratherthan fabricating a pose. Covered across all four adapters by the portable behavioral suite.
Patch Changes
#269
b671d02Thanks @sobechestnut-dev! - Camera UX polish: enable OrbitControls affordances already available (#267)Turns on
zoomToCursor(wheel zoom moves toward the pointer, not the orbit target) and derivesminDistance/maxDistanceclamps from the framed model size so the view can't dolly through themodel or lose it at the extremes. Clamps are recomputed in
frame(), so they track each file'sbounds. Internal to
scene.ts— no dependency, no public-API/adapter change; the headlessstill-render path (no OrbitControls) is unaffected.
#282
54b54feThanks @sobechestnut-dev! - Keyboard-operable camera for embedded viewers (DD-004 a11y) (#275/M4)The embedded adapter canvases had
aria-labelbut notabindex, so they weren't focusable, and therenderer never enabled OrbitControls key events — only the standalone demo page was keyboard-usable.
Now every adapter canvas is focusable (
tabindex="0") and the renderer enables OrbitControls keyboardevents scoped to the canvas (arrow keys pan the view when it's focused, without hijacking the page's
arrow keys). Keyboard operability is satisfied for embedders, not just the demo.
Updated dependencies []:
@chestnutlabs/gcode-bgcode@0.5.0
Patch Changes
@chestnutlabs/gcode-colors@0.5.0
Patch Changes
@chestnutlabs/gcode-containers@0.5.0
Patch Changes
@chestnutlabs/gcode-dialects@0.5.0
Patch Changes
@chestnutlabs/gcode-parser@0.5.0
Patch Changes
@chestnutlabs/gcode-renderer-2d@0.5.0
Patch Changes
@chestnutlabs/toolpath-core@0.5.0