@instruktlabs/kiln 1.0.0-rc.1 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude-plugin/marketplace.json +1 -1
- package/.claude-plugin/plugin.json +1 -1
- package/.codex-plugin/plugin.json +1 -1
- package/CHANGELOG.md +55 -8
- package/CONTRIBUTING.md +16 -7
- package/README.md +92 -374
- package/dist/agent-run.mjs +1 -1
- package/dist/build.json +40 -28
- package/dist/cli.mjs +18 -14
- package/dist/mcp-engine.mjs +15 -11
- package/dist/mcp-server.mjs +1 -1
- package/docs/architecture.md +6 -3
- package/docs/chatgpt.md +20 -5
- package/docs/examples.md +40 -170
- package/docs/install.md +119 -35
- package/docs/migration.md +25 -4
- package/docs/runtime.md +3 -3
- package/docs/sdk.md +30 -7
- package/lib/asset-widget-uri.d.ts +9 -0
- package/lib/asset-widget-uri.js +9 -0
- package/lib/cli-render-mode.js +10 -3
- package/lib/discovery/portable.d.ts +9 -0
- package/lib/discovery/portable.js +6 -0
- package/lib/engine-identity.d.ts +1 -1
- package/lib/engine-identity.js +1 -1
- package/lib/evaluator/isolation.js +19 -5
- package/lib/evaluator/probe-invariants.d.ts +11 -0
- package/lib/evaluator/probe-invariants.js +36 -0
- package/lib/evaluator/probe-worker.js +16 -4
- package/lib/loopback.d.ts +6 -0
- package/lib/loopback.js +6 -0
- package/lib/mcp-core.d.ts +209 -0
- package/lib/mcp-core.js +278 -0
- package/lib/mcp-engine.d.ts +57 -0
- package/lib/mcp-engine.js +284 -0
- package/lib/mcp-manifest.d.ts +15 -0
- package/lib/mcp-manifest.js +65 -0
- package/lib/mcp.d.ts +5 -0
- package/lib/mcp.js +2 -0
- package/lib/render-service-host.js +1 -1
- package/package.json +22 -1
- package/plugin.json +1 -1
- package/plugins/kiln-engine/.claude-plugin/icon.png +0 -0
- package/plugins/kiln-engine/.claude-plugin/plugin.json +9 -3
- package/plugins/kiln-engine/PRIVACY.md +100 -0
- package/plugins/kiln-engine/README.md +102 -19
- package/plugins/kiln-engine/{scripts/setup-workspace.mjs → bin/kiln-setup-workspace.mjs} +37 -9
- package/plugins/kiln-engine/package-provenance.json +15 -8
- package/plugins/kiln-engine/plugin.json +10 -4
- package/plugins/kiln-engine/runtime.json +10 -1
- package/plugins/kiln-engine/skills/kiln-setup-workspace/SKILL.md +17 -18
- package/plugins/kiln-engine/skills/kiln-setup-workspace/references/plugin-install.md +28 -8
- package/plugins/kiln-engine/skills/kiln-setup-workspace/references/renderer-setup.md +11 -0
- package/scripts/create-workspace.mjs +71 -13
- package/scripts/workspace-config.mjs +239 -0
- package/scripts/workspace-project.mjs +384 -0
- package/scripts/workspace-transaction.mjs +504 -0
- package/skills/kiln-setup-workspace/SKILL.md +17 -18
- package/skills/kiln-setup-workspace/references/plugin-install.md +28 -8
- package/skills/kiln-setup-workspace/references/renderer-setup.md +11 -0
- package/src/cli-render-mode.ts +9 -9
- package/src/cli.ts +3 -3
- package/src/discovery/portable.ts +9 -0
- package/src/engine-identity.ts +1 -1
- package/src/evaluator/isolation.ts +27 -6
- package/src/evaluator/probe-invariants.ts +50 -0
- package/src/evaluator/probe-worker.ts +22 -4
- package/src/mcp.ts +5 -0
- package/src/render-service-host.ts +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
|
|
3
3
|
"name": "instruktlabs",
|
|
4
|
-
"description": "Instrukt Labs developer tools, including Kiln
|
|
4
|
+
"description": "Instrukt Labs developer tools, including Kiln for editable 3D assets.",
|
|
5
5
|
"owner": {
|
|
6
6
|
"name": "Instrukt Labs"
|
|
7
7
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiln",
|
|
3
3
|
"description": "Build and revise 3D assets with your coding agent. Write JavaScript, inspect selected views, edit saved source revisions, and export GLB files locally.",
|
|
4
|
-
"version": "1.
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Matthew Kissinger"
|
|
7
7
|
},
|
package/CHANGELOG.md
CHANGED
|
@@ -1,14 +1,61 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
3
|
Changes to `@instruktlabs/kiln` (previously the private `@kiln/engine` package).
|
|
4
|
-
Source releases and installable package publication are
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
Source releases and installable package publication are separate milestones.
|
|
5
|
+
Published versions and tags are recorded by the npm registry; changing this file
|
|
6
|
+
does not publish a package.
|
|
7
|
+
|
|
8
|
+
## 1.1.0
|
|
9
|
+
|
|
10
|
+
Existing-project setup, public host interfaces and simpler onboarding. Hosted
|
|
11
|
+
deployment and directory submissions remain deferred.
|
|
12
|
+
|
|
13
|
+
- `kiln-init --adopt` configures an existing project or a new workspace through
|
|
14
|
+
the same initializer. Preview with `--adopt --check`; existing instructions,
|
|
15
|
+
unrelated configuration, saved assets and customized skills remain intact.
|
|
16
|
+
- Multiple compatible client registrations share one program store. Managed
|
|
17
|
+
upgrades retain narrow configuration ownership and recover interrupted setup
|
|
18
|
+
writes without putting recovery snapshots inside the project.
|
|
19
|
+
- Explicit migration of a copied legacy OpenCode workspace replaces its old
|
|
20
|
+
owned skill path instead of loading both original and copied instructions.
|
|
21
|
+
- The local plugin's setup helper uses the pinned engine's adapter list. Plugin
|
|
22
|
+
installation remains specific to Claude Code and Codex; those clients can also
|
|
23
|
+
configure another supported workspace adapter through the shared helper.
|
|
24
|
+
- Public `mcp`, `discovery/portable`, `tools/input` and `views/port` SDK entries
|
|
25
|
+
expose existing host contracts without requiring imports of internal package
|
|
26
|
+
files. Portable Discovery accepts an engine-generated catalog without loading
|
|
27
|
+
Node's catalog builder. The local stdio entry keeps lazy engine loading.
|
|
28
|
+
- The release verifier accepts versioned 1.x follow-ups and release candidates,
|
|
29
|
+
retaining exact-archive evidence and owner promotion approval. Development
|
|
30
|
+
builds and unsupported prerelease tags remain ineligible for staging.
|
|
31
|
+
- Concurrent captures rejoin a replacement local renderer when a delayed failure
|
|
32
|
+
arrives from the old connection. Startup failures preserve their bounded child
|
|
33
|
+
error output instead of reporting only the stack footer.
|
|
34
|
+
- The README and maintained guides lead with npm installation and distinguish
|
|
35
|
+
released local functionality from deferred hosting. Real Troy captures join the
|
|
36
|
+
existing scene and vehicle previews. Global and project-local CLI instructions
|
|
37
|
+
explain the workspace launcher and avoid PowerShell argument forwarding errors.
|
|
38
|
+
Historical examples move out of the active source tree;
|
|
39
|
+
pinned Git-history restoration preserves the website archive and regression corpus.
|
|
40
|
+
- The optional Linux isolated evaluator no longer passes an unsupported
|
|
41
|
+
`--preserve-fds` option to Bubblewrap. Its explicit fd3 protocol pipe uses
|
|
42
|
+
inherited descriptors; namespace, capability, filesystem and resource limits
|
|
43
|
+
remain required by readiness qualification.
|
|
44
|
+
- Isolated readiness compares the child's namespace and non-root identity with
|
|
45
|
+
the parent, accounting for Bubblewrap's nested mapping when further user
|
|
46
|
+
namespaces are disabled. The final worker environment is cleared again to
|
|
47
|
+
remove Bubblewrap's injected `PWD` while retaining the exact allowed variables.
|
|
48
|
+
- The isolated worker removes Node's legacy `__proto__` accessor instead of
|
|
49
|
+
throwing on reads, allowing Khronos glTF validation to initialize. Readiness
|
|
50
|
+
verifies that the accessor is absent; a regression also checks that assigning
|
|
51
|
+
a JSON `__proto__` key cannot change an object's prototype.
|
|
52
|
+
|
|
53
|
+
## 1.0.0
|
|
54
|
+
|
|
55
|
+
Published on npm as `@instruktlabs/kiln@1.0.0` under `latest`, following the public
|
|
56
|
+
`1.0.0-rc.1` prerelease. These are the changes since the 0.10.0 tagged package.
|
|
57
|
+
Future publication follows the separate release gates in [the runbook](docs/releasing.md).
|
|
58
|
+
Hosted deployment and vendor directory acceptance remain separate milestones.
|
|
12
59
|
|
|
13
60
|
- **Breaking:** the npm identity is now `@instruktlabs/kiln`, with compiled ESM and
|
|
14
61
|
TypeScript declarations for its public subpaths. The root is a library entrypoint;
|
package/CONTRIBUTING.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Contributing to Kiln
|
|
2
2
|
|
|
3
|
-
Small fixes, clear bug reports,
|
|
3
|
+
Small fixes, clear bug reports, minimal reproductions and documentation improvements are welcome.
|
|
4
4
|
For a behavior bug, include a minimal `.kiln.js` program, the command or tool call,
|
|
5
5
|
and the error or image you saw. Include your OS, Node version and whether rendering
|
|
6
6
|
used CPU or GPU. Remove credentials and private paths from shared logs.
|
|
@@ -15,6 +15,7 @@ bun install --frozen-lockfile
|
|
|
15
15
|
bun run check:toolchain
|
|
16
16
|
bun run check:skills
|
|
17
17
|
bun run build:sdk
|
|
18
|
+
node scripts/example-archive.mjs --fetch
|
|
18
19
|
bun run typecheck
|
|
19
20
|
bun run lint
|
|
20
21
|
bun run test
|
|
@@ -27,6 +28,12 @@ separate npm project with its own lockfile and a native dependency.
|
|
|
27
28
|
`bun run test:render-service` does, after `npm --prefix render-service ci
|
|
28
29
|
--ignore-scripts` once. This suite needs no GPU or Dawn build; CI requires it.
|
|
29
30
|
|
|
31
|
+
The archive preparation restores pinned historical programs into ignored
|
|
32
|
+
`.cache/example-archive/` for the regression corpus and website archive. It makes
|
|
33
|
+
no model calls, changes no working files and verifies the original Git blob bytes.
|
|
34
|
+
Run it once after cloning; subsequent tests are offline. Old showcase assets are
|
|
35
|
+
not current teaching examples or part of the npm package.
|
|
36
|
+
|
|
30
37
|
The maintained scenes have a separate lockfile and validation commands:
|
|
31
38
|
|
|
32
39
|
```sh
|
|
@@ -37,12 +44,11 @@ bun run check:pins
|
|
|
37
44
|
bun run typecheck
|
|
38
45
|
bun run lint
|
|
39
46
|
bun run test
|
|
40
|
-
bun test ./scripts/tests --timeout 20000
|
|
41
47
|
```
|
|
42
48
|
|
|
43
49
|
The pin check reads the engine, render service and site from the same checkout.
|
|
44
|
-
The portable test runner covers scene source contracts
|
|
45
|
-
|
|
50
|
+
The portable test runner covers scene source contracts and script tests for
|
|
51
|
+
validation and evidence tooling. Asset and browser qualification
|
|
46
52
|
require staged inputs; see [scenes/README.md](scenes/README.md).
|
|
47
53
|
|
|
48
54
|
`lint` reports **nothing** on a clean tree, and a warning fails it. There is no
|
|
@@ -65,8 +71,10 @@ archive qualification, npm staging and owner promotion.
|
|
|
65
71
|
ahead of that release go in the changelog's `Unreleased` section and can retain the
|
|
66
72
|
released version until the next release is prepared. A new release must bump the
|
|
67
73
|
version before producing its tarball: two different releases must never share a
|
|
68
|
-
package version.
|
|
69
|
-
|
|
74
|
+
package version. Use a patch for compatible fixes, a minor for compatible added
|
|
75
|
+
capabilities, and a major for breaking changes to stable APIs. Kiln 1.0.0 is
|
|
76
|
+
published; the [SDK stability contract](docs/sdk.md#stability-in-1x) identifies
|
|
77
|
+
the explicitly experimental exceptions.
|
|
70
78
|
|
|
71
79
|
Bumping it means rebuilding: `runtimeBuildIdentity` hashes the version into each
|
|
72
80
|
entry's `identity` in `dist/build.json`, which is the value a build receipt cites. Run
|
|
@@ -96,7 +104,8 @@ must be empty and outside the engine installation. Setup copies project-local
|
|
|
96
104
|
skills and configuration without changing global agent settings or authentication.
|
|
97
105
|
|
|
98
106
|
In a pull request, describe the problem, resulting behavior and checks you ran.
|
|
99
|
-
Keep generated
|
|
107
|
+
Keep generated showcase assets in separate authoring workspaces; include only the
|
|
108
|
+
small reproduction or regression fixture needed for an engine fix. If you change a
|
|
100
109
|
public tool, update its shared registry definition rather than duplicating a
|
|
101
110
|
transport-specific definition.
|
|
102
111
|
|