@loaders.gl/textures 4.3.4 → 4.4.0-alpha.10

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 (136) hide show
  1. package/dist/basis-loader.js +1 -0
  2. package/dist/basis-loader.js.map +1 -0
  3. package/dist/basis-worker-node.js +287 -83
  4. package/dist/basis-worker.d.ts +2 -0
  5. package/dist/basis-worker.d.ts.map +1 -0
  6. package/dist/basis-worker.js +45 -14
  7. package/dist/basis-worker.js.map +1 -0
  8. package/dist/compressed-texture-loader.d.ts +2 -1
  9. package/dist/compressed-texture-loader.d.ts.map +1 -1
  10. package/dist/compressed-texture-loader.js +2 -2
  11. package/dist/compressed-texture-loader.js.map +1 -0
  12. package/dist/compressed-texture-worker.d.ts +2 -0
  13. package/dist/compressed-texture-worker.d.ts.map +1 -0
  14. package/dist/compressed-texture-worker.js +46 -15
  15. package/dist/compressed-texture-worker.js.map +1 -0
  16. package/dist/compressed-texture-writer.d.ts +1 -0
  17. package/dist/compressed-texture-writer.d.ts.map +1 -1
  18. package/dist/compressed-texture-writer.js +2 -0
  19. package/dist/compressed-texture-writer.js.map +1 -0
  20. package/dist/crunch-loader.js +1 -0
  21. package/dist/crunch-loader.js.map +1 -0
  22. package/dist/crunch-worker.d.ts +2 -0
  23. package/dist/crunch-worker.d.ts.map +1 -0
  24. package/dist/crunch-worker.js +38 -7
  25. package/dist/crunch-worker.js.map +1 -0
  26. package/dist/dist.dev.js +55 -18
  27. package/dist/dist.min.js +2 -2
  28. package/dist/index.cjs +14 -10
  29. package/dist/index.cjs.map +3 -3
  30. package/dist/index.js +1 -0
  31. package/dist/index.js.map +1 -0
  32. package/dist/ktx2-basis-writer-worker-node.js +276 -76
  33. package/dist/ktx2-basis-writer-worker.d.ts +2 -0
  34. package/dist/ktx2-basis-writer-worker.d.ts.map +1 -0
  35. package/dist/ktx2-basis-writer-worker.js +36 -7
  36. package/dist/ktx2-basis-writer-worker.js.map +1 -0
  37. package/dist/ktx2-basis-writer.d.ts +1 -0
  38. package/dist/ktx2-basis-writer.d.ts.map +1 -1
  39. package/dist/ktx2-basis-writer.js +2 -0
  40. package/dist/ktx2-basis-writer.js.map +1 -0
  41. package/dist/lib/encoders/encode-ktx.d.ts +1 -1
  42. package/dist/lib/encoders/encode-ktx.d.ts.map +1 -1
  43. package/dist/lib/encoders/encode-ktx.js +1 -0
  44. package/dist/lib/encoders/encode-ktx.js.map +1 -0
  45. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +2 -1
  46. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
  47. package/dist/lib/encoders/encode-ktx2-basis-texture.js +2 -1
  48. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  49. package/dist/lib/encoders/encode-texture.js +1 -0
  50. package/dist/lib/encoders/encode-texture.js.map +1 -0
  51. package/dist/lib/gl-extensions.js +1 -0
  52. package/dist/lib/gl-extensions.js.map +1 -0
  53. package/dist/lib/parsers/basis-module-loader.d.ts +3 -2
  54. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
  55. package/dist/lib/parsers/basis-module-loader.js +1 -0
  56. package/dist/lib/parsers/basis-module-loader.js.map +1 -0
  57. package/dist/lib/parsers/crunch-module-loader.js +1 -0
  58. package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
  59. package/dist/lib/parsers/parse-basis.d.ts +11 -1
  60. package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
  61. package/dist/lib/parsers/parse-basis.js +10 -7
  62. package/dist/lib/parsers/parse-basis.js.map +1 -0
  63. package/dist/lib/parsers/parse-compressed-texture.js +1 -0
  64. package/dist/lib/parsers/parse-compressed-texture.js.map +1 -0
  65. package/dist/lib/parsers/parse-crunch.js +1 -0
  66. package/dist/lib/parsers/parse-crunch.js.map +1 -0
  67. package/dist/lib/parsers/parse-dds.js +1 -0
  68. package/dist/lib/parsers/parse-dds.js.map +1 -0
  69. package/dist/lib/parsers/parse-ktx.js +1 -0
  70. package/dist/lib/parsers/parse-ktx.js.map +1 -0
  71. package/dist/lib/parsers/parse-npy.js +1 -0
  72. package/dist/lib/parsers/parse-npy.js.map +1 -0
  73. package/dist/lib/parsers/parse-pvr.js +1 -0
  74. package/dist/lib/parsers/parse-pvr.js.map +1 -0
  75. package/dist/lib/texture-api/async-deep-map.js +1 -0
  76. package/dist/lib/texture-api/async-deep-map.js.map +1 -0
  77. package/dist/lib/texture-api/deep-load.js +1 -0
  78. package/dist/lib/texture-api/deep-load.js.map +1 -0
  79. package/dist/lib/texture-api/generate-url.js +1 -0
  80. package/dist/lib/texture-api/generate-url.js.map +1 -0
  81. package/dist/lib/texture-api/load-image-array.js +1 -0
  82. package/dist/lib/texture-api/load-image-array.js.map +1 -0
  83. package/dist/lib/texture-api/load-image-cube.js +1 -0
  84. package/dist/lib/texture-api/load-image-cube.js.map +1 -0
  85. package/dist/lib/texture-api/load-image.js +1 -0
  86. package/dist/lib/texture-api/load-image.js.map +1 -0
  87. package/dist/lib/texture-api/texture-api-types.js +1 -0
  88. package/dist/lib/texture-api/texture-api-types.js.map +1 -0
  89. package/dist/lib/utils/extract-mipmap-images.js +1 -0
  90. package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
  91. package/dist/lib/utils/ktx-format-helper.js +1 -0
  92. package/dist/lib/utils/ktx-format-helper.js.map +1 -0
  93. package/dist/lib/utils/texture-formats.js +1 -0
  94. package/dist/lib/utils/texture-formats.js.map +1 -0
  95. package/dist/lib/utils/version.js +2 -1
  96. package/dist/lib/utils/version.js.map +1 -0
  97. package/dist/libs/libs/README.md +9 -0
  98. package/dist/libs/libs/basis_encoder.js +21 -0
  99. package/dist/libs/libs/basis_encoder.wasm +0 -0
  100. package/dist/libs/libs/basis_transcoder.js +22 -0
  101. package/dist/libs/libs/basis_transcoder.wasm +0 -0
  102. package/dist/libs/libs/crunch.js +136 -0
  103. package/dist/npy-loader.js +1 -0
  104. package/dist/npy-loader.js.map +1 -0
  105. package/dist/npy-worker.d.ts +2 -0
  106. package/dist/npy-worker.d.ts.map +1 -0
  107. package/dist/npy-worker.js +5 -2
  108. package/dist/npy-worker.js.map +1 -0
  109. package/dist/workers/basis-worker-node.js +1 -0
  110. package/dist/workers/basis-worker-node.js.map +1 -0
  111. package/dist/workers/basis-worker.js +1 -0
  112. package/dist/workers/basis-worker.js.map +1 -0
  113. package/dist/workers/compressed-texture-worker.js +1 -1
  114. package/dist/workers/compressed-texture-worker.js.map +1 -0
  115. package/dist/workers/crunch-worker.js +1 -0
  116. package/dist/workers/crunch-worker.js.map +1 -0
  117. package/dist/workers/ktx2-basis-writer-worker-node.js +1 -0
  118. package/dist/workers/ktx2-basis-writer-worker-node.js.map +1 -0
  119. package/dist/workers/ktx2-basis-writer-worker.js +1 -0
  120. package/dist/workers/ktx2-basis-writer-worker.js.map +1 -0
  121. package/dist/workers/npy-worker.js +1 -0
  122. package/dist/workers/npy-worker.js.map +1 -0
  123. package/package.json +28 -7
  124. package/src/basis-worker.ts +7 -0
  125. package/src/compressed-texture-loader.ts +3 -4
  126. package/src/compressed-texture-worker.ts +6 -0
  127. package/src/compressed-texture-writer.ts +1 -0
  128. package/src/crunch-worker.ts +6 -0
  129. package/src/ktx2-basis-writer-worker.ts +6 -0
  130. package/src/ktx2-basis-writer.ts +1 -0
  131. package/src/lib/encoders/encode-ktx.ts +1 -1
  132. package/src/lib/encoders/encode-ktx2-basis-texture.ts +3 -2
  133. package/src/lib/parsers/basis-module-loader.ts +5 -5
  134. package/src/lib/parsers/parse-basis.ts +40 -12
  135. package/src/npy-worker.ts +6 -0
  136. package/src/workers/compressed-texture-worker.ts +0 -1
@@ -20,8 +20,9 @@
20
20
  "loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
21
21
  );
22
22
  globalThis._loadersgl_.version = NPM_TAG;
23
+ warningIssued = true;
23
24
  } else {
24
- globalThis._loadersgl_.version = "4.3.3";
25
+ globalThis._loadersgl_.version = "4.4.0-alpha.10";
25
26
  }
26
27
  }
27
28
  return globalThis._loadersgl_.version;
@@ -184,6 +185,9 @@
184
185
  return await loadLibraryPromises[libraryUrl];
185
186
  }
186
187
  function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
188
+ if (options?.core) {
189
+ throw new Error("loadLibrary: options.core must be pre-normalized");
190
+ }
187
191
  if (!options.useLocalLibraries && library.startsWith("http")) {
188
192
  return library;
189
193
  }
@@ -209,10 +213,20 @@
209
213
  return await loadAsArrayBuffer(libraryUrl);
210
214
  }
211
215
  if (!isBrowser) {
216
+ const { requireFromFile } = globalThis.loaders || {};
212
217
  try {
213
- const { requireFromFile } = globalThis.loaders || {};
214
- return await requireFromFile?.(libraryUrl);
218
+ const result = await requireFromFile?.(libraryUrl);
219
+ if (result || !libraryUrl.includes("/dist/libs/")) {
220
+ return result;
221
+ }
222
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
215
223
  } catch (error) {
224
+ if (libraryUrl.includes("/dist/libs/")) {
225
+ try {
226
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
227
+ } catch {
228
+ }
229
+ }
216
230
  console.error(error);
217
231
  return null;
218
232
  }
@@ -248,7 +262,14 @@
248
262
  const response = await fetch(url);
249
263
  return await response.arrayBuffer();
250
264
  }
251
- return await readFileAsArrayBuffer(url);
265
+ try {
266
+ return await readFileAsArrayBuffer(url);
267
+ } catch {
268
+ if (url.includes("/dist/libs/")) {
269
+ return await readFileAsArrayBuffer(url.replace("/dist/libs/", "/src/libs/"));
270
+ }
271
+ throw new Error(`Failed to load ArrayBuffer from ${url}`);
272
+ }
252
273
  }
253
274
  async function loadAsText(url) {
254
275
  const { readFileAsText } = globalThis.loaders || {};
@@ -256,7 +277,14 @@
256
277
  const response = await fetch(url);
257
278
  return await response.text();
258
279
  }
259
- return await readFileAsText(url);
280
+ try {
281
+ return await readFileAsText(url);
282
+ } catch {
283
+ if (url.includes("/dist/libs/")) {
284
+ return await readFileAsText(url.replace("/dist/libs/", "/src/libs/"));
285
+ }
286
+ throw new Error(`Failed to load text from ${url}`);
287
+ }
260
288
  }
261
289
 
262
290
  // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
@@ -335,13 +363,16 @@
335
363
  options = {
336
364
  ...options,
337
365
  modules: loader && loader.options && loader.options.modules || {},
338
- worker: false
366
+ core: {
367
+ ...options.core,
368
+ worker: false
369
+ }
339
370
  };
340
371
  return await parser(data, { ...options }, context, loader);
341
372
  }
342
373
 
343
374
  // src/lib/utils/version.ts
344
- var VERSION2 = true ? "4.3.3" : "latest";
375
+ var VERSION2 = true ? "4.4.0-alpha.10" : "latest";
345
376
 
346
377
  // src/lib/parsers/basis-module-loader.ts
347
378
  var BASIS_EXTERNAL_LIBRARIES = {
@@ -606,18 +637,18 @@
606
637
  bgr565: { basisFormat: 15, compressed: false },
607
638
  rgba4444: { basisFormat: 16, compressed: false }
608
639
  };
609
- async function parseBasis(data, options) {
610
- if (options.basis.containerFormat === "auto") {
640
+ async function parseBasis(data, options = {}) {
641
+ if (!options.basis?.containerFormat || options.basis.containerFormat === "auto") {
611
642
  if (isKTX(data)) {
612
- const fileConstructors = await loadBasisEncoderModule(options);
643
+ const fileConstructors = await loadBasisEncoderModule(options?.core || {});
613
644
  return parseKTX2File(fileConstructors.KTX2File, data, options);
614
645
  }
615
- const { BasisFile } = await loadBasisTranscoderModule(options);
646
+ const { BasisFile } = await loadBasisTranscoderModule(options?.core || {});
616
647
  return parseBasisFile(BasisFile, data, options);
617
648
  }
618
649
  switch (options.basis.module) {
619
650
  case "encoder":
620
- const fileConstructors = await loadBasisEncoderModule(options);
651
+ const fileConstructors = await loadBasisEncoderModule(options?.core || {});
621
652
  switch (options.basis.containerFormat) {
622
653
  case "ktx2":
623
654
  return parseKTX2File(fileConstructors.KTX2File, data, options);
@@ -627,7 +658,7 @@
627
658
  }
628
659
  case "transcoder":
629
660
  default:
630
- const { BasisFile } = await loadBasisTranscoderModule(options);
661
+ const { BasisFile } = await loadBasisTranscoderModule(options.core || {});
631
662
  return parseBasisFile(BasisFile, data, options);
632
663
  }
633
664
  }
@@ -730,7 +761,7 @@
730
761
  };
731
762
  }
732
763
  function getBasisOptions(options, hasAlpha) {
733
- let format = options && options.basis && options.basis.format;
764
+ let format = options.basis?.format;
734
765
  if (format === "auto") {
735
766
  format = selectSupportedBasisFormat();
736
767
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basis-worker.js","sourceRoot":"","sources":["../src/basis-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,6EAA6E;AAC7E,gFAAgF;AAChF,MAAM,CAAC,IAAI,GAAG,CAAC,2BAA2B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
+ import type { StrictLoaderOptions } from '@loaders.gl/loader-utils';
1
2
  /** Options for the CompressedTextureLoader */
2
- export type CompressedTextureLoaderOptions = {
3
+ export type CompressedTextureLoaderOptions = StrictLoaderOptions & {
3
4
  'compressed-texture'?: {
4
5
  /** @deprecated Specify path to libraries */
5
6
  libraryPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"compressed-texture-loader.d.ts","sourceRoot":"","sources":["../src/compressed-texture-loader.ts"],"names":[],"mappings":"AASA,8CAA8C;AAC9C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,oBAAoB,CAAC,EAAE;QACrB,4CAA4C;QAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oCAAoC;QACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,8EAA8E;QAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B;uBACX,GAAG;wBACb,KAAK;;;;;;;;;;;;;;;CA2B6C,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,uBAAuB;kCAEP,WAAW,YAAY,8BAA8B;uBAnCnD,GAAG;wBACb,KAAK;;;;;;;;;;;;;;;CAoDuD,CAAC"}
1
+ {"version":3,"file":"compressed-texture-loader.d.ts","sourceRoot":"","sources":["../src/compressed-texture-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAA2B,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAK5F,8CAA8C;AAC9C,MAAM,MAAM,8BAA8B,GAAG,mBAAmB,GAAG;IACjE,oBAAoB,CAAC,EAAE;QACrB,4CAA4C;QAC5C,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,oCAAoC;QACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,8EAA8E;QAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B;uBACX,GAAG;wBACb,KAAK;;;;;;;;;;;;;;;CA2B6C,CAAC;AAExE;;GAEG;AACH,eAAO,MAAM,uBAAuB;kCAEP,WAAW,YAAY,8BAA8B;uBAnCnD,GAAG;wBACb,KAAK;;;;;;;;;;;;;;;CAmDuD,CAAC"}
@@ -42,14 +42,13 @@ export const CompressedTextureWorkerLoader = {
42
42
  export const CompressedTextureLoader = {
43
43
  ...CompressedTextureWorkerLoader,
44
44
  parse: async (arrayBuffer, options) => {
45
+ options = { ...options };
45
46
  if (options?.['compressed-texture']?.useBasis) {
46
- // @ts-expect-error TODO not allowed to modify inputs
47
47
  options.basis = {
48
48
  format: {
49
49
  alpha: 'BC3',
50
50
  noAlpha: 'BC1'
51
51
  },
52
- // @ts-expect-error TODO not allowed to modify inputs
53
52
  ...options.basis,
54
53
  containerFormat: 'ktx2',
55
54
  module: 'encoder'
@@ -60,3 +59,4 @@ export const CompressedTextureLoader = {
60
59
  return parseCompressedTexture(arrayBuffer);
61
60
  }
62
61
  };
62
+ //# sourceMappingURL=compressed-texture-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressed-texture-loader.js","sourceRoot":"","sources":["../src/compressed-texture-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAC5C,OAAO,EAAC,sBAAsB,EAAC,kDAA+C;AAC9E,OAAO,EAAC,UAAU,EAAC,qCAAkC;AAcrD;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,QAAQ,EAAE,IAAsB;IAChC,SAAS,EAAE,IAAa;IAExB,IAAI,EAAE,oBAAoB;IAC1B,EAAE,EAAE,oBAAoB;IACxB,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE;QACV,KAAK;QACL,MAAM;QACN,KAAK,EAAE,8DAA8D;QACrE,KAAK,CAAC,iCAAiC;KACxC;IACD,SAAS,EAAE;QACT,YAAY;QACZ,WAAW;QACX,kBAAkB;QAClB,aAAa;QACb,0BAA0B;KAC3B;IACD,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE;QACP,oBAAoB,EAAE;YACpB,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE,KAAK;SAChB;KACF;CACoE,CAAC;AAExE;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,GAAG,6BAA6B;IAChC,KAAK,EAAE,KAAK,EAAE,WAAwB,EAAE,OAAwC,EAAE,EAAE;QAClF,OAAO,GAAG,EAAC,GAAG,OAAO,EAAC,CAAC;QACvB,IAAI,OAAO,EAAE,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,CAAC;YAC9C,OAAO,CAAC,KAAK,GAAG;gBACd,MAAM,EAAE;oBACN,KAAK,EAAE,KAAK;oBACZ,OAAO,EAAE,KAAK;iBACf;gBACD,GAAG,OAAO,CAAC,KAAK;gBAChB,eAAe,EAAE,MAAM;gBACvB,MAAM,EAAE,SAAS;aAClB,CAAC;YACF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC;IAC7C,CAAC;CAC8E,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=compressed-texture-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressed-texture-worker.d.ts","sourceRoot":"","sources":["../src/compressed-texture-worker.ts"],"names":[],"mappings":""}
@@ -27,8 +27,9 @@
27
27
  "loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
28
28
  );
29
29
  globalThis._loadersgl_.version = NPM_TAG;
30
+ warningIssued = true;
30
31
  } else {
31
- globalThis._loadersgl_.version = "4.3.3";
32
+ globalThis._loadersgl_.version = "4.4.0-alpha.10";
32
33
  }
33
34
  }
34
35
  return globalThis._loadersgl_.version;
@@ -191,6 +192,9 @@
191
192
  return await loadLibraryPromises[libraryUrl];
192
193
  }
193
194
  function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
195
+ if (options?.core) {
196
+ throw new Error("loadLibrary: options.core must be pre-normalized");
197
+ }
194
198
  if (!options.useLocalLibraries && library.startsWith("http")) {
195
199
  return library;
196
200
  }
@@ -216,10 +220,20 @@
216
220
  return await loadAsArrayBuffer(libraryUrl);
217
221
  }
218
222
  if (!isBrowser) {
223
+ const { requireFromFile } = globalThis.loaders || {};
219
224
  try {
220
- const { requireFromFile } = globalThis.loaders || {};
221
- return await requireFromFile?.(libraryUrl);
225
+ const result = await requireFromFile?.(libraryUrl);
226
+ if (result || !libraryUrl.includes("/dist/libs/")) {
227
+ return result;
228
+ }
229
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
222
230
  } catch (error) {
231
+ if (libraryUrl.includes("/dist/libs/")) {
232
+ try {
233
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
234
+ } catch {
235
+ }
236
+ }
223
237
  console.error(error);
224
238
  return null;
225
239
  }
@@ -255,7 +269,14 @@
255
269
  const response = await fetch(url);
256
270
  return await response.arrayBuffer();
257
271
  }
258
- return await readFileAsArrayBuffer(url);
272
+ try {
273
+ return await readFileAsArrayBuffer(url);
274
+ } catch {
275
+ if (url.includes("/dist/libs/")) {
276
+ return await readFileAsArrayBuffer(url.replace("/dist/libs/", "/src/libs/"));
277
+ }
278
+ throw new Error(`Failed to load ArrayBuffer from ${url}`);
279
+ }
259
280
  }
260
281
  async function loadAsText(url) {
261
282
  const { readFileAsText } = globalThis.loaders || {};
@@ -263,7 +284,14 @@
263
284
  const response = await fetch(url);
264
285
  return await response.text();
265
286
  }
266
- return await readFileAsText(url);
287
+ try {
288
+ return await readFileAsText(url);
289
+ } catch {
290
+ if (url.includes("/dist/libs/")) {
291
+ return await readFileAsText(url.replace("/dist/libs/", "/src/libs/"));
292
+ }
293
+ throw new Error(`Failed to load text from ${url}`);
294
+ }
267
295
  }
268
296
 
269
297
  // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
@@ -342,13 +370,16 @@
342
370
  options = {
343
371
  ...options,
344
372
  modules: loader && loader.options && loader.options.modules || {},
345
- worker: false
373
+ core: {
374
+ ...options.core,
375
+ worker: false
376
+ }
346
377
  };
347
378
  return await parser(data, { ...options }, context, loader);
348
379
  }
349
380
 
350
381
  // src/lib/utils/version.ts
351
- var VERSION2 = true ? "4.3.3" : "latest";
382
+ var VERSION2 = true ? "4.4.0-alpha.10" : "latest";
352
383
 
353
384
  // ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
354
385
  var KHR_SUPERCOMPRESSION_NONE = 0;
@@ -1318,18 +1349,18 @@
1318
1349
  bgr565: { basisFormat: 15, compressed: false },
1319
1350
  rgba4444: { basisFormat: 16, compressed: false }
1320
1351
  };
1321
- async function parseBasis(data, options) {
1322
- if (options.basis.containerFormat === "auto") {
1352
+ async function parseBasis(data, options = {}) {
1353
+ if (!options.basis?.containerFormat || options.basis.containerFormat === "auto") {
1323
1354
  if (isKTX(data)) {
1324
- const fileConstructors = await loadBasisEncoderModule(options);
1355
+ const fileConstructors = await loadBasisEncoderModule(options?.core || {});
1325
1356
  return parseKTX2File(fileConstructors.KTX2File, data, options);
1326
1357
  }
1327
- const { BasisFile } = await loadBasisTranscoderModule(options);
1358
+ const { BasisFile } = await loadBasisTranscoderModule(options?.core || {});
1328
1359
  return parseBasisFile(BasisFile, data, options);
1329
1360
  }
1330
1361
  switch (options.basis.module) {
1331
1362
  case "encoder":
1332
- const fileConstructors = await loadBasisEncoderModule(options);
1363
+ const fileConstructors = await loadBasisEncoderModule(options?.core || {});
1333
1364
  switch (options.basis.containerFormat) {
1334
1365
  case "ktx2":
1335
1366
  return parseKTX2File(fileConstructors.KTX2File, data, options);
@@ -1339,7 +1370,7 @@
1339
1370
  }
1340
1371
  case "transcoder":
1341
1372
  default:
1342
- const { BasisFile } = await loadBasisTranscoderModule(options);
1373
+ const { BasisFile } = await loadBasisTranscoderModule(options.core || {});
1343
1374
  return parseBasisFile(BasisFile, data, options);
1344
1375
  }
1345
1376
  }
@@ -1442,7 +1473,7 @@
1442
1473
  };
1443
1474
  }
1444
1475
  function getBasisOptions(options, hasAlpha) {
1445
- let format = options && options.basis && options.basis.format;
1476
+ let format = options.basis?.format;
1446
1477
  if (format === "auto") {
1447
1478
  format = selectSupportedBasisFormat();
1448
1479
  }
@@ -1509,13 +1540,13 @@
1509
1540
  var CompressedTextureLoader = {
1510
1541
  ...CompressedTextureWorkerLoader,
1511
1542
  parse: async (arrayBuffer, options) => {
1543
+ options = { ...options };
1512
1544
  if (options?.["compressed-texture"]?.useBasis) {
1513
1545
  options.basis = {
1514
1546
  format: {
1515
1547
  alpha: "BC3",
1516
1548
  noAlpha: "BC1"
1517
1549
  },
1518
- // @ts-expect-error TODO not allowed to modify inputs
1519
1550
  ...options.basis,
1520
1551
  containerFormat: "ktx2",
1521
1552
  module: "encoder"
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressed-texture-worker.js","sourceRoot":"","sources":["../src/compressed-texture-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,6EAA6E;AAC7E,MAAM,CAAC,IAAI,GAAG,CAAC,wCAAwC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC"}
@@ -23,6 +23,7 @@ export declare const CompressedTextureWriter: {
23
23
  readonly module: "textures";
24
24
  readonly version: any;
25
25
  readonly extensions: ["dds"];
26
+ readonly mimeTypes: ["image/vnd-ms.dds", "image/x-dds", "application/octet-stream"];
26
27
  readonly options: {
27
28
  readonly texture: {
28
29
  readonly format: "auto";
@@ -1 +1 @@
1
- {"version":3,"file":"compressed-texture-writer.d.ts","sourceRoot":"","sources":["../src/compressed-texture-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAC,oCAAoC,EAAC,yCAAsC;AAEnF,wCAAwC;AACxC,MAAM,MAAM,8BAA8B,GAAG,aAAa,GAAG;IAC3D,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;CAuBoD,CAAC"}
1
+ {"version":3,"file":"compressed-texture-writer.d.ts","sourceRoot":"","sources":["../src/compressed-texture-writer.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAoB,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE/E,OAAO,EAAC,oCAAoC,EAAC,yCAAsC;AAEnF,wCAAwC;AACxC,MAAM,MAAM,8BAA8B,GAAG,aAAa,GAAG;IAC3D,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wCAAwC;IACxC,OAAO,CAAC,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;CAwBoD,CAAC"}
@@ -12,6 +12,7 @@ export const CompressedTextureWriter = {
12
12
  module: 'textures',
13
13
  version: VERSION,
14
14
  extensions: ['dds'],
15
+ mimeTypes: ['image/vnd-ms.dds', 'image/x-dds', 'application/octet-stream'],
15
16
  options: {
16
17
  texture: {
17
18
  format: 'auto',
@@ -27,3 +28,4 @@ export const CompressedTextureWriter = {
27
28
  throw new Error('Not implemented');
28
29
  }
29
30
  };
31
+ //# sourceMappingURL=compressed-texture-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressed-texture-writer.js","sourceRoot":"","sources":["../src/compressed-texture-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAC5C,OAAO,EAAC,oCAAoC,EAAC,yCAAsC;AAiBnF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,uBAAuB;IAC7B,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,OAAO;IAEhB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,kBAAkB,EAAE,aAAa,EAAE,0BAA0B,CAAC;IAE1E,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,EAAE;SACd;KACF;IAED,cAAc,EAAE,oCAAoC;IACpD,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACqF,CAAC"}
@@ -23,3 +23,4 @@ export const CrunchLoader = {
23
23
  }
24
24
  }
25
25
  };
26
+ //# sourceMappingURL=crunch-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-loader.js","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAa5C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,IAAiC;IAC3C,SAAS,EAAE,IAAa;IAExB,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;IACnE,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE;QACP,MAAM,EAAE;YACN,WAAW,EAAE,OAAO;SACrB;KACF;CACoE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=crunch-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-worker.d.ts","sourceRoot":"","sources":["../src/crunch-worker.ts"],"names":[],"mappings":""}
@@ -27,8 +27,9 @@
27
27
  "loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
28
28
  );
29
29
  globalThis._loadersgl_.version = NPM_TAG;
30
+ warningIssued = true;
30
31
  } else {
31
- globalThis._loadersgl_.version = "4.3.3";
32
+ globalThis._loadersgl_.version = "4.4.0-alpha.10";
32
33
  }
33
34
  }
34
35
  return globalThis._loadersgl_.version;
@@ -191,6 +192,9 @@
191
192
  return await loadLibraryPromises[libraryUrl];
192
193
  }
193
194
  function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
195
+ if (options?.core) {
196
+ throw new Error("loadLibrary: options.core must be pre-normalized");
197
+ }
194
198
  if (!options.useLocalLibraries && library.startsWith("http")) {
195
199
  return library;
196
200
  }
@@ -216,10 +220,20 @@
216
220
  return await loadAsArrayBuffer(libraryUrl);
217
221
  }
218
222
  if (!isBrowser) {
223
+ const { requireFromFile } = globalThis.loaders || {};
219
224
  try {
220
- const { requireFromFile } = globalThis.loaders || {};
221
- return await requireFromFile?.(libraryUrl);
225
+ const result = await requireFromFile?.(libraryUrl);
226
+ if (result || !libraryUrl.includes("/dist/libs/")) {
227
+ return result;
228
+ }
229
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
222
230
  } catch (error) {
231
+ if (libraryUrl.includes("/dist/libs/")) {
232
+ try {
233
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
234
+ } catch {
235
+ }
236
+ }
223
237
  console.error(error);
224
238
  return null;
225
239
  }
@@ -255,7 +269,14 @@
255
269
  const response = await fetch(url);
256
270
  return await response.arrayBuffer();
257
271
  }
258
- return await readFileAsArrayBuffer(url);
272
+ try {
273
+ return await readFileAsArrayBuffer(url);
274
+ } catch {
275
+ if (url.includes("/dist/libs/")) {
276
+ return await readFileAsArrayBuffer(url.replace("/dist/libs/", "/src/libs/"));
277
+ }
278
+ throw new Error(`Failed to load ArrayBuffer from ${url}`);
279
+ }
259
280
  }
260
281
  async function loadAsText(url) {
261
282
  const { readFileAsText } = globalThis.loaders || {};
@@ -263,7 +284,14 @@
263
284
  const response = await fetch(url);
264
285
  return await response.text();
265
286
  }
266
- return await readFileAsText(url);
287
+ try {
288
+ return await readFileAsText(url);
289
+ } catch {
290
+ if (url.includes("/dist/libs/")) {
291
+ return await readFileAsText(url.replace("/dist/libs/", "/src/libs/"));
292
+ }
293
+ throw new Error(`Failed to load text from ${url}`);
294
+ }
267
295
  }
268
296
 
269
297
  // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
@@ -342,13 +370,16 @@
342
370
  options = {
343
371
  ...options,
344
372
  modules: loader && loader.options && loader.options.modules || {},
345
- worker: false
373
+ core: {
374
+ ...options.core,
375
+ worker: false
376
+ }
346
377
  };
347
378
  return await parser(data, { ...options }, context, loader);
348
379
  }
349
380
 
350
381
  // src/lib/utils/version.ts
351
- var VERSION2 = true ? "4.3.3" : "latest";
382
+ var VERSION2 = true ? "4.4.0-alpha.10" : "latest";
352
383
 
353
384
  // src/crunch-loader.ts
354
385
  var CrunchLoader = {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-worker.js","sourceRoot":"","sources":["../src/crunch-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,6EAA6E;AAC7E,MAAM,CAAC,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC"}