@loaders.gl/textures 4.0.0-alpha.5 → 4.0.0-alpha.6

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 (324) hide show
  1. package/dist/basis-loader.d.ts +4 -43
  2. package/dist/basis-loader.d.ts.map +1 -1
  3. package/dist/basis-loader.js +36 -24
  4. package/dist/basis-nodejs-worker.js +66490 -0
  5. package/dist/basis-worker.js +52 -19
  6. package/dist/bundle.js +2 -2
  7. package/dist/compressed-texture-loader.d.ts +1 -1
  8. package/dist/compressed-texture-loader.d.ts.map +1 -1
  9. package/dist/compressed-texture-loader.js +59 -36
  10. package/dist/compressed-texture-worker.js +51 -18
  11. package/dist/compressed-texture-writer.d.ts +13 -21
  12. package/dist/compressed-texture-writer.d.ts.map +1 -1
  13. package/dist/compressed-texture-writer.js +33 -21
  14. package/dist/crunch-loader.js +23 -16
  15. package/dist/crunch-worker.js +49 -17
  16. package/dist/dist.min.js +218 -146
  17. package/dist/es5/basis-loader.js +38 -0
  18. package/dist/es5/basis-loader.js.map +1 -0
  19. package/dist/es5/bundle.js +6 -0
  20. package/dist/es5/bundle.js.map +1 -0
  21. package/dist/es5/compressed-texture-loader.js +76 -0
  22. package/dist/es5/compressed-texture-loader.js.map +1 -0
  23. package/dist/es5/compressed-texture-writer.js +28 -0
  24. package/dist/es5/compressed-texture-writer.js.map +1 -0
  25. package/dist/es5/crunch-loader.js +26 -0
  26. package/dist/es5/crunch-loader.js.map +1 -0
  27. package/dist/es5/index.js +132 -0
  28. package/dist/es5/index.js.map +1 -0
  29. package/dist/es5/ktx2-basis-writer-nodejs.js +14 -0
  30. package/dist/es5/ktx2-basis-writer-nodejs.js.map +1 -0
  31. package/dist/es5/ktx2-basis-writer.js +26 -0
  32. package/dist/es5/ktx2-basis-writer.js.map +1 -0
  33. package/dist/es5/lib/encoders/encode-ktx.js +12 -0
  34. package/dist/es5/lib/encoders/encode-ktx.js.map +1 -0
  35. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +74 -0
  36. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  37. package/dist/es5/lib/encoders/encode-texture.js +38 -0
  38. package/dist/es5/lib/encoders/encode-texture.js.map +1 -0
  39. package/dist/es5/lib/gl-extensions.js +68 -0
  40. package/dist/es5/lib/gl-extensions.js.map +1 -0
  41. package/dist/es5/lib/parsers/basis-module-loader.js +194 -0
  42. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -0
  43. package/dist/es5/lib/parsers/crunch-module-loader.js +67 -0
  44. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -0
  45. package/dist/es5/lib/parsers/parse-basis.js +270 -0
  46. package/dist/es5/lib/parsers/parse-basis.js.map +1 -0
  47. package/dist/es5/lib/parsers/parse-compressed-texture.js +22 -0
  48. package/dist/es5/lib/parsers/parse-compressed-texture.js.map +1 -0
  49. package/dist/es5/lib/parsers/parse-crunch.js +100 -0
  50. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -0
  51. package/dist/es5/lib/parsers/parse-dds.js +84 -0
  52. package/dist/es5/lib/parsers/parse-dds.js.map +1 -0
  53. package/dist/es5/lib/parsers/parse-ktx.js +34 -0
  54. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -0
  55. package/dist/es5/lib/parsers/parse-npy.js +70 -0
  56. package/dist/es5/lib/parsers/parse-npy.js.map +1 -0
  57. package/dist/es5/lib/parsers/parse-pvr.js +161 -0
  58. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -0
  59. package/dist/es5/lib/texture-api/async-deep-map.js +156 -0
  60. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -0
  61. package/dist/es5/lib/texture-api/deep-load.js +63 -0
  62. package/dist/es5/lib/texture-api/deep-load.js.map +1 -0
  63. package/dist/es5/lib/texture-api/generate-url.js +20 -0
  64. package/dist/es5/lib/texture-api/generate-url.js.map +1 -0
  65. package/dist/es5/lib/texture-api/load-image-array.js +75 -0
  66. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -0
  67. package/dist/es5/lib/texture-api/load-image-cube.js +136 -0
  68. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -0
  69. package/dist/es5/lib/texture-api/load-image.js +129 -0
  70. package/dist/es5/lib/texture-api/load-image.js.map +1 -0
  71. package/dist/es5/lib/texture-api/texture-api-types.js +2 -0
  72. package/dist/es5/lib/texture-api/texture-api-types.js.map +1 -0
  73. package/dist/es5/lib/utils/extract-mipmap-images.js +41 -0
  74. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -0
  75. package/dist/es5/lib/utils/ktx-format-helper.js +79 -0
  76. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -0
  77. package/dist/es5/lib/utils/texture-formats.js +54 -0
  78. package/dist/es5/lib/utils/texture-formats.js.map +1 -0
  79. package/dist/es5/lib/utils/version.js +9 -0
  80. package/dist/es5/lib/utils/version.js.map +1 -0
  81. package/dist/es5/libs/basis_encoder.js +21 -0
  82. package/dist/es5/libs/basis_encoder.wasm +0 -0
  83. package/dist/es5/libs/basis_transcoder.js +22 -0
  84. package/dist/{libs → es5}/libs/basis_transcoder.wasm +0 -0
  85. package/dist/es5/npy-loader.js +51 -0
  86. package/dist/es5/npy-loader.js.map +1 -0
  87. package/dist/es5/types.js +2 -0
  88. package/dist/es5/types.js.map +1 -0
  89. package/dist/es5/workers/basis-nodejs-worker.js +7 -0
  90. package/dist/es5/workers/basis-nodejs-worker.js.map +1 -0
  91. package/dist/es5/workers/basis-worker.js +6 -0
  92. package/dist/es5/workers/basis-worker.js.map +1 -0
  93. package/dist/es5/workers/compressed-texture-worker.js +6 -0
  94. package/dist/es5/workers/compressed-texture-worker.js.map +1 -0
  95. package/dist/es5/workers/crunch-worker.js +19 -0
  96. package/dist/es5/workers/crunch-worker.js.map +1 -0
  97. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js +53 -0
  98. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -0
  99. package/dist/es5/workers/ktx2-basis-writer-worker.js +53 -0
  100. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -0
  101. package/dist/es5/workers/npy-worker.js +6 -0
  102. package/dist/es5/workers/npy-worker.js.map +1 -0
  103. package/dist/esm/basis-loader.js +27 -0
  104. package/dist/esm/basis-loader.js.map +1 -0
  105. package/dist/esm/bundle.js +4 -0
  106. package/dist/esm/bundle.js.map +1 -0
  107. package/dist/esm/compressed-texture-loader.js +41 -0
  108. package/dist/esm/compressed-texture-loader.js.map +1 -0
  109. package/dist/esm/compressed-texture-writer.js +21 -0
  110. package/dist/esm/compressed-texture-writer.js.map +1 -0
  111. package/dist/esm/crunch-loader.js +18 -0
  112. package/dist/esm/crunch-loader.js.map +1 -0
  113. package/dist/esm/index.js +30 -0
  114. package/dist/esm/index.js.map +1 -0
  115. package/dist/esm/ktx2-basis-writer-nodejs.js +3 -0
  116. package/dist/esm/ktx2-basis-writer-nodejs.js.map +1 -0
  117. package/dist/{ktx2-basis-universal-texture-writer.js → esm/ktx2-basis-writer.js} +4 -4
  118. package/dist/esm/ktx2-basis-writer.js.map +1 -0
  119. package/dist/esm/lib/encoders/encode-ktx.js +6 -0
  120. package/dist/esm/lib/encoders/encode-ktx.js.map +1 -0
  121. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +35 -0
  122. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  123. package/dist/esm/lib/encoders/encode-texture.js +12 -0
  124. package/dist/esm/lib/encoders/encode-texture.js.map +1 -0
  125. package/dist/esm/lib/gl-extensions.js +61 -0
  126. package/dist/esm/lib/gl-extensions.js.map +1 -0
  127. package/dist/esm/lib/parsers/basis-module-loader.js +77 -0
  128. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -0
  129. package/dist/esm/lib/parsers/crunch-module-loader.js +19 -0
  130. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -0
  131. package/dist/esm/lib/parsers/parse-basis.js +231 -0
  132. package/dist/esm/lib/parsers/parse-basis.js.map +1 -0
  133. package/dist/esm/lib/parsers/parse-compressed-texture.js +16 -0
  134. package/dist/esm/lib/parsers/parse-compressed-texture.js.map +1 -0
  135. package/dist/esm/lib/parsers/parse-crunch.js +75 -0
  136. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -0
  137. package/dist/esm/lib/parsers/parse-dds.js +75 -0
  138. package/dist/esm/lib/parsers/parse-dds.js.map +1 -0
  139. package/dist/esm/lib/parsers/parse-ktx.js +25 -0
  140. package/dist/esm/lib/parsers/parse-ktx.js.map +1 -0
  141. package/dist/esm/lib/parsers/parse-npy.js +63 -0
  142. package/dist/esm/lib/parsers/parse-npy.js.map +1 -0
  143. package/dist/esm/lib/parsers/parse-pvr.js +154 -0
  144. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -0
  145. package/dist/esm/lib/texture-api/async-deep-map.js +34 -0
  146. package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -0
  147. package/dist/esm/lib/texture-api/deep-load.js +10 -0
  148. package/dist/esm/lib/texture-api/deep-load.js.map +1 -0
  149. package/dist/esm/lib/texture-api/generate-url.js +13 -0
  150. package/dist/esm/lib/texture-api/generate-url.js.map +1 -0
  151. package/dist/esm/lib/texture-api/load-image-array.js +20 -0
  152. package/dist/esm/lib/texture-api/load-image-array.js.map +1 -0
  153. package/dist/esm/lib/texture-api/load-image-cube.js +63 -0
  154. package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -0
  155. package/dist/esm/lib/texture-api/load-image.js +46 -0
  156. package/dist/esm/lib/texture-api/load-image.js.map +1 -0
  157. package/dist/esm/lib/texture-api/texture-api-types.js +2 -0
  158. package/dist/esm/lib/texture-api/texture-api-types.js.map +1 -0
  159. package/dist/esm/lib/utils/extract-mipmap-images.js +35 -0
  160. package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -0
  161. package/dist/esm/lib/utils/ktx-format-helper.js +73 -0
  162. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -0
  163. package/dist/esm/lib/utils/texture-formats.js +36 -0
  164. package/dist/esm/lib/utils/texture-formats.js.map +1 -0
  165. package/dist/esm/lib/utils/version.js +2 -0
  166. package/dist/esm/lib/utils/version.js.map +1 -0
  167. package/dist/esm/libs/README.md +9 -0
  168. package/dist/esm/libs/basis_encoder.js +21 -0
  169. package/dist/esm/libs/basis_encoder.wasm +0 -0
  170. package/dist/esm/libs/basis_transcoder.js +22 -0
  171. package/dist/esm/libs/basis_transcoder.wasm +0 -0
  172. package/dist/esm/libs/crunch.js +136 -0
  173. package/dist/esm/npy-loader.js +22 -0
  174. package/dist/esm/npy-loader.js.map +1 -0
  175. package/dist/esm/types.js +2 -0
  176. package/dist/esm/types.js.map +1 -0
  177. package/dist/esm/workers/basis-nodejs-worker.js +5 -0
  178. package/dist/esm/workers/basis-nodejs-worker.js.map +1 -0
  179. package/dist/esm/workers/basis-worker.js +4 -0
  180. package/dist/esm/workers/basis-worker.js.map +1 -0
  181. package/dist/esm/workers/compressed-texture-worker.js +4 -0
  182. package/dist/esm/workers/compressed-texture-worker.js.map +1 -0
  183. package/dist/esm/workers/crunch-worker.js +9 -0
  184. package/dist/esm/workers/crunch-worker.js.map +1 -0
  185. package/dist/esm/workers/ktx2-basis-writer-nodejs-worker.js +31 -0
  186. package/dist/esm/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -0
  187. package/dist/esm/workers/ktx2-basis-writer-worker.js +31 -0
  188. package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -0
  189. package/dist/esm/workers/npy-worker.js +4 -0
  190. package/dist/esm/workers/npy-worker.js.map +1 -0
  191. package/dist/index.d.ts +15 -1
  192. package/dist/index.d.ts.map +1 -1
  193. package/dist/index.js +53 -14
  194. package/dist/ktx2-basis-writer-nodejs-worker.js +65949 -0
  195. package/dist/ktx2-basis-writer-nodejs.d.ts +3 -0
  196. package/dist/ktx2-basis-writer-nodejs.d.ts.map +1 -0
  197. package/dist/ktx2-basis-writer-nodejs.js +7 -0
  198. package/dist/ktx2-basis-writer-worker.js +343 -0
  199. package/dist/ktx2-basis-writer.d.ts +16 -0
  200. package/dist/ktx2-basis-writer.d.ts.map +1 -0
  201. package/dist/ktx2-basis-writer.js +26 -0
  202. package/dist/lib/encoders/encode-ktx.js +9 -5
  203. package/dist/lib/encoders/encode-ktx2-basis-texture.js +40 -34
  204. package/dist/lib/encoders/encode-texture.d.ts +2 -3
  205. package/dist/lib/encoders/encode-texture.d.ts.map +1 -1
  206. package/dist/lib/encoders/encode-texture.js +26 -11
  207. package/dist/lib/gl-extensions.js +71 -60
  208. package/dist/lib/parsers/basis-module-loader.js +100 -76
  209. package/dist/lib/parsers/crunch-module-loader.js +30 -18
  210. package/dist/lib/parsers/parse-basis.d.ts +1 -1
  211. package/dist/lib/parsers/parse-basis.d.ts.map +1 -1
  212. package/dist/lib/parsers/parse-basis.js +225 -240
  213. package/dist/lib/parsers/parse-compressed-texture.js +25 -18
  214. package/dist/lib/parsers/parse-crunch.js +96 -82
  215. package/dist/lib/parsers/parse-dds.js +93 -63
  216. package/dist/lib/parsers/parse-ktx.js +44 -23
  217. package/dist/lib/parsers/parse-npy.d.ts +10 -5
  218. package/dist/lib/parsers/parse-npy.d.ts.map +1 -1
  219. package/dist/lib/parsers/parse-npy.js +76 -71
  220. package/dist/lib/parsers/parse-pvr.js +212 -133
  221. package/dist/lib/texture-api/async-deep-map.d.ts +2 -2
  222. package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -1
  223. package/dist/lib/texture-api/async-deep-map.js +35 -33
  224. package/dist/lib/texture-api/deep-load.d.ts +2 -2
  225. package/dist/lib/texture-api/deep-load.d.ts.map +1 -1
  226. package/dist/lib/texture-api/deep-load.js +14 -8
  227. package/dist/lib/texture-api/generate-url.js +16 -13
  228. package/dist/lib/texture-api/load-image-array.js +19 -18
  229. package/dist/lib/texture-api/load-image-cube.d.ts +1 -1
  230. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -1
  231. package/dist/lib/texture-api/load-image-cube.js +39 -55
  232. package/dist/lib/texture-api/load-image.js +38 -43
  233. package/dist/lib/texture-api/texture-api-types.d.ts +2 -2
  234. package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -1
  235. package/dist/lib/texture-api/texture-api-types.js +3 -2
  236. package/dist/lib/utils/extract-mipmap-images.d.ts +1 -1
  237. package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -1
  238. package/dist/lib/utils/extract-mipmap-images.js +45 -36
  239. package/dist/lib/utils/ktx-format-helper.js +122 -70
  240. package/dist/lib/utils/texture-formats.js +42 -30
  241. package/dist/lib/utils/version.js +8 -2
  242. package/dist/libs/basis_encoder.js +20 -21
  243. package/dist/libs/basis_encoder.wasm +0 -0
  244. package/dist/libs/basis_transcoder.js +14 -13
  245. package/dist/libs/basis_transcoder.wasm +0 -0
  246. package/dist/npy-loader.d.ts +6 -37
  247. package/dist/npy-loader.d.ts.map +1 -1
  248. package/dist/npy-loader.js +28 -20
  249. package/dist/npy-worker.js +60 -31
  250. package/dist/types.js +1 -2
  251. package/dist/workers/basis-nodejs-worker.d.ts +2 -0
  252. package/dist/workers/basis-nodejs-worker.d.ts.map +1 -0
  253. package/dist/workers/basis-nodejs-worker.js +6 -0
  254. package/dist/workers/basis-worker.js +5 -4
  255. package/dist/workers/compressed-texture-worker.js +5 -4
  256. package/dist/workers/crunch-worker.js +13 -7
  257. package/dist/workers/ktx2-basis-writer-nodejs-worker.d.ts +2 -0
  258. package/dist/workers/ktx2-basis-writer-nodejs-worker.d.ts.map +1 -0
  259. package/dist/workers/ktx2-basis-writer-nodejs-worker.js +26 -0
  260. package/dist/workers/ktx2-basis-writer-worker.d.ts +2 -0
  261. package/dist/workers/ktx2-basis-writer-worker.d.ts.map +1 -0
  262. package/dist/workers/ktx2-basis-writer-worker.js +26 -0
  263. package/dist/workers/npy-worker.js +5 -4
  264. package/package.json +16 -10
  265. package/src/basis-loader.ts +8 -8
  266. package/src/compressed-texture-writer.ts +21 -3
  267. package/src/index.ts +19 -1
  268. package/src/ktx2-basis-writer-nodejs.ts +4 -0
  269. package/src/{ktx2-basis-universal-texture-writer.ts → ktx2-basis-writer.ts} +14 -3
  270. package/src/lib/encoders/encode-texture.ts +2 -1
  271. package/src/lib/parsers/parse-basis.ts +1 -1
  272. package/src/lib/parsers/parse-npy.ts +52 -31
  273. package/src/libs/basis_encoder.js +20 -21
  274. package/src/libs/basis_encoder.wasm +0 -0
  275. package/src/libs/basis_transcoder.js +14 -13
  276. package/src/libs/basis_transcoder.wasm +0 -0
  277. package/src/npy-loader.ts +7 -7
  278. package/src/workers/basis-nodejs-worker.ts +5 -0
  279. package/src/workers/ktx2-basis-writer-nodejs-worker.ts +25 -0
  280. package/src/workers/ktx2-basis-writer-worker.ts +25 -0
  281. package/dist/basis-loader.js.map +0 -1
  282. package/dist/bundle.js.map +0 -1
  283. package/dist/compressed-texture-loader.js.map +0 -1
  284. package/dist/compressed-texture-writer.js.map +0 -1
  285. package/dist/crunch-loader.js.map +0 -1
  286. package/dist/index.js.map +0 -1
  287. package/dist/ktx2-basis-universal-texture-writer.d.ts +0 -22
  288. package/dist/ktx2-basis-universal-texture-writer.d.ts.map +0 -1
  289. package/dist/ktx2-basis-universal-texture-writer.js.map +0 -1
  290. package/dist/lib/encoders/encode-ktx.js.map +0 -1
  291. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
  292. package/dist/lib/encoders/encode-texture.js.map +0 -1
  293. package/dist/lib/gl-extensions.js.map +0 -1
  294. package/dist/lib/parsers/basis-module-loader.js.map +0 -1
  295. package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
  296. package/dist/lib/parsers/parse-basis.js.map +0 -1
  297. package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
  298. package/dist/lib/parsers/parse-crunch.js.map +0 -1
  299. package/dist/lib/parsers/parse-dds.js.map +0 -1
  300. package/dist/lib/parsers/parse-ktx.js.map +0 -1
  301. package/dist/lib/parsers/parse-npy.js.map +0 -1
  302. package/dist/lib/parsers/parse-pvr.js.map +0 -1
  303. package/dist/lib/texture-api/async-deep-map.js.map +0 -1
  304. package/dist/lib/texture-api/deep-load.js.map +0 -1
  305. package/dist/lib/texture-api/generate-url.js.map +0 -1
  306. package/dist/lib/texture-api/load-image-array.js.map +0 -1
  307. package/dist/lib/texture-api/load-image-cube.js.map +0 -1
  308. package/dist/lib/texture-api/load-image.js.map +0 -1
  309. package/dist/lib/texture-api/texture-api-types.js.map +0 -1
  310. package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
  311. package/dist/lib/utils/ktx-format-helper.js.map +0 -1
  312. package/dist/lib/utils/texture-formats.js.map +0 -1
  313. package/dist/lib/utils/version.js.map +0 -1
  314. package/dist/libs/libs/basis_encoder.js +0 -22
  315. package/dist/libs/libs/basis_encoder.wasm +0 -0
  316. package/dist/libs/libs/basis_transcoder.js +0 -21
  317. package/dist/npy-loader.js.map +0 -1
  318. package/dist/types.js.map +0 -1
  319. package/dist/workers/basis-worker.js.map +0 -1
  320. package/dist/workers/compressed-texture-worker.js.map +0 -1
  321. package/dist/workers/crunch-worker.js.map +0 -1
  322. package/dist/workers/npy-worker.js.map +0 -1
  323. /package/dist/{libs → es5}/libs/README.md +0 -0
  324. /package/dist/{libs → es5}/libs/crunch.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gl-extensions.js","names":["GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ETC2","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_ATC_WEBGL","COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL","COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL","COMPRESSED_RGBA_ASTC_4X4_KHR","COMPRESSED_RGBA_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5X5_KHR","COMPRESSED_RGBA_ASTC_6X5_KHR","COMPRESSED_RGBA_ASTC_6X6_KHR","COMPRESSED_RGBA_ASTC_8X5_KHR","COMPRESSED_RGBA_ASTC_8X6_KHR","COMPRESSED_RGBA_ASTC_8X8_KHR","COMPRESSED_RGBA_ASTC_10X5_KHR","COMPRESSED_RGBA_ASTC_10X6_KHR","COMPRESSED_RGBA_ASTC_10X8_KHR","COMPRESSED_RGBA_ASTC_10X10_KHR","COMPRESSED_RGBA_ASTC_12X10_KHR","COMPRESSED_RGBA_ASTC_12X12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","exports"],"sources":["../../../src/lib/gl-extensions.ts"],"sourcesContent":["/* eslint-disable camelcase */\nexport const GL_EXTENSIONS_CONSTANTS = {\n // WEBGL_compressed_texture_s3tc\n\n COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,\n COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,\n COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,\n COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83f3,\n\n // WEBGL_compressed_texture_es3\n\n COMPRESSED_R11_EAC: 0x9270,\n COMPRESSED_SIGNED_R11_EAC: 0x9271,\n COMPRESSED_RG11_EAC: 0x9272,\n COMPRESSED_SIGNED_RG11_EAC: 0x9273,\n COMPRESSED_RGB8_ETC2: 0x9274,\n COMPRESSED_RGBA8_ETC2_EAC: 0x9275,\n COMPRESSED_SRGB8_ETC2: 0x9276,\n COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9277,\n COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9278,\n COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9279,\n\n // WEBGL_compressed_texture_pvrtc\n\n COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8c00,\n COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8c02,\n COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8c01,\n COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8c03,\n\n // WEBGL_compressed_texture_etc1\n\n COMPRESSED_RGB_ETC1_WEBGL: 0x8d64,\n\n // WEBGL_compressed_texture_atc\n\n COMPRESSED_RGB_ATC_WEBGL: 0x8c92,\n COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 0x8c93,\n COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 0x87ee,\n\n // WEBGL_compressed_texture_astc\n\n COMPRESSED_RGBA_ASTC_4X4_KHR: 0x93b0,\n COMPRESSED_RGBA_ASTC_5X4_KHR: 0x93b1,\n COMPRESSED_RGBA_ASTC_5X5_KHR: 0x93b2,\n COMPRESSED_RGBA_ASTC_6X5_KHR: 0x93b3,\n COMPRESSED_RGBA_ASTC_6X6_KHR: 0x93b4,\n COMPRESSED_RGBA_ASTC_8X5_KHR: 0x93b5,\n COMPRESSED_RGBA_ASTC_8X6_KHR: 0x93b6,\n COMPRESSED_RGBA_ASTC_8X8_KHR: 0x93b7,\n COMPRESSED_RGBA_ASTC_10X5_KHR: 0x93b8,\n COMPRESSED_RGBA_ASTC_10X6_KHR: 0x93b9,\n COMPRESSED_RGBA_ASTC_10X8_KHR: 0x93ba,\n COMPRESSED_RGBA_ASTC_10X10_KHR: 0x93bb,\n COMPRESSED_RGBA_ASTC_12X10_KHR: 0x93bc,\n COMPRESSED_RGBA_ASTC_12X12_KHR: 0x93bd,\n COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 0x93d0,\n COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 0x93d1,\n COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 0x93d2,\n COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 0x93d3,\n COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 0x93d4,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 0x93d5,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 0x93d6,\n COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 0x93d7,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 0x93d8,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 0x93d9,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 0x93da,\n COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 0x93db,\n COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 0x93dc,\n COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 0x93dd,\n\n // EXT_texture_compression_rgtc\n\n COMPRESSED_RED_RGTC1_EXT: 0x8dbb,\n COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8dbc,\n COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8dbd,\n COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8dbe,\n\n // WEBGL_compressed_texture_s3tc_srgb\n\n COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8c4c,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8c4d,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,\n COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f\n};\n"],"mappings":";;;;;;AACO,IAAMA,uBAAuB,GAAG;EAGrCC,4BAA4B,EAAE,MAAM;EACpCC,6BAA6B,EAAE,MAAM;EACrCC,6BAA6B,EAAE,MAAM;EACrCC,6BAA6B,EAAE,MAAM;EAIrCC,kBAAkB,EAAE,MAAM;EAC1BC,yBAAyB,EAAE,MAAM;EACjCC,mBAAmB,EAAE,MAAM;EAC3BC,0BAA0B,EAAE,MAAM;EAClCC,oBAAoB,EAAE,MAAM;EAC5BC,yBAAyB,EAAE,MAAM;EACjCC,qBAAqB,EAAE,MAAM;EAC7BC,gCAAgC,EAAE,MAAM;EACxCC,wCAAwC,EAAE,MAAM;EAChDC,yCAAyC,EAAE,MAAM;EAIjDC,+BAA+B,EAAE,MAAM;EACvCC,gCAAgC,EAAE,MAAM;EACxCC,+BAA+B,EAAE,MAAM;EACvCC,gCAAgC,EAAE,MAAM;EAIxCC,yBAAyB,EAAE,MAAM;EAIjCC,wBAAwB,EAAE,MAAM;EAChCC,wCAAwC,EAAE,MAAM;EAChDC,4CAA4C,EAAE,MAAM;EAIpDC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,4BAA4B,EAAE,MAAM;EACpCC,6BAA6B,EAAE,MAAM;EACrCC,6BAA6B,EAAE,MAAM;EACrCC,6BAA6B,EAAE,MAAM;EACrCC,8BAA8B,EAAE,MAAM;EACtCC,8BAA8B,EAAE,MAAM;EACtCC,8BAA8B,EAAE,MAAM;EACtCC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,oCAAoC,EAAE,MAAM;EAC5CC,qCAAqC,EAAE,MAAM;EAC7CC,qCAAqC,EAAE,MAAM;EAC7CC,qCAAqC,EAAE,MAAM;EAC7CC,sCAAsC,EAAE,MAAM;EAC9CC,sCAAsC,EAAE,MAAM;EAC9CC,sCAAsC,EAAE,MAAM;EAI9CC,wBAAwB,EAAE,MAAM;EAChCC,+BAA+B,EAAE,MAAM;EACvCC,8BAA8B,EAAE,MAAM;EACtCC,qCAAqC,EAAE,MAAM;EAI7CC,6BAA6B,EAAE,MAAM;EACrCC,mCAAmC,EAAE,MAAM;EAC3CC,mCAAmC,EAAE,MAAM;EAC3CC,mCAAmC,EAAE;AACvC,CAAC;AAACC,OAAA,CAAA3D,uBAAA,GAAAA,uBAAA"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.loadBasisEncoderModule = loadBasisEncoderModule;
8
+ exports.loadBasisTrascoderModule = loadBasisTrascoderModule;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _workerUtils = require("@loaders.gl/worker-utils");
13
+ var VERSION = typeof "4.0.0-alpha.6" !== 'undefined' ? "4.0.0-alpha.6" : 'beta';
14
+ var BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
15
+ var BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");
16
+ var loadBasisTranscoderPromise;
17
+ function loadBasisTrascoderModule(_x) {
18
+ return _loadBasisTrascoderModule.apply(this, arguments);
19
+ }
20
+ function _loadBasisTrascoderModule() {
21
+ _loadBasisTrascoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
22
+ var modules;
23
+ return _regenerator.default.wrap(function _callee$(_context) {
24
+ while (1) switch (_context.prev = _context.next) {
25
+ case 0:
26
+ modules = options.modules || {};
27
+ if (!modules.basis) {
28
+ _context.next = 3;
29
+ break;
30
+ }
31
+ return _context.abrupt("return", modules.basis);
32
+ case 3:
33
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
34
+ _context.next = 6;
35
+ return loadBasisTranscoderPromise;
36
+ case 6:
37
+ return _context.abrupt("return", _context.sent);
38
+ case 7:
39
+ case "end":
40
+ return _context.stop();
41
+ }
42
+ }, _callee);
43
+ }));
44
+ return _loadBasisTrascoderModule.apply(this, arguments);
45
+ }
46
+ function loadBasisTrascoder(_x2) {
47
+ return _loadBasisTrascoder.apply(this, arguments);
48
+ }
49
+ function _loadBasisTrascoder() {
50
+ _loadBasisTrascoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
51
+ var BASIS, wasmBinary, _yield$Promise$all, _yield$Promise$all2;
52
+ return _regenerator.default.wrap(function _callee2$(_context2) {
53
+ while (1) switch (_context2.prev = _context2.next) {
54
+ case 0:
55
+ BASIS = null;
56
+ wasmBinary = null;
57
+ _context2.t0 = Promise;
58
+ _context2.next = 5;
59
+ return (0, _workerUtils.loadLibrary)('basis_transcoder.js', 'textures', options);
60
+ case 5:
61
+ _context2.t1 = _context2.sent;
62
+ _context2.next = 8;
63
+ return (0, _workerUtils.loadLibrary)('basis_transcoder.wasm', 'textures', options);
64
+ case 8:
65
+ _context2.t2 = _context2.sent;
66
+ _context2.t3 = [_context2.t1, _context2.t2];
67
+ _context2.next = 12;
68
+ return _context2.t0.all.call(_context2.t0, _context2.t3);
69
+ case 12:
70
+ _yield$Promise$all = _context2.sent;
71
+ _yield$Promise$all2 = (0, _slicedToArray2.default)(_yield$Promise$all, 2);
72
+ BASIS = _yield$Promise$all2[0];
73
+ wasmBinary = _yield$Promise$all2[1];
74
+ BASIS = BASIS || globalThis.BASIS;
75
+ _context2.next = 19;
76
+ return initializeBasisTrascoderModule(BASIS, wasmBinary);
77
+ case 19:
78
+ return _context2.abrupt("return", _context2.sent);
79
+ case 20:
80
+ case "end":
81
+ return _context2.stop();
82
+ }
83
+ }, _callee2);
84
+ }));
85
+ return _loadBasisTrascoder.apply(this, arguments);
86
+ }
87
+ function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
88
+ var options = {};
89
+ if (wasmBinary) {
90
+ options.wasmBinary = wasmBinary;
91
+ }
92
+ return new Promise(function (resolve) {
93
+ BasisModule(options).then(function (module) {
94
+ var BasisFile = module.BasisFile,
95
+ initializeBasis = module.initializeBasis;
96
+ initializeBasis();
97
+ resolve({
98
+ BasisFile: BasisFile
99
+ });
100
+ });
101
+ });
102
+ }
103
+ var loadBasisEncoderPromise;
104
+ function loadBasisEncoderModule(_x3) {
105
+ return _loadBasisEncoderModule.apply(this, arguments);
106
+ }
107
+ function _loadBasisEncoderModule() {
108
+ _loadBasisEncoderModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee3(options) {
109
+ var modules;
110
+ return _regenerator.default.wrap(function _callee3$(_context3) {
111
+ while (1) switch (_context3.prev = _context3.next) {
112
+ case 0:
113
+ modules = options.modules || {};
114
+ if (!modules.basisEncoder) {
115
+ _context3.next = 3;
116
+ break;
117
+ }
118
+ return _context3.abrupt("return", modules.basisEncoder);
119
+ case 3:
120
+ loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
121
+ _context3.next = 6;
122
+ return loadBasisEncoderPromise;
123
+ case 6:
124
+ return _context3.abrupt("return", _context3.sent);
125
+ case 7:
126
+ case "end":
127
+ return _context3.stop();
128
+ }
129
+ }, _callee3);
130
+ }));
131
+ return _loadBasisEncoderModule.apply(this, arguments);
132
+ }
133
+ function loadBasisEncoder(_x4) {
134
+ return _loadBasisEncoder.apply(this, arguments);
135
+ }
136
+ function _loadBasisEncoder() {
137
+ _loadBasisEncoder = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee4(options) {
138
+ var BASIS_ENCODER, wasmBinary, _yield$Promise$all3, _yield$Promise$all4;
139
+ return _regenerator.default.wrap(function _callee4$(_context4) {
140
+ while (1) switch (_context4.prev = _context4.next) {
141
+ case 0:
142
+ BASIS_ENCODER = null;
143
+ wasmBinary = null;
144
+ _context4.t0 = Promise;
145
+ _context4.next = 5;
146
+ return (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options);
147
+ case 5:
148
+ _context4.t1 = _context4.sent;
149
+ _context4.next = 8;
150
+ return (0, _workerUtils.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options);
151
+ case 8:
152
+ _context4.t2 = _context4.sent;
153
+ _context4.t3 = [_context4.t1, _context4.t2];
154
+ _context4.next = 12;
155
+ return _context4.t0.all.call(_context4.t0, _context4.t3);
156
+ case 12:
157
+ _yield$Promise$all3 = _context4.sent;
158
+ _yield$Promise$all4 = (0, _slicedToArray2.default)(_yield$Promise$all3, 2);
159
+ BASIS_ENCODER = _yield$Promise$all4[0];
160
+ wasmBinary = _yield$Promise$all4[1];
161
+ BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
162
+ _context4.next = 19;
163
+ return initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
164
+ case 19:
165
+ return _context4.abrupt("return", _context4.sent);
166
+ case 20:
167
+ case "end":
168
+ return _context4.stop();
169
+ }
170
+ }, _callee4);
171
+ }));
172
+ return _loadBasisEncoder.apply(this, arguments);
173
+ }
174
+ function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
175
+ var options = {};
176
+ if (wasmBinary) {
177
+ options.wasmBinary = wasmBinary;
178
+ }
179
+ return new Promise(function (resolve) {
180
+ BasisEncoderModule(options).then(function (module) {
181
+ var BasisFile = module.BasisFile,
182
+ KTX2File = module.KTX2File,
183
+ initializeBasis = module.initializeBasis,
184
+ BasisEncoder = module.BasisEncoder;
185
+ initializeBasis();
186
+ resolve({
187
+ BasisFile: BasisFile,
188
+ KTX2File: KTX2File,
189
+ BasisEncoder: BasisEncoder
190
+ });
191
+ });
192
+ });
193
+ }
194
+ //# sourceMappingURL=basis-module-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basis-module-loader.js","names":["_workerUtils","require","VERSION","BASIS_CDN_ENCODER_WASM","concat","BASIS_CDN_ENCODER_JS","loadBasisTranscoderPromise","loadBasisTrascoderModule","_x","_loadBasisTrascoderModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","basis","abrupt","loadBasisTrascoder","sent","stop","_x2","_loadBasisTrascoder","_callee2","BASIS","wasmBinary","_yield$Promise$all","_yield$Promise$all2","_callee2$","_context2","t0","Promise","loadLibrary","t1","t2","t3","all","call","_slicedToArray2","globalThis","initializeBasisTrascoderModule","BasisModule","resolve","then","module","BasisFile","initializeBasis","loadBasisEncoderPromise","loadBasisEncoderModule","_x3","_loadBasisEncoderModule","_callee3","_callee3$","_context3","basisEncoder","loadBasisEncoder","_x4","_loadBasisEncoder","_callee4","BASIS_ENCODER","_yield$Promise$all3","_yield$Promise$all4","_callee4$","_context4","initializeBasisEncoderModule","BasisEncoderModule","KTX2File","BasisEncoder"],"sources":["../../../../src/lib/parsers/basis-module-loader.ts"],"sourcesContent":["// __VERSION__ is injected by babel-plugin-version-inline\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nconst VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n\n// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\nconst BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;\nconst BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;\n\nlet loadBasisTranscoderPromise;\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nexport async function loadBasisTrascoderModule(options) {\n const modules = options.modules || {};\n if (modules.basis) {\n return modules.basis;\n }\n\n loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);\n return await loadBasisTranscoderPromise;\n}\n\n/**\n * Loads wasm transcoder module\n * @param options\n * @returns {BasisFile} promise\n */\nasync function loadBasisTrascoder(options) {\n let BASIS = null;\n let wasmBinary = null;\n\n [BASIS, wasmBinary] = await Promise.all([\n await loadLibrary('basis_transcoder.js', 'textures', options),\n await loadLibrary('basis_transcoder.wasm', 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS = BASIS || globalThis.BASIS;\n return await initializeBasisTrascoderModule(BASIS, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile} promise\n */\nfunction initializeBasisTrascoderModule(BasisModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisModule(options).then((module) => {\n const {BasisFile, initializeBasis} = module;\n initializeBasis();\n resolve({BasisFile});\n });\n });\n}\n\nlet loadBasisEncoderPromise;\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nexport async function loadBasisEncoderModule(options) {\n const modules = options.modules || {};\n if (modules.basisEncoder) {\n return modules.basisEncoder;\n }\n\n loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);\n return await loadBasisEncoderPromise;\n}\n\n/**\n * Loads wasm encoder module\n * @param options\n * @returns {BasisFile, KTX2File} promise\n */\nasync function loadBasisEncoder(options) {\n let BASIS_ENCODER = null;\n let wasmBinary = null;\n\n [BASIS_ENCODER, wasmBinary] = await Promise.all([\n await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options),\n await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)\n ]);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;\n return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);\n}\n\n/**\n * Initialize wasm transcoder module\n * @param BasisEncoderModule - js part of the module\n * @param wasmBinary - wasm part of the module\n * @returns {BasisFile, KTX2File} promise\n */\nfunction initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {\n const options: {wasmBinary?} = {};\n\n if (wasmBinary) {\n options.wasmBinary = wasmBinary;\n }\n\n return new Promise((resolve) => {\n // if you try to return BasisModule the browser crashes!\n BasisEncoderModule(options).then((module) => {\n const {BasisFile, KTX2File, initializeBasis, BasisEncoder} = module;\n initializeBasis();\n resolve({BasisFile, KTX2File, BasisEncoder});\n });\n });\n}\n"],"mappings":"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"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.loadCrunchModule = loadCrunchModule;
8
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
+ var _workerUtils = require("@loaders.gl/worker-utils");
11
+ function loadCrunchModule(_x) {
12
+ return _loadCrunchModule.apply(this, arguments);
13
+ }
14
+ function _loadCrunchModule() {
15
+ _loadCrunchModule = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(options) {
16
+ var modules;
17
+ return _regenerator.default.wrap(function _callee$(_context) {
18
+ while (1) switch (_context.prev = _context.next) {
19
+ case 0:
20
+ modules = options.modules || {};
21
+ if (!modules.crunch) {
22
+ _context.next = 3;
23
+ break;
24
+ }
25
+ return _context.abrupt("return", modules.crunch);
26
+ case 3:
27
+ return _context.abrupt("return", loadCrunch(options));
28
+ case 4:
29
+ case "end":
30
+ return _context.stop();
31
+ }
32
+ }, _callee);
33
+ }));
34
+ return _loadCrunchModule.apply(this, arguments);
35
+ }
36
+ var crunchModule;
37
+ function loadCrunch(_x2) {
38
+ return _loadCrunch.apply(this, arguments);
39
+ }
40
+ function _loadCrunch() {
41
+ _loadCrunch = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee2(options) {
42
+ var loadCrunchDecoder;
43
+ return _regenerator.default.wrap(function _callee2$(_context2) {
44
+ while (1) switch (_context2.prev = _context2.next) {
45
+ case 0:
46
+ if (!crunchModule) {
47
+ _context2.next = 2;
48
+ break;
49
+ }
50
+ return _context2.abrupt("return", crunchModule);
51
+ case 2:
52
+ _context2.next = 4;
53
+ return (0, _workerUtils.loadLibrary)('crunch.js', 'textures', options);
54
+ case 4:
55
+ loadCrunchDecoder = _context2.sent;
56
+ loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
57
+ crunchModule = loadCrunchDecoder();
58
+ return _context2.abrupt("return", crunchModule);
59
+ case 8:
60
+ case "end":
61
+ return _context2.stop();
62
+ }
63
+ }, _callee2);
64
+ }));
65
+ return _loadCrunch.apply(this, arguments);
66
+ }
67
+ //# sourceMappingURL=crunch-module-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-module-loader.js","names":["_workerUtils","require","loadCrunchModule","_x","_loadCrunchModule","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","options","modules","wrap","_callee$","_context","prev","next","crunch","abrupt","loadCrunch","stop","crunchModule","_x2","_loadCrunch","_callee2","loadCrunchDecoder","_callee2$","_context2","loadLibrary","sent","globalThis","LoadCrunchDecoder"],"sources":["../../../../src/lib/parsers/crunch-module-loader.ts"],"sourcesContent":["// @ts-nocheck\nimport {loadLibrary} from '@loaders.gl/worker-utils';\n\n/**\n * Load crunch decoder module\n * @param options - loader options\n * @returns Promise of module object\n */\nexport async function loadCrunchModule(options): Promise<any> {\n const modules = options.modules || {};\n if (modules.crunch) {\n return modules.crunch;\n }\n\n return loadCrunch(options);\n}\n\nlet crunchModule;\n\n/**\n * Load crunch decoder module\n * @param {any} options - Loader options\n * @returns {Promise<any>} Promise of Module object\n */\nasync function loadCrunch(options) {\n if (crunchModule) {\n return crunchModule;\n }\n\n let loadCrunchDecoder = await loadLibrary('crunch.js', 'textures', options);\n\n // Depends on how import happened...\n // @ts-ignore TS2339: Property does not exist on type\n loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;\n crunchModule = loadCrunchDecoder();\n return crunchModule;\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAqD,SAO/BC,gBAAgBA,CAAAC,EAAA;EAAA,OAAAC,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,kBAAA;EAAAA,iBAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAA/B,SAAAC,QAAgCC,OAAO;IAAA,IAAAC,OAAA;IAAA,OAAAJ,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACtCL,OAAO,GAAGD,OAAO,CAACC,OAAO,IAAI,CAAC,CAAC;UAAA,KACjCA,OAAO,CAACM,MAAM;YAAAH,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAI,MAAA,WACTP,OAAO,CAACM,MAAM;QAAA;UAAA,OAAAH,QAAA,CAAAI,MAAA,WAGhBC,UAAU,CAACT,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAI,QAAA,CAAAM,IAAA;MAAA;IAAA,GAAAX,OAAA;EAAA,CAC3B;EAAA,OAAAP,iBAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAED,IAAIiB,YAAY;AAAC,SAOFF,UAAUA,CAAAG,GAAA;EAAA,OAAAC,WAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAmB,YAAA;EAAAA,WAAA,OAAAlB,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAzB,SAAAgB,SAA0Bd,OAAO;IAAA,IAAAe,iBAAA;IAAA,OAAAlB,YAAA,CAAAD,OAAA,CAAAM,IAAA,UAAAc,UAAAC,SAAA;MAAA,kBAAAA,SAAA,CAAAZ,IAAA,GAAAY,SAAA,CAAAX,IAAA;QAAA;UAAA,KAC3BK,YAAY;YAAAM,SAAA,CAAAX,IAAA;YAAA;UAAA;UAAA,OAAAW,SAAA,CAAAT,MAAA,WACPG,YAAY;QAAA;UAAAM,SAAA,CAAAX,IAAA;UAAA,OAGS,IAAAY,wBAAW,EAAC,WAAW,EAAE,UAAU,EAAElB,OAAO,CAAC;QAAA;UAAvEe,iBAAiB,GAAAE,SAAA,CAAAE,IAAA;UAIrBJ,iBAAiB,GAAGA,iBAAiB,IAAIK,UAAU,CAACC,iBAAiB;UACrEV,YAAY,GAAGI,iBAAiB,CAAC,CAAC;UAAC,OAAAE,SAAA,CAAAT,MAAA,WAC5BG,YAAY;QAAA;QAAA;UAAA,OAAAM,SAAA,CAAAP,IAAA;MAAA;IAAA,GAAAI,QAAA;EAAA,CACpB;EAAA,OAAAD,WAAA,CAAApB,KAAA,OAAAC,SAAA;AAAA"}
@@ -0,0 +1,270 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = parseBasis;
8
+ exports.selectSupportedBasisFormat = selectSupportedBasisFormat;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
12
+ var _basisModuleLoader = require("./basis-module-loader");
13
+ var _glExtensions = require("../gl-extensions");
14
+ var _textureFormats = require("../utils/texture-formats");
15
+ var _parseKtx = require("./parse-ktx");
16
+ var OutputFormat = {
17
+ etc1: {
18
+ basisFormat: 0,
19
+ compressed: true,
20
+ format: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL
21
+ },
22
+ etc2: {
23
+ basisFormat: 1,
24
+ compressed: true
25
+ },
26
+ bc1: {
27
+ basisFormat: 2,
28
+ compressed: true,
29
+ format: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT
30
+ },
31
+ bc3: {
32
+ basisFormat: 3,
33
+ compressed: true,
34
+ format: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT
35
+ },
36
+ bc4: {
37
+ basisFormat: 4,
38
+ compressed: true
39
+ },
40
+ bc5: {
41
+ basisFormat: 5,
42
+ compressed: true
43
+ },
44
+ 'bc7-m6-opaque-only': {
45
+ basisFormat: 6,
46
+ compressed: true
47
+ },
48
+ 'bc7-m5': {
49
+ basisFormat: 7,
50
+ compressed: true
51
+ },
52
+ 'pvrtc1-4-rgb': {
53
+ basisFormat: 8,
54
+ compressed: true,
55
+ format: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG
56
+ },
57
+ 'pvrtc1-4-rgba': {
58
+ basisFormat: 9,
59
+ compressed: true,
60
+ format: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG
61
+ },
62
+ 'astc-4x4': {
63
+ basisFormat: 10,
64
+ compressed: true,
65
+ format: _glExtensions.GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR
66
+ },
67
+ 'atc-rgb': {
68
+ basisFormat: 11,
69
+ compressed: true
70
+ },
71
+ 'atc-rgba-interpolated-alpha': {
72
+ basisFormat: 12,
73
+ compressed: true
74
+ },
75
+ rgba32: {
76
+ basisFormat: 13,
77
+ compressed: false
78
+ },
79
+ rgb565: {
80
+ basisFormat: 14,
81
+ compressed: false
82
+ },
83
+ bgr565: {
84
+ basisFormat: 15,
85
+ compressed: false
86
+ },
87
+ rgba4444: {
88
+ basisFormat: 16,
89
+ compressed: false
90
+ }
91
+ };
92
+ function parseBasis(_x, _x2) {
93
+ return _parseBasis.apply(this, arguments);
94
+ }
95
+ function _parseBasis() {
96
+ _parseBasis = (0, _asyncToGenerator2.default)(_regenerator.default.mark(function _callee(data, options) {
97
+ var fileConstructors, _yield$loadBasisTrasc, BasisFile, _fileConstructors, _yield$loadBasisTrasc2, _BasisFile;
98
+ return _regenerator.default.wrap(function _callee$(_context) {
99
+ while (1) switch (_context.prev = _context.next) {
100
+ case 0:
101
+ if (!(options.basis.containerFormat === 'auto')) {
102
+ _context.next = 11;
103
+ break;
104
+ }
105
+ if (!(0, _parseKtx.isKTX)(data)) {
106
+ _context.next = 6;
107
+ break;
108
+ }
109
+ _context.next = 4;
110
+ return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
111
+ case 4:
112
+ fileConstructors = _context.sent;
113
+ return _context.abrupt("return", parseKTX2File(fileConstructors.KTX2File, data, options));
114
+ case 6:
115
+ _context.next = 8;
116
+ return (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
117
+ case 8:
118
+ _yield$loadBasisTrasc = _context.sent;
119
+ BasisFile = _yield$loadBasisTrasc.BasisFile;
120
+ return _context.abrupt("return", parseBasisFile(BasisFile, data, options));
121
+ case 11:
122
+ _context.t0 = options.basis.module;
123
+ _context.next = _context.t0 === 'encoder' ? 14 : _context.t0 === 'transcoder' ? 22 : 22;
124
+ break;
125
+ case 14:
126
+ _context.next = 16;
127
+ return (0, _basisModuleLoader.loadBasisEncoderModule)(options);
128
+ case 16:
129
+ _fileConstructors = _context.sent;
130
+ _context.t1 = options.basis.containerFormat;
131
+ _context.next = _context.t1 === 'ktx2' ? 20 : _context.t1 === 'basis' ? 21 : 21;
132
+ break;
133
+ case 20:
134
+ return _context.abrupt("return", parseKTX2File(_fileConstructors.KTX2File, data, options));
135
+ case 21:
136
+ return _context.abrupt("return", parseBasisFile(_fileConstructors.BasisFile, data, options));
137
+ case 22:
138
+ _context.next = 24;
139
+ return (0, _basisModuleLoader.loadBasisTrascoderModule)(options);
140
+ case 24:
141
+ _yield$loadBasisTrasc2 = _context.sent;
142
+ _BasisFile = _yield$loadBasisTrasc2.BasisFile;
143
+ return _context.abrupt("return", parseBasisFile(_BasisFile, data, options));
144
+ case 27:
145
+ case "end":
146
+ return _context.stop();
147
+ }
148
+ }, _callee);
149
+ }));
150
+ return _parseBasis.apply(this, arguments);
151
+ }
152
+ function parseBasisFile(BasisFile, data, options) {
153
+ var basisFile = new BasisFile(new Uint8Array(data));
154
+ try {
155
+ if (!basisFile.startTranscoding()) {
156
+ throw new Error('Failed to start basis transcoding');
157
+ }
158
+ var imageCount = basisFile.getNumImages();
159
+ var images = [];
160
+ for (var imageIndex = 0; imageIndex < imageCount; imageIndex++) {
161
+ var levelsCount = basisFile.getNumLevels(imageIndex);
162
+ var levels = [];
163
+ for (var levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
164
+ levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));
165
+ }
166
+ images.push(levels);
167
+ }
168
+ return images;
169
+ } finally {
170
+ basisFile.close();
171
+ basisFile.delete();
172
+ }
173
+ }
174
+ function transcodeImage(basisFile, imageIndex, levelIndex, options) {
175
+ var width = basisFile.getImageWidth(imageIndex, levelIndex);
176
+ var height = basisFile.getImageHeight(imageIndex, levelIndex);
177
+ var hasAlpha = basisFile.getHasAlpha();
178
+ var _getBasisOptions = getBasisOptions(options, hasAlpha),
179
+ compressed = _getBasisOptions.compressed,
180
+ format = _getBasisOptions.format,
181
+ basisFormat = _getBasisOptions.basisFormat;
182
+ var decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);
183
+ var decodedData = new Uint8Array(decodedSize);
184
+ if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {
185
+ throw new Error('failed to start Basis transcoding');
186
+ }
187
+ return {
188
+ width: width,
189
+ height: height,
190
+ data: decodedData,
191
+ compressed: compressed,
192
+ format: format,
193
+ hasAlpha: hasAlpha
194
+ };
195
+ }
196
+ function parseKTX2File(KTX2File, data, options) {
197
+ var ktx2File = new KTX2File(new Uint8Array(data));
198
+ try {
199
+ if (!ktx2File.startTranscoding()) {
200
+ throw new Error('failed to start KTX2 transcoding');
201
+ }
202
+ var levelsCount = ktx2File.getLevels();
203
+ var levels = [];
204
+ for (var levelIndex = 0; levelIndex < levelsCount; levelIndex++) {
205
+ levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));
206
+ break;
207
+ }
208
+ return [levels];
209
+ } finally {
210
+ ktx2File.close();
211
+ ktx2File.delete();
212
+ }
213
+ }
214
+ function transcodeKTX2Image(ktx2File, levelIndex, options) {
215
+ var _ktx2File$getImageLev = ktx2File.getImageLevelInfo(levelIndex, 0, 0),
216
+ alphaFlag = _ktx2File$getImageLev.alphaFlag,
217
+ height = _ktx2File$getImageLev.height,
218
+ width = _ktx2File$getImageLev.width;
219
+ var _getBasisOptions2 = getBasisOptions(options, alphaFlag),
220
+ compressed = _getBasisOptions2.compressed,
221
+ format = _getBasisOptions2.format,
222
+ basisFormat = _getBasisOptions2.basisFormat;
223
+ var decodedSize = ktx2File.getImageTranscodedSizeInBytes(levelIndex, 0, 0, basisFormat);
224
+ var decodedData = new Uint8Array(decodedSize);
225
+ if (!ktx2File.transcodeImage(decodedData, levelIndex, 0, 0, basisFormat, 0, -1, -1)) {
226
+ throw new Error('Failed to transcode KTX2 image');
227
+ }
228
+ return {
229
+ width: width,
230
+ height: height,
231
+ data: decodedData,
232
+ compressed: compressed,
233
+ levelSize: decodedSize,
234
+ hasAlpha: alphaFlag,
235
+ format: format
236
+ };
237
+ }
238
+ function getBasisOptions(options, hasAlpha) {
239
+ var format = options && options.basis && options.basis.format;
240
+ if (format === 'auto') {
241
+ format = selectSupportedBasisFormat();
242
+ }
243
+ if ((0, _typeof2.default)(format) === 'object') {
244
+ format = hasAlpha ? format.alpha : format.noAlpha;
245
+ }
246
+ format = format.toLowerCase();
247
+ return OutputFormat[format];
248
+ }
249
+ function selectSupportedBasisFormat() {
250
+ var supportedFormats = (0, _textureFormats.getSupportedGPUTextureFormats)();
251
+ if (supportedFormats.has('astc')) {
252
+ return 'astc-4x4';
253
+ } else if (supportedFormats.has('dxt')) {
254
+ return {
255
+ alpha: 'bc3',
256
+ noAlpha: 'bc1'
257
+ };
258
+ } else if (supportedFormats.has('pvrtc')) {
259
+ return {
260
+ alpha: 'pvrtc1-4-rgba',
261
+ noAlpha: 'pvrtc1-4-rgb'
262
+ };
263
+ } else if (supportedFormats.has('etc1')) {
264
+ return 'etc1';
265
+ } else if (supportedFormats.has('etc2')) {
266
+ return 'etc2';
267
+ }
268
+ return 'rgb565';
269
+ }
270
+ //# sourceMappingURL=parse-basis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-basis.js","names":["_basisModuleLoader","require","_glExtensions","_textureFormats","_parseKtx","OutputFormat","etc1","basisFormat","compressed","format","GL_EXTENSIONS_CONSTANTS","COMPRESSED_RGB_ETC1_WEBGL","etc2","bc1","COMPRESSED_RGB_S3TC_DXT1_EXT","bc3","COMPRESSED_RGBA_S3TC_DXT5_EXT","bc4","bc5","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_ASTC_4X4_KHR","rgba32","rgb565","bgr565","rgba4444","parseBasis","_x","_x2","_parseBasis","apply","arguments","_asyncToGenerator2","default","_regenerator","mark","_callee","data","options","fileConstructors","_yield$loadBasisTrasc","BasisFile","_fileConstructors","_yield$loadBasisTrasc2","_BasisFile","wrap","_callee$","_context","prev","next","basis","containerFormat","isKTX","loadBasisEncoderModule","sent","abrupt","parseKTX2File","KTX2File","loadBasisTrascoderModule","parseBasisFile","t0","module","t1","stop","basisFile","Uint8Array","startTranscoding","Error","imageCount","getNumImages","images","imageIndex","levelsCount","getNumLevels","levels","levelIndex","push","transcodeImage","close","delete","width","getImageWidth","height","getImageHeight","hasAlpha","getHasAlpha","_getBasisOptions","getBasisOptions","decodedSize","getImageTranscodedSizeInBytes","decodedData","ktx2File","getLevels","transcodeKTX2Image","_ktx2File$getImageLev","getImageLevelInfo","alphaFlag","_getBasisOptions2","levelSize","selectSupportedBasisFormat","_typeof2","alpha","noAlpha","toLowerCase","supportedFormats","getSupportedGPUTextureFormats","has"],"sources":["../../../../src/lib/parsers/parse-basis.ts"],"sourcesContent":["/* eslint-disable indent */\nimport type {TextureLevel} from '@loaders.gl/schema';\nimport {loadBasisEncoderModule, loadBasisTrascoderModule} from './basis-module-loader';\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {getSupportedGPUTextureFormats} from '../utils/texture-formats';\nimport {isKTX} from './parse-ktx';\n\nexport type BasisFormat =\n | 'etc1'\n | 'etc2'\n | 'bc1'\n | 'bc3'\n | 'bc4'\n | 'bc5'\n | 'bc7-m6-opaque-only'\n | 'bc7-m5'\n | 'pvrtc1-4-rgb'\n | 'pvrtc1-4-rgba'\n | 'astc-4x4'\n | 'atc-rgb'\n | 'atc-rgba-interpolated-alpha'\n | 'rgba32'\n | 'rgb565'\n | 'bgr565'\n | 'rgba4444';\n\ntype BasisOutputOptions = {\n basisFormat: number;\n compressed: boolean;\n format?: number;\n};\n\nconst OutputFormat: Record<string, BasisOutputOptions> = {\n etc1: {\n basisFormat: 0,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL\n },\n etc2: {basisFormat: 1, compressed: true},\n bc1: {\n basisFormat: 2,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT\n },\n bc3: {\n basisFormat: 3,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT\n },\n bc4: {basisFormat: 4, compressed: true},\n bc5: {basisFormat: 5, compressed: true},\n 'bc7-m6-opaque-only': {basisFormat: 6, compressed: true},\n 'bc7-m5': {basisFormat: 7, compressed: true},\n 'pvrtc1-4-rgb': {\n basisFormat: 8,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG\n },\n 'pvrtc1-4-rgba': {\n basisFormat: 9,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG\n },\n 'astc-4x4': {\n basisFormat: 10,\n compressed: true,\n format: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR\n },\n 'atc-rgb': {basisFormat: 11, compressed: true},\n 'atc-rgba-interpolated-alpha': {basisFormat: 12, compressed: true},\n rgba32: {basisFormat: 13, compressed: false},\n rgb565: {basisFormat: 14, compressed: false},\n bgr565: {basisFormat: 15, compressed: false},\n rgba4444: {basisFormat: 16, compressed: false}\n};\n\n/**\n * parse data with a Binomial Basis_Universal module\n * @param data\n * @param options\n * @returns compressed texture data\n */\nexport default async function parseBasis(data: ArrayBuffer, options): Promise<TextureLevel[][]> {\n if (options.basis.containerFormat === 'auto') {\n if (isKTX(data)) {\n const fileConstructors = await loadBasisEncoderModule(options);\n return parseKTX2File(fileConstructors.KTX2File, data, options);\n }\n const {BasisFile} = await loadBasisTrascoderModule(options);\n return parseBasisFile(BasisFile, data, options);\n }\n switch (options.basis.module) {\n case 'encoder':\n const fileConstructors = await loadBasisEncoderModule(options);\n switch (options.basis.containerFormat) {\n case 'ktx2':\n return parseKTX2File(fileConstructors.KTX2File, data, options);\n case 'basis':\n default:\n return parseBasisFile(fileConstructors.BasisFile, data, options);\n }\n case 'transcoder':\n default:\n const {BasisFile} = await loadBasisTrascoderModule(options);\n return parseBasisFile(BasisFile, data, options);\n }\n}\n\n/**\n * Parse *.basis file data\n * @param BasisFile - initialized transcoder module\n * @param data\n * @param options\n * @returns compressed texture data\n */\nfunction parseBasisFile(BasisFile, data, options): TextureLevel[][] {\n const basisFile = new BasisFile(new Uint8Array(data));\n\n try {\n if (!basisFile.startTranscoding()) {\n throw new Error('Failed to start basis transcoding');\n }\n\n const imageCount = basisFile.getNumImages();\n const images: TextureLevel[][] = [];\n\n for (let imageIndex = 0; imageIndex < imageCount; imageIndex++) {\n const levelsCount = basisFile.getNumLevels(imageIndex);\n const levels: TextureLevel[] = [];\n\n for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {\n levels.push(transcodeImage(basisFile, imageIndex, levelIndex, options));\n }\n\n images.push(levels);\n }\n\n return images;\n } finally {\n basisFile.close();\n basisFile.delete();\n }\n}\n\n/**\n * Parse the particular level image of a basis file\n * @param basisFile\n * @param imageIndex\n * @param levelIndex\n * @param options\n * @returns compressed texture data\n */\nfunction transcodeImage(basisFile, imageIndex, levelIndex, options): TextureLevel {\n const width = basisFile.getImageWidth(imageIndex, levelIndex);\n const height = basisFile.getImageHeight(imageIndex, levelIndex);\n\n // See https://github.com/BinomialLLC/basis_universal/pull/83\n const hasAlpha = basisFile.getHasAlpha(/* imageIndex, levelIndex */);\n\n // Check options for output format etc\n const {compressed, format, basisFormat} = getBasisOptions(options, hasAlpha);\n\n const decodedSize = basisFile.getImageTranscodedSizeInBytes(imageIndex, levelIndex, basisFormat);\n const decodedData = new Uint8Array(decodedSize);\n\n if (!basisFile.transcodeImage(decodedData, imageIndex, levelIndex, basisFormat, 0, 0)) {\n throw new Error('failed to start Basis transcoding');\n }\n\n return {\n // standard loaders.gl image category payload\n width,\n height,\n data: decodedData,\n compressed,\n format,\n\n // Additional fields\n // Add levelSize field.\n hasAlpha\n };\n}\n\n/**\n * Parse *.ktx2 file data\n * @param KTX2File\n * @param data\n * @param options\n * @returns compressed texture data\n */\nfunction parseKTX2File(KTX2File, data: ArrayBuffer, options): TextureLevel[][] {\n const ktx2File = new KTX2File(new Uint8Array(data));\n\n try {\n if (!ktx2File.startTranscoding()) {\n throw new Error('failed to start KTX2 transcoding');\n }\n const levelsCount = ktx2File.getLevels();\n const levels: TextureLevel[] = [];\n\n for (let levelIndex = 0; levelIndex < levelsCount; levelIndex++) {\n levels.push(transcodeKTX2Image(ktx2File, levelIndex, options));\n break; // texture app can only show one level for some reason\n }\n\n return [levels];\n } finally {\n ktx2File.close();\n ktx2File.delete();\n }\n}\n\n/**\n * Parse the particular level image of a ktx2 file\n * @param ktx2File\n * @param levelIndex\n * @param options\n * @returns\n */\nfunction transcodeKTX2Image(ktx2File, levelIndex: number, options): TextureLevel {\n const {alphaFlag, height, width} = ktx2File.getImageLevelInfo(levelIndex, 0, 0);\n\n // Check options for output format etc\n const {compressed, format, basisFormat} = getBasisOptions(options, alphaFlag);\n\n const decodedSize = ktx2File.getImageTranscodedSizeInBytes(\n levelIndex,\n 0 /* layerIndex */,\n 0 /* faceIndex */,\n basisFormat\n );\n const decodedData = new Uint8Array(decodedSize);\n\n if (\n !ktx2File.transcodeImage(\n decodedData,\n levelIndex,\n 0 /* layerIndex */,\n 0 /* faceIndex */,\n basisFormat,\n 0,\n -1 /* channel0 */,\n -1 /* channel1 */\n )\n ) {\n throw new Error('Failed to transcode KTX2 image');\n }\n\n return {\n // standard loaders.gl image category payload\n width,\n height,\n data: decodedData,\n compressed,\n\n // Additional fields\n levelSize: decodedSize,\n hasAlpha: alphaFlag,\n format\n };\n}\n\n/**\n * Get BasisFormat by loader format option\n * @param options\n * @param hasAlpha\n * @returns BasisFormat data\n */\nfunction getBasisOptions(options, hasAlpha: boolean): BasisOutputOptions {\n let format = options && options.basis && options.basis.format;\n if (format === 'auto') {\n format = selectSupportedBasisFormat();\n }\n if (typeof format === 'object') {\n format = hasAlpha ? format.alpha : format.noAlpha;\n }\n format = format.toLowerCase();\n return OutputFormat[format];\n}\n\n/**\n * Select transcode format from the list of supported formats\n * @returns key for OutputFormat map\n */\nexport function selectSupportedBasisFormat():\n | BasisFormat\n | {\n alpha: BasisFormat;\n noAlpha: BasisFormat;\n } {\n const supportedFormats = getSupportedGPUTextureFormats();\n if (supportedFormats.has('astc')) {\n return 'astc-4x4';\n } else if (supportedFormats.has('dxt')) {\n return {\n alpha: 'bc3',\n noAlpha: 'bc1'\n };\n } else if (supportedFormats.has('pvrtc')) {\n return {\n alpha: 'pvrtc1-4-rgba',\n noAlpha: 'pvrtc1-4-rgb'\n };\n } else if (supportedFormats.has('etc1')) {\n return 'etc1';\n } else if (supportedFormats.has('etc2')) {\n return 'etc2';\n }\n return 'rgb565';\n}\n"],"mappings":";;;;;;;;;;;AAEA,IAAAA,kBAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AA2BA,IAAMI,YAAgD,GAAG;EACvDC,IAAI,EAAE;IACJC,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACC;EAClC,CAAC;EACDC,IAAI,EAAE;IAACL,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACxCK,GAAG,EAAE;IACHN,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACI;EAClC,CAAC;EACDC,GAAG,EAAE;IACHR,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACM;EAClC,CAAC;EACDC,GAAG,EAAE;IAACV,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACvCU,GAAG,EAAE;IAACX,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACvC,oBAAoB,EAAE;IAACD,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EACxD,QAAQ,EAAE;IAACD,WAAW,EAAE,CAAC;IAAEC,UAAU,EAAE;EAAI,CAAC;EAC5C,cAAc,EAAE;IACdD,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACS;EAClC,CAAC;EACD,eAAe,EAAE;IACfZ,WAAW,EAAE,CAAC;IACdC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACU;EAClC,CAAC;EACD,UAAU,EAAE;IACVb,WAAW,EAAE,EAAE;IACfC,UAAU,EAAE,IAAI;IAChBC,MAAM,EAAEC,qCAAuB,CAACW;EAClC,CAAC;EACD,SAAS,EAAE;IAACd,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAI,CAAC;EAC9C,6BAA6B,EAAE;IAACD,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAI,CAAC;EAClEc,MAAM,EAAE;IAACf,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK,CAAC;EAC5Ce,MAAM,EAAE;IAAChB,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK,CAAC;EAC5CgB,MAAM,EAAE;IAACjB,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK,CAAC;EAC5CiB,QAAQ,EAAE;IAAClB,WAAW,EAAE,EAAE;IAAEC,UAAU,EAAE;EAAK;AAC/C,CAAC;AAAC,SAQ4BkB,UAAUA,CAAAC,EAAA,EAAAC,GAAA;EAAA,OAAAC,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AAAA,SAAAF,YAAA;EAAAA,WAAA,OAAAG,kBAAA,CAAAC,OAAA,EAAAC,YAAA,CAAAD,OAAA,CAAAE,IAAA,CAAzB,SAAAC,QAA0BC,IAAiB,EAAEC,OAAO;IAAA,IAAAC,gBAAA,EAAAC,qBAAA,EAAAC,SAAA,EAAAC,iBAAA,EAAAC,sBAAA,EAAAC,UAAA;IAAA,OAAAV,YAAA,CAAAD,OAAA,CAAAY,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UAAA,MAC7DX,OAAO,CAACY,KAAK,CAACC,eAAe,KAAK,MAAM;YAAAJ,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,KACtC,IAAAG,eAAK,EAACf,IAAI,CAAC;YAAAU,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAAF,QAAA,CAAAE,IAAA;UAAA,OACkB,IAAAI,yCAAsB,EAACf,OAAO,CAAC;QAAA;UAAxDC,gBAAgB,GAAAQ,QAAA,CAAAO,IAAA;UAAA,OAAAP,QAAA,CAAAQ,MAAA,WACfC,aAAa,CAACjB,gBAAgB,CAACkB,QAAQ,EAAEpB,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAAS,QAAA,CAAAE,IAAA;UAAA,OAEtC,IAAAS,2CAAwB,EAACpB,OAAO,CAAC;QAAA;UAAAE,qBAAA,GAAAO,QAAA,CAAAO,IAAA;UAApDb,SAAS,GAAAD,qBAAA,CAATC,SAAS;UAAA,OAAAM,QAAA,CAAAQ,MAAA,WACTI,cAAc,CAAClB,SAAS,EAAEJ,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAAS,QAAA,CAAAa,EAAA,GAEzCtB,OAAO,CAACY,KAAK,CAACW,MAAM;UAAAd,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAa,EAAA,KACrB,SAAS,QAAAb,QAAA,CAAAa,EAAA,KAST,YAAY;UAAA;QAAA;UAAAb,QAAA,CAAAE,IAAA;UAAA,OARgB,IAAAI,yCAAsB,EAACf,OAAO,CAAC;QAAA;UAAxDC,iBAAgB,GAAAQ,QAAA,CAAAO,IAAA;UAAAP,QAAA,CAAAe,EAAA,GACdxB,OAAO,CAACY,KAAK,CAACC,eAAe;UAAAJ,QAAA,CAAAE,IAAA,GAAAF,QAAA,CAAAe,EAAA,KAC9B,MAAM,QAAAf,QAAA,CAAAe,EAAA,KAEN,OAAO;UAAA;QAAA;UAAA,OAAAf,QAAA,CAAAQ,MAAA,WADHC,aAAa,CAACjB,iBAAgB,CAACkB,QAAQ,EAAEpB,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAA,OAAAS,QAAA,CAAAQ,MAAA,WAGvDI,cAAc,CAACpB,iBAAgB,CAACE,SAAS,EAAEJ,IAAI,EAAEC,OAAO,CAAC;QAAA;UAAAS,QAAA,CAAAE,IAAA;UAAA,OAI1C,IAAAS,2CAAwB,EAACpB,OAAO,CAAC;QAAA;UAAAK,sBAAA,GAAAI,QAAA,CAAAO,IAAA;UAApDb,UAAS,GAAAE,sBAAA,CAATF,SAAS;UAAA,OAAAM,QAAA,CAAAQ,MAAA,WACTI,cAAc,CAAClB,UAAS,EAAEJ,IAAI,EAAEC,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAS,QAAA,CAAAgB,IAAA;MAAA;IAAA,GAAA3B,OAAA;EAAA,CAEpD;EAAA,OAAAP,WAAA,CAAAC,KAAA,OAAAC,SAAA;AAAA;AASD,SAAS4B,cAAcA,CAAClB,SAAS,EAAEJ,IAAI,EAAEC,OAAO,EAAoB;EAClE,IAAM0B,SAAS,GAAG,IAAIvB,SAAS,CAAC,IAAIwB,UAAU,CAAC5B,IAAI,CAAC,CAAC;EAErD,IAAI;IACF,IAAI,CAAC2B,SAAS,CAACE,gBAAgB,CAAC,CAAC,EAAE;MACjC,MAAM,IAAIC,KAAK,CAAC,mCAAmC,CAAC;IACtD;IAEA,IAAMC,UAAU,GAAGJ,SAAS,CAACK,YAAY,CAAC,CAAC;IAC3C,IAAMC,MAAwB,GAAG,EAAE;IAEnC,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGH,UAAU,EAAEG,UAAU,EAAE,EAAE;MAC9D,IAAMC,WAAW,GAAGR,SAAS,CAACS,YAAY,CAACF,UAAU,CAAC;MACtD,IAAMG,MAAsB,GAAG,EAAE;MAEjC,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGH,WAAW,EAAEG,UAAU,EAAE,EAAE;QAC/DD,MAAM,CAACE,IAAI,CAACC,cAAc,CAACb,SAAS,EAAEO,UAAU,EAAEI,UAAU,EAAErC,OAAO,CAAC,CAAC;MACzE;MAEAgC,MAAM,CAACM,IAAI,CAACF,MAAM,CAAC;IACrB;IAEA,OAAOJ,MAAM;EACf,CAAC,SAAS;IACRN,SAAS,CAACc,KAAK,CAAC,CAAC;IACjBd,SAAS,CAACe,MAAM,CAAC,CAAC;EACpB;AACF;AAUA,SAASF,cAAcA,CAACb,SAAS,EAAEO,UAAU,EAAEI,UAAU,EAAErC,OAAO,EAAgB;EAChF,IAAM0C,KAAK,GAAGhB,SAAS,CAACiB,aAAa,CAACV,UAAU,EAAEI,UAAU,CAAC;EAC7D,IAAMO,MAAM,GAAGlB,SAAS,CAACmB,cAAc,CAACZ,UAAU,EAAEI,UAAU,CAAC;EAG/D,IAAMS,QAAQ,GAAGpB,SAAS,CAACqB,WAAW,CAA6B,CAAC;EAGpE,IAAAC,gBAAA,GAA0CC,eAAe,CAACjD,OAAO,EAAE8C,QAAQ,CAAC;IAArE5E,UAAU,GAAA8E,gBAAA,CAAV9E,UAAU;IAAEC,MAAM,GAAA6E,gBAAA,CAAN7E,MAAM;IAAEF,WAAW,GAAA+E,gBAAA,CAAX/E,WAAW;EAEtC,IAAMiF,WAAW,GAAGxB,SAAS,CAACyB,6BAA6B,CAAClB,UAAU,EAAEI,UAAU,EAAEpE,WAAW,CAAC;EAChG,IAAMmF,WAAW,GAAG,IAAIzB,UAAU,CAACuB,WAAW,CAAC;EAE/C,IAAI,CAACxB,SAAS,CAACa,cAAc,CAACa,WAAW,EAAEnB,UAAU,EAAEI,UAAU,EAAEpE,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;IACrF,MAAM,IAAI4D,KAAK,CAAC,mCAAmC,CAAC;EACtD;EAEA,OAAO;IAELa,KAAK,EAALA,KAAK;IACLE,MAAM,EAANA,MAAM;IACN7C,IAAI,EAAEqD,WAAW;IACjBlF,UAAU,EAAVA,UAAU;IACVC,MAAM,EAANA,MAAM;IAIN2E,QAAQ,EAARA;EACF,CAAC;AACH;AASA,SAAS5B,aAAaA,CAACC,QAAQ,EAAEpB,IAAiB,EAAEC,OAAO,EAAoB;EAC7E,IAAMqD,QAAQ,GAAG,IAAIlC,QAAQ,CAAC,IAAIQ,UAAU,CAAC5B,IAAI,CAAC,CAAC;EAEnD,IAAI;IACF,IAAI,CAACsD,QAAQ,CAACzB,gBAAgB,CAAC,CAAC,EAAE;MAChC,MAAM,IAAIC,KAAK,CAAC,kCAAkC,CAAC;IACrD;IACA,IAAMK,WAAW,GAAGmB,QAAQ,CAACC,SAAS,CAAC,CAAC;IACxC,IAAMlB,MAAsB,GAAG,EAAE;IAEjC,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGH,WAAW,EAAEG,UAAU,EAAE,EAAE;MAC/DD,MAAM,CAACE,IAAI,CAACiB,kBAAkB,CAACF,QAAQ,EAAEhB,UAAU,EAAErC,OAAO,CAAC,CAAC;MAC9D;IACF;IAEA,OAAO,CAACoC,MAAM,CAAC;EACjB,CAAC,SAAS;IACRiB,QAAQ,CAACb,KAAK,CAAC,CAAC;IAChBa,QAAQ,CAACZ,MAAM,CAAC,CAAC;EACnB;AACF;AASA,SAASc,kBAAkBA,CAACF,QAAQ,EAAEhB,UAAkB,EAAErC,OAAO,EAAgB;EAC/E,IAAAwD,qBAAA,GAAmCH,QAAQ,CAACI,iBAAiB,CAACpB,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAAxEqB,SAAS,GAAAF,qBAAA,CAATE,SAAS;IAAEd,MAAM,GAAAY,qBAAA,CAANZ,MAAM;IAAEF,KAAK,GAAAc,qBAAA,CAALd,KAAK;EAG/B,IAAAiB,iBAAA,GAA0CV,eAAe,CAACjD,OAAO,EAAE0D,SAAS,CAAC;IAAtExF,UAAU,GAAAyF,iBAAA,CAAVzF,UAAU;IAAEC,MAAM,GAAAwF,iBAAA,CAANxF,MAAM;IAAEF,WAAW,GAAA0F,iBAAA,CAAX1F,WAAW;EAEtC,IAAMiF,WAAW,GAAGG,QAAQ,CAACF,6BAA6B,CACxDd,UAAU,EACV,CAAC,EACD,CAAC,EACDpE,WACF,CAAC;EACD,IAAMmF,WAAW,GAAG,IAAIzB,UAAU,CAACuB,WAAW,CAAC;EAE/C,IACE,CAACG,QAAQ,CAACd,cAAc,CACtBa,WAAW,EACXf,UAAU,EACV,CAAC,EACD,CAAC,EACDpE,WAAW,EACX,CAAC,EACD,CAAC,CAAC,EACF,CAAC,CACH,CAAC,EACD;IACA,MAAM,IAAI4D,KAAK,CAAC,gCAAgC,CAAC;EACnD;EAEA,OAAO;IAELa,KAAK,EAALA,KAAK;IACLE,MAAM,EAANA,MAAM;IACN7C,IAAI,EAAEqD,WAAW;IACjBlF,UAAU,EAAVA,UAAU;IAGV0F,SAAS,EAAEV,WAAW;IACtBJ,QAAQ,EAAEY,SAAS;IACnBvF,MAAM,EAANA;EACF,CAAC;AACH;AAQA,SAAS8E,eAAeA,CAACjD,OAAO,EAAE8C,QAAiB,EAAsB;EACvE,IAAI3E,MAAM,GAAG6B,OAAO,IAAIA,OAAO,CAACY,KAAK,IAAIZ,OAAO,CAACY,KAAK,CAACzC,MAAM;EAC7D,IAAIA,MAAM,KAAK,MAAM,EAAE;IACrBA,MAAM,GAAG0F,0BAA0B,CAAC,CAAC;EACvC;EACA,IAAI,IAAAC,QAAA,CAAAnE,OAAA,EAAOxB,MAAM,MAAK,QAAQ,EAAE;IAC9BA,MAAM,GAAG2E,QAAQ,GAAG3E,MAAM,CAAC4F,KAAK,GAAG5F,MAAM,CAAC6F,OAAO;EACnD;EACA7F,MAAM,GAAGA,MAAM,CAAC8F,WAAW,CAAC,CAAC;EAC7B,OAAOlG,YAAY,CAACI,MAAM,CAAC;AAC7B;AAMO,SAAS0F,0BAA0BA,CAAA,EAKpC;EACJ,IAAMK,gBAAgB,GAAG,IAAAC,6CAA6B,EAAC,CAAC;EACxD,IAAID,gBAAgB,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE;IAChC,OAAO,UAAU;EACnB,CAAC,MAAM,IAAIF,gBAAgB,CAACE,GAAG,CAAC,KAAK,CAAC,EAAE;IACtC,OAAO;MACLL,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE;IACX,CAAC;EACH,CAAC,MAAM,IAAIE,gBAAgB,CAACE,GAAG,CAAC,OAAO,CAAC,EAAE;IACxC,OAAO;MACLL,KAAK,EAAE,eAAe;MACtBC,OAAO,EAAE;IACX,CAAC;EACH,CAAC,MAAM,IAAIE,gBAAgB,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE;IACvC,OAAO,MAAM;EACf,CAAC,MAAM,IAAIF,gBAAgB,CAACE,GAAG,CAAC,MAAM,CAAC,EAAE;IACvC,OAAO,MAAM;EACf;EACA,OAAO,QAAQ;AACjB"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.parseCompressedTexture = parseCompressedTexture;
7
+ var _parseKtx = require("./parse-ktx");
8
+ var _parseDds = require("./parse-dds");
9
+ var _parsePvr = require("./parse-pvr");
10
+ function parseCompressedTexture(data) {
11
+ if ((0, _parseKtx.isKTX)(data)) {
12
+ return (0, _parseKtx.parseKTX)(data);
13
+ }
14
+ if ((0, _parseDds.isDDS)(data)) {
15
+ return (0, _parseDds.parseDDS)(data);
16
+ }
17
+ if ((0, _parsePvr.isPVR)(data)) {
18
+ return (0, _parsePvr.parsePVR)(data);
19
+ }
20
+ throw new Error('Texture container format not recognized');
21
+ }
22
+ //# sourceMappingURL=parse-compressed-texture.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-compressed-texture.js","names":["_parseKtx","require","_parseDds","_parsePvr","parseCompressedTexture","data","isKTX","parseKTX","isDDS","parseDDS","isPVR","parsePVR","Error"],"sources":["../../../../src/lib/parsers/parse-compressed-texture.ts"],"sourcesContent":["import type {TextureLevel} from '@loaders.gl/schema';\nimport {isKTX, parseKTX} from './parse-ktx';\nimport {isDDS, parseDDS} from './parse-dds';\nimport {isPVR, parsePVR} from './parse-pvr';\n\n/**\n * Deduces format and parses compressed texture loaded in ArrayBuffer\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n */\nexport function parseCompressedTexture(data: ArrayBuffer): TextureLevel[] {\n if (isKTX(data)) {\n // TODO: remove @ts-ignore when `parseKTX` output is normalized to loaders.gl texture format\n // @ts-ignore\n return parseKTX(data);\n }\n if (isDDS(data)) {\n return parseDDS(data);\n }\n if (isPVR(data)) {\n return parsePVR(data);\n }\n throw new Error('Texture container format not recognized');\n}\n"],"mappings":";;;;;;AACA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAOO,SAASG,sBAAsBA,CAACC,IAAiB,EAAkB;EACxE,IAAI,IAAAC,eAAK,EAACD,IAAI,CAAC,EAAE;IAGf,OAAO,IAAAE,kBAAQ,EAACF,IAAI,CAAC;EACvB;EACA,IAAI,IAAAG,eAAK,EAACH,IAAI,CAAC,EAAE;IACf,OAAO,IAAAI,kBAAQ,EAACJ,IAAI,CAAC;EACvB;EACA,IAAI,IAAAK,eAAK,EAACL,IAAI,CAAC,EAAE;IACf,OAAO,IAAAM,kBAAQ,EAACN,IAAI,CAAC;EACvB;EACA,MAAM,IAAIO,KAAK,CAAC,yCAAyC,CAAC;AAC5D"}