@loaders.gl/textures 4.4.0-alpha.2 → 4.4.0

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 (234) hide show
  1. package/README.md +197 -1
  2. package/dist/basis-loader.d.ts +15 -10
  3. package/dist/basis-loader.d.ts.map +1 -1
  4. package/dist/basis-loader.js +1 -1
  5. package/dist/basis-loader.js.map +1 -0
  6. package/dist/basis-worker-node.js +932 -10040
  7. package/dist/basis-worker.d.ts +2 -0
  8. package/dist/basis-worker.d.ts.map +1 -0
  9. package/dist/basis-worker.js +337 -151
  10. package/dist/basis-worker.js.map +1 -0
  11. package/dist/compressed-texture-loader.d.ts +2 -5
  12. package/dist/compressed-texture-loader.d.ts.map +1 -1
  13. package/dist/compressed-texture-loader.js +2 -3
  14. package/dist/compressed-texture-loader.js.map +1 -0
  15. package/dist/compressed-texture-worker.d.ts +2 -0
  16. package/dist/compressed-texture-worker.d.ts.map +1 -0
  17. package/dist/compressed-texture-worker.js +1148 -365
  18. package/dist/compressed-texture-worker.js.map +1 -0
  19. package/dist/compressed-texture-writer.js +1 -0
  20. package/dist/compressed-texture-writer.js.map +1 -0
  21. package/dist/crunch-loader.d.ts +1 -5
  22. package/dist/crunch-loader.d.ts.map +1 -1
  23. package/dist/crunch-loader.js +2 -3
  24. package/dist/crunch-loader.js.map +1 -0
  25. package/dist/crunch-worker.d.ts +2 -0
  26. package/dist/crunch-worker.d.ts.map +1 -0
  27. package/dist/crunch-worker.js +204 -92
  28. package/dist/crunch-worker.js.map +1 -0
  29. package/dist/dist.dev.js +2687 -677
  30. package/dist/dist.min.js +1 -2
  31. package/dist/index.cjs +1644 -428
  32. package/dist/index.cjs.map +4 -4
  33. package/dist/index.d.ts +13 -4
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/index.js +7 -3
  36. package/dist/index.js.map +1 -0
  37. package/dist/ktx2-basis-writer-worker-node.js +574 -9832
  38. package/dist/ktx2-basis-writer-worker.d.ts +2 -0
  39. package/dist/ktx2-basis-writer-worker.d.ts.map +1 -0
  40. package/dist/ktx2-basis-writer-worker.js +45 -7
  41. package/dist/ktx2-basis-writer-worker.js.map +1 -0
  42. package/dist/ktx2-basis-writer.js +1 -0
  43. package/dist/ktx2-basis-writer.js.map +1 -0
  44. package/dist/lib/composite-image/image-texture-cube.d.ts +47 -0
  45. package/dist/lib/composite-image/image-texture-cube.d.ts.map +1 -0
  46. package/dist/lib/composite-image/image-texture-cube.js +42 -0
  47. package/dist/lib/composite-image/image-texture-cube.js.map +1 -0
  48. package/dist/lib/composite-image/parse-composite-image.d.ts +43 -0
  49. package/dist/lib/composite-image/parse-composite-image.d.ts.map +1 -0
  50. package/dist/lib/composite-image/parse-composite-image.js +437 -0
  51. package/dist/lib/composite-image/parse-composite-image.js.map +1 -0
  52. package/dist/lib/encoders/encode-ktx.d.ts +1 -1
  53. package/dist/lib/encoders/encode-ktx.d.ts.map +1 -1
  54. package/dist/lib/encoders/encode-ktx.js +1 -0
  55. package/dist/lib/encoders/encode-ktx.js.map +1 -0
  56. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +2 -1
  57. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -1
  58. package/dist/lib/encoders/encode-ktx2-basis-texture.js +3 -1
  59. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  60. package/dist/lib/encoders/encode-texture.js +1 -0
  61. package/dist/lib/encoders/encode-texture.js.map +1 -0
  62. package/dist/lib/gl-extensions.d.ts +166 -58
  63. package/dist/lib/gl-extensions.d.ts.map +1 -1
  64. package/dist/lib/gl-extensions.js +178 -66
  65. package/dist/lib/gl-extensions.js.map +1 -0
  66. package/dist/lib/gl-types.d.ts +4 -0
  67. package/dist/lib/gl-types.d.ts.map +1 -0
  68. package/dist/lib/gl-types.js +5 -0
  69. package/dist/lib/gl-types.js.map +1 -0
  70. package/dist/lib/parsers/basis-module-loader.d.ts +3 -2
  71. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -1
  72. package/dist/lib/parsers/basis-module-loader.js +1 -0
  73. package/dist/lib/parsers/basis-module-loader.js.map +1 -0
  74. package/dist/lib/parsers/crunch-module-loader.d.ts +2 -2
  75. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -1
  76. package/dist/lib/parsers/crunch-module-loader.js +1 -0
  77. package/dist/lib/parsers/crunch-module-loader.js.map +1 -0
  78. package/dist/lib/parsers/parse-basis.d.ts +34 -2
  79. package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
  80. package/dist/lib/parsers/parse-basis.js +265 -64
  81. package/dist/lib/parsers/parse-basis.js.map +1 -0
  82. package/dist/lib/parsers/parse-compressed-texture.js +1 -0
  83. package/dist/lib/parsers/parse-compressed-texture.js.map +1 -0
  84. package/dist/lib/parsers/parse-crunch.d.ts.map +1 -1
  85. package/dist/lib/parsers/parse-crunch.js +7 -6
  86. package/dist/lib/parsers/parse-crunch.js.map +1 -0
  87. package/dist/lib/parsers/parse-dds.d.ts.map +1 -1
  88. package/dist/lib/parsers/parse-dds.js +11 -11
  89. package/dist/lib/parsers/parse-dds.js.map +1 -0
  90. package/dist/lib/parsers/parse-hdr.d.ts +21 -0
  91. package/dist/lib/parsers/parse-hdr.d.ts.map +1 -0
  92. package/dist/lib/parsers/parse-hdr.js +305 -0
  93. package/dist/lib/parsers/parse-hdr.js.map +1 -0
  94. package/dist/lib/parsers/parse-ktx.d.ts.map +1 -1
  95. package/dist/lib/parsers/parse-ktx.js +11 -3
  96. package/dist/lib/parsers/parse-ktx.js.map +1 -0
  97. package/dist/lib/parsers/parse-npy.js +1 -0
  98. package/dist/lib/parsers/parse-npy.js.map +1 -0
  99. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -1
  100. package/dist/lib/parsers/parse-pvr.js +32 -74
  101. package/dist/lib/parsers/parse-pvr.js.map +1 -0
  102. package/dist/lib/texture-api/async-deep-map.js +1 -0
  103. package/dist/lib/texture-api/async-deep-map.js.map +1 -0
  104. package/dist/lib/texture-api/deep-load.js +1 -0
  105. package/dist/lib/texture-api/deep-load.js.map +1 -0
  106. package/dist/lib/texture-api/generate-url.d.ts.map +1 -1
  107. package/dist/lib/texture-api/generate-url.js +3 -10
  108. package/dist/lib/texture-api/generate-url.js.map +1 -0
  109. package/dist/lib/texture-api/load-image-array.d.ts +6 -3
  110. package/dist/lib/texture-api/load-image-array.d.ts.map +1 -1
  111. package/dist/lib/texture-api/load-image-array.js +6 -3
  112. package/dist/lib/texture-api/load-image-array.js.map +1 -0
  113. package/dist/lib/texture-api/load-image-cube.d.ts +7 -11
  114. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
  115. package/dist/lib/texture-api/load-image-cube.js +9 -20
  116. package/dist/lib/texture-api/load-image-cube.js.map +1 -0
  117. package/dist/lib/texture-api/load-image.d.ts +6 -3
  118. package/dist/lib/texture-api/load-image.d.ts.map +1 -1
  119. package/dist/lib/texture-api/load-image.js +9 -4
  120. package/dist/lib/texture-api/load-image.js.map +1 -0
  121. package/dist/lib/texture-api/texture-api-types.d.ts +13 -0
  122. package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -1
  123. package/dist/lib/texture-api/texture-api-types.js +1 -0
  124. package/dist/lib/texture-api/texture-api-types.js.map +1 -0
  125. package/dist/lib/utils/detect-supported-texture-formats.d.ts +14 -0
  126. package/dist/lib/utils/detect-supported-texture-formats.d.ts.map +1 -0
  127. package/dist/lib/utils/detect-supported-texture-formats.js +197 -0
  128. package/dist/lib/utils/detect-supported-texture-formats.js.map +1 -0
  129. package/dist/lib/utils/extract-mipmap-images.d.ts +6 -2
  130. package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
  131. package/dist/lib/utils/extract-mipmap-images.js +14 -2
  132. package/dist/lib/utils/extract-mipmap-images.js.map +1 -0
  133. package/dist/lib/utils/ktx-format-helper.d.ts +9 -1
  134. package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -1
  135. package/dist/lib/utils/ktx-format-helper.js +77 -109
  136. package/dist/lib/utils/ktx-format-helper.js.map +1 -0
  137. package/dist/lib/utils/texture-format-map.d.ts +10 -0
  138. package/dist/lib/utils/texture-format-map.d.ts.map +1 -0
  139. package/dist/lib/utils/texture-format-map.js +87 -0
  140. package/dist/lib/utils/texture-format-map.js.map +1 -0
  141. package/dist/lib/utils/version.js +2 -1
  142. package/dist/lib/utils/version.js.map +1 -0
  143. package/dist/libs/libs/README.md +9 -0
  144. package/dist/libs/libs/basis_encoder.js +21 -0
  145. package/dist/libs/libs/basis_encoder.wasm +0 -0
  146. package/dist/libs/libs/basis_transcoder.js +22 -0
  147. package/dist/libs/libs/basis_transcoder.wasm +0 -0
  148. package/dist/libs/libs/crunch.js +136 -0
  149. package/dist/npy-loader.d.ts +2 -2
  150. package/dist/npy-loader.js +1 -0
  151. package/dist/npy-loader.js.map +1 -0
  152. package/dist/npy-worker.d.ts +2 -0
  153. package/dist/npy-worker.d.ts.map +1 -0
  154. package/dist/npy-worker.js +5 -2
  155. package/dist/npy-worker.js.map +1 -0
  156. package/dist/radiance-hdr-loader.d.ts +25 -0
  157. package/dist/radiance-hdr-loader.d.ts.map +1 -0
  158. package/dist/radiance-hdr-loader.js +23 -0
  159. package/dist/radiance-hdr-loader.js.map +1 -0
  160. package/dist/texture-array-loader.d.ts +25 -0
  161. package/dist/texture-array-loader.d.ts.map +1 -0
  162. package/dist/texture-array-loader.js +24 -0
  163. package/dist/texture-array-loader.js.map +1 -0
  164. package/dist/texture-cube-array-loader.d.ts +25 -0
  165. package/dist/texture-cube-array-loader.d.ts.map +1 -0
  166. package/dist/texture-cube-array-loader.js +24 -0
  167. package/dist/texture-cube-array-loader.js.map +1 -0
  168. package/dist/texture-cube-loader.d.ts +25 -0
  169. package/dist/texture-cube-loader.d.ts.map +1 -0
  170. package/dist/texture-cube-loader.js +24 -0
  171. package/dist/texture-cube-loader.js.map +1 -0
  172. package/dist/texture-loader.d.ts +25 -0
  173. package/dist/texture-loader.d.ts.map +1 -0
  174. package/dist/texture-loader.js +24 -0
  175. package/dist/texture-loader.js.map +1 -0
  176. package/dist/workers/basis-worker-node.js +1 -0
  177. package/dist/workers/basis-worker-node.js.map +1 -0
  178. package/dist/workers/basis-worker.js +1 -0
  179. package/dist/workers/basis-worker.js.map +1 -0
  180. package/dist/workers/compressed-texture-worker.js +1 -1
  181. package/dist/workers/compressed-texture-worker.js.map +1 -0
  182. package/dist/workers/crunch-worker.d.ts +1 -3
  183. package/dist/workers/crunch-worker.d.ts.map +1 -1
  184. package/dist/workers/crunch-worker.js +1 -0
  185. package/dist/workers/crunch-worker.js.map +1 -0
  186. package/dist/workers/ktx2-basis-writer-worker-node.js +1 -0
  187. package/dist/workers/ktx2-basis-writer-worker-node.js.map +1 -0
  188. package/dist/workers/ktx2-basis-writer-worker.js +1 -0
  189. package/dist/workers/ktx2-basis-writer-worker.js.map +1 -0
  190. package/dist/workers/npy-worker.js +1 -0
  191. package/dist/workers/npy-worker.js.map +1 -0
  192. package/package.json +27 -6
  193. package/src/basis-loader.ts +19 -9
  194. package/src/basis-worker.ts +7 -0
  195. package/src/compressed-texture-loader.ts +3 -7
  196. package/src/compressed-texture-worker.ts +6 -0
  197. package/src/crunch-loader.ts +1 -5
  198. package/src/crunch-worker.ts +6 -0
  199. package/src/index.ts +21 -4
  200. package/src/ktx2-basis-writer-worker.ts +6 -0
  201. package/src/lib/composite-image/image-texture-cube.ts +49 -0
  202. package/src/lib/composite-image/parse-composite-image.ts +699 -0
  203. package/src/lib/encoders/encode-ktx.ts +1 -1
  204. package/src/lib/encoders/encode-ktx2-basis-texture.ts +4 -2
  205. package/src/lib/gl-extensions.ts +188 -81
  206. package/src/lib/gl-types.ts +136 -0
  207. package/src/lib/parsers/basis-module-loader.ts +5 -5
  208. package/src/lib/parsers/crunch-module-loader.ts +4 -4
  209. package/src/lib/parsers/parse-basis.ts +358 -66
  210. package/src/lib/parsers/parse-crunch.ts +11 -8
  211. package/src/lib/parsers/parse-dds.ts +11 -12
  212. package/src/lib/parsers/parse-hdr.ts +426 -0
  213. package/src/lib/parsers/parse-ktx.ts +13 -3
  214. package/src/lib/parsers/parse-pvr.ts +33 -75
  215. package/src/lib/texture-api/generate-url.ts +2 -12
  216. package/src/lib/texture-api/load-image-array.ts +15 -6
  217. package/src/lib/texture-api/load-image-cube.ts +20 -34
  218. package/src/lib/texture-api/load-image.ts +19 -8
  219. package/src/lib/texture-api/texture-api-types.ts +15 -0
  220. package/src/lib/utils/detect-supported-texture-formats.ts +210 -0
  221. package/src/lib/utils/extract-mipmap-images.ts +23 -4
  222. package/src/lib/utils/ktx-format-helper.ts +135 -111
  223. package/src/lib/utils/texture-format-map.ts +162 -0
  224. package/src/npy-worker.ts +6 -0
  225. package/src/radiance-hdr-loader.ts +36 -0
  226. package/src/texture-array-loader.ts +46 -0
  227. package/src/texture-cube-array-loader.ts +49 -0
  228. package/src/texture-cube-loader.ts +46 -0
  229. package/src/texture-loader.ts +49 -0
  230. package/src/workers/compressed-texture-worker.ts +0 -1
  231. package/dist/lib/utils/texture-formats.d.ts +0 -8
  232. package/dist/lib/utils/texture-formats.d.ts.map +0 -1
  233. package/dist/lib/utils/texture-formats.js +0 -50
  234. package/src/lib/utils/texture-formats.ts +0 -59
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressed-texture-worker.js","sourceRoot":"","sources":["../src/compressed-texture-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,6EAA6E;AAC7E,MAAM,CAAC,IAAI,GAAG,CAAC,wCAAwC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC"}
@@ -28,3 +28,4 @@ export const CompressedTextureWriter = {
28
28
  throw new Error('Not implemented');
29
29
  }
30
30
  };
31
+ //# sourceMappingURL=compressed-texture-writer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compressed-texture-writer.js","sourceRoot":"","sources":["../src/compressed-texture-writer.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAC5C,OAAO,EAAC,oCAAoC,EAAC,yCAAsC;AAiBnF;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,IAAI,EAAE,uBAAuB;IAC7B,EAAE,EAAE,KAAK;IACT,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,OAAO;IAEhB,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,kBAAkB,EAAE,aAAa,EAAE,0BAA0B,CAAC;IAE1E,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE,MAAM;YACd,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,KAAK;YACb,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,EAAE;SACd;KACF;IAED,cAAc,EAAE,oCAAoC;IACpD,MAAM;QACJ,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACrC,CAAC;CACqF,CAAC"}
@@ -4,8 +4,6 @@ import type { TextureLevel } from '@loaders.gl/schema';
4
4
  export type CrunchLoaderOptions = LoaderOptions & {
5
5
  /** CrunchLoader options */
6
6
  crunch?: {
7
- /** @deprecated Specify where to load the Crunch decoder library */
8
- libraryPath?: string;
9
7
  /** Override the URL to the worker bundle (by default loads from unpkg.com) */
10
8
  workerUrl?: string;
11
9
  };
@@ -26,9 +24,7 @@ export declare const CrunchLoader: {
26
24
  readonly mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"];
27
25
  readonly binary: true;
28
26
  readonly options: {
29
- readonly crunch: {
30
- readonly libraryPath: "libs/";
31
- };
27
+ readonly crunch: {};
32
28
  };
33
29
  };
34
30
  //# sourceMappingURL=crunch-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"crunch-loader.d.ts","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGrD,2BAA2B;AAC3B,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,2BAA2B;IAC3B,MAAM,CAAC,EAAE;QACP,mEAAmE;QACnE,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,8EAA8E;QAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY;uBACM,YAAY,EAAE;wBACxB,KAAK;;;;;;;;;;;;;;CAe6C,CAAC"}
1
+ {"version":3,"file":"crunch-loader.d.ts","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAS,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAGrD,2BAA2B;AAC3B,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAAG;IAChD,2BAA2B;IAC3B,MAAM,CAAC,EAAE;QACP,8EAA8E;QAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;CACH,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY;uBACM,YAAY,EAAE;wBACxB,KAAK;;;;;;;;;;;;CAa6C,CAAC"}
@@ -18,8 +18,7 @@ export const CrunchLoader = {
18
18
  mimeTypes: ['image/crn', 'image/x-crn', 'application/octet-stream'],
19
19
  binary: true,
20
20
  options: {
21
- crunch: {
22
- libraryPath: 'libs/'
23
- }
21
+ crunch: {}
24
22
  }
25
23
  };
24
+ //# sourceMappingURL=crunch-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-loader.js","sourceRoot":"","sources":["../src/crunch-loader.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,OAAO,EAAC,+BAA4B;AAW5C;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,QAAQ,EAAE,IAAiC;IAC3C,SAAS,EAAE,IAAa;IAExB,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,MAAM,EAAE,UAAU;IAClB,OAAO,EAAE,OAAO;IAChB,MAAM,EAAE,IAAI;IACZ,UAAU,EAAE,CAAC,KAAK,CAAC;IACnB,SAAS,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,0BAA0B,CAAC;IACnE,MAAM,EAAE,IAAI;IACZ,OAAO,EAAE;QACP,MAAM,EAAE,EAAE;KACX;CACoE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=crunch-worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-worker.d.ts","sourceRoot":"","sources":["../src/crunch-worker.ts"],"names":[],"mappings":""}
@@ -27,8 +27,9 @@
27
27
  "loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN."
28
28
  );
29
29
  globalThis._loadersgl_.version = NPM_TAG;
30
+ warningIssued = true;
30
31
  } else {
31
- globalThis._loadersgl_.version = "4.4.0-alpha.1";
32
+ globalThis._loadersgl_.version = "4.4.0";
32
33
  }
33
34
  }
34
35
  return globalThis._loadersgl_.version;
@@ -182,6 +183,16 @@
182
183
 
183
184
  // ../worker-utils/src/lib/library-utils/library-utils.ts
184
185
  var loadLibraryPromises = {};
186
+ function extractLoadLibraryOptions(options = {}) {
187
+ const useLocalLibraries = options.useLocalLibraries ?? options.core?.useLocalLibraries;
188
+ const CDN = options.CDN ?? options.core?.CDN;
189
+ const modules = options.modules;
190
+ return {
191
+ ...useLocalLibraries !== void 0 ? { useLocalLibraries } : {},
192
+ ...CDN !== void 0 ? { CDN } : {},
193
+ ...modules !== void 0 ? { modules } : {}
194
+ };
195
+ }
185
196
  async function loadLibrary(libraryUrl, moduleName = null, options = {}, libraryName = null) {
186
197
  if (moduleName) {
187
198
  libraryUrl = getLibraryUrl(libraryUrl, moduleName, options, libraryName);
@@ -191,6 +202,9 @@
191
202
  return await loadLibraryPromises[libraryUrl];
192
203
  }
193
204
  function getLibraryUrl(library, moduleName, options = {}, libraryName = null) {
205
+ if (options?.core) {
206
+ throw new Error("loadLibrary: options.core must be pre-normalized");
207
+ }
194
208
  if (!options.useLocalLibraries && library.startsWith("http")) {
195
209
  return library;
196
210
  }
@@ -216,10 +230,20 @@
216
230
  return await loadAsArrayBuffer(libraryUrl);
217
231
  }
218
232
  if (!isBrowser) {
233
+ const { requireFromFile } = globalThis.loaders || {};
219
234
  try {
220
- const { requireFromFile } = globalThis.loaders || {};
221
- return await requireFromFile?.(libraryUrl);
235
+ const result = await requireFromFile?.(libraryUrl);
236
+ if (result || !libraryUrl.includes("/dist/libs/")) {
237
+ return result;
238
+ }
239
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
222
240
  } catch (error) {
241
+ if (libraryUrl.includes("/dist/libs/")) {
242
+ try {
243
+ return await requireFromFile?.(libraryUrl.replace("/dist/libs/", "/src/libs/"));
244
+ } catch {
245
+ }
246
+ }
223
247
  console.error(error);
224
248
  return null;
225
249
  }
@@ -255,7 +279,14 @@
255
279
  const response = await fetch(url);
256
280
  return await response.arrayBuffer();
257
281
  }
258
- return await readFileAsArrayBuffer(url);
282
+ try {
283
+ return await readFileAsArrayBuffer(url);
284
+ } catch {
285
+ if (url.includes("/dist/libs/")) {
286
+ return await readFileAsArrayBuffer(url.replace("/dist/libs/", "/src/libs/"));
287
+ }
288
+ throw new Error(`Failed to load ArrayBuffer from ${url}`);
289
+ }
259
290
  }
260
291
  async function loadAsText(url) {
261
292
  const { readFileAsText } = globalThis.loaders || {};
@@ -263,7 +294,14 @@
263
294
  const response = await fetch(url);
264
295
  return await response.text();
265
296
  }
266
- return await readFileAsText(url);
297
+ try {
298
+ return await readFileAsText(url);
299
+ } catch {
300
+ if (url.includes("/dist/libs/")) {
301
+ return await readFileAsText(url.replace("/dist/libs/", "/src/libs/"));
302
+ }
303
+ throw new Error(`Failed to load text from ${url}`);
304
+ }
267
305
  }
268
306
 
269
307
  // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
@@ -342,13 +380,16 @@
342
380
  options = {
343
381
  ...options,
344
382
  modules: loader && loader.options && loader.options.modules || {},
345
- worker: false
383
+ core: {
384
+ ...options.core,
385
+ worker: false
386
+ }
346
387
  };
347
388
  return await parser(data, { ...options }, context, loader);
348
389
  }
349
390
 
350
391
  // src/lib/utils/version.ts
351
- var VERSION2 = true ? "4.4.0-alpha.1" : "latest";
392
+ var VERSION2 = true ? "4.4.0" : "latest";
352
393
 
353
394
  // src/crunch-loader.ts
354
395
  var CrunchLoader = {
@@ -363,9 +404,7 @@
363
404
  mimeTypes: ["image/crn", "image/x-crn", "application/octet-stream"],
364
405
  binary: true,
365
406
  options: {
366
- crunch: {
367
- libraryPath: "libs/"
368
- }
407
+ crunch: {}
369
408
  }
370
409
  };
371
410
 
@@ -394,92 +433,173 @@
394
433
  }
395
434
 
396
435
  // src/lib/gl-extensions.ts
397
- var GL_EXTENSIONS_CONSTANTS = {
398
- // WEBGL_compressed_texture_s3tc
399
- COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
400
- COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
401
- COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
402
- COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
403
- // WEBGL_compressed_texture_es3
404
- COMPRESSED_R11_EAC: 37488,
405
- COMPRESSED_SIGNED_R11_EAC: 37489,
406
- COMPRESSED_RG11_EAC: 37490,
407
- COMPRESSED_SIGNED_RG11_EAC: 37491,
408
- COMPRESSED_RGB8_ETC2: 37492,
409
- COMPRESSED_RGBA8_ETC2_EAC: 37493,
410
- COMPRESSED_SRGB8_ETC2: 37494,
411
- COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
412
- COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
413
- COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
414
- // WEBGL_compressed_texture_pvrtc
415
- COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
416
- COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
417
- COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
418
- COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
419
- // WEBGL_compressed_texture_etc1
420
- COMPRESSED_RGB_ETC1_WEBGL: 36196,
421
- // WEBGL_compressed_texture_atc
422
- COMPRESSED_RGB_ATC_WEBGL: 35986,
423
- COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
424
- COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
425
- // WEBGL_compressed_texture_astc
426
- COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
427
- COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
428
- COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
429
- COMPRESSED_RGBA_ASTC_6X5_KHR: 37811,
430
- COMPRESSED_RGBA_ASTC_6X6_KHR: 37812,
431
- COMPRESSED_RGBA_ASTC_8X5_KHR: 37813,
432
- COMPRESSED_RGBA_ASTC_8X6_KHR: 37814,
433
- COMPRESSED_RGBA_ASTC_8X8_KHR: 37815,
434
- COMPRESSED_RGBA_ASTC_10X5_KHR: 37816,
435
- COMPRESSED_RGBA_ASTC_10X6_KHR: 37817,
436
- COMPRESSED_RGBA_ASTC_10X8_KHR: 37818,
437
- COMPRESSED_RGBA_ASTC_10X10_KHR: 37819,
438
- COMPRESSED_RGBA_ASTC_12X10_KHR: 37820,
439
- COMPRESSED_RGBA_ASTC_12X12_KHR: 37821,
440
- COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 37840,
441
- COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 37841,
442
- COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 37842,
443
- COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 37843,
444
- COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 37844,
445
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 37845,
446
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 37846,
447
- COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 37847,
448
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 37848,
449
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 37849,
450
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 37850,
451
- COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
452
- COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
453
- COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
454
- // EXT_texture_compression_rgtc
455
- COMPRESSED_RED_RGTC1_EXT: 36283,
456
- COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
457
- COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
458
- COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
459
- // WEBGL_compressed_texture_s3tc_srgb
460
- COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
461
- COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
462
- COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
463
- COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
436
+ var GL_RGBA32F = 34836;
437
+ var GL_COMPRESSED_RGB_S3TC_DXT1_EXT = 33776;
438
+ var GL_COMPRESSED_RGBA_S3TC_DXT1_EXT = 33777;
439
+ var GL_COMPRESSED_RGBA_S3TC_DXT3_EXT = 33778;
440
+ var GL_COMPRESSED_RGBA_S3TC_DXT5_EXT = 33779;
441
+ var GL_COMPRESSED_R11_EAC = 37488;
442
+ var GL_COMPRESSED_SIGNED_R11_EAC = 37489;
443
+ var GL_COMPRESSED_RG11_EAC = 37490;
444
+ var GL_COMPRESSED_SIGNED_RG11_EAC = 37491;
445
+ var GL_COMPRESSED_RGB8_ETC2 = 37492;
446
+ var GL_COMPRESSED_RGBA8_ETC2_EAC = 37493;
447
+ var GL_COMPRESSED_SRGB8_ETC2 = 37494;
448
+ var GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC = 37495;
449
+ var GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37496;
450
+ var GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2 = 37497;
451
+ var GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG = 35840;
452
+ var GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG = 35841;
453
+ var GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG = 35842;
454
+ var GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG = 35843;
455
+ var GL_COMPRESSED_RGB_ETC1_WEBGL = 36196;
456
+ var GL_COMPRESSED_RGB_ATC_WEBGL = 35986;
457
+ var GL_COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL = 35987;
458
+ var GL_COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL = 34798;
459
+ var GL_COMPRESSED_RGBA_ASTC_4x4_KHR = 37808;
460
+ var GL_COMPRESSED_RGBA_ASTC_5x4_KHR = 37809;
461
+ var GL_COMPRESSED_RGBA_ASTC_5x5_KHR = 37810;
462
+ var GL_COMPRESSED_RGBA_ASTC_6x5_KHR = 37811;
463
+ var GL_COMPRESSED_RGBA_ASTC_6x6_KHR = 37812;
464
+ var GL_COMPRESSED_RGBA_ASTC_8x5_KHR = 37813;
465
+ var GL_COMPRESSED_RGBA_ASTC_8x6_KHR = 37814;
466
+ var GL_COMPRESSED_RGBA_ASTC_8x8_KHR = 37815;
467
+ var GL_COMPRESSED_RGBA_ASTC_10x5_KHR = 37816;
468
+ var GL_COMPRESSED_RGBA_ASTC_10x6_KHR = 37817;
469
+ var GL_COMPRESSED_RGBA_ASTC_10x8_KHR = 37818;
470
+ var GL_COMPRESSED_RGBA_ASTC_10x10_KHR = 37819;
471
+ var GL_COMPRESSED_RGBA_ASTC_12x10_KHR = 37820;
472
+ var GL_COMPRESSED_RGBA_ASTC_12x12_KHR = 37821;
473
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR = 37840;
474
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR = 37841;
475
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR = 37842;
476
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR = 37843;
477
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR = 37844;
478
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR = 37845;
479
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR = 37846;
480
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR = 37847;
481
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR = 37848;
482
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR = 37849;
483
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR = 37850;
484
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR = 37851;
485
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR = 37852;
486
+ var GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR = 37853;
487
+ var GL_COMPRESSED_RED_RGTC1_EXT = 36283;
488
+ var GL_COMPRESSED_SIGNED_RED_RGTC1_EXT = 36284;
489
+ var GL_COMPRESSED_RED_GREEN_RGTC2_EXT = 36285;
490
+ var GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT = 36286;
491
+ var GL_COMPRESSED_SRGB_S3TC_DXT1_EXT = 35916;
492
+ var GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT = 35917;
493
+ var GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT = 35918;
494
+ var GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT = 35919;
495
+
496
+ // src/lib/utils/texture-format-map.ts
497
+ var WEBGL_TO_TEXTURE_FORMAT = {
498
+ [GL_RGBA32F]: "rgba32float",
499
+ [GL_COMPRESSED_RGB_S3TC_DXT1_EXT]: "bc1-rgb-unorm-webgl",
500
+ [GL_COMPRESSED_SRGB_S3TC_DXT1_EXT]: "bc1-rgb-unorm-srgb-webgl",
501
+ [GL_COMPRESSED_RGBA_S3TC_DXT1_EXT]: "bc1-rgba-unorm",
502
+ [GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT]: "bc1-rgba-unorm-srgb",
503
+ [GL_COMPRESSED_RGBA_S3TC_DXT3_EXT]: "bc2-rgba-unorm",
504
+ [GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT]: "bc2-rgba-unorm-srgb",
505
+ [GL_COMPRESSED_RGBA_S3TC_DXT5_EXT]: "bc3-rgba-unorm",
506
+ [GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT]: "bc3-rgba-unorm-srgb",
507
+ [GL_COMPRESSED_RED_RGTC1_EXT]: "bc4-r-unorm",
508
+ [GL_COMPRESSED_SIGNED_RED_RGTC1_EXT]: "bc4-r-snorm",
509
+ [GL_COMPRESSED_RED_GREEN_RGTC2_EXT]: "bc5-rg-unorm",
510
+ [GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT]: "bc5-rg-snorm",
511
+ [GL_COMPRESSED_RGB8_ETC2]: "etc2-rgb8unorm",
512
+ [GL_COMPRESSED_SRGB8_ETC2]: "etc2-rgb8unorm-srgb",
513
+ [GL_COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2]: "etc2-rgb8a1unorm",
514
+ [GL_COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2]: "etc2-rgb8a1unorm-srgb",
515
+ [GL_COMPRESSED_RGBA8_ETC2_EAC]: "etc2-rgba8unorm",
516
+ [GL_COMPRESSED_SRGB8_ALPHA8_ETC2_EAC]: "etc2-rgba8unorm-srgb",
517
+ [GL_COMPRESSED_R11_EAC]: "eac-r11unorm",
518
+ [GL_COMPRESSED_SIGNED_R11_EAC]: "eac-r11snorm",
519
+ [GL_COMPRESSED_RG11_EAC]: "eac-rg11unorm",
520
+ [GL_COMPRESSED_SIGNED_RG11_EAC]: "eac-rg11snorm",
521
+ [GL_COMPRESSED_RGBA_ASTC_4x4_KHR]: "astc-4x4-unorm",
522
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR]: "astc-4x4-unorm-srgb",
523
+ [GL_COMPRESSED_RGBA_ASTC_5x4_KHR]: "astc-5x4-unorm",
524
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR]: "astc-5x4-unorm-srgb",
525
+ [GL_COMPRESSED_RGBA_ASTC_5x5_KHR]: "astc-5x5-unorm",
526
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR]: "astc-5x5-unorm-srgb",
527
+ [GL_COMPRESSED_RGBA_ASTC_6x5_KHR]: "astc-6x5-unorm",
528
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR]: "astc-6x5-unorm-srgb",
529
+ [GL_COMPRESSED_RGBA_ASTC_6x6_KHR]: "astc-6x6-unorm",
530
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR]: "astc-6x6-unorm-srgb",
531
+ [GL_COMPRESSED_RGBA_ASTC_8x5_KHR]: "astc-8x5-unorm",
532
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR]: "astc-8x5-unorm-srgb",
533
+ [GL_COMPRESSED_RGBA_ASTC_8x6_KHR]: "astc-8x6-unorm",
534
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR]: "astc-8x6-unorm-srgb",
535
+ [GL_COMPRESSED_RGBA_ASTC_8x8_KHR]: "astc-8x8-unorm",
536
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR]: "astc-8x8-unorm-srgb",
537
+ [GL_COMPRESSED_RGBA_ASTC_10x5_KHR]: "astc-10x5-unorm",
538
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR]: "astc-10x5-unorm-srgb",
539
+ [GL_COMPRESSED_RGBA_ASTC_10x6_KHR]: "astc-10x6-unorm",
540
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR]: "astc-10x6-unorm-srgb",
541
+ [GL_COMPRESSED_RGBA_ASTC_10x8_KHR]: "astc-10x8-unorm",
542
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR]: "astc-10x8-unorm-srgb",
543
+ [GL_COMPRESSED_RGBA_ASTC_10x10_KHR]: "astc-10x10-unorm",
544
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR]: "astc-10x10-unorm-srgb",
545
+ [GL_COMPRESSED_RGBA_ASTC_12x10_KHR]: "astc-12x10-unorm",
546
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR]: "astc-12x10-unorm-srgb",
547
+ [GL_COMPRESSED_RGBA_ASTC_12x12_KHR]: "astc-12x12-unorm",
548
+ [GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR]: "astc-12x12-unorm-srgb",
549
+ [GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG]: "pvrtc-rgb4unorm-webgl",
550
+ [GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG]: "pvrtc-rgba4unorm-webgl",
551
+ [GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG]: "pvrtc-rgb2unorm-webgl",
552
+ [GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG]: "pvrtc-rgba2unorm-webgl",
553
+ [GL_COMPRESSED_RGB_ETC1_WEBGL]: "etc1-rgb-unorm-webgl",
554
+ [GL_COMPRESSED_RGB_ATC_WEBGL]: "atc-rgb-unorm-webgl",
555
+ [GL_COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL]: "atc-rgba-unorm-webgl",
556
+ [GL_COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL]: "atc-rgbai-unorm-webgl"
464
557
  };
558
+ var TEXTURE_FORMAT_TO_WEBGL = Object.fromEntries(
559
+ Object.entries(WEBGL_TO_TEXTURE_FORMAT).map(([format, textureFormat]) => [
560
+ textureFormat,
561
+ Number(format)
562
+ ])
563
+ );
564
+ function getTextureFormatFromWebGLFormat(format) {
565
+ if (format === void 0) {
566
+ return void 0;
567
+ }
568
+ return WEBGL_TO_TEXTURE_FORMAT[format];
569
+ }
570
+ function getWebGLFormatFromTextureFormat(textureFormat) {
571
+ if (textureFormat === void 0) {
572
+ return void 0;
573
+ }
574
+ return TEXTURE_FORMAT_TO_WEBGL[textureFormat];
575
+ }
465
576
 
466
577
  // src/lib/utils/extract-mipmap-images.ts
467
578
  function extractMipmapImages(data, options) {
468
579
  const images = new Array(options.mipMapLevels);
580
+ const textureFormat = options.textureFormat || getTextureFormatFromWebGLFormat(options.internalFormat);
581
+ const format = options.internalFormat || getWebGLFormatFromTextureFormat(options.textureFormat);
469
582
  let levelWidth = options.width;
470
583
  let levelHeight = options.height;
471
584
  let offset = 0;
472
585
  for (let i = 0; i < options.mipMapLevels; ++i) {
473
586
  const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);
474
587
  const levelData = getLevelData(data, i, offset, levelSize);
475
- images[i] = {
588
+ const image = {
589
+ shape: "texture-level",
476
590
  compressed: true,
477
- format: options.internalFormat,
478
591
  data: levelData,
479
592
  width: levelWidth,
480
593
  height: levelHeight,
481
594
  levelSize
482
595
  };
596
+ if (format !== void 0) {
597
+ image.format = format;
598
+ }
599
+ if (textureFormat) {
600
+ image.textureFormat = textureFormat;
601
+ }
602
+ images[i] = image;
483
603
  levelWidth = Math.max(1, levelWidth >> 1);
484
604
  levelHeight = Math.max(1, levelHeight >> 1);
485
605
  offset += levelSize;
@@ -500,14 +620,6 @@
500
620
  }
501
621
 
502
622
  // src/lib/parsers/parse-dds.ts
503
- var DDS_PIXEL_FORMATS = {
504
- DXT1: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
505
- DXT3: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
506
- DXT5: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
507
- "ATC ": GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ATC_WEBGL,
508
- ATCA: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL,
509
- ATCI: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL
510
- };
511
623
  function getDxt1LevelSize(width, height) {
512
624
  return (width + 3 >> 2) * (height + 3 >> 2) * 8;
513
625
  }
@@ -526,22 +638,22 @@
526
638
  };
527
639
  var DXT_FORMAT_MAP = {
528
640
  [CRN_FORMAT.cCRNFmtDXT1]: {
529
- pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
641
+ textureFormat: "bc1-rgb-unorm-webgl",
530
642
  sizeFunction: getDxt1LevelSize
531
643
  },
532
644
  [CRN_FORMAT.cCRNFmtDXT3]: {
533
- pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
645
+ textureFormat: "bc2-rgba-unorm",
534
646
  sizeFunction: getDxtXLevelSize
535
647
  },
536
648
  [CRN_FORMAT.cCRNFmtDXT5]: {
537
- pixelFormat: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
649
+ textureFormat: "bc3-rgba-unorm",
538
650
  sizeFunction: getDxtXLevelSize
539
651
  }
540
652
  };
541
653
  var cachedDstSize = 0;
542
654
  var dst;
543
655
  async function parseCrunch(data, options) {
544
- const crunchModule2 = await loadCrunchModule(options);
656
+ const crunchModule2 = await loadCrunchModule(extractLoadLibraryOptions(options));
545
657
  const srcSize = data.byteLength;
546
658
  const bytes = new Uint8Array(data);
547
659
  const src = crunchModule2._malloc(srcSize);
@@ -571,7 +683,7 @@
571
683
  width,
572
684
  height,
573
685
  sizeFunction,
574
- internalFormat: DXT_FORMAT_MAP[format].pixelFormat
686
+ textureFormat: DXT_FORMAT_MAP[format].textureFormat
575
687
  });
576
688
  }
577
689
  function arrayBufferCopy(srcData, dstData, dstByteOffset, numBytes) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-worker.js","sourceRoot":"","sources":["../src/crunch-worker.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,6EAA6E;AAC7E,MAAM,CAAC,IAAI,GAAG,CAAC,4BAA4B,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC"}