@loaders.gl/textures 4.0.0-alpha.4 → 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 (384) hide show
  1. package/dist/basis-loader.d.ts +11 -0
  2. package/dist/basis-loader.d.ts.map +1 -0
  3. package/dist/basis-loader.js +36 -24
  4. package/dist/basis-nodejs-worker.js +66490 -0
  5. package/dist/basis-worker.js +165 -76
  6. package/dist/bundle.d.ts +2 -0
  7. package/dist/bundle.d.ts.map +1 -0
  8. package/dist/bundle.js +2 -2
  9. package/dist/compressed-texture-loader.d.ts +49 -0
  10. package/dist/compressed-texture-loader.d.ts.map +1 -0
  11. package/dist/compressed-texture-loader.js +59 -36
  12. package/dist/compressed-texture-worker.js +269 -138
  13. package/dist/compressed-texture-writer.d.ts +17 -0
  14. package/dist/compressed-texture-writer.d.ts.map +1 -0
  15. package/dist/compressed-texture-writer.js +33 -21
  16. package/dist/crunch-loader.d.ts +21 -0
  17. package/dist/crunch-loader.d.ts.map +1 -0
  18. package/dist/crunch-loader.js +23 -16
  19. package/dist/crunch-worker.js +106 -41
  20. package/dist/dist.min.js +2195 -0
  21. package/dist/es5/basis-loader.js +38 -0
  22. package/dist/es5/basis-loader.js.map +1 -0
  23. package/dist/es5/bundle.js +6 -0
  24. package/dist/es5/bundle.js.map +1 -0
  25. package/dist/es5/compressed-texture-loader.js +76 -0
  26. package/dist/es5/compressed-texture-loader.js.map +1 -0
  27. package/dist/es5/compressed-texture-writer.js +28 -0
  28. package/dist/es5/compressed-texture-writer.js.map +1 -0
  29. package/dist/es5/crunch-loader.js +26 -0
  30. package/dist/es5/crunch-loader.js.map +1 -0
  31. package/dist/es5/index.js +132 -0
  32. package/dist/es5/index.js.map +1 -0
  33. package/dist/es5/ktx2-basis-writer-nodejs.js +14 -0
  34. package/dist/es5/ktx2-basis-writer-nodejs.js.map +1 -0
  35. package/dist/es5/ktx2-basis-writer.js +26 -0
  36. package/dist/es5/ktx2-basis-writer.js.map +1 -0
  37. package/dist/es5/lib/encoders/encode-ktx.js +12 -0
  38. package/dist/es5/lib/encoders/encode-ktx.js.map +1 -0
  39. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js +74 -0
  40. package/dist/es5/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  41. package/dist/es5/lib/encoders/encode-texture.js +38 -0
  42. package/dist/es5/lib/encoders/encode-texture.js.map +1 -0
  43. package/dist/es5/lib/gl-extensions.js +68 -0
  44. package/dist/es5/lib/gl-extensions.js.map +1 -0
  45. package/dist/es5/lib/parsers/basis-module-loader.js +194 -0
  46. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -0
  47. package/dist/es5/lib/parsers/crunch-module-loader.js +67 -0
  48. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -0
  49. package/dist/es5/lib/parsers/parse-basis.js +270 -0
  50. package/dist/es5/lib/parsers/parse-basis.js.map +1 -0
  51. package/dist/es5/lib/parsers/parse-compressed-texture.js +22 -0
  52. package/dist/es5/lib/parsers/parse-compressed-texture.js.map +1 -0
  53. package/dist/es5/lib/parsers/parse-crunch.js +100 -0
  54. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -0
  55. package/dist/es5/lib/parsers/parse-dds.js +84 -0
  56. package/dist/es5/lib/parsers/parse-dds.js.map +1 -0
  57. package/dist/es5/lib/parsers/parse-ktx.js +34 -0
  58. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -0
  59. package/dist/es5/lib/parsers/parse-npy.js +70 -0
  60. package/dist/es5/lib/parsers/parse-npy.js.map +1 -0
  61. package/dist/es5/lib/parsers/parse-pvr.js +161 -0
  62. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -0
  63. package/dist/es5/lib/texture-api/async-deep-map.js +156 -0
  64. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -0
  65. package/dist/es5/lib/texture-api/deep-load.js +63 -0
  66. package/dist/es5/lib/texture-api/deep-load.js.map +1 -0
  67. package/dist/es5/lib/texture-api/generate-url.js +20 -0
  68. package/dist/es5/lib/texture-api/generate-url.js.map +1 -0
  69. package/dist/es5/lib/texture-api/load-image-array.js +75 -0
  70. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -0
  71. package/dist/es5/lib/texture-api/load-image-cube.js +136 -0
  72. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -0
  73. package/dist/es5/lib/texture-api/load-image.js +129 -0
  74. package/dist/es5/lib/texture-api/load-image.js.map +1 -0
  75. package/dist/es5/lib/texture-api/texture-api-types.js +2 -0
  76. package/dist/es5/lib/texture-api/texture-api-types.js.map +1 -0
  77. package/dist/es5/lib/utils/extract-mipmap-images.js +41 -0
  78. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -0
  79. package/dist/es5/lib/utils/ktx-format-helper.js +79 -0
  80. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -0
  81. package/dist/es5/lib/utils/texture-formats.js +54 -0
  82. package/dist/es5/lib/utils/texture-formats.js.map +1 -0
  83. package/dist/es5/lib/utils/version.js +9 -0
  84. package/dist/es5/lib/utils/version.js.map +1 -0
  85. package/dist/es5/libs/README.md +9 -0
  86. package/dist/es5/libs/basis_encoder.js +21 -0
  87. package/dist/es5/libs/basis_encoder.wasm +0 -0
  88. package/dist/es5/libs/basis_transcoder.js +22 -0
  89. package/dist/es5/libs/basis_transcoder.wasm +0 -0
  90. package/dist/es5/libs/crunch.js +136 -0
  91. package/dist/es5/npy-loader.js +51 -0
  92. package/dist/es5/npy-loader.js.map +1 -0
  93. package/dist/es5/types.js +2 -0
  94. package/dist/es5/types.js.map +1 -0
  95. package/dist/es5/workers/basis-nodejs-worker.js +7 -0
  96. package/dist/es5/workers/basis-nodejs-worker.js.map +1 -0
  97. package/dist/es5/workers/basis-worker.js +6 -0
  98. package/dist/es5/workers/basis-worker.js.map +1 -0
  99. package/dist/es5/workers/compressed-texture-worker.js +6 -0
  100. package/dist/es5/workers/compressed-texture-worker.js.map +1 -0
  101. package/dist/es5/workers/crunch-worker.js +19 -0
  102. package/dist/es5/workers/crunch-worker.js.map +1 -0
  103. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js +53 -0
  104. package/dist/es5/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -0
  105. package/dist/es5/workers/ktx2-basis-writer-worker.js +53 -0
  106. package/dist/es5/workers/ktx2-basis-writer-worker.js.map +1 -0
  107. package/dist/es5/workers/npy-worker.js +6 -0
  108. package/dist/es5/workers/npy-worker.js.map +1 -0
  109. package/dist/esm/basis-loader.js +27 -0
  110. package/dist/esm/basis-loader.js.map +1 -0
  111. package/dist/esm/bundle.js +4 -0
  112. package/dist/esm/bundle.js.map +1 -0
  113. package/dist/esm/compressed-texture-loader.js +41 -0
  114. package/dist/esm/compressed-texture-loader.js.map +1 -0
  115. package/dist/esm/compressed-texture-writer.js +21 -0
  116. package/dist/esm/compressed-texture-writer.js.map +1 -0
  117. package/dist/esm/crunch-loader.js +18 -0
  118. package/dist/esm/crunch-loader.js.map +1 -0
  119. package/dist/esm/index.js +30 -0
  120. package/dist/esm/index.js.map +1 -0
  121. package/dist/esm/ktx2-basis-writer-nodejs.js +3 -0
  122. package/dist/esm/ktx2-basis-writer-nodejs.js.map +1 -0
  123. package/dist/{ktx2-basis-universal-texture-writer.js → esm/ktx2-basis-writer.js} +4 -4
  124. package/dist/esm/ktx2-basis-writer.js.map +1 -0
  125. package/dist/esm/lib/encoders/encode-ktx.js +6 -0
  126. package/dist/esm/lib/encoders/encode-ktx.js.map +1 -0
  127. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js +35 -0
  128. package/dist/esm/lib/encoders/encode-ktx2-basis-texture.js.map +1 -0
  129. package/dist/esm/lib/encoders/encode-texture.js +12 -0
  130. package/dist/esm/lib/encoders/encode-texture.js.map +1 -0
  131. package/dist/{lib/gl-constants.js → esm/lib/gl-extensions.js} +2 -2
  132. package/dist/esm/lib/gl-extensions.js.map +1 -0
  133. package/dist/esm/lib/parsers/basis-module-loader.js +77 -0
  134. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -0
  135. package/dist/esm/lib/parsers/crunch-module-loader.js +19 -0
  136. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -0
  137. package/dist/esm/lib/parsers/parse-basis.js +231 -0
  138. package/dist/esm/lib/parsers/parse-basis.js.map +1 -0
  139. package/dist/esm/lib/parsers/parse-compressed-texture.js +16 -0
  140. package/dist/esm/lib/parsers/parse-compressed-texture.js.map +1 -0
  141. package/dist/esm/lib/parsers/parse-crunch.js +75 -0
  142. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -0
  143. package/dist/esm/lib/parsers/parse-dds.js +75 -0
  144. package/dist/esm/lib/parsers/parse-dds.js.map +1 -0
  145. package/dist/esm/lib/parsers/parse-ktx.js +25 -0
  146. package/dist/esm/lib/parsers/parse-ktx.js.map +1 -0
  147. package/dist/esm/lib/parsers/parse-npy.js +63 -0
  148. package/dist/esm/lib/parsers/parse-npy.js.map +1 -0
  149. package/dist/esm/lib/parsers/parse-pvr.js +154 -0
  150. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -0
  151. package/dist/esm/lib/texture-api/async-deep-map.js +34 -0
  152. package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -0
  153. package/dist/esm/lib/texture-api/deep-load.js +10 -0
  154. package/dist/esm/lib/texture-api/deep-load.js.map +1 -0
  155. package/dist/esm/lib/texture-api/generate-url.js +13 -0
  156. package/dist/esm/lib/texture-api/generate-url.js.map +1 -0
  157. package/dist/esm/lib/texture-api/load-image-array.js +20 -0
  158. package/dist/esm/lib/texture-api/load-image-array.js.map +1 -0
  159. package/dist/esm/lib/texture-api/load-image-cube.js +63 -0
  160. package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -0
  161. package/dist/esm/lib/texture-api/load-image.js +46 -0
  162. package/dist/esm/lib/texture-api/load-image.js.map +1 -0
  163. package/dist/esm/lib/texture-api/texture-api-types.js +2 -0
  164. package/dist/esm/lib/texture-api/texture-api-types.js.map +1 -0
  165. package/dist/esm/lib/utils/extract-mipmap-images.js +35 -0
  166. package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -0
  167. package/dist/esm/lib/utils/ktx-format-helper.js +73 -0
  168. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -0
  169. package/dist/esm/lib/utils/texture-formats.js +36 -0
  170. package/dist/esm/lib/utils/texture-formats.js.map +1 -0
  171. package/dist/esm/lib/utils/version.js +2 -0
  172. package/dist/esm/lib/utils/version.js.map +1 -0
  173. package/dist/esm/libs/README.md +9 -0
  174. package/dist/esm/libs/basis_encoder.js +21 -0
  175. package/dist/esm/libs/basis_encoder.wasm +0 -0
  176. package/dist/esm/libs/basis_transcoder.js +22 -0
  177. package/dist/esm/libs/basis_transcoder.wasm +0 -0
  178. package/dist/esm/libs/crunch.js +136 -0
  179. package/dist/esm/npy-loader.js +22 -0
  180. package/dist/esm/npy-loader.js.map +1 -0
  181. package/dist/esm/types.js +2 -0
  182. package/dist/esm/types.js.map +1 -0
  183. package/dist/esm/workers/basis-nodejs-worker.js +5 -0
  184. package/dist/esm/workers/basis-nodejs-worker.js.map +1 -0
  185. package/dist/esm/workers/basis-worker.js +4 -0
  186. package/dist/esm/workers/basis-worker.js.map +1 -0
  187. package/dist/esm/workers/compressed-texture-worker.js +4 -0
  188. package/dist/esm/workers/compressed-texture-worker.js.map +1 -0
  189. package/dist/esm/workers/crunch-worker.js +9 -0
  190. package/dist/esm/workers/crunch-worker.js.map +1 -0
  191. package/dist/esm/workers/ktx2-basis-writer-nodejs-worker.js +31 -0
  192. package/dist/esm/workers/ktx2-basis-writer-nodejs-worker.js.map +1 -0
  193. package/dist/esm/workers/ktx2-basis-writer-worker.js +31 -0
  194. package/dist/esm/workers/ktx2-basis-writer-worker.js.map +1 -0
  195. package/dist/esm/workers/npy-worker.js +4 -0
  196. package/dist/esm/workers/npy-worker.js.map +1 -0
  197. package/dist/index.d.ts +30 -0
  198. package/dist/index.d.ts.map +1 -0
  199. package/dist/index.js +53 -14
  200. package/dist/ktx2-basis-writer-nodejs-worker.js +65949 -0
  201. package/dist/ktx2-basis-writer-nodejs.d.ts +3 -0
  202. package/dist/ktx2-basis-writer-nodejs.d.ts.map +1 -0
  203. package/dist/ktx2-basis-writer-nodejs.js +7 -0
  204. package/dist/ktx2-basis-writer-worker.js +343 -0
  205. package/dist/ktx2-basis-writer.d.ts +16 -0
  206. package/dist/ktx2-basis-writer.d.ts.map +1 -0
  207. package/dist/ktx2-basis-writer.js +26 -0
  208. package/dist/lib/encoders/encode-ktx.d.ts +2 -0
  209. package/dist/lib/encoders/encode-ktx.d.ts.map +1 -0
  210. package/dist/lib/encoders/encode-ktx.js +9 -5
  211. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +10 -0
  212. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -0
  213. package/dist/lib/encoders/encode-ktx2-basis-texture.js +40 -34
  214. package/dist/lib/encoders/encode-texture.d.ts +3 -0
  215. package/dist/lib/encoders/encode-texture.d.ts.map +1 -0
  216. package/dist/lib/encoders/encode-texture.js +26 -14
  217. package/dist/lib/gl-extensions.d.ts +61 -0
  218. package/dist/lib/gl-extensions.d.ts.map +1 -0
  219. package/dist/lib/gl-extensions.js +72 -0
  220. package/dist/lib/parsers/basis-module-loader.d.ts +13 -0
  221. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -0
  222. package/dist/lib/parsers/basis-module-loader.js +100 -76
  223. package/dist/lib/parsers/crunch-module-loader.d.ts +7 -0
  224. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -0
  225. package/dist/lib/parsers/crunch-module-loader.js +30 -18
  226. package/dist/lib/parsers/parse-basis.d.ts +18 -0
  227. package/dist/lib/parsers/parse-basis.d.ts.map +1 -0
  228. package/dist/lib/parsers/parse-basis.js +225 -240
  229. package/dist/lib/parsers/parse-compressed-texture.d.ts +8 -0
  230. package/dist/lib/parsers/parse-compressed-texture.d.ts.map +1 -0
  231. package/dist/lib/parsers/parse-compressed-texture.js +25 -18
  232. package/dist/lib/parsers/parse-crunch.d.ts +9 -0
  233. package/dist/lib/parsers/parse-crunch.d.ts.map +1 -0
  234. package/dist/lib/parsers/parse-crunch.js +97 -82
  235. package/dist/lib/parsers/parse-dds.d.ts +28 -0
  236. package/dist/lib/parsers/parse-dds.d.ts.map +1 -0
  237. package/dist/lib/parsers/parse-dds.js +93 -63
  238. package/dist/lib/parsers/parse-ktx.d.ts +4 -0
  239. package/dist/lib/parsers/parse-ktx.d.ts.map +1 -0
  240. package/dist/lib/parsers/parse-ktx.js +44 -23
  241. package/dist/lib/parsers/parse-npy.d.ts +15 -0
  242. package/dist/lib/parsers/parse-npy.d.ts.map +1 -0
  243. package/dist/lib/parsers/parse-npy.js +76 -71
  244. package/dist/lib/parsers/parse-pvr.d.ts +15 -0
  245. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -0
  246. package/dist/lib/parsers/parse-pvr.js +212 -133
  247. package/dist/lib/texture-api/async-deep-map.d.ts +5 -0
  248. package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -0
  249. package/dist/lib/texture-api/async-deep-map.js +35 -33
  250. package/dist/lib/texture-api/deep-load.d.ts +5 -0
  251. package/dist/lib/texture-api/deep-load.d.ts.map +1 -0
  252. package/dist/lib/texture-api/deep-load.js +14 -8
  253. package/dist/lib/texture-api/generate-url.d.ts +3 -0
  254. package/dist/lib/texture-api/generate-url.d.ts.map +1 -0
  255. package/dist/lib/texture-api/generate-url.js +16 -13
  256. package/dist/lib/texture-api/load-image-array.d.ts +4 -0
  257. package/dist/lib/texture-api/load-image-array.d.ts.map +1 -0
  258. package/dist/lib/texture-api/load-image-array.js +19 -18
  259. package/dist/lib/texture-api/load-image-cube.d.ts +12 -0
  260. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -0
  261. package/dist/lib/texture-api/load-image-cube.js +39 -55
  262. package/dist/lib/texture-api/load-image.d.ts +8 -0
  263. package/dist/lib/texture-api/load-image.d.ts.map +1 -0
  264. package/dist/lib/texture-api/load-image.js +38 -43
  265. package/dist/lib/texture-api/texture-api-types.d.ts +10 -0
  266. package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -0
  267. package/dist/lib/texture-api/texture-api-types.js +3 -2
  268. package/dist/lib/utils/extract-mipmap-images.d.ts +20 -0
  269. package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -0
  270. package/dist/lib/utils/extract-mipmap-images.js +45 -36
  271. package/dist/lib/utils/ktx-format-helper.d.ts +9 -0
  272. package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -0
  273. package/dist/lib/utils/ktx-format-helper.js +122 -70
  274. package/dist/lib/utils/texture-formats.d.ts +8 -0
  275. package/dist/lib/utils/texture-formats.d.ts.map +1 -0
  276. package/dist/lib/utils/texture-formats.js +42 -30
  277. package/dist/lib/utils/version.d.ts +2 -0
  278. package/dist/lib/utils/version.d.ts.map +1 -0
  279. package/dist/lib/utils/version.js +8 -2
  280. package/dist/libs/README.md +2 -2
  281. package/dist/libs/basis_encoder.js +19 -20
  282. package/dist/libs/basis_encoder.wasm +0 -0
  283. package/dist/libs/basis_transcoder.js +13 -12
  284. package/dist/libs/basis_transcoder.wasm +0 -0
  285. package/dist/libs/crunch.js +1 -0
  286. package/dist/npy-loader.d.ts +14 -0
  287. package/dist/npy-loader.d.ts.map +1 -0
  288. package/dist/npy-loader.js +28 -20
  289. package/dist/npy-worker.js +60 -31
  290. package/dist/types.d.ts +1 -0
  291. package/dist/types.d.ts.map +1 -0
  292. package/dist/types.js +1 -2
  293. package/dist/workers/basis-nodejs-worker.d.ts +2 -0
  294. package/dist/workers/basis-nodejs-worker.d.ts.map +1 -0
  295. package/dist/workers/basis-nodejs-worker.js +6 -0
  296. package/dist/workers/basis-worker.d.ts +2 -0
  297. package/dist/workers/basis-worker.d.ts.map +1 -0
  298. package/dist/workers/basis-worker.js +5 -4
  299. package/dist/workers/compressed-texture-worker.d.ts +2 -0
  300. package/dist/workers/compressed-texture-worker.d.ts.map +1 -0
  301. package/dist/workers/compressed-texture-worker.js +5 -4
  302. package/dist/workers/crunch-worker.d.ts +21 -0
  303. package/dist/workers/crunch-worker.d.ts.map +1 -0
  304. package/dist/workers/crunch-worker.js +13 -7
  305. package/dist/workers/ktx2-basis-writer-nodejs-worker.d.ts +2 -0
  306. package/dist/workers/ktx2-basis-writer-nodejs-worker.d.ts.map +1 -0
  307. package/dist/workers/ktx2-basis-writer-nodejs-worker.js +26 -0
  308. package/dist/workers/ktx2-basis-writer-worker.d.ts +2 -0
  309. package/dist/workers/ktx2-basis-writer-worker.d.ts.map +1 -0
  310. package/dist/workers/ktx2-basis-writer-worker.js +26 -0
  311. package/dist/workers/npy-worker.d.ts +2 -0
  312. package/dist/workers/npy-worker.d.ts.map +1 -0
  313. package/dist/workers/npy-worker.js +5 -4
  314. package/package.json +21 -14
  315. package/src/basis-loader.ts +8 -8
  316. package/src/compressed-texture-loader.ts +1 -1
  317. package/src/compressed-texture-writer.ts +21 -3
  318. package/src/index.ts +21 -3
  319. package/src/ktx2-basis-writer-nodejs.ts +4 -0
  320. package/src/{ktx2-basis-universal-texture-writer.ts → ktx2-basis-writer.ts} +14 -3
  321. package/src/lib/encoders/encode-ktx2-basis-texture.ts +2 -2
  322. package/src/lib/encoders/encode-texture.ts +7 -6
  323. package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
  324. package/src/lib/parsers/crunch-module-loader.ts +1 -1
  325. package/src/lib/parsers/{parse-basis.js → parse-basis.ts} +101 -45
  326. package/src/lib/parsers/parse-compressed-texture.ts +1 -1
  327. package/src/lib/parsers/parse-crunch.ts +16 -15
  328. package/src/lib/parsers/parse-dds.ts +8 -8
  329. package/src/lib/parsers/parse-ktx.ts +2 -1
  330. package/src/lib/parsers/parse-npy.ts +53 -30
  331. package/src/lib/parsers/parse-pvr.ts +72 -29
  332. package/src/lib/utils/extract-mipmap-images.ts +9 -1
  333. package/src/lib/utils/ktx-format-helper.ts +67 -67
  334. package/src/lib/utils/texture-formats.ts +1 -1
  335. package/src/libs/README.md +2 -2
  336. package/src/libs/basis_encoder.js +19 -20
  337. package/src/libs/basis_encoder.wasm +0 -0
  338. package/src/libs/basis_transcoder.js +13 -12
  339. package/src/libs/basis_transcoder.wasm +0 -0
  340. package/src/libs/crunch.js +1 -0
  341. package/src/npy-loader.ts +7 -7
  342. package/src/types.ts +0 -30
  343. package/src/workers/basis-nodejs-worker.ts +5 -0
  344. package/src/workers/ktx2-basis-writer-nodejs-worker.ts +25 -0
  345. package/src/workers/ktx2-basis-writer-worker.ts +25 -0
  346. package/dist/basis-loader.js.map +0 -1
  347. package/dist/bundle.js.map +0 -1
  348. package/dist/compressed-texture-loader.js.map +0 -1
  349. package/dist/compressed-texture-writer.js.map +0 -1
  350. package/dist/crunch-loader.js.map +0 -1
  351. package/dist/index.js.map +0 -1
  352. package/dist/ktx2-basis-universal-texture-writer.js.map +0 -1
  353. package/dist/lib/encoders/encode-ktx.js.map +0 -1
  354. package/dist/lib/encoders/encode-ktx2-basis-texture.js.map +0 -1
  355. package/dist/lib/encoders/encode-texture.js.map +0 -1
  356. package/dist/lib/gl-constants.js.map +0 -1
  357. package/dist/lib/parsers/basis-module-loader.js.map +0 -1
  358. package/dist/lib/parsers/crunch-module-loader.js.map +0 -1
  359. package/dist/lib/parsers/parse-basis.js.map +0 -1
  360. package/dist/lib/parsers/parse-compressed-texture.js.map +0 -1
  361. package/dist/lib/parsers/parse-crunch.js.map +0 -1
  362. package/dist/lib/parsers/parse-dds.js.map +0 -1
  363. package/dist/lib/parsers/parse-ktx.js.map +0 -1
  364. package/dist/lib/parsers/parse-npy.js.map +0 -1
  365. package/dist/lib/parsers/parse-pvr.js.map +0 -1
  366. package/dist/lib/texture-api/async-deep-map.js.map +0 -1
  367. package/dist/lib/texture-api/deep-load.js.map +0 -1
  368. package/dist/lib/texture-api/generate-url.js.map +0 -1
  369. package/dist/lib/texture-api/load-image-array.js.map +0 -1
  370. package/dist/lib/texture-api/load-image-cube.js.map +0 -1
  371. package/dist/lib/texture-api/load-image.js.map +0 -1
  372. package/dist/lib/texture-api/texture-api-types.js.map +0 -1
  373. package/dist/lib/utils/extract-mipmap-images.js.map +0 -1
  374. package/dist/lib/utils/ktx-format-helper.js.map +0 -1
  375. package/dist/lib/utils/texture-formats.js.map +0 -1
  376. package/dist/lib/utils/version.js.map +0 -1
  377. package/dist/npy-loader.js.map +0 -1
  378. package/dist/types.js.map +0 -1
  379. package/dist/workers/basis-worker.js.map +0 -1
  380. package/dist/workers/compressed-texture-worker.js.map +0 -1
  381. package/dist/workers/crunch-worker.js.map +0 -1
  382. package/dist/workers/npy-worker.js.map +0 -1
  383. package/src/lib/parsers/parse-ktx.js +0 -45
  384. package/src/lib/parsers/parse-npy.js +0 -96
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GL_EXTENSIONS_CONSTANTS = void 0;
4
+ /* eslint-disable camelcase */
5
+ exports.GL_EXTENSIONS_CONSTANTS = {
6
+ // WEBGL_compressed_texture_s3tc
7
+ COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,
8
+ COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,
9
+ COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,
10
+ COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83f3,
11
+ // WEBGL_compressed_texture_es3
12
+ COMPRESSED_R11_EAC: 0x9270,
13
+ COMPRESSED_SIGNED_R11_EAC: 0x9271,
14
+ COMPRESSED_RG11_EAC: 0x9272,
15
+ COMPRESSED_SIGNED_RG11_EAC: 0x9273,
16
+ COMPRESSED_RGB8_ETC2: 0x9274,
17
+ COMPRESSED_RGBA8_ETC2_EAC: 0x9275,
18
+ COMPRESSED_SRGB8_ETC2: 0x9276,
19
+ COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9277,
20
+ COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9278,
21
+ COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9279,
22
+ // WEBGL_compressed_texture_pvrtc
23
+ COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8c00,
24
+ COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8c02,
25
+ COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8c01,
26
+ COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8c03,
27
+ // WEBGL_compressed_texture_etc1
28
+ COMPRESSED_RGB_ETC1_WEBGL: 0x8d64,
29
+ // WEBGL_compressed_texture_atc
30
+ COMPRESSED_RGB_ATC_WEBGL: 0x8c92,
31
+ COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 0x8c93,
32
+ COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 0x87ee,
33
+ // WEBGL_compressed_texture_astc
34
+ COMPRESSED_RGBA_ASTC_4X4_KHR: 0x93b0,
35
+ COMPRESSED_RGBA_ASTC_5X4_KHR: 0x93b1,
36
+ COMPRESSED_RGBA_ASTC_5X5_KHR: 0x93b2,
37
+ COMPRESSED_RGBA_ASTC_6X5_KHR: 0x93b3,
38
+ COMPRESSED_RGBA_ASTC_6X6_KHR: 0x93b4,
39
+ COMPRESSED_RGBA_ASTC_8X5_KHR: 0x93b5,
40
+ COMPRESSED_RGBA_ASTC_8X6_KHR: 0x93b6,
41
+ COMPRESSED_RGBA_ASTC_8X8_KHR: 0x93b7,
42
+ COMPRESSED_RGBA_ASTC_10X5_KHR: 0x93b8,
43
+ COMPRESSED_RGBA_ASTC_10X6_KHR: 0x93b9,
44
+ COMPRESSED_RGBA_ASTC_10X8_KHR: 0x93ba,
45
+ COMPRESSED_RGBA_ASTC_10X10_KHR: 0x93bb,
46
+ COMPRESSED_RGBA_ASTC_12X10_KHR: 0x93bc,
47
+ COMPRESSED_RGBA_ASTC_12X12_KHR: 0x93bd,
48
+ COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 0x93d0,
49
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 0x93d1,
50
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 0x93d2,
51
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 0x93d3,
52
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 0x93d4,
53
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 0x93d5,
54
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 0x93d6,
55
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 0x93d7,
56
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 0x93d8,
57
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 0x93d9,
58
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 0x93da,
59
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 0x93db,
60
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 0x93dc,
61
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 0x93dd,
62
+ // EXT_texture_compression_rgtc
63
+ COMPRESSED_RED_RGTC1_EXT: 0x8dbb,
64
+ COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8dbc,
65
+ COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8dbd,
66
+ COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8dbe,
67
+ // WEBGL_compressed_texture_s3tc_srgb
68
+ COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8c4c,
69
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8c4d,
70
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,
71
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f
72
+ };
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Loads wasm transcoder module
3
+ * @param options
4
+ * @returns {BasisFile} promise
5
+ */
6
+ export declare function loadBasisTrascoderModule(options: any): Promise<any>;
7
+ /**
8
+ * Loads wasm encoder module
9
+ * @param options
10
+ * @returns {BasisFile, KTX2File} promise
11
+ */
12
+ export declare function loadBasisEncoderModule(options: any): Promise<any>;
13
+ //# sourceMappingURL=basis-module-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basis-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/basis-module-loader.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,KAAA,gBAQrD;AA+CD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAQnD"}
@@ -1,90 +1,114 @@
1
- const VERSION = typeof "4.0.0-alpha.4" !== 'undefined' ? "4.0.0-alpha.4" : 'beta';
2
- import { loadLibrary } from '@loaders.gl/worker-utils';
3
- const BASIS_CDN_ENCODER_WASM = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.wasm");
4
- const BASIS_CDN_ENCODER_JS = "https://unpkg.com/@loaders.gl/textures@".concat(VERSION, "/dist/libs/basis_encoder.js");
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadBasisEncoderModule = exports.loadBasisTrascoderModule = void 0;
4
+ // __VERSION__ is injected by babel-plugin-version-inline
5
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
7
+ // @ts-nocheck
8
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
9
+ const BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;
10
+ const BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;
5
11
  let loadBasisTranscoderPromise;
6
- export async function loadBasisTrascoderModule(options) {
7
- const modules = options.modules || {};
8
-
9
- if (modules.basis) {
10
- return modules.basis;
11
- }
12
-
13
- loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
14
- return await loadBasisTranscoderPromise;
12
+ /**
13
+ * Loads wasm transcoder module
14
+ * @param options
15
+ * @returns {BasisFile} promise
16
+ */
17
+ async function loadBasisTrascoderModule(options) {
18
+ const modules = options.modules || {};
19
+ if (modules.basis) {
20
+ return modules.basis;
21
+ }
22
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
23
+ return await loadBasisTranscoderPromise;
15
24
  }
16
-
25
+ exports.loadBasisTrascoderModule = loadBasisTrascoderModule;
26
+ /**
27
+ * Loads wasm transcoder module
28
+ * @param options
29
+ * @returns {BasisFile} promise
30
+ */
17
31
  async function loadBasisTrascoder(options) {
18
- let BASIS = null;
19
- let wasmBinary = null;
20
- [BASIS, wasmBinary] = await Promise.all([await loadLibrary('basis_transcoder.js', 'textures', options), await loadLibrary('basis_transcoder.wasm', 'textures', options)]);
21
- BASIS = BASIS || globalThis.BASIS;
22
- return await initializeBasisTrascoderModule(BASIS, wasmBinary);
32
+ let BASIS = null;
33
+ let wasmBinary = null;
34
+ [BASIS, wasmBinary] = await Promise.all([
35
+ await (0, worker_utils_1.loadLibrary)('basis_transcoder.js', 'textures', options),
36
+ await (0, worker_utils_1.loadLibrary)('basis_transcoder.wasm', 'textures', options)
37
+ ]);
38
+ // Depends on how import happened...
39
+ // @ts-ignore TS2339: Property does not exist on type
40
+ BASIS = BASIS || globalThis.BASIS;
41
+ return await initializeBasisTrascoderModule(BASIS, wasmBinary);
23
42
  }
24
-
43
+ /**
44
+ * Initialize wasm transcoder module
45
+ * @param BasisModule - js part of the module
46
+ * @param wasmBinary - wasm part of the module
47
+ * @returns {BasisFile} promise
48
+ */
25
49
  function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
26
- const options = {};
27
-
28
- if (wasmBinary) {
29
- options.wasmBinary = wasmBinary;
30
- }
31
-
32
- return new Promise(resolve => {
33
- BasisModule(options).then(module => {
34
- const {
35
- BasisFile,
36
- initializeBasis
37
- } = module;
38
- initializeBasis();
39
- resolve({
40
- BasisFile
41
- });
50
+ const options = {};
51
+ if (wasmBinary) {
52
+ options.wasmBinary = wasmBinary;
53
+ }
54
+ return new Promise((resolve) => {
55
+ // if you try to return BasisModule the browser crashes!
56
+ BasisModule(options).then((module) => {
57
+ const { BasisFile, initializeBasis } = module;
58
+ initializeBasis();
59
+ resolve({ BasisFile });
60
+ });
42
61
  });
43
- });
44
62
  }
45
-
46
63
  let loadBasisEncoderPromise;
47
- export async function loadBasisEncoderModule(options) {
48
- const modules = options.modules || {};
49
-
50
- if (modules.basisEncoder) {
51
- return modules.basisEncoder;
52
- }
53
-
54
- loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
55
- return await loadBasisEncoderPromise;
64
+ /**
65
+ * Loads wasm encoder module
66
+ * @param options
67
+ * @returns {BasisFile, KTX2File} promise
68
+ */
69
+ async function loadBasisEncoderModule(options) {
70
+ const modules = options.modules || {};
71
+ if (modules.basisEncoder) {
72
+ return modules.basisEncoder;
73
+ }
74
+ loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
75
+ return await loadBasisEncoderPromise;
56
76
  }
57
-
77
+ exports.loadBasisEncoderModule = loadBasisEncoderModule;
78
+ /**
79
+ * Loads wasm encoder module
80
+ * @param options
81
+ * @returns {BasisFile, KTX2File} promise
82
+ */
58
83
  async function loadBasisEncoder(options) {
59
- let BASIS_ENCODER = null;
60
- let wasmBinary = null;
61
- [BASIS_ENCODER, wasmBinary] = await Promise.all([await loadLibrary(BASIS_CDN_ENCODER_JS, 'textures', options), await loadLibrary(BASIS_CDN_ENCODER_WASM, 'textures', options)]);
62
- BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
63
- return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
84
+ let BASIS_ENCODER = null;
85
+ let wasmBinary = null;
86
+ [BASIS_ENCODER, wasmBinary] = await Promise.all([
87
+ await (0, worker_utils_1.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options),
88
+ await (0, worker_utils_1.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options)
89
+ ]);
90
+ // Depends on how import happened...
91
+ // @ts-ignore TS2339: Property does not exist on type
92
+ BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
93
+ return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
64
94
  }
65
-
95
+ /**
96
+ * Initialize wasm transcoder module
97
+ * @param BasisEncoderModule - js part of the module
98
+ * @param wasmBinary - wasm part of the module
99
+ * @returns {BasisFile, KTX2File} promise
100
+ */
66
101
  function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
67
- const options = {};
68
-
69
- if (wasmBinary) {
70
- options.wasmBinary = wasmBinary;
71
- }
72
-
73
- return new Promise(resolve => {
74
- BasisEncoderModule(options).then(module => {
75
- const {
76
- BasisFile,
77
- KTX2File,
78
- initializeBasis,
79
- BasisEncoder
80
- } = module;
81
- initializeBasis();
82
- resolve({
83
- BasisFile,
84
- KTX2File,
85
- BasisEncoder
86
- });
102
+ const options = {};
103
+ if (wasmBinary) {
104
+ options.wasmBinary = wasmBinary;
105
+ }
106
+ return new Promise((resolve) => {
107
+ // if you try to return BasisModule the browser crashes!
108
+ BasisEncoderModule(options).then((module) => {
109
+ const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
110
+ initializeBasis();
111
+ resolve({ BasisFile, KTX2File, BasisEncoder });
112
+ });
87
113
  });
88
- });
89
114
  }
90
- //# sourceMappingURL=basis-module-loader.js.map
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Load crunch decoder module
3
+ * @param options - loader options
4
+ * @returns Promise of module object
5
+ */
6
+ export declare function loadCrunchModule(options: any): Promise<any>;
7
+ //# sourceMappingURL=crunch-module-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/crunch-module-loader.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC,CAO5D"}
@@ -1,23 +1,35 @@
1
- import { loadLibrary } from '@loaders.gl/worker-utils';
2
- export async function loadCrunchModule(options) {
3
- const modules = options.modules || {};
4
-
5
- if (modules.crunch) {
6
- return modules.crunch;
7
- }
8
-
9
- return loadCrunch(options);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadCrunchModule = void 0;
4
+ // @ts-nocheck
5
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
6
+ /**
7
+ * Load crunch decoder module
8
+ * @param options - loader options
9
+ * @returns Promise of module object
10
+ */
11
+ async function loadCrunchModule(options) {
12
+ const modules = options.modules || {};
13
+ if (modules.crunch) {
14
+ return modules.crunch;
15
+ }
16
+ return loadCrunch(options);
10
17
  }
18
+ exports.loadCrunchModule = loadCrunchModule;
11
19
  let crunchModule;
12
-
20
+ /**
21
+ * Load crunch decoder module
22
+ * @param {any} options - Loader options
23
+ * @returns {Promise<any>} Promise of Module object
24
+ */
13
25
  async function loadCrunch(options) {
14
- if (crunchModule) {
26
+ if (crunchModule) {
27
+ return crunchModule;
28
+ }
29
+ let loadCrunchDecoder = await (0, worker_utils_1.loadLibrary)('crunch.js', 'textures', options);
30
+ // Depends on how import happened...
31
+ // @ts-ignore TS2339: Property does not exist on type
32
+ loadCrunchDecoder = loadCrunchDecoder || globalThis.LoadCrunchDecoder;
33
+ crunchModule = loadCrunchDecoder();
15
34
  return crunchModule;
16
- }
17
-
18
- let loadCrunchDecoder = await loadLibrary('crunch.js', 'textures', options);
19
- loadCrunchDecoder = loadCrunchDecoder || globalThis.loadCrunchDecoder;
20
- crunchModule = loadCrunchDecoder();
21
- return crunchModule;
22
35
  }
23
- //# sourceMappingURL=crunch-module-loader.js.map
@@ -0,0 +1,18 @@
1
+ import type { TextureLevel } from '@loaders.gl/schema';
2
+ export type BasisFormat = 'etc1' | 'etc2' | 'bc1' | 'bc3' | 'bc4' | 'bc5' | 'bc7-m6-opaque-only' | 'bc7-m5' | 'pvrtc1-4-rgb' | 'pvrtc1-4-rgba' | 'astc-4x4' | 'atc-rgb' | 'atc-rgba-interpolated-alpha' | 'rgba32' | 'rgb565' | 'bgr565' | 'rgba4444';
3
+ /**
4
+ * parse data with a Binomial Basis_Universal module
5
+ * @param data
6
+ * @param options
7
+ * @returns compressed texture data
8
+ */
9
+ export default function parseBasis(data: ArrayBuffer, options: any): Promise<TextureLevel[][]>;
10
+ /**
11
+ * Select transcode format from the list of supported formats
12
+ * @returns key for OutputFormat map
13
+ */
14
+ export declare function selectSupportedBasisFormat(): BasisFormat | {
15
+ alpha: BasisFormat;
16
+ noAlpha: BasisFormat;
17
+ };
18
+ //# sourceMappingURL=parse-basis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-basis.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-basis.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAMrD,MAAM,MAAM,WAAW,GACnB,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,KAAK,GACL,KAAK,GACL,oBAAoB,GACpB,QAAQ,GACR,cAAc,GACd,eAAe,GACf,UAAU,GACV,SAAS,GACT,6BAA6B,GAC7B,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,UAAU,CAAC;AAoDf;;;;;GAKG;AACH,wBAA8B,UAAU,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,KAAA,GAAG,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAwB9F;AA8KD;;;GAGG;AACH,wBAAgB,0BAA0B,IACtC,WAAW,GACX;IACE,KAAK,EAAE,WAAW,CAAC;IACnB,OAAO,EAAE,WAAW,CAAC;CACtB,CAoBJ"}