@loaders.gl/textures 4.0.0-beta.1 → 4.0.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (235) hide show
  1. package/dist/{esm/basis-loader.js → basis-loader.js} +2 -2
  2. package/dist/basis-loader.js.map +1 -0
  3. package/dist/basis-worker-node.js +5108 -3344
  4. package/dist/basis-worker.js +105 -31
  5. package/dist/{esm/compressed-texture-loader.js → compressed-texture-loader.js} +3 -3
  6. package/dist/compressed-texture-loader.js.map +1 -0
  7. package/dist/compressed-texture-worker.js +158 -34
  8. package/dist/{esm/compressed-texture-writer.js → compressed-texture-writer.js} +2 -2
  9. package/dist/compressed-texture-writer.js.map +1 -0
  10. package/dist/{esm/crunch-loader.js → crunch-loader.js} +1 -1
  11. package/dist/crunch-loader.js.map +1 -0
  12. package/dist/crunch-worker.js +60 -26
  13. package/dist/{dist.min.js → dist.dev.js} +953 -1100
  14. package/dist/index.cjs +1360 -0
  15. package/dist/index.js +31 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/ktx2-basis-writer-worker-node.js +5031 -3318
  18. package/dist/ktx2-basis-writer-worker.js +52 -26
  19. package/dist/{esm/ktx2-basis-writer.js → ktx2-basis-writer.js} +2 -2
  20. package/dist/ktx2-basis-writer.js.map +1 -0
  21. package/dist/lib/encoders/encode-ktx.js.map +1 -0
  22. package/dist/{esm/lib → lib}/encoders/encode-ktx2-basis-texture.js +1 -1
  23. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  24. package/dist/lib/encoders/encode-texture.js.map +1 -0
  25. package/dist/lib/gl-extensions.js.map +1 -0
  26. package/dist/lib/parsers/basis-module-loader.js.map +1 -0
  27. package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
  28. package/dist/{esm/lib → lib}/parsers/parse-basis.js +4 -4
  29. package/dist/lib/parsers/parse-basis.js.map +1 -0
  30. package/dist/{esm/lib → lib}/parsers/parse-compressed-texture.js +3 -3
  31. package/dist/lib/parsers/parse-compressed-texture.js.map +1 -0
  32. package/dist/{esm/lib → lib}/parsers/parse-crunch.js +4 -4
  33. package/dist/lib/parsers/parse-crunch.js.map +1 -0
  34. package/dist/{esm/lib → lib}/parsers/parse-dds.js +3 -3
  35. package/dist/lib/parsers/parse-dds.js.map +1 -0
  36. package/dist/{esm/lib → lib}/parsers/parse-ktx.js +2 -2
  37. package/dist/lib/parsers/parse-ktx.js.map +1 -0
  38. package/dist/lib/parsers/parse-npy.d.ts.map +1 -1
  39. package/dist/{esm/lib → lib}/parsers/parse-npy.js +1 -1
  40. package/dist/lib/parsers/parse-npy.js.map +1 -0
  41. package/dist/{esm/lib → lib}/parsers/parse-pvr.js +2 -2
  42. package/dist/lib/parsers/parse-pvr.js.map +1 -0
  43. package/dist/lib/texture-api/async-deep-map.js.map +1 -0
  44. package/dist/{esm/lib → lib}/texture-api/deep-load.js +1 -1
  45. package/dist/lib/texture-api/deep-load.js.map +1 -0
  46. package/dist/{esm/lib → lib}/texture-api/generate-url.js +1 -1
  47. package/dist/lib/texture-api/generate-url.js.map +1 -0
  48. package/dist/{esm/lib → lib}/texture-api/load-image-array.js +2 -2
  49. package/dist/lib/texture-api/load-image-array.js.map +1 -0
  50. package/dist/{esm/lib → lib}/texture-api/load-image-cube.js +2 -2
  51. package/dist/lib/texture-api/load-image-cube.js.map +1 -0
  52. package/dist/{esm/lib → lib}/texture-api/load-image.js +2 -2
  53. package/dist/lib/texture-api/load-image.js.map +1 -0
  54. package/dist/lib/texture-api/texture-api-types.js.map +1 -0
  55. package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
  56. package/dist/{esm/lib → lib}/utils/ktx-format-helper.js +1 -1
  57. package/dist/lib/utils/ktx-format-helper.js.map +1 -0
  58. package/dist/{esm/lib → lib}/utils/texture-formats.js +1 -1
  59. package/dist/lib/utils/texture-formats.js.map +1 -0
  60. package/dist/lib/utils/version.js +2 -0
  61. package/dist/lib/utils/version.js.map +1 -0
  62. package/dist/libs/basis_encoder.js +5435 -19
  63. package/dist/libs/basis_encoder.js.map +1 -0
  64. package/dist/libs/basis_transcoder.js +2523 -20
  65. package/dist/libs/basis_transcoder.js.map +1 -0
  66. package/dist/libs/crunch.js +10043 -129
  67. package/dist/libs/crunch.js.map +1 -0
  68. package/dist/{esm/npy-loader.js → npy-loader.js} +2 -2
  69. package/dist/npy-loader.js.map +1 -0
  70. package/dist/npy-worker.js +17 -4
  71. package/dist/types.js.map +1 -0
  72. package/dist/{esm/workers → workers}/basis-worker-node.js +1 -1
  73. package/dist/workers/basis-worker-node.js.map +1 -0
  74. package/dist/{esm/workers → workers}/basis-worker.js +1 -1
  75. package/dist/workers/basis-worker.js.map +1 -0
  76. package/dist/workers/compressed-texture-worker.js +4 -0
  77. package/dist/workers/compressed-texture-worker.js.map +1 -0
  78. package/dist/{esm/workers → workers}/crunch-worker.js +2 -2
  79. package/dist/workers/crunch-worker.js.map +1 -0
  80. package/dist/{esm/workers → workers}/ktx2-basis-writer-worker-node.js +1 -1
  81. package/dist/workers/ktx2-basis-writer-worker-node.js.map +1 -0
  82. package/dist/{esm/workers → workers}/ktx2-basis-writer-worker.js +1 -1
  83. package/dist/workers/ktx2-basis-writer-worker.js.map +1 -0
  84. package/dist/{esm/workers → workers}/npy-worker.js +1 -1
  85. package/dist/workers/npy-worker.js.map +1 -0
  86. package/package.json +19 -11
  87. package/src/lib/parsers/parse-npy.ts +0 -2
  88. package/dist/bundle.d.ts +0 -2
  89. package/dist/bundle.d.ts.map +0 -1
  90. package/dist/es5/basis-loader.js +0 -37
  91. package/dist/es5/basis-loader.js.map +0 -1
  92. package/dist/es5/bundle.js +0 -6
  93. package/dist/es5/bundle.js.map +0 -1
  94. package/dist/es5/compressed-texture-loader.js +0 -74
  95. package/dist/es5/compressed-texture-loader.js.map +0 -1
  96. package/dist/es5/compressed-texture-writer.js +0 -28
  97. package/dist/es5/compressed-texture-writer.js.map +0 -1
  98. package/dist/es5/crunch-loader.js +0 -24
  99. package/dist/es5/crunch-loader.js.map +0 -1
  100. package/dist/es5/index.js +0 -145
  101. package/dist/es5/index.js.map +0 -1
  102. package/dist/es5/ktx2-basis-writer.js +0 -26
  103. package/dist/es5/ktx2-basis-writer.js.map +0 -1
  104. package/dist/es5/lib/encoders/encode-ktx.js +0 -12
  105. package/dist/es5/lib/encoders/encode-ktx.js.map +0 -1
  106. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +0 -75
  107. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
  108. package/dist/es5/lib/encoders/encode-texture.js +0 -38
  109. package/dist/es5/lib/encoders/encode-texture.js.map +0 -1
  110. package/dist/es5/lib/gl-extensions.js +0 -68
  111. package/dist/es5/lib/gl-extensions.js.map +0 -1
  112. package/dist/es5/lib/parsers/basis-module-loader.js +0 -199
  113. package/dist/es5/lib/parsers/basis-module-loader.js.map +0 -1
  114. package/dist/es5/lib/parsers/crunch-module-loader.js +0 -72
  115. package/dist/es5/lib/parsers/crunch-module-loader.js.map +0 -1
  116. package/dist/es5/lib/parsers/parse-basis.js +0 -270
  117. package/dist/es5/lib/parsers/parse-basis.js.map +0 -1
  118. package/dist/es5/lib/parsers/parse-compressed-texture.js +0 -22
  119. package/dist/es5/lib/parsers/parse-compressed-texture.js.map +0 -1
  120. package/dist/es5/lib/parsers/parse-crunch.js +0 -100
  121. package/dist/es5/lib/parsers/parse-crunch.js.map +0 -1
  122. package/dist/es5/lib/parsers/parse-dds.js +0 -84
  123. package/dist/es5/lib/parsers/parse-dds.js.map +0 -1
  124. package/dist/es5/lib/parsers/parse-ktx.js +0 -34
  125. package/dist/es5/lib/parsers/parse-ktx.js.map +0 -1
  126. package/dist/es5/lib/parsers/parse-npy.js +0 -70
  127. package/dist/es5/lib/parsers/parse-npy.js.map +0 -1
  128. package/dist/es5/lib/parsers/parse-pvr.js +0 -161
  129. package/dist/es5/lib/parsers/parse-pvr.js.map +0 -1
  130. package/dist/es5/lib/texture-api/async-deep-map.js +0 -156
  131. package/dist/es5/lib/texture-api/async-deep-map.js.map +0 -1
  132. package/dist/es5/lib/texture-api/deep-load.js +0 -63
  133. package/dist/es5/lib/texture-api/deep-load.js.map +0 -1
  134. package/dist/es5/lib/texture-api/generate-url.js +0 -20
  135. package/dist/es5/lib/texture-api/generate-url.js.map +0 -1
  136. package/dist/es5/lib/texture-api/load-image-array.js +0 -75
  137. package/dist/es5/lib/texture-api/load-image-array.js.map +0 -1
  138. package/dist/es5/lib/texture-api/load-image-cube.js +0 -136
  139. package/dist/es5/lib/texture-api/load-image-cube.js.map +0 -1
  140. package/dist/es5/lib/texture-api/load-image.js +0 -129
  141. package/dist/es5/lib/texture-api/load-image.js.map +0 -1
  142. package/dist/es5/lib/texture-api/texture-api-types.js +0 -2
  143. package/dist/es5/lib/texture-api/texture-api-types.js.map +0 -1
  144. package/dist/es5/lib/utils/extract-mipmap-images.js +0 -41
  145. package/dist/es5/lib/utils/extract-mipmap-images.js.map +0 -1
  146. package/dist/es5/lib/utils/ktx-format-helper.js +0 -79
  147. package/dist/es5/lib/utils/ktx-format-helper.js.map +0 -1
  148. package/dist/es5/lib/utils/texture-formats.js +0 -54
  149. package/dist/es5/lib/utils/texture-formats.js.map +0 -1
  150. package/dist/es5/lib/utils/version.js +0 -9
  151. package/dist/es5/lib/utils/version.js.map +0 -1
  152. package/dist/es5/npy-loader.js +0 -51
  153. package/dist/es5/npy-loader.js.map +0 -1
  154. package/dist/es5/types.js +0 -2
  155. package/dist/es5/types.js.map +0 -1
  156. package/dist/es5/workers/basis-worker-node.js +0 -7
  157. package/dist/es5/workers/basis-worker-node.js.map +0 -1
  158. package/dist/es5/workers/basis-worker.js +0 -6
  159. package/dist/es5/workers/basis-worker.js.map +0 -1
  160. package/dist/es5/workers/compressed-texture-worker.js +0 -6
  161. package/dist/es5/workers/compressed-texture-worker.js.map +0 -1
  162. package/dist/es5/workers/crunch-worker.js +0 -19
  163. package/dist/es5/workers/crunch-worker.js.map +0 -1
  164. package/dist/es5/workers/ktx2-basis-writer-worker-node.js +0 -54
  165. package/dist/es5/workers/ktx2-basis-writer-worker-node.js.map +0 -1
  166. package/dist/es5/workers/ktx2-basis-writer-worker.js +0 -53
  167. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +0 -1
  168. package/dist/es5/workers/npy-worker.js +0 -6
  169. package/dist/es5/workers/npy-worker.js.map +0 -1
  170. package/dist/esm/basis-loader.js.map +0 -1
  171. package/dist/esm/bundle.js +0 -4
  172. package/dist/esm/bundle.js.map +0 -1
  173. package/dist/esm/compressed-texture-loader.js.map +0 -1
  174. package/dist/esm/compressed-texture-writer.js.map +0 -1
  175. package/dist/esm/crunch-loader.js.map +0 -1
  176. package/dist/esm/index.js +0 -31
  177. package/dist/esm/index.js.map +0 -1
  178. package/dist/esm/ktx2-basis-writer.js.map +0 -1
  179. package/dist/esm/lib/encoders/encode-ktx.js.map +0 -1
  180. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
  181. package/dist/esm/lib/encoders/encode-texture.js.map +0 -1
  182. package/dist/esm/lib/gl-extensions.js.map +0 -1
  183. package/dist/esm/lib/parsers/basis-module-loader.js.map +0 -1
  184. package/dist/esm/lib/parsers/crunch-module-loader.js.map +0 -1
  185. package/dist/esm/lib/parsers/parse-basis.js.map +0 -1
  186. package/dist/esm/lib/parsers/parse-compressed-texture.js.map +0 -1
  187. package/dist/esm/lib/parsers/parse-crunch.js.map +0 -1
  188. package/dist/esm/lib/parsers/parse-dds.js.map +0 -1
  189. package/dist/esm/lib/parsers/parse-ktx.js.map +0 -1
  190. package/dist/esm/lib/parsers/parse-npy.js.map +0 -1
  191. package/dist/esm/lib/parsers/parse-pvr.js.map +0 -1
  192. package/dist/esm/lib/texture-api/async-deep-map.js.map +0 -1
  193. package/dist/esm/lib/texture-api/deep-load.js.map +0 -1
  194. package/dist/esm/lib/texture-api/generate-url.js.map +0 -1
  195. package/dist/esm/lib/texture-api/load-image-array.js.map +0 -1
  196. package/dist/esm/lib/texture-api/load-image-cube.js.map +0 -1
  197. package/dist/esm/lib/texture-api/load-image.js.map +0 -1
  198. package/dist/esm/lib/texture-api/texture-api-types.js.map +0 -1
  199. package/dist/esm/lib/utils/extract-mipmap-images.js.map +0 -1
  200. package/dist/esm/lib/utils/ktx-format-helper.js.map +0 -1
  201. package/dist/esm/lib/utils/texture-formats.js.map +0 -1
  202. package/dist/esm/lib/utils/version.js +0 -2
  203. package/dist/esm/lib/utils/version.js.map +0 -1
  204. package/dist/esm/libs/README.md +0 -9
  205. package/dist/esm/libs/basis_encoder.js +0 -21
  206. package/dist/esm/libs/basis_encoder.wasm +0 -0
  207. package/dist/esm/libs/basis_transcoder.js +0 -22
  208. package/dist/esm/libs/basis_transcoder.wasm +0 -0
  209. package/dist/esm/libs/crunch.js +0 -136
  210. package/dist/esm/npy-loader.js.map +0 -1
  211. package/dist/esm/types.js.map +0 -1
  212. package/dist/esm/workers/basis-worker-node.js.map +0 -1
  213. package/dist/esm/workers/basis-worker.js.map +0 -1
  214. package/dist/esm/workers/compressed-texture-worker.js +0 -4
  215. package/dist/esm/workers/compressed-texture-worker.js.map +0 -1
  216. package/dist/esm/workers/crunch-worker.js.map +0 -1
  217. package/dist/esm/workers/ktx2-basis-writer-worker-node.js.map +0 -1
  218. package/dist/esm/workers/ktx2-basis-writer-worker.js.map +0 -1
  219. package/dist/esm/workers/npy-worker.js.map +0 -1
  220. package/src/bundle.ts +0 -4
  221. /package/dist/{esm/lib → lib}/encoders/encode-ktx.js +0 -0
  222. /package/dist/{esm/lib → lib}/encoders/encode-texture.js +0 -0
  223. /package/dist/{esm/lib → lib}/gl-extensions.js +0 -0
  224. /package/dist/{esm/lib → lib}/parsers/basis-module-loader.js +0 -0
  225. /package/dist/{esm/lib → lib}/parsers/crunch-module-loader.js +0 -0
  226. /package/dist/{esm/lib → lib}/texture-api/async-deep-map.js +0 -0
  227. /package/dist/{esm/lib → lib}/texture-api/texture-api-types.js +0 -0
  228. /package/dist/{esm/lib → lib}/utils/extract-mipmap-images.js +0 -0
  229. /package/dist/{es5 → libs}/libs/README.md +0 -0
  230. /package/dist/{es5 → libs}/libs/basis_encoder.js +0 -0
  231. /package/dist/{es5 → libs}/libs/basis_encoder.wasm +0 -0
  232. /package/dist/{es5 → libs}/libs/basis_transcoder.js +0 -0
  233. /package/dist/{es5 → libs}/libs/basis_transcoder.wasm +0 -0
  234. /package/dist/{es5 → libs}/libs/crunch.js +0 -0
  235. /package/dist/{esm/types.js → types.js} +0 -0
@@ -1,43 +1,85 @@
1
- (() => {
1
+ (function webpackUniversalModuleDefinition(root, factory) {
2
+ if (typeof exports === 'object' && typeof module === 'object')
3
+ module.exports = factory();
4
+ else if (typeof define === 'function' && define.amd) define([], factory);
5
+ else if (typeof exports === 'object') exports['loader'] = factory();
6
+ else root['loader'] = factory();})(globalThis, function () {
7
+ "use strict";
8
+ var __exports__ = (() => {
2
9
  var __create = Object.create;
3
10
  var __defProp = Object.defineProperty;
4
11
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
12
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
13
  var __getProtoOf = Object.getPrototypeOf;
7
14
  var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
9
- var __esm = (fn, res) => function __init() {
10
- return fn && (res = (0, fn[Object.keys(fn)[0]])(fn = 0)), res;
11
- };
12
15
  var __commonJS = (cb, mod) => function __require() {
13
- return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16
+ return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
14
17
  };
15
18
  var __export = (target, all) => {
16
- __markAsModule(target);
17
19
  for (var name in all)
18
20
  __defProp(target, name, { get: all[name], enumerable: true });
19
21
  };
20
- var __reExport = (target, module, desc) => {
21
- if (module && typeof module === "object" || typeof module === "function") {
22
- for (let key of __getOwnPropNames(module))
23
- if (!__hasOwnProp.call(target, key) && key !== "default")
24
- __defProp(target, key, { get: () => module[key], enumerable: !(desc = __getOwnPropDesc(module, key)) || desc.enumerable });
22
+ var __copyProps = (to, from, except, desc) => {
23
+ if (from && typeof from === "object" || typeof from === "function") {
24
+ for (let key of __getOwnPropNames(from))
25
+ if (!__hasOwnProp.call(to, key) && key !== except)
26
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
25
27
  }
26
- return target;
27
- };
28
- var __toModule = (module) => {
29
- return __reExport(__markAsModule(__defProp(module != null ? __create(__getProtoOf(module)) : {}, "default", module && module.__esModule && "default" in module ? { get: () => module.default, enumerable: true } : { value: module, enumerable: true })), module);
28
+ return to;
30
29
  };
30
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
31
+ // If the importer is in node compatibility mode or this is not an ESM
32
+ // file that has been converted to a CommonJS file using a Babel-
33
+ // compatible transform (i.e. "__esModule" has not been set), then set
34
+ // "default" to the CommonJS "module.exports" for node compatibility.
35
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
36
+ mod
37
+ ));
38
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
31
39
 
32
- // src/lib/utils/version.ts
33
- var VERSION;
34
- var init_version = __esm({
35
- "src/lib/utils/version.ts"() {
36
- VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
40
+ // (disabled):../worker-utils/src/lib/node/require-utils.node
41
+ var require_require_utils = __commonJS({
42
+ "(disabled):../worker-utils/src/lib/node/require-utils.node"() {
43
+ "use strict";
37
44
  }
38
45
  });
39
46
 
47
+ // (disabled):../worker-utils/src/lib/process-utils/child-process-proxy
48
+ var require_child_process_proxy = __commonJS({
49
+ "(disabled):../worker-utils/src/lib/process-utils/child-process-proxy"() {
50
+ "use strict";
51
+ }
52
+ });
53
+
54
+ // src/index.ts
55
+ var src_exports = {};
56
+ __export(src_exports, {
57
+ BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
58
+ BasisLoader: () => BasisLoader,
59
+ BasisWorkerLoader: () => BasisWorkerLoader,
60
+ CRUNCH_EXTERNAL_LIBRARIES: () => CRUNCH_EXTERNAL_LIBRARIES,
61
+ CompressedTextureLoader: () => CompressedTextureLoader,
62
+ CompressedTextureWorkerLoader: () => CompressedTextureWorkerLoader,
63
+ CompressedTextureWriter: () => CompressedTextureWriter,
64
+ CrunchLoader: () => CrunchLoader,
65
+ CrunchWorkerLoader: () => CrunchLoader,
66
+ GL_EXTENSIONS_CONSTANTS: () => GL_EXTENSIONS_CONSTANTS,
67
+ KTX2BasisWriter: () => KTX2BasisWriter,
68
+ KTX2BasisWriterWorker: () => KTX2BasisWriterWorker,
69
+ NPYLoader: () => NPYLoader,
70
+ NPYWorkerLoader: () => NPYWorkerLoader,
71
+ getSupportedGPUTextureFormats: () => getSupportedGPUTextureFormats,
72
+ loadImageTexture: () => loadImageTexture,
73
+ loadImageTextureArray: () => loadImageTextureArray,
74
+ loadImageTextureCube: () => loadImageTextureCube,
75
+ selectSupportedBasisFormat: () => selectSupportedBasisFormat
76
+ });
77
+
78
+ // src/lib/utils/version.ts
79
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
80
+
40
81
  // ../worker-utils/src/lib/env-utils/version.ts
82
+ var NPM_TAG = "beta";
41
83
  function getVersion() {
42
84
  if (!globalThis._loadersgl_?.version) {
43
85
  globalThis._loadersgl_ = globalThis._loadersgl_ || {};
@@ -50,13 +92,7 @@
50
92
  }
51
93
  return globalThis._loadersgl_.version;
52
94
  }
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
- }
59
- });
95
+ var VERSION2 = getVersion();
60
96
 
61
97
  // ../worker-utils/src/lib/env-utils/assert.ts
62
98
  function assert(condition, message) {
@@ -64,45 +100,36 @@
64
100
  throw new Error(message || "loaders.gl assertion failed.");
65
101
  }
66
102
  }
67
- var init_assert = __esm({
68
- "../worker-utils/src/lib/env-utils/assert.ts"() {
69
- }
70
- });
71
103
 
72
104
  // ../worker-utils/src/lib/env-utils/globals.ts
73
- var globals, self_, window_, global_, document_, isBrowser, isWorker, isMobile, matches, nodeVersion;
74
- var init_globals = __esm({
75
- "../worker-utils/src/lib/env-utils/globals.ts"() {
76
- globals = {
77
- self: typeof self !== "undefined" && self,
78
- window: typeof window !== "undefined" && window,
79
- global: typeof global !== "undefined" && global,
80
- document: typeof document !== "undefined" && document
81
- };
82
- self_ = globals.self || globals.window || globals.global || {};
83
- window_ = globals.window || globals.self || globals.global || {};
84
- global_ = globals.global || globals.self || globals.window || {};
85
- document_ = globals.document || {};
86
- isBrowser = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
87
- isWorker = typeof importScripts === "function";
88
- isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
89
- matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
90
- nodeVersion = matches && parseFloat(matches[1]) || 0;
91
- }
92
- });
93
-
94
- // (disabled):../worker-utils/src/lib/node/require-utils.node
95
- var require_require_utils = __commonJS({
96
- "(disabled):../worker-utils/src/lib/node/require-utils.node"() {
97
- }
98
- });
105
+ var globals = {
106
+ self: typeof self !== "undefined" && self,
107
+ window: typeof window !== "undefined" && window,
108
+ global: typeof global !== "undefined" && global,
109
+ document: typeof document !== "undefined" && document
110
+ };
111
+ var self_ = globals.self || globals.window || globals.global || {};
112
+ var window_ = globals.window || globals.self || globals.global || {};
113
+ var global_ = globals.global || globals.self || globals.window || {};
114
+ var document_ = globals.document || {};
115
+ var isBrowser = (
116
+ // @ts-ignore process.browser
117
+ typeof process !== "object" || String(process) !== "[object process]" || process.browser
118
+ );
119
+ var isWorker = typeof importScripts === "function";
120
+ var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
121
+ var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
122
+ var nodeVersion = matches && parseFloat(matches[1]) || 0;
99
123
 
100
124
  // ../worker-utils/src/lib/library-utils/library-utils.ts
125
+ var node = __toESM(require_require_utils(), 1);
126
+ var loadLibraryPromises = {};
101
127
  async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
102
128
  if (moduleName) {
103
129
  libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
104
130
  }
105
- loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
131
+ loadLibraryPromises[libraryUrl] = // eslint-disable-next-line @typescript-eslint/no-misused-promises
132
+ loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
106
133
  return await loadLibraryPromises[libraryUrl];
107
134
  }
108
135
  function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
@@ -132,8 +159,9 @@
132
159
  }
133
160
  if (!isBrowser) {
134
161
  try {
135
- return node && node.requireFromFile && await node.requireFromFile(libraryUrl);
136
- } catch {
162
+ return node && void 0 && await (void 0)(libraryUrl);
163
+ } catch (error) {
164
+ console.error(error);
137
165
  return null;
138
166
  }
139
167
  }
@@ -145,7 +173,7 @@
145
173
  }
146
174
  function loadLibraryFromString(scriptSource, id) {
147
175
  if (!isBrowser) {
148
- return node.requireFromString && node.requireFromString(scriptSource, id);
176
+ return void 0 && (void 0)(scriptSource, id);
149
177
  }
150
178
  if (isWorker) {
151
179
  eval.call(global_, scriptSource);
@@ -162,45 +190,35 @@
162
190
  return null;
163
191
  }
164
192
  async function loadAsArrayBuffer(url) {
165
- if (!node.readFileAsArrayBuffer || url.startsWith("http")) {
193
+ if (!void 0 || url.startsWith("http")) {
166
194
  const response = await fetch(url);
167
195
  return await response.arrayBuffer();
168
196
  }
169
- return await node.readFileAsArrayBuffer(url);
197
+ return await (void 0)(url);
170
198
  }
171
199
  async function loadAsText(url) {
172
- if (!node.readFileAsText || url.startsWith("http")) {
200
+ if (!void 0 || url.startsWith("http")) {
173
201
  const response = await fetch(url);
174
202
  return await response.text();
175
203
  }
176
- return await node.readFileAsText(url);
204
+ return await (void 0)(url);
177
205
  }
178
- var node, loadLibraryPromises;
179
- var init_library_utils = __esm({
180
- "../worker-utils/src/lib/library-utils/library-utils.ts"() {
181
- init_globals();
182
- node = __toModule(require_require_utils());
183
- init_assert();
184
- init_version2();
185
- loadLibraryPromises = {};
186
- }
187
- });
188
-
189
- // (disabled):../worker-utils/src/lib/process-utils/child-process-proxy
190
- var init_child_process_proxy = __esm({
191
- "(disabled):../worker-utils/src/lib/process-utils/child-process-proxy"() {
192
- }
193
- });
194
206
 
195
207
  // ../worker-utils/src/index.ts
196
- var init_src = __esm({
197
- "../worker-utils/src/index.ts"() {
198
- init_library_utils();
199
- init_child_process_proxy();
200
- }
201
- });
208
+ var import_child_process_proxy = __toESM(require_child_process_proxy(), 1);
202
209
 
203
210
  // src/lib/parsers/basis-module-loader.ts
211
+ var BASIS_EXTERNAL_LIBRARIES = {
212
+ /** Basis transcoder, javascript wrapper part */
213
+ TRANSCODER: "basis_transcoder.js",
214
+ /** Basis transcoder, compiled web assembly part */
215
+ TRANSCODER_WASM: "basis_transcoder.wasm",
216
+ /** Basis encoder, javascript wrapper part */
217
+ ENCODER: "basis_encoder.js",
218
+ /** Basis encoder, compiled web assembly part */
219
+ ENCODER_WASM: "basis_encoder.wasm"
220
+ };
221
+ var loadBasisTranscoderPromise;
204
222
  async function loadBasisTranscoderModule(options) {
205
223
  const modules = options.modules || {};
206
224
  if (modules.basis) {
@@ -212,10 +230,7 @@
212
230
  async function loadBasisTranscoder(options) {
213
231
  let BASIS = null;
214
232
  let wasmBinary = null;
215
- [BASIS, wasmBinary] = await Promise.all([
216
- await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options),
217
- await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)
218
- ]);
233
+ [BASIS, wasmBinary] = await Promise.all([await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER, "textures", options), await loadLibrary(BASIS_EXTERNAL_LIBRARIES.TRANSCODER_WASM, "textures", options)]);
219
234
  BASIS = BASIS || globalThis.BASIS;
220
235
  return await initializeBasisTranscoderModule(BASIS, wasmBinary);
221
236
  }
@@ -226,12 +241,18 @@
226
241
  }
227
242
  return new Promise((resolve) => {
228
243
  BasisModule(options).then((module) => {
229
- const { BasisFile, initializeBasis } = module;
244
+ const {
245
+ BasisFile,
246
+ initializeBasis
247
+ } = module;
230
248
  initializeBasis();
231
- resolve({ BasisFile });
249
+ resolve({
250
+ BasisFile
251
+ });
232
252
  });
233
253
  });
234
254
  }
255
+ var loadBasisEncoderPromise;
235
256
  async function loadBasisEncoderModule(options) {
236
257
  const modules = options.modules || {};
237
258
  if (modules.basisEncoder) {
@@ -243,10 +264,7 @@
243
264
  async function loadBasisEncoder(options) {
244
265
  let BASIS_ENCODER = null;
245
266
  let wasmBinary = null;
246
- [BASIS_ENCODER, wasmBinary] = await Promise.all([
247
- await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options),
248
- await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)
249
- ]);
267
+ [BASIS_ENCODER, wasmBinary] = await Promise.all([await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER, "textures", options), await loadLibrary(BASIS_EXTERNAL_LIBRARIES.ENCODER_WASM, "textures", options)]);
250
268
  BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
251
269
  return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
252
270
  }
@@ -257,97 +275,111 @@
257
275
  }
258
276
  return new Promise((resolve) => {
259
277
  BasisEncoderModule(options).then((module) => {
260
- const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
278
+ const {
279
+ BasisFile,
280
+ KTX2File,
281
+ initializeBasis,
282
+ BasisEncoder
283
+ } = module;
261
284
  initializeBasis();
262
- resolve({ BasisFile, KTX2File, BasisEncoder });
285
+ resolve({
286
+ BasisFile,
287
+ KTX2File,
288
+ BasisEncoder
289
+ });
263
290
  });
264
291
  });
265
292
  }
266
- var BASIS_EXTERNAL_LIBRARIES, loadBasisTranscoderPromise, loadBasisEncoderPromise;
267
- var init_basis_module_loader = __esm({
268
- "src/lib/parsers/basis-module-loader.ts"() {
269
- init_src();
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
- };
276
- }
277
- });
278
293
 
279
294
  // src/lib/gl-extensions.ts
280
- var GL_EXTENSIONS_CONSTANTS;
281
- var init_gl_extensions = __esm({
282
- "src/lib/gl-extensions.ts"() {
283
- GL_EXTENSIONS_CONSTANTS = {
284
- COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
285
- COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
286
- COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
287
- COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
288
- COMPRESSED_R11_EAC: 37488,
289
- COMPRESSED_SIGNED_R11_EAC: 37489,
290
- COMPRESSED_RG11_EAC: 37490,
291
- COMPRESSED_SIGNED_RG11_EAC: 37491,
292
- COMPRESSED_RGB8_ETC2: 37492,
293
- COMPRESSED_RGBA8_ETC2_EAC: 37493,
294
- COMPRESSED_SRGB8_ETC2: 37494,
295
- COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
296
- COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
297
- COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
298
- COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
299
- COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
300
- COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
301
- COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
302
- COMPRESSED_RGB_ETC1_WEBGL: 36196,
303
- COMPRESSED_RGB_ATC_WEBGL: 35986,
304
- COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
305
- COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
306
- COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
307
- COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
308
- COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
309
- COMPRESSED_RGBA_ASTC_6X5_KHR: 37811,
310
- COMPRESSED_RGBA_ASTC_6X6_KHR: 37812,
311
- COMPRESSED_RGBA_ASTC_8X5_KHR: 37813,
312
- COMPRESSED_RGBA_ASTC_8X6_KHR: 37814,
313
- COMPRESSED_RGBA_ASTC_8X8_KHR: 37815,
314
- COMPRESSED_RGBA_ASTC_10X5_KHR: 37816,
315
- COMPRESSED_RGBA_ASTC_10X6_KHR: 37817,
316
- COMPRESSED_RGBA_ASTC_10X8_KHR: 37818,
317
- COMPRESSED_RGBA_ASTC_10X10_KHR: 37819,
318
- COMPRESSED_RGBA_ASTC_12X10_KHR: 37820,
319
- COMPRESSED_RGBA_ASTC_12X12_KHR: 37821,
320
- COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 37840,
321
- COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 37841,
322
- COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 37842,
323
- COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 37843,
324
- COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 37844,
325
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 37845,
326
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 37846,
327
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 37847,
328
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 37848,
329
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 37849,
330
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 37850,
331
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
332
- COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
333
- COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
334
- COMPRESSED_RED_RGTC1_EXT: 36283,
335
- COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
336
- COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
337
- COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
338
- COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
339
- COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
340
- COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
341
- COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
342
- };
343
- }
344
- });
295
+ var GL_EXTENSIONS_CONSTANTS = {
296
+ // WEBGL_compressed_texture_s3tc
297
+ COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
298
+ COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
299
+ COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
300
+ COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
301
+ // WEBGL_compressed_texture_es3
302
+ COMPRESSED_R11_EAC: 37488,
303
+ COMPRESSED_SIGNED_R11_EAC: 37489,
304
+ COMPRESSED_RG11_EAC: 37490,
305
+ COMPRESSED_SIGNED_RG11_EAC: 37491,
306
+ COMPRESSED_RGB8_ETC2: 37492,
307
+ COMPRESSED_RGBA8_ETC2_EAC: 37493,
308
+ COMPRESSED_SRGB8_ETC2: 37494,
309
+ COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
310
+ COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
311
+ COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
312
+ // WEBGL_compressed_texture_pvrtc
313
+ COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
314
+ COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
315
+ COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
316
+ COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
317
+ // WEBGL_compressed_texture_etc1
318
+ COMPRESSED_RGB_ETC1_WEBGL: 36196,
319
+ // WEBGL_compressed_texture_atc
320
+ COMPRESSED_RGB_ATC_WEBGL: 35986,
321
+ COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
322
+ COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
323
+ // WEBGL_compressed_texture_astc
324
+ COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
325
+ COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
326
+ COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
327
+ COMPRESSED_RGBA_ASTC_6X5_KHR: 37811,
328
+ COMPRESSED_RGBA_ASTC_6X6_KHR: 37812,
329
+ COMPRESSED_RGBA_ASTC_8X5_KHR: 37813,
330
+ COMPRESSED_RGBA_ASTC_8X6_KHR: 37814,
331
+ COMPRESSED_RGBA_ASTC_8X8_KHR: 37815,
332
+ COMPRESSED_RGBA_ASTC_10X5_KHR: 37816,
333
+ COMPRESSED_RGBA_ASTC_10X6_KHR: 37817,
334
+ COMPRESSED_RGBA_ASTC_10X8_KHR: 37818,
335
+ COMPRESSED_RGBA_ASTC_10X10_KHR: 37819,
336
+ COMPRESSED_RGBA_ASTC_12X10_KHR: 37820,
337
+ COMPRESSED_RGBA_ASTC_12X12_KHR: 37821,
338
+ COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 37840,
339
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 37841,
340
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 37842,
341
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 37843,
342
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 37844,
343
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 37845,
344
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 37846,
345
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 37847,
346
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 37848,
347
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 37849,
348
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 37850,
349
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
350
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
351
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
352
+ // EXT_texture_compression_rgtc
353
+ COMPRESSED_RED_RGTC1_EXT: 36283,
354
+ COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
355
+ COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
356
+ COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
357
+ // WEBGL_compressed_texture_s3tc_srgb
358
+ COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
359
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
360
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
361
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
362
+ };
345
363
 
346
364
  // src/lib/utils/texture-formats.ts
365
+ var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
366
+ var WEBGL_EXTENSIONS = {
367
+ /* eslint-disable camelcase */
368
+ WEBGL_compressed_texture_s3tc: "dxt",
369
+ WEBGL_compressed_texture_s3tc_srgb: "dxt-srgb",
370
+ WEBGL_compressed_texture_etc1: "etc1",
371
+ WEBGL_compressed_texture_etc: "etc2",
372
+ WEBGL_compressed_texture_pvrtc: "pvrtc",
373
+ WEBGL_compressed_texture_atc: "atc",
374
+ WEBGL_compressed_texture_astc: "astc",
375
+ EXT_texture_compression_rgtc: "rgtc"
376
+ /* eslint-enable camelcase */
377
+ };
378
+ var formats = null;
347
379
  function getSupportedGPUTextureFormats(gl) {
348
380
  if (!formats) {
349
381
  gl = gl || getWebGLContext() || void 0;
350
- formats = new Set();
382
+ formats = /* @__PURE__ */ new Set();
351
383
  for (const prefix of BROWSER_PREFIXES) {
352
384
  for (const extension in WEBGL_EXTENSIONS) {
353
385
  if (gl && gl.getExtension(`${prefix}${extension}`)) {
@@ -367,27 +399,73 @@
367
399
  return null;
368
400
  }
369
401
  }
370
- var BROWSER_PREFIXES, WEBGL_EXTENSIONS, formats;
371
- var init_texture_formats = __esm({
372
- "src/lib/utils/texture-formats.ts"() {
373
- BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
374
- WEBGL_EXTENSIONS = {
375
- WEBGL_compressed_texture_s3tc: "dxt",
376
- WEBGL_compressed_texture_s3tc_srgb: "dxt-srgb",
377
- WEBGL_compressed_texture_etc1: "etc1",
378
- WEBGL_compressed_texture_etc: "etc2",
379
- WEBGL_compressed_texture_pvrtc: "pvrtc",
380
- WEBGL_compressed_texture_atc: "atc",
381
- WEBGL_compressed_texture_astc: "astc",
382
- EXT_texture_compression_rgtc: "rgtc"
383
- };
384
- formats = null;
385
- }
386
- });
387
402
 
388
403
  // ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
404
+ var t = new Uint8Array([0]);
405
+ var e = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
406
+ var n;
407
+ var i;
408
+ var s;
409
+ var a;
410
+ var r;
411
+ var o;
412
+ var l;
413
+ var f;
414
+ !function(t2) {
415
+ t2[t2.NONE = 0] = "NONE", t2[t2.BASISLZ = 1] = "BASISLZ", t2[t2.ZSTD = 2] = "ZSTD", t2[t2.ZLIB = 3] = "ZLIB";
416
+ }(n || (n = {})), function(t2) {
417
+ t2[t2.BASICFORMAT = 0] = "BASICFORMAT";
418
+ }(i || (i = {})), function(t2) {
419
+ t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.ETC1S = 163] = "ETC1S", t2[t2.UASTC = 166] = "UASTC";
420
+ }(s || (s = {})), function(t2) {
421
+ t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.SRGB = 1] = "SRGB";
422
+ }(a || (a = {})), function(t2) {
423
+ t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.LINEAR = 1] = "LINEAR", t2[t2.SRGB = 2] = "SRGB", t2[t2.ITU = 3] = "ITU", t2[t2.NTSC = 4] = "NTSC", t2[t2.SLOG = 5] = "SLOG", t2[t2.SLOG2 = 6] = "SLOG2";
424
+ }(r || (r = {})), function(t2) {
425
+ t2[t2.ALPHA_STRAIGHT = 0] = "ALPHA_STRAIGHT", t2[t2.ALPHA_PREMULTIPLIED = 1] = "ALPHA_PREMULTIPLIED";
426
+ }(o || (o = {})), function(t2) {
427
+ t2[t2.RGB = 0] = "RGB", t2[t2.RRR = 3] = "RRR", t2[t2.GGG = 4] = "GGG", t2[t2.AAA = 15] = "AAA";
428
+ }(l || (l = {})), function(t2) {
429
+ t2[t2.RGB = 0] = "RGB", t2[t2.RGBA = 3] = "RGBA", t2[t2.RRR = 4] = "RRR", t2[t2.RRRG = 5] = "RRRG";
430
+ }(f || (f = {}));
431
+ var U = class {
432
+ constructor() {
433
+ this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = n.NONE, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: i.BASICFORMAT, versionNumber: 2, descriptorBlockSize: 40, colorModel: s.UNSPECIFIED, colorPrimaries: a.SRGB, transferFunction: a.SRGB, flags: o.ALPHA_STRAIGHT, texelBlockDimension: { x: 4, y: 4, z: 1, w: 1 }, bytesPlane: [], samples: [] }], this.keyValue = {}, this.globalData = null;
434
+ }
435
+ };
436
+ var c = class {
437
+ constructor(t2, e2, n2, i2) {
438
+ this._dataView = new DataView(t2.buffer, t2.byteOffset + e2, n2), this._littleEndian = i2, this._offset = 0;
439
+ }
440
+ _nextUint8() {
441
+ const t2 = this._dataView.getUint8(this._offset);
442
+ return this._offset += 1, t2;
443
+ }
444
+ _nextUint16() {
445
+ const t2 = this._dataView.getUint16(this._offset, this._littleEndian);
446
+ return this._offset += 2, t2;
447
+ }
448
+ _nextUint32() {
449
+ const t2 = this._dataView.getUint32(this._offset, this._littleEndian);
450
+ return this._offset += 4, t2;
451
+ }
452
+ _nextUint64() {
453
+ const t2 = this._dataView.getUint32(this._offset, this._littleEndian) + 2 ** 32 * this._dataView.getUint32(this._offset + 4, this._littleEndian);
454
+ return this._offset += 8, t2;
455
+ }
456
+ _skip(t2) {
457
+ return this._offset += t2, this;
458
+ }
459
+ _scan(t2, e2 = 0) {
460
+ const n2 = this._offset;
461
+ let i2 = 0;
462
+ for (; this._dataView.getUint8(this._offset) !== e2 && i2 < t2; )
463
+ i2++, this._offset++;
464
+ return i2 < t2 && this._offset++, new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + n2, i2);
465
+ }
466
+ };
389
467
  function _(t2) {
390
- return typeof TextDecoder != "undefined" ? new TextDecoder().decode(t2) : Buffer.from(t2).toString("utf8");
468
+ return "undefined" != typeof TextDecoder ? new TextDecoder().decode(t2) : Buffer.from(t2).toString("utf8");
391
469
  }
392
470
  function p(t2) {
393
471
  const n2 = new Uint8Array(t2.buffer, t2.byteOffset, e.length);
@@ -417,66 +495,6 @@
417
495
  const R = g + d._offset, E = R + A, T = E + S, O = T + m, P = new Uint8Array(t2.buffer, t2.byteOffset + R, A), C = new Uint8Array(t2.buffer, t2.byteOffset + E, S), F = new Uint8Array(t2.buffer, t2.byteOffset + T, m), G = new Uint8Array(t2.buffer, t2.byteOffset + O, L);
418
496
  return i2.globalData = { endpointCount: B, selectorCount: w, imageDescs: I, endpointsData: P, selectorsData: C, tablesData: F, extendedData: G }, i2;
419
497
  }
420
- var t, e, n, i, s, a, r, o, l, f, U, c;
421
- var init_ktx_parse_modern = __esm({
422
- "../../node_modules/ktx-parse/dist/ktx-parse.modern.js"() {
423
- t = new Uint8Array([0]);
424
- e = [171, 75, 84, 88, 32, 50, 48, 187, 13, 10, 26, 10];
425
- !function(t2) {
426
- t2[t2.NONE = 0] = "NONE", t2[t2.BASISLZ = 1] = "BASISLZ", t2[t2.ZSTD = 2] = "ZSTD", t2[t2.ZLIB = 3] = "ZLIB";
427
- }(n || (n = {})), function(t2) {
428
- t2[t2.BASICFORMAT = 0] = "BASICFORMAT";
429
- }(i || (i = {})), function(t2) {
430
- t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.ETC1S = 163] = "ETC1S", t2[t2.UASTC = 166] = "UASTC";
431
- }(s || (s = {})), function(t2) {
432
- t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.SRGB = 1] = "SRGB";
433
- }(a || (a = {})), function(t2) {
434
- t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.LINEAR = 1] = "LINEAR", t2[t2.SRGB = 2] = "SRGB", t2[t2.ITU = 3] = "ITU", t2[t2.NTSC = 4] = "NTSC", t2[t2.SLOG = 5] = "SLOG", t2[t2.SLOG2 = 6] = "SLOG2";
435
- }(r || (r = {})), function(t2) {
436
- t2[t2.ALPHA_STRAIGHT = 0] = "ALPHA_STRAIGHT", t2[t2.ALPHA_PREMULTIPLIED = 1] = "ALPHA_PREMULTIPLIED";
437
- }(o || (o = {})), function(t2) {
438
- t2[t2.RGB = 0] = "RGB", t2[t2.RRR = 3] = "RRR", t2[t2.GGG = 4] = "GGG", t2[t2.AAA = 15] = "AAA";
439
- }(l || (l = {})), function(t2) {
440
- t2[t2.RGB = 0] = "RGB", t2[t2.RGBA = 3] = "RGBA", t2[t2.RRR = 4] = "RRR", t2[t2.RRRG = 5] = "RRRG";
441
- }(f || (f = {}));
442
- U = class {
443
- constructor() {
444
- this.vkFormat = 0, this.typeSize = 1, this.pixelWidth = 0, this.pixelHeight = 0, this.pixelDepth = 0, this.layerCount = 0, this.faceCount = 1, this.supercompressionScheme = n.NONE, this.levels = [], this.dataFormatDescriptor = [{ vendorId: 0, descriptorType: i.BASICFORMAT, versionNumber: 2, descriptorBlockSize: 40, colorModel: s.UNSPECIFIED, colorPrimaries: a.SRGB, transferFunction: a.SRGB, flags: o.ALPHA_STRAIGHT, texelBlockDimension: { x: 4, y: 4, z: 1, w: 1 }, bytesPlane: [], samples: [] }], this.keyValue = {}, this.globalData = null;
445
- }
446
- };
447
- c = class {
448
- constructor(t2, e2, n2, i2) {
449
- this._dataView = new DataView(t2.buffer, t2.byteOffset + e2, n2), this._littleEndian = i2, this._offset = 0;
450
- }
451
- _nextUint8() {
452
- const t2 = this._dataView.getUint8(this._offset);
453
- return this._offset += 1, t2;
454
- }
455
- _nextUint16() {
456
- const t2 = this._dataView.getUint16(this._offset, this._littleEndian);
457
- return this._offset += 2, t2;
458
- }
459
- _nextUint32() {
460
- const t2 = this._dataView.getUint32(this._offset, this._littleEndian);
461
- return this._offset += 4, t2;
462
- }
463
- _nextUint64() {
464
- const t2 = this._dataView.getUint32(this._offset, this._littleEndian) + 2 ** 32 * this._dataView.getUint32(this._offset + 4, this._littleEndian);
465
- return this._offset += 8, t2;
466
- }
467
- _skip(t2) {
468
- return this._offset += t2, this;
469
- }
470
- _scan(t2, e2 = 0) {
471
- const n2 = this._offset;
472
- let i2 = 0;
473
- for (; this._dataView.getUint8(this._offset) !== e2 && i2 < t2; )
474
- i2++, this._offset++;
475
- return i2 < t2 && this._offset++, new Uint8Array(this._dataView.buffer, this._dataView.byteOffset + n2, i2);
476
- }
477
- };
478
- }
479
- });
480
498
 
481
499
  // src/lib/utils/extract-mipmap-images.ts
482
500
  function extractMipmapImages(data, options) {
@@ -513,94 +531,152 @@
513
531
  }
514
532
  return options.sizeFunction(data[index]);
515
533
  }
516
- var init_extract_mipmap_images = __esm({
517
- "src/lib/utils/extract-mipmap-images.ts"() {
518
- }
519
- });
520
534
 
521
535
  // src/lib/utils/ktx-format-helper.ts
536
+ var VULKAN_TO_WEBGL_FORMAT_MAP = {
537
+ 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
538
+ 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
539
+ 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
540
+ 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
541
+ 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
542
+ 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
543
+ 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
544
+ 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
545
+ 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
546
+ 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
547
+ 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
548
+ 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
549
+ 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
550
+ 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
551
+ 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
552
+ 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
553
+ 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
554
+ 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
555
+ 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
556
+ 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
557
+ 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
558
+ 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
559
+ // @ts-ignore
560
+ 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
561
+ // @ts-ignore
562
+ 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
563
+ // @ts-ignore
564
+ 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
565
+ // @ts-ignore
566
+ 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
567
+ // @ts-ignore
568
+ 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
569
+ // @ts-ignore
570
+ 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
571
+ // @ts-ignore
572
+ 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
573
+ // @ts-ignore
574
+ 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
575
+ // @ts-ignore
576
+ 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
577
+ // @ts-ignore
578
+ 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
579
+ // @ts-ignore
580
+ 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
581
+ // @ts-ignore
582
+ 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
583
+ // @ts-ignore
584
+ 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
585
+ // @ts-ignore
586
+ 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
587
+ // @ts-ignore
588
+ 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
589
+ // @ts-ignore
590
+ 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
591
+ // @ts-ignore
592
+ 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
593
+ // @ts-ignore
594
+ 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
595
+ // @ts-ignore
596
+ 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
597
+ // @ts-ignore
598
+ 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
599
+ // @ts-ignore
600
+ 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
601
+ // @ts-ignore
602
+ 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
603
+ // @ts-ignore
604
+ 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
605
+ // @ts-ignore
606
+ 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
607
+ // @ts-ignore
608
+ 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
609
+ // @ts-ignore
610
+ 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
611
+ // @ts-ignore
612
+ 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
613
+ // @ts-ignore
614
+ 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
615
+ 1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
616
+ 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
617
+ // @ts-ignore
618
+ 1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
619
+ // @ts-ignore
620
+ 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
621
+ // @ts-ignore
622
+ 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
623
+ // @ts-ignore
624
+ 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
625
+ // @ts-ignore
626
+ 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
627
+ // @ts-ignore
628
+ 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
629
+ // @ts-ignore
630
+ 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
631
+ // @ts-ignore
632
+ 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
633
+ // @ts-ignore
634
+ 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
635
+ // @ts-ignore
636
+ 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
637
+ // @ts-ignore
638
+ 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
639
+ // @ts-ignore
640
+ 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
641
+ // @ts-ignore
642
+ 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
643
+ // @ts-ignore
644
+ 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
645
+ };
522
646
  function mapVkFormatToWebGL(vkFormat) {
523
647
  return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
524
648
  }
525
- var VULKAN_TO_WEBGL_FORMAT_MAP;
526
- var init_ktx_format_helper = __esm({
527
- "src/lib/utils/ktx-format-helper.ts"() {
528
- init_gl_extensions();
529
- VULKAN_TO_WEBGL_FORMAT_MAP = {
530
- 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
531
- 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
532
- 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
533
- 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
534
- 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
535
- 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
536
- 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
537
- 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
538
- 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
539
- 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
540
- 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
541
- 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
542
- 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
543
- 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
544
- 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
545
- 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
546
- 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
547
- 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
548
- 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
549
- 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
550
- 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
551
- 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
552
- 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
553
- 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
554
- 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
555
- 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
556
- 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
557
- 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
558
- 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
559
- 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
560
- 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
561
- 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
562
- 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
563
- 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
564
- 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
565
- 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
566
- 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
567
- 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
568
- 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
569
- 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
570
- 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
571
- 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
572
- 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
573
- 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
574
- 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
575
- 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
576
- 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
577
- 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
578
- 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
579
- 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
580
- 1000054e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
581
- 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
582
- 1000066e3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
583
- 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
584
- 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
585
- 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
586
- 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
587
- 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
588
- 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
589
- 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
590
- 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
591
- 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
592
- 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
593
- 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
594
- 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
595
- 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
596
- };
597
- }
598
- });
599
649
 
600
650
  // src/lib/parsers/parse-ktx.ts
651
+ var KTX2_ID = [
652
+ // '´', 'K', 'T', 'X', '2', '0', 'ª', '\r', '\n', '\x1A', '\n'
653
+ 171,
654
+ 75,
655
+ 84,
656
+ 88,
657
+ 32,
658
+ 50,
659
+ 48,
660
+ 187,
661
+ 13,
662
+ 10,
663
+ 26,
664
+ 10
665
+ ];
601
666
  function isKTX(data) {
602
667
  const id = new Uint8Array(data);
603
- const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] || id[1] !== KTX2_ID[1] || id[2] !== KTX2_ID[2] || id[3] !== KTX2_ID[3] || id[4] !== KTX2_ID[4] || id[5] !== KTX2_ID[5] || id[6] !== KTX2_ID[6] || id[7] !== KTX2_ID[7] || id[8] !== KTX2_ID[8] || id[9] !== KTX2_ID[9] || id[10] !== KTX2_ID[10] || id[11] !== KTX2_ID[11];
668
+ const notKTX = id.byteLength < KTX2_ID.length || id[0] !== KTX2_ID[0] || // '´'
669
+ id[1] !== KTX2_ID[1] || // 'K'
670
+ id[2] !== KTX2_ID[2] || // 'T'
671
+ id[3] !== KTX2_ID[3] || // 'X'
672
+ id[4] !== KTX2_ID[4] || // ' '
673
+ id[5] !== KTX2_ID[5] || // '2'
674
+ id[6] !== KTX2_ID[6] || // '0'
675
+ id[7] !== KTX2_ID[7] || // 'ª'
676
+ id[8] !== KTX2_ID[8] || // '\r'
677
+ id[9] !== KTX2_ID[9] || // '\n'
678
+ id[10] !== KTX2_ID[10] || // '\x1A'
679
+ id[11] !== KTX2_ID[11];
604
680
  return !notKTX;
605
681
  }
606
682
  function parseKTX(arrayBuffer) {
@@ -618,37 +694,93 @@
618
694
  internalFormat
619
695
  });
620
696
  }
621
- var KTX2_ID;
622
- var init_parse_ktx = __esm({
623
- "src/lib/parsers/parse-ktx.ts"() {
624
- init_ktx_parse_modern();
625
- init_extract_mipmap_images();
626
- init_ktx_format_helper();
627
- KTX2_ID = [
628
- 171,
629
- 75,
630
- 84,
631
- 88,
632
- 32,
633
- 50,
634
- 48,
635
- 187,
636
- 13,
637
- 10,
638
- 26,
639
- 10
640
- ];
641
- }
642
- });
643
697
 
644
698
  // src/lib/parsers/parse-basis.ts
699
+ var OutputFormat = {
700
+ etc1: {
701
+ basisFormat: 0,
702
+ compressed: true,
703
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
704
+ },
705
+ etc2: {
706
+ basisFormat: 1,
707
+ compressed: true
708
+ },
709
+ bc1: {
710
+ basisFormat: 2,
711
+ compressed: true,
712
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
713
+ },
714
+ bc3: {
715
+ basisFormat: 3,
716
+ compressed: true,
717
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
718
+ },
719
+ bc4: {
720
+ basisFormat: 4,
721
+ compressed: true
722
+ },
723
+ bc5: {
724
+ basisFormat: 5,
725
+ compressed: true
726
+ },
727
+ "bc7-m6-opaque-only": {
728
+ basisFormat: 6,
729
+ compressed: true
730
+ },
731
+ "bc7-m5": {
732
+ basisFormat: 7,
733
+ compressed: true
734
+ },
735
+ "pvrtc1-4-rgb": {
736
+ basisFormat: 8,
737
+ compressed: true,
738
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
739
+ },
740
+ "pvrtc1-4-rgba": {
741
+ basisFormat: 9,
742
+ compressed: true,
743
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
744
+ },
745
+ "astc-4x4": {
746
+ basisFormat: 10,
747
+ compressed: true,
748
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
749
+ },
750
+ "atc-rgb": {
751
+ basisFormat: 11,
752
+ compressed: true
753
+ },
754
+ "atc-rgba-interpolated-alpha": {
755
+ basisFormat: 12,
756
+ compressed: true
757
+ },
758
+ rgba32: {
759
+ basisFormat: 13,
760
+ compressed: false
761
+ },
762
+ rgb565: {
763
+ basisFormat: 14,
764
+ compressed: false
765
+ },
766
+ bgr565: {
767
+ basisFormat: 15,
768
+ compressed: false
769
+ },
770
+ rgba4444: {
771
+ basisFormat: 16,
772
+ compressed: false
773
+ }
774
+ };
645
775
  async function parseBasis(data, options) {
646
776
  if (options.basis.containerFormat === "auto") {
647
777
  if (isKTX(data)) {
648
778
  const fileConstructors = await loadBasisEncoderModule(options);
649
779
  return parseKTX2File(fileConstructors.KTX2File, data, options);
650
780
  }
651
- const { BasisFile } = await loadBasisTranscoderModule(options);
781
+ const {
782
+ BasisFile
783
+ } = await loadBasisTranscoderModule(options);
652
784
  return parseBasisFile(BasisFile, data, options);
653
785
  }
654
786
  switch (options.basis.module) {
@@ -663,7 +795,9 @@
663
795
  }
664
796
  case "transcoder":
665
797
  default:
666
- const { BasisFile } = await loadBasisTranscoderModule(options);
798
+ const {
799
+ BasisFile
800
+ } = await loadBasisTranscoderModule(options);
667
801
  return parseBasisFile(BasisFile, data, options);
668
802
  }
669
803
  }
@@ -692,19 +826,28 @@
692
826
  function transcodeImage(basisFile, imageIndex, levelIndex, options) {
693
827
  const width = basisFile.getImageWidth(imageIndex, levelIndex);
694
828
  const height = basisFile.getImageHeight(imageIndex, levelIndex);
695
- const hasAlpha = basisFile.getHasAlpha();
696
- const { compressed, format, basisFormat } = getBasisOptions(options, hasAlpha);
829
+ const hasAlpha = basisFile.getHasAlpha(
830
+ /* imageIndex, levelIndex */
831
+ );
832
+ const {
833
+ compressed,
834
+ format,
835
+ basisFormat
836
+ } = getBasisOptions(options, hasAlpha);
697
837
  const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
698
838
  const decodedData = new Uint8Array(decodedSize);
699
839
  if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
700
840
  throw new Error("failed to start Basis transcoding");
701
841
  }
702
842
  return {
843
+ // standard loaders.gl image category payload
703
844
  width,
704
845
  height,
705
846
  data: decodedData,
706
847
  compressed,
707
848
  format,
849
+ // Additional fields
850
+ // Add levelSize field.
708
851
  hasAlpha
709
852
  };
710
853
  }
@@ -727,18 +870,38 @@
727
870
  }
728
871
  }
729
872
  function transcodeKTX2Image(ktx2File, levelIndex, options) {
730
- const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
731
- const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
873
+ const {
874
+ alphaFlag,
875
+ height,
876
+ width
877
+ } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
878
+ const {
879
+ compressed,
880
+ format,
881
+ basisFormat
882
+ } = getBasisOptions(options, alphaFlag);
732
883
  const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
733
884
  const decodedData = new Uint8Array(decodedSize);
734
- if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
885
+ if (!ktx2File.transcodeImage(
886
+ decodedData,
887
+ levelIndex,
888
+ 0,
889
+ 0,
890
+ basisFormat,
891
+ 0,
892
+ -1,
893
+ -1
894
+ /* channel1 */
895
+ )) {
735
896
  throw new Error("Failed to transcode KTX2 image");
736
897
  }
737
898
  return {
899
+ // standard loaders.gl image category payload
738
900
  width,
739
901
  height,
740
902
  data: decodedData,
741
903
  compressed,
904
+ // Additional fields
742
905
  levelSize: decodedSize,
743
906
  hasAlpha: alphaFlag,
744
907
  format
@@ -776,90 +939,34 @@
776
939
  }
777
940
  return "rgb565";
778
941
  }
779
- var OutputFormat;
780
- var init_parse_basis = __esm({
781
- "src/lib/parsers/parse-basis.ts"() {
782
- init_basis_module_loader();
783
- init_gl_extensions();
784
- init_texture_formats();
785
- init_parse_ktx();
786
- OutputFormat = {
787
- etc1: {
788
- basisFormat: 0,
789
- compressed: true,
790
- format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
791
- },
792
- etc2: { basisFormat: 1, compressed: true },
793
- bc1: {
794
- basisFormat: 2,
795
- compressed: true,
796
- format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
797
- },
798
- bc3: {
799
- basisFormat: 3,
800
- compressed: true,
801
- format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
802
- },
803
- bc4: { basisFormat: 4, compressed: true },
804
- bc5: { basisFormat: 5, compressed: true },
805
- "bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
806
- "bc7-m5": { basisFormat: 7, compressed: true },
807
- "pvrtc1-4-rgb": {
808
- basisFormat: 8,
809
- compressed: true,
810
- format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
811
- },
812
- "pvrtc1-4-rgba": {
813
- basisFormat: 9,
814
- compressed: true,
815
- format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
816
- },
817
- "astc-4x4": {
818
- basisFormat: 10,
819
- compressed: true,
820
- format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
821
- },
822
- "atc-rgb": { basisFormat: 11, compressed: true },
823
- "atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
824
- rgba32: { basisFormat: 13, compressed: false },
825
- rgb565: { basisFormat: 14, compressed: false },
826
- bgr565: { basisFormat: 15, compressed: false },
827
- rgba4444: { basisFormat: 16, compressed: false }
828
- };
829
- }
830
- });
831
942
 
832
943
  // src/basis-loader.ts
833
- var BasisWorkerLoader, BasisLoader;
834
- var init_basis_loader = __esm({
835
- "src/basis-loader.ts"() {
836
- init_version();
837
- init_parse_basis();
838
- BasisWorkerLoader = {
839
- name: "Basis",
840
- id: "basis",
841
- module: "textures",
842
- version: VERSION,
843
- worker: true,
844
- extensions: ["basis", "ktx2"],
845
- mimeTypes: ["application/octet-stream", "image/ktx2"],
846
- tests: ["sB"],
847
- binary: true,
848
- options: {
849
- basis: {
850
- format: "auto",
851
- libraryPath: "libs/",
852
- containerFormat: "auto",
853
- module: "transcoder"
854
- }
855
- }
856
- };
857
- BasisLoader = {
858
- ...BasisWorkerLoader,
859
- parse: parseBasis
860
- };
944
+ var BasisWorkerLoader = {
945
+ name: "Basis",
946
+ id: "basis",
947
+ module: "textures",
948
+ version: VERSION,
949
+ worker: true,
950
+ extensions: ["basis", "ktx2"],
951
+ mimeTypes: ["application/octet-stream", "image/ktx2"],
952
+ tests: ["sB"],
953
+ binary: true,
954
+ options: {
955
+ basis: {
956
+ format: "auto",
957
+ // gl context doesn't exist on a worker thread
958
+ libraryPath: "libs/",
959
+ containerFormat: "auto",
960
+ // 'basis' || 'ktx2' || 'auto'
961
+ module: "transcoder"
962
+ // 'transcoder' || 'encoder'
963
+ }
861
964
  }
862
- });
965
+ };
966
+ var BasisLoader = {
967
+ ...BasisWorkerLoader,
968
+ parse: parseBasis
969
+ };
863
970
 
864
971
  // ../loader-utils/src/lib/env-utils/assert.ts
865
972
  function assert2(condition, message) {
@@ -867,32 +974,28 @@
867
974
  throw new Error(message || "loader assertion failed.");
868
975
  }
869
976
  }
870
- var init_assert2 = __esm({
871
- "../loader-utils/src/lib/env-utils/assert.ts"() {
872
- }
873
- });
874
977
 
875
978
  // ../loader-utils/src/lib/env-utils/globals.ts
876
- var globals2, self_2, window_2, global_2, document_2, isBrowser2, matches2, nodeVersion2;
877
- var init_globals2 = __esm({
878
- "../loader-utils/src/lib/env-utils/globals.ts"() {
879
- globals2 = {
880
- self: typeof self !== "undefined" && self,
881
- window: typeof window !== "undefined" && window,
882
- global: typeof global !== "undefined" && global,
883
- document: typeof document !== "undefined" && document
884
- };
885
- self_2 = globals2.self || globals2.window || globals2.global || {};
886
- window_2 = globals2.window || globals2.self || globals2.global || {};
887
- global_2 = globals2.global || globals2.self || globals2.window || {};
888
- document_2 = globals2.document || {};
889
- isBrowser2 = Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser);
890
- matches2 = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
891
- nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
892
- }
893
- });
979
+ var globals2 = {
980
+ self: typeof self !== "undefined" && self,
981
+ window: typeof window !== "undefined" && window,
982
+ global: typeof global !== "undefined" && global,
983
+ document: typeof document !== "undefined" && document
984
+ };
985
+ var self_2 = globals2.self || globals2.window || globals2.global || {};
986
+ var window_2 = globals2.window || globals2.self || globals2.global || {};
987
+ var global_2 = globals2.global || globals2.self || globals2.window || {};
988
+ var document_2 = globals2.document || {};
989
+ var isBrowser2 = (
990
+ // @ts-ignore process does not exist on browser
991
+ Boolean(typeof process !== "object" || String(process) !== "[object process]" || process.browser)
992
+ );
993
+ var matches2 = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
994
+ var nodeVersion2 = matches2 && parseFloat(matches2[1]) || 0;
894
995
 
895
996
  // ../loader-utils/src/lib/path-utils/file-aliases.ts
997
+ var pathPrefix = "";
998
+ var fileAliases = {};
896
999
  function resolvePath(filename) {
897
1000
  for (const alias in fileAliases) {
898
1001
  if (filename.startsWith(alias)) {
@@ -905,24 +1008,41 @@
905
1008
  }
906
1009
  return filename;
907
1010
  }
908
- var pathPrefix, fileAliases;
909
- var init_file_aliases = __esm({
910
- "../loader-utils/src/lib/path-utils/file-aliases.ts"() {
911
- pathPrefix = "";
912
- fileAliases = {};
913
- }
914
- });
915
-
916
- // ../loader-utils/src/index.ts
917
- var init_src2 = __esm({
918
- "../loader-utils/src/index.ts"() {
919
- init_assert2();
920
- init_globals2();
921
- init_file_aliases();
922
- }
923
- });
924
1011
 
925
1012
  // src/lib/parsers/parse-dds.ts
1013
+ var DDS_CONSTANTS = {
1014
+ MAGIC_NUMBER: 542327876,
1015
+ HEADER_LENGTH: 31,
1016
+ MAGIC_NUMBER_INDEX: 0,
1017
+ HEADER_SIZE_INDEX: 1,
1018
+ HEADER_FLAGS_INDEX: 2,
1019
+ HEADER_HEIGHT_INDEX: 3,
1020
+ HEADER_WIDTH_INDEX: 4,
1021
+ MIPMAPCOUNT_INDEX: 7,
1022
+ HEADER_PF_FLAGS_INDEX: 20,
1023
+ HEADER_PF_FOURCC_INDEX: 21,
1024
+ DDSD_MIPMAPCOUNT: 131072,
1025
+ DDPF_FOURCC: 4
1026
+ };
1027
+ var DDS_PIXEL_FORMATS = {
1028
+ DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
1029
+ DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
1030
+ DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
1031
+ "ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
1032
+ ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
1033
+ ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
1034
+ };
1035
+ var getATCLevelSize = getDxt1LevelSize;
1036
+ var getATCALevelSize = getDxtXLevelSize;
1037
+ var getATCILevelSize = getDxtXLevelSize;
1038
+ var DDS_SIZE_FUNCTIONS = {
1039
+ DXT1: getDxt1LevelSize,
1040
+ DXT3: getDxtXLevelSize,
1041
+ DXT5: getDxtXLevelSize,
1042
+ "ATC ": getATCLevelSize,
1043
+ ATCA: getATCALevelSize,
1044
+ ATCI: getATCILevelSize
1045
+ };
926
1046
  function isDDS(data) {
927
1047
  const header = new Uint32Array(data, 0, DDS_CONSTANTS.HEADER_LENGTH);
928
1048
  const magic = header[DDS_CONSTANTS.MAGIC_NUMBER_INDEX];
@@ -961,49 +1081,79 @@
961
1081
  function int32ToFourCC(value) {
962
1082
  return String.fromCharCode(value & 255, value >> 8 & 255, value >> 16 & 255, value >> 24 & 255);
963
1083
  }
964
- var DDS_CONSTANTS, DDS_PIXEL_FORMATS, getATCLevelSize, getATCALevelSize, getATCILevelSize, DDS_SIZE_FUNCTIONS;
965
- var init_parse_dds = __esm({
966
- "src/lib/parsers/parse-dds.ts"() {
967
- init_src2();
968
- init_gl_extensions();
969
- init_extract_mipmap_images();
970
- DDS_CONSTANTS = {
971
- MAGIC_NUMBER: 542327876,
972
- HEADER_LENGTH: 31,
973
- MAGIC_NUMBER_INDEX: 0,
974
- HEADER_SIZE_INDEX: 1,
975
- HEADER_FLAGS_INDEX: 2,
976
- HEADER_HEIGHT_INDEX: 3,
977
- HEADER_WIDTH_INDEX: 4,
978
- MIPMAPCOUNT_INDEX: 7,
979
- HEADER_PF_FLAGS_INDEX: 20,
980
- HEADER_PF_FOURCC_INDEX: 21,
981
- DDSD_MIPMAPCOUNT: 131072,
982
- DDPF_FOURCC: 4
983
- };
984
- DDS_PIXEL_FORMATS = {
985
- DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
986
- DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
987
- DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
988
- "ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
989
- ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
990
- ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
991
- };
992
- getATCLevelSize = getDxt1LevelSize;
993
- getATCALevelSize = getDxtXLevelSize;
994
- getATCILevelSize = getDxtXLevelSize;
995
- DDS_SIZE_FUNCTIONS = {
996
- DXT1: getDxt1LevelSize,
997
- DXT3: getDxtXLevelSize,
998
- DXT5: getDxtXLevelSize,
999
- "ATC ": getATCLevelSize,
1000
- ATCA: getATCALevelSize,
1001
- ATCI: getATCILevelSize
1002
- };
1003
- }
1004
- });
1005
1084
 
1006
1085
  // src/lib/parsers/parse-pvr.ts
1086
+ var PVR_CONSTANTS = {
1087
+ MAGIC_NUMBER: 55727696,
1088
+ MAGIC_NUMBER_EXTRA: 1347834371,
1089
+ HEADER_LENGTH: 13,
1090
+ HEADER_SIZE: 52,
1091
+ MAGIC_NUMBER_INDEX: 0,
1092
+ PIXEL_FORMAT_INDEX: 2,
1093
+ COLOUR_SPACE_INDEX: 4,
1094
+ HEIGHT_INDEX: 6,
1095
+ WIDTH_INDEX: 7,
1096
+ MIPMAPCOUNT_INDEX: 11,
1097
+ METADATA_SIZE_INDEX: 12
1098
+ };
1099
+ var PVR_PIXEL_FORMATS = {
1100
+ 0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
1101
+ 1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
1102
+ 2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
1103
+ 3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
1104
+ 6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
1105
+ 7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
1106
+ 9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
1107
+ 11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
1108
+ 22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
1109
+ 23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
1110
+ 24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
1111
+ 25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
1112
+ 26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
1113
+ 27: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],
1114
+ 28: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],
1115
+ 29: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],
1116
+ 30: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],
1117
+ 31: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],
1118
+ 32: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],
1119
+ 33: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],
1120
+ 34: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],
1121
+ 35: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],
1122
+ 36: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],
1123
+ 37: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],
1124
+ 38: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],
1125
+ 39: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],
1126
+ 40: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR, GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]
1127
+ };
1128
+ var PVR_SIZE_FUNCTIONS = {
1129
+ 0: pvrtc2bppSize,
1130
+ 1: pvrtc2bppSize,
1131
+ 2: pvrtc4bppSize,
1132
+ 3: pvrtc4bppSize,
1133
+ 6: dxtEtcSmallSize,
1134
+ 7: dxtEtcSmallSize,
1135
+ 9: dxtEtcAstcBigSize,
1136
+ 11: dxtEtcAstcBigSize,
1137
+ 22: dxtEtcSmallSize,
1138
+ 23: dxtEtcAstcBigSize,
1139
+ 24: dxtEtcSmallSize,
1140
+ 25: dxtEtcSmallSize,
1141
+ 26: dxtEtcAstcBigSize,
1142
+ 27: dxtEtcAstcBigSize,
1143
+ 28: atc5x4Size,
1144
+ 29: atc5x5Size,
1145
+ 30: atc6x5Size,
1146
+ 31: atc6x6Size,
1147
+ 32: atc8x5Size,
1148
+ 33: atc8x6Size,
1149
+ 34: atc8x8Size,
1150
+ 35: atc10x5Size,
1151
+ 36: atc10x6Size,
1152
+ 37: atc10x8Size,
1153
+ 38: atc10x10Size,
1154
+ 39: atc12x10Size,
1155
+ 40: atc12x12Size
1156
+ };
1007
1157
  function isPVR(data) {
1008
1158
  const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);
1009
1159
  const version = header[PVR_CONSTANTS.MAGIC_NUMBER_INDEX];
@@ -1084,126 +1234,6 @@
1084
1234
  function atc12x12Size(width, height) {
1085
1235
  return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;
1086
1236
  }
1087
- var PVR_CONSTANTS, PVR_PIXEL_FORMATS, PVR_SIZE_FUNCTIONS;
1088
- var init_parse_pvr = __esm({
1089
- "src/lib/parsers/parse-pvr.ts"() {
1090
- init_gl_extensions();
1091
- init_extract_mipmap_images();
1092
- PVR_CONSTANTS = {
1093
- MAGIC_NUMBER: 55727696,
1094
- MAGIC_NUMBER_EXTRA: 1347834371,
1095
- HEADER_LENGTH: 13,
1096
- HEADER_SIZE: 52,
1097
- MAGIC_NUMBER_INDEX: 0,
1098
- PIXEL_FORMAT_INDEX: 2,
1099
- COLOUR_SPACE_INDEX: 4,
1100
- HEIGHT_INDEX: 6,
1101
- WIDTH_INDEX: 7,
1102
- MIPMAPCOUNT_INDEX: 11,
1103
- METADATA_SIZE_INDEX: 12
1104
- };
1105
- PVR_PIXEL_FORMATS = {
1106
- 0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],
1107
- 1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],
1108
- 2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],
1109
- 3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],
1110
- 6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],
1111
- 7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],
1112
- 9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],
1113
- 11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],
1114
- 22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],
1115
- 23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],
1116
- 24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],
1117
- 25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],
1118
- 26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],
1119
- 27: [
1120
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,
1121
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR
1122
- ],
1123
- 28: [
1124
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,
1125
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR
1126
- ],
1127
- 29: [
1128
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,
1129
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR
1130
- ],
1131
- 30: [
1132
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,
1133
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR
1134
- ],
1135
- 31: [
1136
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,
1137
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR
1138
- ],
1139
- 32: [
1140
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,
1141
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR
1142
- ],
1143
- 33: [
1144
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,
1145
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR
1146
- ],
1147
- 34: [
1148
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,
1149
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR
1150
- ],
1151
- 35: [
1152
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,
1153
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR
1154
- ],
1155
- 36: [
1156
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,
1157
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR
1158
- ],
1159
- 37: [
1160
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,
1161
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR
1162
- ],
1163
- 38: [
1164
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,
1165
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR
1166
- ],
1167
- 39: [
1168
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,
1169
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR
1170
- ],
1171
- 40: [
1172
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,
1173
- GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR
1174
- ]
1175
- };
1176
- PVR_SIZE_FUNCTIONS = {
1177
- 0: pvrtc2bppSize,
1178
- 1: pvrtc2bppSize,
1179
- 2: pvrtc4bppSize,
1180
- 3: pvrtc4bppSize,
1181
- 6: dxtEtcSmallSize,
1182
- 7: dxtEtcSmallSize,
1183
- 9: dxtEtcAstcBigSize,
1184
- 11: dxtEtcAstcBigSize,
1185
- 22: dxtEtcSmallSize,
1186
- 23: dxtEtcAstcBigSize,
1187
- 24: dxtEtcSmallSize,
1188
- 25: dxtEtcSmallSize,
1189
- 26: dxtEtcAstcBigSize,
1190
- 27: dxtEtcAstcBigSize,
1191
- 28: atc5x4Size,
1192
- 29: atc5x5Size,
1193
- 30: atc6x5Size,
1194
- 31: atc6x6Size,
1195
- 32: atc8x5Size,
1196
- 33: atc8x6Size,
1197
- 34: atc8x8Size,
1198
- 35: atc10x5Size,
1199
- 36: atc10x6Size,
1200
- 37: atc10x8Size,
1201
- 38: atc10x10Size,
1202
- 39: atc12x10Size,
1203
- 40: atc12x12Size
1204
- };
1205
- }
1206
- });
1207
1237
 
1208
1238
  // src/lib/parsers/parse-compressed-texture.ts
1209
1239
  function parseCompressedTexture(data) {
@@ -1218,97 +1248,90 @@
1218
1248
  }
1219
1249
  throw new Error("Texture container format not recognized");
1220
1250
  }
1221
- var init_parse_compressed_texture = __esm({
1222
- "src/lib/parsers/parse-compressed-texture.ts"() {
1223
- init_parse_ktx();
1224
- init_parse_dds();
1225
- init_parse_pvr();
1226
- }
1227
- });
1228
1251
 
1229
1252
  // src/compressed-texture-loader.ts
1230
- var CompressedTextureWorkerLoader, CompressedTextureLoader;
1231
- var init_compressed_texture_loader = __esm({
1232
- "src/compressed-texture-loader.ts"() {
1233
- init_version();
1234
- init_parse_compressed_texture();
1235
- init_parse_basis();
1236
- CompressedTextureWorkerLoader = {
1237
- name: "Texture Containers",
1238
- id: "compressed-texture",
1239
- module: "textures",
1240
- version: VERSION,
1241
- worker: true,
1242
- extensions: [
1243
- "ktx",
1244
- "ktx2",
1245
- "dds",
1246
- "pvr"
1247
- ],
1248
- mimeTypes: [
1249
- "image/ktx2",
1250
- "image/ktx",
1251
- "image/vnd-ms.dds",
1252
- "image/x-dds",
1253
- "application/octet-stream"
1254
- ],
1255
- binary: true,
1256
- options: {
1257
- "compressed-texture": {
1258
- libraryPath: "libs/",
1259
- useBasis: false
1260
- }
1261
- }
1262
- };
1263
- CompressedTextureLoader = {
1264
- ...CompressedTextureWorkerLoader,
1265
- parse: async (arrayBuffer, options) => {
1266
- if (options?.["compressed-texture"]?.useBasis) {
1267
- options.basis = {
1268
- format: {
1269
- alpha: "BC3",
1270
- noAlpha: "BC1"
1271
- },
1272
- ...options.basis,
1273
- containerFormat: "ktx2",
1274
- module: "encoder"
1275
- };
1276
- const result = await parseBasis(arrayBuffer, options);
1277
- return result[0];
1278
- }
1279
- return parseCompressedTexture(arrayBuffer);
1280
- }
1281
- };
1253
+ var CompressedTextureWorkerLoader = {
1254
+ name: "Texture Containers",
1255
+ id: "compressed-texture",
1256
+ module: "textures",
1257
+ version: VERSION,
1258
+ worker: true,
1259
+ extensions: [
1260
+ "ktx",
1261
+ "ktx2",
1262
+ "dds",
1263
+ // WEBGL_compressed_texture_s3tc, WEBGL_compressed_texture_atc
1264
+ "pvr"
1265
+ // WEBGL_compressed_texture_pvrtc
1266
+ ],
1267
+ mimeTypes: ["image/ktx2", "image/ktx", "image/vnd-ms.dds", "image/x-dds", "application/octet-stream"],
1268
+ binary: true,
1269
+ options: {
1270
+ "compressed-texture": {
1271
+ libraryPath: "libs/",
1272
+ useBasis: false
1273
+ }
1282
1274
  }
1283
- });
1275
+ };
1276
+ var CompressedTextureLoader = {
1277
+ ...CompressedTextureWorkerLoader,
1278
+ parse: async (arrayBuffer, options) => {
1279
+ if (options?.["compressed-texture"]?.useBasis) {
1280
+ options.basis = {
1281
+ format: {
1282
+ alpha: "BC3",
1283
+ noAlpha: "BC1"
1284
+ },
1285
+ // @ts-expect-error TODO not allowed to modify inputs
1286
+ ...options.basis,
1287
+ containerFormat: "ktx2",
1288
+ module: "encoder"
1289
+ };
1290
+ const result = await parseBasis(arrayBuffer, options);
1291
+ return result[0];
1292
+ }
1293
+ return parseCompressedTexture(arrayBuffer);
1294
+ }
1295
+ };
1284
1296
 
1285
1297
  // src/crunch-loader.ts
1286
- var CrunchLoader;
1287
- var init_crunch_loader = __esm({
1288
- "src/crunch-loader.ts"() {
1289
- init_version();
1290
- CrunchLoader = {
1291
- id: "crunch",
1292
- name: "Crunch",
1293
- module: "textures",
1294
- version: VERSION,
1295
- worker: true,
1296
- extensions: ["crn"],
1297
- mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"],
1298
- binary: true,
1299
- options: {
1300
- crunch: {
1301
- libraryPath: "libs/"
1302
- }
1303
- }
1304
- };
1298
+ var CrunchLoader = {
1299
+ id: "crunch",
1300
+ name: "Crunch",
1301
+ module: "textures",
1302
+ version: VERSION,
1303
+ worker: true,
1304
+ extensions: ["crn"],
1305
+ mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"],
1306
+ binary: true,
1307
+ options: {
1308
+ crunch: {
1309
+ libraryPath: "libs/"
1310
+ }
1305
1311
  }
1306
- });
1312
+ };
1307
1313
 
1308
1314
  // src/lib/parsers/parse-npy.ts
1315
+ var a2 = new Uint32Array([305419896]);
1316
+ var b = new Uint8Array(a2.buffer, a2.byteOffset, a2.byteLength);
1317
+ var isLittleEndian = !(b[0] === 18);
1318
+ var LITTLE_ENDIAN_OS = isLittleEndian;
1319
+ var DTYPES = {
1320
+ u1: Uint8Array,
1321
+ i1: Int8Array,
1322
+ u2: Uint16Array,
1323
+ i2: Int16Array,
1324
+ u4: Uint32Array,
1325
+ i4: Int32Array,
1326
+ f4: Float32Array,
1327
+ f8: Float64Array
1328
+ };
1309
1329
  function parseNPY(arrayBuffer, options) {
1310
1330
  const view = new DataView(arrayBuffer);
1311
- const { header, headerEndOffset } = parseHeader(view);
1331
+ const {
1332
+ header,
1333
+ headerEndOffset
1334
+ } = parseHeader(view);
1312
1335
  const numpyType = header.descr;
1313
1336
  const ArrayType = DTYPES[numpyType.slice(1, 3)];
1314
1337
  if (!ArrayType) {
@@ -1345,69 +1368,43 @@
1345
1368
  const headerText = decoder.decode(headerArray);
1346
1369
  offset += headerLength;
1347
1370
  const header = JSON.parse(headerText.replace(/'/g, '"').replace("False", "false").replace("(", "[").replace(/,*\),*/g, "]"));
1348
- return { header, headerEndOffset: offset };
1349
- }
1350
- var a2, b, isLittleEndian, LITTLE_ENDIAN_OS, DTYPES;
1351
- var init_parse_npy = __esm({
1352
- "src/lib/parsers/parse-npy.ts"() {
1353
- a2 = new Uint32Array([305419896]);
1354
- b = new Uint8Array(a2.buffer, a2.byteOffset, a2.byteLength);
1355
- isLittleEndian = !(b[0] === 18);
1356
- LITTLE_ENDIAN_OS = isLittleEndian;
1357
- DTYPES = {
1358
- u1: Uint8Array,
1359
- i1: Int8Array,
1360
- u2: Uint16Array,
1361
- i2: Int16Array,
1362
- u4: Uint32Array,
1363
- i4: Int32Array,
1364
- f4: Float32Array,
1365
- f8: Float64Array
1366
- };
1367
- }
1368
- });
1371
+ return {
1372
+ header,
1373
+ headerEndOffset: offset
1374
+ };
1375
+ }
1369
1376
 
1370
1377
  // src/npy-loader.ts
1371
- var NPY_MAGIC_NUMBER, NPYWorkerLoader, NPYLoader;
1372
- var init_npy_loader = __esm({
1373
- "src/npy-loader.ts"() {
1374
- init_version();
1375
- init_parse_npy();
1376
- NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
1377
- NPYWorkerLoader = {
1378
- name: "NPY",
1379
- id: "npy",
1380
- module: "textures",
1381
- version: VERSION,
1382
- worker: true,
1383
- extensions: ["npy"],
1384
- mimeTypes: [],
1385
- tests: [NPY_MAGIC_NUMBER.buffer],
1386
- options: {
1387
- npy: {}
1388
- }
1389
- };
1390
- NPYLoader = {
1391
- ...NPYWorkerLoader,
1392
- parseSync: parseNPY,
1393
- parse: async (arrayBuffer, options) => parseNPY(arrayBuffer, options)
1394
- };
1378
+ var NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);
1379
+ var NPYWorkerLoader = {
1380
+ name: "NPY",
1381
+ id: "npy",
1382
+ module: "textures",
1383
+ version: VERSION,
1384
+ worker: true,
1385
+ extensions: ["npy"],
1386
+ mimeTypes: [],
1387
+ tests: [NPY_MAGIC_NUMBER.buffer],
1388
+ options: {
1389
+ npy: {}
1395
1390
  }
1396
- });
1391
+ };
1392
+ var NPYLoader = {
1393
+ ...NPYWorkerLoader,
1394
+ parseSync: parseNPY,
1395
+ parse: async (arrayBuffer, options) => parseNPY(arrayBuffer, options)
1396
+ };
1397
1397
 
1398
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
- });
1399
+ var CRUNCH_EXTERNAL_LIBRARIES = {
1400
+ /** Crunch decoder library. It is used as dynamically imported script */
1401
+ DECODER: "crunch.js"
1402
+ };
1407
1403
 
1408
1404
  // src/lib/encoders/encode-texture.ts
1409
1405
  async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl, options) {
1410
1406
  const args = [
1407
+ // Note: our actual executable is `npx`, so `texture-compressor` is an argument
1411
1408
  "texture-compressor",
1412
1409
  "--type",
1413
1410
  "s3tc",
@@ -1428,38 +1425,26 @@
1428
1425
  });
1429
1426
  return outputUrl;
1430
1427
  }
1431
- var init_encode_texture = __esm({
1432
- "src/lib/encoders/encode-texture.ts"() {
1433
- init_src();
1434
- }
1435
- });
1436
1428
 
1437
1429
  // src/compressed-texture-writer.ts
1438
- var CompressedTextureWriter;
1439
- var init_compressed_texture_writer = __esm({
1440
- "src/compressed-texture-writer.ts"() {
1441
- init_version();
1442
- init_encode_texture();
1443
- CompressedTextureWriter = {
1444
- name: "DDS Texture Container",
1445
- id: "dds",
1446
- module: "textures",
1447
- version: VERSION,
1448
- extensions: ["dds"],
1449
- options: {
1450
- texture: {
1451
- format: "auto",
1452
- compression: "auto",
1453
- quality: "auto",
1454
- mipmap: false,
1455
- flipY: false,
1456
- toolFlags: ""
1457
- }
1458
- },
1459
- encodeURLtoURL: encodeImageURLToCompressedTextureURL
1460
- };
1461
- }
1462
- });
1430
+ var CompressedTextureWriter = {
1431
+ name: "DDS Texture Container",
1432
+ id: "dds",
1433
+ module: "textures",
1434
+ version: VERSION,
1435
+ extensions: ["dds"],
1436
+ options: {
1437
+ texture: {
1438
+ format: "auto",
1439
+ compression: "auto",
1440
+ quality: "auto",
1441
+ mipmap: false,
1442
+ flipY: false,
1443
+ toolFlags: ""
1444
+ }
1445
+ },
1446
+ encodeURLtoURL: encodeImageURLToCompressedTextureURL
1447
+ };
1463
1448
 
1464
1449
  // src/lib/encoders/encode-ktx2-basis-texture.ts
1465
1450
  async function encodeKTX2BasisTexture(image, options = {}) {
@@ -1469,7 +1454,9 @@
1469
1454
  encodeUASTC = false,
1470
1455
  mipmaps = false
1471
1456
  } = options?.["ktx2-basis-writer"] || {};
1472
- const { BasisEncoder } = await loadBasisEncoderModule(options);
1457
+ const {
1458
+ BasisEncoder
1459
+ } = await loadBasisEncoderModule(options);
1473
1460
  const basisEncoder = new BasisEncoder();
1474
1461
  try {
1475
1462
  const basisFileData = new Uint8Array(image.width * image.height * 4);
@@ -1492,46 +1479,36 @@
1492
1479
  basisEncoder.delete();
1493
1480
  }
1494
1481
  }
1495
- var init_encode_ktx2_basis_texture = __esm({
1496
- "src/lib/encoders/encode-ktx2-basis-texture.ts"() {
1497
- init_basis_module_loader();
1498
- }
1499
- });
1500
1482
 
1501
1483
  // src/ktx2-basis-writer.ts
1502
- var KTX2BasisWriter;
1503
- var init_ktx2_basis_writer = __esm({
1504
- "src/ktx2-basis-writer.ts"() {
1505
- init_version();
1506
- init_encode_ktx2_basis_texture();
1507
- KTX2BasisWriter = {
1508
- name: "Basis Universal Supercompressed GPU Texture",
1509
- id: "ktx2-basis-writer",
1510
- module: "textures",
1511
- version: VERSION,
1512
- extensions: ["ktx2"],
1513
- options: {
1514
- ["ktx2-basis-writer"]: {
1515
- useSRGB: false,
1516
- qualityLevel: 10,
1517
- encodeUASTC: false,
1518
- mipmaps: false
1519
- }
1520
- },
1521
- encode: encodeKTX2BasisTexture
1522
- };
1523
- }
1524
- });
1484
+ var KTX2BasisWriter = {
1485
+ name: "Basis Universal Supercompressed GPU Texture",
1486
+ id: "ktx2-basis-writer",
1487
+ module: "textures",
1488
+ version: VERSION,
1489
+ extensions: ["ktx2"],
1490
+ options: {
1491
+ ["ktx2-basis-writer"]: {
1492
+ useSRGB: false,
1493
+ qualityLevel: 10,
1494
+ encodeUASTC: false,
1495
+ mipmaps: false
1496
+ }
1497
+ },
1498
+ encode: encodeKTX2BasisTexture
1499
+ };
1525
1500
 
1526
1501
  // ../images/src/lib/utils/version.ts
1527
- var VERSION3;
1528
- var init_version3 = __esm({
1529
- "../images/src/lib/utils/version.ts"() {
1530
- VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1531
- }
1532
- });
1502
+ var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
1533
1503
 
1534
1504
  // ../images/src/lib/category-api/image-type.ts
1505
+ var {
1506
+ _parseImageNode
1507
+ } = globalThis;
1508
+ var IMAGE_SUPPORTED = typeof Image !== "undefined";
1509
+ var IMAGE_BITMAP_SUPPORTED = typeof ImageBitmap !== "undefined";
1510
+ var NODE_IMAGE_SUPPORTED = Boolean(_parseImageNode);
1511
+ var DATA_SUPPORTED = isBrowser2 ? true : NODE_IMAGE_SUPPORTED;
1535
1512
  function isImageTypeSupported(type) {
1536
1513
  switch (type) {
1537
1514
  case "auto":
@@ -1558,17 +1535,6 @@
1558
1535
  }
1559
1536
  throw new Error("Install '@loaders.gl/polyfills' to parse images under Node.js");
1560
1537
  }
1561
- var _parseImageNode, IMAGE_SUPPORTED, IMAGE_BITMAP_SUPPORTED, NODE_IMAGE_SUPPORTED, DATA_SUPPORTED;
1562
- var init_image_type = __esm({
1563
- "../images/src/lib/category-api/image-type.ts"() {
1564
- init_src2();
1565
- ({ _parseImageNode } = globalThis);
1566
- IMAGE_SUPPORTED = typeof Image !== "undefined";
1567
- IMAGE_BITMAP_SUPPORTED = typeof ImageBitmap !== "undefined";
1568
- NODE_IMAGE_SUPPORTED = Boolean(_parseImageNode);
1569
- DATA_SUPPORTED = isBrowser2 ? true : NODE_IMAGE_SUPPORTED;
1570
- }
1571
- });
1572
1538
 
1573
1539
  // ../images/src/lib/category-api/parsed-image-api.ts
1574
1540
  function getImageType(image) {
@@ -1612,12 +1578,10 @@
1612
1578
  }
1613
1579
  return null;
1614
1580
  }
1615
- var init_parsed_image_api = __esm({
1616
- "../images/src/lib/category-api/parsed-image-api.ts"() {
1617
- }
1618
- });
1619
1581
 
1620
1582
  // ../images/src/lib/parsers/svg-utils.ts
1583
+ var SVG_DATA_URL_PATTERN = /^data:image\/svg\+xml/;
1584
+ var SVG_URL_PATTERN = /\.svg((\?|#).*)?$/;
1621
1585
  function isSVG(url) {
1622
1586
  return url && (SVG_DATA_URL_PATTERN.test(url) || SVG_URL_PATTERN.test(url));
1623
1587
  }
@@ -1643,13 +1607,6 @@
1643
1607
  }
1644
1608
  return new Blob([new Uint8Array(arrayBuffer)]);
1645
1609
  }
1646
- var SVG_DATA_URL_PATTERN, SVG_URL_PATTERN;
1647
- var init_svg_utils = __esm({
1648
- "../images/src/lib/parsers/svg-utils.ts"() {
1649
- SVG_DATA_URL_PATTERN = /^data:image\/svg\+xml/;
1650
- SVG_URL_PATTERN = /\.svg((\?|#).*)?$/;
1651
- }
1652
- });
1653
1610
 
1654
1611
  // ../images/src/lib/parsers/parse-to-image.ts
1655
1612
  async function parseToImage(arrayBuffer, options, url) {
@@ -1680,13 +1637,10 @@
1680
1637
  }
1681
1638
  });
1682
1639
  }
1683
- var init_parse_to_image = __esm({
1684
- "../images/src/lib/parsers/parse-to-image.ts"() {
1685
- init_svg_utils();
1686
- }
1687
- });
1688
1640
 
1689
1641
  // ../images/src/lib/parsers/parse-to-image-bitmap.ts
1642
+ var EMPTY_OBJECT = {};
1643
+ var imagebitmapOptionsSupported = true;
1690
1644
  async function parseToImageBitmap(arrayBuffer, options, url) {
1691
1645
  let blob;
1692
1646
  if (isSVG(url)) {
@@ -1718,15 +1672,6 @@
1718
1672
  }
1719
1673
  return true;
1720
1674
  }
1721
- var EMPTY_OBJECT, imagebitmapOptionsSupported;
1722
- var init_parse_to_image_bitmap = __esm({
1723
- "../images/src/lib/parsers/parse-to-image-bitmap.ts"() {
1724
- init_svg_utils();
1725
- init_parse_to_image();
1726
- EMPTY_OBJECT = {};
1727
- imagebitmapOptionsSupported = true;
1728
- }
1729
- });
1730
1675
 
1731
1676
  // ../images/src/lib/category-api/parse-isobmff-binary.ts
1732
1677
  function getISOBMFFMediaType(buffer) {
@@ -1743,7 +1688,10 @@
1743
1688
  switch (brandMajor) {
1744
1689
  case "avif":
1745
1690
  case "avis":
1746
- return { extension: "avif", mimeType: "image/avif" };
1691
+ return {
1692
+ extension: "avif",
1693
+ mimeType: "image/avif"
1694
+ };
1747
1695
  default:
1748
1696
  return null;
1749
1697
  }
@@ -1763,12 +1711,10 @@
1763
1711
  }
1764
1712
  return true;
1765
1713
  }
1766
- var init_parse_isobmff_binary = __esm({
1767
- "../images/src/lib/category-api/parse-isobmff-binary.ts"() {
1768
- }
1769
- });
1770
1714
 
1771
1715
  // ../images/src/lib/category-api/binary-image-api.ts
1716
+ var BIG_ENDIAN = false;
1717
+ var LITTLE_ENDIAN = true;
1772
1718
  function getBinaryImageMetadata(binaryData) {
1773
1719
  const dataView = toDataView(binaryData);
1774
1720
  return getPngMetadata(dataView) || getJpegMetadata(dataView) || getGifMetadata(dataView) || getBmpMetadata(dataView) || getISOBMFFMetadata(dataView);
@@ -1781,6 +1727,7 @@
1781
1727
  }
1782
1728
  return {
1783
1729
  mimeType: mediaType.mimeType,
1730
+ // TODO - decode width and height
1784
1731
  width: 0,
1785
1732
  height: 0
1786
1733
  };
@@ -1827,7 +1774,10 @@
1827
1774
  if (!isJpeg) {
1828
1775
  return null;
1829
1776
  }
1830
- const { tableMarkers, sofMarkers } = getJpegMarkers();
1777
+ const {
1778
+ tableMarkers,
1779
+ sofMarkers
1780
+ } = getJpegMarkers();
1831
1781
  let i2 = 2;
1832
1782
  while (i2 + 9 < dataView.byteLength) {
1833
1783
  const marker = dataView.getUint16(i2, BIG_ENDIAN);
@@ -1835,7 +1785,9 @@
1835
1785
  return {
1836
1786
  mimeType: "image/jpeg",
1837
1787
  height: dataView.getUint16(i2 + 5, BIG_ENDIAN),
1788
+ // Number of lines
1838
1789
  width: dataView.getUint16(i2 + 7, BIG_ENDIAN)
1790
+ // Number of pixels per line
1839
1791
  };
1840
1792
  }
1841
1793
  if (!tableMarkers.has(marker)) {
@@ -1847,27 +1799,15 @@
1847
1799
  return null;
1848
1800
  }
1849
1801
  function getJpegMarkers() {
1850
- const tableMarkers = new Set([65499, 65476, 65484, 65501, 65534]);
1802
+ const tableMarkers = /* @__PURE__ */ new Set([65499, 65476, 65484, 65501, 65534]);
1851
1803
  for (let i2 = 65504; i2 < 65520; ++i2) {
1852
1804
  tableMarkers.add(i2);
1853
1805
  }
1854
- const sofMarkers = new Set([
1855
- 65472,
1856
- 65473,
1857
- 65474,
1858
- 65475,
1859
- 65477,
1860
- 65478,
1861
- 65479,
1862
- 65481,
1863
- 65482,
1864
- 65483,
1865
- 65485,
1866
- 65486,
1867
- 65487,
1868
- 65502
1869
- ]);
1870
- return { tableMarkers, sofMarkers };
1806
+ const sofMarkers = /* @__PURE__ */ new Set([65472, 65473, 65474, 65475, 65477, 65478, 65479, 65481, 65482, 65483, 65485, 65486, 65487, 65502]);
1807
+ return {
1808
+ tableMarkers,
1809
+ sofMarkers
1810
+ };
1871
1811
  }
1872
1812
  function toDataView(data) {
1873
1813
  if (data instanceof DataView) {
@@ -1881,35 +1821,25 @@
1881
1821
  }
1882
1822
  throw new Error("toDataView");
1883
1823
  }
1884
- var BIG_ENDIAN, LITTLE_ENDIAN;
1885
- var init_binary_image_api = __esm({
1886
- "../images/src/lib/category-api/binary-image-api.ts"() {
1887
- init_parse_isobmff_binary();
1888
- BIG_ENDIAN = false;
1889
- LITTLE_ENDIAN = true;
1890
- }
1891
- });
1892
1824
 
1893
1825
  // ../images/src/lib/parsers/parse-to-node-image.ts
1894
1826
  async function parseToNodeImage(arrayBuffer, options) {
1895
- const { mimeType } = getBinaryImageMetadata(arrayBuffer) || {};
1827
+ const {
1828
+ mimeType
1829
+ } = getBinaryImageMetadata(arrayBuffer) || {};
1896
1830
  const _parseImageNode2 = globalThis._parseImageNode;
1897
1831
  assert2(_parseImageNode2);
1898
1832
  return await _parseImageNode2(arrayBuffer, mimeType);
1899
1833
  }
1900
- var init_parse_to_node_image = __esm({
1901
- "../images/src/lib/parsers/parse-to-node-image.ts"() {
1902
- init_src2();
1903
- init_binary_image_api();
1904
- }
1905
- });
1906
1834
 
1907
1835
  // ../images/src/lib/parsers/parse-image.ts
1908
1836
  async function parseImage(arrayBuffer, options, context) {
1909
1837
  options = options || {};
1910
1838
  const imageOptions = options.image || {};
1911
1839
  const imageType = imageOptions.type || "auto";
1912
- const { url } = context || {};
1840
+ const {
1841
+ url
1842
+ } = context || {};
1913
1843
  const loadType = getLoadableImageType(imageType);
1914
1844
  let image;
1915
1845
  switch (loadType) {
@@ -1940,79 +1870,46 @@
1940
1870
  return type;
1941
1871
  }
1942
1872
  }
1943
- var init_parse_image = __esm({
1944
- "../images/src/lib/parsers/parse-image.ts"() {
1945
- init_src2();
1946
- init_image_type();
1947
- init_parsed_image_api();
1948
- init_parse_to_image();
1949
- init_parse_to_image_bitmap();
1950
- init_parse_to_node_image();
1951
- }
1952
- });
1953
1873
 
1954
1874
  // ../images/src/image-loader.ts
1955
- var EXTENSIONS, MIME_TYPES, DEFAULT_IMAGE_LOADER_OPTIONS, ImageLoader;
1956
- var init_image_loader = __esm({
1957
- "../images/src/image-loader.ts"() {
1958
- init_version3();
1959
- init_parse_image();
1960
- init_binary_image_api();
1961
- EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg", "avif"];
1962
- MIME_TYPES = [
1963
- "image/png",
1964
- "image/jpeg",
1965
- "image/gif",
1966
- "image/webp",
1967
- "image/avif",
1968
- "image/bmp",
1969
- "image/vnd.microsoft.icon",
1970
- "image/svg+xml"
1971
- ];
1972
- DEFAULT_IMAGE_LOADER_OPTIONS = {
1973
- image: {
1974
- type: "auto",
1975
- decode: true
1976
- }
1977
- };
1978
- ImageLoader = {
1979
- id: "image",
1980
- module: "images",
1981
- name: "Images",
1982
- version: VERSION3,
1983
- mimeTypes: MIME_TYPES,
1984
- extensions: EXTENSIONS,
1985
- parse: parseImage,
1986
- tests: [(arrayBuffer) => Boolean(getBinaryImageMetadata(new DataView(arrayBuffer)))],
1987
- options: DEFAULT_IMAGE_LOADER_OPTIONS
1988
- };
1989
- }
1990
- });
1991
-
1992
- // ../images/src/index.ts
1993
- var init_src3 = __esm({
1994
- "../images/src/index.ts"() {
1995
- init_image_loader();
1996
- init_parsed_image_api();
1997
- }
1998
- });
1875
+ var EXTENSIONS = ["png", "jpg", "jpeg", "gif", "webp", "bmp", "ico", "svg", "avif"];
1876
+ var MIME_TYPES = ["image/png", "image/jpeg", "image/gif", "image/webp", "image/avif", "image/bmp", "image/vnd.microsoft.icon", "image/svg+xml"];
1877
+ var DEFAULT_IMAGE_LOADER_OPTIONS = {
1878
+ image: {
1879
+ type: "auto",
1880
+ decode: true
1881
+ // if format is HTML
1882
+ }
1883
+ // imagebitmap: {} - passes (platform dependent) parameters to ImageBitmap constructor
1884
+ };
1885
+ var ImageLoader = {
1886
+ id: "image",
1887
+ module: "images",
1888
+ name: "Images",
1889
+ version: VERSION3,
1890
+ mimeTypes: MIME_TYPES,
1891
+ extensions: EXTENSIONS,
1892
+ parse: parseImage,
1893
+ // TODO: byteOffset, byteLength;
1894
+ tests: [(arrayBuffer) => Boolean(getBinaryImageMetadata(new DataView(arrayBuffer)))],
1895
+ options: DEFAULT_IMAGE_LOADER_OPTIONS
1896
+ };
1999
1897
 
2000
1898
  // src/lib/texture-api/generate-url.ts
2001
1899
  function generateUrl(getUrl, options, urlOptions) {
2002
- let url = typeof getUrl === "function" ? getUrl({ ...options, ...urlOptions }) : getUrl;
1900
+ let url = typeof getUrl === "function" ? getUrl({
1901
+ ...options,
1902
+ ...urlOptions
1903
+ }) : getUrl;
2003
1904
  const baseUrl = options.baseUrl;
2004
1905
  if (baseUrl) {
2005
1906
  url = baseUrl[baseUrl.length - 1] === "/" ? `${baseUrl}${url}` : `${baseUrl}/${url}`;
2006
1907
  }
2007
1908
  return resolvePath(url);
2008
1909
  }
2009
- var init_generate_url = __esm({
2010
- "src/lib/texture-api/generate-url.ts"() {
2011
- init_src2();
2012
- }
2013
- });
2014
1910
 
2015
1911
  // src/lib/texture-api/async-deep-map.ts
1912
+ var isObject = (value) => value && typeof value === "object";
2016
1913
  async function asyncDeepMap(tree, func, options = {}) {
2017
1914
  return await mapSubtree(tree, func, options);
2018
1915
  }
@@ -2043,12 +1940,6 @@
2043
1940
  const promises = urlArray.map((url) => mapSubtree(url, func, options));
2044
1941
  return await Promise.all(promises);
2045
1942
  }
2046
- var isObject;
2047
- var init_async_deep_map = __esm({
2048
- "src/lib/texture-api/async-deep-map.ts"() {
2049
- isObject = (value) => value && typeof value === "object";
2050
- }
2051
- });
2052
1943
 
2053
1944
  // src/lib/texture-api/deep-load.ts
2054
1945
  async function deepLoad(urlTree, load, options) {
@@ -2059,11 +1950,6 @@
2059
1950
  const arrayBuffer = await response.arrayBuffer();
2060
1951
  return await load(arrayBuffer, options);
2061
1952
  }
2062
- var init_deep_load = __esm({
2063
- "src/lib/texture-api/deep-load.ts"() {
2064
- init_async_deep_map();
2065
- }
2066
- });
2067
1953
 
2068
1954
  // src/lib/texture-api/load-image.ts
2069
1955
  async function loadImageTexture(getUrl, options = {}) {
@@ -2077,15 +1963,27 @@
2077
1963
  async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
2078
1964
  const urls = [];
2079
1965
  if (mipLevels === "auto") {
2080
- const url = generateUrl(getUrl, options, { ...urlOptions, lod: 0 });
1966
+ const url = generateUrl(getUrl, options, {
1967
+ ...urlOptions,
1968
+ lod: 0
1969
+ });
2081
1970
  const image = await shallowLoad(url, ImageLoader.parse, options);
2082
- const { width, height } = getImageSize(image);
2083
- mipLevels = getMipLevels({ width, height });
1971
+ const {
1972
+ width,
1973
+ height
1974
+ } = getImageSize(image);
1975
+ mipLevels = getMipLevels({
1976
+ width,
1977
+ height
1978
+ });
2084
1979
  urls.push(url);
2085
1980
  }
2086
1981
  assert2(mipLevels > 0);
2087
1982
  for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {
2088
- const url = generateUrl(getUrl, options, { ...urlOptions, lod: mipLevel });
1983
+ const url = generateUrl(getUrl, options, {
1984
+ ...urlOptions,
1985
+ lod: mipLevel
1986
+ });
2089
1987
  urls.push(url);
2090
1988
  }
2091
1989
  return urls;
@@ -2093,14 +1991,6 @@
2093
1991
  function getMipLevels(size) {
2094
1992
  return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
2095
1993
  }
2096
- var init_load_image = __esm({
2097
- "src/lib/texture-api/load-image.ts"() {
2098
- init_src2();
2099
- init_src3();
2100
- init_generate_url();
2101
- init_deep_load();
2102
- }
2103
- });
2104
1994
 
2105
1995
  // src/lib/texture-api/load-image-array.ts
2106
1996
  async function loadImageTextureArray(count, getUrl, options = {}) {
@@ -2110,27 +2000,62 @@
2110
2000
  async function getImageArrayUrls(count, getUrl, options = {}) {
2111
2001
  const promises = [];
2112
2002
  for (let index = 0; index < count; index++) {
2113
- const promise = getImageUrls(getUrl, options, { index });
2003
+ const promise = getImageUrls(getUrl, options, {
2004
+ index
2005
+ });
2114
2006
  promises.push(promise);
2115
2007
  }
2116
2008
  return await Promise.all(promises);
2117
2009
  }
2118
- var init_load_image_array = __esm({
2119
- "src/lib/texture-api/load-image-array.ts"() {
2120
- init_src3();
2121
- init_load_image();
2122
- init_deep_load();
2123
- }
2124
- });
2125
2010
 
2126
2011
  // src/lib/texture-api/load-image-cube.ts
2012
+ var GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069;
2013
+ var GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070;
2014
+ var GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071;
2015
+ var GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072;
2016
+ var GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073;
2017
+ var GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074;
2018
+ var CUBE_FACES = [{
2019
+ face: GL_TEXTURE_CUBE_MAP_POSITIVE_X,
2020
+ direction: "right",
2021
+ axis: "x",
2022
+ sign: "positive"
2023
+ }, {
2024
+ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X,
2025
+ direction: "left",
2026
+ axis: "x",
2027
+ sign: "negative"
2028
+ }, {
2029
+ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y,
2030
+ direction: "top",
2031
+ axis: "y",
2032
+ sign: "positive"
2033
+ }, {
2034
+ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y,
2035
+ direction: "bottom",
2036
+ axis: "y",
2037
+ sign: "negative"
2038
+ }, {
2039
+ face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z,
2040
+ direction: "front",
2041
+ axis: "z",
2042
+ sign: "positive"
2043
+ }, {
2044
+ face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z,
2045
+ direction: "back",
2046
+ axis: "z",
2047
+ sign: "negative"
2048
+ }];
2127
2049
  async function getImageCubeUrls(getUrl, options) {
2128
2050
  const urls = {};
2129
2051
  const promises = [];
2130
2052
  let index = 0;
2131
2053
  for (let i2 = 0; i2 < CUBE_FACES.length; ++i2) {
2132
2054
  const face = CUBE_FACES[index];
2133
- const promise = getImageUrls(getUrl, options, { ...face, index: index++ }).then((url) => {
2055
+ const promise = getImageUrls(getUrl, options, {
2056
+ ...face,
2057
+ index: index++
2058
+ }).then((url) => {
2134
2059
  urls[face.face] = url;
2135
2060
  });
2136
2061
  promises.push(promise);
@@ -2142,95 +2067,23 @@
2142
2067
  const urls = await getImageCubeUrls(getUrl, options);
2143
2068
  return await deepLoad(urls, ImageLoader.parse, options);
2144
2069
  }
2145
- var GL_TEXTURE_CUBE_MAP_POSITIVE_X, GL_TEXTURE_CUBE_MAP_NEGATIVE_X, GL_TEXTURE_CUBE_MAP_POSITIVE_Y, GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, GL_TEXTURE_CUBE_MAP_POSITIVE_Z, GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, CUBE_FACES;
2146
- var init_load_image_cube = __esm({
2147
- "src/lib/texture-api/load-image-cube.ts"() {
2148
- init_src3();
2149
- init_load_image();
2150
- init_deep_load();
2151
- GL_TEXTURE_CUBE_MAP_POSITIVE_X = 34069;
2152
- GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 34070;
2153
- GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 34071;
2154
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072;
2155
- GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 34073;
2156
- GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074;
2157
- CUBE_FACES = [
2158
- { face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: "right", axis: "x", sign: "positive" },
2159
- { face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: "left", axis: "x", sign: "negative" },
2160
- { face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: "top", axis: "y", sign: "positive" },
2161
- { face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: "bottom", axis: "y", sign: "negative" },
2162
- { face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: "front", axis: "z", sign: "positive" },
2163
- { face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: "back", axis: "z", sign: "negative" }
2164
- ];
2165
- }
2166
- });
2167
2070
 
2168
2071
  // src/index.ts
2169
- var src_exports = {};
2170
- __export(src_exports, {
2171
- BASIS_EXTERNAL_LIBRARIES: () => BASIS_EXTERNAL_LIBRARIES,
2172
- BasisLoader: () => BasisLoader,
2173
- BasisWorkerLoader: () => BasisWorkerLoader,
2174
- CRUNCH_EXTERNAL_LIBRARIES: () => CRUNCH_EXTERNAL_LIBRARIES,
2175
- CompressedTextureLoader: () => CompressedTextureLoader,
2176
- CompressedTextureWorkerLoader: () => CompressedTextureWorkerLoader,
2177
- CompressedTextureWriter: () => CompressedTextureWriter,
2178
- CrunchLoader: () => CrunchLoader,
2179
- CrunchWorkerLoader: () => CrunchLoader,
2180
- GL_EXTENSIONS_CONSTANTS: () => GL_EXTENSIONS_CONSTANTS,
2181
- KTX2BasisWriter: () => KTX2BasisWriter,
2182
- KTX2BasisWriterWorker: () => KTX2BasisWriterWorker,
2183
- NPYLoader: () => NPYLoader,
2184
- NPYWorkerLoader: () => NPYWorkerLoader,
2185
- getSupportedGPUTextureFormats: () => getSupportedGPUTextureFormats,
2186
- loadImageTexture: () => loadImageTexture,
2187
- loadImageTextureArray: () => loadImageTextureArray,
2188
- loadImageTextureCube: () => loadImageTextureCube,
2189
- selectSupportedBasisFormat: () => selectSupportedBasisFormat
2190
- });
2191
- var KTX2BasisWriterWorker;
2192
- var init_src4 = __esm({
2193
- "src/index.ts"() {
2194
- init_version();
2195
- init_basis_loader();
2196
- init_compressed_texture_loader();
2197
- init_crunch_loader();
2198
- init_npy_loader();
2199
- init_basis_module_loader();
2200
- init_crunch_module_loader();
2201
- init_compressed_texture_writer();
2202
- init_ktx2_basis_writer();
2203
- init_load_image();
2204
- init_load_image_array();
2205
- init_load_image_cube();
2206
- init_gl_extensions();
2207
- init_parse_basis();
2208
- init_texture_formats();
2209
- init_crunch_loader();
2210
- KTX2BasisWriterWorker = {
2211
- name: "Basis Universal Supercompressed GPU Texture",
2212
- id: "ktx2-basis-writer",
2213
- module: "textures",
2214
- version: VERSION,
2215
- extensions: ["ktx2"],
2216
- worker: true,
2217
- options: {
2218
- useSRGB: false,
2219
- qualityLevel: 10,
2220
- encodeUASTC: false,
2221
- mipmaps: false
2222
- }
2223
- };
2072
+ var KTX2BasisWriterWorker = {
2073
+ name: "Basis Universal Supercompressed GPU Texture",
2074
+ id: "ktx2-basis-writer",
2075
+ module: "textures",
2076
+ version: VERSION,
2077
+ extensions: ["ktx2"],
2078
+ worker: true,
2079
+ options: {
2080
+ useSRGB: false,
2081
+ qualityLevel: 10,
2082
+ encodeUASTC: false,
2083
+ mipmaps: false
2224
2084
  }
2225
- });
2226
-
2227
- // src/bundle.ts
2228
- var require_bundle = __commonJS({
2229
- "src/bundle.ts"(exports, module) {
2230
- var moduleExports = (init_src4(), src_exports);
2231
- globalThis.loaders = globalThis.loaders || {};
2232
- module.exports = Object.assign(globalThis.loaders, moduleExports);
2233
- }
2234
- });
2235
- require_bundle();
2085
+ };
2086
+ return __toCommonJS(src_exports);
2236
2087
  })();
2088
+ return __exports__;
2089
+ });