@forgeax/engine-import 0.1.23 → 0.1.25
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 +5 -5
- package/dist/__tests__/scriptable-pack-build.unit.test.d.ts +2 -0
- package/dist/__tests__/scriptable-pack-build.unit.test.d.ts.map +1 -0
- package/dist/build-production.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +284 -60
- package/dist/index.mjs.map +1 -1
- package/dist/{parameterized-scriptable-pack.d.ts → scriptable-pack-build.d.ts} +20 -15
- package/dist/scriptable-pack-build.d.ts.map +1 -0
- package/dist/scriptable-pack-host.d.ts +15 -13
- package/dist/scriptable-pack-host.d.ts.map +1 -1
- package/dist/scriptable-pack.d.ts +2 -1
- package/dist/scriptable-pack.d.ts.map +1 -1
- package/dist/source-package-publication.d.ts +7 -0
- package/dist/source-package-publication.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/{parameterized-scriptable-pack.unit.test.ts → scriptable-pack-build.unit.test.ts} +11 -14
- package/src/__tests__/scriptable-pack-host.unit.test.ts +53 -5
- package/src/__tests__/scriptable-pack-output-producers.unit.test.ts +4 -5
- package/src/__tests__/source-package-publication.integration.test.ts +141 -0
- package/src/build-production.ts +45 -50
- package/src/index.ts +17 -16
- package/src/{parameterized-scriptable-pack.ts → scriptable-pack-build.ts} +91 -27
- package/src/scriptable-pack-host.ts +48 -40
- package/src/scriptable-pack.ts +2 -1
- package/src/source-package-publication.ts +242 -10
- package/dist/__tests__/parameterized-scriptable-pack.unit.test.d.ts +0 -2
- package/dist/__tests__/parameterized-scriptable-pack.unit.test.d.ts.map +0 -1
- package/dist/parameterized-scriptable-pack.d.ts.map +0 -1
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { type
|
|
1
|
+
import { type NativeCooker } from '@forgeax/engine-pack/native-cooker';
|
|
2
|
+
import { type AnyScriptablePackDefinition, type PackAuthoringError, PackageId, type PackParameterValue } from '@forgeax/engine-pack/source';
|
|
2
3
|
import type { AssetPublicationEnvelope, Result } from '@forgeax/engine-types';
|
|
3
4
|
import { AssetError, ImportError } from '@forgeax/engine-types';
|
|
4
5
|
import { type TerminalImportProduct } from './import-product.js';
|
|
5
|
-
import type { AssetOutputProducerRegistry,
|
|
6
|
-
export interface
|
|
7
|
-
readonly definition:
|
|
6
|
+
import type { AssetOutputProducerRegistry, PackBuildProduct, ScriptablePackAssetSnapshotSource, ScriptablePackDomainError, ScriptablePackSourceClosureEntry, ScriptablePackStagedOutput } from './scriptable-pack.js';
|
|
7
|
+
export interface ScriptablePackBuildOptions {
|
|
8
|
+
readonly definition: AnyScriptablePackDefinition;
|
|
8
9
|
readonly sourcePath: string;
|
|
9
10
|
/** Instance identity. Omitted for a root source and defaults to definition.packageId. */
|
|
10
11
|
readonly subjectPackageId?: PackageId;
|
|
@@ -14,6 +15,8 @@ export interface ParameterizedScriptablePackBuildOptions {
|
|
|
14
15
|
readonly inheritedValues?: Readonly<Record<string, PackParameterValue>>;
|
|
15
16
|
readonly assetSource?: ScriptablePackAssetSnapshotSource;
|
|
16
17
|
readonly outputs: AssetOutputProducerRegistry;
|
|
18
|
+
/** Optional build-time cookers for authored producer outputs that need artifacts. */
|
|
19
|
+
readonly cookers?: readonly NativeCooker[];
|
|
17
20
|
readonly sourceClosure?: readonly ScriptablePackSourceClosureEntry[];
|
|
18
21
|
readonly authoringContractVersion?: string;
|
|
19
22
|
/** Known published GUIDs used for the optional global reference gate. */
|
|
@@ -22,10 +25,10 @@ export interface ParameterizedScriptablePackBuildOptions {
|
|
|
22
25
|
readonly deferReferenceValidation?: boolean;
|
|
23
26
|
readonly publication?: AssetPublicationEnvelope;
|
|
24
27
|
}
|
|
25
|
-
export interface
|
|
28
|
+
export interface ScriptablePackBuildProduct extends PackBuildProduct {
|
|
26
29
|
readonly publication?: AssetPublicationEnvelope;
|
|
27
30
|
}
|
|
28
|
-
export type
|
|
31
|
+
export type ScriptablePackBuildResult = Result<ScriptablePackBuildProduct, PackAuthoringError | ScriptablePackDomainError | AssetError | ImportError | {
|
|
29
32
|
readonly code: string;
|
|
30
33
|
readonly expected: string;
|
|
31
34
|
readonly hint: string;
|
|
@@ -35,34 +38,36 @@ export type ParameterizedScriptablePackBuildResult = Result<ParameterizedScripta
|
|
|
35
38
|
* Execute a v2 Pack source and project its dynamic output map through the
|
|
36
39
|
* existing importer producers. No output GUID or output manifest is read.
|
|
37
40
|
*/
|
|
38
|
-
export declare function
|
|
39
|
-
export interface
|
|
40
|
-
readonly definition:
|
|
41
|
+
export declare function buildScriptablePack(options: ScriptablePackBuildOptions): Promise<ScriptablePackBuildResult>;
|
|
42
|
+
export interface ScriptablePackBuildWorkItem {
|
|
43
|
+
readonly definition: AnyScriptablePackDefinition;
|
|
41
44
|
readonly sourcePath: string;
|
|
42
45
|
readonly subjectPackageId?: PackageId;
|
|
43
46
|
readonly values?: Readonly<Record<string, unknown>>;
|
|
44
47
|
readonly inheritedValues?: Readonly<Record<string, PackParameterValue>>;
|
|
45
48
|
readonly sourceClosure?: readonly ScriptablePackSourceClosureEntry[];
|
|
46
49
|
}
|
|
47
|
-
export interface
|
|
48
|
-
readonly subjects: readonly
|
|
50
|
+
export interface ScriptablePackBuildWorklistOptions {
|
|
51
|
+
readonly subjects: readonly ScriptablePackBuildWorkItem[];
|
|
49
52
|
readonly outputs: AssetOutputProducerRegistry;
|
|
53
|
+
/** Optional build-time cookers forwarded to each authored Pack subject. */
|
|
54
|
+
readonly cookers?: readonly NativeCooker[];
|
|
50
55
|
readonly assetSource?: ScriptablePackAssetSnapshotSource;
|
|
51
56
|
readonly availableGuids?: ReadonlySet<string>;
|
|
52
57
|
readonly incomingRefs?: ReadonlyMap<string, readonly string[]>;
|
|
53
58
|
readonly maxPasses?: number;
|
|
54
59
|
}
|
|
55
|
-
export interface
|
|
60
|
+
export interface ScriptablePackBuildWorklistProduct {
|
|
56
61
|
readonly products: readonly TerminalImportProduct<unknown>[];
|
|
57
|
-
readonly buildProducts: readonly
|
|
62
|
+
readonly buildProducts: readonly ScriptablePackBuildProduct[];
|
|
58
63
|
readonly stagedOutputs: readonly ScriptablePackStagedOutput[];
|
|
59
64
|
readonly iterations: number;
|
|
60
65
|
}
|
|
61
66
|
/** Build subjects in stable passes; content reads may wait for a later subject. */
|
|
62
|
-
export declare function
|
|
67
|
+
export declare function buildScriptablePackWorklist(options: ScriptablePackBuildWorklistOptions): Promise<Result<ScriptablePackBuildWorklistProduct, PackAuthoringError | ScriptablePackDomainError | AssetError | ImportError | {
|
|
63
68
|
readonly code: string;
|
|
64
69
|
readonly expected: string;
|
|
65
70
|
readonly hint: string;
|
|
66
71
|
readonly detail?: unknown;
|
|
67
72
|
}>>;
|
|
68
|
-
//# sourceMappingURL=
|
|
73
|
+
//# sourceMappingURL=scriptable-pack-build.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scriptable-pack-build.d.ts","sourceRoot":"","sources":["../src/scriptable-pack-build.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,35 +2,37 @@ import { finalizePackageTransportSource, type PackageFinalizePolicy } from '@for
|
|
|
2
2
|
import { type PackageId as PackageIdType } from '@forgeax/engine-pack/guid';
|
|
3
3
|
import { type NativeCooker } from '@forgeax/engine-pack/native-cooker';
|
|
4
4
|
import type { LegacyPackInventoryDocument, ScanSourceDeclaration } from '@forgeax/engine-pack/scanner';
|
|
5
|
-
import { type
|
|
5
|
+
import { type AnyScriptablePackDefinition, type DirectPackAssetProjection, type ScriptablePackSourceClosureEntry } from '@forgeax/engine-pack/source';
|
|
6
6
|
import type { AssetGuid as AssetGuidType, AssetPublicationEnvelope, AssetPublicationOutput, ResourceRevision, Result } from '@forgeax/engine-types';
|
|
7
7
|
import type { DdcPack, ImportRunnerFs } from './import-runner.js';
|
|
8
8
|
import type { ImporterRegistry } from './importer-registry.js';
|
|
9
|
-
import { type ParameterizedScriptablePackBuildProduct } from './parameterized-scriptable-pack.js';
|
|
10
9
|
import type { ScriptablePackAssetSnapshotSource, ScriptablePackStagedOutput } from './scriptable-pack.js';
|
|
10
|
+
import { type ScriptablePackBuildProduct } from './scriptable-pack-build.js';
|
|
11
11
|
type FinalizedPackageTransport = Awaited<ReturnType<typeof finalizePackageTransportSource>>;
|
|
12
|
-
export interface
|
|
12
|
+
export interface ScriptablePackInput {
|
|
13
13
|
readonly sourcePath: string;
|
|
14
14
|
readonly displaySourcePath: string;
|
|
15
|
-
readonly definition:
|
|
15
|
+
readonly definition: AnyScriptablePackDefinition;
|
|
16
16
|
readonly sourceClosure: readonly ScriptablePackSourceClosureEntry[];
|
|
17
17
|
readonly publicationGeneration: number;
|
|
18
|
-
readonly policy: PackageFinalizePolicy | ((product:
|
|
18
|
+
readonly policy: PackageFinalizePolicy | ((product: ScriptablePackBuildProduct) => PackageFinalizePolicy);
|
|
19
19
|
readonly subjectPackageId?: PackageIdType;
|
|
20
20
|
readonly values?: Readonly<Record<string, unknown>>;
|
|
21
21
|
readonly inheritedValues?: Readonly<Record<string, import('@forgeax/engine-pack/source').PackParameterValue>>;
|
|
22
22
|
}
|
|
23
|
-
export interface
|
|
24
|
-
readonly product:
|
|
23
|
+
export interface PreparedScriptablePack {
|
|
24
|
+
readonly product: ScriptablePackBuildProduct;
|
|
25
25
|
readonly finalized: FinalizedPackageTransport;
|
|
26
26
|
readonly facts: ScriptablePackPublicationFacts;
|
|
27
27
|
readonly revision: ResourceRevision;
|
|
28
28
|
readonly publication: AssetPublicationEnvelope;
|
|
29
29
|
}
|
|
30
|
-
export interface
|
|
31
|
-
readonly sources: readonly
|
|
30
|
+
export interface ScriptablePackProductionOptions {
|
|
31
|
+
readonly sources: readonly ScriptablePackInput[];
|
|
32
32
|
readonly declaredExternalOutputs?: readonly ScriptablePackStagedOutput[];
|
|
33
33
|
readonly assetSource?: ScriptablePackAssetSnapshotSource;
|
|
34
|
+
/** Build-time producers used for custom or otherwise uncooked asset rows. */
|
|
35
|
+
readonly cookers?: readonly NativeCooker[];
|
|
34
36
|
readonly availableGuids?: ReadonlySet<string>;
|
|
35
37
|
readonly incomingRefs?: ReadonlyMap<string, readonly string[]>;
|
|
36
38
|
readonly maxPasses?: number;
|
|
@@ -73,7 +75,7 @@ export interface DirectPackTransport {
|
|
|
73
75
|
readonly packageId: string;
|
|
74
76
|
readonly assets: readonly DirectPackAssetProjection[];
|
|
75
77
|
};
|
|
76
|
-
readonly product:
|
|
78
|
+
readonly product: ScriptablePackBuildProduct;
|
|
77
79
|
readonly finalized: FinalizedPackageTransport;
|
|
78
80
|
readonly facts: ScriptablePackPublicationFacts;
|
|
79
81
|
readonly revision: ResourceRevision;
|
|
@@ -92,12 +94,12 @@ export declare function prepareDirectPackTransport(input: DirectPackTransportInp
|
|
|
92
94
|
/** Normalize one explicit Pack v2 transport and invoke its registered cookers once. */
|
|
93
95
|
export declare function prepareLegacyPackTransport(authoredPack: LegacyPackInventoryDocument, cookers: readonly NativeCooker[] | undefined, policyFor: (guid: string) => PackageFinalizePolicy, sourcePath?: string): Promise<LegacyPackTransport>;
|
|
94
96
|
/** Materialize a dynamic Pack product through the same dev transport seam. */
|
|
95
|
-
export declare function
|
|
97
|
+
export declare function materializePreparedScriptablePack(prepared: PreparedScriptablePack, paths: ScriptablePackTransportPaths, sink: ScriptablePackTransportSink): Promise<ReadonlyMap<string, string>>;
|
|
96
98
|
/**
|
|
97
|
-
* Build
|
|
99
|
+
* Build ScriptablePack sources in one generation and hand their terminal
|
|
98
100
|
* products to the ordinary Pack v2 finalizer. The worklist is deliberately
|
|
99
101
|
* below publication: it only decides which current-generation products exist.
|
|
100
102
|
*/
|
|
101
|
-
export declare function
|
|
103
|
+
export declare function produceScriptablePackProducts(options: ScriptablePackProductionOptions): Promise<Result<ReadonlyMap<string, PreparedScriptablePack>, unknown>>;
|
|
102
104
|
export {};
|
|
103
105
|
//# sourceMappingURL=scriptable-pack-host.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scriptable-pack-host.d.ts","sourceRoot":"","sources":["../src/scriptable-pack-host.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,8BAA8B,EAC9B,KAAK,qBAAqB,EAI3B,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAwB,KAAK,SAAS,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAClG,OAAO,EAEL,KAAK,YAAY,EAElB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACV,2BAA2B,EAC3B,qBAAqB,EACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,KAAK,
|
|
1
|
+
{"version":3,"file":"scriptable-pack-host.d.ts","sourceRoot":"","sources":["../src/scriptable-pack-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -108,7 +108,8 @@ export interface ScriptablePackExternalEvidence {
|
|
|
108
108
|
readonly generation?: number;
|
|
109
109
|
readonly digest?: string;
|
|
110
110
|
}
|
|
111
|
-
|
|
111
|
+
/** Shared terminal product envelope for every Pack source form. */
|
|
112
|
+
export interface PackBuildProduct {
|
|
112
113
|
readonly product: TerminalImportProduct<unknown>;
|
|
113
114
|
readonly stagedOutputs: readonly ScriptablePackStagedOutput[];
|
|
114
115
|
readonly externalEvidence: readonly ScriptablePackExternalEvidence[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scriptable-pack.d.ts","sourceRoot":"","sources":["../src/scriptable-pack.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"scriptable-pack.d.ts","sourceRoot":"","sources":["../src/scriptable-pack.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,8 +17,15 @@ export interface ImportPublicationInput {
|
|
|
17
17
|
readonly transport?: {
|
|
18
18
|
readonly path: string;
|
|
19
19
|
readonly body: string;
|
|
20
|
+
/** Complete package-relative artifact closure for the published Pack. */
|
|
21
|
+
readonly artifacts?: readonly ImportPublicationArtifact[];
|
|
20
22
|
};
|
|
21
23
|
}
|
|
24
|
+
export interface ImportPublicationArtifact {
|
|
25
|
+
readonly path: string;
|
|
26
|
+
readonly mediaType: string;
|
|
27
|
+
readonly bytes: Uint8Array;
|
|
28
|
+
}
|
|
22
29
|
export interface ImportPublicationError {
|
|
23
30
|
readonly code: SourcePackageError['code'];
|
|
24
31
|
readonly expected: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-package-publication.d.ts","sourceRoot":"","sources":["../src/source-package-publication.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"source-package-publication.d.ts","sourceRoot":"","sources":["../src/source-package-publication.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,2BAA2B,EAChC,oBAAoB,EACpB,KAAK,OAAO,EAGb,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,KAAK,YAAY,EAGjB,KAAK,gBAAgB,EAEtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,EAE/B,MAAM,4BAA4B,CAAC;AAQpC,UAAU,sBAAuB,SAAQ,2BAA2B;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAC;IACvC,QAAQ,CAAC,OAAO,EAAE,yBAAyB,CAAC;CAC7C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,eAAe,EAAE,SAAS,YAAY,EAAE,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,SAAS,YAAY,EAAE,CAAC;IAC9C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QACtB,yEAAyE;QACzE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,yBAAyB,EAAE,CAAC;KAC3D,CAAC;CACH;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,kBAAkB,CAAC;CACzC;AAED,MAAM,MAAM,uBAAuB,GAC/B;IACE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC,GACD;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAE3F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,GAAG,EAAE,sBAAsB,CAAC;IACrC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,SAAS,YAAY,EAAE,CAAC;IAC1C,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;CACrC;AAED,MAAM,MAAM,6BAA6B,GACrC;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAA;CAAE,GAClE;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,sBAAsB,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAyW3F,wBAAsB,wBAAwB,CAC5C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,uBAAuB,CAAC,CAIlC;AAED,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,sBAAsB,GAC5B,OAAO,CAAC,6BAA6B,CAAC,CA+DxC;AAED,wBAAsB,uBAAuB,CAC3C,SAAS,EAAE,uBAAuB,GACjC,OAAO,CAAC,uBAAuB,CAAC,CAmDlC;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED,wBAAsB,wBAAwB,CAAC,SAAS,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@forgeax/engine-import",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.25",
|
|
4
4
|
"private": false,
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -27,13 +27,13 @@
|
|
|
27
27
|
"LICENSE"
|
|
28
28
|
],
|
|
29
29
|
"dependencies": {
|
|
30
|
-
"@forgeax/engine-ddc": "0.1.
|
|
31
|
-
"@forgeax/engine-ecs": "0.1.
|
|
32
|
-
"@forgeax/engine-geometry": "0.1.
|
|
33
|
-
"@forgeax/engine-pack": "0.1.
|
|
34
|
-
"@forgeax/engine-scene": "0.1.
|
|
35
|
-
"@forgeax/engine-shader": "0.1.
|
|
36
|
-
"@forgeax/engine-types": "0.1.
|
|
30
|
+
"@forgeax/engine-ddc": "0.1.25",
|
|
31
|
+
"@forgeax/engine-ecs": "0.1.25",
|
|
32
|
+
"@forgeax/engine-geometry": "0.1.25",
|
|
33
|
+
"@forgeax/engine-pack": "0.1.25",
|
|
34
|
+
"@forgeax/engine-scene": "0.1.25",
|
|
35
|
+
"@forgeax/engine-shader": "0.1.25",
|
|
36
|
+
"@forgeax/engine-types": "0.1.25",
|
|
37
37
|
"@noble/hashes": "^2.2.0"
|
|
38
38
|
},
|
|
39
39
|
"devDependencies": {
|
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import { AssetGuid, definePack, definePackageId, PackageId } from '@forgeax/engine-pack/source';
|
|
2
2
|
import { err, ok } from '@forgeax/engine-types';
|
|
3
3
|
import { describe, expect, it } from 'vitest';
|
|
4
|
-
import {
|
|
5
|
-
buildParameterizedScriptablePack,
|
|
6
|
-
buildParameterizedScriptablePackWorklist,
|
|
7
|
-
} from '../parameterized-scriptable-pack.js';
|
|
8
4
|
import type { ScriptablePackAssetSnapshotSource } from '../scriptable-pack.js';
|
|
9
5
|
import { AssetOutputProducerRegistry } from '../scriptable-pack.js';
|
|
10
|
-
import {
|
|
6
|
+
import { buildScriptablePack, buildScriptablePackWorklist } from '../scriptable-pack-build.js';
|
|
7
|
+
import { produceScriptablePackProducts } from '../scriptable-pack-host.js';
|
|
11
8
|
|
|
12
9
|
function id(value: string) {
|
|
13
10
|
const result = PackageId.parse(value);
|
|
@@ -29,7 +26,7 @@ function producers() {
|
|
|
29
26
|
return registry;
|
|
30
27
|
}
|
|
31
28
|
|
|
32
|
-
describe('
|
|
29
|
+
describe('ScriptablePack import bridge with optional parameters', () => {
|
|
33
30
|
it('uses the subject packageId and dynamic sourceKey output map', async () => {
|
|
34
31
|
const packageId = definePackageId('01900000-0000-7000-8000-000000000040');
|
|
35
32
|
const definition = definePack({
|
|
@@ -43,7 +40,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
43
40
|
),
|
|
44
41
|
),
|
|
45
42
|
});
|
|
46
|
-
const result = await
|
|
43
|
+
const result = await buildScriptablePack({
|
|
47
44
|
definition,
|
|
48
45
|
sourcePath: 'assets/param.pack.ts',
|
|
49
46
|
values: { count: 2 },
|
|
@@ -79,7 +76,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
79
76
|
return ok({ 'scene/second': scene() });
|
|
80
77
|
},
|
|
81
78
|
});
|
|
82
|
-
const result = await
|
|
79
|
+
const result = await buildScriptablePackWorklist({
|
|
83
80
|
subjects: [
|
|
84
81
|
// Keep the dependency consumer first even after the worklist applies
|
|
85
82
|
// its stable source-path ordering, so this proves a real retry pass.
|
|
@@ -103,7 +100,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
103
100
|
return ok({ 'scene/main': scene() });
|
|
104
101
|
},
|
|
105
102
|
});
|
|
106
|
-
const result = await
|
|
103
|
+
const result = await buildScriptablePackWorklist({
|
|
107
104
|
subjects: [{ definition, sourcePath: 'assets/missing.pack.ts' }],
|
|
108
105
|
outputs: producers(),
|
|
109
106
|
});
|
|
@@ -143,7 +140,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
143
140
|
return ok({ 'scene/main': scene() });
|
|
144
141
|
},
|
|
145
142
|
});
|
|
146
|
-
const result = await
|
|
143
|
+
const result = await produceScriptablePackProducts({
|
|
147
144
|
sources: [
|
|
148
145
|
{
|
|
149
146
|
sourcePath: 'assets/consumer.pack.ts',
|
|
@@ -195,7 +192,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
195
192
|
return ok({ 'scene/main': scene() });
|
|
196
193
|
},
|
|
197
194
|
});
|
|
198
|
-
const result = await
|
|
195
|
+
const result = await produceScriptablePackProducts({
|
|
199
196
|
sources: [
|
|
200
197
|
{
|
|
201
198
|
sourcePath: 'assets/failing-consumer.pack.ts',
|
|
@@ -224,7 +221,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
224
221
|
throw new Error('producer exploded');
|
|
225
222
|
},
|
|
226
223
|
});
|
|
227
|
-
const result = await
|
|
224
|
+
const result = await buildScriptablePack({
|
|
228
225
|
definition: definePack({
|
|
229
226
|
schemaVersion: '2.0.0',
|
|
230
227
|
packageId: id('01900000-0000-7000-8000-000000000065'),
|
|
@@ -243,7 +240,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
243
240
|
version: 'test',
|
|
244
241
|
produce: () => ({ ok: true, value: null }) as never,
|
|
245
242
|
});
|
|
246
|
-
const result = await
|
|
243
|
+
const result = await buildScriptablePack({
|
|
247
244
|
definition: definePack({
|
|
248
245
|
schemaVersion: '2.0.0',
|
|
249
246
|
packageId: id('01900000-0000-7000-8000-000000000066'),
|
|
@@ -256,7 +253,7 @@ describe('parameterized ScriptablePack import bridge', () => {
|
|
|
256
253
|
});
|
|
257
254
|
|
|
258
255
|
it('converts a malformed Pack build result into a structured import failure', async () => {
|
|
259
|
-
const result = await
|
|
256
|
+
const result = await buildScriptablePack({
|
|
260
257
|
definition: definePack({
|
|
261
258
|
schemaVersion: '2.0.0',
|
|
262
259
|
packageId: id('01900000-0000-7000-8000-000000000067'),
|
|
@@ -2,10 +2,10 @@ import { resolve } from 'node:path';
|
|
|
2
2
|
import { AssetGuid, PackageId } from '@forgeax/engine-pack/guid';
|
|
3
3
|
import type { NativeCooker } from '@forgeax/engine-pack/native-cooker';
|
|
4
4
|
import type {
|
|
5
|
-
|
|
5
|
+
PackSourceInventoryDocument,
|
|
6
6
|
ScanSourceDeclaration,
|
|
7
7
|
} from '@forgeax/engine-pack/scanner';
|
|
8
|
-
import {
|
|
8
|
+
import { parsePackSourceJson, projectDirectPackJson } from '@forgeax/engine-pack/source';
|
|
9
9
|
import type {
|
|
10
10
|
Asset,
|
|
11
11
|
AssetGuid as AssetGuidType,
|
|
@@ -17,6 +17,7 @@ import { ImporterRegistry } from '../importer-registry.js';
|
|
|
17
17
|
import {
|
|
18
18
|
declaredPackExternalOutputs,
|
|
19
19
|
prepareDirectPackTransport,
|
|
20
|
+
prepareLegacyPackTransport,
|
|
20
21
|
} from '../scriptable-pack-host.js';
|
|
21
22
|
|
|
22
23
|
const GUID = '019ffa97-0000-7000-8000-000000000001';
|
|
@@ -97,7 +98,7 @@ describe('ScriptablePack external Meta staging', () => {
|
|
|
97
98
|
if (!packageId.ok) throw packageId.error;
|
|
98
99
|
const outputGuid = AssetGuid.format(AssetGuid.derive(packageId.value, 'vfx/main'));
|
|
99
100
|
const materialGuid = '019ffa97-0000-7000-8000-000000000099';
|
|
100
|
-
const value:
|
|
101
|
+
const value: PackSourceInventoryDocument = {
|
|
101
102
|
schemaVersion: '3.0.0',
|
|
102
103
|
packageId: PackageId.format(packageId.value),
|
|
103
104
|
assets: {
|
|
@@ -177,7 +178,7 @@ describe('ScriptablePack external Meta staging', () => {
|
|
|
177
178
|
const packageId = PackageId.parse('019ffa97-0000-0000-8000-000000000010');
|
|
178
179
|
if (!packageId.ok) throw packageId.error;
|
|
179
180
|
const outputGuid = AssetGuid.format(AssetGuid.derive(packageId.value, 'ui/main'));
|
|
180
|
-
const value:
|
|
181
|
+
const value: PackSourceInventoryDocument = {
|
|
181
182
|
schemaVersion: '3.0.0',
|
|
182
183
|
packageId: PackageId.format(packageId.value),
|
|
183
184
|
assets: {
|
|
@@ -231,7 +232,7 @@ describe('ScriptablePack external Meta staging', () => {
|
|
|
231
232
|
},
|
|
232
233
|
},
|
|
233
234
|
};
|
|
234
|
-
const parsed =
|
|
235
|
+
const parsed = parsePackSourceJson(value);
|
|
235
236
|
expect(parsed.ok).toBe(true);
|
|
236
237
|
if (!parsed.ok || parsed.value.format !== 'direct') return;
|
|
237
238
|
const projected = projectDirectPackJson(parsed.value);
|
|
@@ -275,4 +276,51 @@ describe('ScriptablePack external Meta staging', () => {
|
|
|
275
276
|
},
|
|
276
277
|
]);
|
|
277
278
|
});
|
|
279
|
+
|
|
280
|
+
it('publishes already-cooked Engine-owned materials from legacy Pack v2', async () => {
|
|
281
|
+
const guid = '019ffa97-0000-0000-8000-000000000012';
|
|
282
|
+
const result = await prepareLegacyPackTransport(
|
|
283
|
+
{
|
|
284
|
+
schemaVersion: '2.0.0',
|
|
285
|
+
kind: 'internal-text-package',
|
|
286
|
+
assets: [
|
|
287
|
+
{
|
|
288
|
+
guid,
|
|
289
|
+
kind: 'material',
|
|
290
|
+
sourceKey: 'shaders/rusted-iron.wgsl',
|
|
291
|
+
execution: 'cooked',
|
|
292
|
+
payload: {
|
|
293
|
+
kind: 'material',
|
|
294
|
+
passes: [
|
|
295
|
+
{
|
|
296
|
+
name: 'forward',
|
|
297
|
+
program: {
|
|
298
|
+
module: 'forgeax::default-standard-pbr',
|
|
299
|
+
fragmentEntry: 'fs_main',
|
|
300
|
+
},
|
|
301
|
+
renderState: { tags: { LightMode: 'Forward' } },
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
parameters: [{ name: 'noiseScale', type: 'f32' }],
|
|
305
|
+
values: { noiseScale: 1.85 },
|
|
306
|
+
},
|
|
307
|
+
refs: [],
|
|
308
|
+
},
|
|
309
|
+
],
|
|
310
|
+
},
|
|
311
|
+
[],
|
|
312
|
+
(assetGuid) => ({
|
|
313
|
+
base: '/',
|
|
314
|
+
packagePath: `/__forgeax-ddc/${assetGuid}.pack.json`,
|
|
315
|
+
artifactPath: (childGuid, key) => `${childGuid}/${key}.bin`,
|
|
316
|
+
}),
|
|
317
|
+
);
|
|
318
|
+
|
|
319
|
+
expect(result.firstGuid).toBe(guid);
|
|
320
|
+
expect(result.cooked?.refsByGuid.get(guid)).toEqual([]);
|
|
321
|
+
expect(result.finalized?.packageUrl).toBe(`/__forgeax-ddc/${guid}.pack.json`);
|
|
322
|
+
expect(result.finalized?.pack.assets[0]?.payload).toMatchObject({
|
|
323
|
+
passes: [{ program: { module: 'forgeax::default-standard-pbr' } }],
|
|
324
|
+
});
|
|
325
|
+
});
|
|
278
326
|
});
|
|
@@ -71,9 +71,8 @@ describe('ScriptablePack standard output producers', () => {
|
|
|
71
71
|
const material: MaterialAsset = {
|
|
72
72
|
kind: 'material',
|
|
73
73
|
parent: PARENT_GUID,
|
|
74
|
-
parameters: [{ name: 'surface', type: 'texture' }],
|
|
75
74
|
values: {
|
|
76
|
-
|
|
75
|
+
baseColorTexture: {
|
|
77
76
|
texture: TEXTURE_GUID,
|
|
78
77
|
sampler: SAMPLER_GUID,
|
|
79
78
|
coordinates: { set: 1, transform: { scale: [2, 2] } },
|
|
@@ -93,18 +92,18 @@ describe('ScriptablePack standard output producers', () => {
|
|
|
93
92
|
{ guid: AssetGuid.format(PARENT_GUID), sourceField: { fieldName: 'parent' } },
|
|
94
93
|
{
|
|
95
94
|
guid: AssetGuid.format(TEXTURE_GUID),
|
|
96
|
-
sourceField: { componentName: '<material>', fieldName: '
|
|
95
|
+
sourceField: { componentName: '<material>', fieldName: 'baseColorTexture' },
|
|
97
96
|
},
|
|
98
97
|
{
|
|
99
98
|
guid: AssetGuid.format(SAMPLER_GUID),
|
|
100
|
-
sourceField: { componentName: '<material>', fieldName: '
|
|
99
|
+
sourceField: { componentName: '<material>', fieldName: 'baseColorTexture.sampler' },
|
|
101
100
|
},
|
|
102
101
|
]);
|
|
103
102
|
expect(result.value.payload).toEqual({
|
|
104
103
|
...material,
|
|
105
104
|
parent: 0,
|
|
106
105
|
values: {
|
|
107
|
-
|
|
106
|
+
baseColorTexture: {
|
|
108
107
|
texture: 1,
|
|
109
108
|
sampler: 2,
|
|
110
109
|
coordinates: { set: 1, transform: { scale: [2, 2] } },
|