@forgeax/game 0.3.6 → 0.3.8
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/README.md +16 -130
- package/assets/extensions/asset3d/cli.mjs +2090 -0
- package/assets/extensions/asset3d/extension.json +7 -0
- package/assets/extensions/asset3d/skills/art-3d-asset-library/SKILL.md +28 -0
- package/assets/licenses/fflate.txt +21 -0
- package/assets/skills/forgeax-game/SKILL.md +4 -7
- package/dist/main.js +582 -2460
- package/docs/asset3d.md +43 -193
- package/docs/plugin-integration-standard.md +196 -0
- package/package.json +3 -9
- package/assets/asset3d/adapter/SKILL.md +0 -56
- package/assets/asset3d/provider/asset3d-search-provider-a274238712c1dced99e4aa3148a0d15904ce2a90-darwin-arm64.tar.gz +0 -0
- package/assets/asset3d/provider/asset3d-search-provider-a274238712c1dced99e4aa3148a0d15904ce2a90-linux-x64.tar.gz +0 -0
- package/assets/asset3d/schemas/receipt-1.0.0.json +0 -29
- package/assets/asset3d/schemas/result-1.0.0.json +0 -361
- package/assets/asset3d/vibegame-art-3d-asset-library-2.0.0.tgz +0 -0
- package/assets/asset3d/vibegame-art-3d-asset-library-2.0.0.tgz.sha256 +0 -1
- package/docs/release-0.3.0.md +0 -100
- package/docs/release-0.3.1.md +0 -107
- package/docs/release-0.3.2.md +0 -90
- package/docs/release-0.3.3.md +0 -73
- package/docs/release-0.3.4.md +0 -66
- package/docs/release-0.3.5.md +0 -32
package/README.md
CHANGED
|
@@ -47,8 +47,6 @@ npx -y @forgeax/game init
|
|
|
47
47
|
The first command writes the `forgeax` MCP member in the canonical Codex,
|
|
48
48
|
Cursor, and Claude Code user configs. It preserves unrelated bytes and values,
|
|
49
49
|
reports `CURRENT` on an idempotent rerun, and says which host must restart or reload.
|
|
50
|
-
Existing older package-owned Asset3D MCP entries are also refreshed; absent or
|
|
51
|
-
custom Asset3D entries are not added or overwritten.
|
|
52
50
|
The second command must run from the intended blank directory. It creates the Engine
|
|
53
51
|
game there, binds the exact release identity, and reports the canonical root and
|
|
54
52
|
host-skill result. Existing exact games are read back and bound without recreation;
|
|
@@ -65,25 +63,12 @@ npx -y @forgeax/game@latest update --ide codex
|
|
|
65
63
|
`plugin 0.3.4 -> 0.3.5`. It refreshes configuration, skills, and routing from the
|
|
66
64
|
package being executed; it does not independently fetch another package.
|
|
67
65
|
|
|
68
|
-
|
|
69
|
-
to older Engine versions. This release recognizes strict v2 manifests without
|
|
70
|
-
requiring the removed `entry` field, but does not migrate game dependencies.
|
|
66
|
+
This version consumes the exact Engine SDK pin in package.json; it does not migrate game dependencies.
|
|
71
67
|
|
|
72
68
|
> [!NOTE]
|
|
73
|
-
> Asset3D is optional and
|
|
74
|
-
>
|
|
75
|
-
>
|
|
76
|
-
>
|
|
77
|
-
> ```bash
|
|
78
|
-
> npx -y @forgeax/game asset3d enable
|
|
79
|
-
> ```
|
|
80
|
-
>
|
|
81
|
-
> With no override, `enable` keeps the public AW depot. On the office network, pass
|
|
82
|
-
> `--library ea` to select the EA depot and its local gateway. `--base-url` overrides
|
|
83
|
-
> only the selected library's gateway. The first enable prompts for the Sandbox Key
|
|
84
|
-
> with hidden input, validates it through
|
|
85
|
-
> the packaged Provider, and stores it outside the project in a private user
|
|
86
|
-
> credential file.
|
|
69
|
+
> Asset3D is optional and disabled by default. After init, run
|
|
70
|
+
> `npx -y @forgeax/game asset3d enable`. It directly validates the selected
|
|
71
|
+
> service and stores credentials outside the project. See [Asset3D](docs/asset3d.md).
|
|
87
72
|
|
|
88
73
|
## Agent completion contract
|
|
89
74
|
|
|
@@ -104,10 +89,10 @@ Preview `ready` verifies startup and ownership, not playable behavior. Agents us
|
|
|
104
89
|
available browser tools for task-relevant interaction checks, or clearly report
|
|
105
90
|
gameplay as unverified and provide manual checks. This guidance does not prescribe
|
|
106
91
|
a game genre, UI implementation, browser brand, or additional blocking gate.
|
|
107
|
-
An explicit request for an existing/library 3D asset
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
generation as an asset-library result.
|
|
92
|
+
An explicit request for an existing/library 3D asset uses the enabled project's
|
|
93
|
+
`asset3d candidates` and `asset3d import` CLI commands. No separate Agent MCP tool
|
|
94
|
+
is required. Report CLI failures rather than relabeling procedural geometry or
|
|
95
|
+
generation as an asset-library result. See the [Skill + CLI integration standard](docs/plugin-integration-standard.md).
|
|
111
96
|
|
|
112
97
|
## MCP transports
|
|
113
98
|
|
|
@@ -178,107 +163,15 @@ Stop and cancellation signal only the verified owning Preview process, with a bo
|
|
|
178
163
|
TERM/KILL cleanup. Dead state is removed under the lock; a matching orphan is adopted;
|
|
179
164
|
a live unverifiable PID fails closed as `preview_ownership_unverified`.
|
|
180
165
|
|
|
181
|
-
## Asset3D
|
|
166
|
+
## Asset3D: Skill + CLI
|
|
182
167
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
168
|
+
The installed `art-3d-asset-library` Skill guides candidate selection and result use.
|
|
169
|
+
The package CLI calls the asset API directly, safely downloads Pack/GLB sources,
|
|
170
|
+
and delegates import/build/catalog identity to Engine. There is no Asset3D MCP,
|
|
171
|
+
Python Provider, per-platform bundle or legacy Skill payload.
|
|
186
172
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
npx -y @forgeax/game asset3d enable
|
|
190
|
-
|
|
191
|
-
# Office network
|
|
192
|
-
npx -y @forgeax/game asset3d enable --library ea
|
|
193
|
-
|
|
194
|
-
forgeax-game asset3d doctor --json
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
The library selection precedence is `--library`, then
|
|
198
|
-
`FORGEAX_ASSET_LIBRARY`, then `aw`. Each library selects its matching built-in
|
|
199
|
-
gateway. Gateway precedence is explicit `--base-url`, then
|
|
200
|
-
`FORGEAX_ASSET_LIBRARY_BASE_URL`, then that library's built-in service. An override
|
|
201
|
-
accepts either a gateway root or the full
|
|
202
|
-
`trpc.oasismetric.omcontentserver.http` service root. On first use, `enable` reads the
|
|
203
|
-
key with hidden TTY input. Non-interactive automation must inject
|
|
204
|
-
`FORGEAX_ASSET3D_AW_SANDBOX_KEY` from its secret store. The key is validated by the
|
|
205
|
-
Provider against the selected depot's `HybridSearch` before the command
|
|
206
|
-
reports success.
|
|
207
|
-
|
|
208
|
-
The validated key is stored in
|
|
209
|
-
`~/.forgeax/credentials/asset3d-aw.json` as an owned, non-symlink `0600` file. Project
|
|
210
|
-
`.forgeax/mcp.json` contains only the selected service URL, matching
|
|
211
|
-
`AW_API_DEPOT_NAME=aw|ea`, and the credential-file path; it never contains the key or
|
|
212
|
-
a signed asset URL. The `AW_API_*` names are the packaged Provider's legacy
|
|
213
|
-
environment contract. The Provider access check returns only the exact download
|
|
214
|
-
origins required by the sandbox. Failed validation or installation rolls back a
|
|
215
|
-
newly written credential.
|
|
216
|
-
|
|
217
|
-
The npm package carries digest-pinned Darwin arm64 and Linux x64 Provider archives
|
|
218
|
-
as inert assets. `enable` selects only the archive matching the current host and
|
|
219
|
-
reuses the exact verified Provider from
|
|
220
|
-
`~/.forgeax/providers/asset3d-search/<sha256>/`, or provisions that packaged archive
|
|
221
|
-
when the cache is absent. It never downloads Provider code from GitHub or another
|
|
222
|
-
repository. Only after Provider verification and its MCP handshake succeed does it merge the `forgeax` and
|
|
223
|
-
`asset3d-search` entries into `.forgeax/mcp.json` and project the approved Asset3D
|
|
224
|
-
workflow into the Agent hosts selected during `install`.
|
|
225
|
-
|
|
226
|
-
`enable` also registers a project-aware `asset3d-search` bridge in those hosts. The
|
|
227
|
-
bridge entry contains no project path or credential: on each new Agent session it
|
|
228
|
-
resolves the current directory's project-local Provider. In projects where Asset3D
|
|
229
|
-
has not been enabled, the bridge connects normally but advertises no tools. Restart
|
|
230
|
-
the selected Agent after the first successful `enable` so it discovers `search_asset`.
|
|
231
|
-
|
|
232
|
-
> [!IMPORTANT]
|
|
233
|
-
> Asset3D uses the shared `X-Sandbox-Key` contract. It never reads
|
|
234
|
-
> `ANTHROPIC_API_KEY` or another model-provider key. Do not pass keys as command-line
|
|
235
|
-
> arguments, commit the user credential file, or copy a key into project MCP config.
|
|
236
|
-
|
|
237
|
-
The transaction commands are normally driven by the installed Agent workflow:
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
|
|
241
|
-
forgeax-game asset3d begin --query "weathered oak tree" --json
|
|
242
|
-
# Call asset3d-search/search_asset with the exact queries and returned execution UUID.
|
|
243
|
-
# The bridge validates the transaction, injects its private output directory, and
|
|
244
|
-
# stores the exact provider result for commit:
|
|
245
|
-
forgeax-game asset3d commit --execution <uuid> --json
|
|
246
|
-
|
|
247
|
-
forgeax-game asset3d doctor --json
|
|
248
|
-
forgeax-game asset3d uninstall
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
<details>
|
|
252
|
-
<summary>Maintainer-only local bundle installation</summary>
|
|
253
|
-
|
|
254
|
-
The low-level command remains available for producing and validating platform bundle
|
|
255
|
-
artifacts. It is not the user onboarding path.
|
|
256
|
-
|
|
257
|
-
```bash
|
|
258
|
-
forgeax-game asset3d install \
|
|
259
|
-
--provider-bundle ./asset3d-search-provider-<commit>-<os>-<arch>.tar.gz \
|
|
260
|
-
--sha256 <archive-sha256> \
|
|
261
|
-
--download-origin https://<approved-download-host>:443 \
|
|
262
|
-
--aw-base-url <ea-gateway-or-service-url> \
|
|
263
|
-
--aw-credential-file /absolute/path/to/private-credential.json
|
|
264
|
-
```
|
|
265
|
-
|
|
266
|
-
`--catalog-base-url` remains an explicit compatibility-only adapter for the retired
|
|
267
|
-
directory service; normal users should not select it.
|
|
268
|
-
|
|
269
|
-
</details>
|
|
270
|
-
|
|
271
|
-
Provider output is checked at a 1 MiB stdin boundary. The transaction ignores
|
|
272
|
-
`downloaded_to`, accepts only declared relative manifest paths contained by its
|
|
273
|
-
private quarantine, and publishes the whole asset directory under
|
|
274
|
-
`assets/3d/ea-3d/<providerAssetId>`. It invokes only the exact released Engine CLI
|
|
275
|
-
with `asset add ... --reimport-policy semantic-only --json`, then requires
|
|
276
|
-
verify/list/inspect readback before committing provenance. Same-digest content is
|
|
277
|
-
reused only after live file and catalog checks; changed content requires `--refresh`
|
|
278
|
-
and rolls back the entire prior directory on failure.
|
|
279
|
-
|
|
280
|
-
See [docs/asset3d.md](docs/asset3d.md) for the platform, origin, ownership, recovery,
|
|
281
|
-
and evidence boundaries.
|
|
173
|
+
See [usage and configuration](docs/asset3d.md) and the
|
|
174
|
+
[capability authoring template](docs/plugin-integration-standard.md).
|
|
282
175
|
|
|
283
176
|
## Scope boundary
|
|
284
177
|
|
|
@@ -289,11 +182,4 @@ and evidence boundaries.
|
|
|
289
182
|
> acceptance gates.
|
|
290
183
|
|
|
291
184
|
See [docs/runtime.md](docs/runtime.md) for the exact artifact and lifecycle contract.
|
|
292
|
-
For
|
|
293
|
-
publish checklist, see [docs/release-0.3.4.md](docs/release-0.3.4.md). The AW-default
|
|
294
|
-
plus explicit EA environment contract was introduced in
|
|
295
|
-
[docs/release-0.3.3.md](docs/release-0.3.3.md). The original AW
|
|
296
|
-
production default is recorded in [docs/release-0.3.2.md](docs/release-0.3.2.md), authenticated Provider
|
|
297
|
-
delivery is documented in [docs/release-0.3.1.md](docs/release-0.3.1.md),
|
|
298
|
-
and the original two-command onboarding contract remains documented in
|
|
299
|
-
[docs/release-0.3.0.md](docs/release-0.3.0.md).
|
|
185
|
+
For current asset configuration and the breaking simplification, see [Asset3D](docs/asset3d.md).
|