@loaders.gl/textures 3.4.0-alpha.1 → 3.4.0-alpha.3

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 (141) hide show
  1. package/dist/basis-nodejs-worker.js +297 -208
  2. package/dist/basis-worker.js +3 -3
  3. package/dist/compressed-texture-worker.js +3 -3
  4. package/dist/crunch-worker.js +2 -2
  5. package/dist/dist.min.js +56 -2
  6. package/dist/es5/basis-loader.js +0 -2
  7. package/dist/es5/basis-loader.js.map +1 -1
  8. package/dist/es5/compressed-texture-loader.js +24 -31
  9. package/dist/es5/compressed-texture-loader.js.map +1 -1
  10. package/dist/es5/compressed-texture-writer.js +0 -1
  11. package/dist/es5/compressed-texture-writer.js.map +1 -1
  12. package/dist/es5/crunch-loader.js +0 -2
  13. package/dist/es5/crunch-loader.js.map +1 -1
  14. package/dist/es5/index.js +0 -2
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/ktx2-basis-writer-nodejs.js.map +1 -1
  17. package/dist/es5/ktx2-basis-writer.js +0 -1
  18. package/dist/es5/ktx2-basis-writer.js.map +1 -1
  19. package/dist/es5/lib/encoders/encode-ktx.js.map +1 -1
  20. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +36 -38
  21. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  22. package/dist/es5/lib/encoders/encode-texture.js +15 -18
  23. package/dist/es5/lib/encoders/encode-texture.js.map +1 -1
  24. package/dist/es5/lib/gl-extensions.js +0 -8
  25. package/dist/es5/lib/gl-extensions.js.map +1 -1
  26. package/dist/es5/lib/parsers/basis-module-loader.js +93 -104
  27. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  28. package/dist/es5/lib/parsers/crunch-module-loader.js +31 -36
  29. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  30. package/dist/es5/lib/parsers/parse-basis.js +46 -59
  31. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  32. package/dist/es5/lib/parsers/parse-compressed-texture.js.map +1 -1
  33. package/dist/es5/lib/parsers/parse-crunch.js +39 -49
  34. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
  35. package/dist/es5/lib/parsers/parse-dds.js +0 -5
  36. package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
  37. package/dist/es5/lib/parsers/parse-ktx.js +2 -16
  38. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
  39. package/dist/es5/lib/parsers/parse-npy.js +0 -5
  40. package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
  41. package/dist/es5/lib/parsers/parse-pvr.js +0 -20
  42. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
  43. package/dist/es5/lib/texture-api/async-deep-map.js +93 -85
  44. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
  45. package/dist/es5/lib/texture-api/deep-load.js +28 -32
  46. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  47. package/dist/es5/lib/texture-api/generate-url.js +0 -1
  48. package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
  49. package/dist/es5/lib/texture-api/load-image-array.js +31 -35
  50. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
  51. package/dist/es5/lib/texture-api/load-image-cube.js +59 -45
  52. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
  53. package/dist/es5/lib/texture-api/load-image.js +65 -72
  54. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  55. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
  56. package/dist/es5/lib/utils/ktx-format-helper.js +0 -1
  57. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
  58. package/dist/es5/lib/utils/texture-formats.js +1 -4
  59. package/dist/es5/lib/utils/texture-formats.js.map +1 -1
  60. package/dist/es5/lib/utils/version.js +1 -1
  61. package/dist/es5/lib/utils/version.js.map +1 -1
  62. package/dist/es5/npy-loader.js +6 -11
  63. package/dist/es5/npy-loader.js.map +1 -1
  64. package/dist/es5/workers/basis-nodejs-worker.js.map +1 -1
  65. package/dist/es5/workers/basis-worker.js.map +1 -1
  66. package/dist/es5/workers/compressed-texture-worker.js.map +1 -1
  67. package/dist/es5/workers/crunch-worker.js.map +1 -1
  68. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js +29 -31
  69. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -1
  70. package/dist/es5/workers/ktx2-basis-writer-worker.js +29 -31
  71. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
  72. package/dist/es5/workers/npy-worker.js.map +1 -1
  73. package/dist/esm/basis-loader.js +0 -3
  74. package/dist/esm/basis-loader.js.map +1 -1
  75. package/dist/esm/bundle.js +0 -1
  76. package/dist/esm/bundle.js.map +1 -1
  77. package/dist/esm/compressed-texture-loader.js +1 -6
  78. package/dist/esm/compressed-texture-loader.js.map +1 -1
  79. package/dist/esm/compressed-texture-writer.js +0 -1
  80. package/dist/esm/compressed-texture-writer.js.map +1 -1
  81. package/dist/esm/crunch-loader.js +0 -2
  82. package/dist/esm/crunch-loader.js.map +1 -1
  83. package/dist/esm/index.js +0 -5
  84. package/dist/esm/index.js.map +1 -1
  85. package/dist/esm/ktx2-basis-writer-nodejs.js +0 -1
  86. package/dist/esm/ktx2-basis-writer-nodejs.js.map +1 -1
  87. package/dist/esm/ktx2-basis-writer.js +0 -2
  88. package/dist/esm/ktx2-basis-writer.js.map +1 -1
  89. package/dist/esm/lib/encoders/encode-ktx.js.map +1 -1
  90. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +0 -1
  91. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  92. package/dist/esm/lib/encoders/encode-texture.js +1 -2
  93. package/dist/esm/lib/encoders/encode-texture.js.map +1 -1
  94. package/dist/esm/lib/gl-extensions.js +0 -9
  95. package/dist/esm/lib/gl-extensions.js.map +1 -1
  96. package/dist/esm/lib/parsers/basis-module-loader.js +1 -11
  97. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  98. package/dist/esm/lib/parsers/crunch-module-loader.js +0 -4
  99. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
  100. package/dist/esm/lib/parsers/parse-basis.js +0 -13
  101. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  102. package/dist/esm/lib/parsers/parse-compressed-texture.js +0 -1
  103. package/dist/esm/lib/parsers/parse-compressed-texture.js.map +1 -1
  104. package/dist/esm/lib/parsers/parse-crunch.js +0 -12
  105. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
  106. package/dist/esm/lib/parsers/parse-dds.js +0 -5
  107. package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
  108. package/dist/esm/lib/parsers/parse-ktx.js +2 -16
  109. package/dist/esm/lib/parsers/parse-ktx.js.map +1 -1
  110. package/dist/esm/lib/parsers/parse-npy.js +0 -6
  111. package/dist/esm/lib/parsers/parse-npy.js.map +1 -1
  112. package/dist/esm/lib/parsers/parse-pvr.js +0 -21
  113. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
  114. package/dist/esm/lib/texture-api/async-deep-map.js +0 -5
  115. package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -1
  116. package/dist/esm/lib/texture-api/deep-load.js +0 -1
  117. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  118. package/dist/esm/lib/texture-api/generate-url.js +0 -2
  119. package/dist/esm/lib/texture-api/generate-url.js.map +1 -1
  120. package/dist/esm/lib/texture-api/load-image-array.js +0 -1
  121. package/dist/esm/lib/texture-api/load-image-array.js.map +1 -1
  122. package/dist/esm/lib/texture-api/load-image-cube.js +0 -3
  123. package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -1
  124. package/dist/esm/lib/texture-api/load-image.js +0 -4
  125. package/dist/esm/lib/texture-api/load-image.js.map +1 -1
  126. package/dist/esm/lib/utils/extract-mipmap-images.js +0 -1
  127. package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -1
  128. package/dist/esm/lib/utils/ktx-format-helper.js +0 -1
  129. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -1
  130. package/dist/esm/lib/utils/texture-formats.js +0 -3
  131. package/dist/esm/lib/utils/texture-formats.js.map +1 -1
  132. package/dist/esm/lib/utils/version.js +1 -2
  133. package/dist/esm/lib/utils/version.js.map +1 -1
  134. package/dist/esm/npy-loader.js +0 -4
  135. package/dist/esm/npy-loader.js.map +1 -1
  136. package/dist/esm/workers/crunch-worker.js +0 -1
  137. package/dist/esm/workers/crunch-worker.js.map +1 -1
  138. package/dist/ktx2-basis-writer-nodejs-worker.js +297 -208
  139. package/dist/ktx2-basis-writer-worker.js +3 -3
  140. package/dist/npy-worker.js +1 -1
  141. package/package.json +7 -7
@@ -28,7 +28,7 @@
28
28
  });
29
29
 
30
30
  // ../worker-utils/src/lib/env-utils/version.ts
31
- var VERSION = true ? "3.4.0-alpha.1" : DEFAULT_VERSION;
31
+ var VERSION = true ? "3.4.0-alpha.3" : DEFAULT_VERSION;
32
32
  if (false) {
33
33
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
34
34
  }
@@ -312,10 +312,10 @@
312
312
  }
313
313
 
314
314
  // src/lib/utils/version.ts
315
- var VERSION3 = true ? "3.4.0-alpha.1" : "beta";
315
+ var VERSION3 = true ? "3.4.0-alpha.3" : "beta";
316
316
 
317
317
  // src/lib/parsers/basis-module-loader.ts
318
- var VERSION4 = true ? "3.4.0-alpha.1" : "beta";
318
+ var VERSION4 = true ? "3.4.0-alpha.3" : "beta";
319
319
  var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
320
320
  var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
321
321
  var loadBasisTranscoderPromise;
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  // ../worker-utils/src/lib/env-utils/version.ts
38
- var VERSION = true ? "3.4.0-alpha.1" : DEFAULT_VERSION;
38
+ var VERSION = true ? "3.4.0-alpha.3" : DEFAULT_VERSION;
39
39
  if (false) {
40
40
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
41
41
  }
@@ -319,7 +319,7 @@
319
319
  }
320
320
 
321
321
  // src/lib/utils/version.ts
322
- var VERSION3 = true ? "3.4.0-alpha.1" : "beta";
322
+ var VERSION3 = true ? "3.4.0-alpha.3" : "beta";
323
323
 
324
324
  // ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
325
325
  var t = new Uint8Array([0]);
@@ -907,7 +907,7 @@
907
907
  }
908
908
 
909
909
  // src/lib/parsers/basis-module-loader.ts
910
- var VERSION4 = true ? "3.4.0-alpha.1" : "beta";
910
+ var VERSION4 = true ? "3.4.0-alpha.3" : "beta";
911
911
  var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
912
912
  var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
913
913
  var loadBasisTranscoderPromise;
@@ -35,7 +35,7 @@
35
35
  }
36
36
 
37
37
  // ../worker-utils/src/lib/env-utils/version.ts
38
- var VERSION = true ? "3.4.0-alpha.1" : DEFAULT_VERSION;
38
+ var VERSION = true ? "3.4.0-alpha.3" : DEFAULT_VERSION;
39
39
  if (false) {
40
40
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
41
41
  }
@@ -319,7 +319,7 @@
319
319
  }
320
320
 
321
321
  // src/lib/utils/version.ts
322
- var VERSION3 = true ? "3.4.0-alpha.1" : "beta";
322
+ var VERSION3 = true ? "3.4.0-alpha.3" : "beta";
323
323
 
324
324
  // src/crunch-loader.ts
325
325
  var CrunchLoader = {
package/dist/dist.min.js CHANGED
@@ -1695,10 +1695,62 @@
1695
1695
  }
1696
1696
  });
1697
1697
 
1698
+ // ../images/src/lib/category-api/parse-isobmff-binary.ts
1699
+ function getISOBMFFMediaType(buffer) {
1700
+ if (!checkString(buffer, "ftyp", 4)) {
1701
+ return null;
1702
+ }
1703
+ if ((buffer[8] & 96) === 0) {
1704
+ return null;
1705
+ }
1706
+ return decodeMajorBrand(buffer);
1707
+ }
1708
+ function decodeMajorBrand(buffer) {
1709
+ const brandMajor = getUTF8String(buffer, 8, 12).replace("\0", " ").trim();
1710
+ switch (brandMajor) {
1711
+ case "avif":
1712
+ case "avis":
1713
+ return { extension: "avif", mimeType: "image/avif" };
1714
+ default:
1715
+ return null;
1716
+ }
1717
+ }
1718
+ function getUTF8String(array, start, end) {
1719
+ return String.fromCharCode(...array.slice(start, end));
1720
+ }
1721
+ function stringToBytes(string) {
1722
+ return [...string].map((character) => character.charCodeAt(0));
1723
+ }
1724
+ function checkString(buffer, header, offset = 0) {
1725
+ const headerBytes = stringToBytes(header);
1726
+ for (let i2 = 0; i2 < headerBytes.length; ++i2) {
1727
+ if (headerBytes[i2] !== buffer[i2 + offset]) {
1728
+ return false;
1729
+ }
1730
+ }
1731
+ return true;
1732
+ }
1733
+ var init_parse_isobmff_binary = __esm({
1734
+ "../images/src/lib/category-api/parse-isobmff-binary.ts"() {
1735
+ }
1736
+ });
1737
+
1698
1738
  // ../images/src/lib/category-api/binary-image-api.ts
1699
1739
  function getBinaryImageMetadata(binaryData) {
1700
1740
  const dataView = toDataView(binaryData);
1701
- return getPngMetadata(dataView) || getJpegMetadata(dataView) || getGifMetadata(dataView) || getBmpMetadata(dataView);
1741
+ return getPngMetadata(dataView) || getJpegMetadata(dataView) || getGifMetadata(dataView) || getBmpMetadata(dataView) || getISOBMFFMetadata(dataView);
1742
+ }
1743
+ function getISOBMFFMetadata(binaryData) {
1744
+ const buffer = new Uint8Array(binaryData instanceof DataView ? binaryData.buffer : binaryData);
1745
+ const mediaType = getISOBMFFMediaType(buffer);
1746
+ if (!mediaType) {
1747
+ return null;
1748
+ }
1749
+ return {
1750
+ mimeType: mediaType.mimeType,
1751
+ width: 0,
1752
+ height: 0
1753
+ };
1702
1754
  }
1703
1755
  function getPngMetadata(binaryData) {
1704
1756
  const dataView = toDataView(binaryData);
@@ -1799,6 +1851,7 @@
1799
1851
  var BIG_ENDIAN, LITTLE_ENDIAN;
1800
1852
  var init_binary_image_api = __esm({
1801
1853
  "../images/src/lib/category-api/binary-image-api.ts"() {
1854
+ init_parse_isobmff_binary();
1802
1855
  BIG_ENDIAN = false;
1803
1856
  LITTLE_ENDIAN = true;
1804
1857
  }
@@ -1872,12 +1925,13 @@
1872
1925
  init_version3();
1873
1926
  init_parse_image();
1874
1927
  init_binary_image_api();
1875
- EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg"];
1928
+ EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg", "avif"];
1876
1929
  MIME_TYPES = [
1877
1930
  "image/png",
1878
1931
  "image/jpeg",
1879
1932
  "image/gif",
1880
1933
  "image/webp",
1934
+ "image/avif",
1881
1935
  "image/bmp",
1882
1936
  "image/vnd.microsoft.icon",
1883
1937
  "image/svg+xml"
@@ -30,12 +30,10 @@ var BasisWorkerLoader = {
30
30
  }
31
31
  }
32
32
  };
33
-
34
33
  exports.BasisWorkerLoader = BasisWorkerLoader;
35
34
  var BasisLoader = _objectSpread(_objectSpread({}, BasisWorkerLoader), {}, {
36
35
  parse: _parseBasis.default
37
36
  });
38
-
39
37
  exports.BasisLoader = BasisLoader;
40
38
  var _TypecheckBasisWorkerLoader = BasisWorkerLoader;
41
39
  exports._TypecheckBasisWorkerLoader = _TypecheckBasisWorkerLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"basis-loader.js","names":["BasisWorkerLoader","name","id","isBrowser","module","version","VERSION","worker","extensions","mimeTypes","tests","binary","options","basis","format","libraryPath","containerFormat","BasisLoader","parse","parseBasis","_TypecheckBasisWorkerLoader","_TypecheckBasisLoader"],"sources":["../../src/basis-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {isBrowser} from '@loaders.gl/worker-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseBasis from './lib/parsers/parse-basis';\n\n/**\n * Worker loader for Basis super compressed textures\n */\nexport const BasisWorkerLoader = {\n name: 'Basis',\n id: isBrowser ? 'basis' : 'basis-nodejs',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['basis', 'ktx2'],\n mimeTypes: ['application/octet-stream', 'image/ktx2'],\n tests: ['sB'],\n binary: true,\n options: {\n basis: {\n format: 'auto', // gl context doesn't exist on a worker thread\n libraryPath: 'libs/',\n containerFormat: 'auto', // 'basis' || 'ktx2' || 'auto'\n module: 'transcoder' // 'transcoder' || 'encoder'\n }\n }\n};\n\n/**\n * Loader for Basis super compressed textures\n */\nexport const BasisLoader = {\n ...BasisWorkerLoader,\n parse: parseBasis\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckBasisWorkerLoader: Loader = BasisWorkerLoader;\nexport const _TypecheckBasisLoader: LoaderWithParser = BasisLoader;\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAAmD;AAAA;AAK5C,IAAMA,iBAAiB,GAAG;EAC/BC,IAAI,EAAE,OAAO;EACbC,EAAE,EAAEC,sBAAS,GAAG,OAAO,GAAG,cAAc;EACxCC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;EAC7BC,SAAS,EAAE,CAAC,0BAA0B,EAAE,YAAY,CAAC;EACrDC,KAAK,EAAE,CAAC,IAAI,CAAC;EACbC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,MAAM,EAAE,MAAM;MACdC,WAAW,EAAE,OAAO;MACpBC,eAAe,EAAE,MAAM;MACvBZ,MAAM,EAAE;IACV;EACF;AACF,CAAC;;AAAC;AAKK,IAAMa,WAAW,mCACnBjB,iBAAiB;EACpBkB,KAAK,EAAEC;AAAU,EAClB;;AAAC;AAGK,IAAMC,2BAAmC,GAAGpB,iBAAiB;AAAC;AAC9D,IAAMqB,qBAAuC,GAAGJ,WAAW;AAAC"}
1
+ {"version":3,"file":"basis-loader.js","names":["_workerUtils","require","_version","_parseBasis","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","BasisWorkerLoader","name","id","isBrowser","module","version","VERSION","worker","extensions","mimeTypes","tests","binary","options","basis","format","libraryPath","containerFormat","exports","BasisLoader","parse","parseBasis","_TypecheckBasisWorkerLoader","_TypecheckBasisLoader"],"sources":["../../src/basis-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {isBrowser} from '@loaders.gl/worker-utils';\nimport {VERSION} from './lib/utils/version';\nimport parseBasis from './lib/parsers/parse-basis';\n\n/**\n * Worker loader for Basis super compressed textures\n */\nexport const BasisWorkerLoader = {\n name: 'Basis',\n id: isBrowser ? 'basis' : 'basis-nodejs',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['basis', 'ktx2'],\n mimeTypes: ['application/octet-stream', 'image/ktx2'],\n tests: ['sB'],\n binary: true,\n options: {\n basis: {\n format: 'auto', // gl context doesn't exist on a worker thread\n libraryPath: 'libs/',\n containerFormat: 'auto', // 'basis' || 'ktx2' || 'auto'\n module: 'transcoder' // 'transcoder' || 'encoder'\n }\n }\n};\n\n/**\n * Loader for Basis super compressed textures\n */\nexport const BasisLoader = {\n ...BasisWorkerLoader,\n parse: parseBasis\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckBasisWorkerLoader: Loader = BasisWorkerLoader;\nexport const _TypecheckBasisLoader: LoaderWithParser = BasisLoader;\n"],"mappings":";;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AAAmD,SAAAI,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,CAAAC,OAAA,EAAAR,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAmB,yBAAA,GAAAnB,MAAA,CAAAoB,gBAAA,CAAAV,MAAA,EAAAV,MAAA,CAAAmB,yBAAA,CAAAL,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAqB,cAAA,CAAAX,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAK5C,IAAMY,iBAAiB,GAAG;EAC/BC,IAAI,EAAE,OAAO;EACbC,EAAE,EAAEC,sBAAS,GAAG,OAAO,GAAG,cAAc;EACxCC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;EAC7BC,SAAS,EAAE,CAAC,0BAA0B,EAAE,YAAY,CAAC;EACrDC,KAAK,EAAE,CAAC,IAAI,CAAC;EACbC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,KAAK,EAAE;MACLC,MAAM,EAAE,MAAM;MACdC,WAAW,EAAE,OAAO;MACpBC,eAAe,EAAE,MAAM;MACvBZ,MAAM,EAAE;IACV;EACF;AACF,CAAC;AAACa,OAAA,CAAAjB,iBAAA,GAAAA,iBAAA;AAKK,IAAMkB,WAAW,GAAA/B,aAAA,CAAAA,aAAA,KACnBa,iBAAiB;EACpBmB,KAAK,EAAEC;AAAU,EAClB;AAACH,OAAA,CAAAC,WAAA,GAAAA,WAAA;AAGK,IAAMG,2BAAmC,GAAGrB,iBAAiB;AAACiB,OAAA,CAAAI,2BAAA,GAAAA,2BAAA;AAC9D,IAAMC,qBAAuC,GAAGJ,WAAW;AAACD,OAAA,CAAAK,qBAAA,GAAAA,qBAAA"}
@@ -19,52 +19,46 @@ var DEFAULT_TEXTURE_LOADER_OPTIONS = {
19
19
  useBasis: false
20
20
  }
21
21
  };
22
-
23
22
  var CompressedTextureWorkerLoader = {
24
23
  name: 'Texture Containers',
25
24
  id: 'compressed-texture',
26
25
  module: 'textures',
27
26
  version: _version.VERSION,
28
27
  worker: true,
29
- extensions: ['ktx', 'ktx2', 'dds',
30
- 'pvr'],
31
-
28
+ extensions: ['ktx', 'ktx2', 'dds', 'pvr'],
32
29
  mimeTypes: ['image/ktx2', 'image/ktx', 'image/vnd-ms.dds', 'image/x-dds', 'application/octet-stream'],
33
30
  binary: true,
34
31
  options: DEFAULT_TEXTURE_LOADER_OPTIONS
35
32
  };
36
-
37
33
  exports.CompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
38
34
  var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureWorkerLoader), {}, {
39
35
  parse: function () {
40
36
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
41
37
  return _regenerator.default.wrap(function _callee$(_context) {
42
- while (1) {
43
- switch (_context.prev = _context.next) {
44
- case 0:
45
- if (!options['compressed-texture'].useBasis) {
46
- _context.next = 5;
47
- break;
38
+ while (1) switch (_context.prev = _context.next) {
39
+ case 0:
40
+ if (!options['compressed-texture'].useBasis) {
41
+ _context.next = 5;
42
+ break;
43
+ }
44
+ options.basis = _objectSpread(_objectSpread({
45
+ format: {
46
+ alpha: 'BC3',
47
+ noAlpha: 'BC1'
48
48
  }
49
- options.basis = _objectSpread(_objectSpread({
50
- format: {
51
- alpha: 'BC3',
52
- noAlpha: 'BC1'
53
- }
54
- }, options.basis), {}, {
55
- containerFormat: 'ktx2',
56
- module: 'encoder'
57
- });
58
- _context.next = 4;
59
- return (0, _parseBasis.default)(arrayBuffer, options);
60
- case 4:
61
- return _context.abrupt("return", _context.sent[0]);
62
- case 5:
63
- return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
64
- case 6:
65
- case "end":
66
- return _context.stop();
67
- }
49
+ }, options.basis), {}, {
50
+ containerFormat: 'ktx2',
51
+ module: 'encoder'
52
+ });
53
+ _context.next = 4;
54
+ return (0, _parseBasis.default)(arrayBuffer, options);
55
+ case 4:
56
+ return _context.abrupt("return", _context.sent[0]);
57
+ case 5:
58
+ return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
59
+ case 6:
60
+ case "end":
61
+ return _context.stop();
68
62
  }
69
63
  }, _callee);
70
64
  }));
@@ -74,7 +68,6 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
74
68
  return parse;
75
69
  }()
76
70
  });
77
-
78
71
  exports.CompressedTextureLoader = CompressedTextureLoader;
79
72
  var _TypecheckCompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
80
73
  exports._TypecheckCompressedTextureWorkerLoader = _TypecheckCompressedTextureWorkerLoader;
@@ -1 +1 @@
1
- {"version":3,"file":"compressed-texture-loader.js","names":["DEFAULT_TEXTURE_LOADER_OPTIONS","libraryPath","useBasis","CompressedTextureWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","options","CompressedTextureLoader","parse","arrayBuffer","basis","format","alpha","noAlpha","containerFormat","parseBasis","parseCompressedTexture","_TypecheckCompressedTextureWorkerLoader","_TypecheckCompressedTextureLoader"],"sources":["../../src/compressed-texture-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseCompressedTexture} from './lib/parsers/parse-compressed-texture';\nimport parseBasis from './lib/parsers/parse-basis';\n\nexport type TextureLoaderOptions = {\n 'compressed-texture'?: {\n libraryPath?: string;\n useBasis?: boolean;\n };\n};\n\nconst DEFAULT_TEXTURE_LOADER_OPTIONS = {\n 'compressed-texture': {\n libraryPath: 'libs/',\n useBasis: false\n }\n};\n\n/**\n * Worker Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureWorkerLoader = {\n name: 'Texture Containers',\n id: 'compressed-texture',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: [\n 'ktx',\n 'ktx2',\n 'dds', // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc\n 'pvr' // WEBGL_compressed_texture_pvrtc\n ],\n mimeTypes: [\n 'image/ktx2',\n 'image/ktx',\n 'image/vnd-ms.dds',\n 'image/x-dds',\n 'application/octet-stream'\n ],\n binary: true,\n options: DEFAULT_TEXTURE_LOADER_OPTIONS\n};\n\n/**\n * Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureLoader = {\n ...CompressedTextureWorkerLoader,\n parse: async (arrayBuffer, options) => {\n if (options['compressed-texture'].useBasis) {\n options.basis = {\n format: {\n alpha: 'BC3',\n noAlpha: 'BC1'\n },\n ...options.basis,\n containerFormat: 'ktx2',\n module: 'encoder'\n };\n return (await parseBasis(arrayBuffer, options))[0];\n }\n return parseCompressedTexture(arrayBuffer);\n }\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCompressedTextureWorkerLoader: Loader = CompressedTextureWorkerLoader;\nexport const _TypecheckCompressedTextureLoader: LoaderWithParser = CompressedTextureLoader;\n"],"mappings":";;;;;;;;;;AACA;AACA;AACA;AAAmD;AAAA;AASnD,IAAMA,8BAA8B,GAAG;EACrC,oBAAoB,EAAE;IACpBC,WAAW,EAAE,OAAO;IACpBC,QAAQ,EAAE;EACZ;AACF,CAAC;;AAKM,IAAMC,6BAA6B,GAAG;EAC3CC,IAAI,EAAE,oBAAoB;EAC1BC,EAAE,EAAE,oBAAoB;EACxBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CACV,KAAK,EACL,MAAM,EACN,KAAK;EACL,KAAK,CACN;;EACDC,SAAS,EAAE,CACT,YAAY,EACZ,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,0BAA0B,CAC3B;EACDC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAEb;AACX,CAAC;;AAAC;AAKK,IAAMc,uBAAuB,mCAC/BX,6BAA6B;EAChCY,KAAK;IAAA,uEAAE,iBAAOC,WAAW,EAAEH,OAAO;MAAA;QAAA;UAAA;YAAA;cAAA,KAC5BA,OAAO,CAAC,oBAAoB,CAAC,CAACX,QAAQ;gBAAA;gBAAA;cAAA;cACxCW,OAAO,CAACI,KAAK;gBACXC,MAAM,EAAE;kBACNC,KAAK,EAAE,KAAK;kBACZC,OAAO,EAAE;gBACX;cAAC,GACEP,OAAO,CAACI,KAAK;gBAChBI,eAAe,EAAE,MAAM;gBACvBf,MAAM,EAAE;cAAS,EAClB;cAAC;cAAA,OACY,IAAAgB,mBAAU,EAACN,WAAW,EAAEH,OAAO,CAAC;YAAA;cAAA,+CAAE,CAAC;YAAA;cAAA,iCAE5C,IAAAU,8CAAsB,EAACP,WAAW,CAAC;YAAA;YAAA;cAAA;UAAA;QAAA;MAAA;IAAA,CAC3C;IAAA;MAAA;IAAA;IAAA;EAAA;AAAA,EACF;;AAAC;AAGK,IAAMQ,uCAA+C,GAAGrB,6BAA6B;AAAC;AACtF,IAAMsB,iCAAmD,GAAGX,uBAAuB;AAAC"}
1
+ {"version":3,"file":"compressed-texture-loader.js","names":["_version","require","_parseCompressedTexture","_parseBasis","_interopRequireDefault","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","default","getOwnPropertyDescriptors","defineProperties","defineProperty","DEFAULT_TEXTURE_LOADER_OPTIONS","libraryPath","useBasis","CompressedTextureWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","options","exports","CompressedTextureLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","wrap","_callee$","_context","prev","next","basis","format","alpha","noAlpha","containerFormat","parseBasis","abrupt","sent","parseCompressedTexture","stop","_x","_x2","_TypecheckCompressedTextureWorkerLoader","_TypecheckCompressedTextureLoader"],"sources":["../../src/compressed-texture-loader.ts"],"sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseCompressedTexture} from './lib/parsers/parse-compressed-texture';\nimport parseBasis from './lib/parsers/parse-basis';\n\nexport type TextureLoaderOptions = {\n 'compressed-texture'?: {\n libraryPath?: string;\n useBasis?: boolean;\n };\n};\n\nconst DEFAULT_TEXTURE_LOADER_OPTIONS = {\n 'compressed-texture': {\n libraryPath: 'libs/',\n useBasis: false\n }\n};\n\n/**\n * Worker Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureWorkerLoader = {\n name: 'Texture Containers',\n id: 'compressed-texture',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: [\n 'ktx',\n 'ktx2',\n 'dds', // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc\n 'pvr' // WEBGL_compressed_texture_pvrtc\n ],\n mimeTypes: [\n 'image/ktx2',\n 'image/ktx',\n 'image/vnd-ms.dds',\n 'image/x-dds',\n 'application/octet-stream'\n ],\n binary: true,\n options: DEFAULT_TEXTURE_LOADER_OPTIONS\n};\n\n/**\n * Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureLoader = {\n ...CompressedTextureWorkerLoader,\n parse: async (arrayBuffer, options) => {\n if (options['compressed-texture'].useBasis) {\n options.basis = {\n format: {\n alpha: 'BC3',\n noAlpha: 'BC1'\n },\n ...options.basis,\n containerFormat: 'ktx2',\n module: 'encoder'\n };\n return (await parseBasis(arrayBuffer, options))[0];\n }\n return parseCompressedTexture(arrayBuffer);\n }\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCompressedTextureWorkerLoader: Loader = CompressedTextureWorkerLoader;\nexport const _TypecheckCompressedTextureLoader: LoaderWithParser = CompressedTextureLoader;\n"],"mappings":"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"}
@@ -24,7 +24,6 @@ var CompressedTextureWriter = {
24
24
  },
25
25
  encodeURLtoURL: _encodeTexture.encodeImageURLToCompressedTextureURL
26
26
  };
27
-
28
27
  exports.CompressedTextureWriter = CompressedTextureWriter;
29
28
  var _TypecheckCompressedTextureWriter = CompressedTextureWriter;
30
29
  exports._TypecheckCompressedTextureWriter = _TypecheckCompressedTextureWriter;
@@ -1 +1 @@
1
- {"version":3,"file":"compressed-texture-writer.js","names":["CompressedTextureWriter","name","id","module","version","VERSION","extensions","options","texture","format","compression","quality","mipmap","flipY","toolFlags","encodeURLtoURL","encodeImageURLToCompressedTextureURL","_TypecheckCompressedTextureWriter"],"sources":["../../src/compressed-texture-writer.ts"],"sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {encodeImageURLToCompressedTextureURL} from './lib/encoders/encode-texture';\n\nexport type CompressedTextureWriterOptions = WriterOptions & {\n cwd?: string;\n texture?: {\n format: string;\n compression: string;\n quality: string;\n mipmap: boolean;\n flipY: boolean;\n toolFlags: string;\n };\n};\n\n/**\n * DDS Texture Container Exporter\n */\nexport const CompressedTextureWriter = {\n name: 'DDS Texture Container',\n id: 'dds',\n module: 'textures',\n version: VERSION,\n\n extensions: ['dds'],\n\n options: {\n texture: {\n format: 'auto',\n compression: 'auto',\n quality: 'auto',\n mipmap: false,\n flipY: false,\n toolFlags: ''\n }\n },\n\n encodeURLtoURL: encodeImageURLToCompressedTextureURL\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCompressedTextureWriter: Writer & {\n encodeURLtoURL: (\n inputUrl: string,\n outputUrl: string,\n options?: CompressedTextureWriterOptions\n ) => Promise<string>;\n} = CompressedTextureWriter;\n"],"mappings":";;;;;;AACA;AACA;AAiBO,IAAMA,uBAAuB,GAAG;EACrCC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,MAAM,EAAE,MAAM;MACdC,WAAW,EAAE,MAAM;MACnBC,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,KAAK;MACZC,SAAS,EAAE;IACb;EACF,CAAC;EAEDC,cAAc,EAAEC;AAClB,CAAC;;AAAC;AAGK,IAAMC,iCAMZ,GAAGjB,uBAAuB;AAAC"}
1
+ {"version":3,"file":"compressed-texture-writer.js","names":["_version","require","_encodeTexture","CompressedTextureWriter","name","id","module","version","VERSION","extensions","options","texture","format","compression","quality","mipmap","flipY","toolFlags","encodeURLtoURL","encodeImageURLToCompressedTextureURL","exports","_TypecheckCompressedTextureWriter"],"sources":["../../src/compressed-texture-writer.ts"],"sourcesContent":["import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {encodeImageURLToCompressedTextureURL} from './lib/encoders/encode-texture';\n\nexport type CompressedTextureWriterOptions = WriterOptions & {\n cwd?: string;\n texture?: {\n format: string;\n compression: string;\n quality: string;\n mipmap: boolean;\n flipY: boolean;\n toolFlags: string;\n };\n};\n\n/**\n * DDS Texture Container Exporter\n */\nexport const CompressedTextureWriter = {\n name: 'DDS Texture Container',\n id: 'dds',\n module: 'textures',\n version: VERSION,\n\n extensions: ['dds'],\n\n options: {\n texture: {\n format: 'auto',\n compression: 'auto',\n quality: 'auto',\n mipmap: false,\n flipY: false,\n toolFlags: ''\n }\n },\n\n encodeURLtoURL: encodeImageURLToCompressedTextureURL\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCompressedTextureWriter: Writer & {\n encodeURLtoURL: (\n inputUrl: string,\n outputUrl: string,\n options?: CompressedTextureWriterOptions\n ) => Promise<string>;\n} = CompressedTextureWriter;\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,cAAA,GAAAD,OAAA;AAiBO,IAAME,uBAAuB,GAAG;EACrCC,IAAI,EAAE,uBAAuB;EAC7BC,EAAE,EAAE,KAAK;EACTC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,KAAK,CAAC;EAEnBC,OAAO,EAAE;IACPC,OAAO,EAAE;MACPC,MAAM,EAAE,MAAM;MACdC,WAAW,EAAE,MAAM;MACnBC,OAAO,EAAE,MAAM;MACfC,MAAM,EAAE,KAAK;MACbC,KAAK,EAAE,KAAK;MACZC,SAAS,EAAE;IACb;EACF,CAAC;EAEDC,cAAc,EAAEC;AAClB,CAAC;AAACC,OAAA,CAAAjB,uBAAA,GAAAA,uBAAA;AAGK,IAAMkB,iCAMZ,GAAGlB,uBAAuB;AAACiB,OAAA,CAAAC,iCAAA,GAAAA,iCAAA"}
@@ -20,9 +20,7 @@ var CrunchLoader = {
20
20
  }
21
21
  }
22
22
  };
23
-
24
23
  exports.CrunchLoader = CrunchLoader;
25
-
26
24
  var _TypecheckCrunchLoader = CrunchLoader;
27
25
  exports._TypecheckCrunchLoader = _TypecheckCrunchLoader;
28
26
  //# sourceMappingURL=crunch-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crunch-loader.js","names":["CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","_TypecheckCrunchLoader"],"sources":["../../src/crunch-loader.ts"],"sourcesContent":["import type {Loader} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\n\n/**\n * Worker loader for the Crunch compressed texture container format\n */\nexport const CrunchLoader = {\n id: 'crunch',\n name: 'Crunch',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['crn'],\n mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],\n binary: true,\n options: {\n crunch: {\n libraryPath: 'libs/'\n }\n }\n};\n\n// We avoid bundling crunch - rare format, only offer worker loader\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCrunchLoader: Loader = CrunchLoader;\n"],"mappings":";;;;;;AACA;AAKO,IAAMA,YAAY,GAAG;EAC1BC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;EACnEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,WAAW,EAAE;IACf;EACF;AACF,CAAC;;AAAC;;AAKK,IAAMC,sBAA8B,GAAGb,YAAY;AAAC"}
1
+ {"version":3,"file":"crunch-loader.js","names":["_version","require","CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","exports","_TypecheckCrunchLoader"],"sources":["../../src/crunch-loader.ts"],"sourcesContent":["import type {Loader} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\n\n/**\n * Worker loader for the Crunch compressed texture container format\n */\nexport const CrunchLoader = {\n id: 'crunch',\n name: 'Crunch',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['crn'],\n mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],\n binary: true,\n options: {\n crunch: {\n libraryPath: 'libs/'\n }\n }\n};\n\n// We avoid bundling crunch - rare format, only offer worker loader\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckCrunchLoader: Loader = CrunchLoader;\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AAKO,IAAMC,YAAY,GAAG;EAC1BC,EAAE,EAAE,QAAQ;EACZC,IAAI,EAAE,QAAQ;EACdC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,MAAM,EAAE,IAAI;EACZC,UAAU,EAAE,CAAC,KAAK,CAAC;EACnBC,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;EACnEC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,MAAM,EAAE;MACNC,WAAW,EAAE;IACf;EACF;AACF,CAAC;AAACC,OAAA,CAAAb,YAAA,GAAAA,YAAA;AAKK,IAAMc,sBAA8B,GAAGd,YAAY;AAACa,OAAA,CAAAC,sBAAA,GAAAA,sBAAA"}
package/dist/es5/index.js CHANGED
@@ -114,7 +114,6 @@ var _loadImageCube = require("./lib/texture-api/load-image-cube");
114
114
  var _glExtensions = require("./lib/gl-extensions");
115
115
  var _parseBasis = require("./lib/parsers/parse-basis");
116
116
  var _textureFormats = require("./lib/utils/texture-formats");
117
-
118
117
  var KTX2BasisWriterWorker = {
119
118
  name: 'Basis Universal Supercompressed GPU Texture',
120
119
  id: _loaderUtils.isBrowser ? 'ktx2-basis-writer' : 'ktx2-basis-writer-nodejs',
@@ -129,6 +128,5 @@ var KTX2BasisWriterWorker = {
129
128
  mipmaps: false
130
129
  }
131
130
  };
132
-
133
131
  exports.KTX2BasisWriterWorker = KTX2BasisWriterWorker;
134
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["KTX2BasisWriterWorker","name","id","isBrowser","module","version","VERSION","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps"],"sources":["../../src/index.ts"],"sourcesContent":["import {isBrowser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\n\n// Types\nexport type {GPUTextureFormat} from '@loaders.gl/schema';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisWriter} from './ktx2-basis-writer';\n\nexport const KTX2BasisWriterWorker = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: isBrowser ? 'ktx2-basis-writer' : 'ktx2-basis-writer-nodejs',\n module: 'textures',\n version: VERSION,\n extensions: ['ktx2'],\n worker: true,\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n};\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AAOA;AACA;AACA;AACA;AAGA;AACA;AAkBA;AACA;AACA;AAGA;AACA;AACA;;AAvBO,IAAMA,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAEC,sBAAS,GAAG,mBAAmB,GAAG,0BAA0B;EAChEC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX;AACF,CAAC;;AAAC"}
1
+ {"version":3,"file":"index.js","names":["_loaderUtils","require","_version","_basisLoader","_compressedTextureLoader","_crunchLoader","_npyLoader","_compressedTextureWriter","_ktx2BasisWriter","_loadImage","_loadImageArray","_loadImageCube","_glExtensions","_parseBasis","_textureFormats","KTX2BasisWriterWorker","name","id","isBrowser","module","version","VERSION","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {isBrowser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\n\n// Types\nexport type {GPUTextureFormat} from '@loaders.gl/schema';\nexport type {TextureLoaderOptions} from './compressed-texture-loader';\n\n// Loaders\nexport {BasisLoader, BasisWorkerLoader} from './basis-loader';\nexport {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compressed-texture-loader';\nexport {CrunchLoader} from './crunch-loader';\nexport {NPYLoader, NPYWorkerLoader} from './npy-loader';\n\n// Writers\nexport {CompressedTextureWriter} from './compressed-texture-writer';\nexport {KTX2BasisWriter} from './ktx2-basis-writer';\n\nexport const KTX2BasisWriterWorker = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: isBrowser ? 'ktx2-basis-writer' : 'ktx2-basis-writer-nodejs',\n module: 'textures',\n version: VERSION,\n extensions: ['ktx2'],\n worker: true,\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n};\n\n// Texture Loading API\nexport {loadImageTexture} from './lib/texture-api/load-image';\nexport {loadImageTextureArray} from './lib/texture-api/load-image-array';\nexport {loadImageTextureCube} from './lib/texture-api/load-image-cube';\n\n// Utilities\nexport {GL_EXTENSIONS_CONSTANTS} from './lib/gl-extensions';\nexport {selectSupportedBasisFormat} from './lib/parsers/parse-basis';\nexport {getSupportedGPUTextureFormats} from './lib/utils/texture-formats';\n\n// DEPRECATED\nexport {CrunchLoader as CrunchWorkerLoader} from './crunch-loader';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AAOA,IAAAE,YAAA,GAAAF,OAAA;AACA,IAAAG,wBAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,UAAA,GAAAL,OAAA;AAGA,IAAAM,wBAAA,GAAAN,OAAA;AACA,IAAAO,gBAAA,GAAAP,OAAA;AAkBA,IAAAQ,UAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,cAAA,GAAAV,OAAA;AAGA,IAAAW,aAAA,GAAAX,OAAA;AACA,IAAAY,WAAA,GAAAZ,OAAA;AACA,IAAAa,eAAA,GAAAb,OAAA;AAvBO,IAAMc,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAEC,sBAAS,GAAG,mBAAmB,GAAG,0BAA0B;EAChEC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAChBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,MAAM,EAAE,IAAI;EACZC,OAAO,EAAE;IACPC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX;AACF,CAAC;AAACC,OAAA,CAAAd,qBAAA,GAAAA,qBAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ktx2-basis-writer-nodejs.js","names":[],"sources":["../../src/ktx2-basis-writer-nodejs.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\n\nexport {KTX2BasisWriter as KTX2BasisWriterNodeJS} from './ktx2-basis-writer';\n"],"mappings":";;;;;;;;;;;AACA;AAEA"}
1
+ {"version":3,"file":"ktx2-basis-writer-nodejs.js","names":["require","_ktx2BasisWriter"],"sources":["../../src/ktx2-basis-writer-nodejs.ts"],"sourcesContent":["// Polyfills increases the bundle size significantly. Use it for NodeJS worker only\nimport '@loaders.gl/polyfills';\n\nexport {KTX2BasisWriter as KTX2BasisWriterNodeJS} from './ktx2-basis-writer';\n"],"mappings":";;;;;;;;;;;AACAA,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA"}
@@ -20,7 +20,6 @@ var KTX2BasisWriter = {
20
20
  },
21
21
  encode: _encodeKtx2BasisTexture.encodeKTX2BasisTexture
22
22
  };
23
-
24
23
  exports.KTX2BasisWriter = KTX2BasisWriter;
25
24
  var _TypecheckKTX2TextureWriter = KTX2BasisWriter;
26
25
  exports._TypecheckKTX2TextureWriter = _TypecheckKTX2TextureWriter;
@@ -1 +1 @@
1
- {"version":3,"file":"ktx2-basis-writer.js","names":["KTX2BasisWriter","name","id","module","version","VERSION","extensions","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","encodeKTX2BasisTexture","_TypecheckKTX2TextureWriter"],"sources":["../../src/ktx2-basis-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/**\n * Basis Universal Supercompressed GPU Texture.\n * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md\n */\nexport const KTX2BasisWriter = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n\n extensions: ['ktx2'],\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n },\n\n encode: encodeKTX2BasisTexture\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckKTX2TextureWriter: Writer = KTX2BasisWriter;\n"],"mappings":";;;;;;AACA;AACA;AAMO,IAAMA,eAAe,GAAG;EAC7BC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX,CAAC;EAEDC,MAAM,EAAEC;AACV,CAAC;;AAAC;AAGK,IAAMC,2BAAmC,GAAGd,eAAe;AAAC"}
1
+ {"version":3,"file":"ktx2-basis-writer.js","names":["_version","require","_encodeKtx2BasisTexture","KTX2BasisWriter","name","id","module","version","VERSION","extensions","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","encodeKTX2BasisTexture","exports","_TypecheckKTX2TextureWriter"],"sources":["../../src/ktx2-basis-writer.ts"],"sourcesContent":["import type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/**\n * Basis Universal Supercompressed GPU Texture.\n * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md\n */\nexport const KTX2BasisWriter = {\n name: 'Basis Universal Supercompressed GPU Texture',\n id: 'ktx2-basis-writer',\n module: 'textures',\n version: VERSION,\n\n extensions: ['ktx2'],\n options: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n },\n\n encode: encodeKTX2BasisTexture\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckKTX2TextureWriter: Writer = KTX2BasisWriter;\n"],"mappings":";;;;;;AACA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,uBAAA,GAAAD,OAAA;AAMO,IAAME,eAAe,GAAG;EAC7BC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,EAAE;IACPC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX,CAAC;EAEDC,MAAM,EAAEC;AACV,CAAC;AAACC,OAAA,CAAAd,eAAA,GAAAA,eAAA;AAGK,IAAMe,2BAAmC,GAAGf,eAAe;AAACc,OAAA,CAAAC,2BAAA,GAAAA,2BAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"encode-ktx.js","names":["encodeKTX","texture","ktx","read"],"sources":["../../../../src/lib/encoders/encode-ktx.ts"],"sourcesContent":["import {read} from 'ktx-parse';\n\nexport function encodeKTX(texture) {\n const ktx = read(texture);\n // post process\n return ktx;\n}\n"],"mappings":";;;;;;AAAA;AAEO,SAASA,SAAS,CAACC,OAAO,EAAE;EACjC,IAAMC,GAAG,GAAG,IAAAC,cAAI,EAACF,OAAO,CAAC;EAEzB,OAAOC,GAAG;AACZ"}
1
+ {"version":3,"file":"encode-ktx.js","names":["_ktxParse","require","encodeKTX","texture","ktx","read"],"sources":["../../../../src/lib/encoders/encode-ktx.ts"],"sourcesContent":["import {read} from 'ktx-parse';\n\nexport function encodeKTX(texture) {\n const ktx = read(texture);\n // post process\n return ktx;\n}\n"],"mappings":";;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAEO,SAASC,SAASA,CAACC,OAAO,EAAE;EACjC,IAAMC,GAAG,GAAG,IAAAC,cAAI,EAACF,OAAO,CAAC;EAEzB,OAAOC,GAAG;AACZ"}
@@ -30,44 +30,42 @@ function _encodeKTX2BasisTexture() {
30
30
  actualKTX2FileData,
31
31
  _args = arguments;
32
32
  return _regenerator.default.wrap(function _callee$(_context) {
33
- while (1) {
34
- switch (_context.prev = _context.next) {
35
- case 0:
36
- options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
37
- _options$useSRGB = options.useSRGB, useSRGB = _options$useSRGB === void 0 ? false : _options$useSRGB, _options$qualityLevel = options.qualityLevel, qualityLevel = _options$qualityLevel === void 0 ? 10 : _options$qualityLevel, _options$encodeUASTC = options.encodeUASTC, encodeUASTC = _options$encodeUASTC === void 0 ? false : _options$encodeUASTC, _options$mipmaps = options.mipmaps, mipmaps = _options$mipmaps === void 0 ? false : _options$mipmaps;
38
- _context.next = 4;
39
- return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
40
- case 4:
41
- _yield$loadBasisEncod = _context.sent;
42
- BasisEncoder = _yield$loadBasisEncod.BasisEncoder;
43
- basisEncoder = new BasisEncoder();
44
- _context.prev = 7;
45
- basisFileData = new Uint8Array(image.width * image.height * 4);
46
- basisEncoder.setCreateKTX2File(true);
47
- basisEncoder.setKTX2UASTCSupercompression(true);
48
- basisEncoder.setKTX2SRGBTransferFunc(true);
49
- basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);
50
- basisEncoder.setPerceptual(useSRGB);
51
- basisEncoder.setMipSRGB(useSRGB);
52
- basisEncoder.setQualityLevel(qualityLevel);
53
- basisEncoder.setUASTC(encodeUASTC);
54
- basisEncoder.setMipGen(mipmaps);
55
- numOutputBytes = basisEncoder.encode(basisFileData);
56
- actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;
57
- return _context.abrupt("return", actualKTX2FileData);
58
- case 23:
59
- _context.prev = 23;
60
- _context.t0 = _context["catch"](7);
61
- console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', _context.t0);
62
- throw _context.t0;
63
- case 27:
64
- _context.prev = 27;
65
- basisEncoder.delete();
66
- return _context.finish(27);
67
- case 30:
68
- case "end":
69
- return _context.stop();
70
- }
33
+ while (1) switch (_context.prev = _context.next) {
34
+ case 0:
35
+ options = _args.length > 1 && _args[1] !== undefined ? _args[1] : {};
36
+ _options$useSRGB = options.useSRGB, useSRGB = _options$useSRGB === void 0 ? false : _options$useSRGB, _options$qualityLevel = options.qualityLevel, qualityLevel = _options$qualityLevel === void 0 ? 10 : _options$qualityLevel, _options$encodeUASTC = options.encodeUASTC, encodeUASTC = _options$encodeUASTC === void 0 ? false : _options$encodeUASTC, _options$mipmaps = options.mipmaps, mipmaps = _options$mipmaps === void 0 ? false : _options$mipmaps;
37
+ _context.next = 4;
38
+ return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
39
+ case 4:
40
+ _yield$loadBasisEncod = _context.sent;
41
+ BasisEncoder = _yield$loadBasisEncod.BasisEncoder;
42
+ basisEncoder = new BasisEncoder();
43
+ _context.prev = 7;
44
+ basisFileData = new Uint8Array(image.width * image.height * 4);
45
+ basisEncoder.setCreateKTX2File(true);
46
+ basisEncoder.setKTX2UASTCSupercompression(true);
47
+ basisEncoder.setKTX2SRGBTransferFunc(true);
48
+ basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);
49
+ basisEncoder.setPerceptual(useSRGB);
50
+ basisEncoder.setMipSRGB(useSRGB);
51
+ basisEncoder.setQualityLevel(qualityLevel);
52
+ basisEncoder.setUASTC(encodeUASTC);
53
+ basisEncoder.setMipGen(mipmaps);
54
+ numOutputBytes = basisEncoder.encode(basisFileData);
55
+ actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;
56
+ return _context.abrupt("return", actualKTX2FileData);
57
+ case 23:
58
+ _context.prev = 23;
59
+ _context.t0 = _context["catch"](7);
60
+ console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', _context.t0);
61
+ throw _context.t0;
62
+ case 27:
63
+ _context.prev = 27;
64
+ basisEncoder.delete();
65
+ return _context.finish(27);
66
+ case 30:
67
+ case "end":
68
+ return _context.stop();
71
69
  }
72
70
  }, _callee, null, [[7, 23, 27, 30]]);
73
71
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"encode-ktx2-basis-texture.js","names":["encodeKTX2BasisTexture","image","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","loadBasisEncoderModule","BasisEncoder","basisEncoder","basisFileData","Uint8Array","width","height","setCreateKTX2File","setKTX2UASTCSupercompression","setKTX2SRGBTransferFunc","setSliceSourceImage","data","setPerceptual","setMipSRGB","setQualityLevel","setUASTC","setMipGen","numOutputBytes","encode","actualKTX2FileData","subarray","buffer","console","error","delete"],"sources":["../../../../src/lib/encoders/encode-ktx2-basis-texture.ts"],"sourcesContent":["import type {ImageDataType} from '@loaders.gl/images';\nimport {loadBasisEncoderModule} from '../parsers/basis-module-loader';\n\n/**\n * Encodes image to Basis Universal Supercompressed GPU Texture.\n * Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279\n * BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712\n * @param image\n * @param options\n */\nexport async function encodeKTX2BasisTexture(\n image: ImageDataType,\n options: any = {}\n): Promise<ArrayBuffer> {\n // TODO remove default values after writer options will be normalized like it done in load module.\n const {useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false} = options;\n const {BasisEncoder} = await loadBasisEncoderModule(options);\n const basisEncoder = new BasisEncoder();\n\n try {\n const basisFileData = new Uint8Array(image.width * image.height * 4);\n basisEncoder.setCreateKTX2File(true);\n basisEncoder.setKTX2UASTCSupercompression(true);\n basisEncoder.setKTX2SRGBTransferFunc(true);\n\n basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);\n basisEncoder.setPerceptual(useSRGB);\n basisEncoder.setMipSRGB(useSRGB);\n basisEncoder.setQualityLevel(qualityLevel);\n basisEncoder.setUASTC(encodeUASTC);\n basisEncoder.setMipGen(mipmaps);\n\n const numOutputBytes = basisEncoder.encode(basisFileData);\n\n const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;\n return actualKTX2FileData;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', error);\n throw error;\n } finally {\n basisEncoder.delete();\n }\n}\n"],"mappings":";;;;;;;;;AACA;AAAsE,SAShDA,sBAAsB;EAAA;AAAA;AAAA;EAAA,oFAArC,iBACLC,KAAoB;IAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;MAAA;IAAA;MAAA;QAAA;UAAA;YACpBC,OAAY,2DAAG,CAAC,CAAC;YAAA,mBAGkEA,OAAO,CAAnFC,OAAO,EAAPA,OAAO,iCAAG,KAAK,6CAA6DD,OAAO,CAAlEE,YAAY,EAAZA,YAAY,sCAAG,EAAE,iDAA0CF,OAAO,CAA/CG,WAAW,EAAXA,WAAW,qCAAG,KAAK,4CAAqBH,OAAO,CAA1BI,OAAO,EAAPA,OAAO,iCAAG,KAAK;YAAA;YAAA,OAClD,IAAAC,yCAAsB,EAACL,OAAO,CAAC;UAAA;YAAA;YAArDM,YAAY,yBAAZA,YAAY;YACbC,YAAY,GAAG,IAAID,YAAY,EAAE;YAAA;YAG/BE,aAAa,GAAG,IAAIC,UAAU,CAACV,KAAK,CAACW,KAAK,GAAGX,KAAK,CAACY,MAAM,GAAG,CAAC,CAAC;YACpEJ,YAAY,CAACK,iBAAiB,CAAC,IAAI,CAAC;YACpCL,YAAY,CAACM,4BAA4B,CAAC,IAAI,CAAC;YAC/CN,YAAY,CAACO,uBAAuB,CAAC,IAAI,CAAC;YAE1CP,YAAY,CAACQ,mBAAmB,CAAC,CAAC,EAAEhB,KAAK,CAACiB,IAAI,EAAEjB,KAAK,CAACW,KAAK,EAAEX,KAAK,CAACY,MAAM,EAAE,KAAK,CAAC;YACjFJ,YAAY,CAACU,aAAa,CAAChB,OAAO,CAAC;YACnCM,YAAY,CAACW,UAAU,CAACjB,OAAO,CAAC;YAChCM,YAAY,CAACY,eAAe,CAACjB,YAAY,CAAC;YAC1CK,YAAY,CAACa,QAAQ,CAACjB,WAAW,CAAC;YAClCI,YAAY,CAACc,SAAS,CAACjB,OAAO,CAAC;YAEzBkB,cAAc,GAAGf,YAAY,CAACgB,MAAM,CAACf,aAAa,CAAC;YAEnDgB,kBAAkB,GAAGhB,aAAa,CAACiB,QAAQ,CAAC,CAAC,EAAEH,cAAc,CAAC,CAACI,MAAM;YAAA,iCACpEF,kBAAkB;UAAA;YAAA;YAAA;YAGzBG,OAAO,CAACC,KAAK,CAAC,6DAA6D,cAAQ;YAAC;UAAA;YAAA;YAGpFrB,YAAY,CAACsB,MAAM,EAAE;YAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CAEzB;EAAA;AAAA"}
1
+ {"version":3,"file":"encode-ktx2-basis-texture.js","names":["_basisModuleLoader","require","encodeKTX2BasisTexture","_x","_encodeKTX2BasisTexture","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","image","options","_options$useSRGB","useSRGB","_options$qualityLevel","qualityLevel","_options$encodeUASTC","encodeUASTC","_options$mipmaps","mipmaps","_yield$loadBasisEncod","BasisEncoder","basisEncoder","basisFileData","numOutputBytes","actualKTX2FileData","_args","wrap","_callee$","_context","prev","next","length","undefined","loadBasisEncoderModule","sent","Uint8Array","width","height","setCreateKTX2File","setKTX2UASTCSupercompression","setKTX2SRGBTransferFunc","setSliceSourceImage","data","setPerceptual","setMipSRGB","setQualityLevel","setUASTC","setMipGen","encode","subarray","buffer","abrupt","t0","console","error","delete","finish","stop"],"sources":["../../../../src/lib/encoders/encode-ktx2-basis-texture.ts"],"sourcesContent":["import type {ImageDataType} from '@loaders.gl/images';\nimport {loadBasisEncoderModule} from '../parsers/basis-module-loader';\n\n/**\n * Encodes image to Basis Universal Supercompressed GPU Texture.\n * Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279\n * BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712\n * @param image\n * @param options\n */\nexport async function encodeKTX2BasisTexture(\n image: ImageDataType,\n options: any = {}\n): Promise<ArrayBuffer> {\n // TODO remove default values after writer options will be normalized like it done in load module.\n const {useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false} = options;\n const {BasisEncoder} = await loadBasisEncoderModule(options);\n const basisEncoder = new BasisEncoder();\n\n try {\n const basisFileData = new Uint8Array(image.width * image.height * 4);\n basisEncoder.setCreateKTX2File(true);\n basisEncoder.setKTX2UASTCSupercompression(true);\n basisEncoder.setKTX2SRGBTransferFunc(true);\n\n basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);\n basisEncoder.setPerceptual(useSRGB);\n basisEncoder.setMipSRGB(useSRGB);\n basisEncoder.setQualityLevel(qualityLevel);\n basisEncoder.setUASTC(encodeUASTC);\n basisEncoder.setMipGen(mipmaps);\n\n const numOutputBytes = basisEncoder.encode(basisFileData);\n\n const actualKTX2FileData = basisFileData.subarray(0, numOutputBytes).buffer;\n return actualKTX2FileData;\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', error);\n throw error;\n } finally {\n basisEncoder.delete();\n }\n}\n"],"mappings":"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"}
@@ -15,24 +15,21 @@ function _encodeImageURLToCompressedTextureURL() {
15
15
  _encodeImageURLToCompressedTextureURL = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(inputUrl, outputUrl, options) {
16
16
  var args, childProcess;
17
17
  return _regenerator.default.wrap(function _callee$(_context) {
18
- while (1) {
19
- switch (_context.prev = _context.next) {
20
- case 0:
21
- args = [
22
- 'texture-compressor', '--type', 's3tc', '--compression', 'DXT1', '--quality', 'normal', '--input', inputUrl, '--output', outputUrl];
23
- childProcess = new _workerUtils.ChildProcessProxy();
24
- _context.next = 4;
25
- return childProcess.start({
26
- command: 'npx',
27
- arguments: args,
28
- spawn: options
29
- });
30
- case 4:
31
- return _context.abrupt("return", outputUrl);
32
- case 5:
33
- case "end":
34
- return _context.stop();
35
- }
18
+ while (1) switch (_context.prev = _context.next) {
19
+ case 0:
20
+ args = ['texture-compressor', '--type', 's3tc', '--compression', 'DXT1', '--quality', 'normal', '--input', inputUrl, '--output', outputUrl];
21
+ childProcess = new _workerUtils.ChildProcessProxy();
22
+ _context.next = 4;
23
+ return childProcess.start({
24
+ command: 'npx',
25
+ arguments: args,
26
+ spawn: options
27
+ });
28
+ case 4:
29
+ return _context.abrupt("return", outputUrl);
30
+ case 5:
31
+ case "end":
32
+ return _context.stop();
36
33
  }
37
34
  }, _callee);
38
35
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"encode-texture.js","names":["encodeImageURLToCompressedTextureURL","inputUrl","outputUrl","options","args","childProcess","ChildProcessProxy","start","command","arguments","spawn"],"sources":["../../../../src/lib/encoders/encode-texture.ts"],"sourcesContent":["import {ChildProcessProxy} from '@loaders.gl/worker-utils';\nimport {CompressedTextureWriterOptions} from '../../compressed-texture-writer';\n\n/*\n * @see https://github.com/TimvanScherpenzeel/texture-compressor\n */\nexport async function encodeImageURLToCompressedTextureURL(\n inputUrl: string,\n outputUrl: string,\n options?: CompressedTextureWriterOptions\n): Promise<string> {\n // prettier-ignore\n const args = [\n // Note: our actual executable is `npx`, so `texture-compressor` is an argument\n 'texture-compressor',\n '--type', 's3tc',\n '--compression', 'DXT1',\n '--quality', 'normal',\n '--input', inputUrl,\n '--output', outputUrl\n ];\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: 'npx',\n arguments: args,\n spawn: options\n });\n return outputUrl;\n}\n"],"mappings":";;;;;;;;;AAAA;AAA2D,SAMrCA,oCAAoC;EAAA;AAAA;AAAA;EAAA,kGAAnD,iBACLC,QAAgB,EAChBC,SAAiB,EACjBC,OAAwC;IAAA;IAAA;MAAA;QAAA;UAAA;YAGlCC,IAAI,GAAG;YAEX,oBAAoB,EACpB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAEH,QAAQ,EACnB,UAAU,EAAEC,SAAS,CACtB;YACKG,YAAY,GAAG,IAAIC,8BAAiB,EAAE;YAAA;YAAA,OACtCD,YAAY,CAACE,KAAK,CAAC;cACvBC,OAAO,EAAE,KAAK;cACdC,SAAS,EAAEL,IAAI;cACfM,KAAK,EAAEP;YACT,CAAC,CAAC;UAAA;YAAA,iCACKD,SAAS;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAAA,CACjB;EAAA;AAAA"}
1
+ {"version":3,"file":"encode-texture.js","names":["_workerUtils","require","encodeImageURLToCompressedTextureURL","_x","_x2","_x3","_encodeImageURLToCompressedTextureURL","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","inputUrl","outputUrl","options","args","childProcess","wrap","_callee$","_context","prev","next","ChildProcessProxy","start","command","spawn","abrupt","stop"],"sources":["../../../../src/lib/encoders/encode-texture.ts"],"sourcesContent":["import {ChildProcessProxy} from '@loaders.gl/worker-utils';\nimport {CompressedTextureWriterOptions} from '../../compressed-texture-writer';\n\n/*\n * @see https://github.com/TimvanScherpenzeel/texture-compressor\n */\nexport async function encodeImageURLToCompressedTextureURL(\n inputUrl: string,\n outputUrl: string,\n options?: CompressedTextureWriterOptions\n): Promise<string> {\n // prettier-ignore\n const args = [\n // Note: our actual executable is `npx`, so `texture-compressor` is an argument\n 'texture-compressor',\n '--type', 's3tc',\n '--compression', 'DXT1',\n '--quality', 'normal',\n '--input', inputUrl,\n '--output', outputUrl\n ];\n const childProcess = new ChildProcessProxy();\n await childProcess.start({\n command: 'npx',\n arguments: args,\n spawn: options\n });\n return outputUrl;\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAA2D,SAMrCC,oCAAoCA,CAAAC,EAAA,EAAAC,GAAA,EAAAC,GAAA;EAAA,OAAAC,qCAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,sCAAA;EAAAA,qCAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAnD,SAAAC,QACLC,QAAgB,EAChBC,SAAiB,EACjBC,OAAwC;IAAA,IAAAC,IAAA,EAAAC,YAAA;IAAA,OAAAP,YAAA,CAAAD,OAAA,CAAAS,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAGlCN,IAAI,GAAG,CAEX,oBAAoB,EACpB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,MAAM,EACvB,WAAW,EAAE,QAAQ,EACrB,SAAS,EAAEH,QAAQ,EACnB,UAAU,EAAEC,SAAS,CACtB;UACKG,YAAY,GAAG,IAAIM,8BAAiB,EAAE;UAAAH,QAAA,CAAAE,IAAA;UAAA,OACtCL,YAAY,CAACO,KAAK,CAAC;YACvBC,OAAO,EAAE,KAAK;YACdlB,SAAS,EAAES,IAAI;YACfU,KAAK,EAAEX;UACT,CAAC,CAAC;QAAA;UAAA,OAAAK,QAAA,CAAAO,MAAA,WACKb,SAAS;QAAA;QAAA;UAAA,OAAAM,QAAA,CAAAQ,IAAA;MAAA;IAAA,GAAAhB,OAAA;EAAA,CACjB;EAAA,OAAAP,qCAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA"}