@loaders.gl/textures 4.0.0-alpha.17 → 4.0.0-alpha.19

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 (67) hide show
  1. package/dist/basis-worker-node.js +70 -71
  2. package/dist/basis-worker.js +46 -30
  3. package/dist/compressed-texture-worker.js +46 -30
  4. package/dist/crunch-worker.js +33 -17
  5. package/dist/dist.min.js +74 -37
  6. package/dist/es5/index.js +14 -0
  7. package/dist/es5/index.js.map +1 -1
  8. package/dist/es5/ktx2-basis-writer.js +4 -2
  9. package/dist/es5/ktx2-basis-writer.js.map +1 -1
  10. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +6 -5
  11. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  12. package/dist/es5/lib/parsers/basis-module-loader.js +26 -21
  13. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  14. package/dist/es5/lib/parsers/crunch-module-loader.js +6 -1
  15. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  16. package/dist/es5/lib/parsers/parse-basis.js +7 -7
  17. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  18. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  19. package/dist/es5/lib/utils/version.js +1 -1
  20. package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +1 -1
  21. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -1
  22. package/dist/esm/index.js +2 -0
  23. package/dist/esm/index.js.map +1 -1
  24. package/dist/esm/ktx2-basis-writer.js +6 -4
  25. package/dist/esm/ktx2-basis-writer.js.map +1 -1
  26. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +1 -1
  27. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -1
  28. package/dist/esm/lib/parsers/basis-module-loader.js +13 -10
  29. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  30. package/dist/esm/lib/parsers/crunch-module-loader.js +4 -1
  31. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
  32. package/dist/esm/lib/parsers/parse-basis.js +3 -3
  33. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  34. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  35. package/dist/esm/lib/utils/version.js +1 -1
  36. package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +1 -1
  37. package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -1
  38. package/dist/index.d.ts +2 -0
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +6 -1
  41. package/dist/ktx2-basis-writer-worker-node.js +73 -67
  42. package/dist/ktx2-basis-writer-worker.js +49 -26
  43. package/dist/ktx2-basis-writer.d.ts +8 -6
  44. package/dist/ktx2-basis-writer.d.ts.map +1 -1
  45. package/dist/ktx2-basis-writer.js +6 -4
  46. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
  47. package/dist/lib/encoders/encode-ktx2-basis-texture.js +1 -1
  48. package/dist/lib/parsers/basis-module-loader.d.ts +11 -1
  49. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
  50. package/dist/lib/parsers/basis-module-loader.js +21 -17
  51. package/dist/lib/parsers/crunch-module-loader.d.ts +4 -0
  52. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
  53. package/dist/lib/parsers/crunch-module-loader.js +6 -2
  54. package/dist/lib/parsers/parse-basis.js +2 -2
  55. package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
  56. package/dist/lib/texture-api/deep-load.js +0 -1
  57. package/dist/npy-worker.js +1 -1
  58. package/package.json +7 -7
  59. package/src/index.ts +4 -0
  60. package/src/ktx2-basis-writer.ts +14 -10
  61. package/src/lib/encoders/encode-ktx2-basis-texture.ts +6 -1
  62. package/src/lib/parsers/basis-module-loader.ts +19 -16
  63. package/src/lib/parsers/crunch-module-loader.ts +6 -1
  64. package/src/lib/parsers/parse-basis.ts +3 -3
  65. package/src/lib/texture-api/deep-load.ts +0 -1
  66. package/src/workers/ktx2-basis-writer-worker-node.ts +2 -2
  67. package/src/workers/ktx2-basis-writer-worker.ts +2 -2
@@ -1,9 +1,19 @@
1
+ export declare const BASIS_EXTERNAL_LIBRARIES: {
2
+ /** Basis transcoder, javascript wrapper part */
3
+ TRANSCODER: string;
4
+ /** Basis transcoder, compiled web assembly part */
5
+ TRANSCODER_WASM: string;
6
+ /** Basis encoder, javascript wrapper part */
7
+ ENCODER: string;
8
+ /** Basis encoder, compiled web assembly part */
9
+ ENCODER_WASM: string;
10
+ };
1
11
  /**
2
12
  * Loads wasm transcoder module
3
13
  * @param options
4
14
  * @returns {BasisFile} promise
5
15
  */
6
- export declare function loadBasisTrascoderModule(options: any): Promise<any>;
16
+ export declare function loadBasisTranscoderModule(options: any): Promise<any>;
7
17
  /**
8
18
  * Loads wasm encoder module
9
19
  * @param options
@@ -1 +1 @@
1
- {"version":3,"file":"basis-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/basis-module-loader.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,KAAA,gBAQrD;AA+CD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAQnD"}
1
+ {"version":3,"file":"basis-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/basis-module-loader.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,wBAAwB;IACnC,gDAAgD;;IAEhD,mDAAmD;;IAEnD,6CAA6C;;IAE7C,gDAAgD;;CAEjD,CAAC;AAIF;;;;GAIG;AACH,wBAAsB,yBAAyB,CAAC,OAAO,KAAA,gBAQtD;AA+CD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAQnD"}
@@ -1,44 +1,48 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadBasisEncoderModule = exports.loadBasisTrascoderModule = void 0;
4
- // __VERSION__ is injected by babel-plugin-version-inline
5
- // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
7
- // @ts-nocheck
3
+ exports.loadBasisEncoderModule = exports.loadBasisTranscoderModule = exports.BASIS_EXTERNAL_LIBRARIES = void 0;
8
4
  const worker_utils_1 = require("@loaders.gl/worker-utils");
9
- const BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;
10
- const BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;
5
+ exports.BASIS_EXTERNAL_LIBRARIES = {
6
+ /** Basis transcoder, javascript wrapper part */
7
+ TRANSCODER: 'basis_transcoder.js',
8
+ /** Basis transcoder, compiled web assembly part */
9
+ TRANSCODER_WASM: 'basis_transcoder.wasm',
10
+ /** Basis encoder, javascript wrapper part */
11
+ ENCODER: 'basis_encoder.js',
12
+ /** Basis encoder, compiled web assembly part */
13
+ ENCODER_WASM: 'basis_encoder.wasm'
14
+ };
11
15
  let loadBasisTranscoderPromise;
12
16
  /**
13
17
  * Loads wasm transcoder module
14
18
  * @param options
15
19
  * @returns {BasisFile} promise
16
20
  */
17
- async function loadBasisTrascoderModule(options) {
21
+ async function loadBasisTranscoderModule(options) {
18
22
  const modules = options.modules || {};
19
23
  if (modules.basis) {
20
24
  return modules.basis;
21
25
  }
22
- loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
26
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
23
27
  return await loadBasisTranscoderPromise;
24
28
  }
25
- exports.loadBasisTrascoderModule = loadBasisTrascoderModule;
29
+ exports.loadBasisTranscoderModule = loadBasisTranscoderModule;
26
30
  /**
27
31
  * Loads wasm transcoder module
28
32
  * @param options
29
33
  * @returns {BasisFile} promise
30
34
  */
31
- async function loadBasisTrascoder(options) {
35
+ async function loadBasisTranscoder(options) {
32
36
  let BASIS = null;
33
37
  let wasmBinary = null;
34
38
  [BASIS, wasmBinary] = await Promise.all([
35
- await (0, worker_utils_1.loadLibrary)('basis_transcoder.js', 'textures', options),
36
- await (0, worker_utils_1.loadLibrary)('basis_transcoder.wasm', 'textures', options)
39
+ await (0, worker_utils_1.loadLibrary)(exports.BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'textures', options),
40
+ await (0, worker_utils_1.loadLibrary)(exports.BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'textures', options)
37
41
  ]);
38
42
  // Depends on how import happened...
39
43
  // @ts-ignore TS2339: Property does not exist on type
40
44
  BASIS = BASIS || globalThis.BASIS;
41
- return await initializeBasisTrascoderModule(BASIS, wasmBinary);
45
+ return await initializeBasisTranscoderModule(BASIS, wasmBinary);
42
46
  }
43
47
  /**
44
48
  * Initialize wasm transcoder module
@@ -46,7 +50,7 @@ async function loadBasisTrascoder(options) {
46
50
  * @param wasmBinary - wasm part of the module
47
51
  * @returns {BasisFile} promise
48
52
  */
49
- function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
53
+ function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
50
54
  const options = {};
51
55
  if (wasmBinary) {
52
56
  options.wasmBinary = wasmBinary;
@@ -84,8 +88,8 @@ async function loadBasisEncoder(options) {
84
88
  let BASIS_ENCODER = null;
85
89
  let wasmBinary = null;
86
90
  [BASIS_ENCODER, wasmBinary] = await Promise.all([
87
- await (0, worker_utils_1.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options),
88
- await (0, worker_utils_1.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options)
91
+ await (0, worker_utils_1.loadLibrary)(exports.BASIS_EXTERNAL_LIBRARIES.ENCODER, 'textures', options),
92
+ await (0, worker_utils_1.loadLibrary)(exports.BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'textures', options)
89
93
  ]);
90
94
  // Depends on how import happened...
91
95
  // @ts-ignore TS2339: Property does not exist on type
@@ -1,3 +1,7 @@
1
+ export declare const CRUNCH_EXTERNAL_LIBRARIES: {
2
+ /** Crunch decoder library. It is used as dynamically imported script */
3
+ DECODER: string;
4
+ };
1
5
  /**
2
6
  * Load crunch decoder module
3
7
  * @param options - loader options
@@ -1 +1 @@
1
- {"version":3,"file":"crunch-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/crunch-module-loader.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC,CAO5D"}
1
+ {"version":3,"file":"crunch-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/crunch-module-loader.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,yBAAyB;IACpC,wEAAwE;;CAEzE,CAAC;AAEF;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC,CAO5D"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadCrunchModule = void 0;
3
+ exports.loadCrunchModule = exports.CRUNCH_EXTERNAL_LIBRARIES = void 0;
4
4
  // @ts-nocheck
5
5
  const worker_utils_1 = require("@loaders.gl/worker-utils");
6
+ exports.CRUNCH_EXTERNAL_LIBRARIES = {
7
+ /** Crunch decoder library. It is used as dynamically imported script */
8
+ DECODER: 'crunch.js'
9
+ };
6
10
  /**
7
11
  * Load crunch decoder module
8
12
  * @param options - loader options
@@ -26,7 +30,7 @@ async function loadCrunch(options) {
26
30
  if (crunchModule) {
27
31
  return crunchModule;
28
32
  }
29
- let loadCrunchDecoder = await (0, worker_utils_1.loadLibrary)('crunch.js', 'textures', options);
33
+ let loadCrunchDecoder = await (0, worker_utils_1.loadLibrary)(exports.CRUNCH_EXTERNAL_LIBRARIES.DECODER, 'textures', options);
30
34
  // Depends on how import happened...
31
35
  // @ts-ignore TS2339: Property does not exist on type
32
36
  loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
@@ -60,7 +60,7 @@ async function parseBasis(data, options) {
60
60
  const fileConstructors = await (0, basis_module_loader_1.loadBasisEncoderModule)(options);
61
61
  return parseKTX2File(fileConstructors.KTX2File, data, options);
62
62
  }
63
- const { BasisFile } = await (0, basis_module_loader_1.loadBasisTrascoderModule)(options);
63
+ const { BasisFile } = await (0, basis_module_loader_1.loadBasisTranscoderModule)(options);
64
64
  return parseBasisFile(BasisFile, data, options);
65
65
  }
66
66
  switch (options.basis.module) {
@@ -75,7 +75,7 @@ async function parseBasis(data, options) {
75
75
  }
76
76
  case 'transcoder':
77
77
  default:
78
- const { BasisFile } = await (0, basis_module_loader_1.loadBasisTrascoderModule)(options);
78
+ const { BasisFile } = await (0, basis_module_loader_1.loadBasisTranscoderModule)(options);
79
79
  return parseBasisFile(BasisFile, data, options);
80
80
  }
81
81
  }
@@ -1 +1 @@
1
- {"version":3,"file":"deep-load.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/deep-load.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAErF,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,oBAEhF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAK7F"}
1
+ {"version":3,"file":"deep-load.d.ts","sourceRoot":"","sources":["../../../src/lib/texture-api/deep-load.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC9C,MAAM,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAErF,wBAAsB,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,oBAEhF;AAED,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAI7F"}
@@ -8,7 +8,6 @@ async function deepLoad(urlTree, load, options) {
8
8
  }
9
9
  exports.deepLoad = deepLoad;
10
10
  async function shallowLoad(url, load, options) {
11
- // console.error('loading', url);
12
11
  const response = await fetch(url, options.fetch);
13
12
  const arrayBuffer = await response.arrayBuffer();
14
13
  return await load(arrayBuffer, options);
@@ -1,6 +1,6 @@
1
1
  (() => {
2
2
  // src/lib/utils/version.ts
3
- var VERSION = true ? "4.0.0-alpha.17" : "beta";
3
+ var VERSION = true ? "4.0.0-alpha.19" : "beta";
4
4
 
5
5
  // src/lib/parsers/parse-npy.ts
6
6
  var a = new Uint32Array([305419896]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loaders.gl/textures",
3
- "version": "4.0.0-alpha.17",
3
+ "version": "4.0.0-alpha.19",
4
4
  "description": "Framework-independent loaders for compressed and super compressed (basis) textures ",
5
5
  "license": "MIT",
6
6
  "publishConfig": {
@@ -45,15 +45,15 @@
45
45
  "build-crunch-worker": "esbuild src/workers/crunch-worker.ts --outfile=dist/crunch-worker.js --target=esnext --bundle --define:__VERSION__=\\\"$npm_package_version\\\""
46
46
  },
47
47
  "dependencies": {
48
- "@loaders.gl/images": "4.0.0-alpha.17",
49
- "@loaders.gl/loader-utils": "4.0.0-alpha.17",
50
- "@loaders.gl/schema": "4.0.0-alpha.17",
51
- "@loaders.gl/worker-utils": "4.0.0-alpha.17",
48
+ "@loaders.gl/images": "4.0.0-alpha.19",
49
+ "@loaders.gl/loader-utils": "4.0.0-alpha.19",
50
+ "@loaders.gl/schema": "4.0.0-alpha.19",
51
+ "@loaders.gl/worker-utils": "4.0.0-alpha.19",
52
52
  "ktx-parse": "^0.0.4",
53
53
  "texture-compressor": "^1.0.2"
54
54
  },
55
55
  "devDependencies": {
56
- "@loaders.gl/polyfills": "4.0.0-alpha.17"
56
+ "@loaders.gl/polyfills": "4.0.0-alpha.19"
57
57
  },
58
- "gitHead": "68a743e2460cc89bf89edabfd08b395380d7d10c"
58
+ "gitHead": "2ca50ec4e1d312c124eb7c93c60ab6fd17ee833e"
59
59
  }
package/src/index.ts CHANGED
@@ -10,6 +10,10 @@ export {CompressedTextureLoader, CompressedTextureWorkerLoader} from './compress
10
10
  export {CrunchLoader} from './crunch-loader';
11
11
  export {NPYLoader, NPYWorkerLoader} from './npy-loader';
12
12
 
13
+ // Module constants
14
+ export {BASIS_EXTERNAL_LIBRARIES} from './lib/parsers/basis-module-loader';
15
+ export {CRUNCH_EXTERNAL_LIBRARIES} from './lib/parsers/crunch-module-loader';
16
+
13
17
  // Writers
14
18
  export {CompressedTextureWriter} from './compressed-texture-writer';
15
19
  export {KTX2BasisWriter} from './ktx2-basis-writer';
@@ -1,16 +1,18 @@
1
1
  // loaders.gl, MIT license
2
2
 
3
- import type {Writer} from '@loaders.gl/loader-utils';
3
+ import type {Writer, WriterOptions} from '@loaders.gl/loader-utils';
4
4
  import {VERSION} from './lib/utils/version';
5
5
  import type {ImageDataType} from '@loaders.gl/images';
6
6
  import {encodeKTX2BasisTexture} from './lib/encoders/encode-ktx2-basis-texture';
7
7
 
8
8
  /** @todo should be in basis sub-object */
9
- export type KTX2BasisWriterOptions = {
10
- useSRGB?: boolean;
11
- qualityLevel?: number;
12
- encodeUASTC?: boolean;
13
- mipmaps?: boolean;
9
+ export type KTX2BasisWriterOptions = WriterOptions & {
10
+ ['ktx2-basis-writer']: {
11
+ useSRGB?: boolean;
12
+ qualityLevel?: number;
13
+ encodeUASTC?: boolean;
14
+ mipmaps?: boolean;
15
+ };
14
16
  };
15
17
 
16
18
  /**
@@ -25,10 +27,12 @@ export const KTX2BasisWriter: Writer<ImageDataType, unknown, KTX2BasisWriterOpti
25
27
 
26
28
  extensions: ['ktx2'],
27
29
  options: {
28
- useSRGB: false,
29
- qualityLevel: 10,
30
- encodeUASTC: false,
31
- mipmaps: false
30
+ ['ktx2-basis-writer']: {
31
+ useSRGB: false,
32
+ qualityLevel: 10,
33
+ encodeUASTC: false,
34
+ mipmaps: false
35
+ }
32
36
  },
33
37
 
34
38
  encode: encodeKTX2BasisTexture
@@ -13,7 +13,12 @@ export async function encodeKTX2BasisTexture(
13
13
  options: any = {}
14
14
  ): Promise<ArrayBuffer> {
15
15
  // TODO remove default values after writer options will be normalized like it done in load module.
16
- const {useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false} = options;
16
+ const {
17
+ useSRGB = false,
18
+ qualityLevel = 10,
19
+ encodeUASTC = false,
20
+ mipmaps = false
21
+ } = options?.['ktx2-basis-writer'] || {};
17
22
  const {BasisEncoder} = await loadBasisEncoderModule(options);
18
23
  const basisEncoder = new BasisEncoder();
19
24
 
@@ -1,12 +1,15 @@
1
- // __VERSION__ is injected by babel-plugin-version-inline
2
- // @ts-ignore TS2304: Cannot find name '__VERSION__'.
3
- const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
4
-
5
- // @ts-nocheck
6
1
  import {loadLibrary} from '@loaders.gl/worker-utils';
7
2
 
8
- const BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;
9
- const BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;
3
+ export const BASIS_EXTERNAL_LIBRARIES = {
4
+ /** Basis transcoder, javascript wrapper part */
5
+ TRANSCODER: 'basis_transcoder.js',
6
+ /** Basis transcoder, compiled web assembly part */
7
+ TRANSCODER_WASM: 'basis_transcoder.wasm',
8
+ /** Basis encoder, javascript wrapper part */
9
+ ENCODER: 'basis_encoder.js',
10
+ /** Basis encoder, compiled web assembly part */
11
+ ENCODER_WASM: 'basis_encoder.wasm'
12
+ };
10
13
 
11
14
  let loadBasisTranscoderPromise;
12
15
 
@@ -15,13 +18,13 @@ let loadBasisTranscoderPromise;
15
18
  * @param options
16
19
  * @returns {BasisFile} promise
17
20
  */
18
- export async function loadBasisTrascoderModule(options) {
21
+ export async function loadBasisTranscoderModule(options) {
19
22
  const modules = options.modules || {};
20
23
  if (modules.basis) {
21
24
  return modules.basis;
22
25
  }
23
26
 
24
- loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
27
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTranscoder(options);
25
28
  return await loadBasisTranscoderPromise;
26
29
  }
27
30
 
@@ -30,19 +33,19 @@ export async function loadBasisTrascoderModule(options) {
30
33
  * @param options
31
34
  * @returns {BasisFile} promise
32
35
  */
33
- async function loadBasisTrascoder(options) {
36
+ async function loadBasisTranscoder(options) {
34
37
  let BASIS = null;
35
38
  let wasmBinary = null;
36
39
 
37
40
  [BASIS, wasmBinary] = await Promise.all([
38
- await loadLibrary('basis_transcoder.js', 'textures', options),
39
- await loadLibrary('basis_transcoder.wasm', 'textures', options)
41
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, 'textures', options),
42
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, 'textures', options)
40
43
  ]);
41
44
 
42
45
  // Depends on how import happened...
43
46
  // @ts-ignore TS2339: Property does not exist on type
44
47
  BASIS = BASIS || globalThis.BASIS;
45
- return await initializeBasisTrascoderModule(BASIS, wasmBinary);
48
+ return await initializeBasisTranscoderModule(BASIS, wasmBinary);
46
49
  }
47
50
 
48
51
  /**
@@ -51,7 +54,7 @@ async function loadBasisTrascoder(options) {
51
54
  * @param wasmBinary - wasm part of the module
52
55
  * @returns {BasisFile} promise
53
56
  */
54
- function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
57
+ function initializeBasisTranscoderModule(BasisModule, wasmBinary) {
55
58
  const options: {wasmBinary?} = {};
56
59
 
57
60
  if (wasmBinary) {
@@ -95,8 +98,8 @@ async function loadBasisEncoder(options) {
95
98
  let wasmBinary = null;
96
99
 
97
100
  [BASIS_ENCODER, wasmBinary] = await Promise.all([
98
- await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),
99
- await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)
101
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, 'textures', options),
102
+ await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, 'textures', options)
100
103
  ]);
101
104
 
102
105
  // Depends on how import happened...
@@ -1,6 +1,11 @@
1
1
  // @ts-nocheck
2
2
  import {loadLibrary} from '@loaders.gl/worker-utils';
3
3
 
4
+ export const CRUNCH_EXTERNAL_LIBRARIES = {
5
+ /** Crunch decoder library. It is used as dynamically imported script */
6
+ DECODER: 'crunch.js'
7
+ };
8
+
4
9
  /**
5
10
  * Load crunch decoder module
6
11
  * @param options - loader options
@@ -27,7 +32,7 @@ async function loadCrunch(options) {
27
32
  return crunchModule;
28
33
  }
29
34
 
30
- let loadCrunchDecoder = await loadLibrary('crunch.js', 'textures', options);
35
+ let loadCrunchDecoder = await loadLibrary(CRUNCH_EXTERNAL_LIBRARIES.DECODER, 'textures', options);
31
36
 
32
37
  // Depends on how import happened...
33
38
  // @ts-ignore TS2339: Property does not exist on type
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable indent */
2
2
  import type {TextureLevel} from '@loaders.gl/schema';
3
- import {loadBasisEncoderModule, loadBasisTrascoderModule} from './basis-module-loader';
3
+ import {loadBasisEncoderModule, loadBasisTranscoderModule} from './basis-module-loader';
4
4
  import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';
5
5
  import {getSupportedGPUTextureFormats} from '../utils/texture-formats';
6
6
  import {isKTX} from './parse-ktx';
@@ -86,7 +86,7 @@ export default async function parseBasis(data: ArrayBuffer, options): Promise<Te
86
86
  const fileConstructors = await loadBasisEncoderModule(options);
87
87
  return parseKTX2File(fileConstructors.KTX2File, data, options);
88
88
  }
89
- const {BasisFile} = await loadBasisTrascoderModule(options);
89
+ const {BasisFile} = await loadBasisTranscoderModule(options);
90
90
  return parseBasisFile(BasisFile, data, options);
91
91
  }
92
92
  switch (options.basis.module) {
@@ -101,7 +101,7 @@ export default async function parseBasis(data: ArrayBuffer, options): Promise<Te
101
101
  }
102
102
  case 'transcoder':
103
103
  default:
104
- const {BasisFile} = await loadBasisTrascoderModule(options);
104
+ const {BasisFile} = await loadBasisTranscoderModule(options);
105
105
  return parseBasisFile(BasisFile, data, options);
106
106
  }
107
107
  }
@@ -9,7 +9,6 @@ export async function deepLoad(urlTree: unknown, load: Load, options: LoadOption
9
9
  }
10
10
 
11
11
  export async function shallowLoad(url: string, load: Load, options: LoadOptions): Promise<any> {
12
- // console.error('loading', url);
13
12
  const response = await fetch(url, options.fetch);
14
13
  const arrayBuffer = await response.arrayBuffer();
15
14
  return await load(arrayBuffer, options);
@@ -1,7 +1,7 @@
1
1
  // Polyfills increases the bundle size significantly. Use it for NodeJS worker only
2
2
  import '@loaders.gl/polyfills';
3
3
  import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';
4
- import {KTX2BasisWriter} from '../ktx2-basis-writer';
4
+ import {KTX2BasisWriter, KTX2BasisWriterOptions} from '../ktx2-basis-writer';
5
5
 
6
6
  (() => {
7
7
  // Check that we are actually in a worker thread
@@ -14,7 +14,7 @@ import {KTX2BasisWriter} from '../ktx2-basis-writer';
14
14
  case 'process':
15
15
  try {
16
16
  const {input, options} = payload;
17
- const result = await KTX2BasisWriter.encode?.(input, options);
17
+ const result = await KTX2BasisWriter.encode?.(input, options as KTX2BasisWriterOptions);
18
18
  WorkerBody.postMessage('done', {result});
19
19
  } catch (error) {
20
20
  const message = error instanceof Error ? error.message : '';
@@ -1,5 +1,5 @@
1
1
  import {WorkerBody, WorkerMessagePayload} from '@loaders.gl/worker-utils';
2
- import {KTX2BasisWriter} from '../ktx2-basis-writer';
2
+ import {KTX2BasisWriter, KTX2BasisWriterOptions} from '../ktx2-basis-writer';
3
3
 
4
4
  (() => {
5
5
  // Check that we are actually in a worker thread
@@ -12,7 +12,7 @@ import {KTX2BasisWriter} from '../ktx2-basis-writer';
12
12
  case 'process':
13
13
  try {
14
14
  const {input, options} = payload;
15
- const result = await KTX2BasisWriter.encode?.(input, options);
15
+ const result = await KTX2BasisWriter.encode?.(input, options as KTX2BasisWriterOptions);
16
16
  WorkerBody.postMessage('done', {result});
17
17
  } catch (error) {
18
18
  const message = error instanceof Error ? error.message : '';