@loaders.gl/gltf 4.0.0-alpha.5 → 4.0.0-alpha.7

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 (315) hide show
  1. package/dist/bundle.js +2 -2
  2. package/dist/dist.min.js +3545 -2445
  3. package/dist/es5/bundle.js +6 -0
  4. package/dist/es5/bundle.js.map +1 -0
  5. package/dist/es5/glb-loader.js +56 -0
  6. package/dist/es5/glb-loader.js.map +1 -0
  7. package/dist/es5/glb-writer.js +34 -0
  8. package/dist/es5/glb-writer.js.map +1 -0
  9. package/dist/es5/gltf-loader.js +81 -0
  10. package/dist/es5/gltf-loader.js.map +1 -0
  11. package/dist/es5/gltf-writer.js +35 -0
  12. package/dist/es5/gltf-writer.js.map +1 -0
  13. package/dist/es5/index.js +55 -0
  14. package/dist/es5/index.js.map +1 -0
  15. package/dist/es5/lib/api/gltf-extensions.js +109 -0
  16. package/dist/es5/lib/api/gltf-extensions.js.map +1 -0
  17. package/dist/es5/lib/api/gltf-scenegraph.js +595 -0
  18. package/dist/es5/lib/api/gltf-scenegraph.js.map +1 -0
  19. package/dist/es5/lib/api/normalize-gltf-v1.js +331 -0
  20. package/dist/es5/lib/api/normalize-gltf-v1.js.map +1 -0
  21. package/dist/es5/lib/api/post-process-gltf.js +470 -0
  22. package/dist/es5/lib/api/post-process-gltf.js.map +1 -0
  23. package/dist/es5/lib/encoders/encode-glb.js +61 -0
  24. package/dist/es5/lib/encoders/encode-glb.js.map +1 -0
  25. package/dist/es5/lib/encoders/encode-gltf.js +20 -0
  26. package/dist/es5/lib/encoders/encode-gltf.js.map +1 -0
  27. package/dist/es5/lib/extensions/EXT_meshopt_compression.js +94 -0
  28. package/dist/es5/lib/extensions/EXT_meshopt_compression.js.map +1 -0
  29. package/dist/es5/lib/extensions/EXT_texture_webp.js +43 -0
  30. package/dist/es5/lib/extensions/EXT_texture_webp.js.map +1 -0
  31. package/dist/es5/lib/extensions/KHR_binary_gltf.js +39 -0
  32. package/dist/es5/lib/extensions/KHR_binary_gltf.js.map +1 -0
  33. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js +247 -0
  34. package/dist/es5/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
  35. package/dist/es5/lib/extensions/KHR_texture_basisu.js +36 -0
  36. package/dist/es5/lib/extensions/KHR_texture_basisu.js.map +1 -0
  37. package/dist/es5/lib/extensions/KHR_texture_transform.js +230 -0
  38. package/dist/es5/lib/extensions/KHR_texture_transform.js.map +1 -0
  39. package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js +103 -0
  40. package/dist/es5/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
  41. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js +99 -0
  42. package/dist/es5/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
  43. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js +76 -0
  44. package/dist/es5/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
  45. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js +113 -0
  46. package/dist/es5/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
  47. package/dist/es5/lib/gltf-utils/get-typed-array.js +23 -0
  48. package/dist/es5/lib/gltf-utils/get-typed-array.js.map +1 -0
  49. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js +68 -0
  50. package/dist/es5/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
  51. package/dist/es5/lib/gltf-utils/gltf-constants.js +48 -0
  52. package/dist/es5/lib/gltf-utils/gltf-constants.js.map +1 -0
  53. package/dist/es5/lib/gltf-utils/gltf-utils.js +86 -0
  54. package/dist/es5/lib/gltf-utils/gltf-utils.js.map +1 -0
  55. package/dist/es5/lib/gltf-utils/resolve-url.js +18 -0
  56. package/dist/es5/lib/gltf-utils/resolve-url.js.map +1 -0
  57. package/dist/es5/lib/parsers/parse-glb.js +120 -0
  58. package/dist/es5/lib/parsers/parse-glb.js.map +1 -0
  59. package/dist/es5/lib/parsers/parse-gltf.js +283 -0
  60. package/dist/es5/lib/parsers/parse-gltf.js.map +1 -0
  61. package/dist/es5/lib/types/glb-types.js +2 -0
  62. package/dist/es5/lib/types/glb-types.js.map +1 -0
  63. package/dist/es5/lib/types/gltf-json-schema.js +2 -0
  64. package/dist/es5/lib/types/gltf-json-schema.js.map +1 -0
  65. package/dist/es5/lib/types/gltf-postprocessed-schema.js +2 -0
  66. package/dist/es5/lib/types/gltf-postprocessed-schema.js.map +1 -0
  67. package/dist/es5/lib/types/gltf-types.js +2 -0
  68. package/dist/es5/lib/types/gltf-types.js.map +1 -0
  69. package/dist/es5/lib/utils/assert.js +12 -0
  70. package/dist/es5/lib/utils/assert.js.map +1 -0
  71. package/dist/es5/lib/utils/version.js +9 -0
  72. package/dist/es5/lib/utils/version.js.map +1 -0
  73. package/dist/es5/meshopt/meshopt-decoder.js +215 -0
  74. package/dist/es5/meshopt/meshopt-decoder.js.map +1 -0
  75. package/dist/es5/webp/webp.js +83 -0
  76. package/dist/es5/webp/webp.js.map +1 -0
  77. package/dist/esm/bundle.js +4 -0
  78. package/dist/esm/bundle.js.map +1 -0
  79. package/dist/esm/glb-loader.js +31 -0
  80. package/dist/esm/glb-loader.js.map +1 -0
  81. package/dist/esm/glb-writer.js +27 -0
  82. package/dist/esm/glb-writer.js.map +1 -0
  83. package/dist/esm/gltf-loader.js +51 -0
  84. package/dist/esm/gltf-loader.js.map +1 -0
  85. package/dist/esm/gltf-writer.js +28 -0
  86. package/dist/esm/gltf-writer.js.map +1 -0
  87. package/dist/esm/index.js +8 -0
  88. package/dist/esm/index.js.map +1 -0
  89. package/dist/esm/lib/api/gltf-extensions.js +35 -0
  90. package/dist/esm/lib/api/gltf-extensions.js.map +1 -0
  91. package/dist/esm/lib/api/gltf-scenegraph.js +452 -0
  92. package/dist/esm/lib/api/gltf-scenegraph.js.map +1 -0
  93. package/dist/esm/lib/api/normalize-gltf-v1.js +204 -0
  94. package/dist/esm/lib/api/normalize-gltf-v1.js.map +1 -0
  95. package/dist/esm/lib/api/post-process-gltf.js +396 -0
  96. package/dist/esm/lib/api/post-process-gltf.js.map +1 -0
  97. package/dist/esm/lib/encoders/encode-glb.js +54 -0
  98. package/dist/esm/lib/encoders/encode-glb.js.map +1 -0
  99. package/dist/esm/lib/encoders/encode-gltf.js +14 -0
  100. package/dist/esm/lib/encoders/encode-gltf.js.map +1 -0
  101. package/dist/esm/lib/extensions/EXT_meshopt_compression.js +41 -0
  102. package/dist/esm/lib/extensions/EXT_meshopt_compression.js.map +1 -0
  103. package/dist/esm/lib/extensions/EXT_texture_webp.js +25 -0
  104. package/dist/esm/lib/extensions/EXT_texture_webp.js.map +1 -0
  105. package/dist/esm/lib/extensions/KHR_binary_gltf.js +21 -0
  106. package/dist/esm/lib/extensions/KHR_binary_gltf.js.map +1 -0
  107. package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js +111 -0
  108. package/dist/esm/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
  109. package/dist/esm/lib/extensions/KHR_texture_basisu.js +18 -0
  110. package/dist/esm/lib/extensions/KHR_texture_basisu.js.map +1 -0
  111. package/dist/esm/lib/extensions/KHR_texture_transform.js +182 -0
  112. package/dist/esm/lib/extensions/KHR_texture_transform.js.map +1 -0
  113. package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js +77 -0
  114. package/dist/esm/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
  115. package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js +42 -0
  116. package/dist/esm/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
  117. package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js +33 -0
  118. package/dist/esm/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
  119. package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js +61 -0
  120. package/dist/esm/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
  121. package/dist/esm/lib/gltf-utils/get-typed-array.js +16 -0
  122. package/dist/esm/lib/gltf-utils/get-typed-array.js.map +1 -0
  123. package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js +62 -0
  124. package/dist/esm/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
  125. package/dist/esm/lib/gltf-utils/gltf-constants.js +37 -0
  126. package/dist/esm/lib/gltf-utils/gltf-constants.js.map +1 -0
  127. package/dist/esm/lib/gltf-utils/gltf-utils.js +74 -0
  128. package/dist/esm/lib/gltf-utils/gltf-utils.js.map +1 -0
  129. package/dist/esm/lib/gltf-utils/resolve-url.js +12 -0
  130. package/dist/esm/lib/gltf-utils/resolve-url.js.map +1 -0
  131. package/dist/esm/lib/parsers/parse-glb.js +114 -0
  132. package/dist/esm/lib/parsers/parse-glb.js.map +1 -0
  133. package/dist/esm/lib/parsers/parse-gltf.js +155 -0
  134. package/dist/esm/lib/parsers/parse-gltf.js.map +1 -0
  135. package/dist/esm/lib/types/glb-types.js +2 -0
  136. package/dist/esm/lib/types/glb-types.js.map +1 -0
  137. package/dist/esm/lib/types/gltf-json-schema.js +2 -0
  138. package/dist/esm/lib/types/gltf-json-schema.js.map +1 -0
  139. package/dist/esm/lib/types/gltf-postprocessed-schema.js +2 -0
  140. package/dist/esm/lib/types/gltf-postprocessed-schema.js.map +1 -0
  141. package/dist/esm/lib/types/gltf-types.js +2 -0
  142. package/dist/esm/lib/types/gltf-types.js.map +1 -0
  143. package/dist/esm/lib/utils/assert.js +6 -0
  144. package/dist/esm/lib/utils/assert.js.map +1 -0
  145. package/dist/esm/lib/utils/version.js +2 -0
  146. package/dist/esm/lib/utils/version.js.map +1 -0
  147. package/dist/esm/meshopt/meshopt-decoder.js +91 -0
  148. package/dist/esm/meshopt/meshopt-decoder.js.map +1 -0
  149. package/dist/esm/meshopt/meshopt-encoder.ts.disabled +409 -0
  150. package/dist/esm/webp/webp.js +25 -0
  151. package/dist/esm/webp/webp.js.map +1 -0
  152. package/dist/glb-loader.d.ts +5 -4
  153. package/dist/glb-loader.d.ts.map +1 -1
  154. package/dist/glb-loader.js +30 -28
  155. package/dist/glb-writer.d.ts +7 -16
  156. package/dist/glb-writer.d.ts.map +1 -1
  157. package/dist/glb-writer.js +32 -26
  158. package/dist/gltf-loader.d.ts +7 -6
  159. package/dist/gltf-loader.d.ts.map +1 -1
  160. package/dist/gltf-loader.js +46 -43
  161. package/dist/gltf-writer.d.ts +2 -2
  162. package/dist/gltf-writer.d.ts.map +1 -1
  163. package/dist/gltf-writer.js +29 -26
  164. package/dist/index.d.ts +8 -4
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +28 -7
  167. package/dist/lib/api/gltf-extensions.d.ts +7 -2
  168. package/dist/lib/api/gltf-extensions.d.ts.map +1 -1
  169. package/dist/lib/api/gltf-extensions.js +79 -31
  170. package/dist/lib/api/gltf-scenegraph.d.ts +10 -14
  171. package/dist/lib/api/gltf-scenegraph.d.ts.map +1 -1
  172. package/dist/lib/api/gltf-scenegraph.js +577 -513
  173. package/dist/lib/api/normalize-gltf-v1.d.ts.map +1 -1
  174. package/dist/lib/api/normalize-gltf-v1.js +278 -229
  175. package/dist/lib/api/post-process-gltf.d.ts +4 -1
  176. package/dist/lib/api/post-process-gltf.d.ts.map +1 -1
  177. package/dist/lib/api/post-process-gltf.js +385 -374
  178. package/dist/lib/encoders/encode-glb.d.ts +14 -1
  179. package/dist/lib/encoders/encode-glb.d.ts.map +1 -1
  180. package/dist/lib/encoders/encode-glb.js +67 -58
  181. package/dist/lib/encoders/encode-gltf.d.ts +18 -0
  182. package/dist/lib/encoders/encode-gltf.d.ts.map +1 -1
  183. package/dist/lib/encoders/encode-gltf.js +30 -12
  184. package/dist/lib/extensions/EXT_meshopt_compression.d.ts +1 -4
  185. package/dist/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -1
  186. package/dist/lib/extensions/EXT_meshopt_compression.js +35 -50
  187. package/dist/lib/extensions/EXT_texture_webp.d.ts +1 -1
  188. package/dist/lib/extensions/EXT_texture_webp.d.ts.map +1 -1
  189. package/dist/lib/extensions/EXT_texture_webp.js +32 -28
  190. package/dist/lib/extensions/KHR_binary_gltf.d.ts +1 -1
  191. package/dist/lib/extensions/KHR_binary_gltf.d.ts.map +1 -1
  192. package/dist/lib/extensions/KHR_binary_gltf.js +36 -23
  193. package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts +1 -1
  194. package/dist/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -1
  195. package/dist/lib/extensions/KHR_draco_mesh_compression.js +123 -111
  196. package/dist/lib/extensions/KHR_texture_basisu.d.ts +1 -1
  197. package/dist/lib/extensions/KHR_texture_basisu.d.ts.map +1 -1
  198. package/dist/lib/extensions/KHR_texture_basisu.js +26 -19
  199. package/dist/lib/extensions/KHR_texture_transform.d.ts +13 -0
  200. package/dist/lib/extensions/KHR_texture_transform.d.ts.map +1 -0
  201. package/dist/lib/extensions/KHR_texture_transform.js +227 -0
  202. package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts +6 -0
  203. package/dist/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -0
  204. package/dist/lib/extensions/deprecated/EXT_feature_metadata.js +115 -0
  205. package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts +1 -1
  206. package/dist/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -1
  207. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js +54 -44
  208. package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts +1 -1
  209. package/dist/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -1
  210. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js +39 -32
  211. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +1 -1
  212. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -1
  213. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js +73 -62
  214. package/dist/lib/gltf-utils/get-typed-array.js +39 -14
  215. package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts +1 -1
  216. package/dist/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -1
  217. package/dist/lib/gltf-utils/gltf-attribute-utils.js +65 -65
  218. package/dist/lib/gltf-utils/gltf-constants.d.ts +17 -0
  219. package/dist/lib/gltf-utils/gltf-constants.d.ts.map +1 -1
  220. package/dist/lib/gltf-utils/gltf-constants.js +38 -32
  221. package/dist/lib/gltf-utils/gltf-utils.d.ts +7 -0
  222. package/dist/lib/gltf-utils/gltf-utils.d.ts.map +1 -1
  223. package/dist/lib/gltf-utils/gltf-utils.js +79 -45
  224. package/dist/lib/gltf-utils/resolve-url.js +17 -15
  225. package/dist/lib/parsers/parse-glb.d.ts +15 -3
  226. package/dist/lib/parsers/parse-glb.d.ts.map +1 -1
  227. package/dist/lib/parsers/parse-glb.js +143 -105
  228. package/dist/lib/parsers/parse-gltf.d.ts +8 -4
  229. package/dist/lib/parsers/parse-gltf.d.ts.map +1 -1
  230. package/dist/lib/parsers/parse-gltf.js +166 -154
  231. package/dist/lib/types/glb-types.d.ts +3 -3
  232. package/dist/lib/types/glb-types.d.ts.map +1 -1
  233. package/dist/lib/types/glb-types.js +2 -2
  234. package/dist/lib/types/gltf-json-schema.d.ts +530 -132
  235. package/dist/lib/types/gltf-json-schema.d.ts.map +1 -1
  236. package/dist/lib/types/gltf-json-schema.js +4 -2
  237. package/dist/lib/types/gltf-postprocessed-schema.d.ts +175 -210
  238. package/dist/lib/types/gltf-postprocessed-schema.d.ts.map +1 -1
  239. package/dist/lib/types/gltf-postprocessed-schema.js +4 -2
  240. package/dist/lib/types/gltf-types.d.ts +22 -7
  241. package/dist/lib/types/gltf-types.d.ts.map +1 -1
  242. package/dist/lib/types/gltf-types.js +3 -2
  243. package/dist/lib/utils/assert.js +11 -5
  244. package/dist/lib/utils/version.js +7 -2
  245. package/dist/meshopt/meshopt-decoder.js +97 -82
  246. package/dist/webp/webp.d.ts +1 -1
  247. package/dist/webp/webp.d.ts.map +1 -1
  248. package/dist/webp/webp.js +32 -23
  249. package/package.json +9 -8
  250. package/src/glb-loader.ts +4 -4
  251. package/src/glb-writer.ts +11 -3
  252. package/src/gltf-loader.ts +12 -8
  253. package/src/gltf-writer.ts +2 -2
  254. package/src/index.ts +34 -6
  255. package/src/lib/api/gltf-extensions.ts +14 -3
  256. package/src/lib/api/gltf-scenegraph.ts +61 -34
  257. package/src/lib/api/normalize-gltf-v1.ts +2 -1
  258. package/src/lib/api/post-process-gltf.ts +275 -150
  259. package/src/lib/encoders/encode-glb.ts +21 -4
  260. package/src/lib/encoders/encode-gltf.ts +19 -10
  261. package/src/lib/extensions/EXT_meshopt_compression.ts +16 -25
  262. package/src/lib/extensions/EXT_texture_webp.ts +5 -4
  263. package/src/lib/extensions/KHR_binary_gltf.ts +3 -3
  264. package/src/lib/extensions/KHR_draco_mesh_compression.ts +8 -8
  265. package/src/lib/extensions/KHR_texture_basisu.ts +4 -3
  266. package/src/lib/extensions/KHR_texture_transform.ts +308 -0
  267. package/src/lib/extensions/deprecated/EXT_feature_metadata.ts +163 -0
  268. package/src/lib/extensions/deprecated/KHR_lights_punctual.ts +2 -2
  269. package/src/lib/extensions/deprecated/KHR_materials_unlit.ts +5 -5
  270. package/src/lib/extensions/deprecated/KHR_techniques_webgl.ts +3 -2
  271. package/src/lib/gltf-utils/gltf-attribute-utils.ts +1 -1
  272. package/src/lib/gltf-utils/gltf-constants.ts +2 -2
  273. package/src/lib/gltf-utils/gltf-utils.ts +31 -0
  274. package/src/lib/parsers/parse-glb.ts +50 -24
  275. package/src/lib/parsers/parse-gltf.ts +32 -17
  276. package/src/lib/types/glb-types.ts +1 -1
  277. package/src/lib/types/gltf-json-schema.ts +582 -126
  278. package/src/lib/types/gltf-postprocessed-schema.ts +289 -212
  279. package/src/lib/types/gltf-types.ts +41 -44
  280. package/dist/bundle.js.map +0 -1
  281. package/dist/glb-loader.js.map +0 -1
  282. package/dist/glb-writer.js.map +0 -1
  283. package/dist/gltf-loader.js.map +0 -1
  284. package/dist/gltf-writer.js.map +0 -1
  285. package/dist/index.js.map +0 -1
  286. package/dist/lib/api/gltf-extensions.js.map +0 -1
  287. package/dist/lib/api/gltf-scenegraph.js.map +0 -1
  288. package/dist/lib/api/normalize-gltf-v1.js.map +0 -1
  289. package/dist/lib/api/post-process-gltf.js.map +0 -1
  290. package/dist/lib/encoders/encode-glb.js.map +0 -1
  291. package/dist/lib/encoders/encode-gltf.js.map +0 -1
  292. package/dist/lib/extensions/EXT_meshopt_compression.js.map +0 -1
  293. package/dist/lib/extensions/EXT_texture_webp.js.map +0 -1
  294. package/dist/lib/extensions/KHR_binary_gltf.js.map +0 -1
  295. package/dist/lib/extensions/KHR_draco_mesh_compression.js.map +0 -1
  296. package/dist/lib/extensions/KHR_texture_basisu.js.map +0 -1
  297. package/dist/lib/extensions/deprecated/KHR_lights_punctual.js.map +0 -1
  298. package/dist/lib/extensions/deprecated/KHR_materials_unlit.js.map +0 -1
  299. package/dist/lib/extensions/deprecated/KHR_techniques_webgl.js.map +0 -1
  300. package/dist/lib/gltf-utils/get-typed-array.js.map +0 -1
  301. package/dist/lib/gltf-utils/gltf-attribute-utils.js.map +0 -1
  302. package/dist/lib/gltf-utils/gltf-constants.js.map +0 -1
  303. package/dist/lib/gltf-utils/gltf-utils.js.map +0 -1
  304. package/dist/lib/gltf-utils/resolve-url.js.map +0 -1
  305. package/dist/lib/parsers/parse-glb.js.map +0 -1
  306. package/dist/lib/parsers/parse-gltf.js.map +0 -1
  307. package/dist/lib/types/glb-types.js.map +0 -1
  308. package/dist/lib/types/gltf-json-schema.js.map +0 -1
  309. package/dist/lib/types/gltf-postprocessed-schema.js.map +0 -1
  310. package/dist/lib/types/gltf-types.js.map +0 -1
  311. package/dist/lib/utils/assert.js.map +0 -1
  312. package/dist/lib/utils/version.js.map +0 -1
  313. package/dist/meshopt/meshopt-decoder.js.map +0 -1
  314. package/dist/webp/webp.js.map +0 -1
  315. /package/dist/{meshopt → es5/meshopt}/meshopt-encoder.ts.disabled +0 -0
@@ -0,0 +1,409 @@
1
+ // This file is part of gltfpack and is distributed under the terms of MIT License.
2
+
3
+ /**
4
+ * Initialize the library with the Wasm module (library.wasm)
5
+ *
6
+ * @param wasm Promise with contents of library.wasm
7
+ *
8
+ * Note: this is called automatically in node.js
9
+ */
10
+ function init(wasm) {
11
+ if (ready) {
12
+ throw new Error("init must be called once");
13
+ }
14
+
15
+ ready = Promise.resolve(wasm)
16
+ .then(function (buffer) {
17
+ return WebAssembly.instantiate(buffer, { wasi_snapshot_preview1: wasi });
18
+ })
19
+ .then(function (result) {
20
+ instance = result.instance;
21
+ instance.exports.__wasm_call_ctors();
22
+ });
23
+ }
24
+
25
+ /**
26
+ * Pack the requested glTF data using the requested command line and access interface.
27
+ *
28
+ * @param args An array of strings with the input arguments; the paths for input and output files are interpreted by the interface
29
+ * @param iface An interface to the system that will be used to service file requests and other system calls
30
+ * @return Promise that indicates completion of the operation
31
+ *
32
+ * iface should contain the following methods:
33
+ * read(path): Given a path, return a Uint8Array with the contents of that path
34
+ * write(path, data): Write the specified Uint8Array to the provided path
35
+ *
36
+ * When texture compression is requested using external compressor such as toktx, iface must provide two additional methods:
37
+ * execute(command): Run the requested command and return the return code
38
+ * unlink(path): Remove the requested file (will be called with paths to temp files after texture compression finishes)
39
+ */
40
+ function pack(args, iface) {
41
+ if (!ready) {
42
+ throw new Error("init must be called before pack");
43
+ }
44
+
45
+ var argv = args.slice();
46
+ argv.unshift("gltfpack");
47
+
48
+ return ready.then(function () {
49
+ var buf = uploadArgv(argv);
50
+
51
+ output.position = 0;
52
+ output.size = 0;
53
+
54
+ interface = iface;
55
+ var result = instance.exports.pack(argv.length, buf);
56
+ interface = undefined;
57
+
58
+ instance.exports.free(buf);
59
+
60
+ var log = getString(output.data.buffer, 0, output.size);
61
+
62
+ if (result != 0) {
63
+ throw new Error(log);
64
+ } else {
65
+ return log;
66
+ }
67
+ });
68
+ }
69
+
70
+ // Library implementation (here be dragons)
71
+ var WASI_EBADF = 8;
72
+ var WASI_EINVAL = 28;
73
+ var WASI_EIO = 29;
74
+ var WASI_ENOSYS = 52;
75
+
76
+ var ready;
77
+ var instance;
78
+ var interface;
79
+
80
+ var output = { data: new Uint8Array(), position: 0, size: 0 };
81
+ var fds = { 1: output, 2: output, 3: { mount: "/", path: "/" }, 4: { mount: "/gltfpack-$pwd", path: "" } };
82
+
83
+ var wasi = {
84
+ proc_exit: function(rval) {
85
+ },
86
+
87
+ fd_close: function(fd) {
88
+ if (!fds[fd]) {
89
+ return WASI_EBADF;
90
+ }
91
+
92
+ try {
93
+ if (fds[fd].close) {
94
+ fds[fd].close();
95
+ }
96
+ fds[fd] = undefined;
97
+ return 0;
98
+ } catch (err) {
99
+ fds[fd] = undefined;
100
+ return WASI_EIO;
101
+ }
102
+ },
103
+
104
+ fd_fdstat_get: function(fd, stat) {
105
+ if (!fds[fd]) {
106
+ return WASI_EBADF;
107
+ }
108
+
109
+ var heap = getHeap();
110
+ heap.setUint8(stat + 0, fds[fd].path !== undefined ? 3 : 4);
111
+ heap.setUint16(stat + 2, 0, true);
112
+ heap.setUint32(stat + 8, 0, true);
113
+ heap.setUint32(stat + 12, 0, true);
114
+ heap.setUint32(stat + 16, 0, true);
115
+ heap.setUint32(stat + 20, 0, true);
116
+ return 0;
117
+ },
118
+
119
+ path_open32: function(parent_fd, dirflags, path, path_len, oflags, fs_rights_base, fs_rights_inheriting, fdflags, opened_fd) {
120
+ if (!fds[parent_fd] || fds[parent_fd].path === undefined) {
121
+ return WASI_EBADF;
122
+ }
123
+
124
+ var heap = getHeap();
125
+
126
+ var file = {};
127
+ file.name = fds[parent_fd].path + getString(heap.buffer, path, path_len);
128
+ file.position = 0;
129
+
130
+ if (oflags & 1) {
131
+ file.data = new Uint8Array(4096);
132
+ file.size = 0;
133
+ file.close = function () {
134
+ interface.write(file.name, new Uint8Array(file.data.buffer, 0, file.size));
135
+ };
136
+ } else {
137
+ try {
138
+ file.data = interface.read(file.name);
139
+
140
+ if (!file.data) {
141
+ return WASI_EIO;
142
+ }
143
+
144
+ file.size = file.data.length;
145
+ } catch (err) {
146
+ return WASI_EIO;
147
+ }
148
+ }
149
+
150
+ var fd = nextFd();
151
+ fds[fd] = file;
152
+
153
+ heap.setUint32(opened_fd, fd, true);
154
+ return 0;
155
+ },
156
+
157
+ path_unlink_file: function(parent_fd, path, path_len) {
158
+ if (!fds[parent_fd] || fds[parent_fd].path === undefined) {
159
+ return WASI_EBADF;
160
+ }
161
+
162
+ var heap = getHeap();
163
+ var name = fds[parent_fd].path + getString(heap.buffer, path, path_len);
164
+
165
+ try {
166
+ interface.unlink(name);
167
+ return 0;
168
+ } catch (err) {
169
+ return WASI_EIO;
170
+ }
171
+ },
172
+
173
+ path_filestat_get: function(parent_fd, flags, path, path_len, buf) {
174
+ if (!fds[parent_fd] || fds[parent_fd].path === undefined) {
175
+ return WASI_EBADF;
176
+ }
177
+
178
+ var heap = getHeap();
179
+ var name = getString(heap.buffer, path, path_len);
180
+
181
+ var heap = getHeap();
182
+ for (var i = 0; i < 64; ++i)
183
+ heap.setUint8(buf + i, 0);
184
+
185
+ heap.setUint8(buf + 16, name == "." ? 3 : 4);
186
+ return 0;
187
+ },
188
+
189
+ fd_prestat_get: function(fd, buf) {
190
+ if (!fds[fd] || fds[fd].path === undefined) {
191
+ return WASI_EBADF;
192
+ }
193
+
194
+ var path_buf = stringBuffer(fds[fd].mount);
195
+
196
+ var heap = getHeap();
197
+ heap.setUint8(buf, 0);
198
+ heap.setUint32(buf + 4, path_buf.length, true);
199
+ return 0;
200
+ },
201
+
202
+ fd_prestat_dir_name: function(fd, path, path_len) {
203
+ if (!fds[fd] || fds[fd].path === undefined) {
204
+ return WASI_EBADF;
205
+ }
206
+
207
+ var path_buf = stringBuffer(fds[fd].mount);
208
+
209
+ if (path_len != path_buf.length) {
210
+ return WASI_EINVAL;
211
+ }
212
+
213
+ var heap = getHeap();
214
+ new Uint8Array(heap.buffer).set(path_buf, path);
215
+ return 0;
216
+ },
217
+
218
+ path_remove_directory: function(parent_fd, path, path_len) {
219
+ return WASI_EINVAL;
220
+ },
221
+
222
+ fd_fdstat_set_flags: function(fd, flags) {
223
+ return WASI_ENOSYS;
224
+ },
225
+
226
+ fd_seek32: function(fd, offset, whence, newoffset) {
227
+ if (!fds[fd]) {
228
+ return WASI_EBADF;
229
+ }
230
+
231
+ var newposition;
232
+
233
+ switch (whence) {
234
+ case 0:
235
+ newposition = offset;
236
+ break;
237
+
238
+ case 1:
239
+ newposition = fds[fd].position + offset;
240
+ break;
241
+
242
+ case 2:
243
+ newposition = fds[fd].size;
244
+ break;
245
+
246
+ default:
247
+ return WASI_EINVAL;
248
+ }
249
+
250
+ if (newposition > fds[fd].size) {
251
+ return WASI_EINVAL;
252
+ }
253
+
254
+ fds[fd].position = newposition;
255
+
256
+ var heap = getHeap();
257
+ heap.setUint32(newoffset, newposition, true);
258
+ return 0;
259
+ },
260
+
261
+ fd_read: function(fd, iovs, iovs_len, nread) {
262
+ if (!fds[fd]) {
263
+ return WASI_EBADF;
264
+ }
265
+
266
+ var heap = getHeap();
267
+ var read = 0;
268
+
269
+ for (var i = 0; i < iovs_len; ++i) {
270
+ var buf = heap.getUint32(iovs + 8 * i + 0, true);
271
+ var buf_len = heap.getUint32(iovs + 8 * i + 4, true);
272
+
273
+ var readi = Math.min(fds[fd].size - fds[fd].position, buf_len);
274
+
275
+ new Uint8Array(heap.buffer).set(fds[fd].data.subarray(fds[fd].position, fds[fd].position + readi), buf);
276
+
277
+ fds[fd].position += readi;
278
+ read += readi;
279
+ }
280
+
281
+ heap.setUint32(nread, read, true);
282
+ return 0;
283
+ },
284
+
285
+ fd_write: function(fd, iovs, iovs_len, nwritten) {
286
+ if (!fds[fd]) {
287
+ return WASI_EBADF;
288
+ }
289
+
290
+ var heap = getHeap();
291
+ var written = 0;
292
+
293
+ for (var i = 0; i < iovs_len; ++i) {
294
+ var buf = heap.getUint32(iovs + 8 * i + 0, true);
295
+ var buf_len = heap.getUint32(iovs + 8 * i + 4, true);
296
+
297
+ if (fds[fd].position + buf_len > fds[fd].data.length) {
298
+ fds[fd].data = growArray(fds[fd].data, fds[fd].position + buf_len);
299
+ }
300
+
301
+ fds[fd].data.set(new Uint8Array(heap.buffer, buf, buf_len), fds[fd].position);
302
+ fds[fd].position += buf_len;
303
+ fds[fd].size = Math.max(fds[fd].position, fds[fd].size);
304
+
305
+ written += buf_len;
306
+ }
307
+
308
+ heap.setUint32(nwritten, written, true);
309
+ return 0;
310
+ },
311
+
312
+ path_readlink: function(fd, path, path_len, buf, buf_len, bufused) {
313
+ if (fd !== -1) {
314
+ return WASI_ENOSYS;
315
+ }
316
+
317
+ var heap = getHeap();
318
+ var command = getString(heap.buffer, path, path_len);
319
+
320
+ try {
321
+ return interface.execute(command);
322
+ } catch (err) {
323
+ return WASI_ENOSYS;
324
+ }
325
+ },
326
+ };
327
+
328
+ function nextFd() {
329
+ for (var i = 1; ; ++i) {
330
+ if (fds[i] === undefined) {
331
+ return i;
332
+ }
333
+ }
334
+ }
335
+
336
+ function getHeap() {
337
+ return new DataView(instance.exports.memory.buffer);
338
+ }
339
+
340
+ function getString(buffer, offset, length) {
341
+ return new TextDecoder().decode(new Uint8Array(buffer, offset, length));
342
+ }
343
+
344
+ function stringBuffer(string) {
345
+ return new TextEncoder().encode(string);
346
+ }
347
+
348
+ function growArray(data, len) {
349
+ var new_length = Math.max(1, data.length);
350
+ while (new_length < len) {
351
+ new_length *= 2;
352
+ }
353
+
354
+ var new_data = new Uint8Array(new_length);
355
+ new_data.set(data);
356
+
357
+ return new_data;
358
+ }
359
+
360
+ function uploadArgv(argv) {
361
+ var buf_size = argv.length * 4;
362
+ for (var i = 0; i < argv.length; ++i) {
363
+ buf_size += stringBuffer(argv[i]).length + 1;
364
+ }
365
+
366
+ var buf = instance.exports.malloc(buf_size);
367
+ var argp = buf + argv.length * 4;
368
+
369
+ var heap = getHeap();
370
+
371
+ for (var i = 0; i < argv.length; ++i) {
372
+ var item = stringBuffer(argv[i]);
373
+
374
+ heap.setUint32(buf + i * 4, argp, true);
375
+ new Uint8Array(heap.buffer).set(item, argp);
376
+ heap.setUint8(argp + item.length, 0);
377
+
378
+ argp += item.length + 1;
379
+ }
380
+
381
+ return buf;
382
+ }
383
+
384
+ // Automatic initialization for node.js
385
+ if (typeof window === 'undefined' && typeof process !== 'undefined' && process.release.name === 'node') {
386
+ var fs = require('fs');
387
+ var util = require('util');
388
+
389
+ // Node versions before v12 don't support TextEncoder/TextDecoder natively, but util. provides compatible replacements
390
+ if (typeof TextEncoder === 'undefined' && typeof TextDecoder === 'undefined') {
391
+ TextEncoder = util.TextEncoder;
392
+ TextDecoder = util.TextDecoder;
393
+ }
394
+
395
+ init(fs.readFileSync(__dirname + '/library.wasm'));
396
+ }
397
+
398
+ // UMD
399
+ (function (root, factory) {
400
+ if (typeof define === 'function' && define.amd) {
401
+ define([], factory);
402
+ } else if (typeof module === 'object' && module.exports) {
403
+ module.exports = factory();
404
+ } else {
405
+ root.gltfpack = factory();
406
+ }
407
+ }(typeof self !== 'undefined' ? self : this, function () {
408
+ return { init, pack };
409
+ }));
@@ -0,0 +1,25 @@
1
+ const WEBP_TEST_IMAGES = {
2
+ lossy: 'UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA',
3
+ lossless: 'UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==',
4
+ alpha: 'UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==',
5
+ animation: 'UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA'
6
+ };
7
+ const WEBP_FEATURES = ['lossy', 'lossless', 'alpha', 'animation'];
8
+ export async function isWebPSupported() {
9
+ let features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : WEBP_FEATURES;
10
+ const promises = features.map(feature => checkWebPFeature(feature));
11
+ const statuses = await Promise.all(promises);
12
+ return statuses.every(_ => _);
13
+ }
14
+ async function checkWebPFeature(feature) {
15
+ if (typeof Image === 'undefined') {
16
+ return false;
17
+ }
18
+ return await new Promise((resolve, reject) => {
19
+ const img = new Image();
20
+ img.onload = () => resolve(img.width > 0 && img.height > 0);
21
+ img.onerror = () => resolve(false);
22
+ img.src = "data:image/webp;base64,".concat(WEBP_TEST_IMAGES[feature]);
23
+ });
24
+ }
25
+ //# sourceMappingURL=webp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"webp.js","names":["WEBP_TEST_IMAGES","lossy","lossless","alpha","animation","WEBP_FEATURES","isWebPSupported","features","arguments","length","undefined","promises","map","feature","checkWebPFeature","statuses","Promise","all","every","_","Image","resolve","reject","img","onload","width","height","onerror","src","concat"],"sources":["../../../src/webp/webp.ts"],"sourcesContent":["const WEBP_TEST_IMAGES = {\n lossy: 'UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA',\n lossless: 'UklGRhoAAABXRUJQVlA4TA0AAAAvAAAAEAcQERGIiP4HAA==',\n alpha:\n 'UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAARBxAR/Q9ERP8DAABWUDggGAAAABQBAJ0BKgEAAQAAAP4AAA3AAP7mtQAAAA==',\n animation:\n 'UklGRlIAAABXRUJQVlA4WAoAAAASAAAAAAAAAAAAQU5JTQYAAAD/////AABBTk1GJgAAAAAAAAAAAAAAAAAAAGQAAABWUDhMDQAAAC8AAAAQBxAREYiI/gcA'\n};\n\nexport type WebPFeature = 'lossy' | 'lossless' | 'alpha' | 'animation';\n\nconst WEBP_FEATURES: WebPFeature[] = ['lossy', 'lossless', 'alpha', 'animation'];\n\n/**\n * Checks if WebP is supported\n * @param features Array, can include 'lossy', 'lossless', 'alpha' or 'animation'\n */\nexport async function isWebPSupported(features: WebPFeature[] = WEBP_FEATURES): Promise<boolean> {\n const promises = features.map((feature) => checkWebPFeature(feature));\n const statuses = await Promise.all(promises);\n return statuses.every((_) => _);\n}\n\n/**\n * Checks if a specific WebP feature is supported\n * @param feature 'feature' can be one of 'lossy', 'lossless', 'alpha' or 'animation'.\n *\n * Based on Google's official recommended checks\n * @see https://developers.google.com/speed/webp/faq#how_can_i_detect_browser_support_for_webp\n */\nasync function checkWebPFeature(feature: WebPFeature): Promise<boolean> {\n if (typeof Image === 'undefined') {\n return false;\n }\n return await new Promise((resolve, reject) => {\n const img = new Image();\n img.onload = () => resolve(img.width > 0 && img.height > 0);\n img.onerror = () => resolve(false);\n img.src = `data:image/webp;base64,${WEBP_TEST_IMAGES[feature]}`;\n });\n}\n"],"mappings":"AAAA,MAAMA,gBAAgB,GAAG;EACvBC,KAAK,EAAE,0DAA0D;EACjEC,QAAQ,EAAE,kDAAkD;EAC5DC,KAAK,EACH,kHAAkH;EACpHC,SAAS,EACP;AACJ,CAAC;AAID,MAAMC,aAA4B,GAAG,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC;AAMhF,OAAO,eAAeC,eAAeA,CAAA,EAA4D;EAAA,IAA3DC,QAAuB,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa;EAC3E,MAAMM,QAAQ,GAAGJ,QAAQ,CAACK,GAAG,CAAEC,OAAO,IAAKC,gBAAgB,CAACD,OAAO,CAAC,CAAC;EACrE,MAAME,QAAQ,GAAG,MAAMC,OAAO,CAACC,GAAG,CAACN,QAAQ,CAAC;EAC5C,OAAOI,QAAQ,CAACG,KAAK,CAAEC,CAAC,IAAKA,CAAC,CAAC;AACjC;AASA,eAAeL,gBAAgBA,CAACD,OAAoB,EAAoB;EACtE,IAAI,OAAOO,KAAK,KAAK,WAAW,EAAE;IAChC,OAAO,KAAK;EACd;EACA,OAAO,MAAM,IAAIJ,OAAO,CAAC,CAACK,OAAO,EAAEC,MAAM,KAAK;IAC5C,MAAMC,GAAG,GAAG,IAAIH,KAAK,CAAC,CAAC;IACvBG,GAAG,CAACC,MAAM,GAAG,MAAMH,OAAO,CAACE,GAAG,CAACE,KAAK,GAAG,CAAC,IAAIF,GAAG,CAACG,MAAM,GAAG,CAAC,CAAC;IAC3DH,GAAG,CAACI,OAAO,GAAG,MAAMN,OAAO,CAAC,KAAK,CAAC;IAClCE,GAAG,CAACK,GAAG,6BAAAC,MAAA,CAA6B7B,gBAAgB,CAACa,OAAO,CAAC,CAAE;EACjE,CAAC,CAAC;AACJ"}
@@ -1,13 +1,14 @@
1
1
  import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
2
- import type { GLBParseOptions } from './lib/parsers/parse-glb';
3
- export declare type GLBLoaderOptions = LoaderOptions & {
4
- glb?: GLBParseOptions;
2
+ import type { GLB } from './lib/types/glb-types';
3
+ import type { ParseGLBOptions } from './lib/parsers/parse-glb';
4
+ export type GLBLoaderOptions = LoaderOptions & {
5
+ glb?: ParseGLBOptions;
5
6
  byteOffset?: number;
6
7
  };
7
8
  /**
8
9
  * GLB Loader -
9
10
  * GLB is the binary container format for GLTF
10
11
  */
11
- export declare const GLBLoader: LoaderWithParser;
12
+ export declare const GLBLoader: LoaderWithParser<GLB, never, GLBLoaderOptions>;
12
13
  export declare const _TypecheckGLBLoader: LoaderWithParser;
13
14
  //# sourceMappingURL=glb-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glb-loader.d.ts","sourceRoot":"","sources":["../src/glb-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAE9E,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAI7D,oBAAY,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,gBAevB,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,gBAA4B,CAAC"}
1
+ {"version":3,"file":"glb-loader.d.ts","sourceRoot":"","sources":["../src/glb-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,yBAAyB,CAAC;AAI7D,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,eAAe,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAepE,CAAC;AAcF,eAAO,MAAM,mBAAmB,EAAE,gBAA4B,CAAC"}
@@ -1,34 +1,36 @@
1
- import { VERSION } from './lib/utils/version';
2
- import parseGLBSync from './lib/parsers/parse-glb';
3
- export const GLBLoader = {
4
- name: 'GLB',
5
- id: 'glb',
6
- module: 'gltf',
7
- version: VERSION,
8
- extensions: ['glb'],
9
- mimeTypes: ['model/gltf-binary'],
10
- binary: true,
11
- parse,
12
- parseSync,
13
- options: {
14
- glb: {
15
- strict: false
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports._TypecheckGLBLoader = exports.GLBLoader = void 0;
4
+ const version_1 = require("./lib/utils/version");
5
+ const parse_glb_1 = require("./lib/parsers/parse-glb");
6
+ /**
7
+ * GLB Loader -
8
+ * GLB is the binary container format for GLTF
9
+ */
10
+ exports.GLBLoader = {
11
+ name: 'GLB',
12
+ id: 'glb',
13
+ module: 'gltf',
14
+ version: version_1.VERSION,
15
+ extensions: ['glb'],
16
+ mimeTypes: ['model/gltf-binary'],
17
+ binary: true,
18
+ parse,
19
+ parseSync,
20
+ options: {
21
+ glb: {
22
+ strict: false // Enables deprecated XVIZ support (illegal CHUNK formats)
23
+ }
16
24
  }
17
- }
18
25
  };
19
-
20
26
  async function parse(arrayBuffer, options) {
21
- return parseSync(arrayBuffer, options);
27
+ return parseSync(arrayBuffer, options);
22
28
  }
23
-
24
29
  function parseSync(arrayBuffer, options) {
25
- const {
26
- byteOffset = 0
27
- } = options || {};
28
- const glb = {};
29
- parseGLBSync(glb, arrayBuffer, byteOffset, options === null || options === void 0 ? void 0 : options.glb);
30
- return glb;
30
+ const { byteOffset = 0 } = options || {};
31
+ const glb = {};
32
+ (0, parse_glb_1.parseGLBSync)(glb, arrayBuffer, byteOffset, options?.glb);
33
+ return glb;
31
34
  }
32
-
33
- export const _TypecheckGLBLoader = GLBLoader;
34
- //# sourceMappingURL=glb-loader.js.map
35
+ // TYPE TESTS - TODO find a better way than exporting junk
36
+ exports._TypecheckGLBLoader = exports.GLBLoader;
@@ -1,22 +1,13 @@
1
- import type { Writer } from '@loaders.gl/loader-utils';
1
+ import type { Writer, WriterOptions } from '@loaders.gl/loader-utils';
2
+ import type { GLB } from './lib/types/glb-types';
3
+ import type { GLBEncodeOptions } from './lib/encoders/encode-glb';
4
+ export type GLBWriterOptions = WriterOptions & {
5
+ glb?: GLBEncodeOptions;
6
+ };
2
7
  /**
3
8
  * GLB exporter
4
9
  * GLB is the binary container format for GLTF
5
10
  */
6
- export declare const GLBWriter: {
7
- name: string;
8
- id: string;
9
- module: string;
10
- version: any;
11
- extensions: string[];
12
- mimeTypes: string[];
13
- binary: boolean;
14
- encodeSync: typeof encodeSync;
15
- options: {
16
- glb: {};
17
- };
18
- };
19
- declare function encodeSync(glb: any, options: any): ArrayBuffer;
11
+ export declare const GLBWriter: Writer<GLB, never, GLBWriterOptions>;
20
12
  export declare const _TypecheckGLBLoader: Writer;
21
- export {};
22
13
  //# sourceMappingURL=glb-writer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"glb-writer.d.ts","sourceRoot":"","sources":["../src/glb-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAIrD;;;GAGG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;CAerB,CAAC;AAEF,iBAAS,UAAU,CAAC,GAAG,KAAA,EAAE,OAAO,KAAA,eAY/B;AAGD,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC"}
1
+ {"version":3,"file":"glb-writer.d.ts","sourceRoot":"","sources":["../src/glb-writer.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,MAAM,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAC,GAAG,EAAC,MAAM,uBAAuB,CAAC;AAC/C,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,2BAA2B,CAAC;AAIhE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG;IAC7C,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,gBAAgB,CAe1D,CAAC;AAiBF,eAAO,MAAM,mBAAmB,EAAE,MAAkB,CAAC"}
@@ -1,29 +1,35 @@
1
- import { VERSION } from './lib/utils/version';
2
- import encodeGLBSync from './lib/encoders/encode-glb';
3
- export const GLBWriter = {
4
- name: 'GLB',
5
- id: 'glb',
6
- module: 'gltf',
7
- version: VERSION,
8
- extensions: ['glb'],
9
- mimeTypes: ['model/gltf-binary'],
10
- binary: true,
11
- encodeSync,
12
- options: {
13
- glb: {}
14
- }
1
+ "use strict";
2
+ // loaders.gl, MIT license
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports._TypecheckGLBLoader = exports.GLBWriter = void 0;
5
+ const encode_glb_1 = require("./lib/encoders/encode-glb");
6
+ const version_1 = require("./lib/utils/version");
7
+ /**
8
+ * GLB exporter
9
+ * GLB is the binary container format for GLTF
10
+ */
11
+ exports.GLBWriter = {
12
+ name: 'GLB',
13
+ id: 'glb',
14
+ module: 'gltf',
15
+ version: version_1.VERSION,
16
+ extensions: ['glb'],
17
+ mimeTypes: ['model/gltf-binary'],
18
+ binary: true,
19
+ encodeSync,
20
+ options: {
21
+ glb: {}
22
+ }
15
23
  };
16
-
17
24
  function encodeSync(glb, options) {
18
- const {
19
- byteOffset = 0
20
- } = options;
21
- const byteLength = encodeGLBSync(glb, null, byteOffset, options);
22
- const arrayBuffer = new ArrayBuffer(byteLength);
23
- const dataView = new DataView(arrayBuffer);
24
- encodeGLBSync(glb, dataView, byteOffset, options);
25
- return arrayBuffer;
25
+ const { byteOffset = 0 } = options;
26
+ // Calculate length and allocate buffer
27
+ const byteLength = (0, encode_glb_1.encodeGLBSync)(glb, null, byteOffset, options);
28
+ const arrayBuffer = new ArrayBuffer(byteLength);
29
+ // Encode into buffer
30
+ const dataView = new DataView(arrayBuffer);
31
+ (0, encode_glb_1.encodeGLBSync)(glb, dataView, byteOffset, options);
32
+ return arrayBuffer;
26
33
  }
27
-
28
- export const _TypecheckGLBLoader = GLBWriter;
29
- //# sourceMappingURL=glb-writer.js.map
34
+ // TYPE TESTS - TODO find a better way than exporting junk
35
+ exports._TypecheckGLBLoader = exports.GLBWriter;
@@ -2,17 +2,18 @@ import type { LoaderWithParser, LoaderOptions } from '@loaders.gl/loader-utils';
2
2
  import type { DracoLoaderOptions } from '@loaders.gl/draco';
3
3
  import type { ImageLoaderOptions } from '@loaders.gl/images';
4
4
  import type { TextureLoaderOptions } from '@loaders.gl/textures';
5
- import type { GLTFParseOptions } from './lib/parsers/parse-gltf';
6
- import { GLBLoaderOptions } from './glb-loader';
5
+ import type { ParseGLTFOptions } from './lib/parsers/parse-gltf';
6
+ import type { GLTFWithBuffers } from './lib/types/gltf-types';
7
+ import type { GLBLoaderOptions } from './glb-loader';
7
8
  /**
8
9
  * GLTF loader options
9
10
  */
10
- export declare type GLTFLoaderOptions = LoaderOptions & ImageLoaderOptions & TextureLoaderOptions & GLBLoaderOptions & DracoLoaderOptions & {
11
- gltf?: GLTFParseOptions;
11
+ export type GLTFLoaderOptions = LoaderOptions & ImageLoaderOptions & TextureLoaderOptions & GLBLoaderOptions & DracoLoaderOptions & {
12
+ gltf?: ParseGLTFOptions;
12
13
  };
13
14
  /**
14
15
  * GLTF loader
15
16
  */
16
- export declare const GLTFLoader: LoaderWithParser;
17
- export declare function parse(arrayBuffer: any, options: GLTFLoaderOptions | undefined, context: any): Promise<Record<string, any>>;
17
+ export declare const GLTFLoader: LoaderWithParser<GLTFWithBuffers, never, GLBLoaderOptions>;
18
+ export declare function parse(arrayBuffer: any, options: GLTFLoaderOptions | undefined, context: any): Promise<GLTFWithBuffers>;
18
19
  //# sourceMappingURL=gltf-loader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"gltf-loader.d.ts","sourceRoot":"","sources":["../src/gltf-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAE9C;;GAEG;AACH,oBAAY,iBAAiB,GAAG,aAAa,GAC3C,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAAG;IACnB,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,gBAkCxB,CAAC;AAEF,wBAAsB,KAAK,CAAC,WAAW,KAAA,EAAE,OAAO,+BAAwB,EAAE,OAAO,KAAA,gCAShF"}
1
+ {"version":3,"file":"gltf-loader.d.ts","sourceRoot":"","sources":["../src/gltf-loader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gBAAgB,EAAE,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAC9E,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAE1D,OAAO,KAAK,EAAC,kBAAkB,EAAC,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,cAAc,CAAC;AAGnD;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAC3C,kBAAkB,GAClB,oBAAoB,GACpB,gBAAgB,GAChB,kBAAkB,GAAG;IACnB,IAAI,CAAC,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEJ;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,gBAAgB,CAAC,eAAe,EAAE,KAAK,EAAE,gBAAgB,CAkCjF,CAAC;AAEF,wBAAsB,KAAK,CACzB,WAAW,KAAA,EACX,OAAO,+BAAwB,EAC/B,OAAO,KAAA,GACN,OAAO,CAAC,eAAe,CAAC,CAS1B"}