@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/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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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
- const texture = asset;
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