@loaders.gl/textures 3.4.13 → 3.4.15

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 (78) hide show
  1. package/dist/basis-nodejs-worker.js +3 -3
  2. package/dist/basis-worker.js +22 -30
  3. package/dist/compressed-texture-worker.js +22 -30
  4. package/dist/crunch-worker.js +21 -29
  5. package/dist/dist.min.js +19 -23
  6. package/dist/es5/basis-loader.js +6 -8
  7. package/dist/es5/basis-loader.js.map +1 -1
  8. package/dist/es5/bundle.js +1 -1
  9. package/dist/es5/bundle.js.map +1 -1
  10. package/dist/es5/compressed-texture-loader.js +21 -45
  11. package/dist/es5/compressed-texture-loader.js.map +1 -1
  12. package/dist/es5/compressed-texture-writer.js +2 -2
  13. package/dist/es5/compressed-texture-writer.js.map +1 -1
  14. package/dist/es5/crunch-loader.js +2 -2
  15. package/dist/es5/crunch-loader.js.map +1 -1
  16. package/dist/es5/index.js +17 -17
  17. package/dist/es5/index.js.map +1 -1
  18. package/dist/es5/ktx2-basis-writer-nodejs.js +1 -1
  19. package/dist/es5/ktx2-basis-writer.js +2 -2
  20. package/dist/es5/ktx2-basis-writer.js.map +1 -1
  21. package/dist/es5/lib/encoders/encode-ktx.js +1 -1
  22. package/dist/es5/lib/encoders/encode-ktx.js.map +1 -1
  23. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +32 -65
  24. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  25. package/dist/es5/lib/encoders/encode-texture.js +9 -29
  26. package/dist/es5/lib/encoders/encode-texture.js.map +1 -1
  27. package/dist/es5/lib/gl-extensions.js +1 -1
  28. package/dist/es5/lib/gl-extensions.js.map +1 -1
  29. package/dist/es5/lib/parsers/basis-module-loader.js +51 -161
  30. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  31. package/dist/es5/lib/parsers/crunch-module-loader.js +15 -57
  32. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  33. package/dist/es5/lib/parsers/parse-basis.js +73 -105
  34. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  35. package/dist/es5/lib/parsers/parse-crunch.js +55 -74
  36. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
  37. package/dist/es5/lib/parsers/parse-dds.js +23 -23
  38. package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
  39. package/dist/es5/lib/parsers/parse-ktx.js +14 -16
  40. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
  41. package/dist/es5/lib/parsers/parse-npy.js +25 -26
  42. package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
  43. package/dist/es5/lib/parsers/parse-pvr.js +21 -21
  44. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
  45. package/dist/es5/lib/texture-api/async-deep-map.js +32 -147
  46. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
  47. package/dist/es5/lib/texture-api/deep-load.js +6 -52
  48. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  49. package/dist/es5/lib/texture-api/generate-url.js +5 -6
  50. package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
  51. package/dist/es5/lib/texture-api/load-image-array.js +14 -62
  52. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
  53. package/dist/es5/lib/texture-api/load-image-cube.js +27 -93
  54. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
  55. package/dist/es5/lib/texture-api/load-image.js +35 -110
  56. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  57. package/dist/es5/lib/utils/extract-mipmap-images.js +8 -8
  58. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
  59. package/dist/es5/lib/utils/ktx-format-helper.js +1 -1
  60. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
  61. package/dist/es5/lib/utils/texture-formats.js +9 -21
  62. package/dist/es5/lib/utils/texture-formats.js.map +1 -1
  63. package/dist/es5/lib/utils/version.js +1 -1
  64. package/dist/es5/lib/utils/version.js.map +1 -1
  65. package/dist/es5/npy-loader.js +8 -29
  66. package/dist/es5/npy-loader.js.map +1 -1
  67. package/dist/es5/workers/crunch-worker.js +3 -6
  68. package/dist/es5/workers/crunch-worker.js.map +1 -1
  69. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js +22 -43
  70. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -1
  71. package/dist/es5/workers/ktx2-basis-writer-worker.js +22 -43
  72. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
  73. package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
  74. package/dist/esm/lib/utils/version.js +1 -1
  75. package/dist/ktx2-basis-writer-nodejs-worker.js +3 -3
  76. package/dist/ktx2-basis-writer-worker.js +22 -30
  77. package/dist/npy-worker.js +1 -1
  78. package/package.json +7 -7
@@ -1,192 +1,82 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.loadBasisEncoderModule = loadBasisEncoderModule;
8
7
  exports.loadBasisTrascoderModule = loadBasisTrascoderModule;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
8
  var _workerUtils = require("@loaders.gl/worker-utils");
13
- var VERSION = typeof "3.4.13" !== 'undefined' ? "3.4.13" : 'latest';
14
- var BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
15
- var BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");
16
- var loadBasisTranscoderPromise;
17
- function loadBasisTrascoderModule(_x) {
18
- return _loadBasisTrascoderModule.apply(this, arguments);
19
- }
20
- function _loadBasisTrascoderModule() {
21
- _loadBasisTrascoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
22
- var modules;
23
- return _regenerator.default.wrap(function _callee$(_context) {
24
- while (1) switch (_context.prev = _context.next) {
25
- case 0:
26
- modules = options.modules || {};
27
- if (!modules.basis) {
28
- _context.next = 3;
29
- break;
30
- }
31
- return _context.abrupt("return", modules.basis);
32
- case 3:
33
- loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
34
- _context.next = 6;
35
- return loadBasisTranscoderPromise;
36
- case 6:
37
- return _context.abrupt("return", _context.sent);
38
- case 7:
39
- case "end":
40
- return _context.stop();
41
- }
42
- }, _callee);
43
- }));
44
- return _loadBasisTrascoderModule.apply(this, arguments);
45
- }
46
- function loadBasisTrascoder(_x2) {
47
- return _loadBasisTrascoder.apply(this, arguments);
9
+ const VERSION = typeof "3.4.15" !== 'undefined' ? "3.4.15" : 'latest';
10
+ const BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
11
+ const BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");
12
+ let loadBasisTranscoderPromise;
13
+ async function loadBasisTrascoderModule(options) {
14
+ const modules = options.modules || {};
15
+ if (modules.basis) {
16
+ return modules.basis;
17
+ }
18
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
19
+ return await loadBasisTranscoderPromise;
48
20
  }
49
- function _loadBasisTrascoder() {
50
- _loadBasisTrascoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
51
- var BASIS, wasmBinary, _yield$Promise$all, _yield$Promise$all2;
52
- return _regenerator.default.wrap(function _callee2$(_context2) {
53
- while (1) switch (_context2.prev = _context2.next) {
54
- case 0:
55
- BASIS = null;
56
- wasmBinary = null;
57
- _context2.t0 = Promise;
58
- _context2.next = 5;
59
- return (0, _workerUtils.loadLibrary)('basis_transcoder.js', 'textures', options);
60
- case 5:
61
- _context2.t1 = _context2.sent;
62
- _context2.next = 8;
63
- return (0, _workerUtils.loadLibrary)('basis_transcoder.wasm', 'textures', options);
64
- case 8:
65
- _context2.t2 = _context2.sent;
66
- _context2.t3 = [_context2.t1, _context2.t2];
67
- _context2.next = 12;
68
- return _context2.t0.all.call(_context2.t0, _context2.t3);
69
- case 12:
70
- _yield$Promise$all = _context2.sent;
71
- _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
72
- BASIS = _yield$Promise$all2[0];
73
- wasmBinary = _yield$Promise$all2[1];
74
- BASIS = BASIS || globalThis.BASIS;
75
- _context2.next = 19;
76
- return initializeBasisTrascoderModule(BASIS, wasmBinary);
77
- case 19:
78
- return _context2.abrupt("return", _context2.sent);
79
- case 20:
80
- case "end":
81
- return _context2.stop();
82
- }
83
- }, _callee2);
84
- }));
85
- return _loadBasisTrascoder.apply(this, arguments);
21
+ async function loadBasisTrascoder(options) {
22
+ let BASIS = null;
23
+ let wasmBinary = null;
24
+ [BASIS, wasmBinary] = await Promise.all([await (0, _workerUtils.loadLibrary)('basis_transcoder.js', 'textures', options), await (0, _workerUtils.loadLibrary)('basis_transcoder.wasm', 'textures', options)]);
25
+ BASIS = BASIS || globalThis.BASIS;
26
+ return await initializeBasisTrascoderModule(BASIS, wasmBinary);
86
27
  }
87
28
  function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
88
- var options = {};
29
+ const options = {};
89
30
  if (wasmBinary) {
90
31
  options.wasmBinary = wasmBinary;
91
32
  }
92
- return new Promise(function (resolve) {
93
- BasisModule(options).then(function (module) {
94
- var BasisFile = module.BasisFile,
95
- initializeBasis = module.initializeBasis;
33
+ return new Promise(resolve => {
34
+ BasisModule(options).then(module => {
35
+ const {
36
+ BasisFile,
37
+ initializeBasis
38
+ } = module;
96
39
  initializeBasis();
97
40
  resolve({
98
- BasisFile: BasisFile
41
+ BasisFile
99
42
  });
100
43
  });
101
44
  });
102
45
  }
103
- var loadBasisEncoderPromise;
104
- function loadBasisEncoderModule(_x3) {
105
- return _loadBasisEncoderModule.apply(this, arguments);
106
- }
107
- function _loadBasisEncoderModule() {
108
- _loadBasisEncoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options) {
109
- var modules;
110
- return _regenerator.default.wrap(function _callee3$(_context3) {
111
- while (1) switch (_context3.prev = _context3.next) {
112
- case 0:
113
- modules = options.modules || {};
114
- if (!modules.basisEncoder) {
115
- _context3.next = 3;
116
- break;
117
- }
118
- return _context3.abrupt("return", modules.basisEncoder);
119
- case 3:
120
- loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
121
- _context3.next = 6;
122
- return loadBasisEncoderPromise;
123
- case 6:
124
- return _context3.abrupt("return", _context3.sent);
125
- case 7:
126
- case "end":
127
- return _context3.stop();
128
- }
129
- }, _callee3);
130
- }));
131
- return _loadBasisEncoderModule.apply(this, arguments);
132
- }
133
- function loadBasisEncoder(_x4) {
134
- return _loadBasisEncoder.apply(this, arguments);
46
+ let loadBasisEncoderPromise;
47
+ async function loadBasisEncoderModule(options) {
48
+ const modules = options.modules || {};
49
+ if (modules.basisEncoder) {
50
+ return modules.basisEncoder;
51
+ }
52
+ loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
53
+ return await loadBasisEncoderPromise;
135
54
  }
136
- function _loadBasisEncoder() {
137
- _loadBasisEncoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options) {
138
- var BASIS_ENCODER, wasmBinary, _yield$Promise$all3, _yield$Promise$all4;
139
- return _regenerator.default.wrap(function _callee4$(_context4) {
140
- while (1) switch (_context4.prev = _context4.next) {
141
- case 0:
142
- BASIS_ENCODER = null;
143
- wasmBinary = null;
144
- _context4.t0 = Promise;
145
- _context4.next = 5;
146
- return (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options);
147
- case 5:
148
- _context4.t1 = _context4.sent;
149
- _context4.next = 8;
150
- return (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options);
151
- case 8:
152
- _context4.t2 = _context4.sent;
153
- _context4.t3 = [_context4.t1, _context4.t2];
154
- _context4.next = 12;
155
- return _context4.t0.all.call(_context4.t0, _context4.t3);
156
- case 12:
157
- _yield$Promise$all3 = _context4.sent;
158
- _yield$Promise$all4 = (0, _slicedToArray2.default)(_yield$Promise$all3, 2);
159
- BASIS_ENCODER = _yield$Promise$all4[0];
160
- wasmBinary = _yield$Promise$all4[1];
161
- BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
162
- _context4.next = 19;
163
- return initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
164
- case 19:
165
- return _context4.abrupt("return", _context4.sent);
166
- case 20:
167
- case "end":
168
- return _context4.stop();
169
- }
170
- }, _callee4);
171
- }));
172
- return _loadBasisEncoder.apply(this, arguments);
55
+ async function loadBasisEncoder(options) {
56
+ let BASIS_ENCODER = null;
57
+ let wasmBinary = null;
58
+ [BASIS_ENCODER, wasmBinary] = await Promise.all([await (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options), await (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options)]);
59
+ BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
60
+ return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
173
61
  }
174
62
  function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
175
- var options = {};
63
+ const options = {};
176
64
  if (wasmBinary) {
177
65
  options.wasmBinary = wasmBinary;
178
66
  }
179
- return new Promise(function (resolve) {
180
- BasisEncoderModule(options).then(function (module) {
181
- var BasisFile = module.BasisFile,
182
- KTX2File = module.KTX2File,
183
- initializeBasis = module.initializeBasis,
184
- BasisEncoder = module.BasisEncoder;
67
+ return new Promise(resolve => {
68
+ BasisEncoderModule(options).then(module => {
69
+ const {
70
+ BasisFile,
71
+ KTX2File,
72
+ initializeBasis,
73
+ BasisEncoder
74
+ } = module;
185
75
  initializeBasis();
186
76
  resolve({
187
- BasisFile: BasisFile,
188
- KTX2File: KTX2File,
189
- BasisEncoder: BasisEncoder
77
+ BasisFile,
78
+ KTX2File,
79
+ BasisEncoder
190
80
  });
191
81
  });
192
82
  });
@@ -1 +1 @@
1
- {"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","VERSION","BASIS_CDN_ENCODER_WASM","concat","BASIS_CDN_ENCODER_JS","loadBasisTranscoderPromise","loadBasisTrascoderModule","_x","_loadBasisTrascoderModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","basis","abrupt","loadBasisTrascoder","sent","stop","_x2","_loadBasisTrascoder","_callee2","BASIS","wasmBinary","_yield$Promise$all","_yield$Promise$all2","_callee2$","_context2","t0","Promise","loadLibrary","t1","t2","t3","all","call","_slicedToArray2","globalThis","initializeBasisTrascoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","_x3","_loadBasisEncoderModule","_callee3","_callee3$","_context3","basisEncoder","loadBasisEncoder","_x4","_loadBasisEncoder","_callee4","BASIS_ENCODER","_yield$Promise$all3","_yield$Promise$all4","_callee4$","_context4","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;\nconst BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTrascoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTrascoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary('basis_transcoder.js', 'textures', options),\n await loadLibrary('basis_transcoder.wasm', 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTrascoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTrascoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),\n await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","VERSION","BASIS_CDN_ENCODER_WASM","concat","BASIS_CDN_ENCODER_JS","loadBasisTranscoderPromise","loadBasisTrascoderModule","options","modules","basis","loadBasisTrascoder","BASIS","wasmBinary","Promise","all","loadLibrary","globalThis","initializeBasisTrascoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","basisEncoder","loadBasisEncoder","BASIS_ENCODER","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'latest';\n\n// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;\nconst BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTrascoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTrascoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary('basis_transcoder.js', 'textures', options),\n await loadLibrary('basis_transcoder.wasm', 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTrascoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTrascoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),\n await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
@@ -1,67 +1,25 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.loadCrunchModule = loadCrunchModule;
8
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
7
  var _workerUtils = require("@loaders.gl/worker-utils");
11
- function loadCrunchModule(_x) {
12
- return _loadCrunchModule.apply(this, arguments);
8
+ async function loadCrunchModule(options) {
9
+ const modules = options.modules || {};
10
+ if (modules.crunch) {
11
+ return modules.crunch;
12
+ }
13
+ return loadCrunch(options);
13
14
  }
14
- function _loadCrunchModule() {
15
- _loadCrunchModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
16
- var modules;
17
- return _regenerator.default.wrap(function _callee$(_context) {
18
- while (1) switch (_context.prev = _context.next) {
19
- case 0:
20
- modules = options.modules || {};
21
- if (!modules.crunch) {
22
- _context.next = 3;
23
- break;
24
- }
25
- return _context.abrupt("return", modules.crunch);
26
- case 3:
27
- return _context.abrupt("return", loadCrunch(options));
28
- case 4:
29
- case "end":
30
- return _context.stop();
31
- }
32
- }, _callee);
33
- }));
34
- return _loadCrunchModule.apply(this, arguments);
35
- }
36
- var crunchModule;
37
- function loadCrunch(_x2) {
38
- return _loadCrunch.apply(this, arguments);
39
- }
40
- function _loadCrunch() {
41
- _loadCrunch = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
42
- var loadCrunchDecoder;
43
- return _regenerator.default.wrap(function _callee2$(_context2) {
44
- while (1) switch (_context2.prev = _context2.next) {
45
- case 0:
46
- if (!crunchModule) {
47
- _context2.next = 2;
48
- break;
49
- }
50
- return _context2.abrupt("return", crunchModule);
51
- case 2:
52
- _context2.next = 4;
53
- return (0, _workerUtils.loadLibrary)('crunch.js', 'textures', options);
54
- case 4:
55
- loadCrunchDecoder = _context2.sent;
56
- loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
57
- crunchModule = loadCrunchDecoder();
58
- return _context2.abrupt("return", crunchModule);
59
- case 8:
60
- case "end":
61
- return _context2.stop();
62
- }
63
- }, _callee2);
64
- }));
65
- return _loadCrunch.apply(this, arguments);
15
+ let crunchModule;
16
+ async function loadCrunch(options) {
17
+ if (crunchModule) {
18
+ return crunchModule;
19
+ }
20
+ let loadCrunchDecoder = await (0, _workerUtils.loadLibrary)('crunch.js', 'textures', options);
21
+ loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
22
+ crunchModule = loadCrunchDecoder();
23
+ return crunchModule;
66
24
  }
67
25
  //# sourceMappingURL=crunch-module-loader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","loadCrunchModule","_x","_loadCrunchModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","crunch","abrupt","loadCrunch","stop","crunchModule","_x2","_loadCrunch","_callee2","loadCrunchDecoder","_callee2$","_context2","loadLibrary","sent","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary('crunch.js', 'textures', options);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;\n crunchModule = loadCrunchDecoder();\n return crunchModule;\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAqD,SAO/BC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,kBAAA;EAAAA,iBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA/B,SAAAC,QAAgCC,OAAO;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACtCL,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;UAAA,KACjCA,OAAO,CAACM,MAAM;YAAAH,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAI,MAAA,WACTP,OAAO,CAACM,MAAM;QAAA;UAAA,OAAAH,QAAA,CAAAI,MAAA,WAGhBC,UAAU,CAACT,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAI,QAAA,CAAAM,IAAA;MAAA;IAAA,GAAAX,OAAA;EAAA,CAC3B;EAAA,OAAAP,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,IAAIiB,YAAY;AAAC,SAOFF,UAAUA,CAAAG,GAAA;EAAA,OAAAC,WAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAmB,YAAA;EAAAA,WAAA,OAAAlB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAzB,SAAAgB,SAA0Bd,OAAO;IAAA,IAAAe,iBAAA;IAAA,OAAAlB,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAc,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;QAAA;UAAA,KAC3BK,YAAY;YAAAM,SAAA,CAAAX,IAAA;YAAA;UAAA;UAAA,OAAAW,SAAA,CAAAT,MAAA,WACPG,YAAY;QAAA;UAAAM,SAAA,CAAAX,IAAA;UAAA,OAGS,IAAAY,wBAAW,EAAC,WAAW,EAAE,UAAU,EAAElB,OAAO,CAAC;QAAA;UAAvEe,iBAAiB,GAAAE,SAAA,CAAAE,IAAA;UAIrBJ,iBAAiB,GAAGA,iBAAiB,IAAIK,UAAU,CAACC,iBAAiB;UACrEV,YAAY,GAAGI,iBAAiB,CAAC,CAAC;UAAC,OAAAE,SAAA,CAAAT,MAAA,WAC5BG,YAAY;QAAA;QAAA;UAAA,OAAAM,SAAA,CAAAP,IAAA;MAAA;IAAA,GAAAI,QAAA;EAAA,CACpB;EAAA,OAAAD,WAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA"}
1
+ {"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","loadCrunchModule","options","modules","crunch","loadCrunch","crunchModule","loadCrunchDecoder","loadLibrary","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary('crunch.js', 'textures', options);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;\n crunchModule = loadCrunchDecoder();\n return crunchModule;\n}\n"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAOO,eAAeC,gBAAgBA,CAACC,OAAO,EAAgB;EAC5D,MAAMC,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;EACrC,IAAIA,OAAO,CAACC,MAAM,EAAE;IAClB,OAAOD,OAAO,CAACC,MAAM;EACvB;EAEA,OAAOC,UAAU,CAACH,OAAO,CAAC;AAC5B;AAEA,IAAII,YAAY;AAOhB,eAAeD,UAAUA,CAACH,OAAO,EAAE;EACjC,IAAII,YAAY,EAAE;IAChB,OAAOA,YAAY;EACrB;EAEA,IAAIC,iBAAiB,GAAG,MAAM,IAAAC,wBAAW,EAAC,WAAW,EAAE,UAAU,EAAEN,OAAO,CAAC;EAI3EK,iBAAiB,GAAGA,iBAAiB,IAAIE,UAAU,CAACC,iBAAiB;EACrEJ,YAAY,GAAGC,iBAAiB,CAAC,CAAC;EAClC,OAAOD,YAAY;AACrB"}
@@ -1,19 +1,15 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
3
  Object.defineProperty(exports, "__esModule", {
5
4
  value: true
6
5
  });
7
6
  exports.default = parseBasis;
8
7
  exports.selectSupportedBasisFormat = selectSupportedBasisFormat;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
8
  var _basisModuleLoader = require("./basis-module-loader");
13
9
  var _glExtensions = require("../gl-extensions");
14
10
  var _textureFormats = require("../utils/texture-formats");
15
11
  var _parseKtx = require("./parse-ktx");
16
- var OutputFormat = {
12
+ const OutputFormat = {
17
13
  etc1: {
18
14
  basisFormat: 0,
19
15
  compressed: true,
@@ -89,78 +85,47 @@ var OutputFormat = {
89
85
  compressed: false
90
86
  }
91
87
  };
92
- function parseBasis(_x, _x2) {
93
- return _parseBasis.apply(this, arguments);
94
- }
95
- function _parseBasis() {
96
- _parseBasis = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options) {
97
- var fileConstructors, _yield$loadBasisTrasc, BasisFile, _fileConstructors, _yield$loadBasisTrasc2, _BasisFile;
98
- return _regenerator.default.wrap(function _callee$(_context) {
99
- while (1) switch (_context.prev = _context.next) {
100
- case 0:
101
- if (!(options.basis.containerFormat === 'auto')) {
102
- _context.next = 11;
103
- break;
104
- }
105
- if (!(0, _parseKtx.isKTX)(data)) {
106
- _context.next = 6;
107
- break;
108
- }
109
- _context.next = 4;
110
- return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
111
- case 4:
112
- fileConstructors = _context.sent;
113
- return _context.abrupt("return", parseKTX2File(fileConstructors.KTX2File, data, options));
114
- case 6:
115
- _context.next = 8;
116
- return (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
117
- case 8:
118
- _yield$loadBasisTrasc = _context.sent;
119
- BasisFile = _yield$loadBasisTrasc.BasisFile;
120
- return _context.abrupt("return", parseBasisFile(BasisFile, data, options));
121
- case 11:
122
- _context.t0 = options.basis.module;
123
- _context.next = _context.t0 === 'encoder' ? 14 : _context.t0 === 'transcoder' ? 22 : 22;
124
- break;
125
- case 14:
126
- _context.next = 16;
127
- return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
128
- case 16:
129
- _fileConstructors = _context.sent;
130
- _context.t1 = options.basis.containerFormat;
131
- _context.next = _context.t1 === 'ktx2' ? 20 : _context.t1 === 'basis' ? 21 : 21;
132
- break;
133
- case 20:
134
- return _context.abrupt("return", parseKTX2File(_fileConstructors.KTX2File, data, options));
135
- case 21:
136
- return _context.abrupt("return", parseBasisFile(_fileConstructors.BasisFile, data, options));
137
- case 22:
138
- _context.next = 24;
139
- return (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
140
- case 24:
141
- _yield$loadBasisTrasc2 = _context.sent;
142
- _BasisFile = _yield$loadBasisTrasc2.BasisFile;
143
- return _context.abrupt("return", parseBasisFile(_BasisFile, data, options));
144
- case 27:
145
- case "end":
146
- return _context.stop();
88
+ async function parseBasis(data, options) {
89
+ if (options.basis.containerFormat === 'auto') {
90
+ if ((0, _parseKtx.isKTX)(data)) {
91
+ const fileConstructors = await (0, _basisModuleLoader.loadBasisEncoderModule)(options);
92
+ return parseKTX2File(fileConstructors.KTX2File, data, options);
93
+ }
94
+ const {
95
+ BasisFile
96
+ } = await (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
97
+ return parseBasisFile(BasisFile, data, options);
98
+ }
99
+ switch (options.basis.module) {
100
+ case 'encoder':
101
+ const fileConstructors = await (0, _basisModuleLoader.loadBasisEncoderModule)(options);
102
+ switch (options.basis.containerFormat) {
103
+ case 'ktx2':
104
+ return parseKTX2File(fileConstructors.KTX2File, data, options);
105
+ case 'basis':
106
+ default:
107
+ return parseBasisFile(fileConstructors.BasisFile, data, options);
147
108
  }
148
- }, _callee);
149
- }));
150
- return _parseBasis.apply(this, arguments);
109
+ case 'transcoder':
110
+ default:
111
+ const {
112
+ BasisFile
113
+ } = await (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
114
+ return parseBasisFile(BasisFile, data, options);
115
+ }
151
116
  }
152
117
  function parseBasisFile(BasisFile, data, options) {
153
- var basisFile = new BasisFile(new Uint8Array(data));
118
+ const basisFile = new BasisFile(new Uint8Array(data));
154
119
  try {
155
120
  if (!basisFile.startTranscoding()) {
156
121
  throw new Error('Failed to start basis transcoding');
157
122
  }
158
- var imageCount = basisFile.getNumImages();
159
- var images = [];
160
- for (var imageIndex = 0; imageIndex < imageCount; imageIndex++) {
161
- var levelsCount = basisFile.getNumLevels(imageIndex);
162
- var levels = [];
163
- for (var levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
123
+ const imageCount = basisFile.getNumImages();
124
+ const images = [];
125
+ for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {
126
+ const levelsCount = basisFile.getNumLevels(imageIndex);
127
+ const levels = [];
128
+ for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
164
129
  levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));
165
130
  }
166
131
  images.push(levels);
@@ -172,36 +137,37 @@ function parseBasisFile(BasisFile, data, options) {
172
137
  }
173
138
  }
174
139
  function transcodeImage(basisFile, imageIndex, levelIndex, options) {
175
- var width = basisFile.getImageWidth(imageIndex, levelIndex);
176
- var height = basisFile.getImageHeight(imageIndex, levelIndex);
177
- var hasAlpha = basisFile.getHasAlpha();
178
- var _getBasisOptions = getBasisOptions(options, hasAlpha),
179
- compressed = _getBasisOptions.compressed,
180
- format = _getBasisOptions.format,
181
- basisFormat = _getBasisOptions.basisFormat;
182
- var decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
183
- var decodedData = new Uint8Array(decodedSize);
140
+ const width = basisFile.getImageWidth(imageIndex, levelIndex);
141
+ const height = basisFile.getImageHeight(imageIndex, levelIndex);
142
+ const hasAlpha = basisFile.getHasAlpha();
143
+ const {
144
+ compressed,
145
+ format,
146
+ basisFormat
147
+ } = getBasisOptions(options, hasAlpha);
148
+ const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
149
+ const decodedData = new Uint8Array(decodedSize);
184
150
  if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
185
151
  throw new Error('failed to start Basis transcoding');
186
152
  }
187
153
  return {
188
- width: width,
189
- height: height,
154
+ width,
155
+ height,
190
156
  data: decodedData,
191
- compressed: compressed,
192
- format: format,
193
- hasAlpha: hasAlpha
157
+ compressed,
158
+ format,
159
+ hasAlpha
194
160
  };
195
161
  }
196
162
  function parseKTX2File(KTX2File, data, options) {
197
- var ktx2File = new KTX2File(new Uint8Array(data));
163
+ const ktx2File = new KTX2File(new Uint8Array(data));
198
164
  try {
199
165
  if (!ktx2File.startTranscoding()) {
200
166
  throw new Error('failed to start KTX2 transcoding');
201
167
  }
202
- var levelsCount = ktx2File.getLevels();
203
- var levels = [];
204
- for (var levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
168
+ const levelsCount = ktx2File.getLevels();
169
+ const levels = [];
170
+ for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
205
171
  levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
206
172
  break;
207
173
  }
@@ -212,42 +178,44 @@ function parseKTX2File(KTX2File, data, options) {
212
178
  }
213
179
  }
214
180
  function transcodeKTX2Image(ktx2File, levelIndex, options) {
215
- var _ktx2File$getImageLev = ktx2File.getImageLevelInfo(levelIndex, 0, 0),
216
- alphaFlag = _ktx2File$getImageLev.alphaFlag,
217
- height = _ktx2File$getImageLev.height,
218
- width = _ktx2File$getImageLev.width;
219
- var _getBasisOptions2 = getBasisOptions(options, alphaFlag),
220
- compressed = _getBasisOptions2.compressed,
221
- format = _getBasisOptions2.format,
222
- basisFormat = _getBasisOptions2.basisFormat;
223
- var decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
224
- var decodedData = new Uint8Array(decodedSize);
181
+ const {
182
+ alphaFlag,
183
+ height,
184
+ width
185
+ } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
186
+ const {
187
+ compressed,
188
+ format,
189
+ basisFormat
190
+ } = getBasisOptions(options, alphaFlag);
191
+ const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
192
+ const decodedData = new Uint8Array(decodedSize);
225
193
  if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
226
194
  throw new Error('Failed to transcode KTX2 image');
227
195
  }
228
196
  return {
229
- width: width,
230
- height: height,
197
+ width,
198
+ height,
231
199
  data: decodedData,
232
- compressed: compressed,
200
+ compressed,
233
201
  levelSize: decodedSize,
234
202
  hasAlpha: alphaFlag,
235
- format: format
203
+ format
236
204
  };
237
205
  }
238
206
  function getBasisOptions(options, hasAlpha) {
239
- var format = options && options.basis && options.basis.format;
207
+ let format = options && options.basis && options.basis.format;
240
208
  if (format === 'auto') {
241
209
  format = selectSupportedBasisFormat();
242
210
  }
243
- if ((0, _typeof2.default)(format) === 'object') {
211
+ if (typeof format === 'object') {
244
212
  format = hasAlpha ? format.alpha : format.noAlpha;
245
213
  }
246
214
  format = format.toLowerCase();
247
215
  return OutputFormat[format];
248
216
  }
249
217
  function selectSupportedBasisFormat() {
250
- var supportedFormats = (0, _textureFormats.getSupportedGPUTextureFormats)();
218
+ const supportedFormats = (0, _textureFormats.getSupportedGPUTextureFormats)();
251
219
  if (supportedFormats.has('astc')) {
252
220
  return 'astc-4x4';
253
221
  } else if (supportedFormats.has('dxt')) {