Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .github/workflows/release-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,8 @@ jobs:
cache: 'npm'
registry-url: 'https://registry.npmjs.org'
- run: npm ci
# Owner ruling 6a (AnyBridge#2765): no tarball goes out without LICENSE + NOTICE.md.
- run: npm run pack:license-check
# Full repository gate — identical to the required CI check, before anything uploads.
- run: npm run build
- run: npm run test
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,8 @@ jobs:
node-version: '22.x'
cache: "npm"
- run: npm ci
# Owner ruling 6a (AnyBridge#2765): every tarball lists LICENSE + NOTICE.md. Needs no build.
- run: npm run pack:license-check
- run: npm run build
- run: npm run test
- run: npm run test:packages
Expand Down
3 changes: 2 additions & 1 deletion docs/reference/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,8 @@ from the protected `Release / publish` workflow on a tag from `main` — never f
and nothing else — triggers publication.
5. **`Release / publish` workflow:** verifies the tag is on `main`, fresh `npm ci`, then the full
repository gate (build, root + package suites, typeCheck, lint, license, docs links, consumer
fixture, pack-check, sync-check) before a dependency-ordered `npm publish` ×14 with **npm
fixture, pack-check, sync-check, and `pack:license-check`, which fails if any tarball would ship
without `LICENSE` and `NOTICE.md`) before a dependency-ordered `npm publish` ×14 with **npm
provenance**. The orchestrator (`tools/release/publish.mjs`) refuses real publishes outside the
workflow; `npm run release:dry-run` is the local rehearsal (it exercises the full pack +
validation path without uploading).
Expand Down
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@
"test:consumer-vue": "node tools/consumer-vue/run.mjs",
"verify:registry": "node tools/consumer-vue/run-registry.mjs",
"pack:check": "node tools/pack-check.mjs",
"pack:license-check": "node tools/pack-license-check.mjs",
"docs:links": "node tools/link-check.mjs",
"docs:api": "typedoc",
"docs:api:watch": "typedoc --watch",
Expand Down
21 changes: 21 additions & 0 deletions packages/gcode-bgcode/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017-2025 Remco Veldkamp

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
46 changes: 46 additions & 0 deletions packages/gcode-bgcode/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# NOTICE — Attribution & Provenance

This file summarizes attribution and provenance for **ChestnutLabs/gcode-preview**. It complements,
and does not replace, the [`LICENSE`](LICENSE) file and the full
[Upstream, Fork, License & Contribution Policy](docs/03_UPSTREAM_FORK_LICENSE_AND_CONTRIBUTION_POLICY.md).

## Upstream origin

- **This repository is a public GitHub fork of** [`xyz-tools/gcode-preview`](https://github.com/xyz-tools/gcode-preview)
(project identity `remcoder/gcode-preview`; npm package `gcode-preview`).
- **Chestnut founding baseline:** branch `develop` at commit
`15375e56129f5a57aebc099ed7bfb5a092dcfb9e` (2026-06-08).
- The inherited Git history and the upstream fork relationship are preserved. Chestnut Labs maintains
its own roadmap, governance, release cadence, and package APIs.

## Copyright

- Inherited code: **Copyright (c) 2017–2025 Remco Veldkamp** and the `xyz-tools/gcode-preview`
contributors, licensed under the MIT License (see [`LICENSE`](LICENSE)).
- Chestnut Labs additions and modifications: **Copyright (c) 2026 Chestnut Labs**, also under the MIT
License.

The upstream copyright notice and MIT permission notice are retained in [`LICENSE`](LICENSE) and must
not be removed. Chestnut notices are added **alongside** — never in place of — upstream notices.

## License

MIT for both the inherited fork and Chestnut Labs additions, unless a later, explicit
legal/governance decision changes the license for an independently separable new package. See the
fork/license policy for the full rationale, including how an MIT package may be consumed by a
GPL-3.0 application (e.g., AnyBridge) without altering the package's MIT notice obligations.

## Derived vs. independently replaced code

Chestnut Labs does **not** claim a clean-room implementation. Subsystem provenance (inherited /
modified / replaced / original) is tracked in
[`docs/UPSTREAM_PROVENANCE.md`](docs/UPSTREAM_PROVENANCE.md). Replacing every line of an inherited
file does not by itself establish clean-room status; the ledger exists for honesty, maintenance, and
license review.

## Third-party code

Bundled and dependency notices are tracked in [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
Reference implementations studied for behavior (Sindarius/Mainsail, Fluidd, PrusaSlicer/libvgcode,
BambuBuddy, and others) are **not** incorporated as source unless their license is compatible and the
incorporation is recorded per policy.
4 changes: 3 additions & 1 deletion packages/gcode-bgcode/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@
}
},
"files": [
"dist"
"dist",
"LICENSE",
"NOTICE.md"
],
"publishConfig": {
"access": "public"
Expand Down
21 changes: 21 additions & 0 deletions packages/gcode-colors/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017-2025 Remco Veldkamp

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
46 changes: 46 additions & 0 deletions packages/gcode-colors/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# NOTICE — Attribution & Provenance

This file summarizes attribution and provenance for **ChestnutLabs/gcode-preview**. It complements,
and does not replace, the [`LICENSE`](LICENSE) file and the full
[Upstream, Fork, License & Contribution Policy](docs/03_UPSTREAM_FORK_LICENSE_AND_CONTRIBUTION_POLICY.md).

## Upstream origin

- **This repository is a public GitHub fork of** [`xyz-tools/gcode-preview`](https://github.com/xyz-tools/gcode-preview)
(project identity `remcoder/gcode-preview`; npm package `gcode-preview`).
- **Chestnut founding baseline:** branch `develop` at commit
`15375e56129f5a57aebc099ed7bfb5a092dcfb9e` (2026-06-08).
- The inherited Git history and the upstream fork relationship are preserved. Chestnut Labs maintains
its own roadmap, governance, release cadence, and package APIs.

## Copyright

- Inherited code: **Copyright (c) 2017–2025 Remco Veldkamp** and the `xyz-tools/gcode-preview`
contributors, licensed under the MIT License (see [`LICENSE`](LICENSE)).
- Chestnut Labs additions and modifications: **Copyright (c) 2026 Chestnut Labs**, also under the MIT
License.

The upstream copyright notice and MIT permission notice are retained in [`LICENSE`](LICENSE) and must
not be removed. Chestnut notices are added **alongside** — never in place of — upstream notices.

## License

MIT for both the inherited fork and Chestnut Labs additions, unless a later, explicit
legal/governance decision changes the license for an independently separable new package. See the
fork/license policy for the full rationale, including how an MIT package may be consumed by a
GPL-3.0 application (e.g., AnyBridge) without altering the package's MIT notice obligations.

## Derived vs. independently replaced code

Chestnut Labs does **not** claim a clean-room implementation. Subsystem provenance (inherited /
modified / replaced / original) is tracked in
[`docs/UPSTREAM_PROVENANCE.md`](docs/UPSTREAM_PROVENANCE.md). Replacing every line of an inherited
file does not by itself establish clean-room status; the ledger exists for honesty, maintenance, and
license review.

## Third-party code

Bundled and dependency notices are tracked in [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
Reference implementations studied for behavior (Sindarius/Mainsail, Fluidd, PrusaSlicer/libvgcode,
BambuBuddy, and others) are **not** incorporated as source unless their license is compatible and the
incorporation is recorded per policy.
4 changes: 3 additions & 1 deletion packages/gcode-colors/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,9 @@
}
},
"files": [
"dist"
"dist",
"LICENSE",
"NOTICE.md"
],
"publishConfig": {
"access": "public"
Expand Down
21 changes: 21 additions & 0 deletions packages/gcode-containers/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017-2025 Remco Veldkamp

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
46 changes: 46 additions & 0 deletions packages/gcode-containers/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# NOTICE — Attribution & Provenance

This file summarizes attribution and provenance for **ChestnutLabs/gcode-preview**. It complements,
and does not replace, the [`LICENSE`](LICENSE) file and the full
[Upstream, Fork, License & Contribution Policy](docs/03_UPSTREAM_FORK_LICENSE_AND_CONTRIBUTION_POLICY.md).

## Upstream origin

- **This repository is a public GitHub fork of** [`xyz-tools/gcode-preview`](https://github.com/xyz-tools/gcode-preview)
(project identity `remcoder/gcode-preview`; npm package `gcode-preview`).
- **Chestnut founding baseline:** branch `develop` at commit
`15375e56129f5a57aebc099ed7bfb5a092dcfb9e` (2026-06-08).
- The inherited Git history and the upstream fork relationship are preserved. Chestnut Labs maintains
its own roadmap, governance, release cadence, and package APIs.

## Copyright

- Inherited code: **Copyright (c) 2017–2025 Remco Veldkamp** and the `xyz-tools/gcode-preview`
contributors, licensed under the MIT License (see [`LICENSE`](LICENSE)).
- Chestnut Labs additions and modifications: **Copyright (c) 2026 Chestnut Labs**, also under the MIT
License.

The upstream copyright notice and MIT permission notice are retained in [`LICENSE`](LICENSE) and must
not be removed. Chestnut notices are added **alongside** — never in place of — upstream notices.

## License

MIT for both the inherited fork and Chestnut Labs additions, unless a later, explicit
legal/governance decision changes the license for an independently separable new package. See the
fork/license policy for the full rationale, including how an MIT package may be consumed by a
GPL-3.0 application (e.g., AnyBridge) without altering the package's MIT notice obligations.

## Derived vs. independently replaced code

Chestnut Labs does **not** claim a clean-room implementation. Subsystem provenance (inherited /
modified / replaced / original) is tracked in
[`docs/UPSTREAM_PROVENANCE.md`](docs/UPSTREAM_PROVENANCE.md). Replacing every line of an inherited
file does not by itself establish clean-room status; the ledger exists for honesty, maintenance, and
license review.

## Third-party code

Bundled and dependency notices are tracked in [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
Reference implementations studied for behavior (Sindarius/Mainsail, Fluidd, PrusaSlicer/libvgcode,
BambuBuddy, and others) are **not** incorporated as source unless their license is compatible and the
incorporation is recorded per policy.
4 changes: 3 additions & 1 deletion packages/gcode-containers/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@
}
},
"files": [
"dist"
"dist",
"LICENSE",
"NOTICE.md"
],
"scripts": {
"build": "tsc -p tsconfig.json",
Expand Down
21 changes: 21 additions & 0 deletions packages/gcode-dialects/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017-2025 Remco Veldkamp

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
46 changes: 46 additions & 0 deletions packages/gcode-dialects/NOTICE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# NOTICE — Attribution & Provenance

This file summarizes attribution and provenance for **ChestnutLabs/gcode-preview**. It complements,
and does not replace, the [`LICENSE`](LICENSE) file and the full
[Upstream, Fork, License & Contribution Policy](docs/03_UPSTREAM_FORK_LICENSE_AND_CONTRIBUTION_POLICY.md).

## Upstream origin

- **This repository is a public GitHub fork of** [`xyz-tools/gcode-preview`](https://github.com/xyz-tools/gcode-preview)
(project identity `remcoder/gcode-preview`; npm package `gcode-preview`).
- **Chestnut founding baseline:** branch `develop` at commit
`15375e56129f5a57aebc099ed7bfb5a092dcfb9e` (2026-06-08).
- The inherited Git history and the upstream fork relationship are preserved. Chestnut Labs maintains
its own roadmap, governance, release cadence, and package APIs.

## Copyright

- Inherited code: **Copyright (c) 2017–2025 Remco Veldkamp** and the `xyz-tools/gcode-preview`
contributors, licensed under the MIT License (see [`LICENSE`](LICENSE)).
- Chestnut Labs additions and modifications: **Copyright (c) 2026 Chestnut Labs**, also under the MIT
License.

The upstream copyright notice and MIT permission notice are retained in [`LICENSE`](LICENSE) and must
not be removed. Chestnut notices are added **alongside** — never in place of — upstream notices.

## License

MIT for both the inherited fork and Chestnut Labs additions, unless a later, explicit
legal/governance decision changes the license for an independently separable new package. See the
fork/license policy for the full rationale, including how an MIT package may be consumed by a
GPL-3.0 application (e.g., AnyBridge) without altering the package's MIT notice obligations.

## Derived vs. independently replaced code

Chestnut Labs does **not** claim a clean-room implementation. Subsystem provenance (inherited /
modified / replaced / original) is tracked in
[`docs/UPSTREAM_PROVENANCE.md`](docs/UPSTREAM_PROVENANCE.md). Replacing every line of an inherited
file does not by itself establish clean-room status; the ledger exists for honesty, maintenance, and
license review.

## Third-party code

Bundled and dependency notices are tracked in [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md).
Reference implementations studied for behavior (Sindarius/Mainsail, Fluidd, PrusaSlicer/libvgcode,
BambuBuddy, and others) are **not** incorporated as source unless their license is compatible and the
incorporation is recorded per policy.
4 changes: 3 additions & 1 deletion packages/gcode-dialects/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,9 @@
}
},
"files": [
"dist"
"dist",
"LICENSE",
"NOTICE.md"
],
"scripts": {
"build": "tsc -p tsconfig.json",
Expand Down
21 changes: 21 additions & 0 deletions packages/gcode-model-renderer/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
MIT License

Copyright (c) 2017-2025 Remco Veldkamp

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Loading
Loading