@loaders.gl/textures 4.2.0-alpha.3 → 4.2.0-alpha.5

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 (110) hide show
  1. package/dist/basis-loader.js +27 -19
  2. package/dist/basis-worker-node.js +2 -2
  3. package/dist/basis-worker.js +2 -2
  4. package/dist/compressed-texture-loader.js +51 -31
  5. package/dist/compressed-texture-worker.js +2 -2
  6. package/dist/compressed-texture-writer.js +32 -19
  7. package/dist/crunch-loader.js +19 -13
  8. package/dist/crunch-worker.js +2 -2
  9. package/dist/dist.dev.js +326 -212
  10. package/dist/dist.min.js +10 -0
  11. package/dist/index.cjs +41 -60
  12. package/dist/index.cjs.map +7 -0
  13. package/dist/index.d.ts +16 -16
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +21 -13
  16. package/dist/ktx2-basis-writer-worker-node.js +2 -2
  17. package/dist/ktx2-basis-writer-worker.js +2 -2
  18. package/dist/ktx2-basis-writer.js +21 -15
  19. package/dist/lib/encoders/encode-ktx.js +6 -3
  20. package/dist/lib/encoders/encode-ktx2-basis-texture.js +38 -33
  21. package/dist/lib/encoders/encode-texture.d.ts +1 -1
  22. package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
  23. package/dist/lib/encoders/encode-texture.js +23 -9
  24. package/dist/lib/gl-extensions.js +70 -59
  25. package/dist/lib/parsers/basis-module-loader.js +97 -61
  26. package/dist/lib/parsers/crunch-module-loader.js +29 -13
  27. package/dist/lib/parsers/parse-basis.js +217 -205
  28. package/dist/lib/parsers/parse-compressed-texture.js +20 -11
  29. package/dist/lib/parsers/parse-crunch.js +89 -59
  30. package/dist/lib/parsers/parse-dds.js +82 -53
  31. package/dist/lib/parsers/parse-ktx.js +37 -18
  32. package/dist/lib/parsers/parse-npy.js +70 -53
  33. package/dist/lib/parsers/parse-pvr.js +203 -112
  34. package/dist/lib/texture-api/async-deep-map.js +33 -28
  35. package/dist/lib/texture-api/deep-load.js +7 -5
  36. package/dist/lib/texture-api/generate-url.d.ts +1 -1
  37. package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
  38. package/dist/lib/texture-api/generate-url.js +12 -10
  39. package/dist/lib/texture-api/load-image-array.d.ts +1 -1
  40. package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
  41. package/dist/lib/texture-api/load-image-array.js +13 -15
  42. package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
  43. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
  44. package/dist/lib/texture-api/load-image-cube.js +32 -51
  45. package/dist/lib/texture-api/load-image.d.ts +1 -1
  46. package/dist/lib/texture-api/load-image.d.ts.map +1 -1
  47. package/dist/lib/texture-api/load-image.js +30 -36
  48. package/dist/lib/texture-api/texture-api-types.js +3 -1
  49. package/dist/lib/utils/extract-mipmap-images.js +43 -29
  50. package/dist/lib/utils/ktx-format-helper.js +119 -68
  51. package/dist/lib/utils/texture-formats.js +40 -26
  52. package/dist/lib/utils/version.js +7 -2
  53. package/dist/npy-loader.d.ts +1 -1
  54. package/dist/npy-loader.d.ts.map +1 -1
  55. package/dist/npy-loader.js +24 -15
  56. package/dist/npy-worker.js +1 -1
  57. package/dist/workers/basis-worker-node.js +4 -1
  58. package/dist/workers/basis-worker.js +3 -1
  59. package/dist/workers/compressed-texture-worker.js +4 -1
  60. package/dist/workers/crunch-worker.d.ts +1 -1
  61. package/dist/workers/crunch-worker.d.ts.map +1 -1
  62. package/dist/workers/crunch-worker.js +8 -3
  63. package/dist/workers/ktx2-basis-writer-worker-node.js +23 -26
  64. package/dist/workers/ktx2-basis-writer-worker.js +22 -26
  65. package/dist/workers/npy-worker.js +3 -1
  66. package/package.json +13 -9
  67. package/dist/basis-loader.js.map +0 -1
  68. package/dist/compressed-texture-loader.js.map +0 -1
  69. package/dist/compressed-texture-writer.js.map +0 -1
  70. package/dist/crunch-loader.js.map +0 -1
  71. package/dist/index.js.map +0 -1
  72. package/dist/ktx2-basis-writer.js.map +0 -1
  73. package/dist/lib/encoders/encode-ktx.js.map +0 -1
  74. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
  75. package/dist/lib/encoders/encode-texture.js.map +0 -1
  76. package/dist/lib/gl-extensions.js.map +0 -1
  77. package/dist/lib/parsers/basis-module-loader.js.map +0 -1
  78. package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
  79. package/dist/lib/parsers/parse-basis.js.map +0 -1
  80. package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
  81. package/dist/lib/parsers/parse-crunch.js.map +0 -1
  82. package/dist/lib/parsers/parse-dds.js.map +0 -1
  83. package/dist/lib/parsers/parse-ktx.js.map +0 -1
  84. package/dist/lib/parsers/parse-npy.js.map +0 -1
  85. package/dist/lib/parsers/parse-pvr.js.map +0 -1
  86. package/dist/lib/texture-api/async-deep-map.js.map +0 -1
  87. package/dist/lib/texture-api/deep-load.js.map +0 -1
  88. package/dist/lib/texture-api/generate-url.js.map +0 -1
  89. package/dist/lib/texture-api/load-image-array.js.map +0 -1
  90. package/dist/lib/texture-api/load-image-cube.js.map +0 -1
  91. package/dist/lib/texture-api/load-image.js.map +0 -1
  92. package/dist/lib/texture-api/texture-api-types.js.map +0 -1
  93. package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
  94. package/dist/lib/utils/ktx-format-helper.js.map +0 -1
  95. package/dist/lib/utils/texture-formats.js.map +0 -1
  96. package/dist/lib/utils/version.js.map +0 -1
  97. package/dist/libs/libs/README.md +0 -9
  98. package/dist/libs/libs/basis_encoder.js +0 -21
  99. package/dist/libs/libs/basis_encoder.wasm +0 -0
  100. package/dist/libs/libs/basis_transcoder.js +0 -22
  101. package/dist/libs/libs/basis_transcoder.wasm +0 -0
  102. package/dist/libs/libs/crunch.js +0 -136
  103. package/dist/npy-loader.js.map +0 -1
  104. package/dist/workers/basis-worker-node.js.map +0 -1
  105. package/dist/workers/basis-worker.js.map +0 -1
  106. package/dist/workers/compressed-texture-worker.js.map +0 -1
  107. package/dist/workers/crunch-worker.js.map +0 -1
  108. package/dist/workers/ktx2-basis-writer-worker-node.js.map +0 -1
  109. package/dist/workers/ktx2-basis-writer-worker.js.map +0 -1
  110. package/dist/workers/npy-worker.js.map +0 -1
package/dist/dist.dev.js CHANGED
@@ -2,8 +2,8 @@
2
2
  if (typeof exports === 'object' && typeof module === 'object')
3
3
  module.exports = factory();
4
4
  else if (typeof define === 'function' && define.amd) define([], factory);
5
- else if (typeof exports === 'object') exports['loader'] = factory();
6
- else root['loader'] = factory();})(globalThis, function () {
5
+ else if (typeof exports === 'object') exports['loaders'] = factory();
6
+ else root['loaders'] = factory();})(globalThis, function () {
7
7
  "use strict";
8
8
  var __exports__ = (() => {
9
9
  var __create = Object.create;
@@ -27,6 +27,7 @@ var __exports__ = (() => {
27
27
  }
28
28
  return to;
29
29
  };
30
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
30
31
  var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
31
32
  // If the importer is in node compatibility mode or this is not an ESM
32
33
  // file that has been converted to a CommonJS file using a Babel-
@@ -37,6 +38,13 @@ var __exports__ = (() => {
37
38
  ));
38
39
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
39
40
 
41
+ // external-global-plugin:@loaders.gl/core
42
+ var require_core = __commonJS({
43
+ "external-global-plugin:@loaders.gl/core"(exports, module) {
44
+ module.exports = globalThis.loaders;
45
+ }
46
+ });
47
+
40
48
  // (disabled):../worker-utils/src/lib/node/require-utils.node
41
49
  var require_require_utils = __commonJS({
42
50
  "(disabled):../worker-utils/src/lib/node/require-utils.node"() {
@@ -51,9 +59,9 @@ var __exports__ = (() => {
51
59
  }
52
60
  });
53
61
 
54
- // src/index.ts
55
- var src_exports = {};
56
- __export(src_exports, {
62
+ // bundle.ts
63
+ var bundle_exports = {};
64
+ __export(bundle_exports, {
57
65
  BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
58
66
  BasisLoader: () => BasisLoader,
59
67
  BasisWorkerLoader: () => BasisWorkerLoader,
@@ -74,19 +82,23 @@ var __exports__ = (() => {
74
82
  loadImageTextureCube: () => loadImageTextureCube,
75
83
  selectSupportedBasisFormat: () => selectSupportedBasisFormat
76
84
  });
85
+ __reExport(bundle_exports, __toESM(require_core(), 1));
77
86
 
78
87
  // src/lib/utils/version.ts
79
- var VERSION = true ? "4.2.0-alpha.3" : "latest";
88
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
80
89
 
81
90
  // ../worker-utils/src/lib/env-utils/version.ts
91
+ var NPM_TAG = "latest";
82
92
  function getVersion() {
83
93
  if (!globalThis._loadersgl_?.version) {
84
94
  globalThis._loadersgl_ = globalThis._loadersgl_ || {};
85
- if (false) {
86
- console.warn("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
95
+ if (typeof __VERSION__ === "undefined") {
96
+ console.warn(
97
+ "loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
98
+ );
87
99
  globalThis._loadersgl_.version = NPM_TAG;
88
100
  } else {
89
- globalThis._loadersgl_.version = "4.2.0-alpha.3";
101
+ globalThis._loadersgl_.version = __VERSION__;
90
102
  }
91
103
  }
92
104
  return globalThis._loadersgl_.version;
@@ -111,7 +123,10 @@ var __exports__ = (() => {
111
123
  var window_ = globals.window || globals.self || globals.global || {};
112
124
  var global_ = globals.global || globals.self || globals.window || {};
113
125
  var document_ = globals.document || {};
114
- var isBrowser = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
126
+ var isBrowser = (
127
+ // @ts-ignore process.browser
128
+ typeof process !== "object" || String(process) !== "[object process]" || process.browser
129
+ );
115
130
  var isWorker = typeof importScripts === "function";
116
131
  var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
117
132
  var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
@@ -124,7 +139,8 @@ var __exports__ = (() => {
124
139
  if (moduleName) {
125
140
  libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
126
141
  }
127
- loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
142
+ loadLibraryPromises[libraryUrl] = // eslint-disable-next-line @typescript-eslint/no-misused-promises
143
+ loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
128
144
  return await loadLibraryPromises[libraryUrl];
129
145
  }
130
146
  function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
@@ -204,9 +220,13 @@ var __exports__ = (() => {
204
220
 
205
221
  // src/lib/parsers/basis-module-loader.ts
206
222
  var BASIS_EXTERNAL_LIBRARIES = {
223
+ /** Basis transcoder, javascript wrapper part */
207
224
  TRANSCODER: "basis_transcoder.js",
225
+ /** Basis transcoder, compiled web assembly part */
208
226
  TRANSCODER_WASM: "basis_transcoder.wasm",
227
+ /** Basis encoder, javascript wrapper part */
209
228
  ENCODER: "basis_encoder.js",
229
+ /** Basis encoder, compiled web assembly part */
210
230
  ENCODER_WASM: "basis_encoder.wasm"
211
231
  };
212
232
  var loadBasisTranscoderPromise;
@@ -221,7 +241,10 @@ var __exports__ = (() => {
221
241
  async function loadBasisTranscoder(options) {
222
242
  let BASIS = null;
223
243
  let wasmBinary = null;
224
- [BASIS, wasmBinary] = await Promise.all([await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options), await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)]);
244
+ [BASIS, wasmBinary] = await Promise.all([
245
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
246
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
247
+ ]);
225
248
  BASIS = BASIS || globalThis.BASIS;
226
249
  return await initializeBasisTranscoderModule(BASIS, wasmBinary);
227
250
  }
@@ -232,14 +255,9 @@ var __exports__ = (() => {
232
255
  }
233
256
  return new Promise((resolve) => {
234
257
  BasisModule(options).then((module) => {
235
- const {
236
- BasisFile,
237
- initializeBasis
238
- } = module;
258
+ const { BasisFile, initializeBasis } = module;
239
259
  initializeBasis();
240
- resolve({
241
- BasisFile
242
- });
260
+ resolve({ BasisFile });
243
261
  });
244
262
  });
245
263
  }
@@ -255,7 +273,10 @@ var __exports__ = (() => {
255
273
  async function loadBasisEncoder(options) {
256
274
  let BASIS_ENCODER = null;
257
275
  let wasmBinary = null;
258
- [BASIS_ENCODER, wasmBinary] = await Promise.all([await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options), await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)]);
276
+ [BASIS_ENCODER, wasmBinary] = await Promise.all([
277
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
278
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
279
+ ]);
259
280
  BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
260
281
  return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
261
282
  }
@@ -266,28 +287,21 @@ var __exports__ = (() => {
266
287
  }
267
288
  return new Promise((resolve) => {
268
289
  BasisEncoderModule(options).then((module) => {
269
- const {
270
- BasisFile,
271
- KTX2File,
272
- initializeBasis,
273
- BasisEncoder
274
- } = module;
290
+ const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
275
291
  initializeBasis();
276
- resolve({
277
- BasisFile,
278
- KTX2File,
279
- BasisEncoder
280
- });
292
+ resolve({ BasisFile, KTX2File, BasisEncoder });
281
293
  });
282
294
  });
283
295
  }
284
296
 
285
297
  // src/lib/gl-extensions.ts
286
298
  var GL_EXTENSIONS_CONSTANTS = {
299
+ // WEBGL_compressed_texture_s3tc
287
300
  COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
288
301
  COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
289
302
  COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
290
303
  COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
304
+ // WEBGL_compressed_texture_es3
291
305
  COMPRESSED_R11_EAC: 37488,
292
306
  COMPRESSED_SIGNED_R11_EAC: 37489,
293
307
  COMPRESSED_RG11_EAC: 37490,
@@ -298,14 +312,18 @@ var __exports__ = (() => {
298
312
  COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
299
313
  COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
300
314
  COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
315
+ // WEBGL_compressed_texture_pvrtc
301
316
  COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
302
317
  COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
303
318
  COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
304
319
  COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
320
+ // WEBGL_compressed_texture_etc1
305
321
  COMPRESSED_RGB_ETC1_WEBGL: 36196,
322
+ // WEBGL_compressed_texture_atc
306
323
  COMPRESSED_RGB_ATC_WEBGL: 35986,
307
324
  COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
308
325
  COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
326
+ // WEBGL_compressed_texture_astc
309
327
  COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
310
328
  COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
311
329
  COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
@@ -334,10 +352,12 @@ var __exports__ = (() => {
334
352
  COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
335
353
  COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
336
354
  COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
355
+ // EXT_texture_compression_rgtc
337
356
  COMPRESSED_RED_RGTC1_EXT: 36283,
338
357
  COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
339
358
  COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
340
359
  COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
360
+ // WEBGL_compressed_texture_s3tc_srgb
341
361
  COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
342
362
  COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
343
363
  COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
@@ -347,6 +367,7 @@ var __exports__ = (() => {
347
367
  // src/lib/utils/texture-formats.ts
348
368
  var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
349
369
  var WEBGL_EXTENSIONS = {
370
+ /* eslint-disable camelcase */
350
371
  WEBGL_compressed_texture_s3tc: "dxt",
351
372
  WEBGL_compressed_texture_s3tc_srgb: "dxt-srgb",
352
373
  WEBGL_compressed_texture_etc1: "etc1",
@@ -355,6 +376,7 @@ var __exports__ = (() => {
355
376
  WEBGL_compressed_texture_atc: "atc",
356
377
  WEBGL_compressed_texture_astc: "astc",
357
378
  EXT_texture_compression_rgtc: "rgtc"
379
+ /* eslint-enable camelcase */
358
380
  };
359
381
  var formats = null;
360
382
  function getSupportedGPUTextureFormats(gl) {
@@ -537,49 +559,91 @@ var __exports__ = (() => {
537
559
  154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
538
560
  155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
539
561
  156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
562
+ // @ts-ignore
540
563
  157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
564
+ // @ts-ignore
541
565
  158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
566
+ // @ts-ignore
542
567
  159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
568
+ // @ts-ignore
543
569
  160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
570
+ // @ts-ignore
544
571
  161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
572
+ // @ts-ignore
545
573
  162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
574
+ // @ts-ignore
546
575
  163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
576
+ // @ts-ignore
547
577
  164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
578
+ // @ts-ignore
548
579
  165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
580
+ // @ts-ignore
549
581
  166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
582
+ // @ts-ignore
550
583
  167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
584
+ // @ts-ignore
551
585
  168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
586
+ // @ts-ignore
552
587
  169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
588
+ // @ts-ignore
553
589
  170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
590
+ // @ts-ignore
554
591
  171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
592
+ // @ts-ignore
555
593
  172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
594
+ // @ts-ignore
556
595
  173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
596
+ // @ts-ignore
557
597
  174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
598
+ // @ts-ignore
558
599
  175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
600
+ // @ts-ignore
559
601
  176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
602
+ // @ts-ignore
560
603
  177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
604
+ // @ts-ignore
561
605
  178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
606
+ // @ts-ignore
562
607
  179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
608
+ // @ts-ignore
563
609
  180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
610
+ // @ts-ignore
564
611
  181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
612
+ // @ts-ignore
565
613
  182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
614
+ // @ts-ignore
566
615
  183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
616
+ // @ts-ignore
567
617
  184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
568
618
  1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
569
619
  1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
620
+ // @ts-ignore
570
621
  1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
622
+ // @ts-ignore
571
623
  1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
624
+ // @ts-ignore
572
625
  1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
626
+ // @ts-ignore
573
627
  1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
628
+ // @ts-ignore
574
629
  1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
630
+ // @ts-ignore
575
631
  1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
632
+ // @ts-ignore
576
633
  1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
634
+ // @ts-ignore
577
635
  1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
636
+ // @ts-ignore
578
637
  1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
638
+ // @ts-ignore
579
639
  1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
640
+ // @ts-ignore
580
641
  1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
642
+ // @ts-ignore
581
643
  1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
644
+ // @ts-ignore
582
645
  1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
646
+ // @ts-ignore
583
647
  1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
584
648
  };
585
649
  function mapVkFormatToWebGL(vkFormat) {
@@ -587,10 +651,35 @@ var __exports__ = (() => {
587
651
  }
588
652
 
589
653
  // src/lib/parsers/parse-ktx.ts
590
- var KTX2_ID = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
654
+ var KTX2_ID = [
655
+ // '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
656
+ 171,
657
+ 75,
658
+ 84,
659
+ 88,
660
+ 32,
661
+ 50,
662
+ 48,
663
+ 187,
664
+ 13,
665
+ 10,
666
+ 26,
667
+ 10
668
+ ];
591
669
  function isKTX(data) {
592
670
  const id = new Uint8Array(data);
593
- const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] || id[1] !== KTX2_ID[1] || id[2] !== KTX2_ID[2] || id[3] !== KTX2_ID[3] || id[4] !== KTX2_ID[4] || id[5] !== KTX2_ID[5] || id[6] !== KTX2_ID[6] || id[7] !== KTX2_ID[7] || id[8] !== KTX2_ID[8] || id[9] !== KTX2_ID[9] || id[10] !== KTX2_ID[10] || id[11] !== KTX2_ID[11];
671
+ const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] || // '´'
672
+ id[1] !== KTX2_ID[1] || // 'K'
673
+ id[2] !== KTX2_ID[2] || // 'T'
674
+ id[3] !== KTX2_ID[3] || // 'X'
675
+ id[4] !== KTX2_ID[4] || // ' '
676
+ id[5] !== KTX2_ID[5] || // '2'
677
+ id[6] !== KTX2_ID[6] || // '0'
678
+ id[7] !== KTX2_ID[7] || // 'ª'
679
+ id[8] !== KTX2_ID[8] || // '\r'
680
+ id[9] !== KTX2_ID[9] || // '\n'
681
+ id[10] !== KTX2_ID[10] || // '\x1A'
682
+ id[11] !== KTX2_ID[11];
594
683
  return !notKTX;
595
684
  }
596
685
  function parseKTX(arrayBuffer) {
@@ -616,10 +705,7 @@ var __exports__ = (() => {
616
705
  compressed: true,
617
706
  format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
618
707
  },
619
- etc2: {
620
- basisFormat: 1,
621
- compressed: true
622
- },
708
+ etc2: { basisFormat: 1, compressed: true },
623
709
  bc1: {
624
710
  basisFormat: 2,
625
711
  compressed: true,
@@ -630,22 +716,10 @@ var __exports__ = (() => {
630
716
  compressed: true,
631
717
  format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
632
718
  },
633
- bc4: {
634
- basisFormat: 4,
635
- compressed: true
636
- },
637
- bc5: {
638
- basisFormat: 5,
639
- compressed: true
640
- },
641
- "bc7-m6-opaque-only": {
642
- basisFormat: 6,
643
- compressed: true
644
- },
645
- "bc7-m5": {
646
- basisFormat: 7,
647
- compressed: true
648
- },
719
+ bc4: { basisFormat: 4, compressed: true },
720
+ bc5: { basisFormat: 5, compressed: true },
721
+ "bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
722
+ "bc7-m5": { basisFormat: 7, compressed: true },
649
723
  "pvrtc1-4-rgb": {
650
724
  basisFormat: 8,
651
725
  compressed: true,
@@ -661,30 +735,12 @@ var __exports__ = (() => {
661
735
  compressed: true,
662
736
  format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
663
737
  },
664
- "atc-rgb": {
665
- basisFormat: 11,
666
- compressed: true
667
- },
668
- "atc-rgba-interpolated-alpha": {
669
- basisFormat: 12,
670
- compressed: true
671
- },
672
- rgba32: {
673
- basisFormat: 13,
674
- compressed: false
675
- },
676
- rgb565: {
677
- basisFormat: 14,
678
- compressed: false
679
- },
680
- bgr565: {
681
- basisFormat: 15,
682
- compressed: false
683
- },
684
- rgba4444: {
685
- basisFormat: 16,
686
- compressed: false
687
- }
738
+ "atc-rgb": { basisFormat: 11, compressed: true },
739
+ "atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
740
+ rgba32: { basisFormat: 13, compressed: false },
741
+ rgb565: { basisFormat: 14, compressed: false },
742
+ bgr565: { basisFormat: 15, compressed: false },
743
+ rgba4444: { basisFormat: 16, compressed: false }
688
744
  };
689
745
  async function parseBasis(data, options) {
690
746
  if (options.basis.containerFormat === "auto") {
@@ -692,9 +748,7 @@ var __exports__ = (() => {
692
748
  const fileConstructors = await loadBasisEncoderModule(options);
693
749
  return parseKTX2File(fileConstructors.KTX2File, data, options);
694
750
  }
695
- const {
696
- BasisFile
697
- } = await loadBasisTranscoderModule(options);
751
+ const { BasisFile } = await loadBasisTranscoderModule(options);
698
752
  return parseBasisFile(BasisFile, data, options);
699
753
  }
700
754
  switch (options.basis.module) {
@@ -709,9 +763,7 @@ var __exports__ = (() => {
709
763
  }
710
764
  case "transcoder":
711
765
  default:
712
- const {
713
- BasisFile
714
- } = await loadBasisTranscoderModule(options);
766
+ const { BasisFile } = await loadBasisTranscoderModule(options);
715
767
  return parseBasisFile(BasisFile, data, options);
716
768
  }
717
769
  }
@@ -740,23 +792,24 @@ var __exports__ = (() => {
740
792
  function transcodeImage(basisFile, imageIndex, levelIndex, options) {
741
793
  const width = basisFile.getImageWidth(imageIndex, levelIndex);
742
794
  const height = basisFile.getImageHeight(imageIndex, levelIndex);
743
- const hasAlpha = basisFile.getHasAlpha();
744
- const {
745
- compressed,
746
- format,
747
- basisFormat
748
- } = getBasisOptions(options, hasAlpha);
795
+ const hasAlpha = basisFile.getHasAlpha(
796
+ /* imageIndex, levelIndex */
797
+ );
798
+ const { compressed, format, basisFormat } = getBasisOptions(options, hasAlpha);
749
799
  const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
750
800
  const decodedData = new Uint8Array(decodedSize);
751
801
  if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
752
802
  throw new Error("failed to start Basis transcoding");
753
803
  }
754
804
  return {
805
+ // standard loaders.gl image category payload
755
806
  width,
756
807
  height,
757
808
  data: decodedData,
758
809
  compressed,
759
810
  format,
811
+ // Additional fields
812
+ // Add levelSize field.
760
813
  hasAlpha
761
814
  };
762
815
  }
@@ -779,26 +832,35 @@ var __exports__ = (() => {
779
832
  }
780
833
  }
781
834
  function transcodeKTX2Image(ktx2File, levelIndex, options) {
782
- const {
783
- alphaFlag,
784
- height,
785
- width
786
- } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
787
- const {
788
- compressed,
789
- format,
835
+ const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
836
+ const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
837
+ const decodedSize = ktx2File.getImageTranscodedSizeInBytes(
838
+ levelIndex,
839
+ 0,
840
+ 0,
790
841
  basisFormat
791
- } = getBasisOptions(options, alphaFlag);
792
- const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
842
+ );
793
843
  const decodedData = new Uint8Array(decodedSize);
794
- if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
844
+ if (!ktx2File.transcodeImage(
845
+ decodedData,
846
+ levelIndex,
847
+ 0,
848
+ 0,
849
+ basisFormat,
850
+ 0,
851
+ -1,
852
+ -1
853
+ /* channel1 */
854
+ )) {
795
855
  throw new Error("Failed to transcode KTX2 image");
796
856
  }
797
857
  return {
858
+ // standard loaders.gl image category payload
798
859
  width,
799
860
  height,
800
861
  data: decodedData,
801
862
  compressed,
863
+ // Additional fields
802
864
  levelSize: decodedSize,
803
865
  hasAlpha: alphaFlag,
804
866
  format
@@ -851,9 +913,12 @@ var __exports__ = (() => {
851
913
  options: {
852
914
  basis: {
853
915
  format: "auto",
916
+ // gl context doesn't exist on a worker thread
854
917
  libraryPath: "libs/",
855
918
  containerFormat: "auto",
919
+ // 'basis' || 'ktx2' || 'auto'
856
920
  module: "transcoder"
921
+ // 'transcoder' || 'encoder'
857
922
  }
858
923
  }
859
924
  };
@@ -880,7 +945,10 @@ var __exports__ = (() => {
880
945
  var window_2 = globals2.window || globals2.self || globals2.global || {};
881
946
  var global_2 = globals2.global || globals2.self || globals2.window || {};
882
947
  var document_2 = globals2.document || {};
883
- var isBrowser2 = Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser);
948
+ var isBrowser2 = (
949
+ // @ts-ignore process does not exist on browser
950
+ Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser)
951
+ );
884
952
  var matches2 = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
885
953
  var nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
886
954
 
@@ -942,7 +1010,10 @@ var __exports__ = (() => {
942
1010
  function parseDDS(data) {
943
1011
  const header = new Int32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);
944
1012
  const pixelFormatNumber = header[DDS_CONSTANTS.HEADER_PF_FOURCC_INDEX];
945
- assert2(Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC), "DDS: Unsupported format, must contain a FourCC code");
1013
+ assert2(
1014
+ Boolean(header[DDS_CONSTANTS.HEADER_PF_FLAGS_INDEX] & DDS_CONSTANTS.DDPF_FOURCC),
1015
+ "DDS: Unsupported format, must contain a FourCC code"
1016
+ );
946
1017
  const fourCC = int32ToFourCC(pixelFormatNumber);
947
1018
  const internalFormat = DDS_PIXEL_FORMATS[fourCC];
948
1019
  const sizeFunction = DDS_SIZE_FUNCTIONS[fourCC];
@@ -970,7 +1041,12 @@ var __exports__ = (() => {
970
1041
  return (width + 3 >> 2) * (height + 3 >> 2) * 16;
971
1042
  }
972
1043
  function int32ToFourCC(value) {
973
- return String.fromCharCode(value & 255, value >> 8 & 255, value >> 16 & 255, value >> 24 & 255);
1044
+ return String.fromCharCode(
1045
+ value & 255,
1046
+ value >> 8 & 255,
1047
+ value >> 16 & 255,
1048
+ value >> 24 & 255
1049
+ );
974
1050
  }
975
1051
 
976
1052
  // src/lib/parsers/parse-pvr.ts
@@ -1001,20 +1077,62 @@ var __exports__ = (() => {
1001
1077
  24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
1002
1078
  25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
1003
1079
  26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
1004
- 27: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],
1005
- 28: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],
1006
- 29: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],
1007
- 30: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],
1008
- 31: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],
1009
- 32: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],
1010
- 33: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],
1011
- 34: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],
1012
- 35: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],
1013
- 36: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],
1014
- 37: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],
1015
- 38: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],
1016
- 39: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],
1017
- 40: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]
1080
+ 27: [
1081
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
1082
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
1083
+ ],
1084
+ 28: [
1085
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
1086
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
1087
+ ],
1088
+ 29: [
1089
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
1090
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
1091
+ ],
1092
+ 30: [
1093
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
1094
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
1095
+ ],
1096
+ 31: [
1097
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
1098
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
1099
+ ],
1100
+ 32: [
1101
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
1102
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
1103
+ ],
1104
+ 33: [
1105
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
1106
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
1107
+ ],
1108
+ 34: [
1109
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
1110
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
1111
+ ],
1112
+ 35: [
1113
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
1114
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
1115
+ ],
1116
+ 36: [
1117
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
1118
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
1119
+ ],
1120
+ 37: [
1121
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
1122
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
1123
+ ],
1124
+ 38: [
1125
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
1126
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
1127
+ ],
1128
+ 39: [
1129
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
1130
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
1131
+ ],
1132
+ 40: [
1133
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
1134
+ GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
1135
+ ]
1018
1136
  };
1019
1137
  var PVR_SIZE_FUNCTIONS = {
1020
1138
  0: pvrtc2bppSize,
@@ -1147,8 +1265,21 @@ var __exports__ = (() => {
1147
1265
  module: "textures",
1148
1266
  version: VERSION,
1149
1267
  worker: true,
1150
- extensions: ["ktx", "ktx2", "dds", "pvr"],
1151
- mimeTypes: ["image/ktx2", "image/ktx", "image/vnd-ms.dds", "image/x-dds", "application/octet-stream"],
1268
+ extensions: [
1269
+ "ktx",
1270
+ "ktx2",
1271
+ "dds",
1272
+ // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc
1273
+ "pvr"
1274
+ // WEBGL_compressed_texture_pvrtc
1275
+ ],
1276
+ mimeTypes: [
1277
+ "image/ktx2",
1278
+ "image/ktx",
1279
+ "image/vnd-ms.dds",
1280
+ "image/x-dds",
1281
+ "application/octet-stream"
1282
+ ],
1152
1283
  binary: true,
1153
1284
  options: {
1154
1285
  "compressed-texture": {
@@ -1166,6 +1297,7 @@ var __exports__ = (() => {
1166
1297
  alpha: "BC3",
1167
1298
  noAlpha: "BC1"
1168
1299
  },
1300
+ // @ts-expect-error TODO not allowed to modify inputs
1169
1301
  ...options.basis,
1170
1302
  containerFormat: "ktx2",
1171
1303
  module: "encoder"
@@ -1211,10 +1343,7 @@ var __exports__ = (() => {
1211
1343
  };
1212
1344
  function parseNPY(arrayBuffer, options) {
1213
1345
  const view = new DataView(arrayBuffer);
1214
- const {
1215
- header,
1216
- headerEndOffset
1217
- } = parseHeader(view);
1346
+ const { header, headerEndOffset } = parseHeader(view);
1218
1347
  const numpyType = header.descr;
1219
1348
  const ArrayType = DTYPES[numpyType.slice(1, 3)];
1220
1349
  if (!ArrayType) {
@@ -1250,11 +1379,10 @@ var __exports__ = (() => {
1250
1379
  const headerArray = new Uint8Array(view.buffer, offset, headerLength);
1251
1380
  const headerText = decoder.decode(headerArray);
1252
1381
  offset += headerLength;
1253
- const header = JSON.parse(headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]"));
1254
- return {
1255
- header,
1256
- headerEndOffset: offset
1257
- };
1382
+ const header = JSON.parse(
1383
+ headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]")
1384
+ );
1385
+ return { header, headerEndOffset: offset };
1258
1386
  }
1259
1387
 
1260
1388
  // src/npy-loader.ts
@@ -1280,12 +1408,26 @@ var __exports__ = (() => {
1280
1408
 
1281
1409
  // src/lib/parsers/crunch-module-loader.ts
1282
1410
  var CRUNCH_EXTERNAL_LIBRARIES = {
1411
+ /** Crunch decoder library. It is used as dynamically imported script */
1283
1412
  DECODER: "crunch.js"
1284
1413
  };
1285
1414
 
1286
1415
  // src/lib/encoders/encode-texture.ts
1287
1416
  async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
1288
- const args = ["texture-compressor", "--type", "s3tc", "--compression", "DXT1", "--quality", "normal", "--input", inputUrl, "--output", outputUrl];
1417
+ const args = [
1418
+ // Note: our actual executable is `npx`, so `texture-compressor` is an argument
1419
+ "texture-compressor",
1420
+ "--type",
1421
+ "s3tc",
1422
+ "--compression",
1423
+ "DXT1",
1424
+ "--quality",
1425
+ "normal",
1426
+ "--input",
1427
+ inputUrl,
1428
+ "--output",
1429
+ outputUrl
1430
+ ];
1289
1431
  const childProcess = new import_child_process_proxy.default();
1290
1432
  await childProcess.start({
1291
1433
  command: "npx",
@@ -1326,9 +1468,7 @@ var __exports__ = (() => {
1326
1468
  encodeUASTC = false,
1327
1469
  mipmaps = false
1328
1470
  } = options?.["ktx2-basis-writer"] || {};
1329
- const {
1330
- BasisEncoder
1331
- } = await loadBasisEncoderModule(options);
1471
+ const { BasisEncoder } = await loadBasisEncoderModule(options);
1332
1472
  const basisEncoder = new BasisEncoder();
1333
1473
  try {
1334
1474
  const basisFileData = new Uint8Array(image.width * image.height * 4);
@@ -1371,7 +1511,7 @@ var __exports__ = (() => {
1371
1511
  };
1372
1512
 
1373
1513
  // ../images/src/lib/utils/version.ts
1374
- var VERSION3 = true ? "4.2.0-alpha.3" : "latest";
1514
+ var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1375
1515
 
1376
1516
  // ../images/src/lib/category-api/image-type.ts
1377
1517
  var parseImageNode = globalThis.loaders?.parseImageNode;
@@ -1561,10 +1701,7 @@ var __exports__ = (() => {
1561
1701
  switch (brandMajor) {
1562
1702
  case "avif":
1563
1703
  case "avis":
1564
- return {
1565
- extension: "avif",
1566
- mimeType: "image/avif"
1567
- };
1704
+ return { extension: "avif", mimeType: "image/avif" };
1568
1705
  default:
1569
1706
  return null;
1570
1707
  }
@@ -1600,6 +1737,7 @@ var __exports__ = (() => {
1600
1737
  }
1601
1738
  return {
1602
1739
  mimeType: mediaType.mimeType,
1740
+ // TODO - decode width and height
1603
1741
  width: 0,
1604
1742
  height: 0
1605
1743
  };
@@ -1646,10 +1784,7 @@ var __exports__ = (() => {
1646
1784
  if (!isJpeg) {
1647
1785
  return null;
1648
1786
  }
1649
- const {
1650
- tableMarkers,
1651
- sofMarkers
1652
- } = getJpegMarkers();
1787
+ const { tableMarkers, sofMarkers } = getJpegMarkers();
1653
1788
  let i2 = 2;
1654
1789
  while (i2 + 9 < dataView.byteLength) {
1655
1790
  const marker = dataView.getUint16(i2, BIG_ENDIAN);
@@ -1657,7 +1792,9 @@ var __exports__ = (() => {
1657
1792
  return {
1658
1793
  mimeType: "image/jpeg",
1659
1794
  height: dataView.getUint16(i2 + 5, BIG_ENDIAN),
1795
+ // Number of lines
1660
1796
  width: dataView.getUint16(i2 + 7, BIG_ENDIAN)
1797
+ // Number of pixels per line
1661
1798
  };
1662
1799
  }
1663
1800
  if (!tableMarkers.has(marker)) {
@@ -1673,11 +1810,23 @@ var __exports__ = (() => {
1673
1810
  for (let i2 = 65504; i2 < 65520; ++i2) {
1674
1811
  tableMarkers.add(i2);
1675
1812
  }
1676
- const sofMarkers = /* @__PURE__ */ new Set([65472, 65473, 65474, 65475, 65477, 65478, 65479, 65481, 65482, 65483, 65485, 65486, 65487, 65502]);
1677
- return {
1678
- tableMarkers,
1679
- sofMarkers
1680
- };
1813
+ const sofMarkers = /* @__PURE__ */ new Set([
1814
+ 65472,
1815
+ 65473,
1816
+ 65474,
1817
+ 65475,
1818
+ 65477,
1819
+ 65478,
1820
+ 65479,
1821
+ 65481,
1822
+ 65482,
1823
+ 65483,
1824
+ 65485,
1825
+ 65486,
1826
+ 65487,
1827
+ 65502
1828
+ ]);
1829
+ return { tableMarkers, sofMarkers };
1681
1830
  }
1682
1831
  function toDataView(data) {
1683
1832
  if (data instanceof DataView) {
@@ -1694,9 +1843,7 @@ var __exports__ = (() => {
1694
1843
 
1695
1844
  // ../images/src/lib/parsers/parse-to-node-image.ts
1696
1845
  async function parseToNodeImage(arrayBuffer, options) {
1697
- const {
1698
- mimeType
1699
- } = getBinaryImageMetadata(arrayBuffer) || {};
1846
+ const { mimeType } = getBinaryImageMetadata(arrayBuffer) || {};
1700
1847
  const parseImageNode2 = globalThis.loaders?.parseImageNode;
1701
1848
  assert2(parseImageNode2);
1702
1849
  return await parseImageNode2(arrayBuffer, mimeType);
@@ -1707,9 +1854,7 @@ var __exports__ = (() => {
1707
1854
  options = options || {};
1708
1855
  const imageOptions = options.image || {};
1709
1856
  const imageType = imageOptions.type || "auto";
1710
- const {
1711
- url
1712
- } = context || {};
1857
+ const { url } = context || {};
1713
1858
  const loadType = getLoadableImageType(imageType);
1714
1859
  let image;
1715
1860
  switch (loadType) {
@@ -1743,12 +1888,23 @@ var __exports__ = (() => {
1743
1888
 
1744
1889
  // ../images/src/image-loader.ts
1745
1890
  var EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg", "avif"];
1746
- var MIME_TYPES = ["image/png", "image/jpeg", "image/gif", "image/webp", "image/avif", "image/bmp", "image/vnd.microsoft.icon", "image/svg+xml"];
1891
+ var MIME_TYPES = [
1892
+ "image/png",
1893
+ "image/jpeg",
1894
+ "image/gif",
1895
+ "image/webp",
1896
+ "image/avif",
1897
+ "image/bmp",
1898
+ "image/vnd.microsoft.icon",
1899
+ "image/svg+xml"
1900
+ ];
1747
1901
  var DEFAULT_IMAGE_LOADER_OPTIONS = {
1748
1902
  image: {
1749
1903
  type: "auto",
1750
1904
  decode: true
1905
+ // if format is HTML
1751
1906
  }
1907
+ // imagebitmap: {} - passes (platform dependent) parameters to ImageBitmap constructor
1752
1908
  };
1753
1909
  var ImageLoader = {
1754
1910
  id: "image",
@@ -1758,16 +1914,14 @@ var __exports__ = (() => {
1758
1914
  mimeTypes: MIME_TYPES,
1759
1915
  extensions: EXTENSIONS,
1760
1916
  parse: parseImage,
1917
+ // TODO: byteOffset, byteLength;
1761
1918
  tests: [(arrayBuffer) => Boolean(getBinaryImageMetadata(new DataView(arrayBuffer)))],
1762
1919
  options: DEFAULT_IMAGE_LOADER_OPTIONS
1763
1920
  };
1764
1921
 
1765
1922
  // src/lib/texture-api/generate-url.ts
1766
1923
  function generateUrl(getUrl, options, urlOptions) {
1767
- let url = typeof getUrl === "function" ? getUrl({
1768
- ...options,
1769
- ...urlOptions
1770
- }) : getUrl;
1924
+ let url = typeof getUrl === "function" ? getUrl({ ...options, ...urlOptions }) : getUrl;
1771
1925
  const baseUrl = options.baseUrl;
1772
1926
  if (baseUrl) {
1773
1927
  url = baseUrl[baseUrl.length - 1] === "/" ? `${baseUrl}${url}` : `${baseUrl}/${url}`;
@@ -1830,27 +1984,15 @@ var __exports__ = (() => {
1830
1984
  async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
1831
1985
  const urls = [];
1832
1986
  if (mipLevels === "auto") {
1833
- const url = generateUrl(getUrl, options, {
1834
- ...urlOptions,
1835
- lod: 0
1836
- });
1987
+ const url = generateUrl(getUrl, options, { ...urlOptions, lod: 0 });
1837
1988
  const image = await shallowLoad(url, ImageLoader.parse, options);
1838
- const {
1839
- width,
1840
- height
1841
- } = getImageSize(image);
1842
- mipLevels = getMipLevels({
1843
- width,
1844
- height
1845
- });
1989
+ const { width, height } = getImageSize(image);
1990
+ mipLevels = getMipLevels({ width, height });
1846
1991
  urls.push(url);
1847
1992
  }
1848
1993
  assert2(mipLevels > 0);
1849
1994
  for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
1850
- const url = generateUrl(getUrl, options, {
1851
- ...urlOptions,
1852
- lod: mipLevel
1853
- });
1995
+ const url = generateUrl(getUrl, options, { ...urlOptions, lod: mipLevel });
1854
1996
  urls.push(url);
1855
1997
  }
1856
1998
  return urls;
@@ -1867,9 +2009,7 @@ var __exports__ = (() => {
1867
2009
  async function getImageArrayUrls(count, getUrl, options = {}) {
1868
2010
  const promises = [];
1869
2011
  for (let index = 0; index < count; index++) {
1870
- const promise = getImageUrls(getUrl, options, {
1871
- index
1872
- });
2012
+ const promise = getImageUrls(getUrl, options, { index });
1873
2013
  promises.push(promise);
1874
2014
  }
1875
2015
  return await Promise.all(promises);
@@ -1882,47 +2022,21 @@ var __exports__ = (() => {
1882
2022
  var GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072;
1883
2023
  var GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073;
1884
2024
  var GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074;
1885
- var CUBE_FACES = [{
1886
- face: GL_TEXTURE_CUBE_MAP_POSITIVE_X,
1887
- direction: "right",
1888
- axis: "x",
1889
- sign: "positive"
1890
- }, {
1891
- face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
1892
- direction: "left",
1893
- axis: "x",
1894
- sign: "negative"
1895
- }, {
1896
- face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
1897
- direction: "top",
1898
- axis: "y",
1899
- sign: "positive"
1900
- }, {
1901
- face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
1902
- direction: "bottom",
1903
- axis: "y",
1904
- sign: "negative"
1905
- }, {
1906
- face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
1907
- direction: "front",
1908
- axis: "z",
1909
- sign: "positive"
1910
- }, {
1911
- face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
1912
- direction: "back",
1913
- axis: "z",
1914
- sign: "negative"
1915
- }];
2025
+ var CUBE_FACES = [
2026
+ { face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: "right", axis: "x", sign: "positive" },
2027
+ { face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: "left", axis: "x", sign: "negative" },
2028
+ { face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: "top", axis: "y", sign: "positive" },
2029
+ { face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: "bottom", axis: "y", sign: "negative" },
2030
+ { face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: "front", axis: "z", sign: "positive" },
2031
+ { face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: "back", axis: "z", sign: "negative" }
2032
+ ];
1916
2033
  async function getImageCubeUrls(getUrl, options) {
1917
2034
  const urls = {};
1918
2035
  const promises = [];
1919
2036
  let index = 0;
1920
2037
  for (let i2 = 0; i2 < CUBE_FACES.length; ++i2) {
1921
2038
  const face = CUBE_FACES[index];
1922
- const promise = getImageUrls(getUrl, options, {
1923
- ...face,
1924
- index: index++
1925
- }).then((url) => {
2039
+ const promise = getImageUrls(getUrl, options, { ...face, index: index++ }).then((url) => {
1926
2040
  urls[face.face] = url;
1927
2041
  });
1928
2042
  promises.push(promise);
@@ -1950,7 +2064,7 @@ var __exports__ = (() => {
1950
2064
  mipmaps: false
1951
2065
  }
1952
2066
  };
1953
- return __toCommonJS(src_exports);
2067
+ return __toCommonJS(bundle_exports);
1954
2068
  })();
1955
2069
  return __exports__;
1956
2070
  });