@loaders.gl/textures 4.0.0-alpha.8 → 4.0.0-beta.1

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 (121) hide show
  1. package/dist/basis-worker-node.js +91 -79
  2. package/dist/basis-worker.js +66 -38
  3. package/dist/compressed-texture-loader.d.ts +2 -35
  4. package/dist/compressed-texture-loader.d.ts.map +1 -1
  5. package/dist/compressed-texture-worker.js +75 -47
  6. package/dist/crunch-loader.d.ts +9 -17
  7. package/dist/crunch-loader.d.ts.map +1 -1
  8. package/dist/crunch-worker.js +53 -25
  9. package/dist/dist.min.js +99 -55
  10. package/dist/es5/compressed-texture-loader.js +15 -17
  11. package/dist/es5/compressed-texture-loader.js.map +1 -1
  12. package/dist/es5/crunch-loader.js +1 -3
  13. package/dist/es5/crunch-loader.js.map +1 -1
  14. package/dist/es5/index.js +14 -0
  15. package/dist/es5/index.js.map +1 -1
  16. package/dist/es5/ktx2-basis-writer.js +5 -5
  17. package/dist/es5/ktx2-basis-writer.js.map +1 -1
  18. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +6 -5
  19. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  20. package/dist/es5/lib/parsers/basis-module-loader.js +26 -21
  21. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  22. package/dist/es5/lib/parsers/crunch-module-loader.js +6 -1
  23. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  24. package/dist/es5/lib/parsers/parse-basis.js +7 -7
  25. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  26. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  27. package/dist/es5/lib/utils/version.js +1 -1
  28. package/dist/es5/lib/utils/version.js.map +1 -1
  29. package/dist/es5/workers/compressed-texture-worker.js.map +1 -1
  30. package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -1
  31. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
  32. package/dist/esm/compressed-texture-loader.js +10 -11
  33. package/dist/esm/compressed-texture-loader.js.map +1 -1
  34. package/dist/esm/crunch-loader.js +0 -1
  35. package/dist/esm/crunch-loader.js.map +1 -1
  36. package/dist/esm/index.js +2 -0
  37. package/dist/esm/index.js.map +1 -1
  38. package/dist/esm/ktx2-basis-writer.js +6 -5
  39. package/dist/esm/ktx2-basis-writer.js.map +1 -1
  40. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
  41. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  42. package/dist/esm/lib/parsers/basis-module-loader.js +13 -10
  43. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  44. package/dist/esm/lib/parsers/crunch-module-loader.js +4 -1
  45. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
  46. package/dist/esm/lib/parsers/parse-basis.js +3 -3
  47. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  48. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  49. package/dist/esm/lib/utils/version.js +1 -1
  50. package/dist/esm/lib/utils/version.js.map +1 -1
  51. package/dist/esm/workers/compressed-texture-worker.js.map +1 -1
  52. package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -1
  53. package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -1
  54. package/dist/index.d.ts +2 -0
  55. package/dist/index.d.ts.map +1 -1
  56. package/dist/ktx2-basis-writer-worker-node.js +86 -72
  57. package/dist/ktx2-basis-writer-worker.js +61 -31
  58. package/dist/ktx2-basis-writer.d.ts +8 -7
  59. package/dist/ktx2-basis-writer.d.ts.map +1 -1
  60. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
  61. package/dist/lib/parsers/basis-module-loader.d.ts +11 -1
  62. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
  63. package/dist/lib/parsers/crunch-module-loader.d.ts +4 -0
  64. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
  65. package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
  66. package/dist/npy-worker.js +9 -4
  67. package/dist/workers/crunch-worker.d.ts +13 -9
  68. package/dist/workers/crunch-worker.d.ts.map +1 -1
  69. package/package.json +7 -7
  70. package/src/compressed-texture-loader.ts +14 -17
  71. package/src/crunch-loader.ts +10 -7
  72. package/src/index.ts +4 -0
  73. package/src/ktx2-basis-writer.ts +14 -13
  74. package/src/lib/encoders/encode-ktx2-basis-texture.ts +6 -1
  75. package/src/lib/parsers/basis-module-loader.ts +19 -16
  76. package/src/lib/parsers/crunch-module-loader.ts +6 -1
  77. package/src/lib/parsers/parse-basis.ts +3 -3
  78. package/src/lib/texture-api/deep-load.ts +0 -1
  79. package/src/workers/compressed-texture-worker.ts +1 -0
  80. package/src/workers/ktx2-basis-writer-worker-node.ts +2 -2
  81. package/src/workers/ktx2-basis-writer-worker.ts +2 -2
  82. package/dist/basis-loader.js +0 -37
  83. package/dist/bundle.js +0 -5
  84. package/dist/compressed-texture-loader.js +0 -64
  85. package/dist/compressed-texture-writer.js +0 -34
  86. package/dist/crunch-loader.js +0 -25
  87. package/dist/index.js +0 -52
  88. package/dist/ktx2-basis-writer.js +0 -26
  89. package/dist/lib/encoders/encode-ktx.js +0 -10
  90. package/dist/lib/encoders/encode-ktx2-basis-texture.js +0 -41
  91. package/dist/lib/encoders/encode-texture.js +0 -27
  92. package/dist/lib/gl-extensions.js +0 -72
  93. package/dist/lib/parsers/basis-module-loader.js +0 -114
  94. package/dist/lib/parsers/crunch-module-loader.js +0 -35
  95. package/dist/lib/parsers/parse-basis.js +0 -245
  96. package/dist/lib/parsers/parse-compressed-texture.js +0 -26
  97. package/dist/lib/parsers/parse-crunch.js +0 -106
  98. package/dist/lib/parsers/parse-dds.js +0 -108
  99. package/dist/lib/parsers/parse-ktx.js +0 -46
  100. package/dist/lib/parsers/parse-npy.js +0 -81
  101. package/dist/lib/parsers/parse-pvr.js +0 -250
  102. package/dist/lib/texture-api/async-deep-map.js +0 -41
  103. package/dist/lib/texture-api/deep-load.js +0 -16
  104. package/dist/lib/texture-api/generate-url.js +0 -17
  105. package/dist/lib/texture-api/load-image-array.js +0 -21
  106. package/dist/lib/texture-api/load-image-cube.js +0 -47
  107. package/dist/lib/texture-api/load-image.js +0 -43
  108. package/dist/lib/texture-api/texture-api-types.js +0 -3
  109. package/dist/lib/utils/extract-mipmap-images.js +0 -50
  110. package/dist/lib/utils/ktx-format-helper.js +0 -125
  111. package/dist/lib/utils/texture-formats.js +0 -51
  112. package/dist/lib/utils/version.js +0 -8
  113. package/dist/npy-loader.js +0 -31
  114. package/dist/types.js +0 -1
  115. package/dist/workers/basis-worker-node.js +0 -7
  116. package/dist/workers/basis-worker.js +0 -5
  117. package/dist/workers/compressed-texture-worker.js +0 -5
  118. package/dist/workers/crunch-worker.js +0 -14
  119. package/dist/workers/ktx2-basis-writer-worker-node.js +0 -28
  120. package/dist/workers/ktx2-basis-writer-worker.js +0 -26
  121. package/dist/workers/npy-worker.js +0 -5
package/dist/dist.min.js CHANGED
@@ -38,15 +38,24 @@
38
38
  });
39
39
 
40
40
  // ../worker-utils/src/lib/env-utils/version.ts
41
- var DEFAULT_VERSION, VERSION2;
42
- var init_version2 = __esm({
43
- "../worker-utils/src/lib/env-utils/version.ts"() {
44
- DEFAULT_VERSION = "beta";
45
- VERSION2 = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
41
+ function getVersion() {
42
+ if (!globalThis._loadersgl_?.version) {
43
+ globalThis._loadersgl_ = globalThis._loadersgl_ || {};
46
44
  if (typeof __VERSION__ === "undefined") {
47
45
  console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
46
+ globalThis._loadersgl_.version = NPM_TAG;
47
+ } else {
48
+ globalThis._loadersgl_.version = __VERSION__;
48
49
  }
49
50
  }
51
+ return globalThis._loadersgl_.version;
52
+ }
53
+ var NPM_TAG, VERSION2;
54
+ var init_version2 = __esm({
55
+ "../worker-utils/src/lib/env-utils/version.ts"() {
56
+ NPM_TAG = "beta";
57
+ VERSION2 = getVersion();
58
+ }
50
59
  });
51
60
 
52
61
  // ../worker-utils/src/lib/env-utils/assert.ts
@@ -89,37 +98,37 @@
89
98
  });
90
99
 
91
100
  // ../worker-utils/src/lib/library-utils/library-utils.ts
92
- async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
101
+ async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
93
102
  if (moduleName) {
94
- libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
103
+ libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
95
104
  }
96
105
  loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
97
106
  return await loadLibraryPromises[libraryUrl];
98
107
  }
99
- function getLibraryUrl(library, moduleName, options) {
100
- if (library.startsWith("http")) {
108
+ function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
109
+ if (!options.useLocalLibraries && library.startsWith("http")) {
101
110
  return library;
102
111
  }
112
+ libraryName = libraryName || library;
103
113
  const modules = options.modules || {};
104
- if (modules[library]) {
105
- return modules[library];
114
+ if (modules[libraryName]) {
115
+ return modules[libraryName];
106
116
  }
107
117
  if (!isBrowser) {
108
- return `modules/${moduleName}/dist/libs/${library}`;
118
+ return `modules/${moduleName}/dist/libs/${libraryName}`;
109
119
  }
110
120
  if (options.CDN) {
111
121
  assert(options.CDN.startsWith("http"));
112
- return `${options.CDN}/${moduleName}@${VERSION3}/dist/libs/${library}`;
122
+ return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${libraryName}`;
113
123
  }
114
124
  if (isWorker) {
115
- return `../src/libs/${library}`;
125
+ return `../src/libs/${libraryName}`;
116
126
  }
117
- return `modules/${moduleName}/src/libs/${library}`;
127
+ return `modules/${moduleName}/src/libs/${libraryName}`;
118
128
  }
119
129
  async function loadLibraryFromFile(libraryUrl) {
120
130
  if (libraryUrl.endsWith("wasm")) {
121
- const response2 = await fetch(libraryUrl);
122
- return await response2.arrayBuffer();
131
+ return await loadAsArrayBuffer(libraryUrl);
123
132
  }
124
133
  if (!isBrowser) {
125
134
  try {
@@ -131,8 +140,7 @@
131
140
  if (isWorker) {
132
141
  return importScripts(libraryUrl);
133
142
  }
134
- const response = await fetch(libraryUrl);
135
- const scriptSource = await response.text();
143
+ const scriptSource = await loadAsText(libraryUrl);
136
144
  return loadLibraryFromString(scriptSource, libraryUrl);
137
145
  }
138
146
  function loadLibraryFromString(scriptSource, id) {
@@ -153,15 +161,27 @@
153
161
  document.body.appendChild(script);
154
162
  return null;
155
163
  }
156
- var node, LATEST, VERSION3, loadLibraryPromises;
164
+ async function loadAsArrayBuffer(url) {
165
+ if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
166
+ const response = await fetch(url);
167
+ return await response.arrayBuffer();
168
+ }
169
+ return await node.readFileAsArrayBuffer(url);
170
+ }
171
+ async function loadAsText(url) {
172
+ if (!node.readFileAsText || url.startsWith("http")) {
173
+ const response = await fetch(url);
174
+ return await response.text();
175
+ }
176
+ return await node.readFileAsText(url);
177
+ }
178
+ var node, loadLibraryPromises;
157
179
  var init_library_utils = __esm({
158
180
  "../worker-utils/src/lib/library-utils/library-utils.ts"() {
159
181
  init_globals();
160
182
  node = __toModule(require_require_utils());
161
183
  init_assert();
162
184
  init_version2();
163
- LATEST = "beta";
164
- VERSION3 = typeof VERSION2 !== "undefined" ? VERSION2 : LATEST;
165
185
  loadLibraryPromises = {};
166
186
  }
167
187
  });
@@ -181,25 +201,25 @@
181
201
  });
182
202
 
183
203
  // src/lib/parsers/basis-module-loader.ts
184
- async function loadBasisTrascoderModule(options) {
204
+ async function loadBasisTranscoderModule(options) {
185
205
  const modules = options.modules || {};
186
206
  if (modules.basis) {
187
207
  return modules.basis;
188
208
  }
189
- loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
209
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
190
210
  return await loadBasisTranscoderPromise;
191
211
  }
192
- async function loadBasisTrascoder(options) {
212
+ async function loadBasisTranscoder(options) {
193
213
  let BASIS = null;
194
214
  let wasmBinary = null;
195
215
  [BASIS, wasmBinary] = await Promise.all([
196
- await loadLibrary("basis_transcoder.js", "textures", options),
197
- await loadLibrary("basis_transcoder.wasm", "textures", options)
216
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
217
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
198
218
  ]);
199
219
  BASIS = BASIS || globalThis.BASIS;
200
- return await initializeBasisTrascoderModule(BASIS, wasmBinary);
220
+ return await initializeBasisTranscoderModule(BASIS, wasmBinary);
201
221
  }
202
- function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
222
+ function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
203
223
  const options = {};
204
224
  if (wasmBinary) {
205
225
  options.wasmBinary = wasmBinary;
@@ -224,8 +244,8 @@
224
244
  let BASIS_ENCODER = null;
225
245
  let wasmBinary = null;
226
246
  [BASIS_ENCODER, wasmBinary] = await Promise.all([
227
- await loadLibrary(BASIS_CDN_ENCODER_JS, "textures", options),
228
- await loadLibrary(BASIS_CDN_ENCODER_WASM, "textures", options)
247
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
248
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
229
249
  ]);
230
250
  BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
231
251
  return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
@@ -243,13 +263,16 @@
243
263
  });
244
264
  });
245
265
  }
246
- var VERSION4, BASIS_CDN_ENCODER_WASM, BASIS_CDN_ENCODER_JS, loadBasisTranscoderPromise, loadBasisEncoderPromise;
266
+ var BASIS_EXTERNAL_LIBRARIES, loadBasisTranscoderPromise, loadBasisEncoderPromise;
247
267
  var init_basis_module_loader = __esm({
248
268
  "src/lib/parsers/basis-module-loader.ts"() {
249
269
  init_src();
250
- VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
251
- BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
252
- BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
270
+ BASIS_EXTERNAL_LIBRARIES = {
271
+ TRANSCODER: "basis_transcoder.js",
272
+ TRANSCODER_WASM: "basis_transcoder.wasm",
273
+ ENCODER: "basis_encoder.js",
274
+ ENCODER_WASM: "basis_encoder.wasm"
275
+ };
253
276
  }
254
277
  });
255
278
 
@@ -625,7 +648,7 @@
625
648
  const fileConstructors = await loadBasisEncoderModule(options);
626
649
  return parseKTX2File(fileConstructors.KTX2File, data, options);
627
650
  }
628
- const { BasisFile } = await loadBasisTrascoderModule(options);
651
+ const { BasisFile } = await loadBasisTranscoderModule(options);
629
652
  return parseBasisFile(BasisFile, data, options);
630
653
  }
631
654
  switch (options.basis.module) {
@@ -640,7 +663,7 @@
640
663
  }
641
664
  case "transcoder":
642
665
  default:
643
- const { BasisFile } = await loadBasisTrascoderModule(options);
666
+ const { BasisFile } = await loadBasisTranscoderModule(options);
644
667
  return parseBasisFile(BasisFile, data, options);
645
668
  }
646
669
  }
@@ -1204,18 +1227,12 @@
1204
1227
  });
1205
1228
 
1206
1229
  // src/compressed-texture-loader.ts
1207
- var DEFAULT_TEXTURE_LOADER_OPTIONS, CompressedTextureWorkerLoader, CompressedTextureLoader;
1230
+ var CompressedTextureWorkerLoader, CompressedTextureLoader;
1208
1231
  var init_compressed_texture_loader = __esm({
1209
1232
  "src/compressed-texture-loader.ts"() {
1210
1233
  init_version();
1211
1234
  init_parse_compressed_texture();
1212
1235
  init_parse_basis();
1213
- DEFAULT_TEXTURE_LOADER_OPTIONS = {
1214
- "compressed-texture": {
1215
- libraryPath: "libs/",
1216
- useBasis: false
1217
- }
1218
- };
1219
1236
  CompressedTextureWorkerLoader = {
1220
1237
  name: "Texture Containers",
1221
1238
  id: "compressed-texture",
@@ -1236,12 +1253,17 @@
1236
1253
  "application/octet-stream"
1237
1254
  ],
1238
1255
  binary: true,
1239
- options: DEFAULT_TEXTURE_LOADER_OPTIONS
1256
+ options: {
1257
+ "compressed-texture": {
1258
+ libraryPath: "libs/",
1259
+ useBasis: false
1260
+ }
1261
+ }
1240
1262
  };
1241
1263
  CompressedTextureLoader = {
1242
1264
  ...CompressedTextureWorkerLoader,
1243
1265
  parse: async (arrayBuffer, options) => {
1244
- if (options["compressed-texture"].useBasis) {
1266
+ if (options?.["compressed-texture"]?.useBasis) {
1245
1267
  options.basis = {
1246
1268
  format: {
1247
1269
  alpha: "BC3",
@@ -1251,7 +1273,8 @@
1251
1273
  containerFormat: "ktx2",
1252
1274
  module: "encoder"
1253
1275
  };
1254
- return (await parseBasis(arrayBuffer, options))[0];
1276
+ const result = await parseBasis(arrayBuffer, options);
1277
+ return result[0];
1255
1278
  }
1256
1279
  return parseCompressedTexture(arrayBuffer);
1257
1280
  }
@@ -1372,6 +1395,16 @@
1372
1395
  }
1373
1396
  });
1374
1397
 
1398
+ // src/lib/parsers/crunch-module-loader.ts
1399
+ var CRUNCH_EXTERNAL_LIBRARIES;
1400
+ var init_crunch_module_loader = __esm({
1401
+ "src/lib/parsers/crunch-module-loader.ts"() {
1402
+ CRUNCH_EXTERNAL_LIBRARIES = {
1403
+ DECODER: "crunch.js"
1404
+ };
1405
+ }
1406
+ });
1407
+
1375
1408
  // src/lib/encoders/encode-texture.ts
1376
1409
  async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
1377
1410
  const args = [
@@ -1430,7 +1463,12 @@
1430
1463
 
1431
1464
  // src/lib/encoders/encode-ktx2-basis-texture.ts
1432
1465
  async function encodeKTX2BasisTexture(image, options = {}) {
1433
- const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = options;
1466
+ const {
1467
+ useSRGB = false,
1468
+ qualityLevel = 10,
1469
+ encodeUASTC = false,
1470
+ mipmaps = false
1471
+ } = options?.["ktx2-basis-writer"] || {};
1434
1472
  const { BasisEncoder } = await loadBasisEncoderModule(options);
1435
1473
  const basisEncoder = new BasisEncoder();
1436
1474
  try {
@@ -1473,10 +1511,12 @@
1473
1511
  version: VERSION,
1474
1512
  extensions: ["ktx2"],
1475
1513
  options: {
1476
- useSRGB: false,
1477
- qualityLevel: 10,
1478
- encodeUASTC: false,
1479
- mipmaps: false
1514
+ ["ktx2-basis-writer"]: {
1515
+ useSRGB: false,
1516
+ qualityLevel: 10,
1517
+ encodeUASTC: false,
1518
+ mipmaps: false
1519
+ }
1480
1520
  },
1481
1521
  encode: encodeKTX2BasisTexture
1482
1522
  };
@@ -1484,10 +1524,10 @@
1484
1524
  });
1485
1525
 
1486
1526
  // ../images/src/lib/utils/version.ts
1487
- var VERSION5;
1527
+ var VERSION3;
1488
1528
  var init_version3 = __esm({
1489
1529
  "../images/src/lib/utils/version.ts"() {
1490
- VERSION5 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1530
+ VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1491
1531
  }
1492
1532
  });
1493
1533
 
@@ -1939,7 +1979,7 @@
1939
1979
  id: "image",
1940
1980
  module: "images",
1941
1981
  name: "Images",
1942
- version: VERSION5,
1982
+ version: VERSION3,
1943
1983
  mimeTypes: MIME_TYPES,
1944
1984
  extensions: EXTENSIONS,
1945
1985
  parse: parseImage,
@@ -2128,8 +2168,10 @@
2128
2168
  // src/index.ts
2129
2169
  var src_exports = {};
2130
2170
  __export(src_exports, {
2171
+ BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
2131
2172
  BasisLoader: () => BasisLoader,
2132
2173
  BasisWorkerLoader: () => BasisWorkerLoader,
2174
+ CRUNCH_EXTERNAL_LIBRARIES: () => CRUNCH_EXTERNAL_LIBRARIES,
2133
2175
  CompressedTextureLoader: () => CompressedTextureLoader,
2134
2176
  CompressedTextureWorkerLoader: () => CompressedTextureWorkerLoader,
2135
2177
  CompressedTextureWriter: () => CompressedTextureWriter,
@@ -2154,6 +2196,8 @@
2154
2196
  init_compressed_texture_loader();
2155
2197
  init_crunch_loader();
2156
2198
  init_npy_loader();
2199
+ init_basis_module_loader();
2200
+ init_crunch_module_loader();
2157
2201
  init_compressed_texture_writer();
2158
2202
  init_ktx2_basis_writer();
2159
2203
  init_load_image();
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports._TypecheckCompressedTextureWorkerLoader = exports._TypecheckCompressedTextureLoader = exports.CompressedTextureWorkerLoader = exports.CompressedTextureLoader = void 0;
7
+ exports.CompressedTextureWorkerLoader = exports.CompressedTextureLoader = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
@@ -13,12 +13,6 @@ var _parseCompressedTexture = require("./lib/parsers/parse-compressed-texture");
13
13
  var _parseBasis = _interopRequireDefault(require("./lib/parsers/parse-basis"));
14
14
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
15
15
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
16
- var DEFAULT_TEXTURE_LOADER_OPTIONS = {
17
- 'compressed-texture': {
18
- libraryPath: 'libs/',
19
- useBasis: false
20
- }
21
- };
22
16
  var CompressedTextureWorkerLoader = {
23
17
  name: 'Texture Containers',
24
18
  id: 'compressed-texture',
@@ -28,17 +22,24 @@ var CompressedTextureWorkerLoader = {
28
22
  extensions: ['ktx', 'ktx2', 'dds', 'pvr'],
29
23
  mimeTypes: ['image/ktx2', 'image/ktx', 'image/vnd-ms.dds', 'image/x-dds', 'application/octet-stream'],
30
24
  binary: true,
31
- options: DEFAULT_TEXTURE_LOADER_OPTIONS
25
+ options: {
26
+ 'compressed-texture': {
27
+ libraryPath: 'libs/',
28
+ useBasis: false
29
+ }
30
+ }
32
31
  };
33
32
  exports.CompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
34
33
  var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureWorkerLoader), {}, {
35
34
  parse: function () {
36
35
  var _parse = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(arrayBuffer, options) {
36
+ var _options$compressedT;
37
+ var result;
37
38
  return _regenerator.default.wrap(function _callee$(_context) {
38
39
  while (1) switch (_context.prev = _context.next) {
39
40
  case 0:
40
- if (!options['compressed-texture'].useBasis) {
41
- _context.next = 5;
41
+ if (!(options !== null && options !== void 0 && (_options$compressedT = options['compressed-texture']) !== null && _options$compressedT !== void 0 && _options$compressedT.useBasis)) {
42
+ _context.next = 6;
42
43
  break;
43
44
  }
44
45
  options.basis = _objectSpread(_objectSpread({
@@ -53,10 +54,11 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
53
54
  _context.next = 4;
54
55
  return (0, _parseBasis.default)(arrayBuffer, options);
55
56
  case 4:
56
- return _context.abrupt("return", _context.sent[0]);
57
- case 5:
58
- return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
57
+ result = _context.sent;
58
+ return _context.abrupt("return", result[0]);
59
59
  case 6:
60
+ return _context.abrupt("return", (0, _parseCompressedTexture.parseCompressedTexture)(arrayBuffer));
61
+ case 7:
60
62
  case "end":
61
63
  return _context.stop();
62
64
  }
@@ -69,8 +71,4 @@ var CompressedTextureLoader = _objectSpread(_objectSpread({}, CompressedTextureW
69
71
  }()
70
72
  });
71
73
  exports.CompressedTextureLoader = CompressedTextureLoader;
72
- var _TypecheckCompressedTextureWorkerLoader = CompressedTextureWorkerLoader;
73
- exports._TypecheckCompressedTextureWorkerLoader = _TypecheckCompressedTextureWorkerLoader;
74
- var _TypecheckCompressedTextureLoader = CompressedTextureLoader;
75
- exports._TypecheckCompressedTextureLoader = _TypecheckCompressedTextureLoader;
76
74
  //# sourceMappingURL=compressed-texture-loader.js.map
@@ -1 +1 @@
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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"}
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","CompressedTextureWorkerLoader","name","id","module","version","VERSION","worker","extensions","mimeTypes","binary","options","libraryPath","useBasis","exports","CompressedTextureLoader","parse","_parse","_asyncToGenerator2","_regenerator","mark","_callee","arrayBuffer","_options$compressedT","result","wrap","_callee$","_context","prev","next","basis","format","alpha","noAlpha","containerFormat","parseBasis","sent","abrupt","parseCompressedTexture","stop","_x","_x2"],"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\n/**\n * Worker Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureWorkerLoader: Loader<any, never, TextureLoaderOptions> = {\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: {\n 'compressed-texture': {\n libraryPath: 'libs/',\n useBasis: false\n }\n }\n};\n\n/**\n * Loader for KTX, DDS, and PVR texture container formats\n */\nexport const CompressedTextureLoader: LoaderWithParser<any, never, TextureLoaderOptions> = {\n ...CompressedTextureWorkerLoader,\n parse: async (arrayBuffer: ArrayBuffer, options?: TextureLoaderOptions) => {\n if (options?.['compressed-texture']?.useBasis) {\n // @ts-expect-error TODO not allowed to modify inputs\n options.basis = {\n format: {\n alpha: 'BC3',\n noAlpha: 'BC1'\n },\n // @ts-expect-error TODO not allowed to modify inputs\n ...options.basis,\n containerFormat: 'ktx2',\n module: 'encoder'\n };\n const result = await parseBasis(arrayBuffer, options);\n return result[0];\n }\n return parseCompressedTexture(arrayBuffer);\n }\n};\n"],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports._TypecheckCrunchLoader = exports.CrunchLoader = void 0;
6
+ exports.CrunchLoader = void 0;
7
7
  var _version = require("./lib/utils/version");
8
8
  var CrunchLoader = {
9
9
  id: 'crunch',
@@ -21,6 +21,4 @@ var CrunchLoader = {
21
21
  }
22
22
  };
23
23
  exports.CrunchLoader = CrunchLoader;
24
- var _TypecheckCrunchLoader = CrunchLoader;
25
- exports._TypecheckCrunchLoader = _TypecheckCrunchLoader;
26
24
  //# sourceMappingURL=crunch-loader.js.map
@@ -1 +1 @@
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"}
1
+ {"version":3,"file":"crunch-loader.js","names":["_version","require","CrunchLoader","id","name","module","version","VERSION","worker","extensions","mimeTypes","binary","options","crunch","libraryPath","exports"],"sources":["../../src/crunch-loader.ts"],"sourcesContent":["import type {Loader, LoaderOptions} from '@loaders.gl/loader-utils';\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {VERSION} from './lib/utils/version';\n\nexport type CrunchLoaderOptions = LoaderOptions & {\n crunch?: {\n libraryPath?: string;\n };\n};\n\n/**\n * Worker loader for the Crunch compressed texture container format\n * @note We avoid bundling crunch - it is a rare format and large lib, so we only offer worker loader\n */\nexport const CrunchLoader: Loader<TextureLevel[], never, CrunchLoaderOptions> = {\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"],"mappings":";;;;;;AAEA,IAAAA,QAAA,GAAAC,OAAA;AAYO,IAAMC,YAAgE,GAAG;EAC9EC,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"}
package/dist/es5/index.js CHANGED
@@ -3,6 +3,12 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ Object.defineProperty(exports, "BASIS_EXTERNAL_LIBRARIES", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _basisModuleLoader.BASIS_EXTERNAL_LIBRARIES;
10
+ }
11
+ });
6
12
  Object.defineProperty(exports, "BasisLoader", {
7
13
  enumerable: true,
8
14
  get: function get() {
@@ -15,6 +21,12 @@ Object.defineProperty(exports, "BasisWorkerLoader", {
15
21
  return _basisLoader.BasisWorkerLoader;
16
22
  }
17
23
  });
24
+ Object.defineProperty(exports, "CRUNCH_EXTERNAL_LIBRARIES", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _crunchModuleLoader.CRUNCH_EXTERNAL_LIBRARIES;
28
+ }
29
+ });
18
30
  Object.defineProperty(exports, "CompressedTextureLoader", {
19
31
  enumerable: true,
20
32
  get: function get() {
@@ -105,6 +117,8 @@ var _basisLoader = require("./basis-loader");
105
117
  var _compressedTextureLoader = require("./compressed-texture-loader");
106
118
  var _crunchLoader = require("./crunch-loader");
107
119
  var _npyLoader = require("./npy-loader");
120
+ var _basisModuleLoader = require("./lib/parsers/basis-module-loader");
121
+ var _crunchModuleLoader = require("./lib/parsers/crunch-module-loader");
108
122
  var _compressedTextureWriter = require("./compressed-texture-writer");
109
123
  var _ktx2BasisWriter = require("./ktx2-basis-writer");
110
124
  var _loadImage = require("./lib/texture-api/load-image");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["_version","require","_basisLoader","_compressedTextureLoader","_crunchLoader","_npyLoader","_compressedTextureWriter","_ktx2BasisWriter","_loadImage","_loadImageArray","_loadImageCube","_glExtensions","_parseBasis","_textureFormats","KTX2BasisWriterWorker","name","id","module","version","VERSION","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {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: 'ktx2-basis-writer',\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,QAAA,GAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAGA,IAAAK,wBAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAkBA,IAAAO,UAAA,GAAAP,OAAA;AACA,IAAAQ,eAAA,GAAAR,OAAA;AACA,IAAAS,cAAA,GAAAT,OAAA;AAGA,IAAAU,aAAA,GAAAV,OAAA;AACA,IAAAW,WAAA,GAAAX,OAAA;AACA,IAAAY,eAAA,GAAAZ,OAAA;AAvBO,IAAMa,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,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,CAAAb,qBAAA,GAAAA,qBAAA"}
1
+ {"version":3,"file":"index.js","names":["_version","require","_basisLoader","_compressedTextureLoader","_crunchLoader","_npyLoader","_basisModuleLoader","_crunchModuleLoader","_compressedTextureWriter","_ktx2BasisWriter","_loadImage","_loadImageArray","_loadImageCube","_glExtensions","_parseBasis","_textureFormats","KTX2BasisWriterWorker","name","id","module","version","VERSION","extensions","worker","options","useSRGB","qualityLevel","encodeUASTC","mipmaps","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import {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// Module constants\nexport {BASIS_EXTERNAL_LIBRARIES} from './lib/parsers/basis-module-loader';\nexport {CRUNCH_EXTERNAL_LIBRARIES} from './lib/parsers/crunch-module-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: 'ktx2-basis-writer',\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,QAAA,GAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,wBAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAGA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAN,OAAA;AAGA,IAAAO,wBAAA,GAAAP,OAAA;AACA,IAAAQ,gBAAA,GAAAR,OAAA;AAkBA,IAAAS,UAAA,GAAAT,OAAA;AACA,IAAAU,eAAA,GAAAV,OAAA;AACA,IAAAW,cAAA,GAAAX,OAAA;AAGA,IAAAY,aAAA,GAAAZ,OAAA;AACA,IAAAa,WAAA,GAAAb,OAAA;AACA,IAAAc,eAAA,GAAAd,OAAA;AAvBO,IAAMe,qBAAqB,GAAG;EACnCC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,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,CAAAb,qBAAA,GAAAA,qBAAA"}
@@ -1,9 +1,11 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports._TypecheckKTX2TextureWriter = exports.KTX2BasisWriter = void 0;
7
+ exports.KTX2BasisWriter = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _version = require("./lib/utils/version");
8
10
  var _encodeKtx2BasisTexture = require("./lib/encoders/encode-ktx2-basis-texture");
9
11
  var KTX2BasisWriter = {
@@ -12,15 +14,13 @@ var KTX2BasisWriter = {
12
14
  module: 'textures',
13
15
  version: _version.VERSION,
14
16
  extensions: ['ktx2'],
15
- options: {
17
+ options: (0, _defineProperty2.default)({}, 'ktx2-basis-writer', {
16
18
  useSRGB: false,
17
19
  qualityLevel: 10,
18
20
  encodeUASTC: false,
19
21
  mipmaps: false
20
- },
22
+ }),
21
23
  encode: _encodeKtx2BasisTexture.encodeKTX2BasisTexture
22
24
  };
23
25
  exports.KTX2BasisWriter = KTX2BasisWriter;
24
- var _TypecheckKTX2TextureWriter = KTX2BasisWriter;
25
- exports._TypecheckKTX2TextureWriter = _TypecheckKTX2TextureWriter;
26
26
  //# sourceMappingURL=ktx2-basis-writer.js.map
@@ -1 +1 @@
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":["// loaders.gl, MIT license\n\nimport type {Writer} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport type {ImageDataType} from '@loaders.gl/images';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/** @todo should be in basis sub-object */\nexport type KTX2BasisWriterOptions = {\n useSRGB?: boolean;\n qualityLevel?: number;\n encodeUASTC?: boolean;\n mipmaps?: boolean;\n};\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: Writer<ImageDataType, unknown, KTX2BasisWriterOptions> = {\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":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAcO,IAAME,eAAuE,GAAG;EACrFC,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
+ {"version":3,"file":"ktx2-basis-writer.js","names":["_version","require","_encodeKtx2BasisTexture","KTX2BasisWriter","name","id","module","version","VERSION","extensions","options","_defineProperty2","default","useSRGB","qualityLevel","encodeUASTC","mipmaps","encode","encodeKTX2BasisTexture","exports"],"sources":["../../src/ktx2-basis-writer.ts"],"sourcesContent":["// loaders.gl, MIT license\n\nimport type {Writer, WriterOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport type {ImageDataType} from '@loaders.gl/images';\nimport {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';\n\n/** @todo should be in basis sub-object */\nexport type KTX2BasisWriterOptions = WriterOptions & {\n ['ktx2-basis-writer']?: {\n useSRGB?: boolean;\n qualityLevel?: number;\n encodeUASTC?: boolean;\n mipmaps?: boolean;\n };\n};\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: Writer<ImageDataType, unknown, KTX2BasisWriterOptions> = {\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 ['ktx2-basis-writer']: {\n useSRGB: false,\n qualityLevel: 10,\n encodeUASTC: false,\n mipmaps: false\n }\n },\n\n encode: encodeKTX2BasisTexture\n};\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAEA,IAAAC,uBAAA,GAAAD,OAAA;AAgBO,IAAME,eAAuE,GAAG;EACrFC,IAAI,EAAE,6CAA6C;EACnDC,EAAE,EAAE,mBAAmB;EACvBC,MAAM,EAAE,UAAU;EAClBC,OAAO,EAAEC,gBAAO;EAEhBC,UAAU,EAAE,CAAC,MAAM,CAAC;EACpBC,OAAO,MAAAC,gBAAA,CAAAC,OAAA,MACJ,mBAAmB,EAAG;IACrBC,OAAO,EAAE,KAAK;IACdC,YAAY,EAAE,EAAE;IAChBC,WAAW,EAAE,KAAK;IAClBC,OAAO,EAAE;EACX,CAAC,CACF;EAEDC,MAAM,EAAEC;AACV,CAAC;AAACC,OAAA,CAAAhB,eAAA,GAAAA,eAAA"}
@@ -14,13 +14,14 @@ function encodeKTX2BasisTexture(_x) {
14
14
  function _encodeKTX2BasisTexture() {
15
15
  _encodeKTX2BasisTexture = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(image) {
16
16
  var options,
17
- _options$useSRGB,
17
+ _ref,
18
+ _ref$useSRGB,
18
19
  useSRGB,
19
- _options$qualityLevel,
20
+ _ref$qualityLevel,
20
21
  qualityLevel,
21
- _options$encodeUASTC,
22
+ _ref$encodeUASTC,
22
23
  encodeUASTC,
23
- _options$mipmaps,
24
+ _ref$mipmaps,
24
25
  mipmaps,
25
26
  _yield$loadBasisEncod,
26
27
  BasisEncoder,
@@ -33,7 +34,7 @@ function _encodeKTX2BasisTexture() {
33
34
  while (1) switch (_context.prev = _context.next) {
34
35
  case 0:
35
36
  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
+ _ref = (options === null || options === void 0 ? void 0 : options['ktx2-basis-writer']) || {}, _ref$useSRGB = _ref.useSRGB, useSRGB = _ref$useSRGB === void 0 ? false : _ref$useSRGB, _ref$qualityLevel = _ref.qualityLevel, qualityLevel = _ref$qualityLevel === void 0 ? 10 : _ref$qualityLevel, _ref$encodeUASTC = _ref.encodeUASTC, encodeUASTC = _ref$encodeUASTC === void 0 ? false : _ref$encodeUASTC, _ref$mipmaps = _ref.mipmaps, mipmaps = _ref$mipmaps === void 0 ? false : _ref$mipmaps;
37
38
  _context.next = 4;
38
39
  return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
39
40
  case 4:
@@ -1 +1 @@
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":";;;;;;;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAAsE,SAShDC,sBAAsBA,CAAAC,EAAA;EAAA,OAAAC,uBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,wBAAA;EAAAA,uBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAArC,SAAAC,QACLC,KAAoB;IAAA,IAAAC,OAAA;MAAAC,gBAAA;MAAAC,OAAA;MAAAC,qBAAA;MAAAC,YAAA;MAAAC,oBAAA;MAAAC,WAAA;MAAAC,gBAAA;MAAAC,OAAA;MAAAC,qBAAA;MAAAC,YAAA;MAAAC,YAAA;MAAAC,aAAA;MAAAC,cAAA;MAAAC,kBAAA;MAAAC,KAAA,GAAAtB,SAAA;IAAA,OAAAG,YAAA,CAAAD,OAAA,CAAAqB,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACpBpB,OAAY,GAAAe,KAAA,CAAAM,MAAA,QAAAN,KAAA,QAAAO,SAAA,GAAAP,KAAA,MAAG,CAAC,CAAC;UAAAd,gBAAA,GAGkED,OAAO,CAAnFE,OAAO,EAAPA,OAAO,GAAAD,gBAAA,cAAG,KAAK,GAAAA,gBAAA,EAAAE,qBAAA,GAA6DH,OAAO,CAAlEI,YAAY,EAAZA,YAAY,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA,EAAAE,oBAAA,GAA0CL,OAAO,CAA/CM,WAAW,EAAXA,WAAW,GAAAD,oBAAA,cAAG,KAAK,GAAAA,oBAAA,EAAAE,gBAAA,GAAqBP,OAAO,CAA1BQ,OAAO,EAAPA,OAAO,GAAAD,gBAAA,cAAG,KAAK,GAAAA,gBAAA;UAAAW,QAAA,CAAAE,IAAA;UAAA,OAClD,IAAAG,yCAAsB,EAACvB,OAAO,CAAC;QAAA;UAAAS,qBAAA,GAAAS,QAAA,CAAAM,IAAA;UAArDd,YAAY,GAAAD,qBAAA,CAAZC,YAAY;UACbC,YAAY,GAAG,IAAID,YAAY,CAAC,CAAC;UAAAQ,QAAA,CAAAC,IAAA;UAG/BP,aAAa,GAAG,IAAIa,UAAU,CAAC1B,KAAK,CAAC2B,KAAK,GAAG3B,KAAK,CAAC4B,MAAM,GAAG,CAAC,CAAC;UACpEhB,YAAY,CAACiB,iBAAiB,CAAC,IAAI,CAAC;UACpCjB,YAAY,CAACkB,4BAA4B,CAAC,IAAI,CAAC;UAC/ClB,YAAY,CAACmB,uBAAuB,CAAC,IAAI,CAAC;UAE1CnB,YAAY,CAACoB,mBAAmB,CAAC,CAAC,EAAEhC,KAAK,CAACiC,IAAI,EAAEjC,KAAK,CAAC2B,KAAK,EAAE3B,KAAK,CAAC4B,MAAM,EAAE,KAAK,CAAC;UACjFhB,YAAY,CAACsB,aAAa,CAAC/B,OAAO,CAAC;UACnCS,YAAY,CAACuB,UAAU,CAAChC,OAAO,CAAC;UAChCS,YAAY,CAACwB,eAAe,CAAC/B,YAAY,CAAC;UAC1CO,YAAY,CAACyB,QAAQ,CAAC9B,WAAW,CAAC;UAClCK,YAAY,CAAC0B,SAAS,CAAC7B,OAAO,CAAC;UAEzBK,cAAc,GAAGF,YAAY,CAAC2B,MAAM,CAAC1B,aAAa,CAAC;UAEnDE,kBAAkB,GAAGF,aAAa,CAAC2B,QAAQ,CAAC,CAAC,EAAE1B,cAAc,CAAC,CAAC2B,MAAM;UAAA,OAAAtB,QAAA,CAAAuB,MAAA,WACpE3B,kBAAkB;QAAA;UAAAI,QAAA,CAAAC,IAAA;UAAAD,QAAA,CAAAwB,EAAA,GAAAxB,QAAA;UAGzByB,OAAO,CAACC,KAAK,CAAC,6DAA6D,EAAA1B,QAAA,CAAAwB,EAAO,CAAC;UAAC,MAAAxB,QAAA,CAAAwB,EAAA;QAAA;UAAAxB,QAAA,CAAAC,IAAA;UAGpFR,YAAY,CAACkC,MAAM,CAAC,CAAC;UAAC,OAAA3B,QAAA,CAAA4B,MAAA;QAAA;QAAA;UAAA,OAAA5B,QAAA,CAAA6B,IAAA;MAAA;IAAA,GAAAjD,OAAA;EAAA,CAEzB;EAAA,OAAAP,uBAAA,CAAAC,KAAA,OAAAC,SAAA;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","_ref","_ref$useSRGB","useSRGB","_ref$qualityLevel","qualityLevel","_ref$encodeUASTC","encodeUASTC","_ref$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 {\n useSRGB = false,\n qualityLevel = 10,\n encodeUASTC = false,\n mipmaps = false\n } = options?.['ktx2-basis-writer'] || {};\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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"}