diff --git a/.changeset/feature-role-visibility.md b/.changeset/feature-role-visibility.md deleted file mode 100644 index 044f4983..00000000 --- a/.changeset/feature-role-visibility.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -"@chestnutlabs/gcode-renderer-three": minor -"@chestnutlabs/gcode-preview-core": minor -"@chestnutlabs/toolpath-core": minor ---- - -feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role - -Toggle a `FeatureRole` on or off — e.g. hide `Skirt`/`Brim` to declutter a part preview, or isolate -`Support`. Feature roles live per-segment inside the extrusion geometry (unlike the whole-chunk move-kind -toggle), so hidden segments are collapsed to NaN positions and the GPU discards them; showing the role -again restores the geometry byte-for-byte. Available on `ToolpathRenderer` and via -`GcodePreviewControls.setFeatureRoleVisible` (a no-op on the 2D renderer). Additive and capability-gated: -gate the UI on `capabilities.featureRoles === 'known'`, like the feature colour mode; untouched geometry -(no role hidden) is byte-identical. Also exports `FeatureRoleValue` from `@chestnutlabs/toolpath-core`. diff --git a/README.md b/README.md index 189ddf27..2c650ed7 100644 --- a/README.md +++ b/README.md @@ -451,7 +451,7 @@ row inspects the *toolpath*, the bottom row presents the *source model* (see Design rationale, boundaries, and the accepted architecture live in [`docs/design/`](docs/design); the [docs index](docs/README.md) maps the whole set. Fourteen -packages publish to npm in lockstep (currently **v0.18.0**) with npm provenance. +packages publish to npm in lockstep (currently **v0.19.0**) with npm provenance. ## Development diff --git a/RELEASE_NOTES_DRAFT.md b/RELEASE_NOTES_DRAFT.md new file mode 100644 index 00000000..954b5fc0 --- /dev/null +++ b/RELEASE_NOTES_DRAFT.md @@ -0,0 +1,28 @@ +# Release notes draft — v0.19.0 + +> Auto-generated by `tools/release/stamp-release-docs.mjs` from this release's package +> CHANGELOGs. **Review and rewrite into prose**, fold it into the two curated surfaces in +> `docs/README.md`, then DELETE this file. The release gate (`npm run docs:release-check`) +> blocks promotion to `main` until this file is gone and those surfaces name v0.19.0. + +## 1. Update the "Current state" block (docs/README.md) +Lead it with the new version, e.g.: + +`## Current state (updated — **v0.19.0 shipped to npm** (14 lockstep pkgs): . Prior: **v** …)` + +## 2. Add the release-history line (docs/README.md, the "publishing from tagged … Releases (…)" list) +Append: `` `v0.19.0` `` + +## Proposed points (deduped from this release's changelogs) +- [#423](https://github.com/ChestnutLabs/gcode-preview/pull/423) [`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455) Thanks [@sobechestnut-dev](https://github.com/sobechestnut-dev)! - feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role + +## Packages changed this release +- @chestnutlabs/gcode-preview-core +- @chestnutlabs/gcode-renderer-three +- @chestnutlabs/toolpath-core + +## Before you cut the tag — public-docs completion check (CLAUDE.md) +- [ ] Root README still accurate for any new user-visible capability? +- [ ] Package README / user guide updated where behavior changed? +- [ ] Any existing screenshot now misrepresents the software? (regenerate via tools/screenshots/) +- [ ] Quick-start / example code still shows the recommended API? diff --git a/RELEASE_REVIEW.md b/RELEASE_REVIEW.md index 28afb607..3ebbce7c 100644 --- a/RELEASE_REVIEW.md +++ b/RELEASE_REVIEW.md @@ -12,10 +12,10 @@ parses them literally. Delete rows only for packages that did not change. --> -# Release review — v0.18.0 +# Release review — v0.19.0 -**Review version:** v0.18.0 -**Changed-capability inventory diffed against:** `v0.17.0` +**Review version:** v0.19.0 +**Changed-capability inventory diffed against:** `v0.18.0` This artifact records the per-release **Public Product + Documentation + Visual** reconciliation: before the `dev` -> `main` promotion, compare the changed capabilities below against the README, @@ -24,30 +24,21 @@ the coverage matrix ([`docs/VISUAL_FEATURE_COVERAGE.md`](docs/VISUAL_FEATURE_COV each disposition. Guidance: CLAUDE.md "Public-docs completion check" and [`docs/reference/release-process.md`](docs/reference/release-process.md). -> **This review (documentation-systematization pass).** v0.18.0 was already published to npm; this -> pass reconciled its public surface retroactively and stood up the enforcement machinery. The two -> shipped feature arcs — DD-017 RS274NGC parametric programs (parser) and DD-030 renderer/viewer -> interop (non-rectangular bed, per-plate render scope, `capture() → Blob`) — are covered by the -> manual (`concept-parametric-programs.md`, `concept-ir-capabilities.md`, `adapters.md`) and the -> package CHANGELOGs. No user-facing surface misrepresents the shipped build. - ## Changed packages (`src/` since the previous release) | Package | Changed src files | Changelog summary | Disposition | |---|--:|---|---| -| `@chestnutlabs/gcode-model-renderer` | 5 | feat(renderer): interactive view capture() → Blob + per-plate render scope + non-rect bed (DD-030) | Status: reviewed | -| `@chestnutlabs/gcode-parser` | 6 | feat(parser): RS274NGC parameters + expressions + O-word flow + subroutines (DD-017 P1–3) | Status: reviewed | -| `@chestnutlabs/gcode-preview-core` | 3 | feat: capture()/render-scope plumbed through GcodePreviewControls + staged progress (DD-030) | Status: reviewed | -| `@chestnutlabs/gcode-preview-element` | 1 | feat: Web Component inherits imperative capture() (DD-030 D1) | Status: reviewed | -| `@chestnutlabs/gcode-renderer-three` | 8 | feat(renderer): non-rectangular build-bed geometry + frameBounds precedence (DD-030 D3) | Status: reviewed | +| `@chestnutlabs/gcode-preview-core` | 2 | feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role | Status: pending | +| `@chestnutlabs/gcode-renderer-three` | 2 | feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role | Status: pending | +| `@chestnutlabs/toolpath-core` | 1 | feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role | Status: pending | Set each **Disposition** to one of `Status: reviewed` / `Status: no-change-needed` / `Status: not-applicable` (never `Status: pending`). ## Global dispositions -- **Product review:** resolved — README, Pages homepage, and the DD-017/DD-030 capability descriptions accurately describe the v0.18.0 product; no fabricated capability or validation claim. -- **Docs review:** resolved — the manual (parametric-programs + IR-capabilities + adapters), package READMEs, and quick-start match the shipped API; the parametric-programs concept page is now registered in Pages nav and link-checked. -- **Visual review:** resolved — DD-017 is a parser/semantic capability (no new on-screen surface beyond parsed geometry, disclosed via capabilities); DD-030's non-rect bed / per-plate scope / capture map to existing renderer imagery, tracked in `docs/VISUAL_FEATURE_COVERAGE.md`. No changed capability is left visually undocumented without a matrix entry. +- **Product review:** pending — README / Pages homepage / feature gallery still describe the product accurately for this release. +- **Docs review:** pending — manual, package READMEs, examples, and quick-start match the shipped API. +- **Visual review:** pending — every changed user-facing capability is visually documented, or the coverage matrix records why not. _Resolve each marker above by replacing `pending` with `resolved` once reconciled._ diff --git a/docs/README.md b/docs/README.md index 7409390a..57007bf0 100644 --- a/docs/README.md +++ b/docs/README.md @@ -67,7 +67,7 @@ golden/native fixtures + manifest with CI validation, boundary lint, license CI consumer smoke harnesses, plus the five framework adapters (`gcode-preview-core`/`-vue`/`-react`/ `-svelte`/`-element`) and the presentation renderer (`gcode-model-renderer`). CI (`build`) is a required check on `main`/`dev`. **All fourteen `@chestnutlabs/*` packages are published to npm at -`v0.18.0`** (lockstep, npm provenance); `main` is the release branch, publishing from tagged GitHub +`v0.19.0`** (lockstep, npm provenance); `main` is the release branch, publishing from tagged GitHub Releases (`v0.1.0` E7/DD-008, `v0.2.0` E9/DD-009, `v0.3.0` E8/#188, `v0.4.0` #189 non-extrusion, `v0.5.x` hardening #279, `v0.6.0`/`v0.7.0` ModelRenderer + toolpath batch #296/#306, `v0.8.1` 3MF `paint_color` multicolor decode, `v0.9.0` interactive `createModelViewer` #296/DD-021, `v0.10.0` diff --git a/docs/manual/index.md b/docs/manual/index.md index 563a2147..df3ec600 100644 --- a/docs/manual/index.md +++ b/docs/manual/index.md @@ -107,6 +107,6 @@ viewer is reachable without switching APIs. [Parametric programs (RS274NGC)](concept-parametric-programs.md). - **API reference** — pick a package in the sidebar (`toolpath-core`, `gcode-parser`, …). -> **Status:** published — all fourteen `@chestnutlabs/*` packages are on npm (latest `v0.18.0`, +> **Status:** published — all fourteen `@chestnutlabs/*` packages are on npm (latest `v0.19.0`, > lockstep-versioned with provenance). Governance and epic status live in the > [repository docs](https://github.com/ChestnutLabs/gcode-preview/tree/dev/docs). diff --git a/package-lock.json b/package-lock.json index ad9c304f..0b076d7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7389,11 +7389,11 @@ }, "packages/gcode-bgcode": { "name": "@chestnutlabs/gcode-bgcode", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-containers": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-containers": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7401,10 +7401,10 @@ }, "packages/gcode-colors": { "name": "@chestnutlabs/gcode-colors", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7412,10 +7412,10 @@ }, "packages/gcode-containers": { "name": "@chestnutlabs/gcode-containers", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7423,10 +7423,10 @@ }, "packages/gcode-dialects": { "name": "@chestnutlabs/gcode-dialects", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7434,12 +7434,12 @@ }, "packages/gcode-model-renderer": { "name": "@chestnutlabs/gcode-model-renderer", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-containers": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-containers": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "@types/three": "0.178.0" @@ -7453,13 +7453,13 @@ }, "packages/gcode-parser": { "name": "@chestnutlabs/gcode-parser", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-bgcode": "0.18.0", - "@chestnutlabs/gcode-containers": "0.18.0", - "@chestnutlabs/gcode-dialects": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-bgcode": "0.19.0", + "@chestnutlabs/gcode-containers": "0.19.0", + "@chestnutlabs/gcode-dialects": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7467,13 +7467,13 @@ }, "packages/gcode-preview-core": { "name": "@chestnutlabs/gcode-preview-core", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-renderer-2d": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-renderer-2d": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7481,13 +7481,13 @@ }, "packages/gcode-preview-element": { "name": "@chestnutlabs/gcode-preview-element", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7495,13 +7495,13 @@ }, "packages/gcode-preview-react": { "name": "@chestnutlabs/gcode-preview-react", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "@types/react": "^18.3.0", @@ -7517,13 +7517,13 @@ }, "packages/gcode-preview-svelte": { "name": "@chestnutlabs/gcode-preview-svelte", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "svelte": "^4.2.0" @@ -7537,13 +7537,13 @@ }, "packages/gcode-preview-vue": { "name": "@chestnutlabs/gcode-preview-vue", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "vue": "^3.4.0" @@ -7557,11 +7557,11 @@ }, "packages/gcode-renderer-2d": { "name": "@chestnutlabs/gcode-renderer-2d", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-colors": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-colors": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "engines": { "node": ">=22" @@ -7569,11 +7569,11 @@ }, "packages/gcode-renderer-three": { "name": "@chestnutlabs/gcode-renderer-three", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "dependencies": { - "@chestnutlabs/gcode-colors": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-colors": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "@types/three": "0.178.0" @@ -7587,7 +7587,7 @@ }, "packages/toolpath-core": { "name": "@chestnutlabs/toolpath-core", - "version": "0.18.0", + "version": "0.19.0", "license": "MIT", "engines": { "node": ">=22" diff --git a/packages/gcode-bgcode/CHANGELOG.md b/packages/gcode-bgcode/CHANGELOG.md index af1c11f5..1b52b049 100644 --- a/packages/gcode-bgcode/CHANGELOG.md +++ b/packages/gcode-bgcode/CHANGELOG.md @@ -1,5 +1,13 @@ # @chestnutlabs/gcode-bgcode +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-containers@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-bgcode/package.json b/packages/gcode-bgcode/package.json index 2b6dd74c..f70e47d9 100644 --- a/packages/gcode-bgcode/package.json +++ b/packages/gcode-bgcode/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-bgcode", - "version": "0.18.0", + "version": "0.19.0", "description": "Binary G-code (.bgcode) decode adapter for the Chestnut Labs G-code toolpath stack (DD-011): a license-clean, in-memory block walker that decodes Prusa .bgcode to plain G-code for the existing parser/dialect/renderer pipeline. Decode-only.", "keywords": [ "gcode", @@ -47,7 +47,7 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0", - "@chestnutlabs/gcode-containers": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0", + "@chestnutlabs/gcode-containers": "0.19.0" } } diff --git a/packages/gcode-colors/CHANGELOG.md b/packages/gcode-colors/CHANGELOG.md index fe63fb2e..00030f07 100644 --- a/packages/gcode-colors/CHANGELOG.md +++ b/packages/gcode-colors/CHANGELOG.md @@ -1,5 +1,12 @@ # @chestnutlabs/gcode-colors +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-colors/package.json b/packages/gcode-colors/package.json index aa9e8c07..7b9ad81c 100644 --- a/packages/gcode-colors/package.json +++ b/packages/gcode-colors/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-colors", - "version": "0.18.0", + "version": "0.19.0", "description": "Renderer-agnostic per-segment color model for the Chestnut Labs G-code toolpath stack (DD-014 D3): the ColorMode union and honest, capability-gated segment coloring over ToolpathIR channels, shared by the 3D and 2D renderers.", "keywords": [ "gcode", @@ -47,6 +47,6 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0" } } diff --git a/packages/gcode-containers/CHANGELOG.md b/packages/gcode-containers/CHANGELOG.md index 2c63739e..e09799dd 100644 --- a/packages/gcode-containers/CHANGELOG.md +++ b/packages/gcode-containers/CHANGELOG.md @@ -1,5 +1,12 @@ # @chestnutlabs/gcode-containers +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-containers/package.json b/packages/gcode-containers/package.json index 9bc84ffe..354e24f3 100644 --- a/packages/gcode-containers/package.json +++ b/packages/gcode-containers/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-containers", - "version": "0.18.0", + "version": "0.19.0", "description": "Safe, bounded, in-memory container extraction for sliced G-code (.gcode.3mf) — DD-005 §4.4/§7. Never writes files, never fetches, zero dependencies.", "keywords": [ "gcode", @@ -42,6 +42,6 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0" } } diff --git a/packages/gcode-dialects/CHANGELOG.md b/packages/gcode-dialects/CHANGELOG.md index 1f808aba..52da7064 100644 --- a/packages/gcode-dialects/CHANGELOG.md +++ b/packages/gcode-dialects/CHANGELOG.md @@ -1,5 +1,12 @@ # @chestnutlabs/gcode-dialects +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-dialects/package.json b/packages/gcode-dialects/package.json index 1244a8c1..76c4ca94 100644 --- a/packages/gcode-dialects/package.json +++ b/packages/gcode-dialects/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-dialects", - "version": "0.18.0", + "version": "0.19.0", "description": "Slicer/firmware dialect adapters for ToolpathIR annotation (DD-005). Adapters annotate metadata and optional channels — they can never alter geometry.", "keywords": [ "gcode", @@ -45,6 +45,6 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0" } } diff --git a/packages/gcode-model-renderer/CHANGELOG.md b/packages/gcode-model-renderer/CHANGELOG.md index 653fd651..11a68be4 100644 --- a/packages/gcode-model-renderer/CHANGELOG.md +++ b/packages/gcode-model-renderer/CHANGELOG.md @@ -1,5 +1,14 @@ # @chestnutlabs/gcode-model-renderer +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/gcode-renderer-three@0.19.0 + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-containers@0.19.0 + ## 0.18.0 ### Minor Changes diff --git a/packages/gcode-model-renderer/package.json b/packages/gcode-model-renderer/package.json index 29911c54..5db79329 100644 --- a/packages/gcode-model-renderer/package.json +++ b/packages/gcode-model-renderer/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-model-renderer", - "version": "0.18.0", + "version": "0.19.0", "description": "Three.js presentation renderer for source models (STL/3MF) — clean thumbnails/cards, distinct from toolpath inspection (DD-018).", "keywords": [ "3d-printing", @@ -51,9 +51,9 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-containers": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-containers": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "@types/three": "0.178.0" diff --git a/packages/gcode-parser/CHANGELOG.md b/packages/gcode-parser/CHANGELOG.md index fa0a7bb3..8ee8372f 100644 --- a/packages/gcode-parser/CHANGELOG.md +++ b/packages/gcode-parser/CHANGELOG.md @@ -1,5 +1,15 @@ # @chestnutlabs/gcode-parser +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-bgcode@0.19.0 + - @chestnutlabs/gcode-containers@0.19.0 + - @chestnutlabs/gcode-dialects@0.19.0 + ## 0.18.0 ### Minor Changes diff --git a/packages/gcode-parser/package.json b/packages/gcode-parser/package.json index a4c7a7ec..43b09e3e 100644 --- a/packages/gcode-parser/package.json +++ b/packages/gcode-parser/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-parser", - "version": "0.18.0", + "version": "0.19.0", "description": "Worker-safe G-code parse core producing ToolpathIR (DD-003).", "keywords": [ "gcode", @@ -49,9 +49,9 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/toolpath-core": "0.18.0", - "@chestnutlabs/gcode-dialects": "0.18.0", - "@chestnutlabs/gcode-containers": "0.18.0", - "@chestnutlabs/gcode-bgcode": "0.18.0" + "@chestnutlabs/toolpath-core": "0.19.0", + "@chestnutlabs/gcode-dialects": "0.19.0", + "@chestnutlabs/gcode-containers": "0.19.0", + "@chestnutlabs/gcode-bgcode": "0.19.0" } } diff --git a/packages/gcode-preview-core/CHANGELOG.md b/packages/gcode-preview-core/CHANGELOG.md index 59cddf00..d9cc6702 100644 --- a/packages/gcode-preview-core/CHANGELOG.md +++ b/packages/gcode-preview-core/CHANGELOG.md @@ -1,5 +1,27 @@ # @chestnutlabs/gcode-preview-core +## 0.19.0 + +### Minor Changes + +- [#423](https://github.com/ChestnutLabs/gcode-preview/pull/423) [`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455) Thanks [@sobechestnut-dev](https://github.com/sobechestnut-dev)! - feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role + + Toggle a `FeatureRole` on or off — e.g. hide `Skirt`/`Brim` to declutter a part preview, or isolate + `Support`. Feature roles live per-segment inside the extrusion geometry (unlike the whole-chunk move-kind + toggle), so hidden segments are collapsed to NaN positions and the GPU discards them; showing the role + again restores the geometry byte-for-byte. Available on `ToolpathRenderer` and via + `GcodePreviewControls.setFeatureRoleVisible` (a no-op on the 2D renderer). Additive and capability-gated: + gate the UI on `capabilities.featureRoles === 'known'`, like the feature colour mode; untouched geometry + (no role hidden) is byte-identical. Also exports `FeatureRoleValue` from `@chestnutlabs/toolpath-core`. + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/gcode-renderer-three@0.19.0 + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-parser@0.19.0 + - @chestnutlabs/gcode-renderer-2d@0.19.0 + ## 0.18.0 ### Minor Changes diff --git a/packages/gcode-preview-core/package.json b/packages/gcode-preview-core/package.json index 79f867b0..a11e7c62 100644 --- a/packages/gcode-preview-core/package.json +++ b/packages/gcode-preview-core/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-preview-core", - "version": "0.18.0", + "version": "0.19.0", "description": "Framework-neutral preview controller for the Chestnut Labs G-code viewer (DD-007 §4.6): the shared engine glue, state model, and TypeScript contracts beneath the Vue/React/Svelte adapters.", "keywords": [ "gcode", @@ -52,9 +52,9 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-renderer-2d": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-renderer-2d": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" } } diff --git a/packages/gcode-preview-element/CHANGELOG.md b/packages/gcode-preview-element/CHANGELOG.md index 33ea7409..a8bc573d 100644 --- a/packages/gcode-preview-element/CHANGELOG.md +++ b/packages/gcode-preview-element/CHANGELOG.md @@ -1,5 +1,15 @@ # @chestnutlabs/gcode-preview-element +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/gcode-renderer-three@0.19.0 + - @chestnutlabs/gcode-preview-core@0.19.0 + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-parser@0.19.0 + ## 0.18.0 ### Minor Changes diff --git a/packages/gcode-preview-element/package.json b/packages/gcode-preview-element/package.json index 5b1af563..205991c8 100644 --- a/packages/gcode-preview-element/package.json +++ b/packages/gcode-preview-element/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-preview-element", - "version": "0.18.0", + "version": "0.19.0", "description": "Framework-free Web Component for the Chestnut Labs G-code viewer (DD-007 D1 / DD-009 D5): a custom element bridging @chestnutlabs/gcode-preview-core, no framework peer dependency.", "keywords": [ "gcode", @@ -52,9 +52,9 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" } } diff --git a/packages/gcode-preview-react/CHANGELOG.md b/packages/gcode-preview-react/CHANGELOG.md index ad5cc244..7b0c6ee8 100644 --- a/packages/gcode-preview-react/CHANGELOG.md +++ b/packages/gcode-preview-react/CHANGELOG.md @@ -1,5 +1,15 @@ # @chestnutlabs/gcode-preview-react +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/gcode-renderer-three@0.19.0 + - @chestnutlabs/gcode-preview-core@0.19.0 + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-parser@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-preview-react/package.json b/packages/gcode-preview-react/package.json index e94aa10d..dc9e5a67 100644 --- a/packages/gcode-preview-react/package.json +++ b/packages/gcode-preview-react/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-preview-react", - "version": "0.18.0", + "version": "0.19.0", "description": "Thin React integration for the Chestnut Labs G-code viewer (DD-007 D1 amendment): useGcodePreview hook + GcodePreview component as a reactivity bridge over @chestnutlabs/gcode-preview-core.", "keywords": [ "gcode", @@ -49,10 +49,10 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "peerDependencies": { "react": "^18.0.0 || ^19.0.0" diff --git a/packages/gcode-preview-svelte/CHANGELOG.md b/packages/gcode-preview-svelte/CHANGELOG.md index 100b9a6c..8f741945 100644 --- a/packages/gcode-preview-svelte/CHANGELOG.md +++ b/packages/gcode-preview-svelte/CHANGELOG.md @@ -1,5 +1,15 @@ # @chestnutlabs/gcode-preview-svelte +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/gcode-renderer-three@0.19.0 + - @chestnutlabs/gcode-preview-core@0.19.0 + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-parser@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-preview-svelte/package.json b/packages/gcode-preview-svelte/package.json index e7e45b18..08ebc3cd 100644 --- a/packages/gcode-preview-svelte/package.json +++ b/packages/gcode-preview-svelte/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-preview-svelte", - "version": "0.18.0", + "version": "0.19.0", "description": "Thin Svelte integration for the Chestnut Labs G-code viewer (DD-007 D1 amendment): createGcodePreview store/action API + GcodePreview component as a reactivity bridge over @chestnutlabs/gcode-preview-core.", "keywords": [ "gcode", @@ -55,10 +55,10 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "peerDependencies": { "svelte": "^4.0.0 || ^5.0.0" diff --git a/packages/gcode-preview-vue/CHANGELOG.md b/packages/gcode-preview-vue/CHANGELOG.md index e7dfa91c..6b4bb5c7 100644 --- a/packages/gcode-preview-vue/CHANGELOG.md +++ b/packages/gcode-preview-vue/CHANGELOG.md @@ -1,5 +1,15 @@ # @chestnutlabs/gcode-preview-vue +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/gcode-renderer-three@0.19.0 + - @chestnutlabs/gcode-preview-core@0.19.0 + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-parser@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-preview-vue/package.json b/packages/gcode-preview-vue/package.json index fe5475a4..380bcae2 100644 --- a/packages/gcode-preview-vue/package.json +++ b/packages/gcode-preview-vue/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-preview-vue", - "version": "0.18.0", + "version": "0.19.0", "description": "Thin Vue 3 integration for the Chestnut Labs G-code viewer (DD-007): useGcodePreview composable + GcodePreview component over the framework-neutral parser/renderer/progress packages.", "keywords": [ "gcode", @@ -50,10 +50,10 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-parser": "0.18.0", - "@chestnutlabs/gcode-renderer-three": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0", - "@chestnutlabs/gcode-preview-core": "0.18.0" + "@chestnutlabs/gcode-parser": "0.19.0", + "@chestnutlabs/gcode-renderer-three": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0", + "@chestnutlabs/gcode-preview-core": "0.19.0" }, "peerDependencies": { "vue": "^3.4.0" diff --git a/packages/gcode-renderer-2d/CHANGELOG.md b/packages/gcode-renderer-2d/CHANGELOG.md index afd44607..a7e04b99 100644 --- a/packages/gcode-renderer-2d/CHANGELOG.md +++ b/packages/gcode-renderer-2d/CHANGELOG.md @@ -1,5 +1,13 @@ # @chestnutlabs/gcode-renderer-2d +## 0.19.0 + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-colors@0.19.0 + ## 0.18.0 ### Patch Changes diff --git a/packages/gcode-renderer-2d/package.json b/packages/gcode-renderer-2d/package.json index aff7863b..68f71504 100644 --- a/packages/gcode-renderer-2d/package.json +++ b/packages/gcode-renderer-2d/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-renderer-2d", - "version": "0.18.0", + "version": "0.19.0", "description": "Low-resource Canvas 2D layer renderer for the Chestnut Labs G-code viewer (DD-014 / E8): an opt-in current/adjacent-layer 2D view over the existing ToolpathIR for low-GPU/low-memory/WebGL-blocked devices. No three, no framework.", "keywords": [ "gcode", @@ -49,7 +49,7 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-colors": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-colors": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" } } diff --git a/packages/gcode-renderer-three/CHANGELOG.md b/packages/gcode-renderer-three/CHANGELOG.md index 8d4c1d38..0ab97efb 100644 --- a/packages/gcode-renderer-three/CHANGELOG.md +++ b/packages/gcode-renderer-three/CHANGELOG.md @@ -1,5 +1,25 @@ # @chestnutlabs/gcode-renderer-three +## 0.19.0 + +### Minor Changes + +- [#423](https://github.com/ChestnutLabs/gcode-preview/pull/423) [`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455) Thanks [@sobechestnut-dev](https://github.com/sobechestnut-dev)! - feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role + + Toggle a `FeatureRole` on or off — e.g. hide `Skirt`/`Brim` to declutter a part preview, or isolate + `Support`. Feature roles live per-segment inside the extrusion geometry (unlike the whole-chunk move-kind + toggle), so hidden segments are collapsed to NaN positions and the GPU discards them; showing the role + again restores the geometry byte-for-byte. Available on `ToolpathRenderer` and via + `GcodePreviewControls.setFeatureRoleVisible` (a no-op on the 2D renderer). Additive and capability-gated: + gate the UI on `capabilities.featureRoles === 'known'`, like the feature colour mode; untouched geometry + (no role hidden) is byte-identical. Also exports `FeatureRoleValue` from `@chestnutlabs/toolpath-core`. + +### Patch Changes + +- Updated dependencies [[`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455)]: + - @chestnutlabs/toolpath-core@0.19.0 + - @chestnutlabs/gcode-colors@0.19.0 + ## 0.18.0 ### Minor Changes diff --git a/packages/gcode-renderer-three/package.json b/packages/gcode-renderer-three/package.json index 90b6a740..fb82ae54 100644 --- a/packages/gcode-renderer-three/package.json +++ b/packages/gcode-renderer-three/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/gcode-renderer-three", - "version": "0.18.0", + "version": "0.19.0", "description": "Three.js toolpath renderer consuming ToolpathIR (DD-004). Phases 1-2: geometry builders + scene/lifecycle.", "keywords": [ "gcode", @@ -49,8 +49,8 @@ "test": "vitest run" }, "dependencies": { - "@chestnutlabs/gcode-colors": "0.18.0", - "@chestnutlabs/toolpath-core": "0.18.0" + "@chestnutlabs/gcode-colors": "0.19.0", + "@chestnutlabs/toolpath-core": "0.19.0" }, "devDependencies": { "@types/three": "0.178.0" diff --git a/packages/toolpath-core/CHANGELOG.md b/packages/toolpath-core/CHANGELOG.md index ebc482a1..96d2df6e 100644 --- a/packages/toolpath-core/CHANGELOG.md +++ b/packages/toolpath-core/CHANGELOG.md @@ -1,5 +1,19 @@ # @chestnutlabs/toolpath-core +## 0.19.0 + +### Minor Changes + +- [#423](https://github.com/ChestnutLabs/gcode-preview/pull/423) [`81690dc`](https://github.com/ChestnutLabs/gcode-preview/commit/81690dcfece21d6fd11074ad7a264bcfc9edf455) Thanks [@sobechestnut-dev](https://github.com/sobechestnut-dev)! - feat(renderer): `setFeatureRoleVisible(role, visible)` — show/hide a single feature role + + Toggle a `FeatureRole` on or off — e.g. hide `Skirt`/`Brim` to declutter a part preview, or isolate + `Support`. Feature roles live per-segment inside the extrusion geometry (unlike the whole-chunk move-kind + toggle), so hidden segments are collapsed to NaN positions and the GPU discards them; showing the role + again restores the geometry byte-for-byte. Available on `ToolpathRenderer` and via + `GcodePreviewControls.setFeatureRoleVisible` (a no-op on the 2D renderer). Additive and capability-gated: + gate the UI on `capabilities.featureRoles === 'known'`, like the feature colour mode; untouched geometry + (no role hidden) is byte-identical. Also exports `FeatureRoleValue` from `@chestnutlabs/toolpath-core`. + ## 0.18.0 ## 0.17.0 diff --git a/packages/toolpath-core/package.json b/packages/toolpath-core/package.json index 7e8414ee..f36b06ae 100644 --- a/packages/toolpath-core/package.json +++ b/packages/toolpath-core/package.json @@ -1,6 +1,6 @@ { "name": "@chestnutlabs/toolpath-core", - "version": "0.18.0", + "version": "0.19.0", "description": "Neutral ToolpathIR and capability model for the Chestnut Labs G-code Preview toolpath stack.", "keywords": [ "gcode",