@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,1786 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://unpkg.com/@loaders.gl/scene/gltf/gltf-2.schema.json",
4
+ "title": "glTF 2.0",
5
+ "type": "object",
6
+ "description": "The root object for a glTF asset.",
7
+ "allOf": [
8
+ {
9
+ "$ref": "#/$defs/glTFProperty_schema_json"
10
+ },
11
+ {
12
+ "properties": {
13
+ "asset": {
14
+ "properties": {
15
+ "version": {
16
+ "enum": [
17
+ "2.0"
18
+ ]
19
+ }
20
+ },
21
+ "required": [
22
+ "version"
23
+ ]
24
+ }
25
+ },
26
+ "required": [
27
+ "asset"
28
+ ]
29
+ }
30
+ ],
31
+ "properties": {
32
+ "extensionsUsed": {
33
+ "type": "array",
34
+ "description": "Names of glTF extensions used in this asset.",
35
+ "items": {
36
+ "type": "string"
37
+ },
38
+ "uniqueItems": true,
39
+ "minItems": 1
40
+ },
41
+ "extensionsRequired": {
42
+ "type": "array",
43
+ "description": "Names of glTF extensions required to properly load this asset.",
44
+ "items": {
45
+ "type": "string"
46
+ },
47
+ "uniqueItems": true,
48
+ "minItems": 1
49
+ },
50
+ "accessors": {
51
+ "type": "array",
52
+ "description": "An array of accessors.",
53
+ "items": {
54
+ "$ref": "#/$defs/accessor_schema_json"
55
+ },
56
+ "minItems": 1,
57
+ "gltf_detailedDescription": "An array of accessors. An accessor is a typed view into a bufferView."
58
+ },
59
+ "animations": {
60
+ "type": "array",
61
+ "description": "An array of keyframe animations.",
62
+ "items": {
63
+ "$ref": "#/$defs/animation_schema_json"
64
+ },
65
+ "minItems": 1
66
+ },
67
+ "asset": {
68
+ "allOf": [
69
+ {
70
+ "$ref": "#/$defs/asset_schema_json"
71
+ }
72
+ ],
73
+ "description": "Metadata about the glTF asset."
74
+ },
75
+ "buffers": {
76
+ "type": "array",
77
+ "description": "An array of buffers.",
78
+ "items": {
79
+ "$ref": "#/$defs/buffer_schema_json"
80
+ },
81
+ "minItems": 1,
82
+ "gltf_detailedDescription": "An array of buffers. A buffer points to binary geometry, animation, or skins."
83
+ },
84
+ "bufferViews": {
85
+ "type": "array",
86
+ "description": "An array of bufferViews.",
87
+ "items": {
88
+ "$ref": "#/$defs/bufferView_schema_json"
89
+ },
90
+ "minItems": 1,
91
+ "gltf_detailedDescription": "An array of bufferViews. A bufferView is a view into a buffer generally representing a subset of the buffer."
92
+ },
93
+ "cameras": {
94
+ "type": "array",
95
+ "description": "An array of cameras.",
96
+ "items": {
97
+ "$ref": "#/$defs/camera_schema_json"
98
+ },
99
+ "minItems": 1,
100
+ "gltf_detailedDescription": "An array of cameras. A camera defines a projection matrix."
101
+ },
102
+ "images": {
103
+ "type": "array",
104
+ "description": "An array of images.",
105
+ "items": {
106
+ "$ref": "#/$defs/image_schema_json"
107
+ },
108
+ "minItems": 1,
109
+ "gltf_detailedDescription": "An array of images. An image defines data used to create a texture."
110
+ },
111
+ "materials": {
112
+ "type": "array",
113
+ "description": "An array of materials.",
114
+ "items": {
115
+ "$ref": "#/$defs/material_schema_json"
116
+ },
117
+ "minItems": 1,
118
+ "gltf_detailedDescription": "An array of materials. A material defines the appearance of a primitive."
119
+ },
120
+ "meshes": {
121
+ "type": "array",
122
+ "description": "An array of meshes.",
123
+ "items": {
124
+ "$ref": "#/$defs/mesh_schema_json"
125
+ },
126
+ "minItems": 1,
127
+ "gltf_detailedDescription": "An array of meshes. A mesh is a set of primitives to be rendered."
128
+ },
129
+ "nodes": {
130
+ "type": "array",
131
+ "description": "An array of nodes.",
132
+ "items": {
133
+ "$ref": "#/$defs/node_schema_json"
134
+ },
135
+ "minItems": 1
136
+ },
137
+ "samplers": {
138
+ "type": "array",
139
+ "description": "An array of samplers.",
140
+ "items": {
141
+ "$ref": "#/$defs/sampler_schema_json"
142
+ },
143
+ "minItems": 1,
144
+ "gltf_detailedDescription": "An array of samplers. A sampler contains properties for texture filtering and wrapping modes."
145
+ },
146
+ "scene": {
147
+ "allOf": [
148
+ {
149
+ "$ref": "#/$defs/glTFid_schema_json"
150
+ }
151
+ ],
152
+ "description": "The index of the default scene.",
153
+ "gltf_detailedDescription": "The index of the default scene. This property **MUST NOT** be defined, when `scenes` is undefined."
154
+ },
155
+ "scenes": {
156
+ "type": "array",
157
+ "description": "An array of scenes.",
158
+ "items": {
159
+ "$ref": "#/$defs/scene_schema_json"
160
+ },
161
+ "minItems": 1
162
+ },
163
+ "skins": {
164
+ "type": "array",
165
+ "description": "An array of skins.",
166
+ "items": {
167
+ "$ref": "#/$defs/skin_schema_json"
168
+ },
169
+ "minItems": 1,
170
+ "gltf_detailedDescription": "An array of skins. A skin is defined by joints and matrices."
171
+ },
172
+ "textures": {
173
+ "type": "array",
174
+ "description": "An array of textures.",
175
+ "items": {
176
+ "$ref": "#/$defs/texture_schema_json"
177
+ },
178
+ "minItems": 1
179
+ },
180
+ "extensions": {},
181
+ "extras": {}
182
+ },
183
+ "dependencies": {
184
+ "scene": [
185
+ "scenes"
186
+ ]
187
+ },
188
+ "required": [
189
+ "asset"
190
+ ],
191
+ "$defs": {
192
+ "extension_schema_json": {
193
+ "title": "Extension",
194
+ "type": "object",
195
+ "description": "JSON object with extension-specific objects.",
196
+ "properties": {},
197
+ "additionalProperties": {
198
+ "type": "object"
199
+ }
200
+ },
201
+ "extras_schema_json": {
202
+ "title": "Extras",
203
+ "description": "Application-specific data.",
204
+ "gltf_sectionDescription": "Although `extras` **MAY** have any type, it is common for applications to store and access custom data as key/value pairs. Therefore, `extras` **SHOULD** be a JSON object rather than a primitive value for best portability."
205
+ },
206
+ "glTFProperty_schema_json": {
207
+ "title": "glTF Property",
208
+ "type": "object",
209
+ "properties": {
210
+ "extensions": {
211
+ "$ref": "#/$defs/extension_schema_json"
212
+ },
213
+ "extras": {
214
+ "$ref": "#/$defs/extras_schema_json"
215
+ }
216
+ }
217
+ },
218
+ "glTFChildOfRootProperty_schema_json": {
219
+ "title": "glTF Child of Root Property",
220
+ "type": "object",
221
+ "allOf": [
222
+ {
223
+ "$ref": "#/$defs/glTFProperty_schema_json"
224
+ }
225
+ ],
226
+ "properties": {
227
+ "name": {
228
+ "type": "string",
229
+ "description": "The user-defined name of this object.",
230
+ "gltf_detailedDescription": "The user-defined name of this object. This is not necessarily unique, e.g., an accessor and a buffer could have the same name, or two accessors could even have the same name."
231
+ }
232
+ }
233
+ },
234
+ "glTFid_schema_json": {
235
+ "title": "glTF Id",
236
+ "type": "integer",
237
+ "minimum": 0
238
+ },
239
+ "accessor_sparse_indices_schema_json": {
240
+ "title": "Accessor Sparse Indices",
241
+ "type": "object",
242
+ "description": "An object pointing to a buffer view containing the indices of deviating accessor values. The number of indices is equal to `accessor.sparse.count`. Indices **MUST** strictly increase.",
243
+ "allOf": [
244
+ {
245
+ "$ref": "#/$defs/glTFProperty_schema_json"
246
+ }
247
+ ],
248
+ "properties": {
249
+ "bufferView": {
250
+ "allOf": [
251
+ {
252
+ "$ref": "#/$defs/glTFid_schema_json"
253
+ }
254
+ ],
255
+ "description": "The index of the buffer view with sparse indices. The referenced buffer view **MUST NOT** have its `target` or `byteStride` properties defined. The buffer view and the optional `byteOffset` **MUST** be aligned to the `componentType` byte length."
256
+ },
257
+ "byteOffset": {
258
+ "type": "integer",
259
+ "description": "The offset relative to the start of the buffer view in bytes.",
260
+ "minimum": 0,
261
+ "default": 0
262
+ },
263
+ "componentType": {
264
+ "description": "The indices data type.",
265
+ "anyOf": [
266
+ {
267
+ "const": 5121,
268
+ "description": "UNSIGNED_BYTE",
269
+ "type": "integer"
270
+ },
271
+ {
272
+ "const": 5123,
273
+ "description": "UNSIGNED_SHORT",
274
+ "type": "integer"
275
+ },
276
+ {
277
+ "const": 5125,
278
+ "description": "UNSIGNED_INT",
279
+ "type": "integer"
280
+ },
281
+ {
282
+ "type": "integer"
283
+ }
284
+ ]
285
+ },
286
+ "extensions": {},
287
+ "extras": {}
288
+ },
289
+ "required": [
290
+ "bufferView",
291
+ "componentType"
292
+ ]
293
+ },
294
+ "accessor_sparse_values_schema_json": {
295
+ "title": "Accessor Sparse Values",
296
+ "type": "object",
297
+ "description": "An object pointing to a buffer view containing the deviating accessor values. The number of elements is equal to `accessor.sparse.count` times number of components. The elements have the same component type as the base accessor. The elements are tightly packed. Data **MUST** be aligned following the same rules as the base accessor.",
298
+ "allOf": [
299
+ {
300
+ "$ref": "#/$defs/glTFProperty_schema_json"
301
+ }
302
+ ],
303
+ "properties": {
304
+ "bufferView": {
305
+ "allOf": [
306
+ {
307
+ "$ref": "#/$defs/glTFid_schema_json"
308
+ }
309
+ ],
310
+ "description": "The index of the bufferView with sparse values. The referenced buffer view **MUST NOT** have its `target` or `byteStride` properties defined."
311
+ },
312
+ "byteOffset": {
313
+ "type": "integer",
314
+ "description": "The offset relative to the start of the bufferView in bytes.",
315
+ "minimum": 0,
316
+ "default": 0
317
+ },
318
+ "extensions": {},
319
+ "extras": {}
320
+ },
321
+ "required": [
322
+ "bufferView"
323
+ ]
324
+ },
325
+ "accessor_sparse_schema_json": {
326
+ "title": "Accessor Sparse",
327
+ "type": "object",
328
+ "description": "Sparse storage of accessor values that deviate from their initialization value.",
329
+ "allOf": [
330
+ {
331
+ "$ref": "#/$defs/glTFProperty_schema_json"
332
+ }
333
+ ],
334
+ "properties": {
335
+ "count": {
336
+ "type": "integer",
337
+ "description": "Number of deviating accessor values stored in the sparse array.",
338
+ "minimum": 1
339
+ },
340
+ "indices": {
341
+ "allOf": [
342
+ {
343
+ "$ref": "#/$defs/accessor_sparse_indices_schema_json"
344
+ }
345
+ ],
346
+ "description": "An object pointing to a buffer view containing the indices of deviating accessor values. The number of indices is equal to `count`. Indices **MUST** strictly increase."
347
+ },
348
+ "values": {
349
+ "allOf": [
350
+ {
351
+ "$ref": "#/$defs/accessor_sparse_values_schema_json"
352
+ }
353
+ ],
354
+ "description": "An object pointing to a buffer view containing the deviating accessor values."
355
+ },
356
+ "extensions": {},
357
+ "extras": {}
358
+ },
359
+ "required": [
360
+ "count",
361
+ "indices",
362
+ "values"
363
+ ]
364
+ },
365
+ "accessor_schema_json": {
366
+ "title": "Accessor",
367
+ "type": "object",
368
+ "description": "A typed view into a buffer view that contains raw binary data.",
369
+ "allOf": [
370
+ {
371
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
372
+ }
373
+ ],
374
+ "properties": {
375
+ "bufferView": {
376
+ "allOf": [
377
+ {
378
+ "$ref": "#/$defs/glTFid_schema_json"
379
+ }
380
+ ],
381
+ "description": "The index of the bufferView.",
382
+ "gltf_detailedDescription": "The index of the buffer view. When undefined, the accessor **MUST** be initialized with zeros; `sparse` property or extensions **MAY** override zeros with actual values."
383
+ },
384
+ "byteOffset": {
385
+ "type": "integer",
386
+ "description": "The offset relative to the start of the buffer view in bytes.",
387
+ "minimum": 0,
388
+ "default": 0,
389
+ "gltf_detailedDescription": "The offset relative to the start of the buffer view in bytes. This **MUST** be a multiple of the size of the component datatype. This property **MUST NOT** be defined when `bufferView` is undefined.",
390
+ "gltf_webgl": "`vertexAttribPointer()` offset parameter"
391
+ },
392
+ "componentType": {
393
+ "description": "The datatype of the accessor's components.",
394
+ "gltf_detailedDescription": "The datatype of the accessor's components. UNSIGNED_INT type **MUST NOT** be used for any accessor that is not referenced by `mesh.primitive.indices`.",
395
+ "gltf_webgl": "`type` parameter of `vertexAttribPointer()`. The corresponding typed arrays are `Int8Array`, `Uint8Array`, `Int16Array`, `Uint16Array`, `Uint32Array`, and `Float32Array`.",
396
+ "anyOf": [
397
+ {
398
+ "const": 5120,
399
+ "description": "BYTE",
400
+ "type": "integer"
401
+ },
402
+ {
403
+ "const": 5121,
404
+ "description": "UNSIGNED_BYTE",
405
+ "type": "integer"
406
+ },
407
+ {
408
+ "const": 5122,
409
+ "description": "SHORT",
410
+ "type": "integer"
411
+ },
412
+ {
413
+ "const": 5123,
414
+ "description": "UNSIGNED_SHORT",
415
+ "type": "integer"
416
+ },
417
+ {
418
+ "const": 5125,
419
+ "description": "UNSIGNED_INT",
420
+ "type": "integer"
421
+ },
422
+ {
423
+ "const": 5126,
424
+ "description": "FLOAT",
425
+ "type": "integer"
426
+ },
427
+ {
428
+ "type": "integer"
429
+ }
430
+ ]
431
+ },
432
+ "normalized": {
433
+ "type": "boolean",
434
+ "description": "Specifies whether integer data values are normalized before usage.",
435
+ "default": false,
436
+ "gltf_detailedDescription": "Specifies whether integer data values are normalized (`true`) to [0, 1] (for unsigned types) or to [-1, 1] (for signed types) when they are accessed. This property **MUST NOT** be set to `true` for accessors with `FLOAT` or `UNSIGNED_INT` component type.",
437
+ "gltf_webgl": "`normalized` parameter of `vertexAttribPointer()` "
438
+ },
439
+ "count": {
440
+ "type": "integer",
441
+ "description": "The number of elements referenced by this accessor.",
442
+ "minimum": 1,
443
+ "gltf_detailedDescription": "The number of elements referenced by this accessor, not to be confused with the number of bytes or number of components."
444
+ },
445
+ "type": {
446
+ "description": "Specifies if the accessor's elements are scalars, vectors, or matrices.",
447
+ "anyOf": [
448
+ {
449
+ "const": "SCALAR"
450
+ },
451
+ {
452
+ "const": "VEC2"
453
+ },
454
+ {
455
+ "const": "VEC3"
456
+ },
457
+ {
458
+ "const": "VEC4"
459
+ },
460
+ {
461
+ "const": "MAT2"
462
+ },
463
+ {
464
+ "const": "MAT3"
465
+ },
466
+ {
467
+ "const": "MAT4"
468
+ },
469
+ {
470
+ "type": "string"
471
+ }
472
+ ]
473
+ },
474
+ "max": {
475
+ "type": "array",
476
+ "description": "Maximum value of each component in this accessor.",
477
+ "items": {
478
+ "type": "number"
479
+ },
480
+ "minItems": 1,
481
+ "maxItems": 16,
482
+ "gltf_detailedDescription": "Maximum value of each component in this accessor. Array elements **MUST** be treated as having the same data type as accessor's `componentType`. Both `min` and `max` arrays have the same length. The length is determined by the value of the `type` property; it can be 1, 2, 3, 4, 9, or 16.\n\n`normalized` property has no effect on array values: they always correspond to the actual values stored in the buffer. When the accessor is sparse, this property **MUST** contain maximum values of accessor data with sparse substitution applied."
483
+ },
484
+ "min": {
485
+ "type": "array",
486
+ "description": "Minimum value of each component in this accessor.",
487
+ "items": {
488
+ "type": "number"
489
+ },
490
+ "minItems": 1,
491
+ "maxItems": 16,
492
+ "gltf_detailedDescription": "Minimum value of each component in this accessor. Array elements **MUST** be treated as having the same data type as accessor's `componentType`. Both `min` and `max` arrays have the same length. The length is determined by the value of the `type` property; it can be 1, 2, 3, 4, 9, or 16.\n\n`normalized` property has no effect on array values: they always correspond to the actual values stored in the buffer. When the accessor is sparse, this property **MUST** contain minimum values of accessor data with sparse substitution applied."
493
+ },
494
+ "sparse": {
495
+ "allOf": [
496
+ {
497
+ "$ref": "#/$defs/accessor_sparse_schema_json"
498
+ }
499
+ ],
500
+ "description": "Sparse storage of elements that deviate from their initialization value."
501
+ },
502
+ "name": {},
503
+ "extensions": {},
504
+ "extras": {}
505
+ },
506
+ "dependencies": {
507
+ "byteOffset": [
508
+ "bufferView"
509
+ ]
510
+ },
511
+ "required": [
512
+ "componentType",
513
+ "count",
514
+ "type"
515
+ ]
516
+ },
517
+ "animation_channel_target_schema_json": {
518
+ "title": "Animation Channel Target",
519
+ "type": "object",
520
+ "description": "The descriptor of the animated property.",
521
+ "allOf": [
522
+ {
523
+ "$ref": "#/$defs/glTFProperty_schema_json"
524
+ }
525
+ ],
526
+ "properties": {
527
+ "node": {
528
+ "allOf": [
529
+ {
530
+ "$ref": "#/$defs/glTFid_schema_json"
531
+ }
532
+ ],
533
+ "description": "The index of the node to animate. When undefined, the animated object **MAY** be defined by an extension."
534
+ },
535
+ "path": {
536
+ "description": "The name of the node's TRS property to animate, or the `\"weights\"` of the Morph Targets it instantiates. For the `\"translation\"` property, the values that are provided by the sampler are the translation along the X, Y, and Z axes. For the `\"rotation\"` property, the values are a quaternion in the order (x, y, z, w), where w is the scalar. For the `\"scale\"` property, the values are the scaling factors along the X, Y, and Z axes.",
537
+ "anyOf": [
538
+ {
539
+ "const": "translation"
540
+ },
541
+ {
542
+ "const": "rotation"
543
+ },
544
+ {
545
+ "const": "scale"
546
+ },
547
+ {
548
+ "const": "weights"
549
+ },
550
+ {
551
+ "type": "string"
552
+ }
553
+ ]
554
+ },
555
+ "extensions": {},
556
+ "extras": {}
557
+ },
558
+ "required": [
559
+ "path"
560
+ ]
561
+ },
562
+ "animation_channel_schema_json": {
563
+ "title": "Animation Channel",
564
+ "type": "object",
565
+ "description": "An animation channel combines an animation sampler with a target property being animated.",
566
+ "allOf": [
567
+ {
568
+ "$ref": "#/$defs/glTFProperty_schema_json"
569
+ }
570
+ ],
571
+ "properties": {
572
+ "sampler": {
573
+ "allOf": [
574
+ {
575
+ "$ref": "#/$defs/glTFid_schema_json"
576
+ }
577
+ ],
578
+ "description": "The index of a sampler in this animation used to compute the value for the target.",
579
+ "gltf_detailedDescription": "The index of a sampler in this animation used to compute the value for the target, e.g., a node's translation, rotation, or scale (TRS)."
580
+ },
581
+ "target": {
582
+ "allOf": [
583
+ {
584
+ "$ref": "#/$defs/animation_channel_target_schema_json"
585
+ }
586
+ ],
587
+ "description": "The descriptor of the animated property."
588
+ },
589
+ "extensions": {},
590
+ "extras": {}
591
+ },
592
+ "required": [
593
+ "sampler",
594
+ "target"
595
+ ]
596
+ },
597
+ "animation_sampler_schema_json": {
598
+ "title": "Animation Sampler",
599
+ "type": "object",
600
+ "description": "An animation sampler combines timestamps with a sequence of output values and defines an interpolation algorithm.",
601
+ "allOf": [
602
+ {
603
+ "$ref": "#/$defs/glTFProperty_schema_json"
604
+ }
605
+ ],
606
+ "properties": {
607
+ "input": {
608
+ "allOf": [
609
+ {
610
+ "$ref": "#/$defs/glTFid_schema_json"
611
+ }
612
+ ],
613
+ "description": "The index of an accessor containing keyframe timestamps.",
614
+ "gltf_detailedDescription": "The index of an accessor containing keyframe timestamps. The accessor **MUST** be of scalar type with floating-point components. The values represent time in seconds with `time[0] >= 0.0`, and strictly increasing values, i.e., `time[n + 1] > time[n]`."
615
+ },
616
+ "interpolation": {
617
+ "description": "Interpolation algorithm.",
618
+ "default": "LINEAR",
619
+ "gltf_detailedDescription": "Interpolation algorithm.",
620
+ "anyOf": [
621
+ {
622
+ "const": "LINEAR",
623
+ "description": "The animated values are linearly interpolated between keyframes. When targeting a rotation, spherical linear interpolation (slerp) **SHOULD** be used to interpolate quaternions. The number of output elements **MUST** equal the number of input elements."
624
+ },
625
+ {
626
+ "const": "STEP",
627
+ "description": "The animated values remain constant to the output of the first keyframe, until the next keyframe. The number of output elements **MUST** equal the number of input elements."
628
+ },
629
+ {
630
+ "const": "CUBICSPLINE",
631
+ "description": "The animation's interpolation is computed using a cubic spline with specified tangents. The number of output elements **MUST** equal three times the number of input elements. For each input element, the output stores three elements, an in-tangent, a spline vertex, and an out-tangent. There **MUST** be at least two keyframes when using this interpolation."
632
+ },
633
+ {
634
+ "type": "string"
635
+ }
636
+ ]
637
+ },
638
+ "output": {
639
+ "allOf": [
640
+ {
641
+ "$ref": "#/$defs/glTFid_schema_json"
642
+ }
643
+ ],
644
+ "description": "The index of an accessor, containing keyframe output values."
645
+ },
646
+ "extensions": {},
647
+ "extras": {}
648
+ },
649
+ "required": [
650
+ "input",
651
+ "output"
652
+ ]
653
+ },
654
+ "animation_schema_json": {
655
+ "title": "Animation",
656
+ "type": "object",
657
+ "description": "A keyframe animation.",
658
+ "allOf": [
659
+ {
660
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
661
+ }
662
+ ],
663
+ "properties": {
664
+ "channels": {
665
+ "type": "array",
666
+ "description": "An array of animation channels. An animation channel combines an animation sampler with a target property being animated. Different channels of the same animation **MUST NOT** have the same targets.",
667
+ "items": {
668
+ "$ref": "#/$defs/animation_channel_schema_json"
669
+ },
670
+ "minItems": 1
671
+ },
672
+ "samplers": {
673
+ "type": "array",
674
+ "description": "An array of animation samplers. An animation sampler combines timestamps with a sequence of output values and defines an interpolation algorithm.",
675
+ "items": {
676
+ "$ref": "#/$defs/animation_sampler_schema_json"
677
+ },
678
+ "minItems": 1
679
+ },
680
+ "name": {},
681
+ "extensions": {},
682
+ "extras": {}
683
+ },
684
+ "required": [
685
+ "channels",
686
+ "samplers"
687
+ ]
688
+ },
689
+ "asset_schema_json": {
690
+ "title": "Asset",
691
+ "type": "object",
692
+ "description": "Metadata about the glTF asset.",
693
+ "allOf": [
694
+ {
695
+ "$ref": "#/$defs/glTFProperty_schema_json"
696
+ }
697
+ ],
698
+ "properties": {
699
+ "copyright": {
700
+ "type": "string",
701
+ "description": "A copyright message suitable for display to credit the content creator."
702
+ },
703
+ "generator": {
704
+ "type": "string",
705
+ "description": "Tool that generated this glTF model. Useful for debugging."
706
+ },
707
+ "version": {
708
+ "type": "string",
709
+ "description": "The glTF version in the form of `<major>.<minor>` that this asset targets.",
710
+ "pattern": "^(0|[1-9][0-9]{0,8})\\.(0|[1-9][0-9]{0,8})$"
711
+ },
712
+ "minVersion": {
713
+ "type": "string",
714
+ "description": "The minimum glTF version in the form of `<major>.<minor>` that this asset targets. This property **MUST NOT** be greater than the asset version.",
715
+ "pattern": "^(0|[1-9][0-9]{0,8})\\.(0|[1-9][0-9]{0,8})$"
716
+ },
717
+ "extensions": {},
718
+ "extras": {}
719
+ },
720
+ "required": [
721
+ "version"
722
+ ]
723
+ },
724
+ "buffer_schema_json": {
725
+ "title": "Buffer",
726
+ "type": "object",
727
+ "description": "A buffer points to binary geometry, animation, or skins.",
728
+ "allOf": [
729
+ {
730
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
731
+ }
732
+ ],
733
+ "properties": {
734
+ "uri": {
735
+ "type": "string",
736
+ "description": "The URI (or IRI) of the buffer.",
737
+ "format": "iri-reference",
738
+ "gltf_detailedDescription": "The URI (or IRI) of the buffer. Relative paths are relative to the current glTF asset. Instead of referencing an external file, this field **MAY** contain a `data:`-URI.",
739
+ "gltf_uriType": "application"
740
+ },
741
+ "byteLength": {
742
+ "type": "integer",
743
+ "description": "The length of the buffer in bytes.",
744
+ "minimum": 1
745
+ },
746
+ "name": {},
747
+ "extensions": {},
748
+ "extras": {}
749
+ },
750
+ "required": [
751
+ "byteLength"
752
+ ]
753
+ },
754
+ "bufferView_schema_json": {
755
+ "title": "Buffer View",
756
+ "type": "object",
757
+ "description": "A view into a buffer generally representing a subset of the buffer.",
758
+ "allOf": [
759
+ {
760
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
761
+ }
762
+ ],
763
+ "properties": {
764
+ "buffer": {
765
+ "allOf": [
766
+ {
767
+ "$ref": "#/$defs/glTFid_schema_json"
768
+ }
769
+ ],
770
+ "description": "The index of the buffer."
771
+ },
772
+ "byteOffset": {
773
+ "type": "integer",
774
+ "description": "The offset into the buffer in bytes.",
775
+ "minimum": 0,
776
+ "default": 0
777
+ },
778
+ "byteLength": {
779
+ "type": "integer",
780
+ "description": "The length of the bufferView in bytes.",
781
+ "minimum": 1
782
+ },
783
+ "byteStride": {
784
+ "type": "integer",
785
+ "description": "The stride, in bytes.",
786
+ "minimum": 4,
787
+ "maximum": 252,
788
+ "multipleOf": 4,
789
+ "gltf_detailedDescription": "The stride, in bytes, between vertex attributes. When this is not defined, data is tightly packed. When two or more accessors use the same buffer view, this field **MUST** be defined.",
790
+ "gltf_webgl": "`vertexAttribPointer()` stride parameter"
791
+ },
792
+ "target": {
793
+ "description": "The hint representing the intended GPU buffer type to use with this buffer view.",
794
+ "gltf_webgl": "`bindBuffer()`",
795
+ "anyOf": [
796
+ {
797
+ "const": 34962,
798
+ "description": "ARRAY_BUFFER",
799
+ "type": "integer"
800
+ },
801
+ {
802
+ "const": 34963,
803
+ "description": "ELEMENT_ARRAY_BUFFER",
804
+ "type": "integer"
805
+ },
806
+ {
807
+ "type": "integer"
808
+ }
809
+ ]
810
+ },
811
+ "name": {},
812
+ "extensions": {},
813
+ "extras": {}
814
+ },
815
+ "required": [
816
+ "buffer",
817
+ "byteLength"
818
+ ]
819
+ },
820
+ "camera_orthographic_schema_json": {
821
+ "title": "Camera Orthographic",
822
+ "type": "object",
823
+ "description": "An orthographic camera containing properties to create an orthographic projection matrix.",
824
+ "allOf": [
825
+ {
826
+ "$ref": "#/$defs/glTFProperty_schema_json"
827
+ }
828
+ ],
829
+ "properties": {
830
+ "xmag": {
831
+ "type": "number",
832
+ "description": "The floating-point horizontal magnification of the view. This value **MUST NOT** be equal to zero. This value **SHOULD NOT** be negative."
833
+ },
834
+ "ymag": {
835
+ "type": "number",
836
+ "description": "The floating-point vertical magnification of the view. This value **MUST NOT** be equal to zero. This value **SHOULD NOT** be negative."
837
+ },
838
+ "zfar": {
839
+ "type": "number",
840
+ "description": "The floating-point distance to the far clipping plane. This value **MUST NOT** be equal to zero. `zfar` **MUST** be greater than `znear`.",
841
+ "exclusiveMinimum": 0
842
+ },
843
+ "znear": {
844
+ "type": "number",
845
+ "description": "The floating-point distance to the near clipping plane.",
846
+ "minimum": 0
847
+ },
848
+ "extensions": {},
849
+ "extras": {}
850
+ },
851
+ "required": [
852
+ "xmag",
853
+ "ymag",
854
+ "zfar",
855
+ "znear"
856
+ ]
857
+ },
858
+ "camera_perspective_schema_json": {
859
+ "title": "Camera Perspective",
860
+ "type": "object",
861
+ "description": "A perspective camera containing properties to create a perspective projection matrix.",
862
+ "allOf": [
863
+ {
864
+ "$ref": "#/$defs/glTFProperty_schema_json"
865
+ }
866
+ ],
867
+ "properties": {
868
+ "aspectRatio": {
869
+ "type": "number",
870
+ "description": "The floating-point aspect ratio of the field of view.",
871
+ "exclusiveMinimum": 0,
872
+ "gltf_detailedDescription": "The floating-point aspect ratio of the field of view. When undefined, the aspect ratio of the rendering viewport **MUST** be used."
873
+ },
874
+ "yfov": {
875
+ "type": "number",
876
+ "description": "The floating-point vertical field of view in radians. This value **SHOULD** be less than π.",
877
+ "exclusiveMinimum": 0
878
+ },
879
+ "zfar": {
880
+ "type": "number",
881
+ "description": "The floating-point distance to the far clipping plane.",
882
+ "exclusiveMinimum": 0,
883
+ "gltf_detailedDescription": "The floating-point distance to the far clipping plane. When defined, `zfar` **MUST** be greater than `znear`. If `zfar` is undefined, client implementations **SHOULD** use infinite projection matrix."
884
+ },
885
+ "znear": {
886
+ "type": "number",
887
+ "description": "The floating-point distance to the near clipping plane.",
888
+ "exclusiveMinimum": 0,
889
+ "gltf_detailedDescription": "The floating-point distance to the near clipping plane."
890
+ },
891
+ "extensions": {},
892
+ "extras": {}
893
+ },
894
+ "required": [
895
+ "yfov",
896
+ "znear"
897
+ ]
898
+ },
899
+ "camera_schema_json": {
900
+ "title": "Camera",
901
+ "type": "object",
902
+ "description": "A camera's projection. A node **MAY** reference a camera to apply a transform to place the camera in the scene.",
903
+ "allOf": [
904
+ {
905
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
906
+ }
907
+ ],
908
+ "properties": {
909
+ "orthographic": {
910
+ "allOf": [
911
+ {
912
+ "$ref": "#/$defs/camera_orthographic_schema_json"
913
+ }
914
+ ],
915
+ "description": "An orthographic camera containing properties to create an orthographic projection matrix. This property **MUST NOT** be defined when `perspective` is defined."
916
+ },
917
+ "perspective": {
918
+ "allOf": [
919
+ {
920
+ "$ref": "#/$defs/camera_perspective_schema_json"
921
+ }
922
+ ],
923
+ "description": "A perspective camera containing properties to create a perspective projection matrix. This property **MUST NOT** be defined when `orthographic` is defined."
924
+ },
925
+ "type": {
926
+ "description": "Specifies if the camera uses a perspective or orthographic projection.",
927
+ "gltf_detailedDescription": "Specifies if the camera uses a perspective or orthographic projection. Based on this, either the camera's `perspective` or `orthographic` property **MUST** be defined.",
928
+ "anyOf": [
929
+ {
930
+ "const": "perspective"
931
+ },
932
+ {
933
+ "const": "orthographic"
934
+ },
935
+ {
936
+ "type": "string"
937
+ }
938
+ ]
939
+ },
940
+ "name": {},
941
+ "extensions": {},
942
+ "extras": {}
943
+ },
944
+ "required": [
945
+ "type"
946
+ ],
947
+ "not": {
948
+ "required": [
949
+ "perspective",
950
+ "orthographic"
951
+ ]
952
+ }
953
+ },
954
+ "image_schema_json": {
955
+ "title": "Image",
956
+ "type": "object",
957
+ "description": "Image data used to create a texture. Image **MAY** be referenced by an URI (or IRI) or a buffer view index.",
958
+ "allOf": [
959
+ {
960
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
961
+ }
962
+ ],
963
+ "properties": {
964
+ "uri": {
965
+ "type": "string",
966
+ "description": "The URI (or IRI) of the image.",
967
+ "format": "iri-reference",
968
+ "gltf_detailedDescription": "The URI (or IRI) of the image. Relative paths are relative to the current glTF asset. Instead of referencing an external file, this field **MAY** contain a `data:`-URI. This field **MUST NOT** be defined when `bufferView` is defined.",
969
+ "gltf_uriType": "image"
970
+ },
971
+ "mimeType": {
972
+ "anyOf": [
973
+ {
974
+ "const": "image/jpeg"
975
+ },
976
+ {
977
+ "const": "image/png"
978
+ },
979
+ {
980
+ "type": "string"
981
+ }
982
+ ],
983
+ "description": "The image's media type. This field **MUST** be defined when `bufferView` is defined."
984
+ },
985
+ "bufferView": {
986
+ "allOf": [
987
+ {
988
+ "$ref": "#/$defs/glTFid_schema_json"
989
+ }
990
+ ],
991
+ "description": "The index of the bufferView that contains the image. This field **MUST NOT** be defined when `uri` is defined."
992
+ },
993
+ "name": {},
994
+ "extensions": {},
995
+ "extras": {}
996
+ },
997
+ "dependencies": {
998
+ "bufferView": [
999
+ "mimeType"
1000
+ ]
1001
+ },
1002
+ "oneOf": [
1003
+ {
1004
+ "required": [
1005
+ "uri"
1006
+ ]
1007
+ },
1008
+ {
1009
+ "required": [
1010
+ "bufferView"
1011
+ ]
1012
+ }
1013
+ ]
1014
+ },
1015
+ "textureInfo_schema_json": {
1016
+ "title": "Texture Info",
1017
+ "type": "object",
1018
+ "description": "Reference to a texture.",
1019
+ "allOf": [
1020
+ {
1021
+ "$ref": "#/$defs/glTFProperty_schema_json"
1022
+ }
1023
+ ],
1024
+ "properties": {
1025
+ "index": {
1026
+ "allOf": [
1027
+ {
1028
+ "$ref": "#/$defs/glTFid_schema_json"
1029
+ }
1030
+ ],
1031
+ "description": "The index of the texture."
1032
+ },
1033
+ "texCoord": {
1034
+ "type": "integer",
1035
+ "description": "The set index of texture's TEXCOORD attribute used for texture coordinate mapping.",
1036
+ "default": 0,
1037
+ "minimum": 0,
1038
+ "gltf_detailedDescription": "This integer value is used to construct a string in the format `TEXCOORD_<set index>` which is a reference to a key in `mesh.primitives.attributes` (e.g. a value of `0` corresponds to `TEXCOORD_0`). A mesh primitive **MUST** have the corresponding texture coordinate attributes for the material to be applicable to it."
1039
+ },
1040
+ "extensions": {},
1041
+ "extras": {}
1042
+ },
1043
+ "required": [
1044
+ "index"
1045
+ ]
1046
+ },
1047
+ "material_pbrMetallicRoughness_schema_json": {
1048
+ "title": "Material PBR Metallic Roughness",
1049
+ "type": "object",
1050
+ "description": "A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.",
1051
+ "allOf": [
1052
+ {
1053
+ "$ref": "#/$defs/glTFProperty_schema_json"
1054
+ }
1055
+ ],
1056
+ "properties": {
1057
+ "baseColorFactor": {
1058
+ "type": "array",
1059
+ "items": {
1060
+ "type": "number",
1061
+ "minimum": 0,
1062
+ "maximum": 1
1063
+ },
1064
+ "description": "The factors for the base color of the material.",
1065
+ "default": [
1066
+ 1,
1067
+ 1,
1068
+ 1,
1069
+ 1
1070
+ ],
1071
+ "minItems": 4,
1072
+ "maxItems": 4,
1073
+ "gltf_detailedDescription": "The factors for the base color of the material. This value defines linear multipliers for the sampled texels of the base color texture."
1074
+ },
1075
+ "baseColorTexture": {
1076
+ "allOf": [
1077
+ {
1078
+ "$ref": "#/$defs/textureInfo_schema_json"
1079
+ }
1080
+ ],
1081
+ "description": "The base color texture.",
1082
+ "gltf_detailedDescription": "The base color texture. The first three components (RGB) **MUST** be encoded with the sRGB transfer function. They specify the base color of the material. If the fourth component (A) is present, it represents the linear alpha coverage of the material. Otherwise, the alpha coverage is equal to `1.0`. The `material.alphaMode` property specifies how alpha is interpreted. The stored texels **MUST NOT** be premultiplied. When undefined, the texture **MUST** be sampled as having `1.0` in all components."
1083
+ },
1084
+ "metallicFactor": {
1085
+ "type": "number",
1086
+ "description": "The factor for the metalness of the material.",
1087
+ "default": 1,
1088
+ "minimum": 0,
1089
+ "maximum": 1,
1090
+ "gltf_detailedDescription": "The factor for the metalness of the material. This value defines a linear multiplier for the sampled metalness values of the metallic-roughness texture."
1091
+ },
1092
+ "roughnessFactor": {
1093
+ "type": "number",
1094
+ "description": "The factor for the roughness of the material.",
1095
+ "default": 1,
1096
+ "minimum": 0,
1097
+ "maximum": 1,
1098
+ "gltf_detailedDescription": "The factor for the roughness of the material. This value defines a linear multiplier for the sampled roughness values of the metallic-roughness texture."
1099
+ },
1100
+ "metallicRoughnessTexture": {
1101
+ "allOf": [
1102
+ {
1103
+ "$ref": "#/$defs/textureInfo_schema_json"
1104
+ }
1105
+ ],
1106
+ "description": "The metallic-roughness texture.",
1107
+ "gltf_detailedDescription": "The metallic-roughness texture. The metalness values are sampled from the B channel. The roughness values are sampled from the G channel. These values **MUST** be encoded with a linear transfer function. If other channels are present (R or A), they **MUST** be ignored for metallic-roughness calculations. When undefined, the texture **MUST** be sampled as having `1.0` in G and B components."
1108
+ },
1109
+ "extensions": {},
1110
+ "extras": {}
1111
+ }
1112
+ },
1113
+ "material_normalTextureInfo_schema_json": {
1114
+ "title": "Material Normal Texture Info",
1115
+ "type": "object",
1116
+ "allOf": [
1117
+ {
1118
+ "$ref": "#/$defs/textureInfo_schema_json"
1119
+ }
1120
+ ],
1121
+ "properties": {
1122
+ "index": {},
1123
+ "texCoord": {},
1124
+ "scale": {
1125
+ "type": "number",
1126
+ "description": "The scalar parameter applied to each normal vector of the normal texture.",
1127
+ "default": 1,
1128
+ "gltf_detailedDescription": "The scalar parameter applied to each normal vector of the texture. This value scales the normal vector in X and Y directions using the formula: `scaledNormal = normalize((<sampled normal texture value> * 2.0 - 1.0) * vec3(<normal scale>, <normal scale>, 1.0))`."
1129
+ },
1130
+ "extensions": {},
1131
+ "extras": {}
1132
+ }
1133
+ },
1134
+ "material_occlusionTextureInfo_schema_json": {
1135
+ "title": "Material Occlusion Texture Info",
1136
+ "type": "object",
1137
+ "allOf": [
1138
+ {
1139
+ "$ref": "#/$defs/textureInfo_schema_json"
1140
+ }
1141
+ ],
1142
+ "properties": {
1143
+ "index": {},
1144
+ "texCoord": {},
1145
+ "strength": {
1146
+ "type": "number",
1147
+ "description": "A scalar multiplier controlling the amount of occlusion applied.",
1148
+ "default": 1,
1149
+ "minimum": 0,
1150
+ "maximum": 1,
1151
+ "gltf_detailedDescription": "A scalar parameter controlling the amount of occlusion applied. A value of `0.0` means no occlusion. A value of `1.0` means full occlusion. This value affects the final occlusion value as: `1.0 + strength * (<sampled occlusion texture value> - 1.0)`."
1152
+ },
1153
+ "extensions": {},
1154
+ "extras": {}
1155
+ }
1156
+ },
1157
+ "material_schema_json": {
1158
+ "title": "Material",
1159
+ "type": "object",
1160
+ "description": "The material appearance of a primitive.",
1161
+ "allOf": [
1162
+ {
1163
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1164
+ }
1165
+ ],
1166
+ "properties": {
1167
+ "name": {},
1168
+ "extensions": {},
1169
+ "extras": {},
1170
+ "pbrMetallicRoughness": {
1171
+ "allOf": [
1172
+ {
1173
+ "$ref": "#/$defs/material_pbrMetallicRoughness_schema_json"
1174
+ }
1175
+ ],
1176
+ "description": "A set of parameter values that are used to define the metallic-roughness material model from Physically Based Rendering (PBR) methodology. When undefined, all the default values of `pbrMetallicRoughness` **MUST** apply."
1177
+ },
1178
+ "normalTexture": {
1179
+ "allOf": [
1180
+ {
1181
+ "$ref": "#/$defs/material_normalTextureInfo_schema_json"
1182
+ }
1183
+ ],
1184
+ "description": "The tangent space normal texture.",
1185
+ "gltf_detailedDescription": "The tangent space normal texture. The texture encodes RGB components with linear transfer function. Each texel represents the XYZ components of a normal vector in tangent space. The normal vectors use the convention +X is right and +Y is up. +Z points toward the viewer. If a fourth component (A) is present, it **MUST** be ignored. When undefined, the material does not have a tangent space normal texture."
1186
+ },
1187
+ "occlusionTexture": {
1188
+ "allOf": [
1189
+ {
1190
+ "$ref": "#/$defs/material_occlusionTextureInfo_schema_json"
1191
+ }
1192
+ ],
1193
+ "description": "The occlusion texture.",
1194
+ "gltf_detailedDescription": "The occlusion texture. The occlusion values are linearly sampled from the R channel. Higher values indicate areas that receive full indirect lighting and lower values indicate no indirect lighting. If other channels are present (GBA), they **MUST** be ignored for occlusion calculations. When undefined, the material does not have an occlusion texture."
1195
+ },
1196
+ "emissiveTexture": {
1197
+ "allOf": [
1198
+ {
1199
+ "$ref": "#/$defs/textureInfo_schema_json"
1200
+ }
1201
+ ],
1202
+ "description": "The emissive texture.",
1203
+ "gltf_detailedDescription": "The emissive texture. It controls the color and intensity of the light being emitted by the material. This texture contains RGB components encoded with the sRGB transfer function. If a fourth component (A) is present, it **MUST** be ignored. When undefined, the texture **MUST** be sampled as having `1.0` in RGB components."
1204
+ },
1205
+ "emissiveFactor": {
1206
+ "type": "array",
1207
+ "items": {
1208
+ "type": "number",
1209
+ "minimum": 0,
1210
+ "maximum": 1
1211
+ },
1212
+ "minItems": 3,
1213
+ "maxItems": 3,
1214
+ "default": [
1215
+ 0,
1216
+ 0,
1217
+ 0
1218
+ ],
1219
+ "description": "The factors for the emissive color of the material.",
1220
+ "gltf_detailedDescription": "The factors for the emissive color of the material. This value defines linear multipliers for the sampled texels of the emissive texture."
1221
+ },
1222
+ "alphaMode": {
1223
+ "default": "OPAQUE",
1224
+ "description": "The alpha rendering mode of the material.",
1225
+ "gltf_detailedDescription": "The material's alpha rendering mode enumeration specifying the interpretation of the alpha value of the base color.",
1226
+ "anyOf": [
1227
+ {
1228
+ "const": "OPAQUE",
1229
+ "description": "The alpha value is ignored, and the rendered output is fully opaque."
1230
+ },
1231
+ {
1232
+ "const": "MASK",
1233
+ "description": "The rendered output is either fully opaque or fully transparent depending on the alpha value and the specified `alphaCutoff` value; the exact appearance of the edges **MAY** be subject to implementation-specific techniques such as \"`Alpha-to-Coverage`\"."
1234
+ },
1235
+ {
1236
+ "const": "BLEND",
1237
+ "description": "The alpha value is used to composite the source and destination areas. The rendered output is combined with the background using the normal painting operation (i.e. the Porter and Duff over operator)."
1238
+ },
1239
+ {
1240
+ "type": "string"
1241
+ }
1242
+ ]
1243
+ },
1244
+ "alphaCutoff": {
1245
+ "type": "number",
1246
+ "minimum": 0,
1247
+ "default": 0.5,
1248
+ "description": "The alpha cutoff value of the material.",
1249
+ "gltf_detailedDescription": "Specifies the cutoff threshold when in `MASK` alpha mode. If the alpha value is greater than or equal to this value then it is rendered as fully opaque, otherwise, it is rendered as fully transparent. A value greater than `1.0` will render the entire material as fully transparent. This value **MUST** be ignored for other alpha modes. When `alphaMode` is not defined, this value **MUST NOT** be defined."
1250
+ },
1251
+ "doubleSided": {
1252
+ "type": "boolean",
1253
+ "default": false,
1254
+ "description": "Specifies whether the material is double sided.",
1255
+ "gltf_detailedDescription": "Specifies whether the material is double sided. When this value is false, back-face culling is enabled. When this value is true, back-face culling is disabled and double-sided lighting is enabled. The back-face **MUST** have its normals reversed before the lighting equation is evaluated."
1256
+ }
1257
+ },
1258
+ "dependencies": {
1259
+ "alphaCutoff": [
1260
+ "alphaMode"
1261
+ ]
1262
+ }
1263
+ },
1264
+ "mesh_primitive_schema_json": {
1265
+ "title": "Mesh Primitive",
1266
+ "type": "object",
1267
+ "description": "Geometry to be rendered with the given material.",
1268
+ "allOf": [
1269
+ {
1270
+ "$ref": "#/$defs/glTFProperty_schema_json"
1271
+ }
1272
+ ],
1273
+ "properties": {
1274
+ "attributes": {
1275
+ "type": "object",
1276
+ "description": "A plain JSON object, where each key corresponds to a mesh attribute semantic and each value is the index of the accessor containing attribute's data.",
1277
+ "minProperties": 1,
1278
+ "additionalProperties": {
1279
+ "$ref": "#/$defs/glTFid_schema_json"
1280
+ }
1281
+ },
1282
+ "indices": {
1283
+ "allOf": [
1284
+ {
1285
+ "$ref": "#/$defs/glTFid_schema_json"
1286
+ }
1287
+ ],
1288
+ "description": "The index of the accessor that contains the vertex indices.",
1289
+ "gltf_detailedDescription": "The index of the accessor that contains the vertex indices. When this is undefined, the primitive defines non-indexed geometry. When defined, the accessor **MUST** have `SCALAR` type and an unsigned integer component type.",
1290
+ "gltf_webgl": "`drawElements()` when defined and `drawArrays()` otherwise."
1291
+ },
1292
+ "material": {
1293
+ "allOf": [
1294
+ {
1295
+ "$ref": "#/$defs/glTFid_schema_json"
1296
+ }
1297
+ ],
1298
+ "description": "The index of the material to apply to this primitive when rendering."
1299
+ },
1300
+ "mode": {
1301
+ "description": "The topology type of primitives to render.",
1302
+ "default": 4,
1303
+ "anyOf": [
1304
+ {
1305
+ "const": 0,
1306
+ "description": "POINTS",
1307
+ "type": "integer"
1308
+ },
1309
+ {
1310
+ "const": 1,
1311
+ "description": "LINES",
1312
+ "type": "integer"
1313
+ },
1314
+ {
1315
+ "const": 2,
1316
+ "description": "LINE_LOOP",
1317
+ "type": "integer"
1318
+ },
1319
+ {
1320
+ "const": 3,
1321
+ "description": "LINE_STRIP",
1322
+ "type": "integer"
1323
+ },
1324
+ {
1325
+ "const": 4,
1326
+ "description": "TRIANGLES",
1327
+ "type": "integer"
1328
+ },
1329
+ {
1330
+ "const": 5,
1331
+ "description": "TRIANGLE_STRIP",
1332
+ "type": "integer"
1333
+ },
1334
+ {
1335
+ "const": 6,
1336
+ "description": "TRIANGLE_FAN",
1337
+ "type": "integer"
1338
+ },
1339
+ {
1340
+ "type": "integer"
1341
+ }
1342
+ ]
1343
+ },
1344
+ "targets": {
1345
+ "type": "array",
1346
+ "description": "An array of morph targets.",
1347
+ "items": {
1348
+ "type": "object",
1349
+ "minProperties": 1,
1350
+ "additionalProperties": {
1351
+ "$ref": "#/$defs/glTFid_schema_json"
1352
+ },
1353
+ "description": "A plain JSON object specifying attributes displacements in a morph target, where each key corresponds to one of the three supported attribute semantic (`POSITION`, `NORMAL`, or `TANGENT`) and each value is the index of the accessor containing the attribute displacements' data."
1354
+ },
1355
+ "minItems": 1
1356
+ },
1357
+ "extensions": {},
1358
+ "extras": {}
1359
+ },
1360
+ "gltf_webgl": "`drawElements()` and `drawArrays()`",
1361
+ "required": [
1362
+ "attributes"
1363
+ ]
1364
+ },
1365
+ "mesh_schema_json": {
1366
+ "title": "Mesh",
1367
+ "type": "object",
1368
+ "description": "A set of primitives to be rendered. Its global transform is defined by a node that references it.",
1369
+ "allOf": [
1370
+ {
1371
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1372
+ }
1373
+ ],
1374
+ "properties": {
1375
+ "primitives": {
1376
+ "type": "array",
1377
+ "description": "An array of primitives, each defining geometry to be rendered.",
1378
+ "items": {
1379
+ "$ref": "#/$defs/mesh_primitive_schema_json"
1380
+ },
1381
+ "minItems": 1
1382
+ },
1383
+ "weights": {
1384
+ "type": "array",
1385
+ "description": "Array of weights to be applied to the morph targets. The number of array elements **MUST** match the number of morph targets.",
1386
+ "items": {
1387
+ "type": "number"
1388
+ },
1389
+ "minItems": 1
1390
+ },
1391
+ "name": {},
1392
+ "extensions": {},
1393
+ "extras": {}
1394
+ },
1395
+ "required": [
1396
+ "primitives"
1397
+ ]
1398
+ },
1399
+ "node_schema_json": {
1400
+ "title": "Node",
1401
+ "type": "object",
1402
+ "description": "A node in the node hierarchy. When the node contains `skin`, all `mesh.primitives` **MUST** contain `JOINTS_0` and `WEIGHTS_0` attributes. A node **MAY** have either a `matrix` or any combination of `translation`/`rotation`/`scale` (TRS) properties. TRS properties are converted to matrices and postmultiplied in the `T * R * S` order to compose the transformation matrix; first the scale is applied to the vertices, then the rotation, and then the translation. If none are provided, the transform is the identity. When a node is targeted for animation (referenced by an animation.channel.target), `matrix` **MUST NOT** be present.",
1403
+ "allOf": [
1404
+ {
1405
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1406
+ }
1407
+ ],
1408
+ "properties": {
1409
+ "camera": {
1410
+ "allOf": [
1411
+ {
1412
+ "$ref": "#/$defs/glTFid_schema_json"
1413
+ }
1414
+ ],
1415
+ "description": "The index of the camera referenced by this node."
1416
+ },
1417
+ "children": {
1418
+ "type": "array",
1419
+ "description": "The indices of this node's children.",
1420
+ "items": {
1421
+ "$ref": "#/$defs/glTFid_schema_json"
1422
+ },
1423
+ "uniqueItems": true,
1424
+ "minItems": 1
1425
+ },
1426
+ "skin": {
1427
+ "allOf": [
1428
+ {
1429
+ "$ref": "#/$defs/glTFid_schema_json"
1430
+ }
1431
+ ],
1432
+ "description": "The index of the skin referenced by this node.",
1433
+ "gltf_detailedDescription": "The index of the skin referenced by this node. When a skin is referenced by a node within a scene, all joints used by the skin **MUST** belong to the same scene. When defined, `mesh` **MUST** also be defined."
1434
+ },
1435
+ "matrix": {
1436
+ "type": "array",
1437
+ "description": "A floating-point 4x4 transformation matrix stored in column-major order.",
1438
+ "items": {
1439
+ "type": "number"
1440
+ },
1441
+ "minItems": 16,
1442
+ "maxItems": 16,
1443
+ "default": [
1444
+ 1,
1445
+ 0,
1446
+ 0,
1447
+ 0,
1448
+ 0,
1449
+ 1,
1450
+ 0,
1451
+ 0,
1452
+ 0,
1453
+ 0,
1454
+ 1,
1455
+ 0,
1456
+ 0,
1457
+ 0,
1458
+ 0,
1459
+ 1
1460
+ ],
1461
+ "gltf_webgl": "`uniformMatrix4fv()` with the transpose parameter equal to false"
1462
+ },
1463
+ "mesh": {
1464
+ "allOf": [
1465
+ {
1466
+ "$ref": "#/$defs/glTFid_schema_json"
1467
+ }
1468
+ ],
1469
+ "description": "The index of the mesh in this node."
1470
+ },
1471
+ "rotation": {
1472
+ "type": "array",
1473
+ "description": "The node's unit quaternion rotation in the order (x, y, z, w), where w is the scalar.",
1474
+ "items": {
1475
+ "type": "number",
1476
+ "minimum": -1,
1477
+ "maximum": 1
1478
+ },
1479
+ "minItems": 4,
1480
+ "maxItems": 4,
1481
+ "default": [
1482
+ 0,
1483
+ 0,
1484
+ 0,
1485
+ 1
1486
+ ]
1487
+ },
1488
+ "scale": {
1489
+ "type": "array",
1490
+ "description": "The node's non-uniform scale, given as the scaling factors along the x, y, and z axes.",
1491
+ "items": {
1492
+ "type": "number"
1493
+ },
1494
+ "minItems": 3,
1495
+ "maxItems": 3,
1496
+ "default": [
1497
+ 1,
1498
+ 1,
1499
+ 1
1500
+ ]
1501
+ },
1502
+ "translation": {
1503
+ "type": "array",
1504
+ "description": "The node's translation along the x, y, and z axes.",
1505
+ "items": {
1506
+ "type": "number"
1507
+ },
1508
+ "minItems": 3,
1509
+ "maxItems": 3,
1510
+ "default": [
1511
+ 0,
1512
+ 0,
1513
+ 0
1514
+ ]
1515
+ },
1516
+ "weights": {
1517
+ "type": "array",
1518
+ "description": "The weights of the instantiated morph target. The number of array elements **MUST** match the number of morph targets of the referenced mesh. When defined, `mesh` **MUST** also be defined.",
1519
+ "minItems": 1,
1520
+ "items": {
1521
+ "type": "number"
1522
+ }
1523
+ },
1524
+ "name": {},
1525
+ "extensions": {},
1526
+ "extras": {}
1527
+ },
1528
+ "dependencies": {
1529
+ "weights": [
1530
+ "mesh"
1531
+ ],
1532
+ "skin": [
1533
+ "mesh"
1534
+ ]
1535
+ },
1536
+ "not": {
1537
+ "anyOf": [
1538
+ {
1539
+ "required": [
1540
+ "matrix",
1541
+ "translation"
1542
+ ]
1543
+ },
1544
+ {
1545
+ "required": [
1546
+ "matrix",
1547
+ "rotation"
1548
+ ]
1549
+ },
1550
+ {
1551
+ "required": [
1552
+ "matrix",
1553
+ "scale"
1554
+ ]
1555
+ }
1556
+ ]
1557
+ }
1558
+ },
1559
+ "sampler_schema_json": {
1560
+ "title": "Sampler",
1561
+ "type": "object",
1562
+ "description": "Texture sampler properties for filtering and wrapping modes.",
1563
+ "allOf": [
1564
+ {
1565
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1566
+ }
1567
+ ],
1568
+ "properties": {
1569
+ "magFilter": {
1570
+ "description": "Magnification filter.",
1571
+ "gltf_webgl": "`samplerParameteri()` with pname equal to TEXTURE_MAG_FILTER",
1572
+ "anyOf": [
1573
+ {
1574
+ "const": 9728,
1575
+ "description": "NEAREST",
1576
+ "type": "integer"
1577
+ },
1578
+ {
1579
+ "const": 9729,
1580
+ "description": "LINEAR",
1581
+ "type": "integer"
1582
+ },
1583
+ {
1584
+ "type": "integer"
1585
+ }
1586
+ ]
1587
+ },
1588
+ "minFilter": {
1589
+ "description": "Minification filter.",
1590
+ "gltf_webgl": "`samplerParameteri()` with pname equal to TEXTURE_MIN_FILTER",
1591
+ "anyOf": [
1592
+ {
1593
+ "const": 9728,
1594
+ "description": "NEAREST",
1595
+ "type": "integer"
1596
+ },
1597
+ {
1598
+ "const": 9729,
1599
+ "description": "LINEAR",
1600
+ "type": "integer"
1601
+ },
1602
+ {
1603
+ "const": 9984,
1604
+ "description": "NEAREST_MIPMAP_NEAREST",
1605
+ "type": "integer"
1606
+ },
1607
+ {
1608
+ "const": 9985,
1609
+ "description": "LINEAR_MIPMAP_NEAREST",
1610
+ "type": "integer"
1611
+ },
1612
+ {
1613
+ "const": 9986,
1614
+ "description": "NEAREST_MIPMAP_LINEAR",
1615
+ "type": "integer"
1616
+ },
1617
+ {
1618
+ "const": 9987,
1619
+ "description": "LINEAR_MIPMAP_LINEAR",
1620
+ "type": "integer"
1621
+ },
1622
+ {
1623
+ "type": "integer"
1624
+ }
1625
+ ]
1626
+ },
1627
+ "wrapS": {
1628
+ "description": "S (U) wrapping mode.",
1629
+ "default": 10497,
1630
+ "gltf_detailedDescription": "S (U) wrapping mode. All valid values correspond to WebGL enums.",
1631
+ "gltf_webgl": "`samplerParameteri()` with pname equal to TEXTURE_WRAP_S",
1632
+ "anyOf": [
1633
+ {
1634
+ "const": 33071,
1635
+ "description": "CLAMP_TO_EDGE",
1636
+ "type": "integer"
1637
+ },
1638
+ {
1639
+ "const": 33648,
1640
+ "description": "MIRRORED_REPEAT",
1641
+ "type": "integer"
1642
+ },
1643
+ {
1644
+ "const": 10497,
1645
+ "description": "REPEAT",
1646
+ "type": "integer"
1647
+ },
1648
+ {
1649
+ "type": "integer"
1650
+ }
1651
+ ]
1652
+ },
1653
+ "wrapT": {
1654
+ "description": "T (V) wrapping mode.",
1655
+ "default": 10497,
1656
+ "gltf_webgl": "`samplerParameteri()` with pname equal to TEXTURE_WRAP_T",
1657
+ "anyOf": [
1658
+ {
1659
+ "const": 33071,
1660
+ "description": "CLAMP_TO_EDGE",
1661
+ "type": "integer"
1662
+ },
1663
+ {
1664
+ "const": 33648,
1665
+ "description": "MIRRORED_REPEAT",
1666
+ "type": "integer"
1667
+ },
1668
+ {
1669
+ "const": 10497,
1670
+ "description": "REPEAT",
1671
+ "type": "integer"
1672
+ },
1673
+ {
1674
+ "type": "integer"
1675
+ }
1676
+ ]
1677
+ },
1678
+ "name": {},
1679
+ "extensions": {},
1680
+ "extras": {}
1681
+ }
1682
+ },
1683
+ "scene_schema_json": {
1684
+ "title": "Scene",
1685
+ "type": "object",
1686
+ "description": "The root nodes of a scene.",
1687
+ "allOf": [
1688
+ {
1689
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1690
+ }
1691
+ ],
1692
+ "properties": {
1693
+ "nodes": {
1694
+ "type": "array",
1695
+ "description": "The indices of each root node.",
1696
+ "items": {
1697
+ "$ref": "#/$defs/glTFid_schema_json"
1698
+ },
1699
+ "uniqueItems": true,
1700
+ "minItems": 1
1701
+ },
1702
+ "name": {},
1703
+ "extensions": {},
1704
+ "extras": {}
1705
+ }
1706
+ },
1707
+ "skin_schema_json": {
1708
+ "title": "Skin",
1709
+ "type": "object",
1710
+ "description": "Joints and matrices defining a skin.",
1711
+ "allOf": [
1712
+ {
1713
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1714
+ }
1715
+ ],
1716
+ "properties": {
1717
+ "inverseBindMatrices": {
1718
+ "allOf": [
1719
+ {
1720
+ "$ref": "#/$defs/glTFid_schema_json"
1721
+ }
1722
+ ],
1723
+ "description": "The index of the accessor containing the floating-point 4x4 inverse-bind matrices.",
1724
+ "gltf_detailedDescription": "The index of the accessor containing the floating-point 4x4 inverse-bind matrices. Its `accessor.count` property **MUST** be greater than or equal to the number of elements of the `joints` array. When undefined, each matrix is a 4x4 identity matrix."
1725
+ },
1726
+ "skeleton": {
1727
+ "allOf": [
1728
+ {
1729
+ "$ref": "#/$defs/glTFid_schema_json"
1730
+ }
1731
+ ],
1732
+ "description": "The index of the node used as a skeleton root.",
1733
+ "gltf_detailedDescription": "The index of the node used as a skeleton root. The node **MUST** be the closest common root of the joints hierarchy or a direct or indirect parent node of the closest common root."
1734
+ },
1735
+ "joints": {
1736
+ "type": "array",
1737
+ "description": "Indices of skeleton nodes, used as joints in this skin.",
1738
+ "items": {
1739
+ "$ref": "#/$defs/glTFid_schema_json"
1740
+ },
1741
+ "uniqueItems": true,
1742
+ "minItems": 1,
1743
+ "gltf_detailedDescription": "Indices of skeleton nodes, used as joints in this skin."
1744
+ },
1745
+ "name": {},
1746
+ "extensions": {},
1747
+ "extras": {}
1748
+ },
1749
+ "required": [
1750
+ "joints"
1751
+ ]
1752
+ },
1753
+ "texture_schema_json": {
1754
+ "title": "Texture",
1755
+ "type": "object",
1756
+ "description": "A texture and its sampler.",
1757
+ "allOf": [
1758
+ {
1759
+ "$ref": "#/$defs/glTFChildOfRootProperty_schema_json"
1760
+ }
1761
+ ],
1762
+ "properties": {
1763
+ "sampler": {
1764
+ "allOf": [
1765
+ {
1766
+ "$ref": "#/$defs/glTFid_schema_json"
1767
+ }
1768
+ ],
1769
+ "description": "The index of the sampler used by this texture. When undefined, a sampler with repeat wrapping and auto filtering **SHOULD** be used."
1770
+ },
1771
+ "source": {
1772
+ "allOf": [
1773
+ {
1774
+ "$ref": "#/$defs/glTFid_schema_json"
1775
+ }
1776
+ ],
1777
+ "description": "The index of the image used by this texture. When undefined, an extension or other mechanism **SHOULD** supply an alternate texture source, otherwise behavior is undefined."
1778
+ },
1779
+ "name": {},
1780
+ "extensions": {},
1781
+ "extras": {}
1782
+ },
1783
+ "gltf_webgl": "`createTexture()`, `deleteTexture()`, `bindTexture()`, `texImage2D()`, and `texParameterf()`"
1784
+ }
1785
+ }
1786
+ }