@loaders.gl/textures 3.1.0-alpha.5 → 3.1.0-beta.5

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 (231) hide show
  1. package/dist/basis-loader.d.ts +1 -0
  2. package/dist/basis-loader.d.ts.map +1 -0
  3. package/dist/basis-loader.js +40 -0
  4. package/dist/basis-worker.js +675 -2
  5. package/dist/bundle.d.ts +1 -0
  6. package/dist/bundle.d.ts.map +1 -0
  7. package/dist/bundle.js +2107 -0
  8. package/dist/compressed-texture-loader.d.ts +1 -0
  9. package/dist/compressed-texture-loader.d.ts.map +1 -0
  10. package/dist/compressed-texture-loader.js +64 -0
  11. package/dist/compressed-texture-worker.js +1179 -2
  12. package/dist/compressed-texture-writer.d.ts +1 -0
  13. package/dist/compressed-texture-writer.d.ts.map +1 -0
  14. package/dist/compressed-texture-writer.js +28 -0
  15. package/dist/crunch-loader.d.ts +1 -0
  16. package/dist/crunch-loader.d.ts.map +1 -0
  17. package/dist/crunch-loader.js +25 -0
  18. package/dist/crunch-worker.js +486 -2
  19. package/dist/es5/index.js +3 -3
  20. package/dist/es5/index.js.map +1 -1
  21. package/dist/es5/lib/{gl-constants.js → gl-extensions.js} +4 -4
  22. package/dist/es5/lib/gl-extensions.js.map +1 -0
  23. package/dist/es5/lib/parsers/basis-module-loader.js +1 -1
  24. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  25. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-basis.js +9 -9
  27. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  28. package/dist/es5/lib/parsers/parse-crunch.js +4 -4
  29. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
  30. package/dist/es5/lib/parsers/parse-dds.js +23 -23
  31. package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
  32. package/dist/es5/lib/parsers/parse-ktx.js +2 -2
  33. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
  34. package/dist/es5/lib/parsers/parse-npy.js +3 -1
  35. package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
  36. package/dist/es5/lib/parsers/parse-pvr.js +28 -28
  37. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
  38. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
  39. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  40. package/dist/es5/lib/texture-api/generate-url.js +4 -12
  41. package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
  42. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
  43. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
  44. package/dist/es5/lib/texture-api/load-image.js +2 -5
  45. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  46. package/dist/es5/lib/texture-api/texture-api-types.js +2 -0
  47. package/dist/es5/lib/texture-api/texture-api-types.js.map +1 -0
  48. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
  49. package/dist/es5/lib/utils/ktx-format-helper.js +67 -67
  50. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
  51. package/dist/es5/lib/utils/version.js +1 -1
  52. package/dist/es5/lib/utils/version.js.map +1 -1
  53. package/dist/es5/libs/README.md +2 -2
  54. package/dist/es5/libs/basis_encoder.js +1 -1
  55. package/dist/es5/libs/basis_transcoder.js +1 -1
  56. package/dist/es5/libs/crunch.js +1 -0
  57. package/dist/es5/npy-loader.js.map +1 -1
  58. package/dist/esm/index.js +1 -1
  59. package/dist/esm/index.js.map +1 -1
  60. package/dist/esm/lib/{gl-constants.js → gl-extensions.js} +2 -2
  61. package/dist/esm/lib/gl-extensions.js.map +1 -0
  62. package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
  63. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  64. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
  65. package/dist/esm/lib/parsers/parse-basis.js +8 -8
  66. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  67. package/dist/esm/lib/parsers/parse-crunch.js +4 -4
  68. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
  69. package/dist/esm/lib/parsers/parse-dds.js +23 -23
  70. package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
  71. package/dist/esm/lib/parsers/parse-ktx.js +2 -2
  72. package/dist/esm/lib/parsers/parse-ktx.js.map +1 -1
  73. package/dist/esm/lib/parsers/parse-npy.js +3 -1
  74. package/dist/esm/lib/parsers/parse-npy.js.map +1 -1
  75. package/dist/esm/lib/parsers/parse-pvr.js +28 -28
  76. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
  77. package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -1
  78. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  79. package/dist/esm/lib/texture-api/generate-url.js +5 -13
  80. package/dist/esm/lib/texture-api/generate-url.js.map +1 -1
  81. package/dist/esm/lib/texture-api/load-image-array.js.map +1 -1
  82. package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -1
  83. package/dist/esm/lib/texture-api/load-image.js +2 -5
  84. package/dist/esm/lib/texture-api/load-image.js.map +1 -1
  85. package/dist/esm/lib/texture-api/texture-api-types.js +2 -0
  86. package/dist/esm/lib/texture-api/texture-api-types.js.map +1 -0
  87. package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -1
  88. package/dist/esm/lib/utils/ktx-format-helper.js +67 -67
  89. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -1
  90. package/dist/esm/lib/utils/version.js +1 -1
  91. package/dist/esm/lib/utils/version.js.map +1 -1
  92. package/dist/esm/libs/README.md +2 -2
  93. package/dist/esm/libs/basis_encoder.js +1 -1
  94. package/dist/esm/libs/basis_transcoder.js +1 -1
  95. package/dist/esm/libs/crunch.js +1 -0
  96. package/dist/esm/npy-loader.js.map +1 -1
  97. package/dist/index.d.ts +2 -1
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +37 -0
  100. package/dist/ktx2-basis-universal-texture-writer.d.ts +1 -0
  101. package/dist/ktx2-basis-universal-texture-writer.d.ts.map +1 -0
  102. package/dist/ktx2-basis-universal-texture-writer.js +25 -0
  103. package/dist/lib/encoders/encode-ktx.d.ts +1 -0
  104. package/dist/lib/encoders/encode-ktx.d.ts.map +1 -0
  105. package/dist/lib/encoders/encode-ktx.js +10 -0
  106. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +1 -0
  107. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -0
  108. package/dist/lib/encoders/encode-ktx2-basis-texture.js +41 -0
  109. package/dist/lib/encoders/encode-texture.d.ts +1 -0
  110. package/dist/lib/encoders/encode-texture.d.ts.map +1 -0
  111. package/dist/lib/encoders/encode-texture.js +30 -0
  112. package/dist/lib/{gl-constants.d.ts → gl-extensions.d.ts} +2 -1
  113. package/dist/lib/gl-extensions.d.ts.map +1 -0
  114. package/dist/lib/gl-extensions.js +72 -0
  115. package/dist/lib/parsers/basis-module-loader.d.ts +1 -0
  116. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -0
  117. package/dist/lib/parsers/basis-module-loader.js +114 -0
  118. package/dist/lib/parsers/crunch-module-loader.d.ts +1 -0
  119. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -0
  120. package/dist/lib/parsers/crunch-module-loader.js +35 -0
  121. package/dist/lib/parsers/parse-basis.d.ts +1 -0
  122. package/dist/lib/parsers/parse-basis.d.ts.map +1 -0
  123. package/dist/lib/parsers/parse-basis.js +245 -0
  124. package/dist/lib/parsers/parse-compressed-texture.d.ts +1 -0
  125. package/dist/lib/parsers/parse-compressed-texture.d.ts.map +1 -0
  126. package/dist/lib/parsers/parse-compressed-texture.js +26 -0
  127. package/dist/lib/parsers/parse-crunch.d.ts +1 -0
  128. package/dist/lib/parsers/parse-crunch.d.ts.map +1 -0
  129. package/dist/lib/parsers/parse-crunch.js +105 -0
  130. package/dist/lib/parsers/parse-dds.d.ts +1 -0
  131. package/dist/lib/parsers/parse-dds.d.ts.map +1 -0
  132. package/dist/lib/parsers/parse-dds.js +108 -0
  133. package/dist/lib/parsers/parse-ktx.d.ts +3 -2
  134. package/dist/lib/parsers/parse-ktx.d.ts.map +1 -0
  135. package/dist/lib/parsers/parse-ktx.js +46 -0
  136. package/dist/lib/parsers/parse-npy.d.ts +8 -2
  137. package/dist/lib/parsers/parse-npy.d.ts.map +1 -0
  138. package/dist/lib/parsers/parse-npy.js +85 -0
  139. package/dist/lib/parsers/parse-pvr.d.ts +1 -0
  140. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -0
  141. package/dist/lib/parsers/parse-pvr.js +250 -0
  142. package/dist/lib/texture-api/async-deep-map.d.ts +5 -2
  143. package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -0
  144. package/dist/lib/texture-api/async-deep-map.js +41 -0
  145. package/dist/lib/texture-api/deep-load.d.ts +5 -2
  146. package/dist/lib/texture-api/deep-load.d.ts.map +1 -0
  147. package/dist/lib/texture-api/deep-load.js +16 -0
  148. package/dist/lib/texture-api/generate-url.d.ts +3 -1
  149. package/dist/lib/texture-api/generate-url.d.ts.map +1 -0
  150. package/dist/lib/texture-api/generate-url.js +17 -0
  151. package/dist/lib/texture-api/load-image-array.d.ts +4 -2
  152. package/dist/lib/texture-api/load-image-array.d.ts.map +1 -0
  153. package/dist/lib/texture-api/load-image-array.js +21 -0
  154. package/dist/lib/texture-api/load-image-cube.d.ts +12 -2
  155. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -0
  156. package/dist/lib/texture-api/load-image-cube.js +47 -0
  157. package/dist/lib/texture-api/load-image.d.ts +7 -5
  158. package/dist/lib/texture-api/load-image.d.ts.map +1 -0
  159. package/dist/lib/texture-api/load-image.js +43 -0
  160. package/dist/lib/texture-api/texture-api-types.d.ts +10 -0
  161. package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -0
  162. package/dist/lib/texture-api/texture-api-types.js +3 -0
  163. package/dist/lib/utils/extract-mipmap-images.d.ts +2 -1
  164. package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -0
  165. package/dist/lib/utils/extract-mipmap-images.js +50 -0
  166. package/dist/lib/utils/ktx-format-helper.d.ts +4 -3
  167. package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -0
  168. package/dist/lib/utils/ktx-format-helper.js +125 -0
  169. package/dist/lib/utils/texture-formats.d.ts +1 -0
  170. package/dist/lib/utils/texture-formats.d.ts.map +1 -0
  171. package/dist/lib/utils/texture-formats.js +51 -0
  172. package/dist/lib/utils/version.d.ts +1 -0
  173. package/dist/lib/utils/version.d.ts.map +1 -0
  174. package/dist/lib/utils/version.js +8 -0
  175. package/dist/libs/README.md +2 -2
  176. package/dist/libs/basis_encoder.js +1 -1
  177. package/dist/libs/basis_transcoder.js +1 -1
  178. package/dist/libs/crunch.js +1 -0
  179. package/dist/npy-loader.d.ts +7 -3
  180. package/dist/npy-loader.d.ts.map +1 -0
  181. package/dist/npy-loader.js +34 -0
  182. package/dist/npy-worker.js +240 -2
  183. package/dist/types.d.ts +1 -0
  184. package/dist/types.d.ts.map +1 -0
  185. package/dist/types.js +2 -0
  186. package/dist/workers/basis-worker.d.ts +1 -0
  187. package/dist/workers/basis-worker.d.ts.map +1 -0
  188. package/dist/workers/basis-worker.js +5 -0
  189. package/dist/workers/compressed-texture-worker.d.ts +1 -0
  190. package/dist/workers/compressed-texture-worker.d.ts.map +1 -0
  191. package/dist/workers/compressed-texture-worker.js +5 -0
  192. package/dist/workers/crunch-worker.d.ts +1 -0
  193. package/dist/workers/crunch-worker.d.ts.map +1 -0
  194. package/dist/workers/crunch-worker.js +14 -0
  195. package/dist/workers/npy-worker.d.ts +1 -0
  196. package/dist/workers/npy-worker.d.ts.map +1 -0
  197. package/dist/workers/npy-worker.js +5 -0
  198. package/package.json +10 -11
  199. package/src/index.ts +1 -1
  200. package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
  201. package/src/lib/parsers/crunch-module-loader.ts +1 -0
  202. package/src/lib/parsers/parse-basis.js +32 -8
  203. package/src/lib/parsers/parse-crunch.ts +4 -4
  204. package/src/lib/parsers/parse-dds.ts +29 -26
  205. package/src/lib/parsers/parse-ktx.js +3 -6
  206. package/src/lib/parsers/parse-ktx.ts +47 -0
  207. package/src/lib/parsers/parse-npy.js +3 -17
  208. package/src/lib/parsers/parse-npy.ts +98 -0
  209. package/src/lib/parsers/parse-pvr.ts +90 -48
  210. package/src/lib/texture-api/async-deep-map.ts +15 -8
  211. package/src/lib/texture-api/deep-load.ts +7 -3
  212. package/src/lib/texture-api/generate-url.ts +10 -8
  213. package/src/lib/texture-api/load-image-array.ts +8 -2
  214. package/src/lib/texture-api/load-image-cube.ts +18 -4
  215. package/src/lib/texture-api/load-image.ts +15 -5
  216. package/src/lib/texture-api/texture-api-types.ts +12 -0
  217. package/src/lib/utils/extract-mipmap-images.ts +16 -3
  218. package/src/lib/utils/ktx-format-helper.ts +71 -71
  219. package/src/libs/README.md +2 -2
  220. package/src/libs/basis_encoder.js +1 -1
  221. package/src/libs/basis_transcoder.js +1 -1
  222. package/src/libs/crunch.js +1 -0
  223. package/src/npy-loader.ts +2 -2
  224. package/dist/basis-worker.js.map +0 -1
  225. package/dist/compressed-texture-worker.js.map +0 -1
  226. package/dist/crunch-worker.js.map +0 -1
  227. package/dist/dist.min.js +0 -2
  228. package/dist/dist.min.js.map +0 -1
  229. package/dist/es5/lib/gl-constants.js.map +0 -1
  230. package/dist/esm/lib/gl-constants.js.map +0 -1
  231. package/dist/npy-worker.js.map +0 -1
@@ -1,2 +1,675 @@
1
- !function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=18)}([function(t,e,r){t.exports=r(10)},function(t,e){function r(t,e,r,n,o,a,i){try{var s=t[a](i),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}t.exports=function(t){return function(){var e=this,n=arguments;return new Promise((function(o,a){var i=t.apply(e,n);function s(t){r(i,o,a,s,u,"next",t)}function u(t){r(i,o,a,s,u,"throw",t)}s(void 0)}))}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){"use strict";(function(t,n){r.d(e,"a",(function(){return i})),r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return u}));var o=r(3),a={self:"undefined"!=typeof self&&self,window:"undefined"!=typeof window&&window,global:void 0!==t&&t,document:"undefined"!=typeof document&&document},i=a.global||a.self||a.window||{},s="object"!==(void 0===n?"undefined":r.n(o)()(n))||"[object process]"!==String(n)||n.browser,u="function"==typeof importScripts,c=("undefined"!=typeof window&&window.orientation,void 0!==n&&n.version&&/v([0-9]*)/.exec(n.version));c&&parseFloat(c[1])}).call(this,r(16),r(17))},function(t,e){function r(e){return"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?(t.exports=r=function(t){return typeof t},t.exports.default=t.exports,t.exports.__esModule=!0):(t.exports=r=function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t.exports.default=t.exports,t.exports.__esModule=!0),r(e)}t.exports=r,t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){},function(t,e){t.exports=function(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){var n=r(11),o=r(12),a=r(13),i=r(15);t.exports=function(t,e){return n(t)||o(t,e)||a(t,e)||i()},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){function r(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}t.exports=function(t,e,n){return e&&r(t.prototype,e),n&&r(t,n),t},t.exports.default=t.exports,t.exports.__esModule=!0},,function(t,e,r){var n=function(t){"use strict";var e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",a=n.asyncIterator||"@@asyncIterator",i=n.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof l?e:l,a=Object.create(o.prototype),i=new g(n||[]);return a._invoke=function(t,e,r){var n="suspendedStart";return function(o,a){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw a;return A()}for(r.method=o,r.arg=a;;){var i=r.delegate;if(i){var s=v(i,r);if(s){if(s===f)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===f)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,i),a}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var f={};function l(){}function p(){}function _(){}var d={};d[o]=function(){return this};var h=Object.getPrototypeOf,S=h&&h(h(x([])));S&&S!==e&&r.call(S,o)&&(d=S);var m=_.prototype=l.prototype=Object.create(d);function E(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function y(t,e){var n;this._invoke=function(o,a){function i(){return new e((function(n,i){!function n(o,a,i,s){var u=c(t[o],t,a);if("throw"!==u.type){var f=u.arg,l=f.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,i,s)}),(function(t){n("throw",t,i,s)})):e.resolve(l).then((function(t){f.value=t,i(f)}),(function(t){return n("throw",t,i,s)}))}s(u.arg)}(o,a,n,i)}))}return n=n?n.then(i,i):i()}}function v(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,v(t,e),"throw"===e.method))return f;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,f;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function b(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function R(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function g(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(b,this),this.reset(!0)}function x(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,a=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return a.next=a}}return{next:A}}function A(){return{value:void 0,done:!0}}return p.prototype=m.constructor=_,_.constructor=p,p.displayName=s(_,i,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===p||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,_):(t.__proto__=_,s(t,i,"GeneratorFunction")),t.prototype=Object.create(m),t},t.awrap=function(t){return{__await:t}},E(y.prototype),y.prototype[a]=function(){return this},t.AsyncIterator=y,t.async=function(e,r,n,o,a){void 0===a&&(a=Promise);var i=new y(u(e,r,n,o),a);return t.isGeneratorFunction(r)?i:i.next().then((function(t){return t.done?t.value:i.next()}))},E(m),s(m,i,"Generator"),m[o]=function(){return this},m.toString=function(){return"[object Generator]"},t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=x,g.prototype={constructor:g,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(R),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return i.type="throw",i.arg=t,e.next=r,n&&(e.method="next",e.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return n("end");if(a.tryLoc<=this.prev){var s=r.call(a,"catchLoc"),u=r.call(a,"finallyLoc");if(s&&u){if(this.prev<a.catchLoc)return n(a.catchLoc,!0);if(this.prev<a.finallyLoc)return n(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return n(a.catchLoc,!0)}else{if(!u)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return n(a.finallyLoc)}}}},abrupt:function(t,e){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var a=o;break}}a&&("break"===t||"continue"===t)&&a.tryLoc<=e&&e<=a.finallyLoc&&(a=null);var i=a?a.completion:{};return i.type=t,i.arg=e,a?(this.method="next",this.next=a.finallyLoc,f):this.complete(i)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),R(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;R(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:x(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}(t.exports);try{regeneratorRuntime=n}catch(t){Function("r","regeneratorRuntime = r")(n)}},function(t,e){t.exports=function(t){if(Array.isArray(t))return t},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t,e){var r=t&&("undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"]);if(null!=r){var n,o,a=[],i=!0,s=!1;try{for(r=r.call(t);!(i=(n=r.next()).done)&&(a.push(n.value),!e||a.length!==e);i=!0);}catch(t){s=!0,o=t}finally{try{i||null==r.return||r.return()}finally{if(s)throw o}}return a}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e,r){var n=r(14);t.exports=function(t,e){if(t){if("string"==typeof t)return n(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?n(t,e):void 0}},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){t.exports=function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")},t.exports.default=t.exports,t.exports.__esModule=!0},function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(t){"object"==typeof window&&(r=window)}t.exports=r},function(t,e){var r,n,o=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function s(t){if(r===setTimeout)return setTimeout(t,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(t){r=a}try{n="function"==typeof clearTimeout?clearTimeout:i}catch(t){n=i}}();var u,c=[],f=!1,l=-1;function p(){f&&u&&(f=!1,u.length?c=u.concat(c):l=-1,c.length&&_())}function _(){if(!f){var t=s(p);f=!0;for(var e=c.length;e;){for(u=c,c=[];++l<e;)u&&u[l].run();l=-1,e=c.length}u=null,f=!1,function(t){if(n===clearTimeout)return clearTimeout(t);if((n===i||!n)&&clearTimeout)return n=clearTimeout,clearTimeout(t);try{n(t)}catch(e){try{return n.call(null,t)}catch(e){return n.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function h(){}o.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new d(t,e)),1!==c.length||f||s(_)},d.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=h,o.addListener=h,o.once=h,o.off=h,o.removeListener=h,o.removeAllListeners=h,o.emit=h,o.prependListener=h,o.prependOnceListener=h,o.listeners=function(t){return[]},o.binding=function(t){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(t){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(t,e,r){"use strict";r.r(e);var n=r(5),o=r.n(n),a=r(1),i=r.n(a),s=r(0),u=r.n(s),c=r(7),f=r.n(c),l=r(8),p=r.n(l),_=r(3),d=r.n(_);function h(t){return!!t&&(t instanceof ArrayBuffer||("undefined"!=typeof MessagePort&&t instanceof MessagePort||("undefined"!=typeof ImageBitmap&&t instanceof ImageBitmap||"undefined"!=typeof OffscreenCanvas&&t instanceof OffscreenCanvas)))}var S=new Map,m=function(){function t(){f()(this,t)}return p()(t,null,[{key:"onmessage",set:function(t){self.onmessage=function(e){if(E(e)){var r=e.data,n=r.type,o=r.payload;t(n,o)}}}},{key:"addEventListener",value:function(t){var e=S.get(t);e||(e=function(e){if(E(e)){var r=e.data,n=r.type,o=r.payload;t(n,o)}}),self.addEventListener("message",e)}},{key:"removeEventListener",value:function(t){var e=S.get(t);S.delete(t),self.removeEventListener("message",e)}},{key:"postMessage",value:function(t,e){if(self){var r={source:"loaders.gl",type:t,payload:e},n=function t(e){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=arguments.length>2?arguments[2]:void 0,o=n||new Set;if(e){if(h(e))o.add(e);else if(h(e.buffer))o.add(e.buffer);else if(ArrayBuffer.isView(e));else if(r&&"object"===d()(e))for(var a in e)t(e[a],r,o)}else;return void 0===n?Array.from(o):[]}(e);self.postMessage(r,n)}}}]),t}();function E(t){var e=t.type,r=t.data;return"message"===e&&r&&"string"==typeof r.source&&r.source.startsWith("loaders.gl")}function y(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function v(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?y(Object(r),!0).forEach((function(e){o()(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):y(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var b=0;function R(t,e){return new Promise((function(r,n){var o=b++;m.addEventListener((function t(e,a){if(a.id===o)switch(e){case"done":m.removeEventListener(t),r(a.result);break;case"error":m.removeEventListener(t),n(a.error)}}));var a={id:o,input:t,options:e};m.postMessage("process",a)}))}function g(t){return x.apply(this,arguments)}function x(){return(x=i()(u.a.mark((function t(e){var r,n,o,a,i,s,c;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(r=e.loader,n=e.arrayBuffer,o=e.options,a=e.context,!r.parseSync&&!r.parse){t.next=6;break}i=n,s=r.parseSync||r.parse,t.next=13;break;case 6:if(!r.parseTextSync){t.next=12;break}c=new TextDecoder,i=c.decode(n),s=r.parseTextSync,t.next=13;break;case 12:throw new Error("Could not load data with ".concat(r.name," loader"));case 13:return o=v(v({},o),{},{modules:r&&r.options&&r.options.modules||{},worker:!1}),t.next=16,s(i,v({},o),a,r);case 16:return t.abrupt("return",t.sent);case 17:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var A=r(6),P=r.n(A),C=r(2),w=r(4);var T={};function O(t){return G.apply(this,arguments)}function G(){return(G=i()(u.a.mark((function t(e){var r,n,o=arguments;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=o.length>1&&void 0!==o[1]?o[1]:null,n=o.length>2&&void 0!==o[2]?o[2]:{},r&&(e=B(e,r,n)),T[e]=T[e]||D(e),t.next=6,T[e];case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function B(t,e,r){if(t.startsWith("http"))return t;var n=r.modules||{};return n[t]?n[t]:C.b?r.CDN?(function(t,e){if(!t)throw new Error(e||"loaders.gl assertion failed.")}(r.CDN.startsWith("http")),"".concat(r.CDN,"/").concat(e,"@").concat("3.1.0-alpha.5","/dist/libs/").concat(t)):C.c?"../src/libs/".concat(t):"modules/".concat(e,"/src/libs/").concat(t):"modules/".concat(e,"/dist/libs/").concat(t)}function D(t){return M.apply(this,arguments)}function M(){return(M=i()(u.a.mark((function t(e){var r,n,o;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.endsWith("wasm")){t.next=7;break}return t.next=3,fetch(e);case 3:return r=t.sent,t.next=6,r.arrayBuffer();case 6:return t.abrupt("return",t.sent);case 7:if(C.b){t.next=14;break}if(t.t0=w.requireFromFile,!t.t0){t.next=13;break}return t.next=12,w.requireFromFile(e);case 12:t.t0=t.sent;case 13:return t.abrupt("return",t.t0);case 14:if(!C.c){t.next=16;break}return t.abrupt("return",importScripts(e));case 16:return t.next=18,fetch(e);case 18:return n=t.sent,t.next=21,n.text();case 21:return o=t.sent,t.abrupt("return",L(o,e));case 23:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function L(t,e){if(!C.b)return w.requireFromString&&w.requireFromString(t,e);if(C.c)return eval.call(C.a,t),null;var r=document.createElement("script");r.id=e;try{r.appendChild(document.createTextNode(t))}catch(e){r.text=t}return document.body.appendChild(r),null}var I,H,X="https://unpkg.com/@loaders.gl/textures@".concat("3.1.0-alpha.5","/dist/libs/basis_encoder.wasm"),F="https://unpkg.com/@loaders.gl/textures@".concat("3.1.0-alpha.5","/dist/libs/basis_encoder.js");function j(t){return k.apply(this,arguments)}function k(){return(k=i()(u.a.mark((function t(e){var r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r=e.modules||{}).basis){t.next=3;break}return t.abrupt("return",r.basis);case 3:return I=I||N(e),t.next=6,I;case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function N(t){return K.apply(this,arguments)}function K(){return(K=i()(u.a.mark((function t(e){var r,n,o,a;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=null,n=null,t.t0=Promise,t.next=5,O("basis_transcoder.js","textures",e);case 5:return t.t1=t.sent,t.next=8,O("basis_transcoder.wasm","textures",e);case 8:return t.t2=t.sent,t.t3=[t.t1,t.t2],t.next=12,t.t0.all.call(t.t0,t.t3);case 12:return o=t.sent,a=P()(o,2),r=a[0],n=a[1],r=r||globalThis.BASIS,t.next=19,U(r,n);case 19:return t.abrupt("return",t.sent);case 20:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function U(t,e){var r={};return e&&(r.wasmBinary=e),new Promise((function(e){t(r).then((function(t){var r=t.BasisFile;(0,t.initializeBasis)(),e({BasisFile:r})}))}))}function W(t){return V.apply(this,arguments)}function V(){return(V=i()(u.a.mark((function t(e){var r;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!(r=e.modules||{}).basisEncoder){t.next=3;break}return t.abrupt("return",r.basisEncoder);case 3:return H=H||Z(e),t.next=6,H;case 6:return t.abrupt("return",t.sent);case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function Z(t){return q.apply(this,arguments)}function q(){return(q=i()(u.a.mark((function t(e){var r,n,o,a;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return r=null,n=null,t.t0=Promise,t.next=5,O(F,"textures",e);case 5:return t.t1=t.sent,t.next=8,O(X,"textures",e);case 8:return t.t2=t.sent,t.t3=[t.t1,t.t2],t.next=12,t.t0.all.call(t.t0,t.t3);case 12:return o=t.sent,a=P()(o,2),r=a[0],n=a[1],r=r||globalThis.BASIS,t.next=19,z(r,n);case 19:return t.abrupt("return",t.sent);case 20:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function z(t,e){var r={};return e&&(r.wasmBinary=e),new Promise((function(e){t(r).then((function(t){var r=t.BasisFile,n=t.KTX2File,o=t.initializeBasis,a=t.BasisEncoder;o(),e({BasisFile:r,KTX2File:n,BasisEncoder:a})}))}))}var Y={COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_RGBA8_ETC2_EAC:37493,COMPRESSED_SRGB8_ETC2:37494,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37495,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37496,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37497,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGB_ATC_WEBGL:35986,COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL:35987,COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL:34798,COMPRESSED_RGBA_ASTC_4X4_KHR:37808,COMPRESSED_RGBA_ASTC_5X4_KHR:37809,COMPRESSED_RGBA_ASTC_5X5_KHR:37810,COMPRESSED_RGBA_ASTC_6X5_KHR:37811,COMPRESSED_RGBA_ASTC_6X6_KHR:37812,COMPRESSED_RGBA_ASTC_8X5_KHR:37813,COMPRESSED_RGBA_ASTC_8X6_KHR:37814,COMPRESSED_RGBA_ASTC_8X8_KHR:37815,COMPRESSED_RGBA_ASTC_10X5_KHR:37816,COMPRESSED_RGBA_ASTC_10X6_KHR:37817,COMPRESSED_RGBA_ASTC_10X8_KHR:37818,COMPRESSED_RGBA_ASTC_10X10_KHR:37819,COMPRESSED_RGBA_ASTC_12X10_KHR:37820,COMPRESSED_RGBA_ASTC_12X12_KHR:37821,COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR:37840,COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR:37841,COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR:37842,COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR:37843,COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR:37844,COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR:37845,COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR:37846,COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR:37847,COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR:37848,COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR:37849,COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR:37850,COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR:37851,COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR:37852,COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR:37853,COMPRESSED_RED_RGTC1_EXT:36283,COMPRESSED_SIGNED_RED_RGTC1_EXT:36284,COMPRESSED_RED_GREEN_RGTC2_EXT:36285,COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT:36286,COMPRESSED_SRGB_S3TC_DXT1_EXT:35916,COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT:35917,COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT:35918,COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT:35919};function $(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(!t)return;if("string"==typeof t)return J(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return J(t,e)}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,s=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){s=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(s)throw a}}}}function J(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r<e;r++)n[r]=t[r];return n}var Q=["","WEBKIT_","MOZ_"],tt={WEBGL_compressed_texture_s3tc:"dxt",WEBGL_compressed_texture_s3tc_srgb:"dxt-srgb",WEBGL_compressed_texture_etc1:"etc1",WEBGL_compressed_texture_etc:"etc2",WEBGL_compressed_texture_pvrtc:"pvrtc",WEBGL_compressed_texture_atc:"atc",WEBGL_compressed_texture_astc:"astc",EXT_texture_compression_rgtc:"rgtc"},et=null;function rt(t){if(!et){t=t||function(){try{return document.createElement("canvas").getContext("webgl")}catch(t){return null}}()||void 0,et=new Set;var e,r=$(Q);try{for(r.s();!(e=r.n()).done;){var n=e.value;for(var o in tt)if(t&&t.getExtension("".concat(n).concat(o))){var a=tt[o];et.add(a)}}}catch(t){r.e(t)}finally{r.f()}}return et}new Uint8Array([0]);var nt,ot,at,it,st,ut,ct,ft;!function(t){t[t.NONE=0]="NONE",t[t.BASISLZ=1]="BASISLZ",t[t.ZSTD=2]="ZSTD",t[t.ZLIB=3]="ZLIB"}(nt||(nt={})),function(t){t[t.BASICFORMAT=0]="BASICFORMAT"}(ot||(ot={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.ETC1S=163]="ETC1S",t[t.UASTC=166]="UASTC"}(at||(at={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.SRGB=1]="SRGB"}(it||(it={})),function(t){t[t.UNSPECIFIED=0]="UNSPECIFIED",t[t.LINEAR=1]="LINEAR",t[t.SRGB=2]="SRGB",t[t.ITU=3]="ITU",t[t.NTSC=4]="NTSC",t[t.SLOG=5]="SLOG",t[t.SLOG2=6]="SLOG2"}(st||(st={})),function(t){t[t.ALPHA_STRAIGHT=0]="ALPHA_STRAIGHT",t[t.ALPHA_PREMULTIPLIED=1]="ALPHA_PREMULTIPLIED"}(ut||(ut={})),function(t){t[t.RGB=0]="RGB",t[t.RRR=3]="RRR",t[t.GGG=4]="GGG",t[t.AAA=15]="AAA"}(ct||(ct={})),function(t){t[t.RGB=0]="RGB",t[t.RGBA=3]="RGBA",t[t.RRR=4]="RRR",t[t.RRRG=5]="RRRG"}(ft||(ft={}));var lt=[171,75,84,88,32,50,48,187,13,10,26,10];function pt(t){var e=new Uint8Array(t.buffer||t,t.byteOffset||0,lt.length);return!(e[0]!==lt[0]||e[1]!==lt[1]||e[2]!==lt[2]||e[3]!==lt[3]||e[4]!==lt[4]||e[5]!==lt[5]||e[6]!==lt[6]||e[7]!==lt[7]||e[8]!==lt[8]||e[9]!==lt[9]||e[10]!==lt[10]||e[11]!==lt[11])}var _t={etc1:{basisFormat:0,compressed:!0,format:Y.COMPRESSED_RGB_ETC1_WEBGL},etc2:{basisFormat:1,compressed:!0},bc1:{basisFormat:2,compressed:!0,format:Y.COMPRESSED_RGB_S3TC_DXT1_EXT},bc3:{basisFormat:3,compressed:!0,format:Y.COMPRESSED_RGBA_S3TC_DXT5_EXT},bc4:{basisFormat:4,compressed:!0},bc5:{basisFormat:5,compressed:!0},"bc7-m6-opaque-only":{basisFormat:6,compressed:!0},"bc7-m5":{basisFormat:7,compressed:!0},"pvrtc1-4-rgb":{basisFormat:8,compressed:!0,format:Y.COMPRESSED_RGB_PVRTC_4BPPV1_IMG},"pvrtc1-4-rgba":{basisFormat:9,compressed:!0,format:Y.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG},"astc-4x4":{basisFormat:10,compressed:!0,format:Y.COMPRESSED_RGBA_ASTC_4X4_KHR},"atc-rgb":{basisFormat:11,compressed:!0},"atc-rgba-interpolated-alpha":{basisFormat:12,compressed:!0},rgba32:{basisFormat:13,compressed:!1},rgb565:{basisFormat:14,compressed:!1},bgr565:{basisFormat:15,compressed:!1},rgba4444:{basisFormat:16,compressed:!1}};function dt(){return(dt=i()(u.a.mark((function t(e,r){var n,o,a,i,s,c;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if("auto"!==r.basis.containerFormat){t.next=11;break}if(!pt(e)){t.next=6;break}return t.next=4,W(r);case 4:return n=t.sent,t.abrupt("return",mt(n.KTX2File,e,r));case 6:return t.next=8,j(r);case 8:return o=t.sent,a=o.BasisFile,t.abrupt("return",ht(a,e,r));case 11:t.t0=r.basis.module,t.next="encoder"===t.t0?14:(t.t0,22);break;case 14:return t.next=16,W(r);case 16:i=t.sent,t.t1=r.basis.containerFormat,t.next="ktx2"===t.t1?20:(t.t1,21);break;case 20:return t.abrupt("return",mt(i.KTX2File,e,r));case 21:return t.abrupt("return",ht(i.BasisFile,e,r));case 22:return t.next=24,j(r);case 24:return s=t.sent,c=s.BasisFile,t.abrupt("return",ht(c,e,r));case 27:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function ht(t,e,r){var n=new t(new Uint8Array(e));try{if(!n.startTranscoding())return null;for(var o=n.getNumImages(),a=[],i=0;i<o;i++){for(var s=n.getNumLevels(i),u=[],c=0;c<s;c++)u.push(St(n,i,c,r));a.push(u)}return a}finally{n.close(),n.delete()}}function St(t,e,r,n){var o=t.getImageWidth(e,r),a=t.getImageHeight(e,r),i=t.getHasAlpha(),s=yt(n,i),u=s.compressed,c=s.format,f=s.basisFormat,l=t.getImageTranscodedSizeInBytes(e,r,f),p=new Uint8Array(l);return t.transcodeImage(p,e,r,f,0,0)?{width:o,height:a,data:p,compressed:u,hasAlpha:i,format:c}:null}function mt(t,e,r){var n=new t(new Uint8Array(e));try{if(!n.startTranscoding())return null;for(var o=n.getLevels(),a=[],i=0;i<o;i++){a.push(Et(n,i,r));break}return a}finally{n.close(),n.delete()}}function Et(t,e,r){var n=t.getImageLevelInfo(e,0,0),o=n.alphaFlag,a=n.height,i=n.width,s=yt(r,o),u=s.compressed,c=s.format,f=s.basisFormat,l=t.getImageTranscodedSizeInBytes(e,0,0,f),p=new Uint8Array(l);return t.transcodeImage(p,e,0,0,f,0,-1,-1)?{width:i,height:a,data:p,compressed:u,alphaFlag:o,format:c}:null}function yt(t,e){var r=t&&t.basis&&t.basis.format;return"auto"===r&&(r=function(){var t=rt();if(t.has("astc"))return"astc-4x4";if(t.has("dxt"))return{alpha:"bc3",noAlpha:"bc1"};if(t.has("pvrtc"))return{alpha:"pvrtc1-4-rgba",noAlpha:"pvrtc1-4-rgb"};if(t.has("etc1"))return"etc1";if(t.has("etc2"))return"etc2";return"rgb565"}()),"object"===d()(r)&&(r=e?r.alpha:r.noAlpha),r=r.toLowerCase(),_t[r]}function vt(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function bt(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?vt(Object(r),!0).forEach((function(e){o()(t,e,r[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):vt(Object(r)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}))}return t}var Rt,gt={name:"Basis",id:"basis",module:"textures",version:"3.1.0-alpha.5",worker:!0,extensions:["basis","ktx2"],mimeTypes:["application/octet-stream","image/ktx2"],tests:["sB"],binary:!0,options:{basis:{format:"auto",libraryPath:"libs/",containerFormat:"auto",module:"transcoder"}}},xt=bt(bt({},gt),{},{parse:function(t,e){return dt.apply(this,arguments)}});Rt=xt,"undefined"!=typeof self&&(m.onmessage=function(){var t=i()(u.a.mark((function t(e,r){var n,o,a,i,s;return u.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:t.t0=e,t.next="process"===t.t0?3:16;break;case 3:return t.prev=3,n=r.input,o=r.options,a=void 0===o?{}:o,t.next=7,g({loader:Rt,arrayBuffer:n,options:a,context:{parse:R}});case 7:i=t.sent,m.postMessage("done",{result:i}),t.next=15;break;case 11:t.prev=11,t.t1=t.catch(3),s=t.t1 instanceof Error?t.t1.message:"",m.postMessage("error",{error:s});case 15:return t.abrupt("break",16);case 16:case"end":return t.stop()}}),t,null,[[3,11]])})));return function(e,r){return t.apply(this,arguments)}}())}]);
2
- //# sourceMappingURL=basis-worker.js.map
1
+ (() => {
2
+ // ../worker-utils/src/lib/env-utils/version.ts
3
+ var DEFAULT_VERSION = "beta";
4
+ var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : DEFAULT_VERSION;
5
+ if (typeof __VERSION__ === "undefined") {
6
+ console.error("loaders.gl: The __VERSION__ variable is not injected using babel plugin. Latest unstable workers would be fetched from the CDN.");
7
+ }
8
+
9
+ // ../worker-utils/src/lib/env-utils/assert.ts
10
+ function assert(condition, message) {
11
+ if (!condition) {
12
+ throw new Error(message || "loaders.gl assertion failed.");
13
+ }
14
+ }
15
+
16
+ // ../worker-utils/src/lib/env-utils/globals.ts
17
+ var globals = {
18
+ self: typeof self !== "undefined" && self,
19
+ window: typeof window !== "undefined" && window,
20
+ global: typeof global !== "undefined" && global,
21
+ document: typeof document !== "undefined" && document
22
+ };
23
+ var self_ = globals.self || globals.window || globals.global || {};
24
+ var window_ = globals.window || globals.self || globals.global || {};
25
+ var global_ = globals.global || globals.self || globals.window || {};
26
+ var document_ = globals.document || {};
27
+ var isBrowser = typeof process !== "object" || String(process) !== "[object process]" || process.browser;
28
+ var isWorker = typeof importScripts === "function";
29
+ var isMobile = typeof window !== "undefined" && typeof window.orientation !== "undefined";
30
+ var matches = typeof process !== "undefined" && process.version && /v([0-9]*)/.exec(process.version);
31
+ var nodeVersion = matches && parseFloat(matches[1]) || 0;
32
+
33
+ // ../worker-utils/src/lib/worker-utils/get-transfer-list.ts
34
+ function getTransferList(object, recursive = true, transfers) {
35
+ const transfersSet = transfers || new Set();
36
+ if (!object) {
37
+ } else if (isTransferable(object)) {
38
+ transfersSet.add(object);
39
+ } else if (isTransferable(object.buffer)) {
40
+ transfersSet.add(object.buffer);
41
+ } else if (ArrayBuffer.isView(object)) {
42
+ } else if (recursive && typeof object === "object") {
43
+ for (const key in object) {
44
+ getTransferList(object[key], recursive, transfersSet);
45
+ }
46
+ }
47
+ return transfers === void 0 ? Array.from(transfersSet) : [];
48
+ }
49
+ function isTransferable(object) {
50
+ if (!object) {
51
+ return false;
52
+ }
53
+ if (object instanceof ArrayBuffer) {
54
+ return true;
55
+ }
56
+ if (typeof MessagePort !== "undefined" && object instanceof MessagePort) {
57
+ return true;
58
+ }
59
+ if (typeof ImageBitmap !== "undefined" && object instanceof ImageBitmap) {
60
+ return true;
61
+ }
62
+ if (typeof OffscreenCanvas !== "undefined" && object instanceof OffscreenCanvas) {
63
+ return true;
64
+ }
65
+ return false;
66
+ }
67
+
68
+ // ../worker-utils/src/lib/worker-farm/worker-body.ts
69
+ var onMessageWrapperMap = new Map();
70
+ var WorkerBody = class {
71
+ static set onmessage(onMessage) {
72
+ self.onmessage = (message) => {
73
+ if (!isKnownMessage(message)) {
74
+ return;
75
+ }
76
+ const { type, payload } = message.data;
77
+ onMessage(type, payload);
78
+ };
79
+ }
80
+ static addEventListener(onMessage) {
81
+ let onMessageWrapper = onMessageWrapperMap.get(onMessage);
82
+ if (!onMessageWrapper) {
83
+ onMessageWrapper = (message) => {
84
+ if (!isKnownMessage(message)) {
85
+ return;
86
+ }
87
+ const { type, payload } = message.data;
88
+ onMessage(type, payload);
89
+ };
90
+ }
91
+ self.addEventListener("message", onMessageWrapper);
92
+ }
93
+ static removeEventListener(onMessage) {
94
+ const onMessageWrapper = onMessageWrapperMap.get(onMessage);
95
+ onMessageWrapperMap.delete(onMessage);
96
+ self.removeEventListener("message", onMessageWrapper);
97
+ }
98
+ static postMessage(type, payload) {
99
+ if (self) {
100
+ const data = { source: "loaders.gl", type, payload };
101
+ const transferList = getTransferList(payload);
102
+ self.postMessage(data, transferList);
103
+ }
104
+ }
105
+ };
106
+ function isKnownMessage(message) {
107
+ const { type, data } = message;
108
+ return type === "message" && data && typeof data.source === "string" && data.source.startsWith("loaders.gl");
109
+ }
110
+
111
+ // ../worker-utils/src/lib/library-utils/library-utils.ts
112
+ var LATEST = "beta";
113
+ var VERSION2 = typeof VERSION !== "undefined" ? VERSION : LATEST;
114
+ var loadLibraryPromises = {};
115
+ async function loadLibrary(libraryUrl, moduleName = null, options = {}) {
116
+ if (moduleName) {
117
+ libraryUrl = getLibraryUrl(libraryUrl, moduleName, options);
118
+ }
119
+ loadLibraryPromises[libraryUrl] = loadLibraryPromises[libraryUrl] || loadLibraryFromFile(libraryUrl);
120
+ return await loadLibraryPromises[libraryUrl];
121
+ }
122
+ function getLibraryUrl(library, moduleName, options) {
123
+ if (library.startsWith("http")) {
124
+ return library;
125
+ }
126
+ const modules = options.modules || {};
127
+ if (modules[library]) {
128
+ return modules[library];
129
+ }
130
+ if (!isBrowser) {
131
+ return `modules/${moduleName}/dist/libs/${library}`;
132
+ }
133
+ if (options.CDN) {
134
+ assert(options.CDN.startsWith("http"));
135
+ return `${options.CDN}/${moduleName}@${VERSION2}/dist/libs/${library}`;
136
+ }
137
+ if (isWorker) {
138
+ return `../src/libs/${library}`;
139
+ }
140
+ return `modules/${moduleName}/src/libs/${library}`;
141
+ }
142
+ async function loadLibraryFromFile(libraryUrl) {
143
+ if (libraryUrl.endsWith("wasm")) {
144
+ const response2 = await fetch(libraryUrl);
145
+ return await response2.arrayBuffer();
146
+ }
147
+ if (!isBrowser) {
148
+ return node.requireFromFile && await node.requireFromFile(libraryUrl);
149
+ }
150
+ if (isWorker) {
151
+ return importScripts(libraryUrl);
152
+ }
153
+ const response = await fetch(libraryUrl);
154
+ const scriptSource = await response.text();
155
+ return loadLibraryFromString(scriptSource, libraryUrl);
156
+ }
157
+ function loadLibraryFromString(scriptSource, id) {
158
+ if (!isBrowser) {
159
+ return node.requireFromString && node.requireFromString(scriptSource, id);
160
+ }
161
+ if (isWorker) {
162
+ eval.call(global_, scriptSource);
163
+ return null;
164
+ }
165
+ const script = document.createElement("script");
166
+ script.id = id;
167
+ try {
168
+ script.appendChild(document.createTextNode(scriptSource));
169
+ } catch (e) {
170
+ script.text = scriptSource;
171
+ }
172
+ document.body.appendChild(script);
173
+ return null;
174
+ }
175
+
176
+ // ../loader-utils/src/lib/worker-loader-utils/create-loader-worker.ts
177
+ var requestId = 0;
178
+ function createLoaderWorker(loader) {
179
+ if (typeof self === "undefined") {
180
+ return;
181
+ }
182
+ WorkerBody.onmessage = async (type, payload) => {
183
+ switch (type) {
184
+ case "process":
185
+ try {
186
+ const { input, options = {} } = payload;
187
+ const result = await parseData({
188
+ loader,
189
+ arrayBuffer: input,
190
+ options,
191
+ context: {
192
+ parse: parseOnMainThread
193
+ }
194
+ });
195
+ WorkerBody.postMessage("done", { result });
196
+ } catch (error) {
197
+ const message = error instanceof Error ? error.message : "";
198
+ WorkerBody.postMessage("error", { error: message });
199
+ }
200
+ break;
201
+ default:
202
+ }
203
+ };
204
+ }
205
+ function parseOnMainThread(arrayBuffer, options) {
206
+ return new Promise((resolve, reject) => {
207
+ const id = requestId++;
208
+ const onMessage = (type, payload2) => {
209
+ if (payload2.id !== id) {
210
+ return;
211
+ }
212
+ switch (type) {
213
+ case "done":
214
+ WorkerBody.removeEventListener(onMessage);
215
+ resolve(payload2.result);
216
+ break;
217
+ case "error":
218
+ WorkerBody.removeEventListener(onMessage);
219
+ reject(payload2.error);
220
+ break;
221
+ default:
222
+ }
223
+ };
224
+ WorkerBody.addEventListener(onMessage);
225
+ const payload = { id, input: arrayBuffer, options };
226
+ WorkerBody.postMessage("process", payload);
227
+ });
228
+ }
229
+ async function parseData({ loader, arrayBuffer, options, context }) {
230
+ let data;
231
+ let parser;
232
+ if (loader.parseSync || loader.parse) {
233
+ data = arrayBuffer;
234
+ parser = loader.parseSync || loader.parse;
235
+ } else if (loader.parseTextSync) {
236
+ const textDecoder = new TextDecoder();
237
+ data = textDecoder.decode(arrayBuffer);
238
+ parser = loader.parseTextSync;
239
+ } else {
240
+ throw new Error(`Could not load data with ${loader.name} loader`);
241
+ }
242
+ options = {
243
+ ...options,
244
+ modules: loader && loader.options && loader.options.modules || {},
245
+ worker: false
246
+ };
247
+ return await parser(data, { ...options }, context, loader);
248
+ }
249
+
250
+ // src/lib/utils/version.ts
251
+ var VERSION3 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
252
+
253
+ // src/lib/parsers/basis-module-loader.ts
254
+ var VERSION4 = typeof __VERSION__ !== "undefined" ? __VERSION__ : "beta";
255
+ var BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.wasm`;
256
+ var BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION4}/dist/libs/basis_encoder.js`;
257
+ var loadBasisTranscoderPromise;
258
+ async function loadBasisTrascoderModule(options) {
259
+ const modules = options.modules || {};
260
+ if (modules.basis) {
261
+ return modules.basis;
262
+ }
263
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
264
+ return await loadBasisTranscoderPromise;
265
+ }
266
+ async function loadBasisTrascoder(options) {
267
+ let BASIS = null;
268
+ let wasmBinary = null;
269
+ [BASIS, wasmBinary] = await Promise.all([
270
+ await loadLibrary("basis_transcoder.js", "textures", options),
271
+ await loadLibrary("basis_transcoder.wasm", "textures", options)
272
+ ]);
273
+ BASIS = BASIS || globalThis.BASIS;
274
+ return await initializeBasisTrascoderModule(BASIS, wasmBinary);
275
+ }
276
+ function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
277
+ const options = {};
278
+ if (wasmBinary) {
279
+ options.wasmBinary = wasmBinary;
280
+ }
281
+ return new Promise((resolve) => {
282
+ BasisModule(options).then((module) => {
283
+ const { BasisFile, initializeBasis } = module;
284
+ initializeBasis();
285
+ resolve({ BasisFile });
286
+ });
287
+ });
288
+ }
289
+ var loadBasisEncoderPromise;
290
+ async function loadBasisEncoderModule(options) {
291
+ const modules = options.modules || {};
292
+ if (modules.basisEncoder) {
293
+ return modules.basisEncoder;
294
+ }
295
+ loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
296
+ return await loadBasisEncoderPromise;
297
+ }
298
+ async function loadBasisEncoder(options) {
299
+ let BASIS_ENCODER = null;
300
+ let wasmBinary = null;
301
+ [BASIS_ENCODER, wasmBinary] = await Promise.all([
302
+ await loadLibrary(BASIS_CDN_ENCODER_JS, "textures", options),
303
+ await loadLibrary(BASIS_CDN_ENCODER_WASM, "textures", options)
304
+ ]);
305
+ BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
306
+ return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
307
+ }
308
+ function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
309
+ const options = {};
310
+ if (wasmBinary) {
311
+ options.wasmBinary = wasmBinary;
312
+ }
313
+ return new Promise((resolve) => {
314
+ BasisEncoderModule(options).then((module) => {
315
+ const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
316
+ initializeBasis();
317
+ resolve({ BasisFile, KTX2File, BasisEncoder });
318
+ });
319
+ });
320
+ }
321
+
322
+ // src/lib/gl-extensions.ts
323
+ var GL_EXTENSIONS_CONSTANTS = {
324
+ COMPRESSED_RGB_S3TC_DXT1_EXT: 33776,
325
+ COMPRESSED_RGBA_S3TC_DXT1_EXT: 33777,
326
+ COMPRESSED_RGBA_S3TC_DXT3_EXT: 33778,
327
+ COMPRESSED_RGBA_S3TC_DXT5_EXT: 33779,
328
+ COMPRESSED_R11_EAC: 37488,
329
+ COMPRESSED_SIGNED_R11_EAC: 37489,
330
+ COMPRESSED_RG11_EAC: 37490,
331
+ COMPRESSED_SIGNED_RG11_EAC: 37491,
332
+ COMPRESSED_RGB8_ETC2: 37492,
333
+ COMPRESSED_RGBA8_ETC2_EAC: 37493,
334
+ COMPRESSED_SRGB8_ETC2: 37494,
335
+ COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 37495,
336
+ COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37496,
337
+ COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 37497,
338
+ COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 35840,
339
+ COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 35842,
340
+ COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 35841,
341
+ COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 35843,
342
+ COMPRESSED_RGB_ETC1_WEBGL: 36196,
343
+ COMPRESSED_RGB_ATC_WEBGL: 35986,
344
+ COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 35987,
345
+ COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 34798,
346
+ COMPRESSED_RGBA_ASTC_4X4_KHR: 37808,
347
+ COMPRESSED_RGBA_ASTC_5X4_KHR: 37809,
348
+ COMPRESSED_RGBA_ASTC_5X5_KHR: 37810,
349
+ COMPRESSED_RGBA_ASTC_6X5_KHR: 37811,
350
+ COMPRESSED_RGBA_ASTC_6X6_KHR: 37812,
351
+ COMPRESSED_RGBA_ASTC_8X5_KHR: 37813,
352
+ COMPRESSED_RGBA_ASTC_8X6_KHR: 37814,
353
+ COMPRESSED_RGBA_ASTC_8X8_KHR: 37815,
354
+ COMPRESSED_RGBA_ASTC_10X5_KHR: 37816,
355
+ COMPRESSED_RGBA_ASTC_10X6_KHR: 37817,
356
+ COMPRESSED_RGBA_ASTC_10X8_KHR: 37818,
357
+ COMPRESSED_RGBA_ASTC_10X10_KHR: 37819,
358
+ COMPRESSED_RGBA_ASTC_12X10_KHR: 37820,
359
+ COMPRESSED_RGBA_ASTC_12X12_KHR: 37821,
360
+ COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 37840,
361
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 37841,
362
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 37842,
363
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 37843,
364
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 37844,
365
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 37845,
366
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 37846,
367
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 37847,
368
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 37848,
369
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 37849,
370
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 37850,
371
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 37851,
372
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 37852,
373
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 37853,
374
+ COMPRESSED_RED_RGTC1_EXT: 36283,
375
+ COMPRESSED_SIGNED_RED_RGTC1_EXT: 36284,
376
+ COMPRESSED_RED_GREEN_RGTC2_EXT: 36285,
377
+ COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 36286,
378
+ COMPRESSED_SRGB_S3TC_DXT1_EXT: 35916,
379
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 35917,
380
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 35918,
381
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 35919
382
+ };
383
+
384
+ // src/lib/utils/texture-formats.ts
385
+ var BROWSER_PREFIXES = ["", "WEBKIT_", "MOZ_"];
386
+ var WEBGL_EXTENSIONS = {
387
+ WEBGL_compressed_texture_s3tc: "dxt",
388
+ WEBGL_compressed_texture_s3tc_srgb: "dxt-srgb",
389
+ WEBGL_compressed_texture_etc1: "etc1",
390
+ WEBGL_compressed_texture_etc: "etc2",
391
+ WEBGL_compressed_texture_pvrtc: "pvrtc",
392
+ WEBGL_compressed_texture_atc: "atc",
393
+ WEBGL_compressed_texture_astc: "astc",
394
+ EXT_texture_compression_rgtc: "rgtc"
395
+ };
396
+ var formats = null;
397
+ function getSupportedGPUTextureFormats(gl) {
398
+ if (!formats) {
399
+ gl = gl || getWebGLContext() || void 0;
400
+ formats = new Set();
401
+ for (const prefix of BROWSER_PREFIXES) {
402
+ for (const extension in WEBGL_EXTENSIONS) {
403
+ if (gl && gl.getExtension(`${prefix}${extension}`)) {
404
+ const gpuTextureFormat = WEBGL_EXTENSIONS[extension];
405
+ formats.add(gpuTextureFormat);
406
+ }
407
+ }
408
+ }
409
+ }
410
+ return formats;
411
+ }
412
+ function getWebGLContext() {
413
+ try {
414
+ const canvas = document.createElement("canvas");
415
+ return canvas.getContext("webgl");
416
+ } catch (error) {
417
+ return null;
418
+ }
419
+ }
420
+
421
+ // ../../node_modules/ktx-parse/dist/ktx-parse.modern.js
422
+ var t = new Uint8Array([0]);
423
+ var n;
424
+ var i;
425
+ var s;
426
+ var a;
427
+ var r;
428
+ var o;
429
+ var l;
430
+ var f;
431
+ !function(t2) {
432
+ t2[t2.NONE = 0] = "NONE", t2[t2.BASISLZ = 1] = "BASISLZ", t2[t2.ZSTD = 2] = "ZSTD", t2[t2.ZLIB = 3] = "ZLIB";
433
+ }(n || (n = {})), function(t2) {
434
+ t2[t2.BASICFORMAT = 0] = "BASICFORMAT";
435
+ }(i || (i = {})), function(t2) {
436
+ t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.ETC1S = 163] = "ETC1S", t2[t2.UASTC = 166] = "UASTC";
437
+ }(s || (s = {})), function(t2) {
438
+ t2[t2.UNSPECIFIED = 0] = "UNSPECIFIED", t2[t2.SRGB = 1] = "SRGB";
439
+ }(a || (a = {})), function(t2) {
440
+ 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";
441
+ }(r || (r = {})), function(t2) {
442
+ t2[t2.ALPHA_STRAIGHT = 0] = "ALPHA_STRAIGHT", t2[t2.ALPHA_PREMULTIPLIED = 1] = "ALPHA_PREMULTIPLIED";
443
+ }(o || (o = {})), function(t2) {
444
+ t2[t2.RGB = 0] = "RGB", t2[t2.RRR = 3] = "RRR", t2[t2.GGG = 4] = "GGG", t2[t2.AAA = 15] = "AAA";
445
+ }(l || (l = {})), function(t2) {
446
+ t2[t2.RGB = 0] = "RGB", t2[t2.RGBA = 3] = "RGBA", t2[t2.RRR = 4] = "RRR", t2[t2.RRRG = 5] = "RRRG";
447
+ }(f || (f = {}));
448
+
449
+ // src/lib/parsers/parse-ktx.ts
450
+ var KTX2_ID = [
451
+ 171,
452
+ 75,
453
+ 84,
454
+ 88,
455
+ 32,
456
+ 50,
457
+ 48,
458
+ 187,
459
+ 13,
460
+ 10,
461
+ 26,
462
+ 10
463
+ ];
464
+ function isKTX(data) {
465
+ const id = new Uint8Array(data);
466
+ 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];
467
+ return !notKTX;
468
+ }
469
+
470
+ // src/lib/parsers/parse-basis.js
471
+ var OutputFormat = {
472
+ etc1: {
473
+ basisFormat: 0,
474
+ compressed: true,
475
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
476
+ },
477
+ etc2: { basisFormat: 1, compressed: true },
478
+ bc1: {
479
+ basisFormat: 2,
480
+ compressed: true,
481
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
482
+ },
483
+ bc3: {
484
+ basisFormat: 3,
485
+ compressed: true,
486
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
487
+ },
488
+ bc4: { basisFormat: 4, compressed: true },
489
+ bc5: { basisFormat: 5, compressed: true },
490
+ "bc7-m6-opaque-only": { basisFormat: 6, compressed: true },
491
+ "bc7-m5": { basisFormat: 7, compressed: true },
492
+ "pvrtc1-4-rgb": {
493
+ basisFormat: 8,
494
+ compressed: true,
495
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
496
+ },
497
+ "pvrtc1-4-rgba": {
498
+ basisFormat: 9,
499
+ compressed: true,
500
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
501
+ },
502
+ "astc-4x4": {
503
+ basisFormat: 10,
504
+ compressed: true,
505
+ format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
506
+ },
507
+ "atc-rgb": { basisFormat: 11, compressed: true },
508
+ "atc-rgba-interpolated-alpha": { basisFormat: 12, compressed: true },
509
+ rgba32: { basisFormat: 13, compressed: false },
510
+ rgb565: { basisFormat: 14, compressed: false },
511
+ bgr565: { basisFormat: 15, compressed: false },
512
+ rgba4444: { basisFormat: 16, compressed: false }
513
+ };
514
+ async function parseBasis(data, options) {
515
+ if (options.basis.containerFormat === "auto") {
516
+ if (isKTX(data)) {
517
+ const fileConstructors = await loadBasisEncoderModule(options);
518
+ return parseKTX2File(fileConstructors.KTX2File, data, options);
519
+ }
520
+ const { BasisFile } = await loadBasisTrascoderModule(options);
521
+ return parseBasisFile(BasisFile, data, options);
522
+ }
523
+ switch (options.basis.module) {
524
+ case "encoder":
525
+ const fileConstructors = await loadBasisEncoderModule(options);
526
+ switch (options.basis.containerFormat) {
527
+ case "ktx2":
528
+ return parseKTX2File(fileConstructors.KTX2File, data, options);
529
+ case "basis":
530
+ default:
531
+ return parseBasisFile(fileConstructors.BasisFile, data, options);
532
+ }
533
+ case "transcoder":
534
+ default:
535
+ const { BasisFile } = await loadBasisTrascoderModule(options);
536
+ return parseBasisFile(BasisFile, data, options);
537
+ }
538
+ }
539
+ function parseBasisFile(BasisFile, data, options) {
540
+ const basisFile = new BasisFile(new Uint8Array(data));
541
+ try {
542
+ if (!basisFile.startTranscoding()) {
543
+ return null;
544
+ }
545
+ const imageCount = basisFile.getNumImages();
546
+ const images = [];
547
+ for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {
548
+ const levelsCount = basisFile.getNumLevels(imageIndex);
549
+ const levels = [];
550
+ for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
551
+ levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));
552
+ }
553
+ images.push(levels);
554
+ }
555
+ return images;
556
+ } finally {
557
+ basisFile.close();
558
+ basisFile.delete();
559
+ }
560
+ }
561
+ function transcodeImage(basisFile, imageIndex, levelIndex, options) {
562
+ const width = basisFile.getImageWidth(imageIndex, levelIndex);
563
+ const height = basisFile.getImageHeight(imageIndex, levelIndex);
564
+ const hasAlpha = basisFile.getHasAlpha();
565
+ const { compressed, format, basisFormat } = getBasisOptions(options, hasAlpha);
566
+ const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
567
+ const decodedData = new Uint8Array(decodedSize);
568
+ if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
569
+ return null;
570
+ }
571
+ return {
572
+ width,
573
+ height,
574
+ data: decodedData,
575
+ compressed,
576
+ hasAlpha,
577
+ format
578
+ };
579
+ }
580
+ function parseKTX2File(KTX2File, data, options) {
581
+ const ktx2File = new KTX2File(new Uint8Array(data));
582
+ try {
583
+ if (!ktx2File.startTranscoding()) {
584
+ return null;
585
+ }
586
+ const levelsCount = ktx2File.getLevels();
587
+ const levels = [];
588
+ for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
589
+ levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
590
+ break;
591
+ }
592
+ return levels;
593
+ } finally {
594
+ ktx2File.close();
595
+ ktx2File.delete();
596
+ }
597
+ }
598
+ function transcodeKTX2Image(ktx2File, levelIndex, options) {
599
+ const { alphaFlag, height, width } = ktx2File.getImageLevelInfo(levelIndex, 0, 0);
600
+ const { compressed, format, basisFormat } = getBasisOptions(options, alphaFlag);
601
+ const decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
602
+ const decodedData = new Uint8Array(decodedSize);
603
+ if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
604
+ return null;
605
+ }
606
+ return {
607
+ width,
608
+ height,
609
+ data: decodedData,
610
+ compressed,
611
+ alphaFlag,
612
+ format
613
+ };
614
+ }
615
+ function getBasisOptions(options, hasAlpha) {
616
+ let format = options && options.basis && options.basis.format;
617
+ if (format === "auto") {
618
+ format = selectSupportedBasisFormat();
619
+ }
620
+ if (typeof format === "object") {
621
+ format = hasAlpha ? format.alpha : format.noAlpha;
622
+ }
623
+ format = format.toLowerCase();
624
+ return OutputFormat[format];
625
+ }
626
+ function selectSupportedBasisFormat() {
627
+ const supportedFormats = getSupportedGPUTextureFormats();
628
+ if (supportedFormats.has("astc")) {
629
+ return "astc-4x4";
630
+ } else if (supportedFormats.has("dxt")) {
631
+ return {
632
+ alpha: "bc3",
633
+ noAlpha: "bc1"
634
+ };
635
+ } else if (supportedFormats.has("pvrtc")) {
636
+ return {
637
+ alpha: "pvrtc1-4-rgba",
638
+ noAlpha: "pvrtc1-4-rgb"
639
+ };
640
+ } else if (supportedFormats.has("etc1")) {
641
+ return "etc1";
642
+ } else if (supportedFormats.has("etc2")) {
643
+ return "etc2";
644
+ }
645
+ return "rgb565";
646
+ }
647
+
648
+ // src/basis-loader.ts
649
+ var BasisWorkerLoader = {
650
+ name: "Basis",
651
+ id: "basis",
652
+ module: "textures",
653
+ version: VERSION3,
654
+ worker: true,
655
+ extensions: ["basis", "ktx2"],
656
+ mimeTypes: ["application/octet-stream", "image/ktx2"],
657
+ tests: ["sB"],
658
+ binary: true,
659
+ options: {
660
+ basis: {
661
+ format: "auto",
662
+ libraryPath: "libs/",
663
+ containerFormat: "auto",
664
+ module: "transcoder"
665
+ }
666
+ }
667
+ };
668
+ var BasisLoader = {
669
+ ...BasisWorkerLoader,
670
+ parse: parseBasis
671
+ };
672
+
673
+ // src/workers/basis-worker.ts
674
+ createLoaderWorker(BasisLoader);
675
+ })();