@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
package/dist/index.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CrunchWorkerLoader = exports.getSupportedGPUTextureFormats = exports.selectSupportedBasisFormat = exports.GL_EXTENSIONS_CONSTANTS = exports.loadImageTextureCube = exports.loadImageTextureArray = exports.loadImageTexture = exports.KTX2BasisUniversalTextureWriter = exports.CompressedTextureWriter = exports.NPYWorkerLoader = exports.NPYLoader = exports.CrunchLoader = exports.CompressedTextureWorkerLoader = exports.CompressedTextureLoader = exports.BasisWorkerLoader = exports.BasisLoader = void 0;
4
+ // Loaders
5
+ var basis_loader_1 = require("./basis-loader");
6
+ Object.defineProperty(exports, "BasisLoader", { enumerable: true, get: function () { return basis_loader_1.BasisLoader; } });
7
+ Object.defineProperty(exports, "BasisWorkerLoader", { enumerable: true, get: function () { return basis_loader_1.BasisWorkerLoader; } });
8
+ var compressed_texture_loader_1 = require("./compressed-texture-loader");
9
+ Object.defineProperty(exports, "CompressedTextureLoader", { enumerable: true, get: function () { return compressed_texture_loader_1.CompressedTextureLoader; } });
10
+ Object.defineProperty(exports, "CompressedTextureWorkerLoader", { enumerable: true, get: function () { return compressed_texture_loader_1.CompressedTextureWorkerLoader; } });
11
+ var crunch_loader_1 = require("./crunch-loader");
12
+ Object.defineProperty(exports, "CrunchLoader", { enumerable: true, get: function () { return crunch_loader_1.CrunchLoader; } });
13
+ var npy_loader_1 = require("./npy-loader");
14
+ Object.defineProperty(exports, "NPYLoader", { enumerable: true, get: function () { return npy_loader_1.NPYLoader; } });
15
+ Object.defineProperty(exports, "NPYWorkerLoader", { enumerable: true, get: function () { return npy_loader_1.NPYWorkerLoader; } });
16
+ // Writers
17
+ var compressed_texture_writer_1 = require("./compressed-texture-writer");
18
+ Object.defineProperty(exports, "CompressedTextureWriter", { enumerable: true, get: function () { return compressed_texture_writer_1.CompressedTextureWriter; } });
19
+ var ktx2_basis_universal_texture_writer_1 = require("./ktx2-basis-universal-texture-writer");
20
+ Object.defineProperty(exports, "KTX2BasisUniversalTextureWriter", { enumerable: true, get: function () { return ktx2_basis_universal_texture_writer_1.KTX2BasisUniversalTextureWriter; } });
21
+ // Texture Loading API
22
+ var load_image_1 = require("./lib/texture-api/load-image");
23
+ Object.defineProperty(exports, "loadImageTexture", { enumerable: true, get: function () { return load_image_1.loadImageTexture; } });
24
+ var load_image_array_1 = require("./lib/texture-api/load-image-array");
25
+ Object.defineProperty(exports, "loadImageTextureArray", { enumerable: true, get: function () { return load_image_array_1.loadImageTextureArray; } });
26
+ var load_image_cube_1 = require("./lib/texture-api/load-image-cube");
27
+ Object.defineProperty(exports, "loadImageTextureCube", { enumerable: true, get: function () { return load_image_cube_1.loadImageTextureCube; } });
28
+ // Utilities
29
+ var gl_extensions_1 = require("./lib/gl-extensions");
30
+ Object.defineProperty(exports, "GL_EXTENSIONS_CONSTANTS", { enumerable: true, get: function () { return gl_extensions_1.GL_EXTENSIONS_CONSTANTS; } });
31
+ var parse_basis_1 = require("./lib/parsers/parse-basis");
32
+ Object.defineProperty(exports, "selectSupportedBasisFormat", { enumerable: true, get: function () { return parse_basis_1.selectSupportedBasisFormat; } });
33
+ var texture_formats_1 = require("./lib/utils/texture-formats");
34
+ Object.defineProperty(exports, "getSupportedGPUTextureFormats", { enumerable: true, get: function () { return texture_formats_1.getSupportedGPUTextureFormats; } });
35
+ // DEPRECATED
36
+ var crunch_loader_2 = require("./crunch-loader");
37
+ Object.defineProperty(exports, "CrunchWorkerLoader", { enumerable: true, get: function () { return crunch_loader_2.CrunchLoader; } });
@@ -19,3 +19,4 @@ export declare const KTX2BasisUniversalTextureWriter: {
19
19
  encode: typeof encodeKTX2BasisTexture;
20
20
  };
21
21
  export declare const _TypecheckKTX2TextureWriter: Writer;
22
+ //# sourceMappingURL=ktx2-basis-universal-texture-writer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ktx2-basis-universal-texture-writer.d.ts","sourceRoot":"","sources":["../src/ktx2-basis-universal-texture-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAErD,OAAO,EAAC,sBAAsB,EAAC,MAAM,0CAA0C,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;CAe3C,CAAC;AAGF,eAAO,MAAM,2BAA2B,EAAE,MAAwC,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._TypecheckKTX2TextureWriter = exports.KTX2BasisUniversalTextureWriter = void 0;
4
+ const version_1 = require("./lib/utils/version");
5
+ const encode_ktx2_basis_texture_1 = require("./lib/encoders/encode-ktx2-basis-texture");
6
+ /**
7
+ * Basis Universal Supercompressed GPU Texture.
8
+ * Spec - https://github.com/Esri/i3s-spec/blob/master/docs/1.8/textureSetDefinitionFormat.cmn.md
9
+ */
10
+ exports.KTX2BasisUniversalTextureWriter = {
11
+ name: 'Basis Universal Supercompressed GPU Texture',
12
+ id: 'ktx2-basis-supercompressed-texture',
13
+ module: 'textures',
14
+ version: version_1.VERSION,
15
+ extensions: ['ktx2'],
16
+ options: {
17
+ useSRGB: false,
18
+ qualityLevel: 10,
19
+ encodeUASTC: false,
20
+ mipmaps: false
21
+ },
22
+ encode: encode_ktx2_basis_texture_1.encodeKTX2BasisTexture
23
+ };
24
+ // TYPE TESTS - TODO find a better way than exporting junk
25
+ exports._TypecheckKTX2TextureWriter = exports.KTX2BasisUniversalTextureWriter;
@@ -1 +1,2 @@
1
1
  export declare function encodeKTX(texture: any): import("ktx-parse").KTX2Container;
2
+ //# sourceMappingURL=encode-ktx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-ktx.d.ts","sourceRoot":"","sources":["../../../src/lib/encoders/encode-ktx.ts"],"names":[],"mappings":"AAEA,wBAAgB,SAAS,CAAC,OAAO,KAAA,qCAIhC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeKTX = void 0;
4
+ const ktx_parse_1 = require("ktx-parse");
5
+ function encodeKTX(texture) {
6
+ const ktx = (0, ktx_parse_1.read)(texture);
7
+ // post process
8
+ return ktx;
9
+ }
10
+ exports.encodeKTX = encodeKTX;
@@ -7,3 +7,4 @@ import type { ImageDataType } from '@loaders.gl/images';
7
7
  * @param options
8
8
  */
9
9
  export declare function encodeKTX2BasisTexture(image: ImageDataType, options?: any): Promise<Uint8Array>;
10
+ //# sourceMappingURL=encode-ktx2-basis-texture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-ktx2-basis-texture.d.ts","sourceRoot":"","sources":["../../../src/lib/encoders/encode-ktx2-basis-texture.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAGtD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,GAAQ,GAChB,OAAO,CAAC,UAAU,CAAC,CA8BrB"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeKTX2BasisTexture = void 0;
4
+ const basis_module_loader_1 = require("../parsers/basis-module-loader");
5
+ /**
6
+ * Encodes image to Basis Universal Supercompressed GPU Texture.
7
+ * Code example is taken from here - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/ktx2_encode_test/index.html#L279
8
+ * BasisEncoder API - https://github.com/BinomialLLC/basis_universal/blob/master/webgl/transcoder/basis_wrappers.cpp#L1712
9
+ * @param image
10
+ * @param options
11
+ */
12
+ async function encodeKTX2BasisTexture(image, options = {}) {
13
+ // TODO remove default values after writer options will be normalized like it done in load module.
14
+ const { useSRGB = false, qualityLevel = 10, encodeUASTC = false, mipmaps = false } = options;
15
+ const { BasisEncoder } = await (0, basis_module_loader_1.loadBasisEncoderModule)(options);
16
+ const basisEncoder = new BasisEncoder();
17
+ try {
18
+ const basisFileData = new Uint8Array(image.width * image.height * 4);
19
+ basisEncoder.setCreateKTX2File(true);
20
+ basisEncoder.setKTX2UASTCSupercompression(true);
21
+ basisEncoder.setKTX2SRGBTransferFunc(true);
22
+ basisEncoder.setSliceSourceImage(0, image.data, image.width, image.height, false);
23
+ basisEncoder.setPerceptual(useSRGB);
24
+ basisEncoder.setMipSRGB(useSRGB);
25
+ basisEncoder.setQualityLevel(qualityLevel);
26
+ basisEncoder.setUASTC(encodeUASTC);
27
+ basisEncoder.setMipGen(mipmaps);
28
+ const numOutputBytes = basisEncoder.encode(basisFileData);
29
+ const actualKTX2FileData = new Uint8Array(basisFileData.buffer, 0, numOutputBytes);
30
+ return actualKTX2FileData;
31
+ }
32
+ catch (error) {
33
+ // eslint-disable-next-line no-console
34
+ console.error('Basis Universal Supercompressed GPU Texture encoder Error: ', error);
35
+ throw error;
36
+ }
37
+ finally {
38
+ basisEncoder.delete();
39
+ }
40
+ }
41
+ exports.encodeKTX2BasisTexture = encodeKTX2BasisTexture;
@@ -1 +1,2 @@
1
1
  export declare function encodeImageURLToCompressedTextureURL(inputUrl: any, outputUrl: any): Promise<any>;
2
+ //# sourceMappingURL=encode-texture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode-texture.d.ts","sourceRoot":"","sources":["../../../src/lib/encoders/encode-texture.ts"],"names":[],"mappings":"AAOA,wBAAsB,oCAAoC,CAAC,QAAQ,KAAA,EAAE,SAAS,KAAA,gBAoB7E"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.encodeImageURLToCompressedTextureURL = void 0;
4
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
5
+ const MODULE_ROOT = `${__dirname}/../../..`;
6
+ /*
7
+ * @see https://github.com/TimvanScherpenzeel/texture-compressor
8
+ */
9
+ async function encodeImageURLToCompressedTextureURL(inputUrl, outputUrl) {
10
+ // prettier-ignore
11
+ const args = [
12
+ // Note: our actual executable is `npx`, so `texture-compressor` is an argument
13
+ 'texture-compressor',
14
+ '--type', 's3tc',
15
+ '--compression', 'DXT1',
16
+ '--quality', 'normal',
17
+ '--input', inputUrl,
18
+ '--output', outputUrl
19
+ ];
20
+ const childProcess = new worker_utils_1.ChildProcessProxy();
21
+ await childProcess.start({
22
+ command: 'npx',
23
+ arguments: args,
24
+ spawn: {
25
+ cwd: MODULE_ROOT
26
+ }
27
+ });
28
+ return outputUrl;
29
+ }
30
+ exports.encodeImageURLToCompressedTextureURL = encodeImageURLToCompressedTextureURL;
@@ -1,4 +1,4 @@
1
- export declare const GL: {
1
+ export declare const GL_EXTENSIONS_CONSTANTS: {
2
2
  COMPRESSED_RGB_S3TC_DXT1_EXT: number;
3
3
  COMPRESSED_RGBA_S3TC_DXT1_EXT: number;
4
4
  COMPRESSED_RGBA_S3TC_DXT3_EXT: number;
@@ -58,3 +58,4 @@ export declare const GL: {
58
58
  COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: number;
59
59
  COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: number;
60
60
  };
61
+ //# sourceMappingURL=gl-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gl-extensions.d.ts","sourceRoot":"","sources":["../../src/lib/gl-extensions.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkFnC,CAAC"}
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GL_EXTENSIONS_CONSTANTS = void 0;
4
+ /* eslint-disable camelcase */
5
+ exports.GL_EXTENSIONS_CONSTANTS = {
6
+ // WEBGL_compressed_texture_s3tc
7
+ COMPRESSED_RGB_S3TC_DXT1_EXT: 0x83f0,
8
+ COMPRESSED_RGBA_S3TC_DXT1_EXT: 0x83f1,
9
+ COMPRESSED_RGBA_S3TC_DXT3_EXT: 0x83f2,
10
+ COMPRESSED_RGBA_S3TC_DXT5_EXT: 0x83f3,
11
+ // WEBGL_compressed_texture_es3
12
+ COMPRESSED_R11_EAC: 0x9270,
13
+ COMPRESSED_SIGNED_R11_EAC: 0x9271,
14
+ COMPRESSED_RG11_EAC: 0x9272,
15
+ COMPRESSED_SIGNED_RG11_EAC: 0x9273,
16
+ COMPRESSED_RGB8_ETC2: 0x9274,
17
+ COMPRESSED_RGBA8_ETC2_EAC: 0x9275,
18
+ COMPRESSED_SRGB8_ETC2: 0x9276,
19
+ COMPRESSED_SRGB8_ALPHA8_ETC2_EAC: 0x9277,
20
+ COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9278,
21
+ COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2: 0x9279,
22
+ // WEBGL_compressed_texture_pvrtc
23
+ COMPRESSED_RGB_PVRTC_4BPPV1_IMG: 0x8c00,
24
+ COMPRESSED_RGBA_PVRTC_4BPPV1_IMG: 0x8c02,
25
+ COMPRESSED_RGB_PVRTC_2BPPV1_IMG: 0x8c01,
26
+ COMPRESSED_RGBA_PVRTC_2BPPV1_IMG: 0x8c03,
27
+ // WEBGL_compressed_texture_etc1
28
+ COMPRESSED_RGB_ETC1_WEBGL: 0x8d64,
29
+ // WEBGL_compressed_texture_atc
30
+ COMPRESSED_RGB_ATC_WEBGL: 0x8c92,
31
+ COMPRESSED_RGBA_ATC_EXPLICIT_ALPHA_WEBGL: 0x8c93,
32
+ COMPRESSED_RGBA_ATC_INTERPOLATED_ALPHA_WEBGL: 0x87ee,
33
+ // WEBGL_compressed_texture_astc
34
+ COMPRESSED_RGBA_ASTC_4X4_KHR: 0x93b0,
35
+ COMPRESSED_RGBA_ASTC_5X4_KHR: 0x93b1,
36
+ COMPRESSED_RGBA_ASTC_5X5_KHR: 0x93b2,
37
+ COMPRESSED_RGBA_ASTC_6X5_KHR: 0x93b3,
38
+ COMPRESSED_RGBA_ASTC_6X6_KHR: 0x93b4,
39
+ COMPRESSED_RGBA_ASTC_8X5_KHR: 0x93b5,
40
+ COMPRESSED_RGBA_ASTC_8X6_KHR: 0x93b6,
41
+ COMPRESSED_RGBA_ASTC_8X8_KHR: 0x93b7,
42
+ COMPRESSED_RGBA_ASTC_10X5_KHR: 0x93b8,
43
+ COMPRESSED_RGBA_ASTC_10X6_KHR: 0x93b9,
44
+ COMPRESSED_RGBA_ASTC_10X8_KHR: 0x93ba,
45
+ COMPRESSED_RGBA_ASTC_10X10_KHR: 0x93bb,
46
+ COMPRESSED_RGBA_ASTC_12X10_KHR: 0x93bc,
47
+ COMPRESSED_RGBA_ASTC_12X12_KHR: 0x93bd,
48
+ COMPRESSED_SRGB8_ALPHA8_ASTC_4X4_KHR: 0x93d0,
49
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X4_KHR: 0x93d1,
50
+ COMPRESSED_SRGB8_ALPHA8_ASTC_5X5_KHR: 0x93d2,
51
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X5_KHR: 0x93d3,
52
+ COMPRESSED_SRGB8_ALPHA8_ASTC_6X6_KHR: 0x93d4,
53
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X5_KHR: 0x93d5,
54
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X6_KHR: 0x93d6,
55
+ COMPRESSED_SRGB8_ALPHA8_ASTC_8X8_KHR: 0x93d7,
56
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X5_KHR: 0x93d8,
57
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X6_KHR: 0x93d9,
58
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X8_KHR: 0x93da,
59
+ COMPRESSED_SRGB8_ALPHA8_ASTC_10X10_KHR: 0x93db,
60
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X10_KHR: 0x93dc,
61
+ COMPRESSED_SRGB8_ALPHA8_ASTC_12X12_KHR: 0x93dd,
62
+ // EXT_texture_compression_rgtc
63
+ COMPRESSED_RED_RGTC1_EXT: 0x8dbb,
64
+ COMPRESSED_SIGNED_RED_RGTC1_EXT: 0x8dbc,
65
+ COMPRESSED_RED_GREEN_RGTC2_EXT: 0x8dbd,
66
+ COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT: 0x8dbe,
67
+ // WEBGL_compressed_texture_s3tc_srgb
68
+ COMPRESSED_SRGB_S3TC_DXT1_EXT: 0x8c4c,
69
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT: 0x8c4d,
70
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT: 0x8c4e,
71
+ COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT: 0x8c4f
72
+ };
@@ -10,3 +10,4 @@ export declare function loadBasisTrascoderModule(options: any): Promise<any>;
10
10
  * @returns {BasisFile, KTX2File} promise
11
11
  */
12
12
  export declare function loadBasisEncoderModule(options: any): Promise<any>;
13
+ //# sourceMappingURL=basis-module-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basis-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/basis-module-loader.ts"],"names":[],"mappings":"AAYA;;;;GAIG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,KAAA,gBAQrD;AA+CD;;;;GAIG;AACH,wBAAsB,sBAAsB,CAAC,OAAO,KAAA,gBAQnD"}
@@ -0,0 +1,114 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadBasisEncoderModule = exports.loadBasisTrascoderModule = void 0;
4
+ // __VERSION__ is injected by babel-plugin-version-inline
5
+ // @ts-ignore TS2304: Cannot find name '__VERSION__'.
6
+ const VERSION = typeof __VERSION__ !== 'undefined' ? __VERSION__ : 'beta';
7
+ // @ts-nocheck
8
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
9
+ const BASIS_CDN_ENCODER_WASM = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.wasm`;
10
+ const BASIS_CDN_ENCODER_JS = `https://unpkg.com/@loaders.gl/textures@${VERSION}/dist/libs/basis_encoder.js`;
11
+ let loadBasisTranscoderPromise;
12
+ /**
13
+ * Loads wasm transcoder module
14
+ * @param options
15
+ * @returns {BasisFile} promise
16
+ */
17
+ async function loadBasisTrascoderModule(options) {
18
+ const modules = options.modules || {};
19
+ if (modules.basis) {
20
+ return modules.basis;
21
+ }
22
+ loadBasisTranscoderPromise = loadBasisTranscoderPromise || loadBasisTrascoder(options);
23
+ return await loadBasisTranscoderPromise;
24
+ }
25
+ exports.loadBasisTrascoderModule = loadBasisTrascoderModule;
26
+ /**
27
+ * Loads wasm transcoder module
28
+ * @param options
29
+ * @returns {BasisFile} promise
30
+ */
31
+ async function loadBasisTrascoder(options) {
32
+ let BASIS = null;
33
+ let wasmBinary = null;
34
+ [BASIS, wasmBinary] = await Promise.all([
35
+ await (0, worker_utils_1.loadLibrary)('basis_transcoder.js', 'textures', options),
36
+ await (0, worker_utils_1.loadLibrary)('basis_transcoder.wasm', 'textures', options)
37
+ ]);
38
+ // Depends on how import happened...
39
+ // @ts-ignore TS2339: Property does not exist on type
40
+ BASIS = BASIS || globalThis.BASIS;
41
+ return await initializeBasisTrascoderModule(BASIS, wasmBinary);
42
+ }
43
+ /**
44
+ * Initialize wasm transcoder module
45
+ * @param BasisModule - js part of the module
46
+ * @param wasmBinary - wasm part of the module
47
+ * @returns {BasisFile} promise
48
+ */
49
+ function initializeBasisTrascoderModule(BasisModule, wasmBinary) {
50
+ const options = {};
51
+ if (wasmBinary) {
52
+ options.wasmBinary = wasmBinary;
53
+ }
54
+ return new Promise((resolve) => {
55
+ // if you try to return BasisModule the browser crashes!
56
+ BasisModule(options).then((module) => {
57
+ const { BasisFile, initializeBasis } = module;
58
+ initializeBasis();
59
+ resolve({ BasisFile });
60
+ });
61
+ });
62
+ }
63
+ let loadBasisEncoderPromise;
64
+ /**
65
+ * Loads wasm encoder module
66
+ * @param options
67
+ * @returns {BasisFile, KTX2File} promise
68
+ */
69
+ async function loadBasisEncoderModule(options) {
70
+ const modules = options.modules || {};
71
+ if (modules.basisEncoder) {
72
+ return modules.basisEncoder;
73
+ }
74
+ loadBasisEncoderPromise = loadBasisEncoderPromise || loadBasisEncoder(options);
75
+ return await loadBasisEncoderPromise;
76
+ }
77
+ exports.loadBasisEncoderModule = loadBasisEncoderModule;
78
+ /**
79
+ * Loads wasm encoder module
80
+ * @param options
81
+ * @returns {BasisFile, KTX2File} promise
82
+ */
83
+ async function loadBasisEncoder(options) {
84
+ let BASIS_ENCODER = null;
85
+ let wasmBinary = null;
86
+ [BASIS_ENCODER, wasmBinary] = await Promise.all([
87
+ await (0, worker_utils_1.loadLibrary)(BASIS_CDN_ENCODER_JS, 'textures', options),
88
+ await (0, worker_utils_1.loadLibrary)(BASIS_CDN_ENCODER_WASM, 'textures', options)
89
+ ]);
90
+ // Depends on how import happened...
91
+ // @ts-ignore TS2339: Property does not exist on type
92
+ BASIS_ENCODER = BASIS_ENCODER || globalThis.BASIS;
93
+ return await initializeBasisEncoderModule(BASIS_ENCODER, wasmBinary);
94
+ }
95
+ /**
96
+ * Initialize wasm transcoder module
97
+ * @param BasisEncoderModule - js part of the module
98
+ * @param wasmBinary - wasm part of the module
99
+ * @returns {BasisFile, KTX2File} promise
100
+ */
101
+ function initializeBasisEncoderModule(BasisEncoderModule, wasmBinary) {
102
+ const options = {};
103
+ if (wasmBinary) {
104
+ options.wasmBinary = wasmBinary;
105
+ }
106
+ return new Promise((resolve) => {
107
+ // if you try to return BasisModule the browser crashes!
108
+ BasisEncoderModule(options).then((module) => {
109
+ const { BasisFile, KTX2File, initializeBasis, BasisEncoder } = module;
110
+ initializeBasis();
111
+ resolve({ BasisFile, KTX2File, BasisEncoder });
112
+ });
113
+ });
114
+ }
@@ -4,3 +4,4 @@
4
4
  * @returns Promise of module object
5
5
  */
6
6
  export declare function loadCrunchModule(options: any): Promise<any>;
7
+ //# sourceMappingURL=crunch-module-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crunch-module-loader.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/crunch-module-loader.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,OAAO,KAAA,GAAG,OAAO,CAAC,GAAG,CAAC,CAO5D"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadCrunchModule = void 0;
4
+ // @ts-nocheck
5
+ const worker_utils_1 = require("@loaders.gl/worker-utils");
6
+ /**
7
+ * Load crunch decoder module
8
+ * @param options - loader options
9
+ * @returns Promise of module object
10
+ */
11
+ async function loadCrunchModule(options) {
12
+ const modules = options.modules || {};
13
+ if (modules.crunch) {
14
+ return modules.crunch;
15
+ }
16
+ return loadCrunch(options);
17
+ }
18
+ exports.loadCrunchModule = loadCrunchModule;
19
+ let crunchModule;
20
+ /**
21
+ * Load crunch decoder module
22
+ * @param {any} options - Loader options
23
+ * @returns {Promise<any>} Promise of Module object
24
+ */
25
+ async function loadCrunch(options) {
26
+ if (crunchModule) {
27
+ return crunchModule;
28
+ }
29
+ let loadCrunchDecoder = await (0, worker_utils_1.loadLibrary)('crunch.js', 'textures', options);
30
+ // Depends on how import happened...
31
+ // @ts-ignore TS2339: Property does not exist on type
32
+ loadCrunchDecoder = loadCrunchDecoder || globalThis.loadCrunchDecoder;
33
+ crunchModule = loadCrunchDecoder();
34
+ return crunchModule;
35
+ }
@@ -27,3 +27,4 @@ export function selectSupportedBasisFormat(): "etc1" | "etc2" | "astc-4x4" | "rg
27
27
  alpha: string;
28
28
  noAlpha: string;
29
29
  };
30
+ //# sourceMappingURL=parse-basis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-basis.d.ts","sourceRoot":"","sources":["../../../src/lib/parsers/parse-basis.js"],"names":[],"mappings":"AAiDA;;;;;GAKG;AACH,yCAJW,WAAW;;;;;;;;;;;;;;sBA4BrB;AA8KD;;;GAGG;AACH;;;EAoBC"}