@forgeax/engine-pack 0.1.23 → 0.1.24

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.
Files changed (81) hide show
  1. package/README.md +12 -6
  2. package/dist/__tests__/material-cook-receipt-layer-plan.unit.test.d.ts +2 -0
  3. package/dist/__tests__/material-cook-receipt-layer-plan.unit.test.d.ts.map +1 -0
  4. package/dist/__tests__/pack-authoring-gateway.unit.test.d.ts +2 -0
  5. package/dist/__tests__/pack-authoring-gateway.unit.test.d.ts.map +1 -0
  6. package/dist/__tests__/pack-authoring.unit.test.d.ts +2 -0
  7. package/dist/__tests__/pack-authoring.unit.test.d.ts.map +1 -0
  8. package/dist/__tests__/pack-scanner.unit.test.d.ts +2 -0
  9. package/dist/__tests__/pack-scanner.unit.test.d.ts.map +1 -0
  10. package/dist/build.d.ts +3 -3
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/build.mjs +331 -290
  13. package/dist/build.mjs.map +1 -1
  14. package/dist/cli-asset.mjs +33 -35
  15. package/dist/cli-asset.mjs.map +1 -1
  16. package/dist/evidence/material-cook.d.ts +11 -0
  17. package/dist/evidence/material-cook.d.ts.map +1 -1
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.mjs +69 -26
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/material-cook.d.ts +1 -1
  23. package/dist/material-cook.d.ts.map +1 -1
  24. package/dist/material-cook.mjs +50 -3
  25. package/dist/material-cook.mjs.map +1 -1
  26. package/dist/{parameterized-pack-node.d.ts → pack-authoring-node.d.ts} +7 -7
  27. package/dist/pack-authoring-node.d.ts.map +1 -0
  28. package/dist/{parameterized-pack-node.mjs → pack-authoring-node.mjs} +59 -63
  29. package/dist/pack-authoring-node.mjs.map +1 -0
  30. package/dist/{parameterized-pack.d.ts → pack-authoring.d.ts} +28 -31
  31. package/dist/pack-authoring.d.ts.map +1 -0
  32. package/dist/pack-authoring.mjs +1137 -0
  33. package/dist/pack-authoring.mjs.map +1 -0
  34. package/dist/runtime.mjs +1 -1
  35. package/dist/runtime.mjs.map +1 -1
  36. package/dist/scanner.d.ts +8 -8
  37. package/dist/scanner.d.ts.map +1 -1
  38. package/dist/scanner.mjs +29 -31
  39. package/dist/scanner.mjs.map +1 -1
  40. package/dist/schema.mjs +1 -1
  41. package/dist/schema.mjs.map +1 -1
  42. package/dist/scriptable-pack-node.d.ts +4 -4
  43. package/dist/scriptable-pack-node.d.ts.map +1 -1
  44. package/dist/scriptable-pack-node.mjs +18 -20
  45. package/dist/scriptable-pack-node.mjs.map +1 -1
  46. package/dist/scriptable-pack.d.ts +3 -2
  47. package/dist/scriptable-pack.d.ts.map +1 -1
  48. package/dist/scriptable-pack.mjs +19 -23
  49. package/dist/scriptable-pack.mjs.map +1 -1
  50. package/package.json +2 -7
  51. package/schema/pack.schema.json +1 -1
  52. package/src/__tests__/material-cook-receipt-layer-plan.unit.test.ts +16 -0
  53. package/src/__tests__/material-cook-schema.unit.test.ts +62 -0
  54. package/src/__tests__/{parameterized-pack-authoring-gateway.unit.test.ts → pack-authoring-gateway.unit.test.ts} +9 -9
  55. package/src/__tests__/{parameterized-pack.unit.test.ts → pack-authoring.unit.test.ts} +10 -10
  56. package/src/__tests__/{parameterized-pack-scanner.unit.test.ts → pack-scanner.unit.test.ts} +6 -6
  57. package/src/__tests__/scanner-inventory.contract.test.ts +2 -4
  58. package/src/__tests__/scanner-inventory.test.ts +7 -6
  59. package/src/__tests__/scriptable-pack-cli.integration.test.ts +1 -1
  60. package/src/build.ts +8 -8
  61. package/src/catalog-builder.ts +3 -3
  62. package/src/cli-asset.ts +5 -5
  63. package/src/evidence/material-cook.ts +79 -3
  64. package/src/evidence/source-inventory.ts +3 -3
  65. package/src/index.ts +4 -1
  66. package/src/material-cook.ts +1 -0
  67. package/src/{parameterized-pack-node.ts → pack-authoring-node.ts} +71 -73
  68. package/src/{parameterized-pack.ts → pack-authoring.ts} +59 -74
  69. package/src/scanner.ts +26 -28
  70. package/src/schema/material-cook.schema.json +4 -1
  71. package/src/scriptable-pack-node.ts +25 -25
  72. package/src/scriptable-pack.ts +3 -2
  73. package/dist/__tests__/parameterized-pack-authoring-gateway.unit.test.d.ts +0 -2
  74. package/dist/__tests__/parameterized-pack-authoring-gateway.unit.test.d.ts.map +0 -1
  75. package/dist/__tests__/parameterized-pack-scanner.unit.test.d.ts +0 -2
  76. package/dist/__tests__/parameterized-pack-scanner.unit.test.d.ts.map +0 -1
  77. package/dist/__tests__/parameterized-pack.unit.test.d.ts +0 -2
  78. package/dist/__tests__/parameterized-pack.unit.test.d.ts.map +0 -1
  79. package/dist/parameterized-pack-node.d.ts.map +0 -1
  80. package/dist/parameterized-pack-node.mjs.map +0 -1
  81. package/dist/parameterized-pack.d.ts.map +0 -1
package/README.md CHANGED
@@ -14,7 +14,13 @@ recook 并重新验证,不手改 cooked payload。
14
14
 
15
15
  ## Authoring and recovery index
16
16
 
17
- ## Parameterized, GUID-less authoring
17
+ ## ScriptablePack Pack authoring
18
+
19
+ > [!IMPORTANT]
20
+ > 这里有两个一等 source 实体,且必须保持可见区别:`ScriptablePack` 是可执行的
21
+ > `*.pack.ts` TypeScript source;`Pack` 是可编辑、可持久化的 `*.pack.json` JSON
22
+ > source。参数化只是 ScriptablePack/Pack instance 的可选能力,不是第三种实体。
23
+ > 构建后的 Pack v2 是 transport 产物;runtime 只按 GUID 加载产物。
18
24
 
19
25
  The current authoring contract keeps one Pack identity and derives every output
20
26
  identity from the author-owned pair `(packageId, sourceKey)`:
@@ -48,7 +54,7 @@ colors, and asset-GUID kind constraints. The build return object is the whole
48
54
  current output topology: there is no output manifest, `output.add()`,
49
55
  `externalAssets`, or per-output GUID field.
50
56
 
51
- Authoring `pack.json` uses schema `3.0.0`. A direct document stores
57
+ `Pack` authoring (`*.pack.json`) uses schema `3.0.0`. A direct document stores
52
58
  `assets[sourceKey]`; an instance stores only its own `packageId`, `parent`, and
53
59
  sparse `values`. These branches are mutually exclusive. Every instance has an
54
60
  independent package identity, while the parent chain is resolved through the
@@ -57,7 +63,7 @@ transport before runtime; player code still calls `loadByGuid()` and never
57
63
  executes TypeScript or understands parameters.
58
64
 
59
65
  `@forgeax/engine-pack/build` exposes the filesystem gateway
60
- `createFileSystemParameterizedPackAuthoringGateway()`. Its read operations are
66
+ `createFileSystemPackAuthoringGateway()`. Its read operations are
61
67
  `asset.list`, `asset.inspect`, `asset.resolve`, and `asset.verify`; mutations
62
68
  are `asset-source.create`, `asset-source.clone`,
63
69
  `asset-source.create-instance`, `asset-source.apply-values`,
@@ -224,7 +230,7 @@ root barrel. The root entry remains the build-time scanner/evidence surface.
224
230
 
225
231
  ## Quick start
226
232
 
227
- ### Parameterized ScriptablePack source
233
+ ### ScriptablePack source (`*.pack.ts`)
228
234
 
229
235
  Use `@forgeax/engine-pack/source` when one trusted TypeScript source declares
230
236
  and builds a multi-asset package. The definition owns one stable `packageId`;
@@ -260,7 +266,7 @@ vectors, colors, and asset-GUID constraints. The isolated Pack worker passes
260
266
  only serializable authoring data to the build and never exposes filesystem or
261
267
  runtime state.
262
268
 
263
- `forgeax-engine-remote-asset meta <source.pack.ts> --json` executes module initialization, validates the default export, and projects canonical Meta without calling `build`. `@forgeax/engine-pack/source-node` accepts a host executor with `load` and optional `dispose`; `timeoutMs` bounds module initialization and `buildTimeoutMs` bounds one `build(reader)` call. A build timeout returns one structured `pack-source-load-failed` Result with `detail.phase: 'build'`, the configured `timeoutMs`, and deterministic cleanup of the isolated worker and compile root.
269
+ `forgeax-engine-remote-asset meta <source.pack.ts> --json` executes module initialization, validates the default export, and projects canonical Meta without calling `build`. `@forgeax/engine-pack/source-node` accepts a host executor with `load` and optional `dispose`; `timeoutMs` bounds module initialization and `buildTimeoutMs` bounds one `build(context)` call. A build timeout returns one structured `pack-source-load-failed` Result with `detail.phase: 'build'`, the configured `timeoutMs`, and deterministic cleanup of the isolated worker and compile root.
264
270
 
265
271
  The default worker executes the complete relative TypeScript module closure on the supported Node floor, including Node 22 hosts that do not load `.ts` files directly. It transpiles that closure into a disposable ESM directory, resolves bare imports through the source project's nearest `node_modules`, and removes the directory when the worker is disposed. Bulk producers use the internal `createScriptablePackModuleExecutorPool()` with two recyclable workers; a pooled lease is released after metadata projection or one build, so a generation never retains one live Worker-backed definition per source.
266
272
 
@@ -272,7 +278,7 @@ The default worker executes the complete relative TypeScript module closure on t
272
278
  > TypeScript remains inspectable and rebuildable, but unsupported structural
273
279
  > edits fail closed with stable `pack-source-*` errors.
274
280
 
275
- `SOURCE_AUTHORING_OPERATION_DESCRIPTORS` is the producer-owned structured capability manifest for tools. The existing `asset.preflight` operation returns the current revision, canonical Meta, incoming references, and shape-derived mutation capabilities before any write.
281
+ `PACK_AUTHORING_OPERATION_DESCRIPTORS` is the producer-owned structured capability manifest for tools. The existing `asset.preflight` operation returns the current revision, canonical Meta, incoming references, and shape-derived mutation capabilities before any write.
276
282
 
277
283
  ```typescript
278
284
  import { AssetGuid } from "@forgeax/engine/pack/guid";
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=material-cook-receipt-layer-plan.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"material-cook-receipt-layer-plan.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/material-cook-receipt-layer-plan.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pack-authoring-gateway.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-authoring-gateway.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/pack-authoring-gateway.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pack-authoring.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-authoring.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/pack-authoring.unit.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pack-scanner.unit.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pack-scanner.unit.test.d.ts","sourceRoot":"","sources":["../../src/__tests__/pack-scanner.unit.test.ts"],"names":[],"mappings":""}
package/dist/build.d.ts CHANGED
@@ -11,14 +11,14 @@ export { projectAssetRefs, projectSceneEntityRefs } from './inventory/binding.js
11
11
  export { type AuthorInventory, type AuthorInventoryRow, type InventoryError, type InventoryErrorCode, validateAuthorInventory, } from './inventory/declaration.js';
12
12
  export { inventoryDigest, syncAuthorInventory } from './inventory/sync.js';
13
13
  export { decodeMeshBinHeader, MESH_BIN_DIGEST_BYTES, MESH_BIN_HEADER_V4_BYTES, MESH_BIN_PROJECTION_VERSION, MESH_BIN_VERSION, type MeshBinContractError, type MeshBinHeaderResult, type MeshBinHeaderV4, writeMeshBinHeader, } from './mesh-bin-contract.js';
14
+ export * from './pack-authoring.js';
15
+ export { createFileSystemPackAuthoringGateway, createFileSystemPackAuthoringPort, type FileSystemPackAuthoringOptions, type PackAuthoringMaterializedAsset, } from './pack-authoring-node.js';
14
16
  export { type FinalizedPackageProduct, finalizePackageProduct, finalizePackageTransportSource, type PackageArtifactBody, type PackageFinalizePolicy, type PackageFinalizeResult, type PackageFinalizerError, type PackageProduct, type PackageProductAsset, packageTransportRevision, } from './package-finalizer.js';
15
- export * from './parameterized-pack.js';
16
- export { createFileSystemParameterizedPackAuthoringGateway, createFileSystemParameterizedPackAuthoringPort, type FileSystemParameterizedPackAuthoringOptions, type ParameterizedPackMaterializedAsset, } from './parameterized-pack-node.js';
17
17
  export { validateProducerContract, validateProducerOutputs } from './producer-contract.js';
18
18
  export { resolveAssetSource } from './resolve-asset-source.js';
19
19
  export { parsePackV2, validateMeta, validatePack, validatePackV2 } from './runtime.js';
20
20
  export { createRuntimePackPublication, type RuntimePackAssetInput, type RuntimePackEnvelope, type RuntimePackInput, type RuntimePackPublication, type RuntimePackPublicationInput, } from './runtime-publication.js';
21
- export { type InventoryDeclaration, type LegacyPackInventoryDocument, type PackInventoryAsset, type PackInventoryDocument, type ParameterizedPackInventoryDocument, type ScanInventory, type ScanOptions, type ScanSourceDeclaration, type ScriptablePackInventoryDeclaration, type ScriptablePackScanOptions, STANDARD_SCRIPTABLE_PACK_SCAN_OPTIONS, scanInventory, } from './scanner.js';
21
+ export { type InventoryDeclaration, type LegacyPackInventoryDocument, type PackInventoryAsset, type PackInventoryDocument, type PackSourceInventoryDocument, type ScanInventory, type ScanOptions, type ScanSourceDeclaration, type ScriptablePackInventoryDeclaration, type ScriptablePackScanOptions, STANDARD_SCRIPTABLE_PACK_SCAN_OPTIONS, scanInventory, } from './scanner.js';
22
22
  export { type AssetReader, isScriptablePackAssetKind, projectScriptablePackSceneComponents, SCRIPTABLE_PACK_ASSET_KINDS, type ScriptablePackAssetKind, type ScriptablePackReadError, type ScriptablePackSourceClosureEntry, } from './scriptable-pack.js';
23
23
  export { calculateTopologyDiff, diffTopology } from './topology.js';
24
24
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,aAAa,EACb,cAAc,EACd,KAAK,EACL,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,MAAM,EACN,WAAW,EACX,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EACL,sBAAsB,EACtB,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,yBAAyB,EAC9B,oBAAoB,EACpB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,KAAK,mBAAmB,EACxB,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,sBAAsB,GAC5B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,KAAK,oBAAoB,EACzB,uBAAuB,EACvB,4BAA4B,EAC5B,KAAK,oBAAoB,EACzB,KAAK,+BAA+B,EACpC,KAAK,mBAAmB,EACxB,KAAK,uBAAuB,EAC5B,KAAK,gBAAgB,EACrB,2BAA2B,EAC3B,6BAA6B,EAC7B,4BAA4B,EAC5B,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAChG,OAAO,EACL,SAAS,EACT,sBAAsB,EACtB,oBAAoB,EACpB,kBAAkB,EAClB,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EACL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,uBAAuB,GACxB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,wBAAwB,EACxB,2BAA2B,EAC3B,gBAAgB,EAChB,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,eAAe,EACpB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,KAAK,uBAAuB,EAC5B,sBAAsB,EACtB,8BAA8B,EAC9B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,qBAAqB,EAC1B,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,wBAAwB,GACzB,MAAM,wBAAwB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,iDAAiD,EACjD,8CAA8C,EAC9C,KAAK,2CAA2C,EAChD,KAAK,kCAAkC,GACxC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,wBAAwB,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AAC3F,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACvF,OAAO,EACL,4BAA4B,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,KAAK,oBAAoB,EACzB,KAAK,2BAA2B,EAChC,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,EACvC,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,qBAAqB,EAC1B,KAAK,kCAAkC,EACvC,KAAK,yBAAyB,EAC9B,qCAAqC,EACrC,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,KAAK,WAAW,EAChB,yBAAyB,EACzB,oCAAoC,EACpC,2BAA2B,EAC3B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,gCAAgC,GACtC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}