@forgeax/engine-import 0.1.19 → 0.1.20
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/dist/.tsbuildinfo +1 -1
- package/dist/__tests__/scriptable-pack-texture.unit.test.d.ts +2 -0
- package/dist/__tests__/scriptable-pack-texture.unit.test.d.ts.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.mjs +39 -17
- package/dist/index.mjs.map +1 -1
- package/dist/scriptable-pack-output-producers.d.ts +1 -0
- package/dist/scriptable-pack-output-producers.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/__tests__/scriptable-pack-product.contract.test.ts +4 -5
- package/src/__tests__/scriptable-pack-production-producers.unit.test.ts +4 -5
- package/src/__tests__/scriptable-pack-texture.unit.test.ts +96 -0
- package/src/index.ts +1 -0
- package/src/scriptable-pack-output-producers.ts +54 -16
package/dist/index.d.ts
CHANGED
|
@@ -10,7 +10,7 @@ export { type MeshBinEncodeError, packMeshBinV4, } from './mesh-bin.js';
|
|
|
10
10
|
export { projectImportProductForBuild } from './pack-projection.js';
|
|
11
11
|
export { type AssetOutputInput, type AssetOutputPayload, type AssetOutputProducer, AssetOutputProducerRegistry, type AssetOutputProduct, type BuildScriptablePackOptions, buildScriptablePack, type ScriptablePackAssetSnapshot, type ScriptablePackAssetSnapshotSource, type ScriptablePackBuildBridgeResult, type ScriptablePackBuildProduct, type ScriptablePackDomainError, type ScriptablePackExternalEvidence, type ScriptablePackExternalUsage, type ScriptablePackSourceClosureEntry, type ScriptablePackStagedOutput, } from './scriptable-pack.js';
|
|
12
12
|
export { type AuthoredPackTransport, type CookedAuthoredPack, canonicalScriptableSourcePath, declaredPackExternalOutputs, materializePreparedScriptablePack, type PreparedScriptablePack, prepareAuthoredPackTransport, produceScriptablePackProducts, projectScriptablePackPublication, readCookedAuthoredPack, type ScriptablePackExternalImportOptions, type ScriptablePackInput, type ScriptablePackPublicationFacts, type ScriptablePackTransportPaths, type ScriptablePackTransportPolicy, type ScriptablePackTransportSink, scriptablePackInputs, } from './scriptable-pack-host.js';
|
|
13
|
-
export { createSceneAssetOutputProducer, createStandardAssetOutputProducerRegistry, materialAssetOutputProducer, meshAssetOutputProducer, } from './scriptable-pack-output-producers.js';
|
|
13
|
+
export { createSceneAssetOutputProducer, createStandardAssetOutputProducerRegistry, materialAssetOutputProducer, meshAssetOutputProducer, textureAssetOutputProducer, } from './scriptable-pack-output-producers.js';
|
|
14
14
|
export { createScriptablePackStagedAssetSnapshotSource, type ScriptablePackSnapshotError, type ScriptablePackStagedOwner, type ScriptablePackStagedSnapshotOptions, } from './scriptable-pack-staged-snapshot.js';
|
|
15
15
|
export { produceScriptableSourcePackage, type ScriptableSourcePackageProduct, type ScriptableSourcePackageResult, } from './scriptable-source-package.js';
|
|
16
16
|
export { finalizeSourcePackage, type ProducerReadiness, type ProducerReadinessError, type ProducerReadinessResult, parseProducerReadiness, produceSourcePackage, type SourcePackageClosureDetail, type SourcePackageClosureError, type SourcePackageProducerInput, type SourcePackageProducerResult, type SourcePackageProduct, sourcePackageAssetsByGuid, } from './source-package.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAgBA,YAAY,EACV,aAAa,EACb,cAAc,EACd,KAAK,EACL,cAAc,EACd,aAAa,EACb,SAAS,EACT,aAAa,EACb,SAAS,EACT,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,UAAU,EACV,aAAa,EACb,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,GACX,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,WAAW,EAChB,kBAAkB,EAClB,KAAK,aAAa,EAClB,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,iBAAiB,EACtB,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,eAAe,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,EACxB,kBAAkB,EAClB,KAAK,sBAAsB,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,EAC1B,qBAAqB,EACrB,6BAA6B,GAC9B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,cAAc,EACnB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,SAAS,EACT,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EACL,KAAK,kBAAkB,EACvB,aAAa,GACd,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,2BAA2B,EAC3B,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,EAC/B,mBAAmB,EACnB,KAAK,2BAA2B,EAChC,KAAK,iCAAiC,EACtC,KAAK,+BAA+B,EACpC,KAAK,0BAA0B,EAC/B,KAAK,yBAAyB,EAC9B,KAAK,8BAA8B,EACnC,KAAK,2BAA2B,EAChC,KAAK,gCAAgC,EACrC,KAAK,0BAA0B,GAChC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,kBAAkB,EACvB,6BAA6B,EAC7B,2BAA2B,EAC3B,iCAAiC,EACjC,KAAK,sBAAsB,EAC3B,4BAA4B,EAC5B,6BAA6B,EAC7B,gCAAgC,EAChC,sBAAsB,EACtB,KAAK,mCAAmC,EACxC,KAAK,mBAAmB,EACxB,KAAK,8BAA8B,EACnC,KAAK,4BAA4B,EACjC,KAAK,6BAA6B,EAClC,KAAK,2BAA2B,EAChC,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,8BAA8B,EAC9B,yCAAyC,EACzC,2BAA2B,EAC3B,uBAAuB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ok, validateSourceOverrideMap, ImportError, IMPORT_ERROR_HINTS, canonicalizeSourceOverrides, err, AssetError, MATERIAL_TEXTURE_SLOTS } from '@forgeax/engine-types';
|
|
1
|
+
import { ok, validateSourceOverrideMap, ImportError, IMPORT_ERROR_HINTS, canonicalizeSourceOverrides, err, AssetError, MATERIAL_TEXTURE_SLOTS, deriveTextureLayout } from '@forgeax/engine-types';
|
|
2
2
|
export { IMPORT_ERROR_HINTS, ImportError } from '@forgeax/engine-types';
|
|
3
3
|
import { resolve, isAbsolute, relative, dirname } from 'path';
|
|
4
4
|
import { upgradeLegacyAuthoredPack, loadAssetConfig, resolveAssetSource, finalizePackageTransportSource, catalogSourcePathFor, projectCookedPackageEntry, buildCatalogProjection, createRuntimePackPublication, metaPathForGuid } from '@forgeax/engine-pack/build';
|
|
@@ -1281,23 +1281,40 @@ function ref(guid, fieldName, arrayIndex) {
|
|
|
1281
1281
|
function bytes(value) {
|
|
1282
1282
|
return Uint8Array.from(value);
|
|
1283
1283
|
}
|
|
1284
|
+
function textureProduct(input) {
|
|
1285
|
+
if (input.asset.kind !== "texture") throw new TypeError("expected TextureAsset");
|
|
1286
|
+
const texture = input.asset;
|
|
1287
|
+
const layout = deriveTextureLayout({
|
|
1288
|
+
shape: texture.shape,
|
|
1289
|
+
format: texture.format,
|
|
1290
|
+
mips: texture.mips,
|
|
1291
|
+
actualByteLength: texture.data.byteLength,
|
|
1292
|
+
order: "mip-major,image-major,row-major"
|
|
1293
|
+
});
|
|
1294
|
+
if (!layout.ok) {
|
|
1295
|
+
const expectedBytes = layout.error.code === "texture-packing-invalid" ? layout.error.detail.expectedBytes : texture.data.byteLength;
|
|
1296
|
+
const actualBytes = layout.error.code === "texture-packing-invalid" ? layout.error.detail.actualBytes : texture.data.byteLength;
|
|
1297
|
+
throw new TypeError(
|
|
1298
|
+
`texture data is not canonical: expected ${expectedBytes} bytes, got ${actualBytes}`
|
|
1299
|
+
);
|
|
1300
|
+
}
|
|
1301
|
+
return {
|
|
1302
|
+
payload: texture,
|
|
1303
|
+
refs: [],
|
|
1304
|
+
artifacts: {
|
|
1305
|
+
body: {
|
|
1306
|
+
mediaType: texture.format === "r8unorm" ? "application/x-forgeax-r8" : `application/x-forgeax-${texture.format}`,
|
|
1307
|
+
assetCodec: { name: texture.format, version: "1" },
|
|
1308
|
+
bytes: bytes(texture.data)
|
|
1309
|
+
}
|
|
1310
|
+
}
|
|
1311
|
+
};
|
|
1312
|
+
}
|
|
1284
1313
|
function ordinaryPodProduct(input) {
|
|
1285
1314
|
const asset = input.asset;
|
|
1286
1315
|
switch (asset.kind) {
|
|
1287
|
-
case "texture":
|
|
1288
|
-
|
|
1289
|
-
return {
|
|
1290
|
-
payload: texture,
|
|
1291
|
-
refs: [],
|
|
1292
|
-
artifacts: {
|
|
1293
|
-
body: {
|
|
1294
|
-
mediaType: "image/raw",
|
|
1295
|
-
assetCodec: { name: "raw-image", version: "1" },
|
|
1296
|
-
bytes: bytes(texture.data)
|
|
1297
|
-
}
|
|
1298
|
-
}
|
|
1299
|
-
};
|
|
1300
|
-
}
|
|
1316
|
+
case "texture":
|
|
1317
|
+
return textureProduct(input);
|
|
1301
1318
|
case "equirect": {
|
|
1302
1319
|
const equirect = asset;
|
|
1303
1320
|
return {
|
|
@@ -1452,6 +1469,11 @@ var materialAssetOutputProducer = createSafeProducer(
|
|
|
1452
1469
|
materialProduct
|
|
1453
1470
|
);
|
|
1454
1471
|
var meshAssetOutputProducer = createSafeProducer("mesh", "mesh-binary/4", meshProduct);
|
|
1472
|
+
var textureAssetOutputProducer = createSafeProducer(
|
|
1473
|
+
"texture",
|
|
1474
|
+
"texture-pack/1",
|
|
1475
|
+
textureProduct
|
|
1476
|
+
);
|
|
1455
1477
|
function createSceneAssetOutputProducer(sceneComponents = []) {
|
|
1456
1478
|
const schemas = new Map(
|
|
1457
1479
|
sceneComponents.map((component) => [component.name, component.fields])
|
|
@@ -1462,9 +1484,9 @@ function createStandardAssetOutputProducerRegistry(sceneComponents = []) {
|
|
|
1462
1484
|
const registry = new AssetOutputProducerRegistry();
|
|
1463
1485
|
registry.register(materialAssetOutputProducer);
|
|
1464
1486
|
registry.register(meshAssetOutputProducer);
|
|
1487
|
+
registry.register(textureAssetOutputProducer);
|
|
1465
1488
|
registry.register(createSceneAssetOutputProducer(sceneComponents));
|
|
1466
1489
|
for (const kind of [
|
|
1467
|
-
"texture",
|
|
1468
1490
|
"equirect",
|
|
1469
1491
|
"sampler",
|
|
1470
1492
|
"font",
|
|
@@ -2917,6 +2939,6 @@ async function restoreImportPublication(candidate) {
|
|
|
2917
2939
|
await candidate.ddc.session.restoreEntry(candidate.ddc);
|
|
2918
2940
|
}
|
|
2919
2941
|
|
|
2920
|
-
export { AssetOutputProducerRegistry, DEFAULT_CATALOG_IMPORTER_KEYS, ImporterRegistry, SHADER_RESERVED_IMPORTER_KEY, buildCatalogResult, buildScriptablePack, canonicalScriptableSourcePath, catalogImporterPolicy, commitImportPublication, containsSourcePackageError, createImportProduct, createSceneAssetOutputProducer, createScriptablePackStagedAssetSnapshotSource, createStandardAssetOutputProducerRegistry, declaredPackExternalOutputs, discardImportPublication, finalizeImportProducts, finalizeSourcePackage, materialAssetOutputProducer, materializePreparedScriptablePack, meshAssetOutputProducer, normaliseForPack, normalizeSourcePackageError, packMeshBinV4, parseProducerReadiness, prepareAuthoredPackTransport, produceBuildAssets, produceScriptablePackProducts, produceScriptableSourcePackage, produceSourcePackage, projectImportProductForBuild, projectScriptablePackPublication, publishImportPublication, readCookedAuthoredPack, restoreImportPublication, runImport, scriptablePackInputs, sourceDeclarationForCatalogPath, sourcePackageAssetsByGuid, sourcePackageError, stageImportPublication };
|
|
2942
|
+
export { AssetOutputProducerRegistry, DEFAULT_CATALOG_IMPORTER_KEYS, ImporterRegistry, SHADER_RESERVED_IMPORTER_KEY, buildCatalogResult, buildScriptablePack, canonicalScriptableSourcePath, catalogImporterPolicy, commitImportPublication, containsSourcePackageError, createImportProduct, createSceneAssetOutputProducer, createScriptablePackStagedAssetSnapshotSource, createStandardAssetOutputProducerRegistry, declaredPackExternalOutputs, discardImportPublication, finalizeImportProducts, finalizeSourcePackage, materialAssetOutputProducer, materializePreparedScriptablePack, meshAssetOutputProducer, normaliseForPack, normalizeSourcePackageError, packMeshBinV4, parseProducerReadiness, prepareAuthoredPackTransport, produceBuildAssets, produceScriptablePackProducts, produceScriptableSourcePackage, produceSourcePackage, projectImportProductForBuild, projectScriptablePackPublication, publishImportPublication, readCookedAuthoredPack, restoreImportPublication, runImport, scriptablePackInputs, sourceDeclarationForCatalogPath, sourcePackageAssetsByGuid, sourcePackageError, stageImportPublication, textureAssetOutputProducer };
|
|
2921
2943
|
//# sourceMappingURL=index.mjs.map
|
|
2922
2944
|
//# sourceMappingURL=index.mjs.map
|