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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (231) hide show
  1. package/dist/basis-loader.d.ts +1 -0
  2. package/dist/basis-loader.d.ts.map +1 -0
  3. package/dist/basis-loader.js +40 -0
  4. package/dist/basis-worker.js +675 -2
  5. package/dist/bundle.d.ts +1 -0
  6. package/dist/bundle.d.ts.map +1 -0
  7. package/dist/bundle.js +2107 -0
  8. package/dist/compressed-texture-loader.d.ts +1 -0
  9. package/dist/compressed-texture-loader.d.ts.map +1 -0
  10. package/dist/compressed-texture-loader.js +64 -0
  11. package/dist/compressed-texture-worker.js +1179 -2
  12. package/dist/compressed-texture-writer.d.ts +1 -0
  13. package/dist/compressed-texture-writer.d.ts.map +1 -0
  14. package/dist/compressed-texture-writer.js +28 -0
  15. package/dist/crunch-loader.d.ts +1 -0
  16. package/dist/crunch-loader.d.ts.map +1 -0
  17. package/dist/crunch-loader.js +25 -0
  18. package/dist/crunch-worker.js +486 -2
  19. package/dist/es5/index.js +3 -3
  20. package/dist/es5/index.js.map +1 -1
  21. package/dist/es5/lib/{gl-constants.js → gl-extensions.js} +4 -4
  22. package/dist/es5/lib/gl-extensions.js.map +1 -0
  23. package/dist/es5/lib/parsers/basis-module-loader.js +1 -1
  24. package/dist/es5/lib/parsers/basis-module-loader.js.map +1 -1
  25. package/dist/es5/lib/parsers/crunch-module-loader.js.map +1 -1
  26. package/dist/es5/lib/parsers/parse-basis.js +9 -9
  27. package/dist/es5/lib/parsers/parse-basis.js.map +1 -1
  28. package/dist/es5/lib/parsers/parse-crunch.js +4 -4
  29. package/dist/es5/lib/parsers/parse-crunch.js.map +1 -1
  30. package/dist/es5/lib/parsers/parse-dds.js +23 -23
  31. package/dist/es5/lib/parsers/parse-dds.js.map +1 -1
  32. package/dist/es5/lib/parsers/parse-ktx.js +2 -2
  33. package/dist/es5/lib/parsers/parse-ktx.js.map +1 -1
  34. package/dist/es5/lib/parsers/parse-npy.js +3 -1
  35. package/dist/es5/lib/parsers/parse-npy.js.map +1 -1
  36. package/dist/es5/lib/parsers/parse-pvr.js +28 -28
  37. package/dist/es5/lib/parsers/parse-pvr.js.map +1 -1
  38. package/dist/es5/lib/texture-api/async-deep-map.js.map +1 -1
  39. package/dist/es5/lib/texture-api/deep-load.js.map +1 -1
  40. package/dist/es5/lib/texture-api/generate-url.js +4 -12
  41. package/dist/es5/lib/texture-api/generate-url.js.map +1 -1
  42. package/dist/es5/lib/texture-api/load-image-array.js.map +1 -1
  43. package/dist/es5/lib/texture-api/load-image-cube.js.map +1 -1
  44. package/dist/es5/lib/texture-api/load-image.js +2 -5
  45. package/dist/es5/lib/texture-api/load-image.js.map +1 -1
  46. package/dist/es5/lib/texture-api/texture-api-types.js +2 -0
  47. package/dist/es5/lib/texture-api/texture-api-types.js.map +1 -0
  48. package/dist/es5/lib/utils/extract-mipmap-images.js.map +1 -1
  49. package/dist/es5/lib/utils/ktx-format-helper.js +67 -67
  50. package/dist/es5/lib/utils/ktx-format-helper.js.map +1 -1
  51. package/dist/es5/lib/utils/version.js +1 -1
  52. package/dist/es5/lib/utils/version.js.map +1 -1
  53. package/dist/es5/libs/README.md +2 -2
  54. package/dist/es5/libs/basis_encoder.js +1 -1
  55. package/dist/es5/libs/basis_transcoder.js +1 -1
  56. package/dist/es5/libs/crunch.js +1 -0
  57. package/dist/es5/npy-loader.js.map +1 -1
  58. package/dist/esm/index.js +1 -1
  59. package/dist/esm/index.js.map +1 -1
  60. package/dist/esm/lib/{gl-constants.js → gl-extensions.js} +2 -2
  61. package/dist/esm/lib/gl-extensions.js.map +1 -0
  62. package/dist/esm/lib/parsers/basis-module-loader.js +1 -1
  63. package/dist/esm/lib/parsers/basis-module-loader.js.map +1 -1
  64. package/dist/esm/lib/parsers/crunch-module-loader.js.map +1 -1
  65. package/dist/esm/lib/parsers/parse-basis.js +8 -8
  66. package/dist/esm/lib/parsers/parse-basis.js.map +1 -1
  67. package/dist/esm/lib/parsers/parse-crunch.js +4 -4
  68. package/dist/esm/lib/parsers/parse-crunch.js.map +1 -1
  69. package/dist/esm/lib/parsers/parse-dds.js +23 -23
  70. package/dist/esm/lib/parsers/parse-dds.js.map +1 -1
  71. package/dist/esm/lib/parsers/parse-ktx.js +2 -2
  72. package/dist/esm/lib/parsers/parse-ktx.js.map +1 -1
  73. package/dist/esm/lib/parsers/parse-npy.js +3 -1
  74. package/dist/esm/lib/parsers/parse-npy.js.map +1 -1
  75. package/dist/esm/lib/parsers/parse-pvr.js +28 -28
  76. package/dist/esm/lib/parsers/parse-pvr.js.map +1 -1
  77. package/dist/esm/lib/texture-api/async-deep-map.js.map +1 -1
  78. package/dist/esm/lib/texture-api/deep-load.js.map +1 -1
  79. package/dist/esm/lib/texture-api/generate-url.js +5 -13
  80. package/dist/esm/lib/texture-api/generate-url.js.map +1 -1
  81. package/dist/esm/lib/texture-api/load-image-array.js.map +1 -1
  82. package/dist/esm/lib/texture-api/load-image-cube.js.map +1 -1
  83. package/dist/esm/lib/texture-api/load-image.js +2 -5
  84. package/dist/esm/lib/texture-api/load-image.js.map +1 -1
  85. package/dist/esm/lib/texture-api/texture-api-types.js +2 -0
  86. package/dist/esm/lib/texture-api/texture-api-types.js.map +1 -0
  87. package/dist/esm/lib/utils/extract-mipmap-images.js.map +1 -1
  88. package/dist/esm/lib/utils/ktx-format-helper.js +67 -67
  89. package/dist/esm/lib/utils/ktx-format-helper.js.map +1 -1
  90. package/dist/esm/lib/utils/version.js +1 -1
  91. package/dist/esm/lib/utils/version.js.map +1 -1
  92. package/dist/esm/libs/README.md +2 -2
  93. package/dist/esm/libs/basis_encoder.js +1 -1
  94. package/dist/esm/libs/basis_transcoder.js +1 -1
  95. package/dist/esm/libs/crunch.js +1 -0
  96. package/dist/esm/npy-loader.js.map +1 -1
  97. package/dist/index.d.ts +2 -1
  98. package/dist/index.d.ts.map +1 -0
  99. package/dist/index.js +37 -0
  100. package/dist/ktx2-basis-universal-texture-writer.d.ts +1 -0
  101. package/dist/ktx2-basis-universal-texture-writer.d.ts.map +1 -0
  102. package/dist/ktx2-basis-universal-texture-writer.js +25 -0
  103. package/dist/lib/encoders/encode-ktx.d.ts +1 -0
  104. package/dist/lib/encoders/encode-ktx.d.ts.map +1 -0
  105. package/dist/lib/encoders/encode-ktx.js +10 -0
  106. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts +1 -0
  107. package/dist/lib/encoders/encode-ktx2-basis-texture.d.ts.map +1 -0
  108. package/dist/lib/encoders/encode-ktx2-basis-texture.js +41 -0
  109. package/dist/lib/encoders/encode-texture.d.ts +1 -0
  110. package/dist/lib/encoders/encode-texture.d.ts.map +1 -0
  111. package/dist/lib/encoders/encode-texture.js +30 -0
  112. package/dist/lib/{gl-constants.d.ts → gl-extensions.d.ts} +2 -1
  113. package/dist/lib/gl-extensions.d.ts.map +1 -0
  114. package/dist/lib/gl-extensions.js +72 -0
  115. package/dist/lib/parsers/basis-module-loader.d.ts +1 -0
  116. package/dist/lib/parsers/basis-module-loader.d.ts.map +1 -0
  117. package/dist/lib/parsers/basis-module-loader.js +114 -0
  118. package/dist/lib/parsers/crunch-module-loader.d.ts +1 -0
  119. package/dist/lib/parsers/crunch-module-loader.d.ts.map +1 -0
  120. package/dist/lib/parsers/crunch-module-loader.js +35 -0
  121. package/dist/lib/parsers/parse-basis.d.ts +1 -0
  122. package/dist/lib/parsers/parse-basis.d.ts.map +1 -0
  123. package/dist/lib/parsers/parse-basis.js +245 -0
  124. package/dist/lib/parsers/parse-compressed-texture.d.ts +1 -0
  125. package/dist/lib/parsers/parse-compressed-texture.d.ts.map +1 -0
  126. package/dist/lib/parsers/parse-compressed-texture.js +26 -0
  127. package/dist/lib/parsers/parse-crunch.d.ts +1 -0
  128. package/dist/lib/parsers/parse-crunch.d.ts.map +1 -0
  129. package/dist/lib/parsers/parse-crunch.js +105 -0
  130. package/dist/lib/parsers/parse-dds.d.ts +1 -0
  131. package/dist/lib/parsers/parse-dds.d.ts.map +1 -0
  132. package/dist/lib/parsers/parse-dds.js +108 -0
  133. package/dist/lib/parsers/parse-ktx.d.ts +3 -2
  134. package/dist/lib/parsers/parse-ktx.d.ts.map +1 -0
  135. package/dist/lib/parsers/parse-ktx.js +46 -0
  136. package/dist/lib/parsers/parse-npy.d.ts +8 -2
  137. package/dist/lib/parsers/parse-npy.d.ts.map +1 -0
  138. package/dist/lib/parsers/parse-npy.js +85 -0
  139. package/dist/lib/parsers/parse-pvr.d.ts +1 -0
  140. package/dist/lib/parsers/parse-pvr.d.ts.map +1 -0
  141. package/dist/lib/parsers/parse-pvr.js +250 -0
  142. package/dist/lib/texture-api/async-deep-map.d.ts +5 -2
  143. package/dist/lib/texture-api/async-deep-map.d.ts.map +1 -0
  144. package/dist/lib/texture-api/async-deep-map.js +41 -0
  145. package/dist/lib/texture-api/deep-load.d.ts +5 -2
  146. package/dist/lib/texture-api/deep-load.d.ts.map +1 -0
  147. package/dist/lib/texture-api/deep-load.js +16 -0
  148. package/dist/lib/texture-api/generate-url.d.ts +3 -1
  149. package/dist/lib/texture-api/generate-url.d.ts.map +1 -0
  150. package/dist/lib/texture-api/generate-url.js +17 -0
  151. package/dist/lib/texture-api/load-image-array.d.ts +4 -2
  152. package/dist/lib/texture-api/load-image-array.d.ts.map +1 -0
  153. package/dist/lib/texture-api/load-image-array.js +21 -0
  154. package/dist/lib/texture-api/load-image-cube.d.ts +12 -2
  155. package/dist/lib/texture-api/load-image-cube.d.ts.map +1 -0
  156. package/dist/lib/texture-api/load-image-cube.js +47 -0
  157. package/dist/lib/texture-api/load-image.d.ts +7 -5
  158. package/dist/lib/texture-api/load-image.d.ts.map +1 -0
  159. package/dist/lib/texture-api/load-image.js +43 -0
  160. package/dist/lib/texture-api/texture-api-types.d.ts +10 -0
  161. package/dist/lib/texture-api/texture-api-types.d.ts.map +1 -0
  162. package/dist/lib/texture-api/texture-api-types.js +3 -0
  163. package/dist/lib/utils/extract-mipmap-images.d.ts +2 -1
  164. package/dist/lib/utils/extract-mipmap-images.d.ts.map +1 -0
  165. package/dist/lib/utils/extract-mipmap-images.js +50 -0
  166. package/dist/lib/utils/ktx-format-helper.d.ts +4 -3
  167. package/dist/lib/utils/ktx-format-helper.d.ts.map +1 -0
  168. package/dist/lib/utils/ktx-format-helper.js +125 -0
  169. package/dist/lib/utils/texture-formats.d.ts +1 -0
  170. package/dist/lib/utils/texture-formats.d.ts.map +1 -0
  171. package/dist/lib/utils/texture-formats.js +51 -0
  172. package/dist/lib/utils/version.d.ts +1 -0
  173. package/dist/lib/utils/version.d.ts.map +1 -0
  174. package/dist/lib/utils/version.js +8 -0
  175. package/dist/libs/README.md +2 -2
  176. package/dist/libs/basis_encoder.js +1 -1
  177. package/dist/libs/basis_transcoder.js +1 -1
  178. package/dist/libs/crunch.js +1 -0
  179. package/dist/npy-loader.d.ts +7 -3
  180. package/dist/npy-loader.d.ts.map +1 -0
  181. package/dist/npy-loader.js +34 -0
  182. package/dist/npy-worker.js +240 -2
  183. package/dist/types.d.ts +1 -0
  184. package/dist/types.d.ts.map +1 -0
  185. package/dist/types.js +2 -0
  186. package/dist/workers/basis-worker.d.ts +1 -0
  187. package/dist/workers/basis-worker.d.ts.map +1 -0
  188. package/dist/workers/basis-worker.js +5 -0
  189. package/dist/workers/compressed-texture-worker.d.ts +1 -0
  190. package/dist/workers/compressed-texture-worker.d.ts.map +1 -0
  191. package/dist/workers/compressed-texture-worker.js +5 -0
  192. package/dist/workers/crunch-worker.d.ts +1 -0
  193. package/dist/workers/crunch-worker.d.ts.map +1 -0
  194. package/dist/workers/crunch-worker.js +14 -0
  195. package/dist/workers/npy-worker.d.ts +1 -0
  196. package/dist/workers/npy-worker.d.ts.map +1 -0
  197. package/dist/workers/npy-worker.js +5 -0
  198. package/package.json +10 -11
  199. package/src/index.ts +1 -1
  200. package/src/lib/{gl-constants.ts → gl-extensions.ts} +1 -1
  201. package/src/lib/parsers/crunch-module-loader.ts +1 -0
  202. package/src/lib/parsers/parse-basis.js +32 -8
  203. package/src/lib/parsers/parse-crunch.ts +4 -4
  204. package/src/lib/parsers/parse-dds.ts +29 -26
  205. package/src/lib/parsers/parse-ktx.js +3 -6
  206. package/src/lib/parsers/parse-ktx.ts +47 -0
  207. package/src/lib/parsers/parse-npy.js +3 -17
  208. package/src/lib/parsers/parse-npy.ts +98 -0
  209. package/src/lib/parsers/parse-pvr.ts +90 -48
  210. package/src/lib/texture-api/async-deep-map.ts +15 -8
  211. package/src/lib/texture-api/deep-load.ts +7 -3
  212. package/src/lib/texture-api/generate-url.ts +10 -8
  213. package/src/lib/texture-api/load-image-array.ts +8 -2
  214. package/src/lib/texture-api/load-image-cube.ts +18 -4
  215. package/src/lib/texture-api/load-image.ts +15 -5
  216. package/src/lib/texture-api/texture-api-types.ts +12 -0
  217. package/src/lib/utils/extract-mipmap-images.ts +16 -3
  218. package/src/lib/utils/ktx-format-helper.ts +71 -71
  219. package/src/libs/README.md +2 -2
  220. package/src/libs/basis_encoder.js +1 -1
  221. package/src/libs/basis_transcoder.js +1 -1
  222. package/src/libs/crunch.js +1 -0
  223. package/src/npy-loader.ts +2 -2
  224. package/dist/basis-worker.js.map +0 -1
  225. package/dist/compressed-texture-worker.js.map +0 -1
  226. package/dist/crunch-worker.js.map +0 -1
  227. package/dist/dist.min.js +0 -2
  228. package/dist/dist.min.js.map +0 -1
  229. package/dist/es5/lib/gl-constants.js.map +0 -1
  230. package/dist/esm/lib/gl-constants.js.map +0 -1
  231. package/dist/npy-worker.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/parsers/parse-pvr.ts"],"names":["GL","extractMipmapImages","PVR_CONSTANTS","MAGIC_NUMBER","MAGIC_NUMBER_EXTRA","HEADER_LENGTH","HEADER_SIZE","MAGIC_NUMBER_INDEX","PIXEL_FORMAT_INDEX","COLOUR_SPACE_INDEX","HEIGHT_INDEX","WIDTH_INDEX","MIPMAPCOUNT_INDEX","METADATA_SIZE_INDEX","PVR_PIXEL_FORMATS","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_RGBA_ASTC_4X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR","COMPRESSED_RGBA_ASTC_5X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR","COMPRESSED_RGBA_ASTC_6X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR","COMPRESSED_RGBA_ASTC_6X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR","COMPRESSED_RGBA_ASTC_8X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR","COMPRESSED_RGBA_ASTC_8X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR","COMPRESSED_RGBA_ASTC_8X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR","COMPRESSED_RGBA_ASTC_10X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR","COMPRESSED_RGBA_ASTC_10X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR","COMPRESSED_RGBA_ASTC_10X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR","COMPRESSED_RGBA_ASTC_10X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR","COMPRESSED_RGBA_ASTC_12X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR","COMPRESSED_RGBA_ASTC_12X12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR","PVR_SIZE_FUNCTIONS","pvrtc2bppSize","pvrtc4bppSize","dxtEtcSmallSize","dxtEtcAstcBigSize","atc5x4Size","atc5x5Size","atc6x5Size","atc6x6Size","atc8x5Size","atc8x6Size","atc8x8Size","atc10x5Size","atc10x6Size","atc10x8Size","atc10x10Size","atc12x10Size","atc12x12Size","isPVR","data","header","Uint32Array","version","parsePVR","pvrFormat","colourSpace","pixelFormats","internalFormat","length","sizeFunction","mipMapLevels","width","height","dataOffset","image","Uint8Array","Math","max","floor"],"mappings":"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","sourcesContent":["import {TextureLevel} from '../../types';\n/* eslint-disable camelcase */\n// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js\n// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)\nimport {GL} from '../gl-constants';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\nconst PVR_CONSTANTS = {\n MAGIC_NUMBER: 0x03525650,\n MAGIC_NUMBER_EXTRA: 0x50565203,\n HEADER_LENGTH: 13,\n HEADER_SIZE: 52,\n MAGIC_NUMBER_INDEX: 0,\n PIXEL_FORMAT_INDEX: 2,\n COLOUR_SPACE_INDEX: 4,\n HEIGHT_INDEX: 6,\n WIDTH_INDEX: 7,\n MIPMAPCOUNT_INDEX: 11,\n METADATA_SIZE_INDEX: 12\n};\n\nconst PVR_PIXEL_FORMATS = {\n 0: [GL.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],\n 1: [GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],\n 2: [GL.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],\n 3: [GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],\n 6: [GL.COMPRESSED_RGB_ETC1_WEBGL],\n 7: [GL.COMPRESSED_RGB_S3TC_DXT1_EXT],\n 9: [GL.COMPRESSED_RGBA_S3TC_DXT3_EXT],\n 11: [GL.COMPRESSED_RGBA_S3TC_DXT5_EXT],\n 22: [GL.COMPRESSED_RGB8_ETC2],\n 23: [GL.COMPRESSED_RGBA8_ETC2_EAC],\n 24: [GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],\n 25: [GL.COMPRESSED_R11_EAC],\n 26: [GL.COMPRESSED_RG11_EAC],\n 27: [GL.COMPRESSED_RGBA_ASTC_4X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR],\n 28: [GL.COMPRESSED_RGBA_ASTC_5X4_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR],\n 29: [GL.COMPRESSED_RGBA_ASTC_5X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR],\n 30: [GL.COMPRESSED_RGBA_ASTC_6X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR],\n 31: [GL.COMPRESSED_RGBA_ASTC_6X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR],\n 32: [GL.COMPRESSED_RGBA_ASTC_8X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR],\n 33: [GL.COMPRESSED_RGBA_ASTC_8X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR],\n 34: [GL.COMPRESSED_RGBA_ASTC_8X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR],\n 35: [GL.COMPRESSED_RGBA_ASTC_10X5_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR],\n 36: [GL.COMPRESSED_RGBA_ASTC_10X6_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR],\n 37: [GL.COMPRESSED_RGBA_ASTC_10X8_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR],\n 38: [GL.COMPRESSED_RGBA_ASTC_10X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR],\n 39: [GL.COMPRESSED_RGBA_ASTC_12X10_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR],\n 40: [GL.COMPRESSED_RGBA_ASTC_12X12_KHR, GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR]\n};\n\nconst PVR_SIZE_FUNCTIONS = {\n 0: pvrtc2bppSize,\n 1: pvrtc2bppSize,\n 2: pvrtc4bppSize,\n 3: pvrtc4bppSize,\n 6: dxtEtcSmallSize,\n 7: dxtEtcSmallSize,\n 9: dxtEtcAstcBigSize,\n 11: dxtEtcAstcBigSize,\n 22: dxtEtcSmallSize,\n 23: dxtEtcAstcBigSize,\n 24: dxtEtcSmallSize,\n 25: dxtEtcSmallSize,\n 26: dxtEtcAstcBigSize,\n 27: dxtEtcAstcBigSize,\n 28: atc5x4Size,\n 29: atc5x5Size,\n 30: atc6x5Size,\n 31: atc6x6Size,\n 32: atc8x5Size,\n 33: atc8x6Size,\n 34: atc8x8Size,\n 35: atc10x5Size,\n 36: atc10x6Size,\n 37: atc10x8Size,\n 38: atc10x10Size,\n 39: atc12x10Size,\n 40: atc12x12Size\n};\n\n/**\n * Check if data is in \"PVR\" format by its magic number\n * @param data - binary data of compressed texture\n * @returns true - data in \"PVR\" format, else - false\n */\nexport function isPVR(data: ArrayBuffer): boolean {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n const version = header[PVR_CONSTANTS.MAGIC_NUMBER_INDEX];\n\n return version === PVR_CONSTANTS.MAGIC_NUMBER || version === PVR_CONSTANTS.MAGIC_NUMBER_EXTRA;\n}\n\n/**\n * Parse texture data as \"PVR\" format\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n * @see http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf\n */\nexport function parsePVR(data: ArrayBuffer): TextureLevel[] {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n\n const pvrFormat = header[PVR_CONSTANTS.PIXEL_FORMAT_INDEX];\n const colourSpace = header[PVR_CONSTANTS.COLOUR_SPACE_INDEX];\n const pixelFormats = PVR_PIXEL_FORMATS[pvrFormat] || [];\n const internalFormat = pixelFormats.length > 1 && colourSpace ? pixelFormats[1] : pixelFormats[0];\n\n const sizeFunction = PVR_SIZE_FUNCTIONS[pvrFormat];\n\n const mipMapLevels = header[PVR_CONSTANTS.MIPMAPCOUNT_INDEX];\n\n const width = header[PVR_CONSTANTS.WIDTH_INDEX];\n const height = header[PVR_CONSTANTS.HEIGHT_INDEX];\n\n const dataOffset = PVR_CONSTANTS.HEADER_SIZE + header[PVR_CONSTANTS.METADATA_SIZE_INDEX];\n\n const image = new Uint8Array(data, dataOffset);\n\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat\n });\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc2bppSize(width, height) {\n width = Math.max(width, 16);\n height = Math.max(height, 8);\n\n return (width * height) / 4;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc4bppSize(width, height) {\n width = Math.max(width, 8);\n height = Math.max(height, 8);\n\n return (width * height) / 2;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// Size for:\n// COMPRESSED_RGB_S3TC_DXT1_EXT\n// COMPRESSED_R11_EAC\n// COMPRESSED_SIGNED_R11_EAC\n// COMPRESSED_RGB8_ETC2\n// COMPRESSED_SRGB8_ETC2\n// COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2\n// COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2\nfunction dxtEtcSmallSize(width, height) {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\n// Size for:\n// COMPRESSED_RGBA_S3TC_DXT3_EXT\n// COMPRESSED_RGBA_S3TC_DXT5_EXT\n// COMPRESSED_RG11_EAC\n// COMPRESSED_SIGNED_RG11_EAC\n// COMPRESSED_RGBA8_ETC2_EAC\n// COMPRESSED_SRGB8_ALPHA8_ETC2_EAC\n// COMPRESSED_RGBA_ASTC_4x4_KHR\nfunction dxtEtcAstcBigSize(width, height) {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x4Size(width, height) {\n return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x5Size(width, height) {\n return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x5Size(width, height) {\n return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x6Size(width, height) {\n return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x5Size(width, height) {\n return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x6Size(width, height) {\n return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x8Size(width, height) {\n return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x5Size(width, height) {\n return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x6Size(width, height) {\n return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x8Size(width, height) {\n return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x10Size(width, height) {\n return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x10Size(width, height) {\n return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x12Size(width, height) {\n return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;\n}\n"],"file":"parse-pvr.js"}
1
+ {"version":3,"sources":["../../../../src/lib/parsers/parse-pvr.ts"],"names":["GL_EXTENSIONS_CONSTANTS","extractMipmapImages","PVR_CONSTANTS","MAGIC_NUMBER","MAGIC_NUMBER_EXTRA","HEADER_LENGTH","HEADER_SIZE","MAGIC_NUMBER_INDEX","PIXEL_FORMAT_INDEX","COLOUR_SPACE_INDEX","HEIGHT_INDEX","WIDTH_INDEX","MIPMAPCOUNT_INDEX","METADATA_SIZE_INDEX","PVR_PIXEL_FORMATS","COMPRESSED_RGB_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGB_PVRTC_4BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","COMPRESSED_RGB_ETC1_WEBGL","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_RGBA_ASTC_4X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR","COMPRESSED_RGBA_ASTC_5X4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR","COMPRESSED_RGBA_ASTC_6X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR","COMPRESSED_RGBA_ASTC_6X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR","COMPRESSED_RGBA_ASTC_8X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR","COMPRESSED_RGBA_ASTC_8X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR","COMPRESSED_RGBA_ASTC_8X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR","COMPRESSED_RGBA_ASTC_10X5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR","COMPRESSED_RGBA_ASTC_10X6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR","COMPRESSED_RGBA_ASTC_10X8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR","COMPRESSED_RGBA_ASTC_10X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR","COMPRESSED_RGBA_ASTC_12X10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR","COMPRESSED_RGBA_ASTC_12X12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR","PVR_SIZE_FUNCTIONS","pvrtc2bppSize","pvrtc4bppSize","dxtEtcSmallSize","dxtEtcAstcBigSize","atc5x4Size","atc5x5Size","atc6x5Size","atc6x6Size","atc8x5Size","atc8x6Size","atc8x8Size","atc10x5Size","atc10x6Size","atc10x8Size","atc10x10Size","atc12x10Size","atc12x12Size","isPVR","data","header","Uint32Array","version","parsePVR","pvrFormat","colourSpace","pixelFormats","internalFormat","length","sizeFunction","mipMapLevels","width","height","dataOffset","image","Uint8Array","Math","max","floor"],"mappings":"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","sourcesContent":["import {TextureLevel} from '../../types';\n/* eslint-disable camelcase */\n// Forked from PicoGL: https://github.com/tsherif/picogl.js/blob/master/examples/utils/utils.js\n// Copyright (c) 2017 Tarek Sherif, The MIT License (MIT)\nimport {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\nimport {extractMipmapImages} from '../utils/extract-mipmap-images';\n\nconst PVR_CONSTANTS: Record<string, number> = {\n MAGIC_NUMBER: 0x03525650,\n MAGIC_NUMBER_EXTRA: 0x50565203,\n HEADER_LENGTH: 13,\n HEADER_SIZE: 52,\n MAGIC_NUMBER_INDEX: 0,\n PIXEL_FORMAT_INDEX: 2,\n COLOUR_SPACE_INDEX: 4,\n HEIGHT_INDEX: 6,\n WIDTH_INDEX: 7,\n MIPMAPCOUNT_INDEX: 11,\n METADATA_SIZE_INDEX: 12\n};\n\nconst PVR_PIXEL_FORMATS: Record<number, number[]> = {\n 0: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_2BPPV1_IMG],\n 1: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG],\n 2: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_PVRTC_4BPPV1_IMG],\n 3: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG],\n 6: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_ETC1_WEBGL],\n 7: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT],\n 9: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT],\n 11: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT],\n 22: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2],\n 23: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC],\n 24: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2],\n 25: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC],\n 26: [GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC],\n 27: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4X4_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR\n ],\n 28: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X4_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR\n ],\n 29: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR\n ],\n 30: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR\n ],\n 31: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6X6_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR\n ],\n 32: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR\n ],\n 33: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X6_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR\n ],\n 34: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8X8_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR\n ],\n 35: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X5_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR\n ],\n 36: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X6_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR\n ],\n 37: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X8_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR\n ],\n 38: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10X10_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR\n ],\n 39: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X10_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR\n ],\n 40: [\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12X12_KHR,\n GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR\n ]\n};\n\nconst PVR_SIZE_FUNCTIONS: Record<number, (width: number, height: number) => number> = {\n 0: pvrtc2bppSize,\n 1: pvrtc2bppSize,\n 2: pvrtc4bppSize,\n 3: pvrtc4bppSize,\n 6: dxtEtcSmallSize,\n 7: dxtEtcSmallSize,\n 9: dxtEtcAstcBigSize,\n 11: dxtEtcAstcBigSize,\n 22: dxtEtcSmallSize,\n 23: dxtEtcAstcBigSize,\n 24: dxtEtcSmallSize,\n 25: dxtEtcSmallSize,\n 26: dxtEtcAstcBigSize,\n 27: dxtEtcAstcBigSize,\n 28: atc5x4Size,\n 29: atc5x5Size,\n 30: atc6x5Size,\n 31: atc6x6Size,\n 32: atc8x5Size,\n 33: atc8x6Size,\n 34: atc8x8Size,\n 35: atc10x5Size,\n 36: atc10x6Size,\n 37: atc10x8Size,\n 38: atc10x10Size,\n 39: atc12x10Size,\n 40: atc12x12Size\n};\n\n/**\n * Check if data is in \"PVR\" format by its magic number\n * @param data - binary data of compressed texture\n * @returns true - data in \"PVR\" format, else - false\n */\nexport function isPVR(data: ArrayBuffer): boolean {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n const version = header[PVR_CONSTANTS.MAGIC_NUMBER_INDEX];\n\n return version === PVR_CONSTANTS.MAGIC_NUMBER || version === PVR_CONSTANTS.MAGIC_NUMBER_EXTRA;\n}\n\n/**\n * Parse texture data as \"PVR\" format\n * @param data - binary data of compressed texture\n * @returns Array of the texture levels\n * @see http://cdn.imgtec.com/sdk-documentation/PVR+File+Format.Specification.pdf\n */\nexport function parsePVR(data: ArrayBuffer): TextureLevel[] {\n const header = new Uint32Array(data, 0, PVR_CONSTANTS.HEADER_LENGTH);\n\n const pvrFormat = header[PVR_CONSTANTS.PIXEL_FORMAT_INDEX];\n const colourSpace = header[PVR_CONSTANTS.COLOUR_SPACE_INDEX];\n const pixelFormats = PVR_PIXEL_FORMATS[pvrFormat] || [];\n const internalFormat = pixelFormats.length > 1 && colourSpace ? pixelFormats[1] : pixelFormats[0];\n\n const sizeFunction = PVR_SIZE_FUNCTIONS[pvrFormat];\n\n const mipMapLevels = header[PVR_CONSTANTS.MIPMAPCOUNT_INDEX];\n\n const width = header[PVR_CONSTANTS.WIDTH_INDEX];\n const height = header[PVR_CONSTANTS.HEIGHT_INDEX];\n\n const dataOffset = PVR_CONSTANTS.HEADER_SIZE + header[PVR_CONSTANTS.METADATA_SIZE_INDEX];\n\n const image = new Uint8Array(data, dataOffset);\n\n return extractMipmapImages(image, {\n mipMapLevels,\n width,\n height,\n sizeFunction,\n internalFormat\n });\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc2bppSize(width: number, height: number): number {\n width = Math.max(width, 16);\n height = Math.max(height, 8);\n\n return (width * height) / 4;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_pvrtc/\nfunction pvrtc4bppSize(width: number, height: number): number {\n width = Math.max(width, 8);\n height = Math.max(height, 8);\n\n return (width * height) / 2;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// Size for:\n// COMPRESSED_RGB_S3TC_DXT1_EXT\n// COMPRESSED_R11_EAC\n// COMPRESSED_SIGNED_R11_EAC\n// COMPRESSED_RGB8_ETC2\n// COMPRESSED_SRGB8_ETC2\n// COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2\n// COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2\nfunction dxtEtcSmallSize(width: number, height: number): number {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 8;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_s3tc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_etc/\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\n// Size for:\n// COMPRESSED_RGBA_S3TC_DXT3_EXT\n// COMPRESSED_RGBA_S3TC_DXT5_EXT\n// COMPRESSED_RG11_EAC\n// COMPRESSED_SIGNED_RG11_EAC\n// COMPRESSED_RGBA8_ETC2_EAC\n// COMPRESSED_SRGB8_ALPHA8_ETC2_EAC\n// COMPRESSED_RGBA_ASTC_4x4_KHR\nfunction dxtEtcAstcBigSize(width: number, height: number): number {\n return Math.floor((width + 3) / 4) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x4Size(width: number, height: number): number {\n return Math.floor((width + 4) / 5) * Math.floor((height + 3) / 4) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc5x5Size(width: number, height: number): number {\n return Math.floor((width + 4) / 5) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x5Size(width: number, height: number): number {\n return Math.floor((width + 5) / 6) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc6x6Size(width: number, height: number): number {\n return Math.floor((width + 5) / 6) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x5Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x6Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc8x8Size(width: number, height: number): number {\n return Math.floor((width + 7) / 8) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x5Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 4) / 5) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x6Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 5) / 6) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x8Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 7) / 8) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc10x10Size(width: number, height: number): number {\n return Math.floor((width + 9) / 10) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x10Size(width: number, height: number): number {\n return Math.floor((width + 11) / 12) * Math.floor((height + 9) / 10) * 16;\n}\n\n// https://www.khronos.org/registry/webgl/extensions/WEBGL_compressed_texture_astc/\nfunction atc12x12Size(width: number, height: number): number {\n return Math.floor((width + 11) / 12) * Math.floor((height + 11) / 12) * 16;\n}\n"],"file":"parse-pvr.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/async-deep-map.ts"],"names":["isObject","value","asyncDeepMap","tree","func","options","mapSubtree","object","Array","isArray","mapArray","mapObject","url","promises","values","key","promise","then","push","Promise","all","urlArray","map"],"mappings":"AAgBA,MAAMA,QAAQ,GAAIC,KAAD,IAAWA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAAtD;;AAKA,OAAO,eAAeC,YAAf,CAA4BC,IAA5B,EAAkCC,IAAlC,EAAwCC,OAAO,GAAG,EAAlD,EAAsD;AAC3D,SAAO,MAAMC,UAAU,CAACH,IAAD,EAAOC,IAAP,EAAaC,OAAb,CAAvB;AACD;AAED,OAAO,eAAeC,UAAf,CAA0BC,MAA1B,EAAkCH,IAAlC,EAAwCC,OAAxC,EAAiD;AACtD,MAAIG,KAAK,CAACC,OAAN,CAAcF,MAAd,CAAJ,EAA2B;AACzB,WAAO,MAAMG,QAAQ,CAACH,MAAD,EAASH,IAAT,EAAeC,OAAf,CAArB;AACD;;AAED,MAAIL,QAAQ,CAACO,MAAD,CAAZ,EAAsB;AACpB,WAAO,MAAMI,SAAS,CAACJ,MAAD,EAASH,IAAT,EAAeC,OAAf,CAAtB;AACD;;AAGD,QAAMO,GAAG,GAAGL,MAAZ;AACA,SAAO,MAAMH,IAAI,CAACQ,GAAD,EAAMP,OAAN,CAAjB;AACD;;AAID,eAAeM,SAAf,CAAyBJ,MAAzB,EAAiCH,IAAjC,EAAuCC,OAAvC,EAAgD;AAC9C,QAAMQ,QAAwB,GAAG,EAAjC;AACA,QAAMC,MAAM,GAAG,EAAf;;AAEA,OAAK,MAAMC,GAAX,IAAkBR,MAAlB,EAA0B;AACxB,UAAMK,GAAG,GAAGL,MAAM,CAACQ,GAAD,CAAlB;AACA,UAAMC,OAAO,GAAGV,UAAU,CAACM,GAAD,EAAMR,IAAN,EAAYC,OAAZ,CAAV,CAA+BY,IAA/B,CAAqChB,KAAD,IAAW;AAC7Da,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcd,KAAd;AACD,KAFe,CAAhB;AAGAY,IAAAA,QAAQ,CAACK,IAAT,CAAcF,OAAd;AACD;;AAED,QAAMG,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAN;AAEA,SAAOC,MAAP;AACD;;AAED,eAAeJ,QAAf,CAAwBW,QAAxB,EAAkCjB,IAAlC,EAAwCC,OAAO,GAAG,EAAlD,EAAsD;AACpD,QAAMQ,QAAQ,GAAGQ,QAAQ,CAACC,GAAT,CAAcV,GAAD,IAASN,UAAU,CAACM,GAAD,EAAMR,IAAN,EAAYC,OAAZ,CAAhC,CAAjB;AACA,SAAO,MAAMc,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAb;AACD","sourcesContent":["/*\nAsynchronously maps a deep structure of values (e.g. objects and arrays of urls).\n\nE.g. a mipmapped cubemap\n{\n [CUBE_FACE_FRONT]: [\n \"image-front-0.jpg\",\n \"image-front-1.jpg\",\n \"image-front-2.jpg\",\n ],\n [CUBE_MAP_BACK]: [\n ...\n ]\n}\n*/\n\nconst isObject = (value) => value && typeof value === 'object';\n\n// Loads a deep structure of urls (objects and arrays of urls)\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function asyncDeepMap(tree, func, options = {}) {\n return await mapSubtree(tree, func, options);\n}\n\nexport async function mapSubtree(object, func, options) {\n if (Array.isArray(object)) {\n return await mapArray(object, func, options);\n }\n\n if (isObject(object)) {\n return await mapObject(object, func, options);\n }\n\n // TODO - ignore non-urls, non-arraybuffers?\n const url = object;\n return await func(url, options);\n}\n\n// HELPERS\n\nasync function mapObject(object, func, options) {\n const promises: Promise<any>[] = [];\n const values = {};\n\n for (const key in object) {\n const url = object[key];\n const promise = mapSubtree(url, func, options).then((value) => {\n values[key] = value;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return values;\n}\n\nasync function mapArray(urlArray, func, options = {}) {\n const promises = urlArray.map((url) => mapSubtree(url, func, options));\n return await Promise.all(promises);\n}\n"],"file":"async-deep-map.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/async-deep-map.ts"],"names":["isObject","value","asyncDeepMap","tree","func","options","mapSubtree","object","Array","isArray","mapArray","mapObject","url","promises","values","key","promise","then","push","Promise","all","urlArray","map"],"mappings":"AAmBA,MAAMA,QAAQ,GAAIC,KAAD,IAAyBA,KAAK,IAAI,OAAOA,KAAP,KAAiB,QAApE;;AAKA,OAAO,eAAeC,YAAf,CAA4BC,IAA5B,EAA2CC,IAA3C,EAAuDC,OAAgB,GAAG,EAA1E,EAA8E;AACnF,SAAO,MAAMC,UAAU,CAACH,IAAD,EAAOC,IAAP,EAAaC,OAAb,CAAvB;AACD;AAED,OAAO,eAAeC,UAAf,CAA0BC,MAA1B,EAA2CH,IAA3C,EAAuDC,OAAvD,EAAyE;AAC9E,MAAIG,KAAK,CAACC,OAAN,CAAcF,MAAd,CAAJ,EAA2B;AACzB,WAAO,MAAMG,QAAQ,CAACH,MAAD,EAASH,IAAT,EAAeC,OAAf,CAArB;AACD;;AAED,MAAIL,QAAQ,CAACO,MAAD,CAAZ,EAAsB;AACpB,WAAO,MAAMI,SAAS,CAACJ,MAAD,EAAmBH,IAAnB,EAAyBC,OAAzB,CAAtB;AACD;;AAGD,QAAMO,GAAG,GAAGL,MAAZ;AACA,SAAO,MAAMH,IAAI,CAACQ,GAAD,EAAMP,OAAN,CAAjB;AACD;;AAID,eAAeM,SAAf,CACEJ,MADF,EAEEH,IAFF,EAGEC,OAHF,EAIgC;AAC9B,QAAMQ,QAAwB,GAAG,EAAjC;AACA,QAAMC,MAA2B,GAAG,EAApC;;AAEA,OAAK,MAAMC,GAAX,IAAkBR,MAAlB,EAA0B;AACxB,UAAMK,GAAG,GAAGL,MAAM,CAACQ,GAAD,CAAlB;AACA,UAAMC,OAAO,GAAGV,UAAU,CAACM,GAAD,EAAMR,IAAN,EAAYC,OAAZ,CAAV,CAA+BY,IAA/B,CAAqChB,KAAD,IAAW;AAC7Da,MAAAA,MAAM,CAACC,GAAD,CAAN,GAAcd,KAAd;AACD,KAFe,CAAhB;AAGAY,IAAAA,QAAQ,CAACK,IAAT,CAAcF,OAAd;AACD;;AAED,QAAMG,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAN;AAEA,SAAOC,MAAP;AACD;;AAED,eAAeJ,QAAf,CAAwBW,QAAxB,EAA4CjB,IAA5C,EAAwDC,OAAO,GAAG,EAAlE,EAAsF;AACpF,QAAMQ,QAAQ,GAAGQ,QAAQ,CAACC,GAAT,CAAcV,GAAD,IAASN,UAAU,CAACM,GAAD,EAAMR,IAAN,EAAYC,OAAZ,CAAhC,CAAjB;AACA,SAAO,MAAMc,OAAO,CAACC,GAAR,CAAYP,QAAZ,CAAb;AACD","sourcesContent":["// loaders.gl, MIT license\n/*\nAsynchronously maps a deep structure of values (e.g. objects and arrays of urls).\n\nE.g. a mipmapped cubemap\n{\n [CUBE_FACE_FRONT]: [\n \"image-front-0.jpg\",\n \"image-front-1.jpg\",\n \"image-front-2.jpg\",\n ],\n [CUBE_MAP_BACK]: [\n ...\n ]\n}\n*/\nexport type Options = Record<string, any>;\nexport type Func = (url: string, options: Options) => unknown;\n\nconst isObject = (value: any): boolean => value && typeof value === 'object';\n\n// Loads a deep structure of urls (objects and arrays of urls)\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function asyncDeepMap(tree: unknown, func: Func, options: Options = {}) {\n return await mapSubtree(tree, func, options);\n}\n\nexport async function mapSubtree(object: unknown, func: Func, options: Options) {\n if (Array.isArray(object)) {\n return await mapArray(object, func, options);\n }\n\n if (isObject(object)) {\n return await mapObject(object as object, func, options);\n }\n\n // TODO - ignore non-urls, non-arraybuffers?\n const url = object as string;\n return await func(url, options);\n}\n\n// HELPERS\n\nasync function mapObject(\n object: Record<string, any>,\n func: Func,\n options: Options\n): Promise<Record<string, any>> {\n const promises: Promise<any>[] = [];\n const values: Record<string, any> = {};\n\n for (const key in object) {\n const url = object[key];\n const promise = mapSubtree(url, func, options).then((value) => {\n values[key] = value;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return values;\n}\n\nasync function mapArray(urlArray: string[], func: Func, options = {}): Promise<any[]> {\n const promises = urlArray.map((url) => mapSubtree(url, func, options));\n return await Promise.all(promises);\n}\n"],"file":"async-deep-map.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/deep-load.ts"],"names":["asyncDeepMap","deepLoad","urlTree","load","options","url","shallowLoad","response","fetch","arrayBuffer"],"mappings":"AAAA,SAAQA,YAAR,QAA2B,kBAA3B;AAEA,OAAO,eAAeC,QAAf,CAAwBC,OAAxB,EAAiCC,IAAjC,EAAuCC,OAAvC,EAAgD;AACrD,SAAO,MAAMJ,YAAY,CAACE,OAAD,EAAWG,GAAD,IAASC,WAAW,CAACD,GAAD,EAAMF,IAAN,EAAYC,OAAZ,CAA9B,CAAzB;AACD;AAED,OAAO,eAAeE,WAAf,CAA2BD,GAA3B,EAAgCF,IAAhC,EAAsCC,OAAtC,EAA+C;AAEpD,QAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAD,EAAMD,OAAO,CAACI,KAAd,CAA5B;AACA,QAAMC,WAAW,GAAG,MAAMF,QAAQ,CAACE,WAAT,EAA1B;AACA,SAAO,MAAMN,IAAI,CAACM,WAAD,EAAcL,OAAd,CAAjB;AACD","sourcesContent":["import {asyncDeepMap} from './async-deep-map';\n\nexport async function deepLoad(urlTree, load, options) {\n return await asyncDeepMap(urlTree, (url) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url, load, options) {\n // console.error('loading', url);\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"file":"deep-load.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/deep-load.ts"],"names":["asyncDeepMap","deepLoad","urlTree","load","options","url","shallowLoad","response","fetch","arrayBuffer"],"mappings":"AACA,SAAQA,YAAR,QAA2B,kBAA3B;AAKA,OAAO,eAAeC,QAAf,CAAwBC,OAAxB,EAA0CC,IAA1C,EAAsDC,OAAtD,EAA4E;AACjF,SAAO,MAAMJ,YAAY,CAACE,OAAD,EAAWG,GAAD,IAAiBC,WAAW,CAACD,GAAD,EAAMF,IAAN,EAAYC,OAAZ,CAAtC,CAAzB;AACD;AAED,OAAO,eAAeE,WAAf,CAA2BD,GAA3B,EAAwCF,IAAxC,EAAoDC,OAApD,EAAwF;AAE7F,QAAMG,QAAQ,GAAG,MAAMC,KAAK,CAACH,GAAD,EAAMD,OAAO,CAACI,KAAd,CAA5B;AACA,QAAMC,WAAW,GAAG,MAAMF,QAAQ,CAACE,WAAT,EAA1B;AACA,SAAO,MAAMN,IAAI,CAACM,WAAD,EAAcL,OAAd,CAAjB;AACD","sourcesContent":["// loaders.gl, MIT license\nimport {asyncDeepMap} from './async-deep-map';\n\nexport type LoadOptions = Record<string, any>;\nexport type Load = (data: ArrayBuffer, options: Record<string, any>) => Promise<any>;\n\nexport async function deepLoad(urlTree: unknown, load: Load, options: LoadOptions) {\n return await asyncDeepMap(urlTree, (url: string) => shallowLoad(url, load, options));\n}\n\nexport async function shallowLoad(url: string, load: Load, options: LoadOptions): Promise<any> {\n // console.error('loading', url);\n const response = await fetch(url, options.fetch);\n const arrayBuffer = await response.arrayBuffer();\n return await load(arrayBuffer, options);\n}\n"],"file":"deep-load.js"}
@@ -1,17 +1,9 @@
1
- import { resolvePath, assert } from '@loaders.gl/loader-utils';
1
+ import { resolvePath } from '@loaders.gl/loader-utils';
2
2
  export function generateUrl(getUrl, options, urlOptions) {
3
- let url = getUrl;
4
-
5
- if (typeof getUrl === 'function') {
6
- url = getUrl({ ...options,
7
- ...urlOptions
8
- });
9
- }
10
-
11
- assert(typeof url === 'string');
12
- const {
13
- baseUrl
14
- } = options;
3
+ let url = typeof getUrl === 'function' ? getUrl({ ...options,
4
+ ...urlOptions
5
+ }) : getUrl;
6
+ const baseUrl = options.baseUrl;
15
7
 
16
8
  if (baseUrl) {
17
9
  url = baseUrl[baseUrl.length - 1] === '/' ? "".concat(baseUrl).concat(url) : "".concat(baseUrl, "/").concat(url);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/generate-url.ts"],"names":["resolvePath","assert","generateUrl","getUrl","options","urlOptions","url","baseUrl","length"],"mappings":"AAAA,SAAQA,WAAR,EAAqBC,MAArB,QAAkC,0BAAlC;AAGA,OAAO,SAASC,WAAT,CAAqBC,MAArB,EAA6BC,OAA7B,EAAsCC,UAAtC,EAAkD;AAEvD,MAAIC,GAAG,GAAGH,MAAV;;AACA,MAAI,OAAOA,MAAP,KAAkB,UAAtB,EAAkC;AAChCG,IAAAA,GAAG,GAAGH,MAAM,CAAC,EAAC,GAAGC,OAAJ;AAAa,SAAGC;AAAhB,KAAD,CAAZ;AACD;;AACDJ,EAAAA,MAAM,CAAC,OAAOK,GAAP,KAAe,QAAhB,CAAN;AAGA,QAAM;AAACC,IAAAA;AAAD,MAAYH,OAAlB;;AACA,MAAIG,OAAJ,EAAa;AACXD,IAAAA,GAAG,GAAGC,OAAO,CAACA,OAAO,CAACC,MAAR,GAAiB,CAAlB,CAAP,KAAgC,GAAhC,aAAyCD,OAAzC,SAAmDD,GAAnD,cAA8DC,OAA9D,cAAyED,GAAzE,CAAN;AACD;;AAED,SAAON,WAAW,CAACM,GAAD,CAAlB;AACD","sourcesContent":["import {resolvePath, assert} from '@loaders.gl/loader-utils';\n\n// Generate a url by calling getUrl with mix of options, applying options.baseUrl\nexport function generateUrl(getUrl, options, urlOptions) {\n // Get url\n let url = getUrl;\n if (typeof getUrl === 'function') {\n url = getUrl({...options, ...urlOptions});\n }\n assert(typeof url === 'string');\n\n // Apply options.baseUrl\n const {baseUrl} = options;\n if (baseUrl) {\n url = baseUrl[baseUrl.length - 1] === '/' ? `${baseUrl}${url}` : `${baseUrl}/${url}`;\n }\n\n return resolvePath(url);\n}\n"],"file":"generate-url.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/generate-url.ts"],"names":["resolvePath","generateUrl","getUrl","options","urlOptions","url","baseUrl","length"],"mappings":"AACA,SAAQA,WAAR,QAA0B,0BAA1B;AAIA,OAAO,SAASC,WAAT,CACLC,MADK,EAELC,OAFK,EAGLC,UAHK,EAIG;AAER,MAAIC,GAAG,GAAG,OAAOH,MAAP,KAAkB,UAAlB,GAA+BA,MAAM,CAAC,EAAC,GAAGC,OAAJ;AAAa,OAAGC;AAAhB,GAAD,CAArC,GAAqEF,MAA/E;AAGA,QAAMI,OAAO,GAAGH,OAAO,CAACG,OAAxB;;AACA,MAAIA,OAAJ,EAAa;AACXD,IAAAA,GAAG,GAAGC,OAAO,CAACA,OAAO,CAACC,MAAR,GAAiB,CAAlB,CAAP,KAAgC,GAAhC,aAAyCD,OAAzC,SAAmDD,GAAnD,cAA8DC,OAA9D,cAAyED,GAAzE,CAAN;AACD;;AAED,SAAOL,WAAW,CAACK,GAAD,CAAlB;AACD","sourcesContent":["// loaders.gl, MIT license\nimport {resolvePath} from '@loaders.gl/loader-utils';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\n\n// Generate a url by calling getUrl with mix of options, applying options.baseUrl\nexport function generateUrl(\n getUrl: string | GetUrl,\n options: UrlOptions,\n urlOptions: Record<string, any>\n): string {\n // Get url\n let url = typeof getUrl === 'function' ? getUrl({...options, ...urlOptions}) : getUrl;\n\n // Apply options.baseUrl\n const baseUrl = options.baseUrl;\n if (baseUrl) {\n url = baseUrl[baseUrl.length - 1] === '/' ? `${baseUrl}${url}` : `${baseUrl}/${url}`;\n }\n\n return resolvePath(url);\n}\n"],"file":"generate-url.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/load-image-array.ts"],"names":["ImageLoader","getImageUrls","deepLoad","loadImageTextureArray","count","getUrl","options","imageUrls","getImageArrayUrls","parse","promises","index","promise","push","Promise","all"],"mappings":"AAAA,SAAQA,WAAR,QAA0B,oBAA1B;AACA,SAAQC,YAAR,QAA2B,cAA3B;AACA,SAAQC,QAAR,QAAuB,aAAvB;AAEA,OAAO,eAAeC,qBAAf,CAAqCC,KAArC,EAA4CC,MAA5C,EAAoDC,OAAO,GAAG,EAA9D,EAAkE;AACvE,QAAMC,SAAS,GAAG,MAAMC,iBAAiB,CAACJ,KAAD,EAAQC,MAAR,EAAgBC,OAAhB,CAAzC;AACA,SAAO,MAAMJ,QAAQ,CAACK,SAAD,EAAYP,WAAW,CAACS,KAAxB,EAA+BH,OAA/B,CAArB;AACD;AAED,OAAO,eAAeE,iBAAf,CAAiCJ,KAAjC,EAAwCC,MAAxC,EAAgDC,OAAO,GAAG,EAA1D,EAA8D;AACnE,QAAMI,QAAwB,GAAG,EAAjC;;AACA,OAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGP,KAA5B,EAAmCO,KAAK,EAAxC,EAA4C;AAC1C,UAAMC,OAAO,GAAGX,YAAY,CAACI,MAAD,EAASC,OAAT,EAAkB;AAACK,MAAAA;AAAD,KAAlB,CAA5B;AACAD,IAAAA,QAAQ,CAACG,IAAT,CAAcD,OAAd;AACD;;AACD,SAAO,MAAME,OAAO,CAACC,GAAR,CAAYL,QAAZ,CAAb;AACD","sourcesContent":["import {ImageLoader} from '@loaders.gl/images';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\nexport async function loadImageTextureArray(count, getUrl, options = {}) {\n const imageUrls = await getImageArrayUrls(count, getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageArrayUrls(count, getUrl, options = {}) {\n const promises: Promise<any>[] = [];\n for (let index = 0; index < count; index++) {\n const promise = getImageUrls(getUrl, options, {index});\n promises.push(promise);\n }\n return await Promise.all(promises);\n}\n"],"file":"load-image-array.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/load-image-array.ts"],"names":["ImageLoader","getImageUrls","deepLoad","loadImageTextureArray","count","getUrl","options","imageUrls","getImageArrayUrls","parse","promises","index","promise","push","Promise","all"],"mappings":"AACA,SAAQA,WAAR,QAA0B,oBAA1B;AAEA,SAAQC,YAAR,QAA2B,cAA3B;AACA,SAAQC,QAAR,QAAuB,aAAvB;AAEA,OAAO,eAAeC,qBAAf,CACLC,KADK,EAELC,MAFK,EAGLC,OAAO,GAAG,EAHL,EAIS;AACd,QAAMC,SAAS,GAAG,MAAMC,iBAAiB,CAACJ,KAAD,EAAQC,MAAR,EAAgBC,OAAhB,CAAzC;AACA,SAAO,MAAMJ,QAAQ,CAACK,SAAD,EAAYP,WAAW,CAACS,KAAxB,EAA+BH,OAA/B,CAArB;AACD;AAED,OAAO,eAAeE,iBAAf,CAAiCJ,KAAjC,EAAgDC,MAAhD,EAAgEC,OAAO,GAAG,EAA1E,EAA4F;AACjG,QAAMI,QAAwB,GAAG,EAAjC;;AACA,OAAK,IAAIC,KAAK,GAAG,CAAjB,EAAoBA,KAAK,GAAGP,KAA5B,EAAmCO,KAAK,EAAxC,EAA4C;AAC1C,UAAMC,OAAO,GAAGX,YAAY,CAACI,MAAD,EAASC,OAAT,EAAkB;AAACK,MAAAA;AAAD,KAAlB,CAA5B;AACAD,IAAAA,QAAQ,CAACG,IAAT,CAAcD,OAAd;AACD;;AACD,SAAO,MAAME,OAAO,CAACC,GAAR,CAAYL,QAAZ,CAAb;AACD","sourcesContent":["// loaders.gl, MIT license\nimport {ImageLoader} from '@loaders.gl/images';\nimport type {GetUrl} from './texture-api-types';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\nexport async function loadImageTextureArray(\n count: number,\n getUrl: GetUrl,\n options = {}\n): Promise<any> {\n const imageUrls = await getImageArrayUrls(count, getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageArrayUrls(count: number, getUrl: GetUrl, options = {}): Promise<any> {\n const promises: Promise<any>[] = [];\n for (let index = 0; index < count; index++) {\n const promise = getImageUrls(getUrl, options, {index});\n promises.push(promise);\n }\n return await Promise.all(promises);\n}\n"],"file":"load-image-array.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/load-image-cube.ts"],"names":["ImageLoader","getImageUrls","deepLoad","GL_TEXTURE_CUBE_MAP_POSITIVE_X","GL_TEXTURE_CUBE_MAP_NEGATIVE_X","GL_TEXTURE_CUBE_MAP_POSITIVE_Y","GL_TEXTURE_CUBE_MAP_NEGATIVE_Y","GL_TEXTURE_CUBE_MAP_POSITIVE_Z","GL_TEXTURE_CUBE_MAP_NEGATIVE_Z","CUBE_FACES","face","direction","axis","sign","getImageCubeUrls","getUrl","options","urls","promises","index","i","length","promise","then","url","push","Promise","all","loadImageTextureCube","parse"],"mappings":"AAAA,SAAQA,WAAR,QAA0B,oBAA1B;AACA,SAAQC,YAAR,QAA2B,cAA3B;AACA,SAAQC,QAAR,QAAuB,aAAvB;AAGA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AAEA,MAAMC,UAAU,GAAG,CACjB;AAACC,EAAAA,IAAI,EAAEP,8BAAP;AAAuCQ,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CADiB,EAEjB;AAACH,EAAAA,IAAI,EAAEN,8BAAP;AAAuCO,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CAFiB,EAGjB;AAACH,EAAAA,IAAI,EAAEL,8BAAP;AAAuCM,EAAAA,SAAS,EAAE,KAAlD;AAAyDC,EAAAA,IAAI,EAAE,GAA/D;AAAoEC,EAAAA,IAAI,EAAE;AAA1E,CAHiB,EAIjB;AAACH,EAAAA,IAAI,EAAEJ,8BAAP;AAAuCK,EAAAA,SAAS,EAAE,QAAlD;AAA4DC,EAAAA,IAAI,EAAE,GAAlE;AAAuEC,EAAAA,IAAI,EAAE;AAA7E,CAJiB,EAKjB;AAACH,EAAAA,IAAI,EAAEH,8BAAP;AAAuCI,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CALiB,EAMjB;AAACH,EAAAA,IAAI,EAAEF,8BAAP;AAAuCG,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CANiB,CAAnB;AAWA,OAAO,eAAeC,gBAAf,CAAgCC,MAAhC,EAAwCC,OAAxC,EAAiD;AAEtD,QAAMC,IAAI,GAAG,EAAb;AACA,QAAMC,QAAwB,GAAG,EAAjC;AAEA,MAAIC,KAAK,GAAG,CAAZ;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGX,UAAU,CAACY,MAA/B,EAAuC,EAAED,CAAzC,EAA4C;AAC1C,UAAMV,IAAI,GAAGD,UAAU,CAACU,KAAD,CAAvB;AACA,UAAMG,OAAO,GAAGrB,YAAY,CAACc,MAAD,EAASC,OAAT,EAAkB,EAAC,GAAGN,IAAJ;AAAUS,MAAAA,KAAK,EAAEA,KAAK;AAAtB,KAAlB,CAAZ,CAAyDI,IAAzD,CAA+DC,GAAD,IAAS;AACrFP,MAAAA,IAAI,CAACP,IAAI,CAACA,IAAN,CAAJ,GAAkBc,GAAlB;AACD,KAFe,CAAhB;AAGAN,IAAAA,QAAQ,CAACO,IAAT,CAAcH,OAAd;AACD;;AAED,QAAMI,OAAO,CAACC,GAAR,CAAYT,QAAZ,CAAN;AAEA,SAAOD,IAAP;AACD;AAID,OAAO,eAAeW,oBAAf,CAAoCb,MAApC,EAA4CC,OAAO,GAAG,EAAtD,EAA0D;AAC/D,QAAMC,IAAI,GAAG,MAAMH,gBAAgB,CAACC,MAAD,EAASC,OAAT,CAAnC;AACA,SAAO,MAAMd,QAAQ,CAACe,IAAD,EAAOjB,WAAW,CAAC6B,KAAnB,EAA0Bb,OAA1B,CAArB;AACD","sourcesContent":["import {ImageLoader} from '@loaders.gl/images';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\n// Returned map will be have keys corresponding to GL cubemap constants\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;\n\nconst CUBE_FACES = [\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative'}\n];\n\n// Returns an object with six key-value pairs containing the urls (or url mip arrays)\n// for each cube face\nexport async function getImageCubeUrls(getUrl, options) {\n // Calculate URLs\n const urls = {};\n const promises: Promise<any>[] = [];\n\n let index = 0;\n for (let i = 0; i < CUBE_FACES.length; ++i) {\n const face = CUBE_FACES[index];\n const promise = getImageUrls(getUrl, options, {...face, index: index++}).then((url) => {\n urls[face.face] = url;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return urls;\n}\n\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function loadImageTextureCube(getUrl, options = {}) {\n const urls = await getImageCubeUrls(getUrl, options);\n return await deepLoad(urls, ImageLoader.parse, options);\n}\n"],"file":"load-image-cube.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/load-image-cube.ts"],"names":["ImageLoader","getImageUrls","deepLoad","GL_TEXTURE_CUBE_MAP_POSITIVE_X","GL_TEXTURE_CUBE_MAP_NEGATIVE_X","GL_TEXTURE_CUBE_MAP_POSITIVE_Y","GL_TEXTURE_CUBE_MAP_NEGATIVE_Y","GL_TEXTURE_CUBE_MAP_POSITIVE_Z","GL_TEXTURE_CUBE_MAP_NEGATIVE_Z","CUBE_FACES","face","direction","axis","sign","getImageCubeUrls","getUrl","options","urls","promises","index","i","length","promise","then","url","push","Promise","all","loadImageTextureCube","parse"],"mappings":"AACA,SAAQA,WAAR,QAA0B,oBAA1B;AAEA,SAAQC,YAAR,QAA2B,cAA3B;AACA,SAAQC,QAAR,QAAuB,aAAvB;AAGA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AACA,MAAMC,8BAA8B,GAAG,MAAvC;AAEA,MAAMC,UAAU,GAAG,CACjB;AAACC,EAAAA,IAAI,EAAEP,8BAAP;AAAuCQ,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CADiB,EAEjB;AAACH,EAAAA,IAAI,EAAEN,8BAAP;AAAuCO,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CAFiB,EAGjB;AAACH,EAAAA,IAAI,EAAEL,8BAAP;AAAuCM,EAAAA,SAAS,EAAE,KAAlD;AAAyDC,EAAAA,IAAI,EAAE,GAA/D;AAAoEC,EAAAA,IAAI,EAAE;AAA1E,CAHiB,EAIjB;AAACH,EAAAA,IAAI,EAAEJ,8BAAP;AAAuCK,EAAAA,SAAS,EAAE,QAAlD;AAA4DC,EAAAA,IAAI,EAAE,GAAlE;AAAuEC,EAAAA,IAAI,EAAE;AAA7E,CAJiB,EAKjB;AAACH,EAAAA,IAAI,EAAEH,8BAAP;AAAuCI,EAAAA,SAAS,EAAE,OAAlD;AAA2DC,EAAAA,IAAI,EAAE,GAAjE;AAAsEC,EAAAA,IAAI,EAAE;AAA5E,CALiB,EAMjB;AAACH,EAAAA,IAAI,EAAEF,8BAAP;AAAuCG,EAAAA,SAAS,EAAE,MAAlD;AAA0DC,EAAAA,IAAI,EAAE,GAAhE;AAAqEC,EAAAA,IAAI,EAAE;AAA3E,CANiB,CAAnB;AAoBA,OAAO,eAAeC,gBAAf,CAAgCC,MAAhC,EAAgDC,OAAhD,EAAqE;AAE1E,QAAMC,IAAuC,GAAG,EAAhD;AACA,QAAMC,QAAwB,GAAG,EAAjC;AAEA,MAAIC,KAAK,GAAG,CAAZ;;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGX,UAAU,CAACY,MAA/B,EAAuC,EAAED,CAAzC,EAA4C;AAC1C,UAAMV,IAAI,GAAGD,UAAU,CAACU,KAAD,CAAvB;AACA,UAAMG,OAAO,GAAGrB,YAAY,CAACc,MAAD,EAASC,OAAT,EAAkB,EAAC,GAAGN,IAAJ;AAAUS,MAAAA,KAAK,EAAEA,KAAK;AAAtB,KAAlB,CAAZ,CAAyDI,IAAzD,CAA+DC,GAAD,IAAS;AACrFP,MAAAA,IAAI,CAACP,IAAI,CAACA,IAAN,CAAJ,GAAkBc,GAAlB;AACD,KAFe,CAAhB;AAGAN,IAAAA,QAAQ,CAACO,IAAT,CAAcH,OAAd;AACD;;AAED,QAAMI,OAAO,CAACC,GAAR,CAAYT,QAAZ,CAAN;AAEA,SAAOD,IAAP;AACD;AAID,OAAO,eAAeW,oBAAf,CACLb,MADK,EAELC,OAAO,GAAG,EAFL,EAGsB;AAC3B,QAAMC,IAAI,GAAG,MAAMH,gBAAgB,CAACC,MAAD,EAASC,OAAT,CAAnC;AACA,SAAQ,MAAMd,QAAQ,CAACe,IAAD,EAAOjB,WAAW,CAAC6B,KAAnB,EAA0Bb,OAA1B,CAAtB;AACD","sourcesContent":["// loaders.gl, MIT license\nimport {ImageLoader} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {getImageUrls} from './load-image';\nimport {deepLoad} from './deep-load';\n\n// Returned map will be have keys corresponding to GL cubemap constants\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_X = 0x8515;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_X = 0x8516;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Y = 0x8517;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Y = 0x8518;\nconst GL_TEXTURE_CUBE_MAP_POSITIVE_Z = 0x8519;\nconst GL_TEXTURE_CUBE_MAP_NEGATIVE_Z = 0x851a;\n\nconst CUBE_FACES = [\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_X, direction: 'right', axis: 'x', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_X, direction: 'left', axis: 'x', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Y, direction: 'top', axis: 'y', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Y, direction: 'bottom', axis: 'y', sign: 'negative'},\n {face: GL_TEXTURE_CUBE_MAP_POSITIVE_Z, direction: 'front', axis: 'z', sign: 'positive'},\n {face: GL_TEXTURE_CUBE_MAP_NEGATIVE_Z, direction: 'back', axis: 'z', sign: 'negative'}\n];\n\nexport type ImageCubeTexture = {\n GL_TEXTURE_CUBE_MAP_POSITIVE_X: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_X: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Y: any;\n GL_TEXTURE_CUBE_MAP_POSITIVE_Z: any;\n GL_TEXTURE_CUBE_MAP_NEGATIVE_Z: any;\n};\n\n// Returns an object with six key-value pairs containing the urls (or url mip arrays)\n// for each cube face\nexport async function getImageCubeUrls(getUrl: GetUrl, options: UrlOptions) {\n // Calculate URLs\n const urls: Record<number, string | string[]> = {};\n const promises: Promise<any>[] = [];\n\n let index = 0;\n for (let i = 0; i < CUBE_FACES.length; ++i) {\n const face = CUBE_FACES[index];\n const promise = getImageUrls(getUrl, options, {...face, index: index++}).then((url) => {\n urls[face.face] = url;\n });\n promises.push(promise);\n }\n\n await Promise.all(promises);\n\n return urls;\n}\n\n// Returns an object with six key-value pairs containing the images (or image mip arrays)\n// for each cube face\nexport async function loadImageTextureCube(\n getUrl: GetUrl,\n options = {}\n): Promise<ImageCubeTexture> {\n const urls = await getImageCubeUrls(getUrl, options);\n return (await deepLoad(urls, ImageLoader.parse, options)) as ImageCubeTexture;\n}\n"],"file":"load-image-cube.js"}
@@ -42,10 +42,7 @@ async function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions) {
42
42
  return urls;
43
43
  }
44
44
 
45
- export function getMipLevels({
46
- width,
47
- height
48
- }) {
49
- return 1 + Math.floor(Math.log2(Math.max(width, height)));
45
+ export function getMipLevels(size) {
46
+ return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));
50
47
  }
51
48
  //# sourceMappingURL=load-image.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/texture-api/load-image.ts"],"names":["assert","ImageLoader","getImageSize","generateUrl","deepLoad","shallowLoad","loadImageTexture","getUrl","options","imageUrls","getImageUrls","parse","urlOptions","mipLevels","image","getMipmappedImageUrls","urls","url","lod","width","height","getMipLevels","push","mipLevel","length","Math","floor","log2","max"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,0BAArB;AACA,SAAQC,WAAR,EAAqBC,YAArB,QAAwC,oBAAxC;AACA,SAAQC,WAAR,QAA0B,gBAA1B;AACA,SAAQC,QAAR,EAAkBC,WAAlB,QAAoC,aAApC;AAEA,OAAO,eAAeC,gBAAf,CAAgCC,MAAhC,EAAwCC,OAAO,GAAG,EAAlD,EAAsD;AAC3D,QAAMC,SAAS,GAAG,MAAMC,YAAY,CAACH,MAAD,EAASC,OAAT,CAApC;AACA,SAAO,MAAMJ,QAAQ,CAACK,SAAD,EAAYR,WAAW,CAACU,KAAxB,EAA+BH,OAA/B,CAArB;AACD;AAED,OAAO,eAAeE,YAAf,CAA4BH,MAA5B,EAAoCC,OAApC,EAA6CI,UAAU,GAAG,EAA1D,EAA8D;AACnE,QAAMC,SAAS,GAAIL,OAAO,IAAIA,OAAO,CAACM,KAAnB,IAA4BN,OAAO,CAACM,KAAR,CAAcD,SAA3C,IAAyD,CAA3E;AACA,SAAOA,SAAS,KAAK,CAAd,GACH,MAAME,qBAAqB,CAACR,MAAD,EAASM,SAAT,EAAoBL,OAApB,EAA6BI,UAA7B,CADxB,GAEHT,WAAW,CAACI,MAAD,EAASC,OAAT,EAAkBI,UAAlB,CAFf;AAGD;;AAED,eAAeG,qBAAf,CAAqCR,MAArC,EAA6CM,SAA7C,EAAwDL,OAAxD,EAAiEI,UAAjE,EAAgG;AAC9F,QAAMI,IAAc,GAAG,EAAvB;;AAGA,MAAIH,SAAS,KAAK,MAAlB,EAA0B;AACxB,UAAMI,GAAG,GAAGd,WAAW,CAACI,MAAD,EAASC,OAAT,EAAkB,EAAC,GAAGI,UAAJ;AAAgBM,MAAAA,GAAG,EAAE;AAArB,KAAlB,CAAvB;AACA,UAAMJ,KAAK,GAAG,MAAMT,WAAW,CAACY,GAAD,EAAMhB,WAAW,CAACU,KAAlB,EAAyBH,OAAzB,CAA/B;AAEA,UAAM;AAACW,MAAAA,KAAD;AAAQC,MAAAA;AAAR,QAAkBlB,YAAY,CAACY,KAAD,CAApC;AACAD,IAAAA,SAAS,GAAGQ,YAAY,CAAC;AAACF,MAAAA,KAAD;AAAQC,MAAAA;AAAR,KAAD,CAAxB;AAGAJ,IAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;AACD;;AAGDjB,EAAAA,MAAM,CAACa,SAAS,GAAG,CAAb,CAAN;;AAEA,OAAK,IAAIU,QAAQ,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,QAAQ,GAAGV,SAA5C,EAAuD,EAAEU,QAAzD,EAAmE;AACjE,UAAMN,GAAG,GAAGd,WAAW,CAACI,MAAD,EAASC,OAAT,EAAkB,EAAC,GAAGI,UAAJ;AAAgBM,MAAAA,GAAG,EAAEK;AAArB,KAAlB,CAAvB;AACAP,IAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;AACD;;AAED,SAAOD,IAAP;AACD;;AAGD,OAAO,SAASK,YAAT,CAAsB;AAACF,EAAAA,KAAD;AAAQC,EAAAA;AAAR,CAAtB,EAAuC;AAC5C,SAAO,IAAIK,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,IAAL,CAAUF,IAAI,CAACG,GAAL,CAAST,KAAT,EAAgBC,MAAhB,CAAV,CAAX,CAAX;AACD","sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {ImageLoader, getImageSize} from '@loaders.gl/images';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImageTexture(getUrl, options = {}) {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageUrls(getUrl, options, urlOptions = {}) {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions): Promise<string[]> {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, ImageLoader.parse, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels({width, height}) {\n return 1 + Math.floor(Math.log2(Math.max(width, height)));\n}\n"],"file":"load-image.js"}
1
+ {"version":3,"sources":["../../../../src/lib/texture-api/load-image.ts"],"names":["assert","ImageLoader","getImageSize","generateUrl","deepLoad","shallowLoad","loadImageTexture","getUrl","options","imageUrls","getImageUrls","parse","urlOptions","mipLevels","image","getMipmappedImageUrls","urls","url","lod","width","height","getMipLevels","push","mipLevel","length","size","Math","floor","log2","max"],"mappings":"AAAA,SAAQA,MAAR,QAAqB,0BAArB;AACA,SAAQC,WAAR,EAAqBC,YAArB,QAAwC,oBAAxC;AAEA,SAAQC,WAAR,QAA0B,gBAA1B;AACA,SAAQC,QAAR,EAAkBC,WAAlB,QAAoC,aAApC;AAEA,OAAO,eAAeC,gBAAf,CAAgCC,MAAhC,EAAyDC,OAAO,GAAG,EAAnE,EAAqF;AAC1F,QAAMC,SAAS,GAAG,MAAMC,YAAY,CAACH,MAAD,EAASC,OAAT,CAApC;AACA,SAAO,MAAMJ,QAAQ,CAACK,SAAD,EAAYR,WAAW,CAACU,KAAxB,EAA+BH,OAA/B,CAArB;AACD;AAED,OAAO,eAAeE,YAAf,CACLH,MADK,EAELC,OAFK,EAGLI,UAAsB,GAAG,EAHpB,EAIS;AACd,QAAMC,SAAS,GAAIL,OAAO,IAAIA,OAAO,CAACM,KAAnB,IAA4BN,OAAO,CAACM,KAAR,CAAcD,SAA3C,IAAyD,CAA3E;AACA,SAAOA,SAAS,KAAK,CAAd,GACH,MAAME,qBAAqB,CAACR,MAAD,EAASM,SAAT,EAAoBL,OAApB,EAA6BI,UAA7B,CADxB,GAEHT,WAAW,CAACI,MAAD,EAASC,OAAT,EAAkBI,UAAlB,CAFf;AAGD;;AAED,eAAeG,qBAAf,CACER,MADF,EAEEM,SAFF,EAGEL,OAHF,EAIEI,UAJF,EAKqB;AACnB,QAAMI,IAAc,GAAG,EAAvB;;AAGA,MAAIH,SAAS,KAAK,MAAlB,EAA0B;AACxB,UAAMI,GAAG,GAAGd,WAAW,CAACI,MAAD,EAASC,OAAT,EAAkB,EAAC,GAAGI,UAAJ;AAAgBM,MAAAA,GAAG,EAAE;AAArB,KAAlB,CAAvB;AACA,UAAMJ,KAAK,GAAG,MAAMT,WAAW,CAACY,GAAD,EAAMhB,WAAW,CAACU,KAAlB,EAAyBH,OAAzB,CAA/B;AAEA,UAAM;AAACW,MAAAA,KAAD;AAAQC,MAAAA;AAAR,QAAkBlB,YAAY,CAACY,KAAD,CAApC;AACAD,IAAAA,SAAS,GAAGQ,YAAY,CAAC;AAACF,MAAAA,KAAD;AAAQC,MAAAA;AAAR,KAAD,CAAxB;AAGAJ,IAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;AACD;;AAGDjB,EAAAA,MAAM,CAACa,SAAS,GAAG,CAAb,CAAN;;AAEA,OAAK,IAAIU,QAAQ,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,QAAQ,GAAGV,SAA5C,EAAuD,EAAEU,QAAzD,EAAmE;AACjE,UAAMN,GAAG,GAAGd,WAAW,CAACI,MAAD,EAASC,OAAT,EAAkB,EAAC,GAAGI,UAAJ;AAAgBM,MAAAA,GAAG,EAAEK;AAArB,KAAlB,CAAvB;AACAP,IAAAA,IAAI,CAACM,IAAL,CAAUL,GAAV;AACD;;AAED,SAAOD,IAAP;AACD;;AAGD,OAAO,SAASK,YAAT,CAAsBI,IAAtB,EAAqE;AAC1E,SAAO,IAAIC,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,IAAL,CAAUF,IAAI,CAACG,GAAL,CAASJ,IAAI,CAACN,KAAd,EAAqBM,IAAI,CAACL,MAA1B,CAAV,CAAX,CAAX;AACD","sourcesContent":["import {assert} from '@loaders.gl/loader-utils';\nimport {ImageLoader, getImageSize} from '@loaders.gl/images';\nimport type {GetUrl, UrlOptions} from './texture-api-types';\nimport {generateUrl} from './generate-url';\nimport {deepLoad, shallowLoad} from './deep-load';\n\nexport async function loadImageTexture(getUrl: string | GetUrl, options = {}): Promise<any> {\n const imageUrls = await getImageUrls(getUrl, options);\n return await deepLoad(imageUrls, ImageLoader.parse, options);\n}\n\nexport async function getImageUrls(\n getUrl: string | GetUrl,\n options: any,\n urlOptions: UrlOptions = {}\n): Promise<any> {\n const mipLevels = (options && options.image && options.image.mipLevels) || 0;\n return mipLevels !== 0\n ? await getMipmappedImageUrls(getUrl, mipLevels, options, urlOptions)\n : generateUrl(getUrl, options, urlOptions);\n}\n\nasync function getMipmappedImageUrls(\n getUrl: string | GetUrl,\n mipLevels: number | 'auto',\n options: any,\n urlOptions: UrlOptions\n): Promise<string[]> {\n const urls: string[] = [];\n\n // If no mip levels supplied, we need to load the level 0 image and calculate based on size\n if (mipLevels === 'auto') {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: 0});\n const image = await shallowLoad(url, ImageLoader.parse, options);\n\n const {width, height} = getImageSize(image);\n mipLevels = getMipLevels({width, height});\n\n // TODO - push image and make `deepLoad` pass through non-url values, avoid loading twice?\n urls.push(url);\n }\n\n // We now know how many mipLevels we need, remaining image urls can now be constructed\n assert(mipLevels > 0);\n\n for (let mipLevel = urls.length; mipLevel < mipLevels; ++mipLevel) {\n const url = generateUrl(getUrl, options, {...urlOptions, lod: mipLevel});\n urls.push(url);\n }\n\n return urls;\n}\n\n// Calculates number of mipmaps based on texture size (log2)\nexport function getMipLevels(size: {width: number; height: number}): number {\n return 1 + Math.floor(Math.log2(Math.max(size.width, size.height)));\n}\n"],"file":"load-image.js"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=texture-api-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[],"file":"texture-api-types.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/extract-mipmap-images.ts"],"names":["extractMipmapImages","data","options","images","Array","mipMapLevels","levelWidth","width","levelHeight","height","offset","i","levelSize","getLevelSize","levelData","getLevelData","compressed","format","internalFormat","Math","max","index","isArray","Uint8Array","buffer","byteOffset","sizeFunction"],"mappings":"AAYA,OAAO,SAASA,mBAAT,CACLC,IADK,EAELC,OAFK,EAGW;AAChB,QAAMC,MAAM,GAAG,IAAIC,KAAJ,CAAUF,OAAO,CAACG,YAAlB,CAAf;AAEA,MAAIC,UAAU,GAAGJ,OAAO,CAACK,KAAzB;AACA,MAAIC,WAAW,GAAGN,OAAO,CAACO,MAA1B;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,OAAO,CAACG,YAA5B,EAA0C,EAAEM,CAA5C,EAA+C;AAC7C,UAAMC,SAAS,GAAGC,YAAY,CAACX,OAAD,EAAUI,UAAV,EAAsBE,WAAtB,EAAmCP,IAAnC,EAAyCU,CAAzC,CAA9B;AACA,UAAMG,SAAS,GAAGC,YAAY,CAACd,IAAD,EAAOU,CAAP,EAAUD,MAAV,EAAkBE,SAAlB,CAA9B;AAEAT,IAAAA,MAAM,CAACQ,CAAD,CAAN,GAAY;AACVK,MAAAA,UAAU,EAAE,IADF;AAEVC,MAAAA,MAAM,EAAEf,OAAO,CAACgB,cAFN;AAGVjB,MAAAA,IAAI,EAAEa,SAHI;AAIVP,MAAAA,KAAK,EAAED,UAJG;AAKVG,MAAAA,MAAM,EAAED,WALE;AAMVI,MAAAA;AANU,KAAZ;AASAN,IAAAA,UAAU,GAAGa,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYd,UAAU,IAAI,CAA1B,CAAb;AACAE,IAAAA,WAAW,GAAGW,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYZ,WAAW,IAAI,CAA3B,CAAd;AAEAE,IAAAA,MAAM,IAAIE,SAAV;AACD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASY,YAAT,CAAsBd,IAAtB,EAA4BoB,KAA5B,EAAmCX,MAAnC,EAA2CE,SAA3C,EAAsD;AACpD,MAAI,CAACR,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAO,IAAIsB,UAAJ,CAAetB,IAAI,CAACuB,MAApB,EAA4BvB,IAAI,CAACwB,UAAL,GAAkBf,MAA9C,EAAsDE,SAAtD,CAAP;AACD;;AAED,SAAOX,IAAI,CAACoB,KAAD,CAAJ,CAAYP,SAAnB;AACD;;AAED,SAASD,YAAT,CAAsBX,OAAtB,EAA+BI,UAA/B,EAA2CE,WAA3C,EAAwDP,IAAxD,EAA8DoB,KAA9D,EAAqE;AACnE,MAAI,CAACjB,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAOC,OAAO,CAACwB,YAAR,CAAqBpB,UAArB,EAAiCE,WAAjC,CAAP;AACD;;AACD,SAAON,OAAO,CAACwB,YAAR,CAAqBzB,IAAI,CAACoB,KAAD,CAAzB,CAAP;AACD","sourcesContent":["import {CompressedTextureExtractOptions, TextureLevel} from '../../types';\n\n/**\n * Extract mipmap images from compressed texture buffer\n * @param data - binary data of compressed texture or Array of level objects\n * @param options.mipMapLevels - number of mipmap level inside image\n * @param options.width - width of 0 - level\n * @param options.height - height of 0 - level\n * @param options.sizeFunction - format-related function to calculate level size in bytes\n * @param options.internalFormat - WebGL compatible format code\n * @returns Array of the texture levels\n */\nexport function extractMipmapImages(\n data: Uint8Array | Array<Object>,\n options: CompressedTextureExtractOptions\n): TextureLevel[] {\n const images = new Array(options.mipMapLevels);\n\n let levelWidth = options.width;\n let levelHeight = options.height;\n let offset = 0;\n\n for (let i = 0; i < options.mipMapLevels; ++i) {\n const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);\n const levelData = getLevelData(data, i, offset, levelSize);\n\n images[i] = {\n compressed: true,\n format: options.internalFormat,\n data: levelData,\n width: levelWidth,\n height: levelHeight,\n levelSize\n };\n\n levelWidth = Math.max(1, levelWidth >> 1);\n levelHeight = Math.max(1, levelHeight >> 1);\n\n offset += levelSize;\n }\n return images;\n}\n\nfunction getLevelData(data, index, offset, levelSize) {\n if (!Array.isArray(data)) {\n return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);\n }\n\n return data[index].levelData;\n}\n\nfunction getLevelSize(options, levelWidth, levelHeight, data, index) {\n if (!Array.isArray(data)) {\n return options.sizeFunction(levelWidth, levelHeight);\n }\n return options.sizeFunction(data[index]);\n}\n"],"file":"extract-mipmap-images.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/extract-mipmap-images.ts"],"names":["extractMipmapImages","data","options","images","Array","mipMapLevels","levelWidth","width","levelHeight","height","offset","i","levelSize","getLevelSize","levelData","getLevelData","compressed","format","internalFormat","Math","max","index","isArray","Uint8Array","buffer","byteOffset","sizeFunction"],"mappings":"AAYA,OAAO,SAASA,mBAAT,CACLC,IADK,EAELC,OAFK,EAGW;AAChB,QAAMC,MAAM,GAAG,IAAIC,KAAJ,CAAUF,OAAO,CAACG,YAAlB,CAAf;AAEA,MAAIC,UAAU,GAAGJ,OAAO,CAACK,KAAzB;AACA,MAAIC,WAAW,GAAGN,OAAO,CAACO,MAA1B;AACA,MAAIC,MAAM,GAAG,CAAb;;AAEA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGT,OAAO,CAACG,YAA5B,EAA0C,EAAEM,CAA5C,EAA+C;AAE7C,UAAMC,SAAS,GAAGC,YAAY,CAACX,OAAD,EAAUI,UAAV,EAAsBE,WAAtB,EAAmCP,IAAnC,EAAyCU,CAAzC,CAA9B;AAEA,UAAMG,SAAS,GAAGC,YAAY,CAACd,IAAD,EAAOU,CAAP,EAAUD,MAAV,EAAkBE,SAAlB,CAA9B;AAEAT,IAAAA,MAAM,CAACQ,CAAD,CAAN,GAAY;AACVK,MAAAA,UAAU,EAAE,IADF;AAEVC,MAAAA,MAAM,EAAEf,OAAO,CAACgB,cAFN;AAGVjB,MAAAA,IAAI,EAAEa,SAHI;AAIVP,MAAAA,KAAK,EAAED,UAJG;AAKVG,MAAAA,MAAM,EAAED,WALE;AAMVI,MAAAA;AANU,KAAZ;AASAN,IAAAA,UAAU,GAAGa,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYd,UAAU,IAAI,CAA1B,CAAb;AACAE,IAAAA,WAAW,GAAGW,IAAI,CAACC,GAAL,CAAS,CAAT,EAAYZ,WAAW,IAAI,CAA3B,CAAd;AAEAE,IAAAA,MAAM,IAAIE,SAAV;AACD;;AACD,SAAOT,MAAP;AACD;;AAED,SAASY,YAAT,CACEd,IADF,EAEEoB,KAFF,EAGEX,MAHF,EAIEE,SAJF,EAKc;AACZ,MAAI,CAACR,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAO,IAAIsB,UAAJ,CAAetB,IAAI,CAACuB,MAApB,EAA4BvB,IAAI,CAACwB,UAAL,GAAkBf,MAA9C,EAAsDE,SAAtD,CAAP;AACD;;AAED,SAAOX,IAAI,CAACoB,KAAD,CAAJ,CAAYP,SAAnB;AACD;;AAED,SAASD,YAAT,CACEX,OADF,EAEEI,UAFF,EAGEE,WAHF,EAIEP,IAJF,EAKEoB,KALF,EAMU;AACR,MAAI,CAACjB,KAAK,CAACkB,OAAN,CAAcrB,IAAd,CAAL,EAA0B;AACxB,WAAOC,OAAO,CAACwB,YAAR,CAAqBpB,UAArB,EAAiCE,WAAjC,CAAP;AACD;;AACD,SAAON,OAAO,CAACwB,YAAR,CAAqBzB,IAAI,CAACoB,KAAD,CAAzB,CAAP;AACD","sourcesContent":["import {CompressedTextureExtractOptions, TextureLevel} from '../../types';\n\n/**\n * Extract mipmap images from compressed texture buffer\n * @param data - binary data of compressed texture or Array of level objects\n * @param options.mipMapLevels - number of mipmap level inside image\n * @param options.width - width of 0 - level\n * @param options.height - height of 0 - level\n * @param options.sizeFunction - format-related function to calculate level size in bytes\n * @param options.internalFormat - WebGL compatible format code\n * @returns Array of the texture levels\n */\nexport function extractMipmapImages(\n data: Uint8Array | object[],\n options: CompressedTextureExtractOptions\n): TextureLevel[] {\n const images = new Array(options.mipMapLevels);\n\n let levelWidth = options.width;\n let levelHeight = options.height;\n let offset = 0;\n\n for (let i = 0; i < options.mipMapLevels; ++i) {\n // @ts-expect-error\n const levelSize = getLevelSize(options, levelWidth, levelHeight, data, i);\n // @ts-expect-error\n const levelData = getLevelData(data, i, offset, levelSize);\n\n images[i] = {\n compressed: true,\n format: options.internalFormat,\n data: levelData,\n width: levelWidth,\n height: levelHeight,\n levelSize\n };\n\n levelWidth = Math.max(1, levelWidth >> 1);\n levelHeight = Math.max(1, levelHeight >> 1);\n\n offset += levelSize;\n }\n return images;\n}\n\nfunction getLevelData(\n data: Uint8Array,\n index: number,\n offset: number,\n levelSize: number\n): Uint8Array {\n if (!Array.isArray(data)) {\n return new Uint8Array(data.buffer, data.byteOffset + offset, levelSize);\n }\n\n return data[index].levelData;\n}\n\nfunction getLevelSize(\n options: CompressedTextureExtractOptions,\n levelWidth: number,\n levelHeight: number,\n data: Uint8Array[] | object[],\n index: number\n): number {\n if (!Array.isArray(data)) {\n return options.sizeFunction(levelWidth, levelHeight);\n }\n return options.sizeFunction(data[index]);\n}\n"],"file":"extract-mipmap-images.js"}
@@ -1,71 +1,71 @@
1
- import { GL } from '../gl-constants';
1
+ import { GL_EXTENSIONS_CONSTANTS } from '../gl-extensions';
2
2
  const VULKAN_TO_WEBGL_FORMAT_MAP = {
3
- 131: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,
4
- 132: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,
5
- 133: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,
6
- 134: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
7
- 135: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,
8
- 136: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
9
- 137: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,
10
- 138: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
11
- 139: GL.COMPRESSED_RED_RGTC1_EXT,
12
- 140: GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,
13
- 141: GL.COMPRESSED_RED_GREEN_RGTC2_EXT,
14
- 142: GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
15
- 147: GL.COMPRESSED_RGB8_ETC2,
16
- 148: GL.COMPRESSED_SRGB8_ETC2,
17
- 149: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
18
- 150: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
19
- 151: GL.COMPRESSED_RGBA8_ETC2_EAC,
20
- 152: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
21
- 153: GL.COMPRESSED_R11_EAC,
22
- 154: GL.COMPRESSED_SIGNED_R11_EAC,
23
- 155: GL.COMPRESSED_RG11_EAC,
24
- 156: GL.COMPRESSED_SIGNED_RG11_EAC,
25
- 157: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
26
- 158: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
27
- 159: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
28
- 160: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
29
- 161: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
30
- 162: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
31
- 163: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
32
- 164: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
33
- 165: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
34
- 166: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
35
- 167: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
36
- 168: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
37
- 169: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
38
- 170: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
39
- 171: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
40
- 172: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
41
- 173: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
42
- 174: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
43
- 175: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
44
- 176: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
45
- 177: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
46
- 178: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
47
- 179: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
48
- 180: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
49
- 181: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
50
- 182: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
51
- 183: GL.COMPRESSED_RGBA_ASTC_12x12_KHR,
52
- 184: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
53
- 1000054000: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
54
- 1000054001: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
55
- 1000066000: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,
56
- 1000066001: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,
57
- 1000066002: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,
58
- 1000066003: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,
59
- 1000066004: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,
60
- 1000066005: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,
61
- 1000066006: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,
62
- 1000066007: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,
63
- 1000066008: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,
64
- 1000066009: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,
65
- 1000066010: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,
66
- 1000066011: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,
67
- 1000066012: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,
68
- 1000066013: GL.COMPRESSED_RGBA_ASTC_12x12_KHR
3
+ 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,
4
+ 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,
5
+ 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,
6
+ 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
7
+ 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,
8
+ 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
9
+ 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,
10
+ 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
11
+ 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,
12
+ 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,
13
+ 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,
14
+ 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,
15
+ 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,
16
+ 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,
17
+ 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,
18
+ 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,
19
+ 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,
20
+ 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,
21
+ 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,
22
+ 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,
23
+ 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,
24
+ 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,
25
+ 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
26
+ 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,
27
+ 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
28
+ 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,
29
+ 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
30
+ 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,
31
+ 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
32
+ 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,
33
+ 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
34
+ 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,
35
+ 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
36
+ 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,
37
+ 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
38
+ 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,
39
+ 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
40
+ 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,
41
+ 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
42
+ 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,
43
+ 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
44
+ 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,
45
+ 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
46
+ 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,
47
+ 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
48
+ 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,
49
+ 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
50
+ 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,
51
+ 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,
52
+ 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,
53
+ 1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
54
+ 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
55
+ 1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,
56
+ 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,
57
+ 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,
58
+ 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,
59
+ 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,
60
+ 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,
61
+ 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,
62
+ 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,
63
+ 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,
64
+ 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,
65
+ 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,
66
+ 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,
67
+ 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,
68
+ 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR
69
69
  };
70
70
  export function mapVkFormatToWebGL(vkFormat) {
71
71
  return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/ktx-format-helper.ts"],"names":["GL","VULKAN_TO_WEBGL_FORMAT_MAP","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA_ASTC_4x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR","COMPRESSED_RGBA_ASTC_5x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR","COMPRESSED_RGBA_ASTC_6x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR","COMPRESSED_RGBA_ASTC_6x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR","COMPRESSED_RGBA_ASTC_8x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR","COMPRESSED_RGBA_ASTC_8x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR","COMPRESSED_RGBA_ASTC_8x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR","COMPRESSED_RGBA_ASTC_10x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR","COMPRESSED_RGBA_ASTC_10x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR","COMPRESSED_RGBA_ASTC_10x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR","COMPRESSED_RGBA_ASTC_10x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR","COMPRESSED_RGBA_ASTC_12x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR","COMPRESSED_RGBA_ASTC_12x12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","mapVkFormatToWebGL","vkFormat"],"mappings":"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","sourcesContent":["import {GL} from '../gl-constants';\n\nconst VULKAN_TO_WEBGL_FORMAT_MAP = {\n 131: GL.COMPRESSED_RGB_S3TC_DXT1_EXT,\n 132: GL.COMPRESSED_SRGB_S3TC_DXT1_EXT,\n 133: GL.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 134: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 135: GL.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 136: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 137: GL.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 138: GL.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n 139: GL.COMPRESSED_RED_RGTC1_EXT,\n 140: GL.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 141: GL.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 142: GL.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n 147: GL.COMPRESSED_RGB8_ETC2,\n 148: GL.COMPRESSED_SRGB8_ETC2,\n 149: GL.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 150: GL.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 151: GL.COMPRESSED_RGBA8_ETC2_EAC,\n 152: GL.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 153: GL.COMPRESSED_R11_EAC,\n 154: GL.COMPRESSED_SIGNED_R11_EAC,\n 155: GL.COMPRESSED_RG11_EAC,\n 156: GL.COMPRESSED_SIGNED_RG11_EAC,\n // @ts-ignore\n 157: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 158: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n // @ts-ignore\n 159: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 160: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,\n // @ts-ignore\n 161: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 162: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n // @ts-ignore\n 163: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 164: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n // @ts-ignore\n 165: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 166: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n // @ts-ignore\n 167: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 168: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n // @ts-ignore\n 169: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 170: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n // @ts-ignore\n 171: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 172: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n // @ts-ignore\n 173: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 174: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n // @ts-ignore\n 175: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 176: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n // @ts-ignore\n 177: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 178: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n // @ts-ignore\n 179: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 180: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n // @ts-ignore\n 181: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 182: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n // @ts-ignore\n 183: GL.COMPRESSED_RGBA_ASTC_12x12_KHR,\n // @ts-ignore\n 184: GL.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n 1000054000: GL.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,\n 1000054001: GL.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,\n // @ts-ignore\n 1000066000: GL.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 1000066001: GL.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 1000066002: GL.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 1000066003: GL.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 1000066004: GL.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 1000066005: GL.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 1000066006: GL.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 1000066007: GL.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 1000066008: GL.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 1000066009: GL.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 1000066010: GL.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 1000066011: GL.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 1000066012: GL.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 1000066013: GL.COMPRESSED_RGBA_ASTC_12x12_KHR\n};\n\n/**\n * Returns WebGl format based on Vulkan format\n * Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping\n * Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html\n * @param {Number} vkFormat\n * @returns {Number}\n */\nexport function mapVkFormatToWebGL(vkFormat) {\n return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];\n}\n"],"file":"ktx-format-helper.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/ktx-format-helper.ts"],"names":["GL_EXTENSIONS_CONSTANTS","VULKAN_TO_WEBGL_FORMAT_MAP","COMPRESSED_RGB_S3TC_DXT1_EXT","COMPRESSED_SRGB_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT1_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT","COMPRESSED_RGBA_S3TC_DXT3_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT","COMPRESSED_RGBA_S3TC_DXT5_EXT","COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT","COMPRESSED_RED_RGTC1_EXT","COMPRESSED_SIGNED_RED_RGTC1_EXT","COMPRESSED_RED_GREEN_RGTC2_EXT","COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT","COMPRESSED_RGB8_ETC2","COMPRESSED_SRGB8_ETC2","COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2","COMPRESSED_RGBA8_ETC2_EAC","COMPRESSED_SRGB8_ALPHA8_ETC2_EAC","COMPRESSED_R11_EAC","COMPRESSED_SIGNED_R11_EAC","COMPRESSED_RG11_EAC","COMPRESSED_SIGNED_RG11_EAC","COMPRESSED_RGBA_ASTC_4x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR","COMPRESSED_RGBA_ASTC_5x4_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR","COMPRESSED_RGBA_ASTC_5x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR","COMPRESSED_RGBA_ASTC_6x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR","COMPRESSED_RGBA_ASTC_6x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR","COMPRESSED_RGBA_ASTC_8x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR","COMPRESSED_RGBA_ASTC_8x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR","COMPRESSED_RGBA_ASTC_8x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR","COMPRESSED_RGBA_ASTC_10x5_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR","COMPRESSED_RGBA_ASTC_10x6_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR","COMPRESSED_RGBA_ASTC_10x8_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR","COMPRESSED_RGBA_ASTC_10x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR","COMPRESSED_RGBA_ASTC_12x10_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR","COMPRESSED_RGBA_ASTC_12x12_KHR","COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR","COMPRESSED_RGBA_PVRTC_2BPPV1_IMG","COMPRESSED_RGBA_PVRTC_4BPPV1_IMG","mapVkFormatToWebGL","vkFormat"],"mappings":"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","sourcesContent":["import {GL_EXTENSIONS_CONSTANTS} from '../gl-extensions';\n\nconst VULKAN_TO_WEBGL_FORMAT_MAP: Record<number, number> = {\n 131: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB_S3TC_DXT1_EXT,\n 132: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_S3TC_DXT1_EXT,\n 133: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT1_EXT,\n 134: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,\n 135: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT3_EXT,\n 136: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,\n 137: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_S3TC_DXT5_EXT,\n 138: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,\n 139: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_RGTC1_EXT,\n 140: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_RGTC1_EXT,\n 141: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RED_GREEN_RGTC2_EXT,\n 142: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT,\n 147: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_ETC2,\n 148: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ETC2,\n 149: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 150: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2,\n 151: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA8_ETC2_EAC,\n 152: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ETC2_EAC,\n 153: GL_EXTENSIONS_CONSTANTS.COMPRESSED_R11_EAC,\n 154: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_R11_EAC,\n 155: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RG11_EAC,\n 156: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SIGNED_RG11_EAC,\n // @ts-ignore\n 157: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 158: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR,\n // @ts-ignore\n 159: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 160: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR,\n // @ts-ignore\n 161: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 162: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR,\n // @ts-ignore\n 163: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 164: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR,\n // @ts-ignore\n 165: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 166: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR,\n // @ts-ignore\n 167: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 168: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR,\n // @ts-ignore\n 169: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 170: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR,\n // @ts-ignore\n 171: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 172: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR,\n // @ts-ignore\n 173: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 174: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR,\n // @ts-ignore\n 175: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 176: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR,\n // @ts-ignore\n 177: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 178: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR,\n // @ts-ignore\n 179: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 180: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR,\n // @ts-ignore\n 181: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 182: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR,\n // @ts-ignore\n 183: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR,\n // @ts-ignore\n 184: GL_EXTENSIONS_CONSTANTS.COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR,\n 1000054000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,\n 1000054001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,\n // @ts-ignore\n 1000066000: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_4x4_KHR,\n // @ts-ignore\n 1000066001: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x4_KHR,\n // @ts-ignore\n 1000066002: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_5x5_KHR,\n // @ts-ignore\n 1000066003: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x5_KHR,\n // @ts-ignore\n 1000066004: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_6x6_KHR,\n // @ts-ignore\n 1000066005: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x5_KHR,\n // @ts-ignore\n 1000066006: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x6_KHR,\n // @ts-ignore\n 1000066007: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_8x8_KHR,\n // @ts-ignore\n 1000066008: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x5_KHR,\n // @ts-ignore\n 1000066009: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x6_KHR,\n // @ts-ignore\n 1000066010: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x8_KHR,\n // @ts-ignore\n 1000066011: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_10x10_KHR,\n // @ts-ignore\n 1000066012: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x10_KHR,\n // @ts-ignore\n 1000066013: GL_EXTENSIONS_CONSTANTS.COMPRESSED_RGBA_ASTC_12x12_KHR\n};\n\n/**\n * Returns WebGl format based on Vulkan format\n * Vulkan to WebGl format mapping provided here http://github.khronos.org/KTX-Specification/#formatMapping\n * Vulkan name to format number mapping provided here: https://www.khronos.org/registry/vulkan/specs/1.2-extensions/man/html/VkFormat.html\n * @param vkFormat\n * @returns WebGL / OpenGL constant\n */\nexport function mapVkFormatToWebGL(vkFormat: number): number {\n return VULKAN_TO_WEBGL_FORMAT_MAP[vkFormat];\n}\n"],"file":"ktx-format-helper.js"}
@@ -1,2 +1,2 @@
1
- export const VERSION = typeof "3.1.0-alpha.5" !== 'undefined' ? "3.1.0-alpha.5" : 'beta';
1
+ export const VERSION = typeof "3.1.0-beta.5" !== 'undefined' ? "3.1.0-beta.5" : 'beta';
2
2
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/lib/utils/version.ts"],"names":["VERSION"],"mappings":"AAIA,OAAO,MAAMA,OAAO,GAAG,2BAAuB,WAAvB,qBAAmD,MAAnE","sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// TODO: use 'latest' instead of 'beta' when 3.0.0 version is released as 'latest'\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n"],"file":"version.js"}
1
+ {"version":3,"sources":["../../../../src/lib/utils/version.ts"],"names":["VERSION"],"mappings":"AAIA,OAAO,MAAMA,OAAO,GAAG,0BAAuB,WAAvB,oBAAmD,MAAnE","sourcesContent":["// Version constant cannot be imported, it needs to correspond to the build version of **this** module.\n// __VERSION__ is injected by babel-plugin-version-inline\n// TODO: use 'latest' instead of 'beta' when 3.0.0 version is released as 'latest'\n// @ts-ignore TS2304: Cannot find name '__VERSION__'.\nexport const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';\n"],"file":"version.js"}
@@ -1,6 +1,6 @@
1
- # Basis decoder
1
+ # Basis transcoder/encoder
2
2
 
3
- Version 1.12
3
+ Version 1.15
4
4
 
5
5
  [Website](https://github.com/BinomialLLC/basis_universal)
6
6
 
@@ -1,4 +1,4 @@
1
-
1
+ // @ts-nocheck
2
2
  var BASIS = (function() {
3
3
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
4
4
  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
@@ -1,4 +1,4 @@
1
-
1
+ // @ts-nocheck
2
2
  var BASIS = (function () {
3
3
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
4
4
  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
@@ -1,3 +1,4 @@
1
+ // @ts-nocheck
1
2
  // Shim to provide workers a usable "window" object.
2
3
  window = this;
3
4
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/npy-loader.ts"],"names":["VERSION","parseNPY","NPY_MAGIC_NUMBER","Uint8Array","NPYWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","tests","buffer","options","npy","NPYLoader","parseSync","parse","arrayBuffer","_TypecheckNPYWorkerLoader","_TypecheckNPYLoader"],"mappings":"AACA,SAAQA,OAAR,QAAsB,qBAAtB;AACA,SAAQC,QAAR,QAAuB,yBAAvB;AAGA,MAAMC,gBAAgB,GAAG,IAAIC,UAAJ,CAAe,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,EAAc,EAAd,EAAkB,EAAlB,EAAsB,EAAtB,CAAf,CAAzB;AAKA,OAAO,MAAMC,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAE,KADuB;AAE7BC,EAAAA,EAAE,EAAE,KAFyB;AAG7BC,EAAAA,MAAM,EAAE,UAHqB;AAI7BC,EAAAA,OAAO,EAAER,OAJoB;AAK7BS,EAAAA,MAAM,EAAE,IALqB;AAM7BC,EAAAA,UAAU,EAAE,CAAC,KAAD,CANiB;AAO7BC,EAAAA,SAAS,EAAE,EAPkB;AAQ7BC,EAAAA,KAAK,EAAE,CAACV,gBAAgB,CAACW,MAAlB,CARsB;AAS7BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AADE;AAToB,CAAxB;AAiBP,OAAO,MAAMC,SAAS,GAAG,EACvB,GAAGZ,eADoB;AAEvBa,EAAAA,SAAS,EAAEhB,QAFY;AAGvBiB,EAAAA,KAAK,EAAE,OAAOC,WAAP,EAAoBL,OAApB,KAAgCb,QAAQ,CAACkB,WAAD,EAAcL,OAAd;AAHxB,CAAlB;AAOP,OAAO,MAAMM,yBAAiC,GAAGhB,eAA1C;AACP,OAAO,MAAMiB,mBAAqC,GAAGL,SAA9C","sourcesContent":["import type {Loader, LoaderWithParser} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseNPY} from './lib/parsers/parse-npy';\n\n// \\x93NUMPY\nconst NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);\n\n/**\n * Worker loader for numpy \"tiles\"\n */\nexport const NPYWorkerLoader = {\n name: 'NPY',\n id: 'npy',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['npy'],\n mimeTypes: [],\n tests: [NPY_MAGIC_NUMBER.buffer],\n options: {\n npy: {}\n }\n};\n\n/**\n * Loader for numpy \"tiles\"\n */\nexport const NPYLoader = {\n ...NPYWorkerLoader,\n parseSync: parseNPY,\n parse: async (arrayBuffer, options) => parseNPY(arrayBuffer, options)\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckNPYWorkerLoader: Loader = NPYWorkerLoader;\nexport const _TypecheckNPYLoader: LoaderWithParser = NPYLoader;\n"],"file":"npy-loader.js"}
1
+ {"version":3,"sources":["../../src/npy-loader.ts"],"names":["VERSION","parseNPY","NPY_MAGIC_NUMBER","Uint8Array","NPYWorkerLoader","name","id","module","version","worker","extensions","mimeTypes","tests","buffer","options","npy","NPYLoader","parseSync","parse","arrayBuffer","_TypecheckNPYWorkerLoader","_TypecheckNPYLoader"],"mappings":"AACA,SAAQA,OAAR,QAAsB,qBAAtB;AACA,SAAQC,QAAR,QAAuB,yBAAvB;AAGA,MAAMC,gBAAgB,GAAG,IAAIC,UAAJ,CAAe,CAAC,GAAD,EAAM,EAAN,EAAU,EAAV,EAAc,EAAd,EAAkB,EAAlB,EAAsB,EAAtB,CAAf,CAAzB;AAKA,OAAO,MAAMC,eAAe,GAAG;AAC7BC,EAAAA,IAAI,EAAE,KADuB;AAE7BC,EAAAA,EAAE,EAAE,KAFyB;AAG7BC,EAAAA,MAAM,EAAE,UAHqB;AAI7BC,EAAAA,OAAO,EAAER,OAJoB;AAK7BS,EAAAA,MAAM,EAAE,IALqB;AAM7BC,EAAAA,UAAU,EAAE,CAAC,KAAD,CANiB;AAO7BC,EAAAA,SAAS,EAAE,EAPkB;AAQ7BC,EAAAA,KAAK,EAAE,CAACV,gBAAgB,CAACW,MAAlB,CARsB;AAS7BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,GAAG,EAAE;AADE;AAToB,CAAxB;AAiBP,OAAO,MAAMC,SAAS,GAAG,EACvB,GAAGZ,eADoB;AAEvBa,EAAAA,SAAS,EAAEhB,QAFY;AAGvBiB,EAAAA,KAAK,EAAE,OAAOC,WAAP,EAAiCL,OAAjC,KAA6Db,QAAQ,CAACkB,WAAD,EAAcL,OAAd;AAHrD,CAAlB;AAOP,OAAO,MAAMM,yBAAiC,GAAGhB,eAA1C;AACP,OAAO,MAAMiB,mBAAqC,GAAGL,SAA9C","sourcesContent":["import type {Loader, LoaderWithParser, LoaderOptions} from '@loaders.gl/loader-utils';\nimport {VERSION} from './lib/utils/version';\nimport {parseNPY} from './lib/parsers/parse-npy';\n\n// \\x93NUMPY\nconst NPY_MAGIC_NUMBER = new Uint8Array([147, 78, 85, 77, 80, 89]);\n\n/**\n * Worker loader for numpy \"tiles\"\n */\nexport const NPYWorkerLoader = {\n name: 'NPY',\n id: 'npy',\n module: 'textures',\n version: VERSION,\n worker: true,\n extensions: ['npy'],\n mimeTypes: [],\n tests: [NPY_MAGIC_NUMBER.buffer],\n options: {\n npy: {}\n }\n};\n\n/**\n * Loader for numpy \"tiles\"\n */\nexport const NPYLoader = {\n ...NPYWorkerLoader,\n parseSync: parseNPY,\n parse: async (arrayBuffer: ArrayBuffer, options?: LoaderOptions) => parseNPY(arrayBuffer, options)\n};\n\n// TYPE TESTS - TODO find a better way than exporting junk\nexport const _TypecheckNPYWorkerLoader: Loader = NPYWorkerLoader;\nexport const _TypecheckNPYLoader: LoaderWithParser = NPYLoader;\n"],"file":"npy-loader.js"}
package/dist/index.d.ts CHANGED
@@ -9,7 +9,8 @@ export { KTX2BasisUniversalTextureWriter } from './ktx2-basis-universal-texture-
9
9
  export { loadImageTexture } from './lib/texture-api/load-image';
10
10
  export { loadImageTextureArray } from './lib/texture-api/load-image-array';
11
11
  export { loadImageTextureCube } from './lib/texture-api/load-image-cube';
12
- export { GL as GL_CONSTANTS } from './lib/gl-constants';
12
+ export { GL_EXTENSIONS_CONSTANTS } from './lib/gl-extensions';
13
13
  export { selectSupportedBasisFormat } from './lib/parsers/parse-basis';
14
14
  export { getSupportedGPUTextureFormats } from './lib/utils/texture-formats';
15
15
  export { CrunchLoader as CrunchWorkerLoader } from './crunch-loader';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AAC9C,YAAY,EAAC,oBAAoB,EAAC,MAAM,6BAA6B,CAAC;AAGtE,OAAO,EAAC,WAAW,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAE,6BAA6B,EAAC,MAAM,6BAA6B,CAAC;AACnG,OAAO,EAAC,YAAY,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,SAAS,EAAE,eAAe,EAAC,MAAM,cAAc,CAAC;AAGxD,OAAO,EAAC,uBAAuB,EAAC,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAC,+BAA+B,EAAC,MAAM,uCAAuC,CAAC;AAGtF,OAAO,EAAC,gBAAgB,EAAC,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAC,qBAAqB,EAAC,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAC,oBAAoB,EAAC,MAAM,mCAAmC,CAAC;AAGvE,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAC,0BAA0B,EAAC,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAC,6BAA6B,EAAC,MAAM,6BAA6B,CAAC;AAG1E,OAAO,EAAC,YAAY,IAAI,kBAAkB,EAAC,MAAM,iBAAiB,CAAC"}