@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 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
- See [0.3.5 compatibility notes](docs/release-0.3.5.md) before upgrading games pinned
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 **disabled by default**. The two commands above never contact
74
- > the internal asset catalog, provision the bundled platform Provider, or add
75
- > `asset3d-search` to the project. Enable it only in an already initialized project:
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 requires the separately installed
108
- project-local `asset3d-search/search_asset` tool. When it is absent, Agents must report
109
- `BLOCKED(asset-library-tools-missing)` instead of relabeling procedural geometry or
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 installation and transaction
166
+ ## Asset3D: Skill + CLI
182
167
 
183
- Asset3D is an opt-in, project-local MCP integration for AW or EA HybridSearch. Run it
184
- only after `init`. The no-argument command remains public-network compatible; select
185
- EA explicitly when connected to the office network:
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
- ```bash
188
- # Public/default
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 the current AW-default plus explicit EA environment contract and maintainer
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).