@loaders.gl/scene 5.0.0-alpha.8 → 5.0.0-beta.1

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 (969) hide show
  1. package/GLTF-README.md +46 -0
  2. package/LICENSE +2 -30
  3. package/OBJ-README.md +28 -0
  4. package/README.md +5 -0
  5. package/THIRD-PARTY-NOTICES.md +23 -0
  6. package/bin/gltf/glbdump.js +8 -0
  7. package/dist/dist.dev.js +33820 -23
  8. package/dist/dist.min.js +38 -3
  9. package/dist/gltf/bundled.cjs +34 -0
  10. package/dist/gltf/bundled.cjs.map +7 -0
  11. package/dist/gltf/bundled.d.ts +5 -0
  12. package/dist/gltf/bundled.d.ts.map +1 -0
  13. package/dist/gltf/bundled.js +6 -0
  14. package/dist/gltf/bundled.js.map +1 -0
  15. package/dist/gltf/glb-loader-types.cjs +59 -0
  16. package/dist/gltf/glb-loader-types.cjs.map +7 -0
  17. package/dist/gltf/glb-loader-types.d.ts +58 -0
  18. package/dist/gltf/glb-loader-types.d.ts.map +1 -0
  19. package/dist/gltf/glb-loader-types.js +24 -0
  20. package/dist/gltf/glb-loader-types.js.map +1 -0
  21. package/dist/gltf/glb-loader.cjs +46 -0
  22. package/dist/gltf/glb-loader.cjs.map +7 -0
  23. package/dist/gltf/glb-loader.d.ts +42 -0
  24. package/dist/gltf/glb-loader.d.ts.map +1 -0
  25. package/dist/gltf/glb-loader.js +24 -0
  26. package/dist/gltf/glb-loader.js.map +1 -0
  27. package/dist/gltf/glb-writer.cjs +51 -0
  28. package/dist/gltf/glb-writer.cjs.map +7 -0
  29. package/dist/gltf/glb-writer.d.ts +30 -0
  30. package/dist/gltf/glb-writer.d.ts.map +1 -0
  31. package/dist/gltf/glb-writer.js +31 -0
  32. package/dist/gltf/glb-writer.js.map +1 -0
  33. package/dist/gltf/gltf-1.schema.json +2075 -0
  34. package/dist/gltf/gltf-2.1.schema.json +1786 -0
  35. package/dist/gltf/gltf-2.schema.json +1786 -0
  36. package/dist/gltf/gltf-all.schema.json +5654 -0
  37. package/dist/gltf/gltf-format.cjs +55 -0
  38. package/dist/gltf/gltf-format.cjs.map +7 -0
  39. package/dist/gltf/gltf-format.d.ts +26 -0
  40. package/dist/gltf/gltf-format.d.ts.map +1 -0
  41. package/dist/gltf/gltf-format.js +29 -0
  42. package/dist/gltf/gltf-format.js.map +1 -0
  43. package/dist/gltf/gltf-loader-types.cjs +71 -0
  44. package/dist/gltf/gltf-loader-types.cjs.map +7 -0
  45. package/dist/gltf/gltf-loader-types.d.ts +71 -0
  46. package/dist/gltf/gltf-loader-types.d.ts.map +1 -0
  47. package/dist/gltf/gltf-loader-types.js +30 -0
  48. package/dist/gltf/gltf-loader-types.js.map +1 -0
  49. package/dist/gltf/gltf-loader.cjs +46 -0
  50. package/dist/gltf/gltf-loader.cjs.map +7 -0
  51. package/dist/gltf/gltf-loader.d.ts +45 -0
  52. package/dist/gltf/gltf-loader.d.ts.map +1 -0
  53. package/dist/gltf/gltf-loader.js +22 -0
  54. package/dist/gltf/gltf-loader.js.map +1 -0
  55. package/dist/gltf/gltf-source.cjs +236 -0
  56. package/dist/gltf/gltf-source.cjs.map +7 -0
  57. package/dist/gltf/gltf-source.d.ts +59 -0
  58. package/dist/gltf/gltf-source.d.ts.map +1 -0
  59. package/dist/gltf/gltf-source.js +230 -0
  60. package/dist/gltf/gltf-source.js.map +1 -0
  61. package/dist/gltf/gltf-writer.cjs +67 -0
  62. package/dist/gltf/gltf-writer.cjs.map +7 -0
  63. package/dist/gltf/gltf-writer.d.ts +14 -0
  64. package/dist/gltf/gltf-writer.d.ts.map +1 -0
  65. package/dist/gltf/gltf-writer.js +44 -0
  66. package/dist/gltf/gltf-writer.js.map +1 -0
  67. package/dist/gltf/gltf.schema.json +5654 -0
  68. package/dist/gltf/index.cjs +225 -0
  69. package/dist/gltf/index.cjs.map +7 -0
  70. package/dist/gltf/index.d.ts +46 -0
  71. package/dist/gltf/index.d.ts.map +1 -0
  72. package/dist/gltf/index.js +39 -0
  73. package/dist/gltf/index.js.map +1 -0
  74. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs +68 -0
  75. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs.map +7 -0
  76. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts +17 -0
  77. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts.map +1 -0
  78. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js +45 -0
  79. package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js.map +1 -0
  80. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs +133 -0
  81. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs.map +7 -0
  82. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts +8 -0
  83. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts.map +1 -0
  84. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js +138 -0
  85. package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js.map +1 -0
  86. package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs +93 -0
  87. package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs.map +7 -0
  88. package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts +6 -0
  89. package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts.map +1 -0
  90. package/dist/gltf/lib/api/clean-gltf-v1-fields.js +87 -0
  91. package/dist/gltf/lib/api/clean-gltf-v1-fields.js.map +1 -0
  92. package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs +128 -0
  93. package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs.map +7 -0
  94. package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts +8 -0
  95. package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts.map +1 -0
  96. package/dist/gltf/lib/api/convert-gltf-v1-accessors.js +147 -0
  97. package/dist/gltf/lib/api/convert-gltf-v1-accessors.js.map +1 -0
  98. package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs +81 -0
  99. package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs.map +7 -0
  100. package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts +4 -0
  101. package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts.map +1 -0
  102. package/dist/gltf/lib/api/convert-gltf-v1-animations.js +61 -0
  103. package/dist/gltf/lib/api/convert-gltf-v1-animations.js.map +1 -0
  104. package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs +265 -0
  105. package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs.map +7 -0
  106. package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts +6 -0
  107. package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts.map +1 -0
  108. package/dist/gltf/lib/api/convert-gltf-v1-materials.js +266 -0
  109. package/dist/gltf/lib/api/convert-gltf-v1-materials.js.map +1 -0
  110. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs +98 -0
  111. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs.map +7 -0
  112. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts +4 -0
  113. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts.map +1 -0
  114. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js +86 -0
  115. package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js.map +1 -0
  116. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs +87 -0
  117. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs.map +7 -0
  118. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts +4 -0
  119. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts.map +1 -0
  120. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js +72 -0
  121. package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js.map +1 -0
  122. package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs +173 -0
  123. package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs.map +7 -0
  124. package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts +9 -0
  125. package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts.map +1 -0
  126. package/dist/gltf/lib/api/convert-gltf-v1-skins.js +161 -0
  127. package/dist/gltf/lib/api/convert-gltf-v1-skins.js.map +1 -0
  128. package/dist/gltf/lib/api/gltf-accessors.cjs +83 -0
  129. package/dist/gltf/lib/api/gltf-accessors.cjs.map +7 -0
  130. package/dist/gltf/lib/api/gltf-accessors.d.ts +22 -0
  131. package/dist/gltf/lib/api/gltf-accessors.d.ts.map +1 -0
  132. package/dist/gltf/lib/api/gltf-accessors.js +66 -0
  133. package/dist/gltf/lib/api/gltf-accessors.js.map +1 -0
  134. package/dist/gltf/lib/api/gltf-culling.cjs +73 -0
  135. package/dist/gltf/lib/api/gltf-culling.cjs.map +7 -0
  136. package/dist/gltf/lib/api/gltf-culling.d.ts +12 -0
  137. package/dist/gltf/lib/api/gltf-culling.d.ts.map +1 -0
  138. package/dist/gltf/lib/api/gltf-culling.js +55 -0
  139. package/dist/gltf/lib/api/gltf-culling.js.map +1 -0
  140. package/dist/gltf/lib/api/gltf-extension-data.cjs +102 -0
  141. package/dist/gltf/lib/api/gltf-extension-data.cjs.map +7 -0
  142. package/dist/gltf/lib/api/gltf-extension-data.d.ts +38 -0
  143. package/dist/gltf/lib/api/gltf-extension-data.d.ts.map +1 -0
  144. package/dist/gltf/lib/api/gltf-extension-data.js +75 -0
  145. package/dist/gltf/lib/api/gltf-extension-data.js.map +1 -0
  146. package/dist/gltf/lib/api/gltf-extensions.cjs +123 -0
  147. package/dist/gltf/lib/api/gltf-extensions.cjs.map +7 -0
  148. package/dist/gltf/lib/api/gltf-extensions.d.ts +33 -0
  149. package/dist/gltf/lib/api/gltf-extensions.d.ts.map +1 -0
  150. package/dist/gltf/lib/api/gltf-extensions.js +100 -0
  151. package/dist/gltf/lib/api/gltf-extensions.js.map +1 -0
  152. package/dist/gltf/lib/api/gltf-iterator.cjs +1001 -0
  153. package/dist/gltf/lib/api/gltf-iterator.cjs.map +7 -0
  154. package/dist/gltf/lib/api/gltf-iterator.d.ts +407 -0
  155. package/dist/gltf/lib/api/gltf-iterator.d.ts.map +1 -0
  156. package/dist/gltf/lib/api/gltf-iterator.js +940 -0
  157. package/dist/gltf/lib/api/gltf-iterator.js.map +1 -0
  158. package/dist/gltf/lib/api/gltf-mesh-arrow.cjs +269 -0
  159. package/dist/gltf/lib/api/gltf-mesh-arrow.cjs.map +7 -0
  160. package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts +53 -0
  161. package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts.map +1 -0
  162. package/dist/gltf/lib/api/gltf-mesh-arrow.js +247 -0
  163. package/dist/gltf/lib/api/gltf-mesh-arrow.js.map +1 -0
  164. package/dist/gltf/lib/api/gltf-scenegraph.cjs +615 -0
  165. package/dist/gltf/lib/api/gltf-scenegraph.cjs.map +7 -0
  166. package/dist/gltf/lib/api/gltf-scenegraph.d.ts +183 -0
  167. package/dist/gltf/lib/api/gltf-scenegraph.d.ts.map +1 -0
  168. package/dist/gltf/lib/api/gltf-scenegraph.js +624 -0
  169. package/dist/gltf/lib/api/gltf-scenegraph.js.map +1 -0
  170. package/dist/gltf/lib/api/normalize-gltf-v1.cjs +479 -0
  171. package/dist/gltf/lib/api/normalize-gltf-v1.cjs.map +7 -0
  172. package/dist/gltf/lib/api/normalize-gltf-v1.d.ts +37 -0
  173. package/dist/gltf/lib/api/normalize-gltf-v1.d.ts.map +1 -0
  174. package/dist/gltf/lib/api/normalize-gltf-v1.js +461 -0
  175. package/dist/gltf/lib/api/normalize-gltf-v1.js.map +1 -0
  176. package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs +405 -0
  177. package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs.map +7 -0
  178. package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts +50 -0
  179. package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts.map +1 -0
  180. package/dist/gltf/lib/api/repack-gltf-v1-accessors.js +448 -0
  181. package/dist/gltf/lib/api/repack-gltf-v1-accessors.js.map +1 -0
  182. package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs +110 -0
  183. package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs.map +7 -0
  184. package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts +4 -0
  185. package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts.map +1 -0
  186. package/dist/gltf/lib/api/validate-gltf-v1-buffers.js +111 -0
  187. package/dist/gltf/lib/api/validate-gltf-v1-buffers.js.map +1 -0
  188. package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs +41 -0
  189. package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs.map +7 -0
  190. package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts +4 -0
  191. package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts.map +1 -0
  192. package/dist/gltf/lib/api/validate-gltf-v1-cameras.js +34 -0
  193. package/dist/gltf/lib/api/validate-gltf-v1-cameras.js.map +1 -0
  194. package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs +121 -0
  195. package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs.map +7 -0
  196. package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts +5 -0
  197. package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts.map +1 -0
  198. package/dist/gltf/lib/api/validate-gltf-v1-geometry.js +118 -0
  199. package/dist/gltf/lib/api/validate-gltf-v1-geometry.js.map +1 -0
  200. package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs +265 -0
  201. package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs.map +7 -0
  202. package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts +4 -0
  203. package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts.map +1 -0
  204. package/dist/gltf/lib/api/validate-gltf-v1-payloads.js +268 -0
  205. package/dist/gltf/lib/api/validate-gltf-v1-payloads.js.map +1 -0
  206. package/dist/gltf/lib/encoders/encode-glb.cjs +147 -0
  207. package/dist/gltf/lib/encoders/encode-glb.cjs.map +7 -0
  208. package/dist/gltf/lib/encoders/encode-glb.d.ts +21 -0
  209. package/dist/gltf/lib/encoders/encode-glb.d.ts.map +1 -0
  210. package/dist/gltf/lib/encoders/encode-glb.js +142 -0
  211. package/dist/gltf/lib/encoders/encode-glb.js.map +1 -0
  212. package/dist/gltf/lib/encoders/encode-gltf-draco.cjs +202 -0
  213. package/dist/gltf/lib/encoders/encode-gltf-draco.cjs.map +7 -0
  214. package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts +20 -0
  215. package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts.map +1 -0
  216. package/dist/gltf/lib/encoders/encode-gltf-draco.js +187 -0
  217. package/dist/gltf/lib/encoders/encode-gltf-draco.js.map +1 -0
  218. package/dist/gltf/lib/encoders/encode-gltf.cjs +40 -0
  219. package/dist/gltf/lib/encoders/encode-gltf.cjs.map +7 -0
  220. package/dist/gltf/lib/encoders/encode-gltf.d.ts +22 -0
  221. package/dist/gltf/lib/encoders/encode-gltf.d.ts.map +1 -0
  222. package/dist/gltf/lib/encoders/encode-gltf.js +32 -0
  223. package/dist/gltf/lib/encoders/encode-gltf.js.map +1 -0
  224. package/dist/gltf/lib/extensions/EXT_mesh_features.cjs +175 -0
  225. package/dist/gltf/lib/extensions/EXT_mesh_features.cjs.map +7 -0
  226. package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts +22 -0
  227. package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts.map +1 -0
  228. package/dist/gltf/lib/extensions/EXT_mesh_features.js +189 -0
  229. package/dist/gltf/lib/extensions/EXT_mesh_features.js.map +1 -0
  230. package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs +149 -0
  231. package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs.map +7 -0
  232. package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts +7 -0
  233. package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts.map +1 -0
  234. package/dist/gltf/lib/extensions/EXT_mesh_polygon.js +125 -0
  235. package/dist/gltf/lib/extensions/EXT_mesh_polygon.js.map +1 -0
  236. package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs +37 -0
  237. package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs.map +7 -0
  238. package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts +25 -0
  239. package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -0
  240. package/dist/gltf/lib/extensions/EXT_meshopt_compression.js +29 -0
  241. package/dist/gltf/lib/extensions/EXT_meshopt_compression.js.map +1 -0
  242. package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs +87 -0
  243. package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs.map +7 -0
  244. package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts +10 -0
  245. package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts.map +1 -0
  246. package/dist/gltf/lib/extensions/EXT_primitive_voxels.js +57 -0
  247. package/dist/gltf/lib/extensions/EXT_primitive_voxels.js.map +1 -0
  248. package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs +684 -0
  249. package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs.map +7 -0
  250. package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts +26 -0
  251. package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts.map +1 -0
  252. package/dist/gltf/lib/extensions/EXT_structural_metadata.js +786 -0
  253. package/dist/gltf/lib/extensions/EXT_structural_metadata.js.map +1 -0
  254. package/dist/gltf/lib/extensions/EXT_texture_avif.cjs +56 -0
  255. package/dist/gltf/lib/extensions/EXT_texture_avif.cjs.map +7 -0
  256. package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts +15 -0
  257. package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts.map +1 -0
  258. package/dist/gltf/lib/extensions/EXT_texture_avif.js +40 -0
  259. package/dist/gltf/lib/extensions/EXT_texture_avif.js.map +1 -0
  260. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs +53 -0
  261. package/dist/gltf/lib/extensions/EXT_texture_webp.cjs.map +7 -0
  262. package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts +10 -0
  263. package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts.map +1 -0
  264. package/dist/gltf/lib/extensions/EXT_texture_webp.js +32 -0
  265. package/dist/gltf/lib/extensions/EXT_texture_webp.js.map +1 -0
  266. package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs +128 -0
  267. package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs.map +7 -0
  268. package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts +8 -0
  269. package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts.map +1 -0
  270. package/dist/gltf/lib/extensions/KHR_audio_emitter.js +121 -0
  271. package/dist/gltf/lib/extensions/KHR_audio_emitter.js.map +1 -0
  272. package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs +53 -0
  273. package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs.map +7 -0
  274. package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts +6 -0
  275. package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts.map +1 -0
  276. package/dist/gltf/lib/extensions/KHR_binary_gltf.js +40 -0
  277. package/dist/gltf/lib/extensions/KHR_binary_gltf.js.map +1 -0
  278. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs +131 -0
  279. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs.map +7 -0
  280. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts +8 -0
  281. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -0
  282. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js +107 -0
  283. package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
  284. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs +209 -0
  285. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +7 -0
  286. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +13 -0
  287. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -0
  288. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +160 -0
  289. package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js.map +1 -0
  290. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs +110 -0
  291. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs.map +7 -0
  292. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts +10 -0
  293. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts.map +1 -0
  294. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js +87 -0
  295. package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js.map +1 -0
  296. package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs +37 -0
  297. package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs.map +7 -0
  298. package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts +24 -0
  299. package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts.map +1 -0
  300. package/dist/gltf/lib/extensions/KHR_meshopt_compression.js +28 -0
  301. package/dist/gltf/lib/extensions/KHR_meshopt_compression.js.map +1 -0
  302. package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs +47 -0
  303. package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs.map +7 -0
  304. package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts +10 -0
  305. package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts.map +1 -0
  306. package/dist/gltf/lib/extensions/KHR_texture_basisu.js +26 -0
  307. package/dist/gltf/lib/extensions/KHR_texture_basisu.js.map +1 -0
  308. package/dist/gltf/lib/extensions/KHR_texture_transform.cjs +258 -0
  309. package/dist/gltf/lib/extensions/KHR_texture_transform.cjs.map +7 -0
  310. package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts +10 -0
  311. package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts.map +1 -0
  312. package/dist/gltf/lib/extensions/KHR_texture_transform.js +271 -0
  313. package/dist/gltf/lib/extensions/KHR_texture_transform.js.map +1 -0
  314. package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs +70 -0
  315. package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs.map +7 -0
  316. package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts +10 -0
  317. package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts.map +1 -0
  318. package/dist/gltf/lib/extensions/MPEG_audio_spatial.js +45 -0
  319. package/dist/gltf/lib/extensions/MPEG_audio_spatial.js.map +1 -0
  320. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs +276 -0
  321. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs.map +7 -0
  322. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts +5 -0
  323. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -0
  324. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js +306 -0
  325. package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
  326. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs +71 -0
  327. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs.map +7 -0
  328. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts +5 -0
  329. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -0
  330. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js +54 -0
  331. package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
  332. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs +62 -0
  333. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs.map +7 -0
  334. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts +9 -0
  335. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -0
  336. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js +38 -0
  337. package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
  338. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs +99 -0
  339. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs.map +7 -0
  340. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +5 -0
  341. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -0
  342. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js +76 -0
  343. package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
  344. package/dist/gltf/lib/extensions/meshopt-compression.cjs +114 -0
  345. package/dist/gltf/lib/extensions/meshopt-compression.cjs.map +7 -0
  346. package/dist/gltf/lib/extensions/meshopt-compression.d.ts +48 -0
  347. package/dist/gltf/lib/extensions/meshopt-compression.d.ts.map +1 -0
  348. package/dist/gltf/lib/extensions/meshopt-compression.js +123 -0
  349. package/dist/gltf/lib/extensions/meshopt-compression.js.map +1 -0
  350. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs +280 -0
  351. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs.map +7 -0
  352. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts +84 -0
  353. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -0
  354. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js +358 -0
  355. package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js.map +1 -0
  356. package/dist/gltf/lib/gltf-utils/get-typed-array.cjs +189 -0
  357. package/dist/gltf/lib/gltf-utils/get-typed-array.cjs.map +7 -0
  358. package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts +13 -0
  359. package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts.map +1 -0
  360. package/dist/gltf/lib/gltf-utils/get-typed-array.js +175 -0
  361. package/dist/gltf/lib/gltf-utils/get-typed-array.js.map +1 -0
  362. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs +90 -0
  363. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs.map +7 -0
  364. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts +6 -0
  365. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -0
  366. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js +72 -0
  367. package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
  368. package/dist/gltf/lib/gltf-utils/gltf-constants.cjs +90 -0
  369. package/dist/gltf/lib/gltf-utils/gltf-constants.cjs.map +7 -0
  370. package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts +26 -0
  371. package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts.map +1 -0
  372. package/dist/gltf/lib/gltf-utils/gltf-constants.js +46 -0
  373. package/dist/gltf/lib/gltf-utils/gltf-constants.js.map +1 -0
  374. package/dist/gltf/lib/gltf-utils/gltf-utils.cjs +157 -0
  375. package/dist/gltf/lib/gltf-utils/gltf-utils.cjs.map +7 -0
  376. package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts +17 -0
  377. package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts.map +1 -0
  378. package/dist/gltf/lib/gltf-utils/gltf-utils.js +135 -0
  379. package/dist/gltf/lib/gltf-utils/gltf-utils.js.map +1 -0
  380. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs +91 -0
  381. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs.map +7 -0
  382. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts +21 -0
  383. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts.map +1 -0
  384. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js +77 -0
  385. package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js.map +1 -0
  386. package/dist/gltf/lib/gltf-utils/resolve-url.cjs +61 -0
  387. package/dist/gltf/lib/gltf-utils/resolve-url.cjs.map +7 -0
  388. package/dist/gltf/lib/gltf-utils/resolve-url.d.ts +10 -0
  389. package/dist/gltf/lib/gltf-utils/resolve-url.d.ts.map +1 -0
  390. package/dist/gltf/lib/gltf-utils/resolve-url.js +43 -0
  391. package/dist/gltf/lib/gltf-utils/resolve-url.js.map +1 -0
  392. package/dist/gltf/lib/parsers/parse-glb.cjs +185 -0
  393. package/dist/gltf/lib/parsers/parse-glb.cjs.map +7 -0
  394. package/dist/gltf/lib/parsers/parse-glb.d.ts +20 -0
  395. package/dist/gltf/lib/parsers/parse-glb.d.ts.map +1 -0
  396. package/dist/gltf/lib/parsers/parse-glb.js +216 -0
  397. package/dist/gltf/lib/parsers/parse-glb.js.map +1 -0
  398. package/dist/gltf/lib/parsers/parse-gltf.cjs +365 -0
  399. package/dist/gltf/lib/parsers/parse-gltf.cjs.map +7 -0
  400. package/dist/gltf/lib/parsers/parse-gltf.d.ts +43 -0
  401. package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -0
  402. package/dist/gltf/lib/parsers/parse-gltf.js +372 -0
  403. package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -0
  404. package/dist/gltf/lib/types/glb-types.cjs +19 -0
  405. package/dist/gltf/lib/types/glb-types.cjs.map +7 -0
  406. package/dist/gltf/lib/types/glb-types.d.ts +35 -0
  407. package/dist/gltf/lib/types/glb-types.d.ts.map +1 -0
  408. package/dist/gltf/lib/types/glb-types.js +5 -0
  409. package/dist/gltf/lib/types/glb-types.js.map +1 -0
  410. package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs +123 -0
  411. package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs.map +7 -0
  412. package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts +110 -0
  413. package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts.map +1 -0
  414. package/dist/gltf/lib/types/gltf-additional-extension-schemas.js +87 -0
  415. package/dist/gltf/lib/types/gltf-additional-extension-schemas.js.map +1 -0
  416. package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs +189 -0
  417. package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs.map +7 -0
  418. package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts +192 -0
  419. package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts.map +1 -0
  420. package/dist/gltf/lib/types/gltf-audio-extension-schemas.js +154 -0
  421. package/dist/gltf/lib/types/gltf-audio-extension-schemas.js.map +1 -0
  422. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs +19 -0
  423. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs.map +7 -0
  424. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts +421 -0
  425. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -0
  426. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js +5 -0
  427. package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js.map +1 -0
  428. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs +19 -0
  429. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs.map +7 -0
  430. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts +39 -0
  431. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts.map +1 -0
  432. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js +5 -0
  433. package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js.map +1 -0
  434. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs +19 -0
  435. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs.map +7 -0
  436. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts +49 -0
  437. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -0
  438. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js +5 -0
  439. package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js.map +1 -0
  440. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs +19 -0
  441. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs.map +7 -0
  442. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts +334 -0
  443. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -0
  444. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js +5 -0
  445. package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js.map +1 -0
  446. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs +19 -0
  447. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs.map +7 -0
  448. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts +42 -0
  449. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts.map +1 -0
  450. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js +5 -0
  451. package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js.map +1 -0
  452. package/dist/gltf/lib/types/gltf-extension-schemas.cjs +83 -0
  453. package/dist/gltf/lib/types/gltf-extension-schemas.cjs.map +7 -0
  454. package/dist/gltf/lib/types/gltf-extension-schemas.d.ts +229 -0
  455. package/dist/gltf/lib/types/gltf-extension-schemas.d.ts.map +1 -0
  456. package/dist/gltf/lib/types/gltf-extension-schemas.js +53 -0
  457. package/dist/gltf/lib/types/gltf-extension-schemas.js.map +1 -0
  458. package/dist/gltf/lib/types/gltf-interactivity.cjs +34 -0
  459. package/dist/gltf/lib/types/gltf-interactivity.cjs.map +7 -0
  460. package/dist/gltf/lib/types/gltf-interactivity.d.ts +131 -0
  461. package/dist/gltf/lib/types/gltf-interactivity.d.ts.map +1 -0
  462. package/dist/gltf/lib/types/gltf-interactivity.js +13 -0
  463. package/dist/gltf/lib/types/gltf-interactivity.js.map +1 -0
  464. package/dist/gltf/lib/types/gltf-json-schema.cjs +19 -0
  465. package/dist/gltf/lib/types/gltf-json-schema.cjs.map +7 -0
  466. package/dist/gltf/lib/types/gltf-json-schema.d.ts +841 -0
  467. package/dist/gltf/lib/types/gltf-json-schema.d.ts.map +1 -0
  468. package/dist/gltf/lib/types/gltf-json-schema.js +3 -0
  469. package/dist/gltf/lib/types/gltf-json-schema.js.map +1 -0
  470. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs +19 -0
  471. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs.map +7 -0
  472. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts +46 -0
  473. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts.map +1 -0
  474. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js +5 -0
  475. package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js.map +1 -0
  476. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs +19 -0
  477. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs.map +7 -0
  478. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts +20 -0
  479. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts.map +1 -0
  480. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js +5 -0
  481. package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js.map +1 -0
  482. package/dist/gltf/lib/types/gltf-official-json-schemas.cjs +17840 -0
  483. package/dist/gltf/lib/types/gltf-official-json-schemas.cjs.map +7 -0
  484. package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts +14 -0
  485. package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts.map +1 -0
  486. package/dist/gltf/lib/types/gltf-official-json-schemas.js +17751 -0
  487. package/dist/gltf/lib/types/gltf-official-json-schemas.js.map +1 -0
  488. package/dist/gltf/lib/types/gltf-shape-schema.cjs +19 -0
  489. package/dist/gltf/lib/types/gltf-shape-schema.cjs.map +7 -0
  490. package/dist/gltf/lib/types/gltf-shape-schema.d.ts +49 -0
  491. package/dist/gltf/lib/types/gltf-shape-schema.d.ts.map +1 -0
  492. package/dist/gltf/lib/types/gltf-shape-schema.js +5 -0
  493. package/dist/gltf/lib/types/gltf-shape-schema.js.map +1 -0
  494. package/dist/gltf/lib/types/gltf-types.cjs +19 -0
  495. package/dist/gltf/lib/types/gltf-types.cjs.map +7 -0
  496. package/dist/gltf/lib/types/gltf-types.d.ts +53 -0
  497. package/dist/gltf/lib/types/gltf-types.d.ts.map +1 -0
  498. package/dist/gltf/lib/types/gltf-types.js +5 -0
  499. package/dist/gltf/lib/types/gltf-types.js.map +1 -0
  500. package/dist/gltf/lib/types/gltf-vector-topology.cjs +19 -0
  501. package/dist/gltf/lib/types/gltf-vector-topology.cjs.map +7 -0
  502. package/dist/gltf/lib/types/gltf-vector-topology.d.ts +56 -0
  503. package/dist/gltf/lib/types/gltf-vector-topology.d.ts.map +1 -0
  504. package/dist/gltf/lib/types/gltf-vector-topology.js +5 -0
  505. package/dist/gltf/lib/types/gltf-vector-topology.js.map +1 -0
  506. package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs +423 -0
  507. package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs.map +7 -0
  508. package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts +1129 -0
  509. package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts.map +1 -0
  510. package/dist/gltf/lib/types/gltf-version-zod-schemas.js +333 -0
  511. package/dist/gltf/lib/types/gltf-version-zod-schemas.js.map +1 -0
  512. package/dist/gltf/lib/types/gltf-zod-schema.cjs +462 -0
  513. package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +7 -0
  514. package/dist/gltf/lib/types/gltf-zod-schema.d.ts +1595 -0
  515. package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -0
  516. package/dist/gltf/lib/types/gltf-zod-schema.js +497 -0
  517. package/dist/gltf/lib/types/gltf-zod-schema.js.map +1 -0
  518. package/dist/gltf/lib/utils/assert.cjs +35 -0
  519. package/dist/gltf/lib/utils/assert.cjs.map +7 -0
  520. package/dist/gltf/lib/utils/assert.d.ts +2 -0
  521. package/dist/gltf/lib/utils/assert.d.ts.map +1 -0
  522. package/dist/gltf/lib/utils/assert.js +12 -0
  523. package/dist/gltf/lib/utils/assert.js.map +1 -0
  524. package/dist/gltf/lib/utils/version.cjs +31 -0
  525. package/dist/gltf/lib/utils/version.cjs.map +7 -0
  526. package/dist/gltf/lib/utils/version.d.ts +2 -0
  527. package/dist/gltf/lib/utils/version.d.ts.map +1 -0
  528. package/dist/gltf/lib/utils/version.js +8 -0
  529. package/dist/gltf/lib/utils/version.js.map +1 -0
  530. package/dist/gltf/libs/README.md +12 -0
  531. package/dist/gltf/libs/meshopt-decoder.d.mts +15 -0
  532. package/dist/gltf/libs/meshopt-decoder.mjs +196 -0
  533. package/dist/gltf/libs/meshoptimizer-LICENSE.md +21 -0
  534. package/dist/gltf/mesh-arrow.cjs +31 -0
  535. package/dist/gltf/mesh-arrow.cjs.map +7 -0
  536. package/dist/gltf/mesh-arrow.d.ts +2 -0
  537. package/dist/gltf/mesh-arrow.d.ts.map +1 -0
  538. package/dist/gltf/mesh-arrow.js +5 -0
  539. package/dist/gltf/mesh-arrow.js.map +1 -0
  540. package/dist/gltf/meshopt/meshopt-decoder.cjs +93 -0
  541. package/dist/gltf/meshopt/meshopt-decoder.cjs.map +7 -0
  542. package/dist/gltf/meshopt/meshopt-decoder.d.ts +78 -0
  543. package/dist/gltf/meshopt/meshopt-decoder.d.ts.map +1 -0
  544. package/dist/gltf/meshopt/meshopt-decoder.js +111 -0
  545. package/dist/gltf/meshopt/meshopt-decoder.js.map +1 -0
  546. package/dist/gltf/meshopt/meshopt-module-loader.cjs +43 -0
  547. package/dist/gltf/meshopt/meshopt-module-loader.cjs.map +7 -0
  548. package/dist/gltf/meshopt/meshopt-module-loader.d.ts +3 -0
  549. package/dist/gltf/meshopt/meshopt-module-loader.d.ts.map +1 -0
  550. package/dist/gltf/meshopt/meshopt-module-loader.js +8 -0
  551. package/dist/gltf/meshopt/meshopt-module-loader.js.map +1 -0
  552. package/dist/gltf/schema.cjs +60 -0
  553. package/dist/gltf/schema.cjs.map +7 -0
  554. package/dist/gltf/schema.d.ts +6 -0
  555. package/dist/gltf/schema.d.ts.map +1 -0
  556. package/dist/gltf/schema.js +10 -0
  557. package/dist/gltf/schema.js.map +1 -0
  558. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/image.KHR_binary_glTF.schema.json +34 -0
  559. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/shader.KHR_binary_glTF.schema.json +16 -0
  560. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/glTF.KHR_materials_common.schema.json +272 -0
  561. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.ambient.schema.json +57 -0
  562. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.directional.schema.json +57 -0
  563. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.point.schema.json +72 -0
  564. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.schema.json +258 -0
  565. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.spot.schema.json +82 -0
  566. package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/node.KHR_materials_common.schema.json +23 -0
  567. package/dist/gltf/schemas/extensions/1.0/Vendor/CESIUM_RTC/CESIUM_RTC.schema.json +21 -0
  568. package/dist/gltf/schemas/extensions/1.0/Vendor/WEB3D_quantized_attributes/WEB3D_quantized_attributes.accessor.schema.json +40 -0
  569. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/glTF.KHR_materials_pbrSpecularGlossiness.schema.json +141 -0
  570. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/glTF.KHR_techniques_webgl.schema.json +417 -0
  571. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/material.KHR_techniques_webgl.schema.json +133 -0
  572. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/program.schema.json +97 -0
  573. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/shader.schema.json +109 -0
  574. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.attribute.schema.json +51 -0
  575. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.schema.json +267 -0
  576. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.uniform.schema.json +185 -0
  577. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/uniform.value.schema.json +98 -0
  578. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/glTF.KHR_xmp.schema.json +61 -0
  579. package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/node.KHR_xmp.schema.json +59 -0
  580. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_animation_pointer/animation.channel.target.KHR_animation_pointer.schema.json +51 -0
  581. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_draco_mesh_compression/mesh.primitive.KHR_draco_mesh_compression.schema.json +67 -0
  582. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_gaussian_splatting/mesh.primitive.KHR_gaussian_splatting.schema.json +100 -0
  583. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/declaration.KHR_interactivity.schema.json +106 -0
  584. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/event.KHR_interactivity.schema.json +90 -0
  585. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/glTF.KHR_interactivity.schema.json +546 -0
  586. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/graph.KHR_interactivity.schema.json +512 -0
  587. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/node.KHR_interactivity.schema.json +183 -0
  588. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/type.KHR_interactivity.schema.json +96 -0
  589. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/variable.KHR_interactivity.schema.json +64 -0
  590. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/glTF.KHR_lights_punctual.schema.json +175 -0
  591. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.schema.json +151 -0
  592. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.spot.schema.json +58 -0
  593. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/node.KHR_lights_punctual.schema.json +58 -0
  594. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_anisotropy/material.KHR_materials_anisotropy.schema.json +103 -0
  595. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_clearcoat/material.KHR_materials_clearcoat.schema.json +144 -0
  596. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_diffuse_transmission/material.KHR_materials_diffuse_transmission.schema.json +123 -0
  597. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_dispersion/material.KHR_materials_dispersion.schema.json +50 -0
  598. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_emissive_strength/material.KHR_materials_emissive_strength.schema.json +49 -0
  599. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_ior/material.KHR_materials_ior.schema.json +58 -0
  600. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json +125 -0
  601. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_sheen/material.KHR_materials_sheen.schema.json +122 -0
  602. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_specular/material.KHR_materials_specular.schema.json +122 -0
  603. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_transmission/material.KHR_materials_transmission.schema.json +97 -0
  604. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_unlit/material.KHR_materials_unlit.schema.json +43 -0
  605. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/glTF.KHR_materials_variants.schema.json +88 -0
  606. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/mesh.primitive.KHR_materials_variants.schema.json +100 -0
  607. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_volume/material.KHR_materials_volume.schema.json +119 -0
  608. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/buffer.KHR_meshopt_compression.schema.json +48 -0
  609. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/bufferView.KHR_meshopt_compression.schema.json +106 -0
  610. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_hoverability/node.KHR_node_hoverability.schema.json +49 -0
  611. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_selectability/node.KHR_node_selectability.schema.json +49 -0
  612. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_visibility/node.KHR_node_visibility.schema.json +49 -0
  613. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_basisu/texture.KHR_texture_basisu.schema.json +56 -0
  614. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_transform/textureInfo.KHR_texture_transform.schema.json +79 -0
  615. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/KHR_xmp_json_ld.schema.json +59 -0
  616. package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/glTF.KHR_xmp_json_ld.schema.json +70 -0
  617. package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_specular/glTF.ADOBE_materials_clearcoat_specular.schema.json +105 -0
  618. package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_tint/material.ADOBE_materials_clearcoat_tint.schema.json +106 -0
  619. package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_thin_transparency/glTF.ADOBE_materials_thin_transparency.schema.json +105 -0
  620. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.schema.json +177 -0
  621. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.stage.schema.json +136 -0
  622. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/gltf.AGI_articulations.schema.json +200 -0
  623. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/node.AGI_articulations.schema.json +53 -0
  624. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/gltf.AGI_stk_metadata.schema.json +81 -0
  625. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/node.AGI_stk_metadata.schema.json +53 -0
  626. package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/solarPanelGroup.schema.json +59 -0
  627. package/dist/gltf/schemas/extensions/2.0/Vendor/CESIUM_primitive_outline/primitive.CESIUM_primitive_outline.schema.json +56 -0
  628. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/glTF.EXT_lights_ies.schema.json +132 -0
  629. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/lightProfile.schema.json +107 -0
  630. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/node.EXT_lights_ies.schema.json +80 -0
  631. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/glTF.EXT_lights_image_based.schema.json +145 -0
  632. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/light.schema.json +121 -0
  633. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/scene.EXT_lights_image_based.schema.json +58 -0
  634. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/glTF.EXT_mesh_gpu_instancing.schema.json +56 -0
  635. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_manifold/mesh.EXT_mesh_manifold.schema.json +175 -0
  636. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/lineString.schema.json +70 -0
  637. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/primitive.EXT_mesh_primitive_edge_visibility.schema.json +119 -0
  638. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/EXT_mesh_primitive_restart.schema.json +97 -0
  639. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/primitiveGroup.schema.json +72 -0
  640. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/buffer.EXT_meshopt_compression.schema.json +48 -0
  641. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/bufferView.EXT_meshopt_compression.schema.json +105 -0
  642. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_astc/texture.EXT_texture_astc.schema.json +56 -0
  643. package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_webp/glTF.EXT_texture_webp.schema.json +56 -0
  644. package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/scene.FB_geometry_metadata.schema.json +97 -0
  645. package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/sceneBounds.schema.json +64 -0
  646. package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/GRIFFEL_bim_data.schema.json +164 -0
  647. package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/glTF.GRIFFEL_bim_data.schema.json +107 -0
  648. package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/node.GRIFFEL_bim_data.schema.json +95 -0
  649. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_accessor_timed/MPEG_accessor_timed.schema.json +85 -0
  650. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_animation_timing/MPEG_animation_timing.schema.json +60 -0
  651. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.listener.schema.json +51 -0
  652. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.property.schema.json +63 -0
  653. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.schema.json +107 -0
  654. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.schema.json +276 -0
  655. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.source.schema.json +139 -0
  656. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_buffer_circular/MPEG_buffer_circular.schema.json +80 -0
  657. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.schema.json +110 -0
  658. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.track.schema.json +56 -0
  659. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.schema.json +195 -0
  660. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.schema.json +237 -0
  661. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_mesh_linking/MPEG_mesh_linking.schema.json +89 -0
  662. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_scene_dynamic/MPEG_scene_dynamic.schema.json +69 -0
  663. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_texture_video/MPEG_texture_video.schema.json +109 -0
  664. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.schema.json +119 -0
  665. package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.viewport.schema.json +96 -0
  666. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_lod/glTF.MSFT_lod.schema.json +51 -0
  667. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_normalRoughnessMetallic/glTF.MSFT_packing_normalRoughnessMetallic.schema.json +62 -0
  668. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_occlusionRoughnessMetallic/glTF.MSFT_packing_occlusionRoughnessMetallic.schema.json +90 -0
  669. package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_texture_dds/glTF.MSFT_texture_dds.schema.json +56 -0
  670. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/bsdfMeasurement.schema.json +109 -0
  671. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.argument.schema.json +228 -0
  672. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.schema.json +292 -0
  673. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.type.schema.json +86 -0
  674. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/glTF.NV_materials_mdl.schema.json +451 -0
  675. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/material.NV_materials_mdl.schema.json +60 -0
  676. package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/module.schema.json +114 -0
  677. package/dist/gltf/unbundled.cjs +34 -0
  678. package/dist/gltf/unbundled.cjs.map +7 -0
  679. package/dist/gltf/unbundled.d.ts +5 -0
  680. package/dist/gltf/unbundled.d.ts.map +1 -0
  681. package/dist/gltf/unbundled.js +6 -0
  682. package/dist/gltf/unbundled.js.map +1 -0
  683. package/dist/gltf/webp/webp.cjs +53 -0
  684. package/dist/gltf/webp/webp.cjs.map +7 -0
  685. package/dist/gltf/webp/webp.d.ts +7 -0
  686. package/dist/gltf/webp/webp.d.ts.map +1 -0
  687. package/dist/gltf/webp/webp.js +38 -0
  688. package/dist/gltf/webp/webp.js.map +1 -0
  689. package/dist/index.cjs +43 -809
  690. package/dist/index.cjs.map +4 -3
  691. package/dist/index.d.ts +13 -2
  692. package/dist/index.d.ts.map +1 -1
  693. package/dist/index.js +11 -1
  694. package/dist/index.js.map +1 -1
  695. package/dist/obj/bundled.cjs +44 -0
  696. package/dist/obj/bundled.cjs.map +7 -0
  697. package/dist/obj/bundled.d.ts +7 -0
  698. package/dist/obj/bundled.d.ts.map +1 -0
  699. package/dist/obj/bundled.js +8 -0
  700. package/dist/obj/bundled.js.map +1 -0
  701. package/dist/obj/index.cjs +49 -0
  702. package/dist/obj/index.cjs.map +7 -0
  703. package/dist/obj/index.d.ts +13 -0
  704. package/dist/obj/index.d.ts.map +1 -0
  705. package/dist/obj/index.js +16 -0
  706. package/dist/obj/index.js.map +1 -0
  707. package/dist/obj/lib/get-obj-schema.cjs +60 -0
  708. package/dist/obj/lib/get-obj-schema.cjs.map +7 -0
  709. package/dist/obj/lib/get-obj-schema.d.ts +4 -0
  710. package/dist/obj/lib/get-obj-schema.d.ts.map +1 -0
  711. package/dist/obj/lib/get-obj-schema.js +36 -0
  712. package/dist/obj/lib/get-obj-schema.js.map +1 -0
  713. package/dist/obj/lib/obj-types.cjs +2 -0
  714. package/dist/obj/lib/obj-types.cjs.map +7 -0
  715. package/dist/obj/lib/obj-types.d.ts +1 -0
  716. package/dist/obj/lib/obj-types.d.ts.map +1 -0
  717. package/dist/obj/lib/obj-types.js +5 -0
  718. package/dist/obj/lib/obj-types.js.map +1 -0
  719. package/dist/obj/lib/parse-mtl.cjs +97 -0
  720. package/dist/obj/lib/parse-mtl.cjs.map +7 -0
  721. package/dist/obj/lib/parse-mtl.d.ts +34 -0
  722. package/dist/obj/lib/parse-mtl.d.ts.map +1 -0
  723. package/dist/obj/lib/parse-mtl.js +200 -0
  724. package/dist/obj/lib/parse-mtl.js.map +1 -0
  725. package/dist/obj/lib/parse-obj-meshes.cjs +389 -0
  726. package/dist/obj/lib/parse-obj-meshes.cjs.map +7 -0
  727. package/dist/obj/lib/parse-obj-meshes.d.ts +5 -0
  728. package/dist/obj/lib/parse-obj-meshes.d.ts.map +1 -0
  729. package/dist/obj/lib/parse-obj-meshes.js +441 -0
  730. package/dist/obj/lib/parse-obj-meshes.js.map +1 -0
  731. package/dist/obj/lib/parse-obj.cjs +96 -0
  732. package/dist/obj/lib/parse-obj.cjs.map +7 -0
  733. package/dist/obj/lib/parse-obj.d.ts +3 -0
  734. package/dist/obj/lib/parse-obj.d.ts.map +1 -0
  735. package/dist/obj/lib/parse-obj.js +72 -0
  736. package/dist/obj/lib/parse-obj.js.map +1 -0
  737. package/dist/obj/mtl-format.cjs +39 -0
  738. package/dist/obj/mtl-format.cjs.map +7 -0
  739. package/dist/obj/mtl-format.d.ts +14 -0
  740. package/dist/obj/mtl-format.d.ts.map +1 -0
  741. package/dist/obj/mtl-format.js +17 -0
  742. package/dist/obj/mtl-format.js.map +1 -0
  743. package/dist/obj/mtl-loader-types.cjs +62 -0
  744. package/dist/obj/mtl-loader-types.cjs.map +7 -0
  745. package/dist/obj/mtl-loader-types.d.ts +73 -0
  746. package/dist/obj/mtl-loader-types.d.ts.map +1 -0
  747. package/dist/obj/mtl-loader-types.js +34 -0
  748. package/dist/obj/mtl-loader-types.js.map +1 -0
  749. package/dist/obj/mtl-loader.cjs +45 -0
  750. package/dist/obj/mtl-loader.cjs.map +7 -0
  751. package/dist/obj/mtl-loader.d.ts +51 -0
  752. package/dist/obj/mtl-loader.d.ts.map +1 -0
  753. package/dist/obj/mtl-loader.js +25 -0
  754. package/dist/obj/mtl-loader.js.map +1 -0
  755. package/dist/obj/obj-format.cjs +39 -0
  756. package/dist/obj/obj-format.cjs.map +7 -0
  757. package/dist/obj/obj-format.d.ts +13 -0
  758. package/dist/obj/obj-format.d.ts.map +1 -0
  759. package/dist/obj/obj-format.js +16 -0
  760. package/dist/obj/obj-format.js.map +1 -0
  761. package/dist/obj/obj-loader-types.cjs +69 -0
  762. package/dist/obj/obj-loader-types.cjs.map +7 -0
  763. package/dist/obj/obj-loader-types.d.ts +112 -0
  764. package/dist/obj/obj-loader-types.d.ts.map +1 -0
  765. package/dist/obj/obj-loader-types.js +41 -0
  766. package/dist/obj/obj-loader-types.js.map +1 -0
  767. package/dist/obj/obj-loader.cjs +161 -0
  768. package/dist/obj/obj-loader.cjs.map +7 -0
  769. package/dist/obj/obj-loader.d.ts +40 -0
  770. package/dist/obj/obj-loader.d.ts.map +1 -0
  771. package/dist/obj/obj-loader.js +142 -0
  772. package/dist/obj/obj-loader.js.map +1 -0
  773. package/dist/obj/obj-writer.cjs +165 -0
  774. package/dist/obj/obj-writer.cjs.map +7 -0
  775. package/dist/obj/obj-writer.d.ts +35 -0
  776. package/dist/obj/obj-writer.d.ts.map +1 -0
  777. package/dist/obj/obj-writer.js +123 -0
  778. package/dist/obj/obj-writer.js.map +1 -0
  779. package/dist/obj/unbundled.cjs +44 -0
  780. package/dist/obj/unbundled.cjs.map +7 -0
  781. package/dist/obj/unbundled.d.ts +7 -0
  782. package/dist/obj/unbundled.d.ts.map +1 -0
  783. package/dist/obj/unbundled.js +8 -0
  784. package/dist/obj/unbundled.js.map +1 -0
  785. package/dist/obj/workers/obj-worker.cjs +23 -0
  786. package/dist/obj/workers/obj-worker.cjs.map +7 -0
  787. package/dist/obj/workers/obj-worker.d.ts +2 -0
  788. package/dist/obj/workers/obj-worker.d.ts.map +1 -0
  789. package/dist/obj/workers/obj-worker.js +23 -0
  790. package/dist/obj/workers/obj-worker.js.map +1 -0
  791. package/dist/obj-worker.js +17609 -0
  792. package/dist/usd/index.cjs +31 -0
  793. package/dist/usd/index.cjs.map +7 -0
  794. package/dist/usd/index.d.ts +3 -0
  795. package/dist/usd/index.d.ts.map +1 -0
  796. package/dist/usd/index.js +5 -0
  797. package/dist/usd/index.js.map +1 -0
  798. package/dist/usd/lib/parse-usd.cjs +294 -0
  799. package/dist/usd/lib/parse-usd.cjs.map +7 -0
  800. package/dist/{lib → usd/lib}/parse-usd.d.ts +1 -1
  801. package/dist/usd/lib/parse-usd.d.ts.map +1 -0
  802. package/dist/usd/lib/parse-usd.js.map +1 -0
  803. package/dist/usd/lib/parse-usda.cjs +406 -0
  804. package/dist/usd/lib/parse-usda.cjs.map +7 -0
  805. package/dist/usd/lib/parse-usda.d.ts.map +1 -0
  806. package/dist/usd/lib/parse-usda.js.map +1 -0
  807. package/dist/usd/lib/parse-usdz.cjs +76 -0
  808. package/dist/usd/lib/parse-usdz.cjs.map +7 -0
  809. package/dist/usd/lib/parse-usdz.d.ts.map +1 -0
  810. package/dist/usd/lib/parse-usdz.js.map +1 -0
  811. package/dist/usd/lib/usd-types.cjs +19 -0
  812. package/dist/usd/lib/usd-types.cjs.map +7 -0
  813. package/dist/{lib → usd/lib}/usd-types.d.ts +1 -1
  814. package/dist/usd/lib/usd-types.d.ts.map +1 -0
  815. package/dist/usd/lib/usd-types.js.map +1 -0
  816. package/dist/usd/usd-loader-types.cjs +67 -0
  817. package/dist/usd/usd-loader-types.cjs.map +7 -0
  818. package/dist/usd/usd-loader-types.d.ts.map +1 -0
  819. package/dist/{usd-loader-types.js → usd/usd-loader-types.js} +2 -2
  820. package/dist/usd/usd-loader-types.js.map +1 -0
  821. package/dist/usd/usd-loader.cjs +41 -0
  822. package/dist/usd/usd-loader.cjs.map +7 -0
  823. package/dist/usd/usd-loader.d.ts.map +1 -0
  824. package/dist/usd/usd-loader.js.map +1 -0
  825. package/package.json +181 -10
  826. package/src/gltf/bundled.ts +8 -0
  827. package/src/gltf/glb-loader-types.ts +40 -0
  828. package/src/gltf/glb-loader.ts +42 -0
  829. package/src/gltf/glb-writer.ts +46 -0
  830. package/src/gltf/gltf-format.ts +32 -0
  831. package/src/gltf/gltf-loader-types.ts +52 -0
  832. package/src/gltf/gltf-loader.ts +49 -0
  833. package/src/gltf/gltf-source.ts +244 -0
  834. package/src/gltf/gltf-writer.ts +62 -0
  835. package/src/gltf/index.ts +270 -0
  836. package/src/gltf/lib/api/append-gltf-v1-buffer-data.ts +61 -0
  837. package/src/gltf/lib/api/bake-gltf-v1-bind-shapes.ts +178 -0
  838. package/src/gltf/lib/api/clean-gltf-v1-fields.ts +94 -0
  839. package/src/gltf/lib/api/convert-gltf-v1-accessors.ts +170 -0
  840. package/src/gltf/lib/api/convert-gltf-v1-animations.ts +79 -0
  841. package/src/gltf/lib/api/convert-gltf-v1-materials.ts +351 -0
  842. package/src/gltf/lib/api/convert-gltf-v1-matrix-nodes.ts +116 -0
  843. package/src/gltf/lib/api/convert-gltf-v1-skin-scenes.ts +88 -0
  844. package/src/gltf/lib/api/convert-gltf-v1-skins.ts +217 -0
  845. package/src/gltf/lib/api/gltf-accessors.ts +87 -0
  846. package/src/gltf/lib/api/gltf-culling.ts +80 -0
  847. package/src/gltf/lib/api/gltf-extension-data.ts +125 -0
  848. package/src/gltf/lib/api/gltf-extensions.ts +133 -0
  849. package/src/gltf/lib/api/gltf-iterator.ts +1469 -0
  850. package/src/gltf/lib/api/gltf-mesh-arrow.ts +410 -0
  851. package/src/gltf/lib/api/gltf-scenegraph.ts +741 -0
  852. package/src/gltf/lib/api/normalize-gltf-v1.ts +603 -0
  853. package/src/gltf/lib/api/repack-gltf-v1-accessors.ts +566 -0
  854. package/src/gltf/lib/api/validate-gltf-v1-buffers.ts +139 -0
  855. package/src/gltf/lib/api/validate-gltf-v1-cameras.ts +40 -0
  856. package/src/gltf/lib/api/validate-gltf-v1-geometry.ts +156 -0
  857. package/src/gltf/lib/api/validate-gltf-v1-payloads.ts +315 -0
  858. package/src/gltf/lib/encoders/encode-glb.ts +198 -0
  859. package/src/gltf/lib/encoders/encode-gltf-draco.ts +239 -0
  860. package/src/gltf/lib/encoders/encode-gltf.ts +45 -0
  861. package/src/gltf/lib/extensions/EXT_mesh_features.ts +240 -0
  862. package/src/gltf/lib/extensions/EXT_mesh_polygon.ts +172 -0
  863. package/src/gltf/lib/extensions/EXT_meshopt_compression.ts +33 -0
  864. package/src/gltf/lib/extensions/EXT_primitive_voxels.ts +85 -0
  865. package/src/gltf/lib/extensions/EXT_structural_metadata.ts +1130 -0
  866. package/src/gltf/lib/extensions/EXT_texture_avif.ts +56 -0
  867. package/src/gltf/lib/extensions/EXT_texture_webp.ts +46 -0
  868. package/src/gltf/lib/extensions/KHR_audio_emitter.ts +136 -0
  869. package/src/gltf/lib/extensions/KHR_binary_gltf.ts +56 -0
  870. package/src/gltf/lib/extensions/KHR_draco_mesh_compression.ts +169 -0
  871. package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +239 -0
  872. package/src/gltf/lib/extensions/KHR_mesh_primitive_restart.ts +108 -0
  873. package/src/gltf/lib/extensions/KHR_meshopt_compression.ts +32 -0
  874. package/src/gltf/lib/extensions/KHR_texture_basisu.ts +39 -0
  875. package/src/gltf/lib/extensions/KHR_texture_transform.ts +385 -0
  876. package/src/gltf/lib/extensions/MPEG_audio_spatial.ts +59 -0
  877. package/src/gltf/lib/extensions/deprecated/EXT_feature_metadata.ts +479 -0
  878. package/src/gltf/lib/extensions/deprecated/KHR_lights_punctual.ts +67 -0
  879. package/src/gltf/lib/extensions/deprecated/KHR_materials_unlit.ts +52 -0
  880. package/src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts +105 -0
  881. package/src/gltf/lib/extensions/meshopt-compression.ts +189 -0
  882. package/src/gltf/lib/extensions/utils/3d-tiles-utils.ts +473 -0
  883. package/src/gltf/lib/gltf-utils/get-typed-array.ts +215 -0
  884. package/src/gltf/lib/gltf-utils/gltf-attribute-utils.ts +85 -0
  885. package/src/gltf/lib/gltf-utils/gltf-constants.ts +53 -0
  886. package/src/gltf/lib/gltf-utils/gltf-utils.ts +162 -0
  887. package/src/gltf/lib/gltf-utils/resolve-gltf-file.ts +95 -0
  888. package/src/gltf/lib/gltf-utils/resolve-url.ts +48 -0
  889. package/src/gltf/lib/parsers/parse-glb.ts +299 -0
  890. package/src/gltf/lib/parsers/parse-gltf.ts +570 -0
  891. package/src/gltf/lib/types/glb-types.ts +44 -0
  892. package/src/gltf/lib/types/gltf-additional-extension-schemas.ts +127 -0
  893. package/src/gltf/lib/types/gltf-audio-extension-schemas.ts +167 -0
  894. package/src/gltf/lib/types/gltf-ext-feature-metadata-schema.ts +474 -0
  895. package/src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts +46 -0
  896. package/src/gltf/lib/types/gltf-ext-mesh-features-schema.ts +56 -0
  897. package/src/gltf/lib/types/gltf-ext-structural-metadata-schema.ts +387 -0
  898. package/src/gltf/lib/types/gltf-ext-vector-voxel-schema.ts +49 -0
  899. package/src/gltf/lib/types/gltf-extension-schemas.ts +87 -0
  900. package/src/gltf/lib/types/gltf-interactivity.ts +168 -0
  901. package/src/gltf/lib/types/gltf-json-schema.ts +947 -0
  902. package/src/gltf/lib/types/gltf-khr-audio-emitter-schema.ts +60 -0
  903. package/src/gltf/lib/types/gltf-mpeg-audio-spatial-schema.ts +31 -0
  904. package/src/gltf/lib/types/gltf-official-json-schemas.ts +18619 -0
  905. package/src/gltf/lib/types/gltf-shape-schema.ts +47 -0
  906. package/src/gltf/lib/types/gltf-types.ts +90 -0
  907. package/src/gltf/lib/types/gltf-vector-topology.ts +65 -0
  908. package/src/gltf/lib/types/gltf-version-zod-schemas.ts +511 -0
  909. package/src/gltf/lib/types/gltf-zod-schema.ts +545 -0
  910. package/src/gltf/lib/utils/assert.ts +12 -0
  911. package/src/gltf/lib/utils/version.ts +8 -0
  912. package/src/gltf/libs/README.md +12 -0
  913. package/src/gltf/libs/meshopt-decoder.d.mts +15 -0
  914. package/src/gltf/libs/meshopt-decoder.mjs +196 -0
  915. package/src/gltf/libs/meshoptimizer-LICENSE.md +21 -0
  916. package/src/gltf/mesh-arrow.ts +11 -0
  917. package/src/gltf/meshopt/meshopt-decoder.ts +185 -0
  918. package/src/gltf/meshopt/meshopt-encoder.ts.disabled +409 -0
  919. package/src/gltf/meshopt/meshopt-module-loader.ts +8 -0
  920. package/src/gltf/schema.ts +24 -0
  921. package/src/gltf/unbundled.ts +8 -0
  922. package/src/gltf/webp/webp.ts +45 -0
  923. package/src/index.ts +13 -11
  924. package/src/obj/bundled.ts +16 -0
  925. package/src/obj/index.ts +23 -0
  926. package/src/obj/lib/get-obj-schema.ts +45 -0
  927. package/src/obj/lib/obj-types.ts +3 -0
  928. package/src/obj/lib/parse-mtl.ts +248 -0
  929. package/src/obj/lib/parse-obj-meshes.ts +530 -0
  930. package/src/obj/lib/parse-obj.ts +88 -0
  931. package/src/obj/mtl-format.ts +19 -0
  932. package/src/obj/mtl-loader-types.ts +46 -0
  933. package/src/obj/mtl-loader.ts +37 -0
  934. package/src/obj/obj-format.ts +18 -0
  935. package/src/obj/obj-loader-types.ts +75 -0
  936. package/src/obj/obj-loader.ts +203 -0
  937. package/src/obj/obj-writer.ts +190 -0
  938. package/src/obj/unbundled.ts +10 -0
  939. package/src/obj/workers/obj-worker.ts +24 -0
  940. package/src/usd/index.ts +15 -0
  941. package/src/{lib → usd/lib}/parse-usd.ts +1 -1
  942. package/src/{lib → usd/lib}/usd-types.ts +1 -1
  943. package/src/{usd-loader-types.ts → usd/usd-loader-types.ts} +2 -2
  944. package/src/{usd-loader.ts → usd/usd-loader.ts} +1 -1
  945. package/third-party-licenses/gltf-loader-ts-LICENSE +21 -0
  946. package/third-party-licenses/three-LICENSE +21 -0
  947. package/dist/lib/parse-usd.d.ts.map +0 -1
  948. package/dist/lib/parse-usd.js.map +0 -1
  949. package/dist/lib/parse-usda.d.ts.map +0 -1
  950. package/dist/lib/parse-usda.js.map +0 -1
  951. package/dist/lib/parse-usdz.d.ts.map +0 -1
  952. package/dist/lib/parse-usdz.js.map +0 -1
  953. package/dist/lib/usd-types.d.ts.map +0 -1
  954. package/dist/lib/usd-types.js.map +0 -1
  955. package/dist/usd-loader-types.d.ts.map +0 -1
  956. package/dist/usd-loader-types.js.map +0 -1
  957. package/dist/usd-loader.d.ts.map +0 -1
  958. package/dist/usd-loader.js.map +0 -1
  959. /package/dist/{lib → usd/lib}/parse-usd.js +0 -0
  960. /package/dist/{lib → usd/lib}/parse-usda.d.ts +0 -0
  961. /package/dist/{lib → usd/lib}/parse-usda.js +0 -0
  962. /package/dist/{lib → usd/lib}/parse-usdz.d.ts +0 -0
  963. /package/dist/{lib → usd/lib}/parse-usdz.js +0 -0
  964. /package/dist/{lib → usd/lib}/usd-types.js +0 -0
  965. /package/dist/{usd-loader-types.d.ts → usd/usd-loader-types.d.ts} +0 -0
  966. /package/dist/{usd-loader.d.ts → usd/usd-loader.d.ts} +0 -0
  967. /package/dist/{usd-loader.js → usd/usd-loader.js} +0 -0
  968. /package/src/{lib → usd/lib}/parse-usda.ts +0 -0
  969. /package/src/{lib → usd/lib}/parse-usdz.ts +0 -0
@@ -0,0 +1,189 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { GLTFScenegraph } from "../api/gltf-scenegraph.js";
5
+ import { GLTFIterator } from "../api/gltf-iterator.js";
6
+ import { getPrimitiveTextureData } from "./utils/3d-tiles-utils.js";
7
+ import { getComponentTypeFromArray } from "../gltf-utils/gltf-utils.js";
8
+ const EXT_MESH_FEATURES_NAME = 'EXT_mesh_features';
9
+ export const name = EXT_MESH_FEATURES_NAME;
10
+ export async function decode(gltfData, options) {
11
+ const iterator = new GLTFIterator(gltfData);
12
+ decodeExtMeshFeatures(iterator, options);
13
+ }
14
+ export function encode(gltfData, options) {
15
+ const scenegraph = new GLTFScenegraph(gltfData);
16
+ encodeExtMeshFeatures(scenegraph, options);
17
+ scenegraph.createBinaryChunk();
18
+ return scenegraph.gltf;
19
+ }
20
+ /**
21
+ * Decodes feature metadata from extension.
22
+ * @param {GLTFScenegraph} scenegraph - Instance of the class for structured access to GLTF data.
23
+ * @param {GLTFLoaderOptions} options - GLTFLoader options.
24
+ */
25
+ function decodeExtMeshFeatures(iterator, options) {
26
+ for (const mesh of iterator.meshes) {
27
+ for (const primitive of iterator.getReferences(mesh).primitives) {
28
+ processMeshPrimitiveFeatures(iterator, primitive, options);
29
+ }
30
+ }
31
+ }
32
+ /**
33
+ * Takes data from EXT_mesh_features and store it in 'data' property of featureIds.
34
+ * If combined with EXT_structural_metadata, corresponding data are taken from the property tables of that extension.
35
+ * @param {GLTFScenegraph} scenegraph - Instance of the class for structured access to GLTF data.
36
+ * @param {GLTFMeshPrimitive} primitive - Primitive that contains extensions.
37
+ * @param {GLTFLoaderOptions} options - GLTFLoader options.
38
+ */
39
+ function processMeshPrimitiveFeatures(iterator, primitive, options) {
40
+ const extension = iterator.getExtension(primitive, EXT_MESH_FEATURES_NAME);
41
+ const featureIds = extension?.featureIds || [];
42
+ if (!featureIds) {
43
+ return;
44
+ }
45
+ for (const featureId of featureIds) {
46
+ let featureIdData;
47
+ // Process "Feature ID by Vertex"
48
+ if (typeof featureId.attribute !== 'undefined') {
49
+ if (!options?.gltf?.loadBuffers) {
50
+ continue;
51
+ }
52
+ const accessorKey = `_FEATURE_ID_${featureId.attribute}`;
53
+ const accessorIndex = primitive.attributes[accessorKey];
54
+ featureIdData = iterator.getTypedArrayForAccessor(accessorIndex);
55
+ }
56
+ // Process "Feature ID by Texture Coordinates"
57
+ else if (typeof featureId.texture !== 'undefined') {
58
+ if (!options?.gltf?.loadImages) {
59
+ continue;
60
+ }
61
+ featureIdData = getPrimitiveTextureData(iterator, featureId.texture, primitive);
62
+ }
63
+ // Process "Feature ID by Index"
64
+ else {
65
+ // When both featureId.attribute and featureId.texture are undefined,
66
+ // then the feature ID value for each vertex is given implicitly, via the index of the vertex.
67
+ // In this case, the featureCount must match the number of vertices of the mesh primitive.
68
+ const positionAccessor = primitive.attributes.POSITION;
69
+ const vertexCount = typeof positionAccessor === 'number'
70
+ ? iterator.data.accessors?.[positionAccessor]?.count
71
+ : positionAccessor?.count;
72
+ if (typeof vertexCount !== 'number' || !Number.isInteger(vertexCount) || vertexCount < 0) {
73
+ throw new Error('EXT_mesh_features: implicit feature IDs require a POSITION accessor');
74
+ }
75
+ if (featureId.featureCount !== vertexCount) {
76
+ throw new Error(`EXT_mesh_features: implicit featureCount ${featureId.featureCount} does not match vertex count ${vertexCount}`);
77
+ }
78
+ delete featureId.data;
79
+ Object.defineProperty(featureId, 'implicit', {
80
+ configurable: true,
81
+ enumerable: false,
82
+ writable: true,
83
+ value: { start: 0, count: vertexCount }
84
+ });
85
+ }
86
+ if (featureIdData) {
87
+ featureId.data = featureIdData;
88
+ delete featureId.implicit;
89
+ }
90
+ }
91
+ }
92
+ /*
93
+ Encoding data
94
+ */
95
+ function encodeExtMeshFeatures(scenegraph, options) {
96
+ const meshes = scenegraph.gltf.json.meshes;
97
+ if (!meshes) {
98
+ return;
99
+ }
100
+ // Iterate through all meshes/primitives.
101
+ for (const mesh of meshes) {
102
+ for (const primitive of mesh.primitives) {
103
+ encodeExtMeshFeaturesForPrimitive(scenegraph, primitive);
104
+ }
105
+ }
106
+ }
107
+ /**
108
+ * Creates ExtMeshFeatures, creates a featureId containing feature ids provided.
109
+ * @param scenegraph - Instance of the class for structured access to GLTF data.
110
+ * @param primitive - target primitive instance that will contain the extension
111
+ * @param featureIdArray - Array of feature id
112
+ * @param propertyTableIndex - index of the property table created by the ExtStructuralMetadata (optional).
113
+ */
114
+ export function createExtMeshFeatures(scenegraph, primitive, featureIdArray, propertyTableIndex) {
115
+ if (!primitive.extensions) {
116
+ primitive.extensions = {};
117
+ }
118
+ let extension = primitive.extensions[EXT_MESH_FEATURES_NAME];
119
+ if (!extension) {
120
+ extension = { featureIds: [] };
121
+ primitive.extensions[EXT_MESH_FEATURES_NAME] = extension;
122
+ }
123
+ const { featureIds } = extension;
124
+ const featureId = {
125
+ featureCount: featureIdArray.length,
126
+ propertyTable: propertyTableIndex,
127
+ data: featureIdArray
128
+ };
129
+ featureIds.push(featureId);
130
+ scenegraph.addObjectExtension(primitive, EXT_MESH_FEATURES_NAME, extension);
131
+ }
132
+ /**
133
+ * Encodes a feature ID set to extension.
134
+ * @param scenegraph - Instance of the class for structured access to GLTF data.
135
+ * @param primitive - Primitive that the data encoded belongs to.
136
+ * @see https://github.com/CesiumGS/glTF/tree/3d-tiles-next/extensions/2.0/Vendor/EXT_mesh_features
137
+ */
138
+ function encodeExtMeshFeaturesForPrimitive(scenegraph, primitive) {
139
+ const extension = primitive.extensions?.[EXT_MESH_FEATURES_NAME];
140
+ if (!extension) {
141
+ return;
142
+ }
143
+ const featureIds = extension.featureIds;
144
+ featureIds.forEach((featureId, elementIndex) => {
145
+ if (featureId.data) {
146
+ const { accessorKey, index } = createAccessorKey(primitive.attributes);
147
+ const typedArray = new Uint32Array(featureId.data);
148
+ // Clean up featureId object.
149
+ // Everything that could come from the original extension in case of round-trip decode/encode operations should be deleted.
150
+ // We need make sure the featureId object is clean.
151
+ featureIds[elementIndex] = {
152
+ featureCount: typedArray.length,
153
+ propertyTable: featureId.propertyTable,
154
+ attribute: index
155
+ };
156
+ const bufferViewIndex = scenegraph.addBufferView(typedArray);
157
+ const accessorIndex = scenegraph.addAccessor(bufferViewIndex, {
158
+ size: 1,
159
+ componentType: getComponentTypeFromArray(typedArray),
160
+ count: typedArray.length
161
+ });
162
+ primitive.attributes[accessorKey] = accessorIndex;
163
+ }
164
+ });
165
+ }
166
+ /**
167
+ * Creates an accessor key for the attribute array provided.
168
+ * The generated key has a suffix (number) that is the next consequtive in the list of existing accessors.
169
+ * @param attributes - attribute array
170
+ * @returns accessor key and the key suffix (number) used in the key.
171
+ */
172
+ function createAccessorKey(attributes) {
173
+ const prefix = '_FEATURE_ID_';
174
+ // Search for all "_FEATURE_ID_n" attribures in the primitive provided if any.
175
+ // If there are some, e.g. "_FEATURE_ID_0", "_FEATURE_ID_1",
176
+ // we will add a new one with the name "_FEATURE_ID_2"
177
+ const attrs = Object.keys(attributes).filter(item => item.indexOf(prefix) === 0);
178
+ let max = -1;
179
+ for (const a of attrs) {
180
+ const n = Number(a.substring(prefix.length));
181
+ if (n > max) {
182
+ max = n;
183
+ }
184
+ }
185
+ max++;
186
+ const accessorKey = `${prefix}${max}`;
187
+ return { accessorKey, index: max };
188
+ }
189
+ //# sourceMappingURL=EXT_mesh_features.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EXT_mesh_features.js","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/EXT_mesh_features.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name2 in all)
8
+ __defProp(target, name2, { get: all[name2], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/gltf/lib/extensions/EXT_mesh_polygon.ts
21
+ var EXT_mesh_polygon_exports = {};
22
+ __export(EXT_mesh_polygon_exports, {
23
+ decode: () => decode,
24
+ name: () => name
25
+ });
26
+ module.exports = __toCommonJS(EXT_mesh_polygon_exports);
27
+ var import_gltf_iterator = require("../api/gltf-iterator.cjs");
28
+ var import_KHR_mesh_primitive_restart = require("./KHR_mesh_primitive_restart.cjs");
29
+ var name = "EXT_mesh_polygon";
30
+ async function decode(gltfData, options) {
31
+ if (!options.gltf?.loadBuffers) {
32
+ return;
33
+ }
34
+ const iterator = new import_gltf_iterator.GLTFIterator(gltfData);
35
+ for (const mesh of iterator.meshes) {
36
+ for (const primitive of iterator.getReferences(mesh).primitives) {
37
+ const extension = iterator.getExtension(primitive, name);
38
+ if (extension) {
39
+ Object.defineProperty(extension, "data", {
40
+ configurable: true,
41
+ enumerable: false,
42
+ writable: true,
43
+ value: decodePolygonData(iterator, primitive, extension)
44
+ });
45
+ }
46
+ }
47
+ }
48
+ }
49
+ function decodePolygonData(iterator, primitive, extension) {
50
+ if (!Number.isInteger(extension.count) || extension.count < 1) {
51
+ throw new Error(`${name}: count must be a positive integer`);
52
+ }
53
+ if ((primitive.mode ?? 4) !== 4 || primitive.indices === void 0) {
54
+ throw new Error(`${name}: primitive must use TRIANGLES mode with indices`);
55
+ }
56
+ const triangleIndices = getUnsignedScalarAccessor(iterator, primitive.indices, "indices");
57
+ const indicesOffsets = getUnsignedScalarAccessor(
58
+ iterator,
59
+ extension.indicesOffsets,
60
+ "indicesOffsets",
61
+ extension.count
62
+ );
63
+ const loopIndices = getUnsignedScalarAccessor(iterator, extension.loopIndices, "loopIndices");
64
+ const loopIndicesOffsets = getUnsignedScalarAccessor(
65
+ iterator,
66
+ extension.loopIndicesOffsets,
67
+ "loopIndicesOffsets",
68
+ extension.count
69
+ );
70
+ const loopAccessor = iterator.data.accessors?.[extension.loopIndices];
71
+ const restartIndex = getUnsignedMaximum(loopAccessor.componentType);
72
+ validateOffsets(indicesOffsets, triangleIndices.length, "indicesOffsets");
73
+ validateOffsets(loopIndicesOffsets, loopIndices.length, "loopIndicesOffsets");
74
+ const polygons = [];
75
+ for (let polygonIndex = 0; polygonIndex < extension.count; polygonIndex++) {
76
+ const triangleStart = Number(indicesOffsets[polygonIndex]);
77
+ const triangleEnd = polygonIndex + 1 < extension.count ? Number(indicesOffsets[polygonIndex + 1]) : triangleIndices.length;
78
+ const loopStart = Number(loopIndicesOffsets[polygonIndex]);
79
+ const loopEnd = polygonIndex + 1 < extension.count ? Number(loopIndicesOffsets[polygonIndex + 1]) : loopIndices.length;
80
+ const polygonLoopIndices = Array.from(loopIndices).slice(loopStart, loopEnd);
81
+ const loopRanges = (0, import_KHR_mesh_primitive_restart.getPrimitiveRestartRanges)(polygonLoopIndices, restartIndex).map((range) => ({
82
+ offset: range.offset + loopStart,
83
+ count: range.count
84
+ }));
85
+ if ((triangleEnd - triangleStart) % 3 !== 0) {
86
+ throw new Error(
87
+ `${name}: polygon ${polygonIndex} triangle range must contain complete triangles`
88
+ );
89
+ }
90
+ if (loopRanges.length === 0) {
91
+ throw new Error(`${name}: polygon ${polygonIndex} must contain at least one loop`);
92
+ }
93
+ if (loopRanges.some((range) => range.count < 3)) {
94
+ throw new Error(`${name}: polygon ${polygonIndex} loops must contain at least three indices`);
95
+ }
96
+ polygons.push({
97
+ triangleRange: { offset: triangleStart, count: triangleEnd - triangleStart },
98
+ loopRanges
99
+ });
100
+ }
101
+ return { indicesOffsets, loopIndices, loopIndicesOffsets, polygons };
102
+ }
103
+ function getUnsignedScalarAccessor(iterator, accessorReference, label, expectedCount) {
104
+ if (typeof accessorReference === "number" && (!Number.isInteger(accessorReference) || accessorReference < 0)) {
105
+ throw new Error(`${name}: ${label} must reference an accessor`);
106
+ }
107
+ const accessor = typeof accessorReference === "number" ? iterator.data.accessors?.[accessorReference] : accessorReference;
108
+ if (!accessor) {
109
+ throw new Error(`${name}: ${label} references missing accessor ${accessorReference}`);
110
+ }
111
+ if (accessor.type !== "SCALAR" || ![5121, 5123, 5125].includes(accessor.componentType)) {
112
+ throw new Error(`${name}: ${label} must be an unsigned integer SCALAR accessor`);
113
+ }
114
+ if (expectedCount !== void 0 && accessor.count !== expectedCount) {
115
+ throw new Error(`${name}: ${label} count must equal polygon count ${expectedCount}`);
116
+ }
117
+ return iterator.getTypedArrayForAccessor(accessorReference);
118
+ }
119
+ function validateOffsets(offsets, targetLength, label) {
120
+ if (Number(offsets[0]) !== 0) {
121
+ throw new Error(`${name}: ${label} must begin at zero`);
122
+ }
123
+ let previousOffset = -1;
124
+ for (let index = 0; index < offsets.length; index++) {
125
+ const offset = Number(offsets[index]);
126
+ if (!Number.isInteger(offset) || offset < 0 || offset >= targetLength || offset <= previousOffset) {
127
+ throw new Error(`${name}: ${label} must contain increasing in-bounds offsets`);
128
+ }
129
+ previousOffset = offset;
130
+ }
131
+ }
132
+ function getUnsignedMaximum(componentType) {
133
+ switch (componentType) {
134
+ case 5121:
135
+ return 255;
136
+ case 5123:
137
+ return 65535;
138
+ case 5125:
139
+ return 4294967295;
140
+ default:
141
+ throw new Error(`${name}: unsupported loop index component type ${componentType}`);
142
+ }
143
+ }
144
+ // Annotate the CommonJS export names for ESM import in node:
145
+ 0 && (module.exports = {
146
+ decode,
147
+ name
148
+ });
149
+ //# sourceMappingURL=EXT_mesh_polygon.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/gltf/lib/extensions/EXT_mesh_polygon.ts"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright vis.gl contributors\n\nimport type {NumericArray} from '@loaders.gl/core/loader-utils';\nimport type {GLTFLoaderOptions} from '../../gltf-loader-types';\nimport type {GLTFAccessor, GLTFMeshPrimitive} from '../types/gltf-json-schema';\nimport type {GLTFWithBuffers} from '../types/gltf-types';\nimport type {\n GLTF_EXT_mesh_polygon,\n GLTFMeshPolygonData,\n GLTFPolygon\n} from '../types/gltf-vector-topology';\nimport {GLTFIterator} from '../api/gltf-iterator';\nimport {getPrimitiveRestartRanges} from './KHR_mesh_primitive_restart';\n\n/** Draft polygon-topology extension name. */\nexport const name = 'EXT_mesh_polygon';\n\n/** Resolve and validate polygon topology accessors. */\nexport async function decode(gltfData: GLTFWithBuffers, options: GLTFLoaderOptions): Promise<void> {\n if (!options.gltf?.loadBuffers) {\n return;\n }\n const iterator = new GLTFIterator(gltfData);\n for (const mesh of iterator.meshes) {\n for (const primitive of iterator.getReferences(mesh).primitives) {\n const extension = iterator.getExtension<GLTF_EXT_mesh_polygon>(primitive, name);\n if (extension) {\n Object.defineProperty(extension, 'data', {\n configurable: true,\n enumerable: false,\n writable: true,\n value: decodePolygonData(iterator, primitive, extension)\n });\n }\n }\n }\n}\n\n/** Resolve the accessors referenced by one polygon extension. */\nfunction decodePolygonData(\n iterator: GLTFIterator,\n primitive: GLTFMeshPrimitive,\n extension: GLTF_EXT_mesh_polygon\n): GLTFMeshPolygonData {\n if (!Number.isInteger(extension.count) || extension.count < 1) {\n throw new Error(`${name}: count must be a positive integer`);\n }\n if ((primitive.mode ?? 4) !== 4 || primitive.indices === undefined) {\n throw new Error(`${name}: primitive must use TRIANGLES mode with indices`);\n }\n\n const triangleIndices = getUnsignedScalarAccessor(iterator, primitive.indices, 'indices');\n const indicesOffsets = getUnsignedScalarAccessor(\n iterator,\n extension.indicesOffsets,\n 'indicesOffsets',\n extension.count\n );\n const loopIndices = getUnsignedScalarAccessor(iterator, extension.loopIndices, 'loopIndices');\n const loopIndicesOffsets = getUnsignedScalarAccessor(\n iterator,\n extension.loopIndicesOffsets,\n 'loopIndicesOffsets',\n extension.count\n );\n const loopAccessor = iterator.data.accessors?.[extension.loopIndices] as GLTFAccessor;\n const restartIndex = getUnsignedMaximum(loopAccessor.componentType);\n\n validateOffsets(indicesOffsets, triangleIndices.length, 'indicesOffsets');\n validateOffsets(loopIndicesOffsets, loopIndices.length, 'loopIndicesOffsets');\n\n const polygons: GLTFPolygon[] = [];\n for (let polygonIndex = 0; polygonIndex < extension.count; polygonIndex++) {\n const triangleStart = Number(indicesOffsets[polygonIndex]);\n const triangleEnd =\n polygonIndex + 1 < extension.count\n ? Number(indicesOffsets[polygonIndex + 1])\n : triangleIndices.length;\n const loopStart = Number(loopIndicesOffsets[polygonIndex]);\n const loopEnd =\n polygonIndex + 1 < extension.count\n ? Number(loopIndicesOffsets[polygonIndex + 1])\n : loopIndices.length;\n const polygonLoopIndices = Array.from(loopIndices).slice(loopStart, loopEnd);\n const loopRanges = getPrimitiveRestartRanges(polygonLoopIndices, restartIndex).map(range => ({\n offset: range.offset + loopStart,\n count: range.count\n }));\n if ((triangleEnd - triangleStart) % 3 !== 0) {\n throw new Error(\n `${name}: polygon ${polygonIndex} triangle range must contain complete triangles`\n );\n }\n if (loopRanges.length === 0) {\n throw new Error(`${name}: polygon ${polygonIndex} must contain at least one loop`);\n }\n if (loopRanges.some(range => range.count < 3)) {\n throw new Error(`${name}: polygon ${polygonIndex} loops must contain at least three indices`);\n }\n polygons.push({\n triangleRange: {offset: triangleStart, count: triangleEnd - triangleStart},\n loopRanges\n });\n }\n\n return {indicesOffsets, loopIndices, loopIndicesOffsets, polygons};\n}\n\n/** Resolve one unsigned scalar accessor with an optional expected count. */\nfunction getUnsignedScalarAccessor(\n iterator: GLTFIterator,\n accessorReference: number | GLTFAccessor,\n label: string,\n expectedCount?: number\n): NumericArray {\n if (\n typeof accessorReference === 'number' &&\n (!Number.isInteger(accessorReference) || accessorReference < 0)\n ) {\n throw new Error(`${name}: ${label} must reference an accessor`);\n }\n const accessor =\n typeof accessorReference === 'number'\n ? iterator.data.accessors?.[accessorReference]\n : accessorReference;\n if (!accessor) {\n throw new Error(`${name}: ${label} references missing accessor ${accessorReference}`);\n }\n if (accessor.type !== 'SCALAR' || ![5121, 5123, 5125].includes(accessor.componentType)) {\n throw new Error(`${name}: ${label} must be an unsigned integer SCALAR accessor`);\n }\n if (expectedCount !== undefined && accessor.count !== expectedCount) {\n throw new Error(`${name}: ${label} count must equal polygon count ${expectedCount}`);\n }\n return iterator.getTypedArrayForAccessor(accessorReference) as NumericArray;\n}\n\n/** Validate monotonic offsets into an index accessor. */\nfunction validateOffsets(offsets: NumericArray, targetLength: number, label: string): void {\n if (Number(offsets[0]) !== 0) {\n throw new Error(`${name}: ${label} must begin at zero`);\n }\n let previousOffset = -1;\n for (let index = 0; index < offsets.length; index++) {\n const offset = Number(offsets[index]);\n if (\n !Number.isInteger(offset) ||\n offset < 0 ||\n offset >= targetLength ||\n offset <= previousOffset\n ) {\n throw new Error(`${name}: ${label} must contain increasing in-bounds offsets`);\n }\n previousOffset = offset;\n }\n}\n\n/** Return the maximum value of an unsigned glTF accessor component type. */\nfunction getUnsignedMaximum(componentType: number): number {\n switch (componentType) {\n case 5121:\n return 0xff;\n case 5123:\n return 0xffff;\n case 5125:\n return 0xffffffff;\n default:\n throw new Error(`${name}: unsupported loop index component type ${componentType}`);\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ import type { GLTFLoaderOptions } from "../../gltf-loader-types.js";
2
+ import type { GLTFWithBuffers } from "../types/gltf-types.js";
3
+ /** Draft polygon-topology extension name. */
4
+ export declare const name = "EXT_mesh_polygon";
5
+ /** Resolve and validate polygon topology accessors. */
6
+ export declare function decode(gltfData: GLTFWithBuffers, options: GLTFLoaderOptions): Promise<void>;
7
+ //# sourceMappingURL=EXT_mesh_polygon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EXT_mesh_polygon.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/EXT_mesh_polygon.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAC,iBAAiB,EAAC,mCAAgC;AAE/D,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AASzD,6CAA6C;AAC7C,eAAO,MAAM,IAAI,qBAAqB,CAAC;AAEvC,uDAAuD;AACvD,wBAAsB,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBjG"}
@@ -0,0 +1,125 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright vis.gl contributors
4
+ import { GLTFIterator } from "../api/gltf-iterator.js";
5
+ import { getPrimitiveRestartRanges } from "./KHR_mesh_primitive_restart.js";
6
+ /** Draft polygon-topology extension name. */
7
+ export const name = 'EXT_mesh_polygon';
8
+ /** Resolve and validate polygon topology accessors. */
9
+ export async function decode(gltfData, options) {
10
+ if (!options.gltf?.loadBuffers) {
11
+ return;
12
+ }
13
+ const iterator = new GLTFIterator(gltfData);
14
+ for (const mesh of iterator.meshes) {
15
+ for (const primitive of iterator.getReferences(mesh).primitives) {
16
+ const extension = iterator.getExtension(primitive, name);
17
+ if (extension) {
18
+ Object.defineProperty(extension, 'data', {
19
+ configurable: true,
20
+ enumerable: false,
21
+ writable: true,
22
+ value: decodePolygonData(iterator, primitive, extension)
23
+ });
24
+ }
25
+ }
26
+ }
27
+ }
28
+ /** Resolve the accessors referenced by one polygon extension. */
29
+ function decodePolygonData(iterator, primitive, extension) {
30
+ if (!Number.isInteger(extension.count) || extension.count < 1) {
31
+ throw new Error(`${name}: count must be a positive integer`);
32
+ }
33
+ if ((primitive.mode ?? 4) !== 4 || primitive.indices === undefined) {
34
+ throw new Error(`${name}: primitive must use TRIANGLES mode with indices`);
35
+ }
36
+ const triangleIndices = getUnsignedScalarAccessor(iterator, primitive.indices, 'indices');
37
+ const indicesOffsets = getUnsignedScalarAccessor(iterator, extension.indicesOffsets, 'indicesOffsets', extension.count);
38
+ const loopIndices = getUnsignedScalarAccessor(iterator, extension.loopIndices, 'loopIndices');
39
+ const loopIndicesOffsets = getUnsignedScalarAccessor(iterator, extension.loopIndicesOffsets, 'loopIndicesOffsets', extension.count);
40
+ const loopAccessor = iterator.data.accessors?.[extension.loopIndices];
41
+ const restartIndex = getUnsignedMaximum(loopAccessor.componentType);
42
+ validateOffsets(indicesOffsets, triangleIndices.length, 'indicesOffsets');
43
+ validateOffsets(loopIndicesOffsets, loopIndices.length, 'loopIndicesOffsets');
44
+ const polygons = [];
45
+ for (let polygonIndex = 0; polygonIndex < extension.count; polygonIndex++) {
46
+ const triangleStart = Number(indicesOffsets[polygonIndex]);
47
+ const triangleEnd = polygonIndex + 1 < extension.count
48
+ ? Number(indicesOffsets[polygonIndex + 1])
49
+ : triangleIndices.length;
50
+ const loopStart = Number(loopIndicesOffsets[polygonIndex]);
51
+ const loopEnd = polygonIndex + 1 < extension.count
52
+ ? Number(loopIndicesOffsets[polygonIndex + 1])
53
+ : loopIndices.length;
54
+ const polygonLoopIndices = Array.from(loopIndices).slice(loopStart, loopEnd);
55
+ const loopRanges = getPrimitiveRestartRanges(polygonLoopIndices, restartIndex).map(range => ({
56
+ offset: range.offset + loopStart,
57
+ count: range.count
58
+ }));
59
+ if ((triangleEnd - triangleStart) % 3 !== 0) {
60
+ throw new Error(`${name}: polygon ${polygonIndex} triangle range must contain complete triangles`);
61
+ }
62
+ if (loopRanges.length === 0) {
63
+ throw new Error(`${name}: polygon ${polygonIndex} must contain at least one loop`);
64
+ }
65
+ if (loopRanges.some(range => range.count < 3)) {
66
+ throw new Error(`${name}: polygon ${polygonIndex} loops must contain at least three indices`);
67
+ }
68
+ polygons.push({
69
+ triangleRange: { offset: triangleStart, count: triangleEnd - triangleStart },
70
+ loopRanges
71
+ });
72
+ }
73
+ return { indicesOffsets, loopIndices, loopIndicesOffsets, polygons };
74
+ }
75
+ /** Resolve one unsigned scalar accessor with an optional expected count. */
76
+ function getUnsignedScalarAccessor(iterator, accessorReference, label, expectedCount) {
77
+ if (typeof accessorReference === 'number' &&
78
+ (!Number.isInteger(accessorReference) || accessorReference < 0)) {
79
+ throw new Error(`${name}: ${label} must reference an accessor`);
80
+ }
81
+ const accessor = typeof accessorReference === 'number'
82
+ ? iterator.data.accessors?.[accessorReference]
83
+ : accessorReference;
84
+ if (!accessor) {
85
+ throw new Error(`${name}: ${label} references missing accessor ${accessorReference}`);
86
+ }
87
+ if (accessor.type !== 'SCALAR' || ![5121, 5123, 5125].includes(accessor.componentType)) {
88
+ throw new Error(`${name}: ${label} must be an unsigned integer SCALAR accessor`);
89
+ }
90
+ if (expectedCount !== undefined && accessor.count !== expectedCount) {
91
+ throw new Error(`${name}: ${label} count must equal polygon count ${expectedCount}`);
92
+ }
93
+ return iterator.getTypedArrayForAccessor(accessorReference);
94
+ }
95
+ /** Validate monotonic offsets into an index accessor. */
96
+ function validateOffsets(offsets, targetLength, label) {
97
+ if (Number(offsets[0]) !== 0) {
98
+ throw new Error(`${name}: ${label} must begin at zero`);
99
+ }
100
+ let previousOffset = -1;
101
+ for (let index = 0; index < offsets.length; index++) {
102
+ const offset = Number(offsets[index]);
103
+ if (!Number.isInteger(offset) ||
104
+ offset < 0 ||
105
+ offset >= targetLength ||
106
+ offset <= previousOffset) {
107
+ throw new Error(`${name}: ${label} must contain increasing in-bounds offsets`);
108
+ }
109
+ previousOffset = offset;
110
+ }
111
+ }
112
+ /** Return the maximum value of an unsigned glTF accessor component type. */
113
+ function getUnsignedMaximum(componentType) {
114
+ switch (componentType) {
115
+ case 5121:
116
+ return 0xff;
117
+ case 5123:
118
+ return 0xffff;
119
+ case 5125:
120
+ return 0xffffffff;
121
+ default:
122
+ throw new Error(`${name}: unsupported loop index component type ${componentType}`);
123
+ }
124
+ }
125
+ //# sourceMappingURL=EXT_mesh_polygon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EXT_mesh_polygon.js","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/EXT_mesh_polygon.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name2 in all)
8
+ __defProp(target, name2, { get: all[name2], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/gltf/lib/extensions/EXT_meshopt_compression.ts
21
+ var EXT_meshopt_compression_exports = {};
22
+ __export(EXT_meshopt_compression_exports, {
23
+ decode: () => decode,
24
+ name: () => name
25
+ });
26
+ module.exports = __toCommonJS(EXT_meshopt_compression_exports);
27
+ var import_meshopt_compression = require("./meshopt-compression.cjs");
28
+ var name = "EXT_meshopt_compression";
29
+ async function decode(gltfData, options) {
30
+ await (0, import_meshopt_compression.decodeMeshoptCompression)(gltfData, options, name);
31
+ }
32
+ // Annotate the CommonJS export names for ESM import in node:
33
+ 0 && (module.exports = {
34
+ decode,
35
+ name
36
+ });
37
+ //# sourceMappingURL=EXT_meshopt_compression.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/gltf/lib/extensions/EXT_meshopt_compression.ts"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\nimport type {GLTFLoaderOptions} from '../../gltf-loader-types';\nimport type {GLTFWithBuffers} from '../types/gltf-types';\nimport {decodeMeshoptCompression} from './meshopt-compression';\n\n/**\n * Exact glTF identifier for the ratified vendor meshopt buffer-view compression extension.\n *\n * This identifier remains supported for existing assets alongside the newer\n * `KHR_meshopt_compression` identifier.\n */\nexport const name = 'EXT_meshopt_compression';\n\n/**\n * Decodes all `EXT_meshopt_compression` buffer views in a loaded glTF document.\n *\n * Processing is a no-op unless both `options.gltf.loadBuffers` and\n * `options.gltf.decompressMeshes` are enabled. EXT streams use version 0 and the original four\n * post-decode filters; the maintained decoder is shared with KHR processing without changing the\n * EXT capability contract.\n *\n * @param gltfData Parsed glTF JSON together with its resolved source and destination buffers.\n * @param options glTF loader options controlling buffer loading and mesh decompression.\n * @returns A promise that resolves after all EXT meshopt buffer views have been decoded.\n * @throws If KHR and EXT meshopt declarations are mixed on the same buffer view or buffer, or if a\n * compressed stream is malformed.\n */\nexport async function decode(gltfData: GLTFWithBuffers, options: GLTFLoaderOptions): Promise<void> {\n await decodeMeshoptCompression(gltfData, options, name);\n}\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,iCAAuC;AAQhC,IAAM,OAAO;AAgBpB,eAAsB,OAAO,UAA2B,SAA2C;AACjG,YAAM,qDAAyB,UAAU,SAAS,IAAI;AACxD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,25 @@
1
+ import type { GLTFLoaderOptions } from "../../gltf-loader-types.js";
2
+ import type { GLTFWithBuffers } from "../types/gltf-types.js";
3
+ /**
4
+ * Exact glTF identifier for the ratified vendor meshopt buffer-view compression extension.
5
+ *
6
+ * This identifier remains supported for existing assets alongside the newer
7
+ * `KHR_meshopt_compression` identifier.
8
+ */
9
+ export declare const name = "EXT_meshopt_compression";
10
+ /**
11
+ * Decodes all `EXT_meshopt_compression` buffer views in a loaded glTF document.
12
+ *
13
+ * Processing is a no-op unless both `options.gltf.loadBuffers` and
14
+ * `options.gltf.decompressMeshes` are enabled. EXT streams use version 0 and the original four
15
+ * post-decode filters; the maintained decoder is shared with KHR processing without changing the
16
+ * EXT capability contract.
17
+ *
18
+ * @param gltfData Parsed glTF JSON together with its resolved source and destination buffers.
19
+ * @param options glTF loader options controlling buffer loading and mesh decompression.
20
+ * @returns A promise that resolves after all EXT meshopt buffer views have been decoded.
21
+ * @throws If KHR and EXT meshopt declarations are mixed on the same buffer view or buffer, or if a
22
+ * compressed stream is malformed.
23
+ */
24
+ export declare function decode(gltfData: GLTFWithBuffers, options: GLTFLoaderOptions): Promise<void>;
25
+ //# sourceMappingURL=EXT_meshopt_compression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EXT_meshopt_compression.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/EXT_meshopt_compression.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAC,mCAAgC;AAC/D,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AAGzD;;;;;GAKG;AACH,eAAO,MAAM,IAAI,4BAA4B,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAAC,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG"}
@@ -0,0 +1,29 @@
1
+ // loaders.gl
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright (c) vis.gl contributors
4
+ import { decodeMeshoptCompression } from "./meshopt-compression.js";
5
+ /**
6
+ * Exact glTF identifier for the ratified vendor meshopt buffer-view compression extension.
7
+ *
8
+ * This identifier remains supported for existing assets alongside the newer
9
+ * `KHR_meshopt_compression` identifier.
10
+ */
11
+ export const name = 'EXT_meshopt_compression';
12
+ /**
13
+ * Decodes all `EXT_meshopt_compression` buffer views in a loaded glTF document.
14
+ *
15
+ * Processing is a no-op unless both `options.gltf.loadBuffers` and
16
+ * `options.gltf.decompressMeshes` are enabled. EXT streams use version 0 and the original four
17
+ * post-decode filters; the maintained decoder is shared with KHR processing without changing the
18
+ * EXT capability contract.
19
+ *
20
+ * @param gltfData Parsed glTF JSON together with its resolved source and destination buffers.
21
+ * @param options glTF loader options controlling buffer loading and mesh decompression.
22
+ * @returns A promise that resolves after all EXT meshopt buffer views have been decoded.
23
+ * @throws If KHR and EXT meshopt declarations are mixed on the same buffer view or buffer, or if a
24
+ * compressed stream is malformed.
25
+ */
26
+ export async function decode(gltfData, options) {
27
+ await decodeMeshoptCompression(gltfData, options, name);
28
+ }
29
+ //# sourceMappingURL=EXT_meshopt_compression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EXT_meshopt_compression.js","sourceRoot":"","sources":["../../../../src/gltf/lib/extensions/EXT_meshopt_compression.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAIpC,OAAO,EAAC,wBAAwB,EAAC,iCAA8B;AAE/D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,IAAI,GAAG,yBAAyB,CAAC;AAE9C;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,QAAyB,EAAE,OAA0B;IAChF,MAAM,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC"}