@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,479 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/gltf/lib/api/normalize-gltf-v1.ts
31
+ var normalize_gltf_v1_exports = {};
32
+ __export(normalize_gltf_v1_exports, {
33
+ convertGLTFV1ToGLTF2: () => convertGLTFV1ToGLTF2,
34
+ normalizeGLTFV1: () => normalizeGLTFV1,
35
+ normalizeGLTFV1WithDeferredBuffers: () => normalizeGLTFV1WithDeferredBuffers
36
+ });
37
+ module.exports = __toCommonJS(normalize_gltf_v1_exports);
38
+ var KHR_binary_glTF = __toESM(require("../extensions/KHR_binary_gltf.cjs"), 1);
39
+ var import_convert_gltf_v1_accessors = require("./convert-gltf-v1-accessors.cjs");
40
+ var import_convert_gltf_v1_skins = require("./convert-gltf-v1-skins.cjs");
41
+ var import_bake_gltf_v1_bind_shapes = require("./bake-gltf-v1-bind-shapes.cjs");
42
+ var import_repack_gltf_v1_accessors = require("./repack-gltf-v1-accessors.cjs");
43
+ var import_clean_gltf_v1_fields = require("./clean-gltf-v1-fields.cjs");
44
+ var import_convert_gltf_v1_animations = require("./convert-gltf-v1-animations.cjs");
45
+ var import_convert_gltf_v1_skin_scenes = require("./convert-gltf-v1-skin-scenes.cjs");
46
+ var import_validate_gltf_v1_cameras = require("./validate-gltf-v1-cameras.cjs");
47
+ var import_validate_gltf_v1_payloads = require("./validate-gltf-v1-payloads.cjs");
48
+ var import_validate_gltf_v1_buffers = require("./validate-gltf-v1-buffers.cjs");
49
+ var import_convert_gltf_v1_matrix_nodes = require("./convert-gltf-v1-matrix-nodes.cjs");
50
+ var import_convert_gltf_v1_materials = require("./convert-gltf-v1-materials.cjs");
51
+ var GLTF_ARRAYS = {
52
+ accessors: "accessor",
53
+ animations: "animation",
54
+ buffers: "buffer",
55
+ bufferViews: "bufferView",
56
+ cameras: "camera",
57
+ images: "image",
58
+ materials: "material",
59
+ meshes: "mesh",
60
+ nodes: "node",
61
+ samplers: "sampler",
62
+ scenes: "scene",
63
+ skins: "skin",
64
+ textures: "texture"
65
+ };
66
+ var GLTF_KEYS = {
67
+ accessor: "accessors",
68
+ animations: "animation",
69
+ buffer: "buffers",
70
+ bufferView: "bufferViews",
71
+ camera: "cameras",
72
+ inverseBindMatrices: "accessors",
73
+ image: "images",
74
+ material: "materials",
75
+ mesh: "meshes",
76
+ node: "nodes",
77
+ sampler: "samplers",
78
+ scene: "scenes",
79
+ skin: "skins",
80
+ texture: "textures"
81
+ };
82
+ var GLTFV1Normalizer = class _GLTFV1Normalizer {
83
+ idToIndexMap = {
84
+ animations: {},
85
+ accessors: {},
86
+ buffers: {},
87
+ bufferViews: {},
88
+ cameras: {},
89
+ images: {},
90
+ materials: {},
91
+ meshes: {},
92
+ nodes: {},
93
+ samplers: {},
94
+ scenes: {},
95
+ skins: {},
96
+ textures: {}
97
+ };
98
+ json;
99
+ /** Diagnostics collected during this normalization pass. */
100
+ report = {
101
+ converted: false,
102
+ mutated: false,
103
+ unsupported: [],
104
+ warnings: []
105
+ };
106
+ /** Whether unsupported legacy features should abort conversion. */
107
+ strict = false;
108
+ /** Caller-owned logger receiving conversion notes and unsupported-feature warnings. */
109
+ log;
110
+ /** Whether binary baking and final diagnostics have already completed. */
111
+ finished = false;
112
+ /** Accessors whose loaded payload needs alignment or stride repair. */
113
+ pendingAccessors = /* @__PURE__ */ new Set();
114
+ /** Separated consumer interpretations, captured before legacy strides are consumed. */
115
+ accessorConversions = /* @__PURE__ */ new Map();
116
+ /** URI origins retained because the loader removes fetched URIs before binary completion. */
117
+ uriBufferIndices = /* @__PURE__ */ new Set();
118
+ // constructor() {}
119
+ /**
120
+ * Convert (normalize) glTF < 2.0 to glTF 2.0
121
+ * @param gltf - object with json and binChunks
122
+ * @param options
123
+ * @param options normalize Whether to actually normalize
124
+ * @param deferBinaryBaking Complete matrix baking after the loader resolves linked buffers.
125
+ */
126
+ normalize(gltf, options = {}, deferBinaryBaking = false) {
127
+ if (options.mutate === false) {
128
+ const converted = { ...gltf, json: JSON.parse(JSON.stringify(gltf.json)) };
129
+ const report = new _GLTFV1Normalizer().normalize(converted, { ...options, mutate: true });
130
+ report.mutated = false;
131
+ return report;
132
+ }
133
+ this.strict = options.normalize === "strict";
134
+ this.log = options.log;
135
+ this.json = gltf.json;
136
+ const json = gltf.json;
137
+ switch (json.asset && json.asset.version) {
138
+ // We are converting to v2 format. Return if there is nothing to do
139
+ case "2.0":
140
+ case "2.1":
141
+ return this.report;
142
+ // This class is written to convert 1.0
143
+ case void 0:
144
+ case "1.0":
145
+ break;
146
+ default:
147
+ this._warning(`Unknown glTF version ${json.asset.version}`);
148
+ return this.report;
149
+ }
150
+ if (!options.normalize) {
151
+ throw new Error("glTF v1 is not supported.");
152
+ }
153
+ this.report.converted = true;
154
+ this.report.mutated = true;
155
+ this.log?.log(1, "glTF: Converting glTF v1 to glTF v2 using experimental normalization.")();
156
+ this._addAsset(json);
157
+ this._orderBinaryBufferPayloads(gltf);
158
+ this._convertTopLevelObjectsToArrays(json);
159
+ KHR_binary_glTF.preprocess(gltf);
160
+ this._convertObjectIdsToArrayIndices(json);
161
+ this._updateObjects(json);
162
+ for (const [bufferIndex, buffer] of (json.buffers || []).entries())
163
+ if (typeof buffer.uri === "string") this.uriBufferIndices.add(bufferIndex);
164
+ const commonMaterialFallbacks = (0, import_convert_gltf_v1_materials.convertGLTFV1Materials)(
165
+ json,
166
+ (feature) => this._unsupported(feature),
167
+ (message) => this._warning(message)
168
+ );
169
+ (0, import_convert_gltf_v1_animations.convertGLTFV1Animations)(
170
+ json,
171
+ (reference, collection) => this._convertIdToIndex(reference, collection),
172
+ (feature) => this._unsupported(feature)
173
+ );
174
+ (0, import_validate_gltf_v1_cameras.validateGLTFV1Cameras)(json, (feature) => this._unsupported(feature));
175
+ (0, import_convert_gltf_v1_matrix_nodes.convertGLTFV1MatrixNodes)(
176
+ json,
177
+ (feature) => this._unsupported(feature),
178
+ (message) => this._warning(message)
179
+ );
180
+ (0, import_clean_gltf_v1_fields.cleanGLTFV1Fields)(json, (feature) => this._unsupported(feature));
181
+ this.accessorConversions = (0, import_repack_gltf_v1_accessors.prepareGLTFV1AccessorConversions)(json);
182
+ (0, import_convert_gltf_v1_accessors.convertGLTFV1AccessorStrides)(json, (accessorIndex) => this.pendingAccessors.add(accessorIndex));
183
+ (0, import_convert_gltf_v1_skins.convertGLTFV1Skins)(
184
+ json,
185
+ (nodeId) => this._convertIdToIndex(nodeId, "node"),
186
+ (feature) => this._unsupported(feature)
187
+ );
188
+ this._updateNodes(json);
189
+ (0, import_convert_gltf_v1_skin_scenes.convertGLTFV1SkinScenes)(
190
+ json,
191
+ (feature) => this._unsupported(feature),
192
+ (message) => this._warning(message)
193
+ );
194
+ this._preserveLegacyResources(json, commonMaterialFallbacks);
195
+ this._removeEmptyCollections(json);
196
+ return deferBinaryBaking ? this.report : this.finishNormalization(gltf);
197
+ }
198
+ /** Complete binary baking once linked buffers are available; repeated calls are harmless. */
199
+ finishNormalization(gltf) {
200
+ if (this.report.converted && !this.finished) {
201
+ (0, import_validate_gltf_v1_buffers.validateGLTFV1Buffers)(
202
+ gltf,
203
+ this.uriBufferIndices,
204
+ (feature) => this._unsupported(feature),
205
+ (message) => this._warning(message)
206
+ );
207
+ (0, import_repack_gltf_v1_accessors.repackGLTFV1Accessors)(
208
+ gltf,
209
+ this.accessorConversions,
210
+ this.pendingAccessors,
211
+ (feature) => this._unsupported(feature),
212
+ (message) => this._warning(message)
213
+ );
214
+ (0, import_bake_gltf_v1_bind_shapes.bakeGLTFV1BindShapes)(gltf, (feature) => this._unsupported(feature));
215
+ (0, import_validate_gltf_v1_payloads.validateGLTFV1Payloads)(
216
+ gltf,
217
+ (feature) => this._unsupported(feature),
218
+ (message) => this._warning(message)
219
+ );
220
+ this._finishReport();
221
+ this.log?.log(
222
+ 1,
223
+ `glTF: Completed glTF v1 normalization (${this.report.unsupported.length} unsupported features).`
224
+ )();
225
+ this.finished = true;
226
+ }
227
+ return this.report;
228
+ }
229
+ /** Record a feature that requires a lossy best-effort conversion. */
230
+ _unsupported(feature) {
231
+ this.report.unsupported.push(feature);
232
+ this.log?.warn(`glTF v1 normalization does not support ${feature}`)();
233
+ if (this.strict) {
234
+ throw new Error(`glTF v1 normalization does not support ${feature}`);
235
+ }
236
+ }
237
+ /** Add a diagnostic without rejecting conversion. */
238
+ _warning(message) {
239
+ this.report.warnings.push(message);
240
+ this.log?.warn(`glTF: ${message}`)();
241
+ }
242
+ // asset is now required, #642 https://github.com/KhronosGroup/glTF/issues/639
243
+ _addAsset(json) {
244
+ json.asset = json.asset || {};
245
+ json.asset.version = "2.0";
246
+ json.asset.generator = json.asset.generator || "Normalized to glTF 2.0 by loaders.gl";
247
+ }
248
+ /** Keep loaded buffer payloads aligned when the GLB 1 body is moved to index zero. */
249
+ _orderBinaryBufferPayloads(gltf) {
250
+ const buffers = this.json.buffers;
251
+ if (!buffers || Array.isArray(buffers) || !buffers.binary_glTF) {
252
+ return;
253
+ }
254
+ const bufferIds = Object.keys(buffers);
255
+ const binaryBufferIndex = bufferIds.indexOf("binary_glTF");
256
+ if (binaryBufferIndex > 0) {
257
+ if (gltf.buffers?.length) {
258
+ gltf.buffers = [
259
+ gltf.buffers[binaryBufferIndex],
260
+ ...gltf.buffers.filter((buffer, bufferIndex) => bufferIndex !== binaryBufferIndex)
261
+ ];
262
+ }
263
+ }
264
+ }
265
+ _convertTopLevelObjectsToArrays(json) {
266
+ for (const arrayName in GLTF_ARRAYS) {
267
+ this._convertTopLevelObjectToArray(json, arrayName);
268
+ }
269
+ }
270
+ /** Convert one top level object to array */
271
+ _convertTopLevelObjectToArray(json, mapName) {
272
+ const objectMap = json[mapName];
273
+ if (!objectMap || Array.isArray(objectMap)) {
274
+ return;
275
+ }
276
+ json[mapName] = [];
277
+ const objectIds = Object.keys(objectMap);
278
+ const orderedIds = mapName === "buffers" && objectIds.includes("binary_glTF") ? ["binary_glTF", ...objectIds.filter((id) => id !== "binary_glTF")] : objectIds;
279
+ for (const id of orderedIds) {
280
+ const object = objectMap[id];
281
+ object.id = object.id || id;
282
+ const index = json[mapName].length;
283
+ json[mapName].push(object);
284
+ this.idToIndexMap[mapName][id] = index;
285
+ }
286
+ }
287
+ /** Go through all objects in all top-level arrays and replace ids with indices */
288
+ _convertObjectIdsToArrayIndices(json) {
289
+ for (const arrayName in GLTF_ARRAYS) {
290
+ this._convertIdsToIndices(json, arrayName);
291
+ }
292
+ if ("scene" in json) {
293
+ json.scene = this._convertIdToIndex(json.scene, "scene");
294
+ }
295
+ for (const texture of json.textures) {
296
+ this._convertTextureIds(texture);
297
+ }
298
+ for (const mesh of json.meshes) {
299
+ this._convertMeshIds(mesh);
300
+ }
301
+ for (const node of json.nodes) {
302
+ this._convertNodeIds(node);
303
+ }
304
+ for (const node of json.scenes) {
305
+ this._convertSceneIds(node);
306
+ }
307
+ }
308
+ _convertTextureIds(texture) {
309
+ if (texture.source) {
310
+ texture.source = this._convertIdToIndex(texture.source, "image");
311
+ }
312
+ }
313
+ _convertMeshIds(mesh) {
314
+ for (const primitive of mesh.primitives) {
315
+ const { attributes, indices, material } = primitive;
316
+ const convertedNames = /* @__PURE__ */ new Map();
317
+ for (const attributeName in attributes) {
318
+ const convertedName = (0, import_clean_gltf_v1_fields.convertGLTFV1AttributeName)(attributeName);
319
+ const previousName = convertedNames.get(convertedName);
320
+ if (previousName !== void 0 && attributes[previousName] !== attributes[attributeName]) {
321
+ throw new Error(
322
+ `glTF v1: conflicting attribute aliases ${previousName} and ${attributeName}`
323
+ );
324
+ }
325
+ convertedNames.set(convertedName, attributeName);
326
+ }
327
+ primitive.attributes = Object.fromEntries(
328
+ Object.entries(attributes).map(([attributeName, accessorId]) => [
329
+ (0, import_clean_gltf_v1_fields.convertGLTFV1AttributeName)(attributeName),
330
+ this._convertIdToIndex(accessorId, "accessor")
331
+ ])
332
+ );
333
+ if (indices) {
334
+ primitive.indices = this._convertIdToIndex(indices, "accessor");
335
+ }
336
+ if (material) {
337
+ primitive.material = this._convertIdToIndex(material, "material");
338
+ }
339
+ }
340
+ }
341
+ _convertNodeIds(node) {
342
+ if (node.children) {
343
+ node.children = node.children.map((child) => this._convertIdToIndex(child, "node"));
344
+ }
345
+ if (node.meshes) {
346
+ node.meshes = node.meshes.map((mesh) => this._convertIdToIndex(mesh, "mesh"));
347
+ }
348
+ }
349
+ _convertSceneIds(scene) {
350
+ if (scene.nodes) {
351
+ scene.nodes = scene.nodes.map((node) => this._convertIdToIndex(node, "node"));
352
+ }
353
+ }
354
+ /** Go through all objects in a top-level array and replace ids with indices */
355
+ _convertIdsToIndices(json, topLevelArrayName) {
356
+ if (!json[topLevelArrayName]) {
357
+ json[topLevelArrayName] = [];
358
+ }
359
+ for (const object of json[topLevelArrayName]) {
360
+ for (const key in object) {
361
+ const id = object[key];
362
+ const index = this._convertIdToIndex(id, key);
363
+ object[key] = index;
364
+ }
365
+ }
366
+ }
367
+ _convertIdToIndex(id, key) {
368
+ const arrayName = GLTF_KEYS[key];
369
+ if (arrayName in this.idToIndexMap) {
370
+ const index = this.idToIndexMap[arrayName][id];
371
+ if (!Number.isFinite(index)) {
372
+ throw new Error(`gltf v1: failed to resolve ${key} with id ${id}`);
373
+ }
374
+ return index;
375
+ }
376
+ return id;
377
+ }
378
+ /**
379
+ *
380
+ * @param {*} json
381
+ */
382
+ _updateObjects(json) {
383
+ for (const buffer of this.json.buffers) {
384
+ delete buffer.type;
385
+ }
386
+ }
387
+ /** Split glTF 1 nodes that reference multiple meshes into glTF 2-compatible nodes. */
388
+ _updateNodes(json) {
389
+ const nodes = json.nodes || [];
390
+ for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {
391
+ const node = nodes[nodeIndex];
392
+ if (!Array.isArray(node.meshes)) {
393
+ continue;
394
+ }
395
+ const meshIndices = node.meshes;
396
+ delete node.meshes;
397
+ node.mesh = meshIndices.shift();
398
+ for (const meshIndex of meshIndices) {
399
+ const extraNode = { ...node, mesh: meshIndex, children: void 0 };
400
+ delete extraNode.id;
401
+ delete extraNode.matrix;
402
+ delete extraNode.translation;
403
+ delete extraNode.rotation;
404
+ delete extraNode.scale;
405
+ nodes.push(extraNode);
406
+ node.children ||= [];
407
+ node.children.push(nodes.length - 1);
408
+ }
409
+ }
410
+ }
411
+ /** Preserve v1 techniques, programs, and shaders without pretending they are PBR materials. */
412
+ _preserveLegacyResources(json, commonMaterialFallbacks) {
413
+ const coveredFallbacks = (0, import_convert_gltf_v1_materials.canPreserveGLTFV1MaterialFallbacks)(json, commonMaterialFallbacks);
414
+ const resources = {};
415
+ for (const resourceName of ["techniques", "programs", "shaders"]) {
416
+ if (json[resourceName]) {
417
+ resources[resourceName] = json[resourceName];
418
+ delete json[resourceName];
419
+ if (!coveredFallbacks) this._unsupported(`legacy ${resourceName}`);
420
+ }
421
+ }
422
+ if (Object.keys(resources).length) {
423
+ json.extras = { ...json.extras, gltf1Resources: resources };
424
+ if (coveredFallbacks)
425
+ this._warning("Preserved shader resources overridden by converted common materials.");
426
+ }
427
+ }
428
+ /** Omit optional empty root collections, child lists, and scene roots rejected by glTF 2. */
429
+ _removeEmptyCollections(json) {
430
+ for (const node of json.nodes || []) {
431
+ if (Array.isArray(node.children) && node.children.length === 0) delete node.children;
432
+ }
433
+ for (const scene of json.scenes || []) {
434
+ if (Array.isArray(scene.nodes) && scene.nodes.length === 0) delete scene.nodes;
435
+ }
436
+ for (const collectionName of [
437
+ ...Object.keys(GLTF_ARRAYS),
438
+ "extensionsUsed",
439
+ "extensionsRequired"
440
+ ]) {
441
+ if (Array.isArray(json[collectionName]) && json[collectionName].length === 0) {
442
+ delete json[collectionName];
443
+ }
444
+ }
445
+ }
446
+ /** Finalize report diagnostics. */
447
+ _finishReport() {
448
+ if (this.report.unsupported.length) {
449
+ this.report.warnings.push(
450
+ `Converted glTF v1 with unsupported features: ${this.report.unsupported.join(", ")}`
451
+ );
452
+ }
453
+ }
454
+ };
455
+ function normalizeGLTFV1(gltf, options = {}) {
456
+ return new GLTFV1Normalizer().normalize(gltf, options);
457
+ }
458
+ function normalizeGLTFV1WithDeferredBuffers(gltf, options = {}) {
459
+ const normalizer = new GLTFV1Normalizer();
460
+ normalizer.normalize(gltf, options, true);
461
+ return () => normalizer.finishNormalization(gltf);
462
+ }
463
+ function convertGLTFV1ToGLTF2(gltf, options = {}) {
464
+ const converted = { ...gltf, json: JSON.parse(JSON.stringify(gltf.json)) };
465
+ const normalizationReport = normalizeGLTFV1(converted, {
466
+ normalize: options.normalize || "best-effort",
467
+ mutate: true,
468
+ log: options.log
469
+ });
470
+ normalizationReport.mutated = false;
471
+ return { ...converted, normalizationReport };
472
+ }
473
+ // Annotate the CommonJS export names for ESM import in node:
474
+ 0 && (module.exports = {
475
+ convertGLTFV1ToGLTF2,
476
+ normalizeGLTFV1,
477
+ normalizeGLTFV1WithDeferredBuffers
478
+ });
479
+ //# sourceMappingURL=normalize-gltf-v1.cjs.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/gltf/lib/api/normalize-gltf-v1.ts"],
4
+ "sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n/* eslint-disable camelcase */\nimport * as KHR_binary_glTF from '../extensions/KHR_binary_gltf';\nimport type {GLTFWithBuffers} from '../types/gltf-types';\nimport {convertGLTFV1AccessorStrides} from './convert-gltf-v1-accessors';\nimport {convertGLTFV1Skins} from './convert-gltf-v1-skins';\nimport {bakeGLTFV1BindShapes} from './bake-gltf-v1-bind-shapes';\nimport {\n prepareGLTFV1AccessorConversions,\n repackGLTFV1Accessors,\n type GLTFV1AccessorConversion\n} from './repack-gltf-v1-accessors';\nimport {cleanGLTFV1Fields, convertGLTFV1AttributeName} from './clean-gltf-v1-fields';\nimport {convertGLTFV1Animations} from './convert-gltf-v1-animations';\nimport {convertGLTFV1SkinScenes} from './convert-gltf-v1-skin-scenes';\nimport {validateGLTFV1Cameras} from './validate-gltf-v1-cameras';\nimport {validateGLTFV1Payloads} from './validate-gltf-v1-payloads';\nimport {validateGLTFV1Buffers} from './validate-gltf-v1-buffers';\nimport {convertGLTFV1MatrixNodes} from './convert-gltf-v1-matrix-nodes';\nimport {\n convertGLTFV1Materials,\n canPreserveGLTFV1MaterialFallbacks\n} from './convert-gltf-v1-materials';\n\n// Binary format changes (mainly implemented by GLBLoader)\n// https://github.com/KhronosGroup/glTF/tree/master/extensions/1.0/Khronos/KHR_binary_glTF\n\n// JSON format changes:\n// https://github.com/khronosgroup/gltf/issues/605\n\n// - [x] Top-level JSON objects are arrays now\n// - [ ] Removed indirection from animation: sampler now refers directly to accessors, #712\n// - [ ] material.parameter.value and technique.parameter.value must be an array, #690\n// - [ ] Node can have only one mesh #821\n// - [ ] Added reqs on JSON encoding\n// - [ ] Added reqs on binary data alignment #802 (comment)\n\n// Additions:\n// - [ ] Added accessor.normalized, #691, #706\n// - [ ] Added glExtensionsUsed property and 5125 (UNSIGNED_INT) accessor.componentType value, #619\n// - [ ] Added extensionsRequired property, #720, #721\n// - [ ] Added \"STEP\" as valid animation.sampler.interpolation value, #712\n\n// Removals:\n// - [x] Removed buffer.type, #786, #629\n// - [ ] Removed revision number from profile.version, #709\n// - [ ] Removed technique.functions.scissor and removed 3089 (SCISSOR_TEST) as a valid value for technique.states.enable, #681\n// - [ ] Techniques, programs, and shaders were moved out to KHR_technique_webgl extension.\n\n// Other edits:\n// - [x] asset is now required, #642\n// - [ ] buffer.byteLength and bufferView.byteLength are now required, #560.\n// - [ ] accessor.min and accessor.max are now required, #593, and clarified that the JSON value and binary data must be the same, #628.\n// - [ ] Clarified animation.sampler and animation.channel restrictions, #712\n// - [ ] skin.inverseBindMatrices is now optional, #461.\n// - [ ] Attribute parameters can't have a value defined in the technique or parameter, #563 (comment).\n// - [ ] Only TEXCOORD and COLOR attribute semantics can be written in the form [semantic]_[set_index], #563 (comment).\n// - [ ] TEXCOORD and COLOR attribute semantics must be written in the form [semantic]_[set_index], e.g., just TEXCOORD should be TEXCOORD_0, and just COLOR should be COLOR_0, #649\n// - [ ] camera.perspective.aspectRatio and camera.perspective.yfov must now be > 0, not >= 0, #563 (comment).\n// - [ ] Application-specific parameter semantics must start with an underscore, e.g., _TEMPERATURE and _SIMULATION_TIME, #563 (comment).\n// - [ ] Properties in technique.parameters must be defined in technique.uniforms or technique.attributes,\n\n// #563 (comment).\n// - [ ] technique.parameter.count can only be defined when the semantic is JOINTMATRIX or an application-specific semantic is used. It can never be defined for attribute parameters; only uniforms, d2f6945\n// - [ ] technique.parameter.semantic is required when the parameter is an attribute, 28e113d\n// - [ ] Mesh-only models are allowed, e.g., without materials, #642\n// - [ ] Skeleton hierarchies (nodes containing jointName) must be separated from non-skeleton hierarchies., #647\n// - [ ] technique.states.functions.blendColor and technique.states.functions.depthRange parameters now must match WebGL function min/max, #707\n\nconst GLTF_ARRAYS = {\n accessors: 'accessor',\n animations: 'animation',\n buffers: 'buffer',\n bufferViews: 'bufferView',\n cameras: 'camera',\n images: 'image',\n materials: 'material',\n meshes: 'mesh',\n nodes: 'node',\n samplers: 'sampler',\n scenes: 'scene',\n skins: 'skin',\n textures: 'texture'\n};\n\nconst GLTF_KEYS = {\n accessor: 'accessors',\n animations: 'animation',\n buffer: 'buffers',\n bufferView: 'bufferViews',\n camera: 'cameras',\n inverseBindMatrices: 'accessors',\n image: 'images',\n material: 'materials',\n mesh: 'meshes',\n node: 'nodes',\n sampler: 'samplers',\n scene: 'scenes',\n skin: 'skins',\n texture: 'textures'\n};\n\n/** Diagnostics emitted while converting a glTF 1 asset to glTF 2. */\nexport type GLTFV1NormalizationReport = {\n /** Whether a glTF 1 asset was detected and converted. */\n converted: boolean;\n /** Whether the input JSON was mutated in place. */\n mutated: boolean;\n /** Features that could not be represented without loss. */\n unsupported: string[];\n /** Non-fatal conversion notes. */\n warnings: string[];\n};\n\n/** Lazy logging methods compatible with probe.gl and loaders.gl core loggers. */\nexport type GLTFV1NormalizationLog = {\n /** Create a level-controlled informational callback. */\n log(priority: number, message: string): () => void;\n /** Create a warning callback. */\n warn(message: string): () => void;\n};\n\n/** Options for glTF 1 to glTF 2 conversion. */\nexport type GLTFV1NormalizationOptions = {\n /** Enable conversion. `'strict'` rejects unsupported features; other values are best effort. */\n normalize?: boolean | 'best-effort' | 'strict';\n /** Mutate the supplied JSON. Defaults to true for backwards compatibility. */\n mutate?: boolean;\n /** Optional probe.gl-compatible logger; absent or null leaves diagnostics in the report only. */\n log?: GLTFV1NormalizationLog | null;\n};\n\n/**\n * Converts (normalizes) glTF v1 to v2\n */\nclass GLTFV1Normalizer {\n idToIndexMap = {\n animations: {},\n accessors: {},\n buffers: {},\n bufferViews: {},\n cameras: {},\n images: {},\n materials: {},\n meshes: {},\n nodes: {},\n samplers: {},\n scenes: {},\n skins: {},\n textures: {}\n };\n\n json;\n /** Diagnostics collected during this normalization pass. */\n report: GLTFV1NormalizationReport = {\n converted: false,\n mutated: false,\n unsupported: [],\n warnings: []\n };\n /** Whether unsupported legacy features should abort conversion. */\n strict = false;\n /** Caller-owned logger receiving conversion notes and unsupported-feature warnings. */\n log?: GLTFV1NormalizationLog | null;\n /** Whether binary baking and final diagnostics have already completed. */\n finished = false;\n /** Accessors whose loaded payload needs alignment or stride repair. */\n pendingAccessors = new Set<number>();\n /** Separated consumer interpretations, captured before legacy strides are consumed. */\n accessorConversions = new Map<number, GLTFV1AccessorConversion>();\n /** URI origins retained because the loader removes fetched URIs before binary completion. */\n uriBufferIndices = new Set<number>();\n\n // constructor() {}\n\n /**\n * Convert (normalize) glTF < 2.0 to glTF 2.0\n * @param gltf - object with json and binChunks\n * @param options\n * @param options normalize Whether to actually normalize\n * @param deferBinaryBaking Complete matrix baking after the loader resolves linked buffers.\n */\n normalize(\n gltf,\n options: GLTFV1NormalizationOptions = {},\n deferBinaryBaking = false\n ): GLTFV1NormalizationReport {\n if (options.mutate === false) {\n const converted = {...gltf, json: JSON.parse(JSON.stringify(gltf.json))};\n const report = new GLTFV1Normalizer().normalize(converted, {...options, mutate: true});\n report.mutated = false;\n return report;\n }\n this.strict = options.normalize === 'strict';\n this.log = options.log;\n this.json = gltf.json;\n const json = gltf.json;\n\n // Check version\n switch (json.asset && json.asset.version) {\n // We are converting to v2 format. Return if there is nothing to do\n case '2.0':\n case '2.1':\n return this.report;\n\n // This class is written to convert 1.0\n case undefined:\n case '1.0':\n break;\n\n default:\n this._warning(`Unknown glTF version ${json.asset.version}`);\n return this.report;\n }\n\n if (!options.normalize) {\n // We are still missing a few conversion tricks, remove once addressed\n throw new Error('glTF v1 is not supported.');\n }\n\n this.report.converted = true;\n this.report.mutated = true;\n\n this.log?.log(1, 'glTF: Converting glTF v1 to glTF v2 using experimental normalization.')();\n\n this._addAsset(json);\n this._orderBinaryBufferPayloads(gltf);\n\n // In glTF2 top-level fields are Arrays not Object maps\n this._convertTopLevelObjectsToArrays(json);\n\n // Extract bufferView indices for images\n // (this extension needs to be invoked early in the normalization process)\n // TODO can this be handled by standard extension processing instead of called explicitly?\n KHR_binary_glTF.preprocess(gltf);\n\n // Convert object references from ids to indices\n this._convertObjectIdsToArrayIndices(json);\n\n this._updateObjects(json);\n for (const [bufferIndex, buffer] of (json.buffers || []).entries())\n if (typeof buffer.uri === 'string') this.uriBufferIndices.add(bufferIndex);\n\n const commonMaterialFallbacks = convertGLTFV1Materials(\n json,\n feature => this._unsupported(feature),\n message => this._warning(message)\n );\n convertGLTFV1Animations(\n json,\n (reference, collection) => this._convertIdToIndex(reference, collection),\n feature => this._unsupported(feature)\n );\n validateGLTFV1Cameras(json, feature => this._unsupported(feature));\n convertGLTFV1MatrixNodes(\n json,\n feature => this._unsupported(feature),\n message => this._warning(message)\n );\n cleanGLTFV1Fields(json, feature => this._unsupported(feature));\n this.accessorConversions = prepareGLTFV1AccessorConversions(json);\n convertGLTFV1AccessorStrides(json, accessorIndex => this.pendingAccessors.add(accessorIndex));\n convertGLTFV1Skins(\n json,\n nodeId => this._convertIdToIndex(nodeId, 'node'),\n feature => this._unsupported(feature)\n );\n this._updateNodes(json);\n convertGLTFV1SkinScenes(\n json,\n feature => this._unsupported(feature),\n message => this._warning(message)\n );\n this._preserveLegacyResources(json, commonMaterialFallbacks);\n this._removeEmptyCollections(json);\n return deferBinaryBaking ? this.report : this.finishNormalization(gltf);\n }\n\n /** Complete binary baking once linked buffers are available; repeated calls are harmless. */\n finishNormalization(gltf: GLTFWithBuffers): GLTFV1NormalizationReport {\n if (this.report.converted && !this.finished) {\n validateGLTFV1Buffers(\n gltf,\n this.uriBufferIndices,\n feature => this._unsupported(feature),\n message => this._warning(message)\n );\n repackGLTFV1Accessors(\n gltf,\n this.accessorConversions,\n this.pendingAccessors,\n feature => this._unsupported(feature),\n message => this._warning(message)\n );\n bakeGLTFV1BindShapes(gltf, feature => this._unsupported(feature));\n validateGLTFV1Payloads(\n gltf,\n feature => this._unsupported(feature),\n message => this._warning(message)\n );\n this._finishReport();\n this.log?.log(\n 1,\n `glTF: Completed glTF v1 normalization (${this.report.unsupported.length} unsupported features).`\n )();\n this.finished = true;\n }\n return this.report;\n }\n\n /** Record a feature that requires a lossy best-effort conversion. */\n _unsupported(feature: string): void {\n this.report.unsupported.push(feature);\n this.log?.warn(`glTF v1 normalization does not support ${feature}`)();\n if (this.strict) {\n throw new Error(`glTF v1 normalization does not support ${feature}`);\n }\n }\n\n /** Add a diagnostic without rejecting conversion. */\n _warning(message: string): void {\n this.report.warnings.push(message);\n this.log?.warn(`glTF: ${message}`)();\n }\n\n // asset is now required, #642 https://github.com/KhronosGroup/glTF/issues/639\n _addAsset(json) {\n json.asset = json.asset || {};\n // We are normalizing to glTF v2, so change version to \"2.0\"\n json.asset.version = '2.0';\n json.asset.generator = json.asset.generator || 'Normalized to glTF 2.0 by loaders.gl';\n }\n\n /** Keep loaded buffer payloads aligned when the GLB 1 body is moved to index zero. */\n _orderBinaryBufferPayloads(gltf: GLTFWithBuffers): void {\n const buffers = this.json.buffers;\n if (!buffers || Array.isArray(buffers) || !buffers.binary_glTF) {\n return;\n }\n const bufferIds = Object.keys(buffers);\n const binaryBufferIndex = bufferIds.indexOf('binary_glTF');\n if (binaryBufferIndex > 0) {\n if (gltf.buffers?.length) {\n gltf.buffers = [\n gltf.buffers[binaryBufferIndex],\n ...gltf.buffers.filter((buffer, bufferIndex) => bufferIndex !== binaryBufferIndex)\n ];\n }\n }\n }\n\n _convertTopLevelObjectsToArrays(json) {\n // TODO check that all arrays are covered\n for (const arrayName in GLTF_ARRAYS) {\n this._convertTopLevelObjectToArray(json, arrayName);\n }\n }\n\n /** Convert one top level object to array */\n _convertTopLevelObjectToArray(json, mapName) {\n const objectMap = json[mapName];\n if (!objectMap || Array.isArray(objectMap)) {\n return;\n }\n\n // Rewrite the top-level field as an array\n json[mapName] = [];\n // Copy the map key into object.id\n const objectIds = Object.keys(objectMap);\n const orderedIds =\n mapName === 'buffers' && objectIds.includes('binary_glTF')\n ? ['binary_glTF', ...objectIds.filter(id => id !== 'binary_glTF')]\n : objectIds;\n for (const id of orderedIds) {\n const object = objectMap[id];\n object.id = object.id || id; // Mutates the loaded object\n const index = json[mapName].length;\n json[mapName].push(object);\n this.idToIndexMap[mapName][id] = index;\n }\n }\n\n /** Go through all objects in all top-level arrays and replace ids with indices */\n _convertObjectIdsToArrayIndices(json) {\n for (const arrayName in GLTF_ARRAYS) {\n this._convertIdsToIndices(json, arrayName);\n }\n if ('scene' in json) {\n json.scene = this._convertIdToIndex(json.scene, 'scene');\n }\n\n // Convert any index references that are not using array names\n\n // texture.source (image)\n for (const texture of json.textures) {\n this._convertTextureIds(texture);\n }\n for (const mesh of json.meshes) {\n this._convertMeshIds(mesh);\n }\n for (const node of json.nodes) {\n this._convertNodeIds(node);\n }\n for (const node of json.scenes) {\n this._convertSceneIds(node);\n }\n }\n\n _convertTextureIds(texture) {\n if (texture.source) {\n texture.source = this._convertIdToIndex(texture.source, 'image');\n }\n }\n\n _convertMeshIds(mesh) {\n for (const primitive of mesh.primitives) {\n const {attributes, indices, material} = primitive;\n const convertedNames = new Map<string, string>();\n for (const attributeName in attributes) {\n const convertedName = convertGLTFV1AttributeName(attributeName);\n const previousName = convertedNames.get(convertedName);\n if (previousName !== undefined && attributes[previousName] !== attributes[attributeName]) {\n throw new Error(\n `glTF v1: conflicting attribute aliases ${previousName} and ${attributeName}`\n );\n }\n convertedNames.set(convertedName, attributeName);\n }\n primitive.attributes = Object.fromEntries(\n Object.entries(attributes).map(([attributeName, accessorId]) => [\n convertGLTFV1AttributeName(attributeName),\n this._convertIdToIndex(accessorId, 'accessor')\n ])\n );\n if (indices) {\n primitive.indices = this._convertIdToIndex(indices, 'accessor');\n }\n if (material) {\n primitive.material = this._convertIdToIndex(material, 'material');\n }\n }\n }\n\n _convertNodeIds(node) {\n if (node.children) {\n node.children = node.children.map(child => this._convertIdToIndex(child, 'node'));\n }\n if (node.meshes) {\n node.meshes = node.meshes.map(mesh => this._convertIdToIndex(mesh, 'mesh'));\n }\n }\n\n _convertSceneIds(scene) {\n if (scene.nodes) {\n scene.nodes = scene.nodes.map(node => this._convertIdToIndex(node, 'node'));\n }\n }\n\n /** Go through all objects in a top-level array and replace ids with indices */\n _convertIdsToIndices(json, topLevelArrayName) {\n if (!json[topLevelArrayName]) {\n // Optional absent collections need no assumption or warning.\n json[topLevelArrayName] = [];\n }\n for (const object of json[topLevelArrayName]) {\n for (const key in object) {\n const id = object[key];\n const index = this._convertIdToIndex(id, key);\n object[key] = index;\n }\n }\n }\n\n _convertIdToIndex(id, key) {\n const arrayName = GLTF_KEYS[key];\n if (arrayName in this.idToIndexMap) {\n const index = this.idToIndexMap[arrayName][id];\n if (!Number.isFinite(index)) {\n throw new Error(`gltf v1: failed to resolve ${key} with id ${id}`);\n }\n return index;\n }\n return id;\n }\n\n /**\n *\n * @param {*} json\n */\n _updateObjects(json) {\n for (const buffer of this.json.buffers) {\n // - [x] Removed buffer.type, #786, #629\n delete buffer.type;\n }\n }\n\n /** Split glTF 1 nodes that reference multiple meshes into glTF 2-compatible nodes. */\n _updateNodes(json): void {\n const nodes = json.nodes || [];\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\n const node = nodes[nodeIndex];\n if (!Array.isArray(node.meshes)) {\n continue;\n }\n const meshIndices = node.meshes;\n delete node.meshes;\n node.mesh = meshIndices.shift();\n for (const meshIndex of meshIndices) {\n const extraNode = {...node, mesh: meshIndex, children: undefined};\n delete extraNode.id;\n delete extraNode.matrix;\n delete extraNode.translation;\n delete extraNode.rotation;\n delete extraNode.scale;\n nodes.push(extraNode);\n node.children ||= [];\n node.children.push(nodes.length - 1);\n }\n }\n }\n\n /** Preserve v1 techniques, programs, and shaders without pretending they are PBR materials. */\n _preserveLegacyResources(json, commonMaterialFallbacks: Set<string>): void {\n const coveredFallbacks = canPreserveGLTFV1MaterialFallbacks(json, commonMaterialFallbacks);\n const resources = {};\n for (const resourceName of ['techniques', 'programs', 'shaders']) {\n if (json[resourceName]) {\n resources[resourceName] = json[resourceName];\n delete json[resourceName];\n if (!coveredFallbacks) this._unsupported(`legacy ${resourceName}`);\n }\n }\n if (Object.keys(resources).length) {\n json.extras = {...json.extras, gltf1Resources: resources};\n if (coveredFallbacks)\n this._warning('Preserved shader resources overridden by converted common materials.');\n }\n }\n\n /** Omit optional empty root collections, child lists, and scene roots rejected by glTF 2. */\n _removeEmptyCollections(json): void {\n for (const node of json.nodes || []) {\n if (Array.isArray(node.children) && node.children.length === 0) delete node.children;\n }\n for (const scene of json.scenes || []) {\n if (Array.isArray(scene.nodes) && scene.nodes.length === 0) delete scene.nodes;\n }\n for (const collectionName of [\n ...Object.keys(GLTF_ARRAYS),\n 'extensionsUsed',\n 'extensionsRequired'\n ]) {\n if (Array.isArray(json[collectionName]) && json[collectionName].length === 0) {\n delete json[collectionName];\n }\n }\n }\n\n /** Finalize report diagnostics. */\n _finishReport(): void {\n if (this.report.unsupported.length) {\n this.report.warnings.push(\n `Converted glTF v1 with unsupported features: ${this.report.unsupported.join(', ')}`\n );\n }\n }\n}\n\n/** Normalize a glTF 1 asset in place, preserving the historical loader behavior. */\nexport function normalizeGLTFV1(\n gltf: GLTFWithBuffers,\n options: GLTFV1NormalizationOptions = {}\n): GLTFV1NormalizationReport {\n return new GLTFV1Normalizer().normalize(gltf, options);\n}\n\n/** Normalize parser JSON now, returning an internal completion step for linked-buffer baking. */\nexport function normalizeGLTFV1WithDeferredBuffers(\n gltf: GLTFWithBuffers,\n options: Pick<GLTFV1NormalizationOptions, 'normalize' | 'log'> = {}\n): () => GLTFV1NormalizationReport {\n const normalizer = new GLTFV1Normalizer();\n normalizer.normalize(gltf, options, true);\n return () => normalizer.finishNormalization(gltf);\n}\n\n/** Convert glTF 1 JSON without mutating the caller-owned asset or its binary buffers. */\nexport function convertGLTFV1ToGLTF2(\n gltf: GLTFWithBuffers,\n options: Omit<GLTFV1NormalizationOptions, 'mutate'> = {}\n): GLTFWithBuffers & {normalizationReport: GLTFV1NormalizationReport} {\n const converted = {...gltf, json: JSON.parse(JSON.stringify(gltf.json))};\n const normalizationReport = normalizeGLTFV1(converted, {\n normalize: options.normalize || 'best-effort',\n mutate: true,\n log: options.log\n });\n normalizationReport.mutated = false;\n return {...converted, normalizationReport};\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -0,0 +1,37 @@
1
+ import type { GLTFWithBuffers } from "../types/gltf-types.js";
2
+ /** Diagnostics emitted while converting a glTF 1 asset to glTF 2. */
3
+ export type GLTFV1NormalizationReport = {
4
+ /** Whether a glTF 1 asset was detected and converted. */
5
+ converted: boolean;
6
+ /** Whether the input JSON was mutated in place. */
7
+ mutated: boolean;
8
+ /** Features that could not be represented without loss. */
9
+ unsupported: string[];
10
+ /** Non-fatal conversion notes. */
11
+ warnings: string[];
12
+ };
13
+ /** Lazy logging methods compatible with probe.gl and loaders.gl core loggers. */
14
+ export type GLTFV1NormalizationLog = {
15
+ /** Create a level-controlled informational callback. */
16
+ log(priority: number, message: string): () => void;
17
+ /** Create a warning callback. */
18
+ warn(message: string): () => void;
19
+ };
20
+ /** Options for glTF 1 to glTF 2 conversion. */
21
+ export type GLTFV1NormalizationOptions = {
22
+ /** Enable conversion. `'strict'` rejects unsupported features; other values are best effort. */
23
+ normalize?: boolean | 'best-effort' | 'strict';
24
+ /** Mutate the supplied JSON. Defaults to true for backwards compatibility. */
25
+ mutate?: boolean;
26
+ /** Optional probe.gl-compatible logger; absent or null leaves diagnostics in the report only. */
27
+ log?: GLTFV1NormalizationLog | null;
28
+ };
29
+ /** Normalize a glTF 1 asset in place, preserving the historical loader behavior. */
30
+ export declare function normalizeGLTFV1(gltf: GLTFWithBuffers, options?: GLTFV1NormalizationOptions): GLTFV1NormalizationReport;
31
+ /** Normalize parser JSON now, returning an internal completion step for linked-buffer baking. */
32
+ export declare function normalizeGLTFV1WithDeferredBuffers(gltf: GLTFWithBuffers, options?: Pick<GLTFV1NormalizationOptions, 'normalize' | 'log'>): () => GLTFV1NormalizationReport;
33
+ /** Convert glTF 1 JSON without mutating the caller-owned asset or its binary buffers. */
34
+ export declare function convertGLTFV1ToGLTF2(gltf: GLTFWithBuffers, options?: Omit<GLTFV1NormalizationOptions, 'mutate'>): GLTFWithBuffers & {
35
+ normalizationReport: GLTFV1NormalizationReport;
36
+ };
37
+ //# sourceMappingURL=normalize-gltf-v1.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize-gltf-v1.d.ts","sourceRoot":"","sources":["../../../../src/gltf/lib/api/normalize-gltf-v1.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,eAAe,EAAC,+BAA4B;AAmGzD,qEAAqE;AACrE,MAAM,MAAM,yBAAyB,GAAG;IACtC,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;IACjB,2DAA2D;IAC3D,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,iFAAiF;AACjF,MAAM,MAAM,sBAAsB,GAAG;IACnC,wDAAwD;IACxD,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACnD,iCAAiC;IACjC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;CACnC,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,0BAA0B,GAAG;IACvC,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IAC/C,8EAA8E;IAC9E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iGAAiG;IACjG,GAAG,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC;CACrC,CAAC;AAsbF,oFAAoF;AACpF,wBAAgB,eAAe,CAC7B,IAAI,EAAE,eAAe,EACrB,OAAO,GAAE,0BAA+B,GACvC,yBAAyB,CAE3B;AAED,iGAAiG;AACjG,wBAAgB,kCAAkC,CAChD,IAAI,EAAE,eAAe,EACrB,OAAO,GAAE,IAAI,CAAC,0BAA0B,EAAE,WAAW,GAAG,KAAK,CAAM,GAClE,MAAM,yBAAyB,CAIjC;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,OAAO,GAAE,IAAI,CAAC,0BAA0B,EAAE,QAAQ,CAAM,GACvD,eAAe,GAAG;IAAC,mBAAmB,EAAE,yBAAyB,CAAA;CAAC,CASpE"}