@loaders.gl/scene 5.0.0-alpha.9 → 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.
- package/GLTF-README.md +46 -0
- package/LICENSE +2 -30
- package/OBJ-README.md +28 -0
- package/README.md +5 -0
- package/THIRD-PARTY-NOTICES.md +23 -0
- package/bin/gltf/glbdump.js +8 -0
- package/dist/dist.dev.js +33820 -23
- package/dist/dist.min.js +38 -3
- package/dist/gltf/bundled.cjs +34 -0
- package/dist/gltf/bundled.cjs.map +7 -0
- package/dist/gltf/bundled.d.ts +5 -0
- package/dist/gltf/bundled.d.ts.map +1 -0
- package/dist/gltf/bundled.js +6 -0
- package/dist/gltf/bundled.js.map +1 -0
- package/dist/gltf/glb-loader-types.cjs +59 -0
- package/dist/gltf/glb-loader-types.cjs.map +7 -0
- package/dist/gltf/glb-loader-types.d.ts +58 -0
- package/dist/gltf/glb-loader-types.d.ts.map +1 -0
- package/dist/gltf/glb-loader-types.js +24 -0
- package/dist/gltf/glb-loader-types.js.map +1 -0
- package/dist/gltf/glb-loader.cjs +46 -0
- package/dist/gltf/glb-loader.cjs.map +7 -0
- package/dist/gltf/glb-loader.d.ts +42 -0
- package/dist/gltf/glb-loader.d.ts.map +1 -0
- package/dist/gltf/glb-loader.js +24 -0
- package/dist/gltf/glb-loader.js.map +1 -0
- package/dist/gltf/glb-writer.cjs +51 -0
- package/dist/gltf/glb-writer.cjs.map +7 -0
- package/dist/gltf/glb-writer.d.ts +30 -0
- package/dist/gltf/glb-writer.d.ts.map +1 -0
- package/dist/gltf/glb-writer.js +31 -0
- package/dist/gltf/glb-writer.js.map +1 -0
- package/dist/gltf/gltf-1.schema.json +2075 -0
- package/dist/gltf/gltf-2.1.schema.json +1786 -0
- package/dist/gltf/gltf-2.schema.json +1786 -0
- package/dist/gltf/gltf-all.schema.json +5654 -0
- package/dist/gltf/gltf-format.cjs +55 -0
- package/dist/gltf/gltf-format.cjs.map +7 -0
- package/dist/gltf/gltf-format.d.ts +26 -0
- package/dist/gltf/gltf-format.d.ts.map +1 -0
- package/dist/gltf/gltf-format.js +29 -0
- package/dist/gltf/gltf-format.js.map +1 -0
- package/dist/gltf/gltf-loader-types.cjs +71 -0
- package/dist/gltf/gltf-loader-types.cjs.map +7 -0
- package/dist/gltf/gltf-loader-types.d.ts +71 -0
- package/dist/gltf/gltf-loader-types.d.ts.map +1 -0
- package/dist/gltf/gltf-loader-types.js +30 -0
- package/dist/gltf/gltf-loader-types.js.map +1 -0
- package/dist/gltf/gltf-loader.cjs +46 -0
- package/dist/gltf/gltf-loader.cjs.map +7 -0
- package/dist/gltf/gltf-loader.d.ts +45 -0
- package/dist/gltf/gltf-loader.d.ts.map +1 -0
- package/dist/gltf/gltf-loader.js +22 -0
- package/dist/gltf/gltf-loader.js.map +1 -0
- package/dist/gltf/gltf-source.cjs +236 -0
- package/dist/gltf/gltf-source.cjs.map +7 -0
- package/dist/gltf/gltf-source.d.ts +59 -0
- package/dist/gltf/gltf-source.d.ts.map +1 -0
- package/dist/gltf/gltf-source.js +230 -0
- package/dist/gltf/gltf-source.js.map +1 -0
- package/dist/gltf/gltf-writer.cjs +67 -0
- package/dist/gltf/gltf-writer.cjs.map +7 -0
- package/dist/gltf/gltf-writer.d.ts +14 -0
- package/dist/gltf/gltf-writer.d.ts.map +1 -0
- package/dist/gltf/gltf-writer.js +44 -0
- package/dist/gltf/gltf-writer.js.map +1 -0
- package/dist/gltf/gltf.schema.json +5654 -0
- package/dist/gltf/index.cjs +225 -0
- package/dist/gltf/index.cjs.map +7 -0
- package/dist/gltf/index.d.ts +46 -0
- package/dist/gltf/index.d.ts.map +1 -0
- package/dist/gltf/index.js +39 -0
- package/dist/gltf/index.js.map +1 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs +68 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.cjs.map +7 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts +17 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.d.ts.map +1 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js +45 -0
- package/dist/gltf/lib/api/append-gltf-v1-buffer-data.js.map +1 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs +133 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.cjs.map +7 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts +8 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.d.ts.map +1 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js +138 -0
- package/dist/gltf/lib/api/bake-gltf-v1-bind-shapes.js.map +1 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs +93 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.cjs.map +7 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts +6 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.d.ts.map +1 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.js +87 -0
- package/dist/gltf/lib/api/clean-gltf-v1-fields.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs +128 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts +8 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.js +147 -0
- package/dist/gltf/lib/api/convert-gltf-v1-accessors.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs +81 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts +4 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.js +61 -0
- package/dist/gltf/lib/api/convert-gltf-v1-animations.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs +265 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts +6 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.js +266 -0
- package/dist/gltf/lib/api/convert-gltf-v1-materials.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs +98 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts +4 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js +86 -0
- package/dist/gltf/lib/api/convert-gltf-v1-matrix-nodes.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs +87 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts +4 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js +72 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skin-scenes.js.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs +173 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.cjs.map +7 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts +9 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.d.ts.map +1 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.js +161 -0
- package/dist/gltf/lib/api/convert-gltf-v1-skins.js.map +1 -0
- package/dist/gltf/lib/api/gltf-accessors.cjs +83 -0
- package/dist/gltf/lib/api/gltf-accessors.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-accessors.d.ts +22 -0
- package/dist/gltf/lib/api/gltf-accessors.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-accessors.js +66 -0
- package/dist/gltf/lib/api/gltf-accessors.js.map +1 -0
- package/dist/gltf/lib/api/gltf-culling.cjs +73 -0
- package/dist/gltf/lib/api/gltf-culling.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-culling.d.ts +12 -0
- package/dist/gltf/lib/api/gltf-culling.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-culling.js +55 -0
- package/dist/gltf/lib/api/gltf-culling.js.map +1 -0
- package/dist/gltf/lib/api/gltf-extension-data.cjs +102 -0
- package/dist/gltf/lib/api/gltf-extension-data.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-extension-data.d.ts +38 -0
- package/dist/gltf/lib/api/gltf-extension-data.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-extension-data.js +75 -0
- package/dist/gltf/lib/api/gltf-extension-data.js.map +1 -0
- package/dist/gltf/lib/api/gltf-extensions.cjs +123 -0
- package/dist/gltf/lib/api/gltf-extensions.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-extensions.d.ts +33 -0
- package/dist/gltf/lib/api/gltf-extensions.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-extensions.js +100 -0
- package/dist/gltf/lib/api/gltf-extensions.js.map +1 -0
- package/dist/gltf/lib/api/gltf-iterator.cjs +1001 -0
- package/dist/gltf/lib/api/gltf-iterator.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-iterator.d.ts +407 -0
- package/dist/gltf/lib/api/gltf-iterator.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-iterator.js +940 -0
- package/dist/gltf/lib/api/gltf-iterator.js.map +1 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.cjs +269 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts +53 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.js +247 -0
- package/dist/gltf/lib/api/gltf-mesh-arrow.js.map +1 -0
- package/dist/gltf/lib/api/gltf-scenegraph.cjs +615 -0
- package/dist/gltf/lib/api/gltf-scenegraph.cjs.map +7 -0
- package/dist/gltf/lib/api/gltf-scenegraph.d.ts +183 -0
- package/dist/gltf/lib/api/gltf-scenegraph.d.ts.map +1 -0
- package/dist/gltf/lib/api/gltf-scenegraph.js +624 -0
- package/dist/gltf/lib/api/gltf-scenegraph.js.map +1 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.cjs +479 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.cjs.map +7 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.d.ts +37 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.d.ts.map +1 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.js +461 -0
- package/dist/gltf/lib/api/normalize-gltf-v1.js.map +1 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs +405 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.cjs.map +7 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts +50 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.d.ts.map +1 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.js +448 -0
- package/dist/gltf/lib/api/repack-gltf-v1-accessors.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs +110 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts +4 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.js +111 -0
- package/dist/gltf/lib/api/validate-gltf-v1-buffers.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs +41 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts +4 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.js +34 -0
- package/dist/gltf/lib/api/validate-gltf-v1-cameras.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs +121 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts +5 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.js +118 -0
- package/dist/gltf/lib/api/validate-gltf-v1-geometry.js.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs +265 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.cjs.map +7 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts +4 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.d.ts.map +1 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.js +268 -0
- package/dist/gltf/lib/api/validate-gltf-v1-payloads.js.map +1 -0
- package/dist/gltf/lib/encoders/encode-glb.cjs +147 -0
- package/dist/gltf/lib/encoders/encode-glb.cjs.map +7 -0
- package/dist/gltf/lib/encoders/encode-glb.d.ts +21 -0
- package/dist/gltf/lib/encoders/encode-glb.d.ts.map +1 -0
- package/dist/gltf/lib/encoders/encode-glb.js +142 -0
- package/dist/gltf/lib/encoders/encode-glb.js.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.cjs +202 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.cjs.map +7 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts +20 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.d.ts.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.js +187 -0
- package/dist/gltf/lib/encoders/encode-gltf-draco.js.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf.cjs +40 -0
- package/dist/gltf/lib/encoders/encode-gltf.cjs.map +7 -0
- package/dist/gltf/lib/encoders/encode-gltf.d.ts +22 -0
- package/dist/gltf/lib/encoders/encode-gltf.d.ts.map +1 -0
- package/dist/gltf/lib/encoders/encode-gltf.js +32 -0
- package/dist/gltf/lib/encoders/encode-gltf.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.cjs +175 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts +22 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.js +189 -0
- package/dist/gltf/lib/extensions/EXT_mesh_features.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs +149 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts +7 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.js +125 -0
- package/dist/gltf/lib/extensions/EXT_mesh_polygon.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs +37 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts +25 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.js +29 -0
- package/dist/gltf/lib/extensions/EXT_meshopt_compression.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs +87 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts +10 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.js +57 -0
- package/dist/gltf/lib/extensions/EXT_primitive_voxels.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs +684 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts +26 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.js +786 -0
- package/dist/gltf/lib/extensions/EXT_structural_metadata.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.cjs +56 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts +15 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.js +40 -0
- package/dist/gltf/lib/extensions/EXT_texture_avif.js.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.cjs +53 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.cjs.map +7 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts +10 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.js +32 -0
- package/dist/gltf/lib/extensions/EXT_texture_webp.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs +128 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts +8 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.js +121 -0
- package/dist/gltf/lib/extensions/KHR_audio_emitter.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs +53 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts +6 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.js +40 -0
- package/dist/gltf/lib/extensions/KHR_binary_gltf.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs +131 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts +8 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js +107 -0
- package/dist/gltf/lib/extensions/KHR_draco_mesh_compression.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs +209 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts +13 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js +160 -0
- package/dist/gltf/lib/extensions/KHR_gaussian_splatting.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs +110 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts +10 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js +87 -0
- package/dist/gltf/lib/extensions/KHR_mesh_primitive_restart.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs +37 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts +24 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.js +28 -0
- package/dist/gltf/lib/extensions/KHR_meshopt_compression.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs +47 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts +10 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.js +26 -0
- package/dist/gltf/lib/extensions/KHR_texture_basisu.js.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.cjs +258 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.cjs.map +7 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts +10 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.js +271 -0
- package/dist/gltf/lib/extensions/KHR_texture_transform.js.map +1 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs +70 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.cjs.map +7 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts +10 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.js +45 -0
- package/dist/gltf/lib/extensions/MPEG_audio_spatial.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs +276 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts +5 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js +306 -0
- package/dist/gltf/lib/extensions/deprecated/EXT_feature_metadata.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs +71 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts +5 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js +54 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_lights_punctual.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs +62 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts +9 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js +38 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_materials_unlit.js.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs +99 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.cjs.map +7 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts +5 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js +76 -0
- package/dist/gltf/lib/extensions/deprecated/KHR_techniques_webgl.js.map +1 -0
- package/dist/gltf/lib/extensions/meshopt-compression.cjs +114 -0
- package/dist/gltf/lib/extensions/meshopt-compression.cjs.map +7 -0
- package/dist/gltf/lib/extensions/meshopt-compression.d.ts +48 -0
- package/dist/gltf/lib/extensions/meshopt-compression.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/meshopt-compression.js +123 -0
- package/dist/gltf/lib/extensions/meshopt-compression.js.map +1 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs +280 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.cjs.map +7 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts +84 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.d.ts.map +1 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js +358 -0
- package/dist/gltf/lib/extensions/utils/3d-tiles-utils.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.cjs +189 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts +13 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.js +175 -0
- package/dist/gltf/lib/gltf-utils/get-typed-array.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs +90 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts +6 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js +72 -0
- package/dist/gltf/lib/gltf-utils/gltf-attribute-utils.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.cjs +90 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts +26 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.js +46 -0
- package/dist/gltf/lib/gltf-utils/gltf-constants.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.cjs +157 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts +17 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.js +135 -0
- package/dist/gltf/lib/gltf-utils/gltf-utils.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs +91 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts +21 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js +77 -0
- package/dist/gltf/lib/gltf-utils/resolve-gltf-file.js.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.cjs +61 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.cjs.map +7 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.d.ts +10 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.d.ts.map +1 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.js +43 -0
- package/dist/gltf/lib/gltf-utils/resolve-url.js.map +1 -0
- package/dist/gltf/lib/parsers/parse-glb.cjs +185 -0
- package/dist/gltf/lib/parsers/parse-glb.cjs.map +7 -0
- package/dist/gltf/lib/parsers/parse-glb.d.ts +20 -0
- package/dist/gltf/lib/parsers/parse-glb.d.ts.map +1 -0
- package/dist/gltf/lib/parsers/parse-glb.js +216 -0
- package/dist/gltf/lib/parsers/parse-glb.js.map +1 -0
- package/dist/gltf/lib/parsers/parse-gltf.cjs +365 -0
- package/dist/gltf/lib/parsers/parse-gltf.cjs.map +7 -0
- package/dist/gltf/lib/parsers/parse-gltf.d.ts +43 -0
- package/dist/gltf/lib/parsers/parse-gltf.d.ts.map +1 -0
- package/dist/gltf/lib/parsers/parse-gltf.js +372 -0
- package/dist/gltf/lib/parsers/parse-gltf.js.map +1 -0
- package/dist/gltf/lib/types/glb-types.cjs +19 -0
- package/dist/gltf/lib/types/glb-types.cjs.map +7 -0
- package/dist/gltf/lib/types/glb-types.d.ts +35 -0
- package/dist/gltf/lib/types/glb-types.d.ts.map +1 -0
- package/dist/gltf/lib/types/glb-types.js +5 -0
- package/dist/gltf/lib/types/glb-types.js.map +1 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs +123 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts +110 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.js +87 -0
- package/dist/gltf/lib/types/gltf-additional-extension-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs +189 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts +192 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.js +154 -0
- package/dist/gltf/lib/types/gltf-audio-extension-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts +421 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-feature-metadata-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts +39 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-gaussian-splatting-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts +49 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-mesh-features-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts +334 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-structural-metadata-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts +42 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-ext-vector-voxel-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.cjs +83 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.d.ts +229 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.js +53 -0
- package/dist/gltf/lib/types/gltf-extension-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-interactivity.cjs +34 -0
- package/dist/gltf/lib/types/gltf-interactivity.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-interactivity.d.ts +131 -0
- package/dist/gltf/lib/types/gltf-interactivity.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-interactivity.js +13 -0
- package/dist/gltf/lib/types/gltf-interactivity.js.map +1 -0
- package/dist/gltf/lib/types/gltf-json-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-json-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-json-schema.d.ts +841 -0
- package/dist/gltf/lib/types/gltf-json-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-json-schema.js +3 -0
- package/dist/gltf/lib/types/gltf-json-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts +46 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-khr-audio-emitter-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts +20 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-mpeg-audio-spatial-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.cjs +17840 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts +14 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.js +17751 -0
- package/dist/gltf/lib/types/gltf-official-json-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-shape-schema.cjs +19 -0
- package/dist/gltf/lib/types/gltf-shape-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-shape-schema.d.ts +49 -0
- package/dist/gltf/lib/types/gltf-shape-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-shape-schema.js +5 -0
- package/dist/gltf/lib/types/gltf-shape-schema.js.map +1 -0
- package/dist/gltf/lib/types/gltf-types.cjs +19 -0
- package/dist/gltf/lib/types/gltf-types.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-types.d.ts +53 -0
- package/dist/gltf/lib/types/gltf-types.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-types.js +5 -0
- package/dist/gltf/lib/types/gltf-types.js.map +1 -0
- package/dist/gltf/lib/types/gltf-vector-topology.cjs +19 -0
- package/dist/gltf/lib/types/gltf-vector-topology.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-vector-topology.d.ts +56 -0
- package/dist/gltf/lib/types/gltf-vector-topology.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-vector-topology.js +5 -0
- package/dist/gltf/lib/types/gltf-vector-topology.js.map +1 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs +423 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts +1129 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.js +333 -0
- package/dist/gltf/lib/types/gltf-version-zod-schemas.js.map +1 -0
- package/dist/gltf/lib/types/gltf-zod-schema.cjs +462 -0
- package/dist/gltf/lib/types/gltf-zod-schema.cjs.map +7 -0
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts +1595 -0
- package/dist/gltf/lib/types/gltf-zod-schema.d.ts.map +1 -0
- package/dist/gltf/lib/types/gltf-zod-schema.js +497 -0
- package/dist/gltf/lib/types/gltf-zod-schema.js.map +1 -0
- package/dist/gltf/lib/utils/assert.cjs +35 -0
- package/dist/gltf/lib/utils/assert.cjs.map +7 -0
- package/dist/gltf/lib/utils/assert.d.ts +2 -0
- package/dist/gltf/lib/utils/assert.d.ts.map +1 -0
- package/dist/gltf/lib/utils/assert.js +12 -0
- package/dist/gltf/lib/utils/assert.js.map +1 -0
- package/dist/gltf/lib/utils/version.cjs +31 -0
- package/dist/gltf/lib/utils/version.cjs.map +7 -0
- package/dist/gltf/lib/utils/version.d.ts +2 -0
- package/dist/gltf/lib/utils/version.d.ts.map +1 -0
- package/dist/gltf/lib/utils/version.js +8 -0
- package/dist/gltf/lib/utils/version.js.map +1 -0
- package/dist/gltf/libs/README.md +12 -0
- package/dist/gltf/libs/meshopt-decoder.d.mts +15 -0
- package/dist/gltf/libs/meshopt-decoder.mjs +196 -0
- package/dist/gltf/libs/meshoptimizer-LICENSE.md +21 -0
- package/dist/gltf/mesh-arrow.cjs +31 -0
- package/dist/gltf/mesh-arrow.cjs.map +7 -0
- package/dist/gltf/mesh-arrow.d.ts +2 -0
- package/dist/gltf/mesh-arrow.d.ts.map +1 -0
- package/dist/gltf/mesh-arrow.js +5 -0
- package/dist/gltf/mesh-arrow.js.map +1 -0
- package/dist/gltf/meshopt/meshopt-decoder.cjs +93 -0
- package/dist/gltf/meshopt/meshopt-decoder.cjs.map +7 -0
- package/dist/gltf/meshopt/meshopt-decoder.d.ts +78 -0
- package/dist/gltf/meshopt/meshopt-decoder.d.ts.map +1 -0
- package/dist/gltf/meshopt/meshopt-decoder.js +111 -0
- package/dist/gltf/meshopt/meshopt-decoder.js.map +1 -0
- package/dist/gltf/meshopt/meshopt-module-loader.cjs +43 -0
- package/dist/gltf/meshopt/meshopt-module-loader.cjs.map +7 -0
- package/dist/gltf/meshopt/meshopt-module-loader.d.ts +3 -0
- package/dist/gltf/meshopt/meshopt-module-loader.d.ts.map +1 -0
- package/dist/gltf/meshopt/meshopt-module-loader.js +8 -0
- package/dist/gltf/meshopt/meshopt-module-loader.js.map +1 -0
- package/dist/gltf/schema.cjs +60 -0
- package/dist/gltf/schema.cjs.map +7 -0
- package/dist/gltf/schema.d.ts +6 -0
- package/dist/gltf/schema.d.ts.map +1 -0
- package/dist/gltf/schema.js +10 -0
- package/dist/gltf/schema.js.map +1 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/image.KHR_binary_glTF.schema.json +34 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_binary_glTF/shader.KHR_binary_glTF.schema.json +16 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/glTF.KHR_materials_common.schema.json +272 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.ambient.schema.json +57 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.directional.schema.json +57 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.point.schema.json +72 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.schema.json +258 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/light.spot.schema.json +82 -0
- package/dist/gltf/schemas/extensions/1.0/Khronos/KHR_materials_common/node.KHR_materials_common.schema.json +23 -0
- package/dist/gltf/schemas/extensions/1.0/Vendor/CESIUM_RTC/CESIUM_RTC.schema.json +21 -0
- package/dist/gltf/schemas/extensions/1.0/Vendor/WEB3D_quantized_attributes/WEB3D_quantized_attributes.accessor.schema.json +40 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_materials_pbrSpecularGlossiness/glTF.KHR_materials_pbrSpecularGlossiness.schema.json +141 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/glTF.KHR_techniques_webgl.schema.json +417 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/material.KHR_techniques_webgl.schema.json +133 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/program.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/shader.schema.json +109 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.attribute.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.schema.json +267 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/technique.uniform.schema.json +185 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_techniques_webgl/uniform.value.schema.json +98 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/glTF.KHR_xmp.schema.json +61 -0
- package/dist/gltf/schemas/extensions/2.0/Archived/KHR_xmp/node.KHR_xmp.schema.json +59 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_animation_pointer/animation.channel.target.KHR_animation_pointer.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_draco_mesh_compression/mesh.primitive.KHR_draco_mesh_compression.schema.json +67 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_gaussian_splatting/mesh.primitive.KHR_gaussian_splatting.schema.json +100 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/declaration.KHR_interactivity.schema.json +106 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/event.KHR_interactivity.schema.json +90 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/glTF.KHR_interactivity.schema.json +546 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/graph.KHR_interactivity.schema.json +512 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/node.KHR_interactivity.schema.json +183 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/type.KHR_interactivity.schema.json +96 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_interactivity/variable.KHR_interactivity.schema.json +64 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/glTF.KHR_lights_punctual.schema.json +175 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.schema.json +151 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/light.spot.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_lights_punctual/node.KHR_lights_punctual.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_anisotropy/material.KHR_materials_anisotropy.schema.json +103 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_clearcoat/material.KHR_materials_clearcoat.schema.json +144 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_diffuse_transmission/material.KHR_materials_diffuse_transmission.schema.json +123 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_dispersion/material.KHR_materials_dispersion.schema.json +50 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_emissive_strength/material.KHR_materials_emissive_strength.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_ior/material.KHR_materials_ior.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_iridescence/material.KHR_materials_iridescence.schema.json +125 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_sheen/material.KHR_materials_sheen.schema.json +122 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_specular/material.KHR_materials_specular.schema.json +122 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_transmission/material.KHR_materials_transmission.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_unlit/material.KHR_materials_unlit.schema.json +43 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/glTF.KHR_materials_variants.schema.json +88 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_variants/mesh.primitive.KHR_materials_variants.schema.json +100 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_materials_volume/material.KHR_materials_volume.schema.json +119 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/buffer.KHR_meshopt_compression.schema.json +48 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_meshopt_compression/bufferView.KHR_meshopt_compression.schema.json +106 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_hoverability/node.KHR_node_hoverability.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_selectability/node.KHR_node_selectability.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_node_visibility/node.KHR_node_visibility.schema.json +49 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_basisu/texture.KHR_texture_basisu.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_texture_transform/textureInfo.KHR_texture_transform.schema.json +79 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/KHR_xmp_json_ld.schema.json +59 -0
- package/dist/gltf/schemas/extensions/2.0/Khronos/KHR_xmp_json_ld/glTF.KHR_xmp_json_ld.schema.json +70 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_specular/glTF.ADOBE_materials_clearcoat_specular.schema.json +105 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_clearcoat_tint/material.ADOBE_materials_clearcoat_tint.schema.json +106 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/ADOBE_materials_thin_transparency/glTF.ADOBE_materials_thin_transparency.schema.json +105 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.schema.json +177 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/articulation.stage.schema.json +136 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/gltf.AGI_articulations.schema.json +200 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_articulations/node.AGI_articulations.schema.json +53 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/gltf.AGI_stk_metadata.schema.json +81 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/node.AGI_stk_metadata.schema.json +53 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/AGI_stk_metadata/solarPanelGroup.schema.json +59 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/CESIUM_primitive_outline/primitive.CESIUM_primitive_outline.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/glTF.EXT_lights_ies.schema.json +132 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/lightProfile.schema.json +107 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_ies/node.EXT_lights_ies.schema.json +80 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/glTF.EXT_lights_image_based.schema.json +145 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/light.schema.json +121 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_lights_image_based/scene.EXT_lights_image_based.schema.json +58 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_gpu_instancing/glTF.EXT_mesh_gpu_instancing.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_manifold/mesh.EXT_mesh_manifold.schema.json +175 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/lineString.schema.json +70 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_edge_visibility/primitive.EXT_mesh_primitive_edge_visibility.schema.json +119 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/EXT_mesh_primitive_restart.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_mesh_primitive_restart/primitiveGroup.schema.json +72 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/buffer.EXT_meshopt_compression.schema.json +48 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_meshopt_compression/bufferView.EXT_meshopt_compression.schema.json +105 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_astc/texture.EXT_texture_astc.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/EXT_texture_webp/glTF.EXT_texture_webp.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/scene.FB_geometry_metadata.schema.json +97 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/FB_geometry_metadata/sceneBounds.schema.json +64 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/GRIFFEL_bim_data.schema.json +164 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/glTF.GRIFFEL_bim_data.schema.json +107 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/GRIFFEL_bim_data/node.GRIFFEL_bim_data.schema.json +95 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_accessor_timed/MPEG_accessor_timed.schema.json +85 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_animation_timing/MPEG_animation_timing.schema.json +60 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.listener.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.property.schema.json +63 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.reverb.schema.json +107 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.schema.json +276 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_audio_spatial/MPEG_audio_spatial.source.schema.json +139 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_buffer_circular/MPEG_buffer_circular.schema.json +80 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.schema.json +110 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.alternative.track.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.media.schema.json +195 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_media/MPEG_media.schema.json +237 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_mesh_linking/MPEG_mesh_linking.schema.json +89 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_scene_dynamic/MPEG_scene_dynamic.schema.json +69 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_texture_video/MPEG_texture_video.schema.json +109 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.schema.json +119 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MPEG_viewport_recommended/MPEG_viewport_recommended.viewport.schema.json +96 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_lod/glTF.MSFT_lod.schema.json +51 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_normalRoughnessMetallic/glTF.MSFT_packing_normalRoughnessMetallic.schema.json +62 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_packing_occlusionRoughnessMetallic/glTF.MSFT_packing_occlusionRoughnessMetallic.schema.json +90 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/MSFT_texture_dds/glTF.MSFT_texture_dds.schema.json +56 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/bsdfMeasurement.schema.json +109 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.argument.schema.json +228 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.schema.json +292 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/functionCall.type.schema.json +86 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/glTF.NV_materials_mdl.schema.json +451 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/material.NV_materials_mdl.schema.json +60 -0
- package/dist/gltf/schemas/extensions/2.0/Vendor/NV_materials_mdl/module.schema.json +114 -0
- package/dist/gltf/unbundled.cjs +34 -0
- package/dist/gltf/unbundled.cjs.map +7 -0
- package/dist/gltf/unbundled.d.ts +5 -0
- package/dist/gltf/unbundled.d.ts.map +1 -0
- package/dist/gltf/unbundled.js +6 -0
- package/dist/gltf/unbundled.js.map +1 -0
- package/dist/gltf/webp/webp.cjs +53 -0
- package/dist/gltf/webp/webp.cjs.map +7 -0
- package/dist/gltf/webp/webp.d.ts +7 -0
- package/dist/gltf/webp/webp.d.ts.map +1 -0
- package/dist/gltf/webp/webp.js +38 -0
- package/dist/gltf/webp/webp.js.map +1 -0
- package/dist/index.cjs +43 -809
- package/dist/index.cjs.map +4 -3
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -1
- package/dist/index.js.map +1 -1
- package/dist/obj/bundled.cjs +44 -0
- package/dist/obj/bundled.cjs.map +7 -0
- package/dist/obj/bundled.d.ts +7 -0
- package/dist/obj/bundled.d.ts.map +1 -0
- package/dist/obj/bundled.js +8 -0
- package/dist/obj/bundled.js.map +1 -0
- package/dist/obj/index.cjs +49 -0
- package/dist/obj/index.cjs.map +7 -0
- package/dist/obj/index.d.ts +13 -0
- package/dist/obj/index.d.ts.map +1 -0
- package/dist/obj/index.js +16 -0
- package/dist/obj/index.js.map +1 -0
- package/dist/obj/lib/get-obj-schema.cjs +60 -0
- package/dist/obj/lib/get-obj-schema.cjs.map +7 -0
- package/dist/obj/lib/get-obj-schema.d.ts +4 -0
- package/dist/obj/lib/get-obj-schema.d.ts.map +1 -0
- package/dist/obj/lib/get-obj-schema.js +36 -0
- package/dist/obj/lib/get-obj-schema.js.map +1 -0
- package/dist/obj/lib/obj-types.cjs +2 -0
- package/dist/obj/lib/obj-types.cjs.map +7 -0
- package/dist/obj/lib/obj-types.d.ts +1 -0
- package/dist/obj/lib/obj-types.d.ts.map +1 -0
- package/dist/obj/lib/obj-types.js +5 -0
- package/dist/obj/lib/obj-types.js.map +1 -0
- package/dist/obj/lib/parse-mtl.cjs +97 -0
- package/dist/obj/lib/parse-mtl.cjs.map +7 -0
- package/dist/obj/lib/parse-mtl.d.ts +34 -0
- package/dist/obj/lib/parse-mtl.d.ts.map +1 -0
- package/dist/obj/lib/parse-mtl.js +200 -0
- package/dist/obj/lib/parse-mtl.js.map +1 -0
- package/dist/obj/lib/parse-obj-meshes.cjs +389 -0
- package/dist/obj/lib/parse-obj-meshes.cjs.map +7 -0
- package/dist/obj/lib/parse-obj-meshes.d.ts +5 -0
- package/dist/obj/lib/parse-obj-meshes.d.ts.map +1 -0
- package/dist/obj/lib/parse-obj-meshes.js +441 -0
- package/dist/obj/lib/parse-obj-meshes.js.map +1 -0
- package/dist/obj/lib/parse-obj.cjs +96 -0
- package/dist/obj/lib/parse-obj.cjs.map +7 -0
- package/dist/obj/lib/parse-obj.d.ts +3 -0
- package/dist/obj/lib/parse-obj.d.ts.map +1 -0
- package/dist/obj/lib/parse-obj.js +72 -0
- package/dist/obj/lib/parse-obj.js.map +1 -0
- package/dist/obj/mtl-format.cjs +39 -0
- package/dist/obj/mtl-format.cjs.map +7 -0
- package/dist/obj/mtl-format.d.ts +14 -0
- package/dist/obj/mtl-format.d.ts.map +1 -0
- package/dist/obj/mtl-format.js +17 -0
- package/dist/obj/mtl-format.js.map +1 -0
- package/dist/obj/mtl-loader-types.cjs +62 -0
- package/dist/obj/mtl-loader-types.cjs.map +7 -0
- package/dist/obj/mtl-loader-types.d.ts +73 -0
- package/dist/obj/mtl-loader-types.d.ts.map +1 -0
- package/dist/obj/mtl-loader-types.js +34 -0
- package/dist/obj/mtl-loader-types.js.map +1 -0
- package/dist/obj/mtl-loader.cjs +45 -0
- package/dist/obj/mtl-loader.cjs.map +7 -0
- package/dist/obj/mtl-loader.d.ts +51 -0
- package/dist/obj/mtl-loader.d.ts.map +1 -0
- package/dist/obj/mtl-loader.js +25 -0
- package/dist/obj/mtl-loader.js.map +1 -0
- package/dist/obj/obj-format.cjs +39 -0
- package/dist/obj/obj-format.cjs.map +7 -0
- package/dist/obj/obj-format.d.ts +13 -0
- package/dist/obj/obj-format.d.ts.map +1 -0
- package/dist/obj/obj-format.js +16 -0
- package/dist/obj/obj-format.js.map +1 -0
- package/dist/obj/obj-loader-types.cjs +69 -0
- package/dist/obj/obj-loader-types.cjs.map +7 -0
- package/dist/obj/obj-loader-types.d.ts +112 -0
- package/dist/obj/obj-loader-types.d.ts.map +1 -0
- package/dist/obj/obj-loader-types.js +41 -0
- package/dist/obj/obj-loader-types.js.map +1 -0
- package/dist/obj/obj-loader.cjs +161 -0
- package/dist/obj/obj-loader.cjs.map +7 -0
- package/dist/obj/obj-loader.d.ts +40 -0
- package/dist/obj/obj-loader.d.ts.map +1 -0
- package/dist/obj/obj-loader.js +142 -0
- package/dist/obj/obj-loader.js.map +1 -0
- package/dist/obj/obj-writer.cjs +165 -0
- package/dist/obj/obj-writer.cjs.map +7 -0
- package/dist/obj/obj-writer.d.ts +35 -0
- package/dist/obj/obj-writer.d.ts.map +1 -0
- package/dist/obj/obj-writer.js +123 -0
- package/dist/obj/obj-writer.js.map +1 -0
- package/dist/obj/unbundled.cjs +44 -0
- package/dist/obj/unbundled.cjs.map +7 -0
- package/dist/obj/unbundled.d.ts +7 -0
- package/dist/obj/unbundled.d.ts.map +1 -0
- package/dist/obj/unbundled.js +8 -0
- package/dist/obj/unbundled.js.map +1 -0
- package/dist/obj/workers/obj-worker.cjs +23 -0
- package/dist/obj/workers/obj-worker.cjs.map +7 -0
- package/dist/obj/workers/obj-worker.d.ts +2 -0
- package/dist/obj/workers/obj-worker.d.ts.map +1 -0
- package/dist/obj/workers/obj-worker.js +23 -0
- package/dist/obj/workers/obj-worker.js.map +1 -0
- package/dist/obj-worker.js +17609 -0
- package/dist/usd/index.cjs +31 -0
- package/dist/usd/index.cjs.map +7 -0
- package/dist/usd/index.d.ts +3 -0
- package/dist/usd/index.d.ts.map +1 -0
- package/dist/usd/index.js +5 -0
- package/dist/usd/index.js.map +1 -0
- package/dist/usd/lib/parse-usd.cjs +294 -0
- package/dist/usd/lib/parse-usd.cjs.map +7 -0
- package/dist/{lib → usd/lib}/parse-usd.d.ts +1 -1
- package/dist/usd/lib/parse-usd.d.ts.map +1 -0
- package/dist/usd/lib/parse-usd.js.map +1 -0
- package/dist/usd/lib/parse-usda.cjs +406 -0
- package/dist/usd/lib/parse-usda.cjs.map +7 -0
- package/dist/usd/lib/parse-usda.d.ts.map +1 -0
- package/dist/usd/lib/parse-usda.js.map +1 -0
- package/dist/usd/lib/parse-usdz.cjs +76 -0
- package/dist/usd/lib/parse-usdz.cjs.map +7 -0
- package/dist/usd/lib/parse-usdz.d.ts.map +1 -0
- package/dist/usd/lib/parse-usdz.js.map +1 -0
- package/dist/usd/lib/usd-types.cjs +19 -0
- package/dist/usd/lib/usd-types.cjs.map +7 -0
- package/dist/{lib → usd/lib}/usd-types.d.ts +1 -1
- package/dist/usd/lib/usd-types.d.ts.map +1 -0
- package/dist/usd/lib/usd-types.js.map +1 -0
- package/dist/usd/usd-loader-types.cjs +67 -0
- package/dist/usd/usd-loader-types.cjs.map +7 -0
- package/dist/usd/usd-loader-types.d.ts.map +1 -0
- package/dist/{usd-loader-types.js → usd/usd-loader-types.js} +2 -2
- package/dist/usd/usd-loader-types.js.map +1 -0
- package/dist/usd/usd-loader.cjs +41 -0
- package/dist/usd/usd-loader.cjs.map +7 -0
- package/dist/usd/usd-loader.d.ts.map +1 -0
- package/dist/usd/usd-loader.js.map +1 -0
- package/package.json +181 -10
- package/src/gltf/bundled.ts +8 -0
- package/src/gltf/glb-loader-types.ts +40 -0
- package/src/gltf/glb-loader.ts +42 -0
- package/src/gltf/glb-writer.ts +46 -0
- package/src/gltf/gltf-format.ts +32 -0
- package/src/gltf/gltf-loader-types.ts +52 -0
- package/src/gltf/gltf-loader.ts +49 -0
- package/src/gltf/gltf-source.ts +244 -0
- package/src/gltf/gltf-writer.ts +62 -0
- package/src/gltf/index.ts +270 -0
- package/src/gltf/lib/api/append-gltf-v1-buffer-data.ts +61 -0
- package/src/gltf/lib/api/bake-gltf-v1-bind-shapes.ts +178 -0
- package/src/gltf/lib/api/clean-gltf-v1-fields.ts +94 -0
- package/src/gltf/lib/api/convert-gltf-v1-accessors.ts +170 -0
- package/src/gltf/lib/api/convert-gltf-v1-animations.ts +79 -0
- package/src/gltf/lib/api/convert-gltf-v1-materials.ts +351 -0
- package/src/gltf/lib/api/convert-gltf-v1-matrix-nodes.ts +116 -0
- package/src/gltf/lib/api/convert-gltf-v1-skin-scenes.ts +88 -0
- package/src/gltf/lib/api/convert-gltf-v1-skins.ts +217 -0
- package/src/gltf/lib/api/gltf-accessors.ts +87 -0
- package/src/gltf/lib/api/gltf-culling.ts +80 -0
- package/src/gltf/lib/api/gltf-extension-data.ts +125 -0
- package/src/gltf/lib/api/gltf-extensions.ts +133 -0
- package/src/gltf/lib/api/gltf-iterator.ts +1469 -0
- package/src/gltf/lib/api/gltf-mesh-arrow.ts +410 -0
- package/src/gltf/lib/api/gltf-scenegraph.ts +741 -0
- package/src/gltf/lib/api/normalize-gltf-v1.ts +603 -0
- package/src/gltf/lib/api/repack-gltf-v1-accessors.ts +566 -0
- package/src/gltf/lib/api/validate-gltf-v1-buffers.ts +139 -0
- package/src/gltf/lib/api/validate-gltf-v1-cameras.ts +40 -0
- package/src/gltf/lib/api/validate-gltf-v1-geometry.ts +156 -0
- package/src/gltf/lib/api/validate-gltf-v1-payloads.ts +315 -0
- package/src/gltf/lib/encoders/encode-glb.ts +198 -0
- package/src/gltf/lib/encoders/encode-gltf-draco.ts +239 -0
- package/src/gltf/lib/encoders/encode-gltf.ts +45 -0
- package/src/gltf/lib/extensions/EXT_mesh_features.ts +240 -0
- package/src/gltf/lib/extensions/EXT_mesh_polygon.ts +172 -0
- package/src/gltf/lib/extensions/EXT_meshopt_compression.ts +33 -0
- package/src/gltf/lib/extensions/EXT_primitive_voxels.ts +85 -0
- package/src/gltf/lib/extensions/EXT_structural_metadata.ts +1130 -0
- package/src/gltf/lib/extensions/EXT_texture_avif.ts +56 -0
- package/src/gltf/lib/extensions/EXT_texture_webp.ts +46 -0
- package/src/gltf/lib/extensions/KHR_audio_emitter.ts +136 -0
- package/src/gltf/lib/extensions/KHR_binary_gltf.ts +56 -0
- package/src/gltf/lib/extensions/KHR_draco_mesh_compression.ts +169 -0
- package/src/gltf/lib/extensions/KHR_gaussian_splatting.ts +239 -0
- package/src/gltf/lib/extensions/KHR_mesh_primitive_restart.ts +108 -0
- package/src/gltf/lib/extensions/KHR_meshopt_compression.ts +32 -0
- package/src/gltf/lib/extensions/KHR_texture_basisu.ts +39 -0
- package/src/gltf/lib/extensions/KHR_texture_transform.ts +385 -0
- package/src/gltf/lib/extensions/MPEG_audio_spatial.ts +59 -0
- package/src/gltf/lib/extensions/deprecated/EXT_feature_metadata.ts +479 -0
- package/src/gltf/lib/extensions/deprecated/KHR_lights_punctual.ts +67 -0
- package/src/gltf/lib/extensions/deprecated/KHR_materials_unlit.ts +52 -0
- package/src/gltf/lib/extensions/deprecated/KHR_techniques_webgl.ts +105 -0
- package/src/gltf/lib/extensions/meshopt-compression.ts +189 -0
- package/src/gltf/lib/extensions/utils/3d-tiles-utils.ts +473 -0
- package/src/gltf/lib/gltf-utils/get-typed-array.ts +215 -0
- package/src/gltf/lib/gltf-utils/gltf-attribute-utils.ts +85 -0
- package/src/gltf/lib/gltf-utils/gltf-constants.ts +53 -0
- package/src/gltf/lib/gltf-utils/gltf-utils.ts +162 -0
- package/src/gltf/lib/gltf-utils/resolve-gltf-file.ts +95 -0
- package/src/gltf/lib/gltf-utils/resolve-url.ts +48 -0
- package/src/gltf/lib/parsers/parse-glb.ts +299 -0
- package/src/gltf/lib/parsers/parse-gltf.ts +570 -0
- package/src/gltf/lib/types/glb-types.ts +44 -0
- package/src/gltf/lib/types/gltf-additional-extension-schemas.ts +127 -0
- package/src/gltf/lib/types/gltf-audio-extension-schemas.ts +167 -0
- package/src/gltf/lib/types/gltf-ext-feature-metadata-schema.ts +474 -0
- package/src/gltf/lib/types/gltf-ext-gaussian-splatting-schema.ts +46 -0
- package/src/gltf/lib/types/gltf-ext-mesh-features-schema.ts +56 -0
- package/src/gltf/lib/types/gltf-ext-structural-metadata-schema.ts +387 -0
- package/src/gltf/lib/types/gltf-ext-vector-voxel-schema.ts +49 -0
- package/src/gltf/lib/types/gltf-extension-schemas.ts +87 -0
- package/src/gltf/lib/types/gltf-interactivity.ts +168 -0
- package/src/gltf/lib/types/gltf-json-schema.ts +947 -0
- package/src/gltf/lib/types/gltf-khr-audio-emitter-schema.ts +60 -0
- package/src/gltf/lib/types/gltf-mpeg-audio-spatial-schema.ts +31 -0
- package/src/gltf/lib/types/gltf-official-json-schemas.ts +18619 -0
- package/src/gltf/lib/types/gltf-shape-schema.ts +47 -0
- package/src/gltf/lib/types/gltf-types.ts +90 -0
- package/src/gltf/lib/types/gltf-vector-topology.ts +65 -0
- package/src/gltf/lib/types/gltf-version-zod-schemas.ts +511 -0
- package/src/gltf/lib/types/gltf-zod-schema.ts +545 -0
- package/src/gltf/lib/utils/assert.ts +12 -0
- package/src/gltf/lib/utils/version.ts +8 -0
- package/src/gltf/libs/README.md +12 -0
- package/src/gltf/libs/meshopt-decoder.d.mts +15 -0
- package/src/gltf/libs/meshopt-decoder.mjs +196 -0
- package/src/gltf/libs/meshoptimizer-LICENSE.md +21 -0
- package/src/gltf/mesh-arrow.ts +11 -0
- package/src/gltf/meshopt/meshopt-decoder.ts +185 -0
- package/src/gltf/meshopt/meshopt-encoder.ts.disabled +409 -0
- package/src/gltf/meshopt/meshopt-module-loader.ts +8 -0
- package/src/gltf/schema.ts +24 -0
- package/src/gltf/unbundled.ts +8 -0
- package/src/gltf/webp/webp.ts +45 -0
- package/src/index.ts +13 -11
- package/src/obj/bundled.ts +16 -0
- package/src/obj/index.ts +23 -0
- package/src/obj/lib/get-obj-schema.ts +45 -0
- package/src/obj/lib/obj-types.ts +3 -0
- package/src/obj/lib/parse-mtl.ts +248 -0
- package/src/obj/lib/parse-obj-meshes.ts +530 -0
- package/src/obj/lib/parse-obj.ts +88 -0
- package/src/obj/mtl-format.ts +19 -0
- package/src/obj/mtl-loader-types.ts +46 -0
- package/src/obj/mtl-loader.ts +37 -0
- package/src/obj/obj-format.ts +18 -0
- package/src/obj/obj-loader-types.ts +75 -0
- package/src/obj/obj-loader.ts +203 -0
- package/src/obj/obj-writer.ts +190 -0
- package/src/obj/unbundled.ts +10 -0
- package/src/obj/workers/obj-worker.ts +24 -0
- package/src/usd/index.ts +15 -0
- package/src/{lib → usd/lib}/parse-usd.ts +1 -1
- package/src/{lib → usd/lib}/usd-types.ts +1 -1
- package/src/{usd-loader-types.ts → usd/usd-loader-types.ts} +2 -2
- package/src/{usd-loader.ts → usd/usd-loader.ts} +1 -1
- package/third-party-licenses/gltf-loader-ts-LICENSE +21 -0
- package/third-party-licenses/three-LICENSE +21 -0
- package/dist/lib/parse-usd.d.ts.map +0 -1
- package/dist/lib/parse-usd.js.map +0 -1
- package/dist/lib/parse-usda.d.ts.map +0 -1
- package/dist/lib/parse-usda.js.map +0 -1
- package/dist/lib/parse-usdz.d.ts.map +0 -1
- package/dist/lib/parse-usdz.js.map +0 -1
- package/dist/lib/usd-types.d.ts.map +0 -1
- package/dist/lib/usd-types.js.map +0 -1
- package/dist/usd-loader-types.d.ts.map +0 -1
- package/dist/usd-loader-types.js.map +0 -1
- package/dist/usd-loader.d.ts.map +0 -1
- package/dist/usd-loader.js.map +0 -1
- /package/dist/{lib → usd/lib}/parse-usd.js +0 -0
- /package/dist/{lib → usd/lib}/parse-usda.d.ts +0 -0
- /package/dist/{lib → usd/lib}/parse-usda.js +0 -0
- /package/dist/{lib → usd/lib}/parse-usdz.d.ts +0 -0
- /package/dist/{lib → usd/lib}/parse-usdz.js +0 -0
- /package/dist/{lib → usd/lib}/usd-types.js +0 -0
- /package/dist/{usd-loader-types.d.ts → usd/usd-loader-types.d.ts} +0 -0
- /package/dist/{usd-loader.d.ts → usd/usd-loader.d.ts} +0 -0
- /package/dist/{usd-loader.js → usd/usd-loader.js} +0 -0
- /package/src/{lib → usd/lib}/parse-usda.ts +0 -0
- /package/src/{lib → usd/lib}/parse-usdz.ts +0 -0
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../../src/gltf/lib/types/gltf-official-json-schemas.ts"],
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n// This file is generated by scripts/update-official-schemas.mjs.\n\n/** Khronos glTF repository commits used to generate the bundled schemas. */\nexport const GLTF_SCHEMA_SOURCE_COMMITS = {\n main: '77b44be7bef26e01fb0b140e3d5bb1716421c5e9',\n draft21: '0f8fb6d81ead373410cb1df62451770b914e41c3'\n} as const;\n\n/** Khronos glTF 1.0 JSON Schema, bundled with local references. */\nexport const GLTF1_JSON_SCHEMA: Record<string, unknown> = {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'glTF',\n type: 'object',\n description: 'The root object for a glTF asset.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n extensionsUsed: {\n type: 'array',\n description: 'Names of extensions used somewhere in this asset.',\n items: {\n type: 'string'\n },\n uniqueItems: true,\n default: [],\n gltf_webgl: '`getSupportedExtensions()` and `getExtension()`'\n },\n accessors: {\n type: 'object',\n description: 'A dictionary object of accessors.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/accessor_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of accessors. The name of each accessor is an ID in the global glTF namespace that is used to reference the accessor. An accessor is a typed view into a bufferView.'\n },\n animations: {\n type: 'object',\n description: 'A dictionary object of keyframe animations.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/animation_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of keyframe animations. The name of each animation is an ID in the global glTF namespace that is used to reference the animation.'\n },\n asset: {\n allOf: [\n {\n $ref: '#/definitions/asset_schema_json'\n }\n ],\n description: 'Metadata about the glTF asset.',\n default: {}\n },\n buffers: {\n type: 'object',\n description: 'A dictionary object of buffers.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/buffer_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of buffers. The name of each buffer is an ID in the global glTF namespace that is used to reference the buffer. A buffer points to binary geometry, animation, or skins.'\n },\n bufferViews: {\n type: 'object',\n description: 'A dictionary object of bufferViews.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/bufferView_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of bufferViews. The name of each bufferView is an ID in the global glTF namespace that is used to reference the bufferView. A bufferView is a view into a buffer generally representing a subset of the buffer.'\n },\n cameras: {\n type: 'object',\n description: 'A dictionary object of cameras.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/camera_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of cameras. The name of each camera is an ID in the global glTF namespace that is used to reference the camera. A camera defines a projection matrix.'\n },\n images: {\n type: 'object',\n description: 'A dictionary object of images.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/image_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of images. The name of each image is an ID in the global glTF namespace that is used to reference the image. An image defines data used to create a texture.'\n },\n materials: {\n type: 'object',\n description: 'A dictionary object of materials.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/material_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of materials. The name of each material is an ID in the global glTF namespace that is used to reference the material. A material defines the appearance of a primitive.'\n },\n meshes: {\n type: 'object',\n description: 'A dictionary object of meshes.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/mesh_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of meshes. The name of each mesh is an ID in the global glTF namespace that is used to reference the mesh. A mesh is a set of primitives to be rendered.'\n },\n nodes: {\n type: 'object',\n description: 'A dictionary object of nodes.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/node_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of nodes in the node hierarchy. The name of each node is an ID in the global glTF namespace that is used to reference the node.'\n },\n programs: {\n type: 'object',\n description: 'A dictionary object of programs.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/program_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of shader programs. The name of each program is an ID in the global glTF namespace that is used to reference the program.'\n },\n samplers: {\n type: 'object',\n description: 'A dictionary object of samplers.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/sampler_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of samplers. The name of each sampler is an ID in the global glTF namespace that is used to reference the sampler. A sampler contains properties for texture filtering and wrapping modes.'\n },\n scene: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the default scene.'\n },\n scenes: {\n type: 'object',\n description: 'A dictionary object of scenes.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/scene_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of scenes. The name of each scene is an ID in the global glTF namespace that is used to reference the scene.'\n },\n shaders: {\n type: 'object',\n description: 'A dictionary object of shaders.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/shader_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of shaders. The name of each shader is an ID in the global glTF namespace that is used to reference the shader.'\n },\n skins: {\n type: 'object',\n description: 'A dictionary object of skins.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/skin_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of skins. The name of each skin is an ID in the global glTF namespace that is used to reference the skin. A skin is defined by joints and matrices.'\n },\n techniques: {\n type: 'object',\n description: 'A dictionary object of techniques.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of techniques. The name of each technique is an ID in the global glTF namespace that is used to reference the technique. A technique is a template for a material appearance.'\n },\n textures: {\n type: 'object',\n description: 'A dictionary object of textures.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/texture_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of textures. The name of each texture is an ID in the global glTF namespace that is used to reference the texture.'\n }\n },\n dependencies: {\n scene: ['scenes']\n },\n additionalProperties: false,\n definitions: {\n extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/extras_schema_json'\n }\n }\n },\n glTFChildOfRootProperty_schema_json: {\n title: 'Child of a glTF root property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n glTFid_schema_json: {\n title: 'glTF id',\n type: 'string',\n minLength: 1\n },\n accessor_schema_json: {\n title: 'accessor',\n type: 'object',\n description:\n \"A typed view into a bufferView. A bufferView contains raw binary data. An accessor provides a typed view into a bufferView or a subset of a bufferView similar to how WebGL's `vertexAttribPointer()` defines an attribute in a buffer.\",\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the bufferView.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the bufferView in bytes.',\n minimum: 0,\n gltf_detailedDescription:\n 'The offset relative to the start of the bufferView in bytes. This must be a multiple of the size of the data type.',\n gltf_webgl: '`vertexAttribPointer()` offset parameter'\n },\n byteStride: {\n type: 'integer',\n description: 'The stride, in bytes, between attributes referenced by this accessor.',\n minimum: 0,\n maximum: 255,\n default: 0,\n gltf_detailedDescription:\n 'The stride, in bytes, between attributes referenced by this accessor. When this is zero, the attributes are tightly packed.',\n gltf_webgl: '`vertexAttribPointer()` stride parameter'\n },\n componentType: {\n type: 'integer',\n description: 'The datatype of components in the attribute.',\n enum: [5120, 5121, 5122, 5123, 5126],\n gltf_enumNames: ['BYTE', 'UNSIGNED_BYTE', 'SHORT', 'UNSIGNED_SHORT', 'FLOAT'],\n gltf_detailedDescription:\n 'The datatype of components in the attribute. All valid values correspond to WebGL enums. The corresponding typed arrays are `Int8Array`, `Uint8Array`, `Int16Array`, `Uint16Array`, and `Float32Array`, respectively.'\n },\n count: {\n type: 'integer',\n description: 'The number of attributes referenced by this accessor.',\n minimum: 1,\n gltf_detailedDescription:\n 'The number of attributes referenced by this accessor, not to be confused with the number of bytes or number of components.'\n },\n type: {\n type: 'string',\n description: 'Specifies if the attribute is a scalar, vector, or matrix.',\n enum: ['SCALAR', 'VEC2', 'VEC3', 'VEC4', 'MAT2', 'MAT3', 'MAT4'],\n gltf_detailedDescription:\n 'Specifies if the attribute is a scalar, vector, or matrix, and the number of elements in the vector or matrix.'\n },\n max: {\n type: 'array',\n description: 'Maximum value of each component in this attribute.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 16,\n gltf_detailedDescription:\n 'Maximum value of each component in this attribute. When both min and max arrays are defined, they 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 min: {\n type: 'array',\n description: 'Minimum value of each component in this attribute.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 16,\n gltf_detailedDescription:\n 'Minimum value of each component in this attribute. When both min and max arrays are defined, they 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 },\n additionalProperties: false,\n required: ['bufferView', 'byteOffset', 'componentType', 'count', 'type']\n },\n animation_channel_target_schema_json: {\n title: 'target',\n type: 'object',\n description: 'The ID of the node and TRS property that an animation channel targets.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n id: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the node to target.'\n },\n path: {\n type: 'string',\n description: \"The name of the node's TRS property to modify.\",\n enum: ['translation', 'rotation', 'scale']\n }\n },\n additionalProperties: false,\n required: ['id', 'path']\n },\n animation_channel_schema_json: {\n title: 'channel',\n type: 'object',\n description: \"Targets an animation's sampler at a node's property.\",\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n sampler: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description:\n 'The ID of a sampler in this animation used to compute the value for the target.',\n gltf_detailedDescription:\n \"The ID of a sampler in this animation used to compute the value for the target, e.g., a node's translation, rotation, or scale (TRS).\"\n },\n target: {\n allOf: [\n {\n $ref: '#/definitions/animation_channel_target_schema_json'\n }\n ],\n description: 'The ID of the node and TRS property to target.'\n }\n },\n additionalProperties: false,\n required: ['sampler', 'target']\n },\n animation_parameter_schema_json: {\n title: 'parameter',\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the accessor containing keyframes for this parameter.',\n additionalProperties: false\n },\n animation_sampler_schema_json: {\n title: 'animation sampler',\n type: 'object',\n description:\n 'Combines input and output parameters with an interpolation algorithm to define a keyframe graph (but not its target).',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n input: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description:\n 'The ID of a parameter in this animation to use as keyframe input, e.g., time.',\n gltf_detailedDescription:\n 'The ID of a parameter in this animation to use as keyframe input. This parameter must have type `FLOAT`. The values represent time in seconds with `time[0] >= 0.0`, and monotonically increasing values, i.e., `time[n + 1] >= time[n]`.'\n },\n interpolation: {\n type: 'string',\n description: 'Interpolation algorithm.',\n enum: ['LINEAR'],\n default: 'LINEAR',\n gltf_detailedDescription:\n 'Interpolation algorithm. When an animation targets a node\\'s rotation, and the animation\\'s interpolation is `\"LINEAR\"`, spherical linear interpolation (slerp) should be used to interpolate quaternions.'\n },\n output: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of a parameter in this animation to use as keyframe output.'\n }\n },\n additionalProperties: false,\n required: ['input', 'output']\n },\n animation_schema_json: {\n title: 'animation',\n type: 'object',\n description: 'A keyframe animation.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n channels: {\n type: 'array',\n description:\n \"An array of channels, each of which targets an animation's sampler at a node's property.\",\n items: {\n $ref: '#/definitions/animation_channel_schema_json'\n },\n default: []\n },\n parameters: {\n type: 'object',\n description:\n 'A dictionary object of strings whose values are IDs of accessors with keyframe data, e.g., time, translation, rotation, etc.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/animation_parameter_schema_json'\n },\n default: {}\n },\n samplers: {\n type: 'object',\n description:\n 'A dictionary object of samplers that combines input and output parameters with an interpolation algorithm to define a keyframe graph (but not its target).',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/animation_sampler_schema_json'\n },\n default: {}\n }\n },\n dependencies: {\n channels: ['samplers'],\n samplers: ['parameters']\n },\n additionalProperties: false\n },\n asset_profile_schema_json: {\n title: 'profile',\n type: 'object',\n description: 'Specifies the target rendering API and version, e.g., WebGL 1.0.3.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n api: {\n type: 'string',\n description: 'Specifies the target rendering API.',\n default: 'WebGL'\n },\n version: {\n type: 'string',\n description: 'The API version.',\n default: '1.0.3'\n }\n },\n additionalProperties: false\n },\n asset_schema_json: {\n title: 'asset',\n type: 'object',\n description: 'Metadata about the glTF asset.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n copyright: {\n type: 'string',\n description: 'A copyright message suitable for display to credit the content creator.'\n },\n generator: {\n type: 'string',\n description: 'Tool that generated this glTF model. Useful for debugging.'\n },\n premultipliedAlpha: {\n type: 'boolean',\n description: 'Specifies if the shaders were generated with premultiplied alpha.',\n default: false,\n gltf_webgl: '`getContext()` with premultipliedAlpha'\n },\n profile: {\n allOf: [\n {\n $ref: '#/definitions/asset_profile_schema_json'\n }\n ],\n default: {}\n },\n version: {\n type: 'string',\n pattern: '^1\\\\.',\n description: 'The glTF version.'\n }\n },\n additionalProperties: false,\n required: ['version']\n },\n buffer_schema_json: {\n title: 'buffer',\n type: 'object',\n description: 'A buffer points to binary geometry, animation, or skins.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n uri: {\n type: 'string',\n description: 'The uri of the buffer.',\n format: 'uriref',\n gltf_detailedDescription:\n 'The uri of the buffer. Relative paths are relative to the .gltf file. Instead of referencing an external file, the uri can also be a data-uri.',\n gltf_uriType: 'application'\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the buffer in bytes.',\n minimum: 0,\n default: 0\n },\n type: {\n type: 'string',\n description: 'XMLHttpRequest `responseType`.',\n enum: ['arraybuffer', 'text'],\n default: 'arraybuffer'\n }\n },\n additionalProperties: false,\n required: ['uri']\n },\n bufferView_schema_json: {\n title: 'bufferView',\n type: 'object',\n description: 'A view into a buffer generally representing a subset of the buffer.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n buffer: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the buffer.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset into the buffer in bytes.',\n minimum: 0\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the bufferView in bytes.',\n minimum: 0,\n default: 0\n },\n target: {\n type: 'integer',\n description: 'The target that the WebGL buffer should be bound to.',\n enum: [34962, 34963],\n gltf_enumNames: ['ARRAY_BUFFER', 'ELEMENT_ARRAY_BUFFER'],\n gltf_detailedDescription:\n 'The target that the WebGL buffer should be bound to. All valid values correspond to WebGL enums. When this is not provided, the bufferView contains animation or skin data.',\n gltf_webgl: '`bindBuffer()`'\n }\n },\n additionalProperties: false,\n required: ['buffer', 'byteOffset']\n },\n camera_orthographic_schema_json: {\n title: 'orthographic',\n type: 'object',\n description:\n 'An orthographic camera containing properties to create an orthographic projection matrix.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n xmag: {\n type: 'number',\n description: 'The floating-point horizontal magnification of the view.'\n },\n ymag: {\n type: 'number',\n description: 'The floating-point vertical magnification of the view.'\n },\n zfar: {\n type: 'number',\n description: 'The floating-point distance to the far clipping plane.',\n minimum: 0\n },\n znear: {\n type: 'number',\n description: 'The floating-point distance to the near clipping plane.',\n minimum: 0\n }\n },\n additionalProperties: false,\n required: ['xmag', 'ymag', 'zfar', 'znear']\n },\n camera_perspective_schema_json: {\n title: 'perspective',\n type: 'object',\n description:\n 'A perspective camera containing properties to create a perspective projection matrix.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n aspectRatio: {\n type: 'number',\n description: 'The floating-point aspect ratio of the field of view.',\n minimum: 0,\n gltf_detailedDescription:\n 'The floating-point aspect ratio of the field of view. When this is undefined, the aspect ratio of the canvas is used.'\n },\n yfov: {\n type: 'number',\n description: 'The floating-point vertical field of view in radians.',\n minimum: 0\n },\n zfar: {\n type: 'number',\n description: 'The floating-point distance to the far clipping plane.',\n minimum: 0,\n exclusiveMinimum: true,\n gltf_detailedDescription:\n 'The floating-point distance to the far clipping plane. zfar must be greater than znear.'\n },\n znear: {\n type: 'number',\n description: 'The floating-point distance to the near clipping plane.',\n minimum: 0,\n exclusiveMinimum: true,\n gltf_detailedDescription:\n 'The floating-point distance to the near clipping plane. zfar must be greater than znear.'\n }\n },\n additionalProperties: false,\n required: ['yfov', 'zfar', 'znear']\n },\n camera_schema_json: {\n title: 'camera',\n type: 'object',\n description:\n \"A camera's projection. A node can reference a camera ID to apply a transform to place the camera in the scene.\",\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n orthographic: {\n allOf: [\n {\n $ref: '#/definitions/camera_orthographic_schema_json'\n }\n ],\n description:\n 'An orthographic camera containing properties to create an orthographic projection matrix.'\n },\n perspective: {\n allOf: [\n {\n $ref: '#/definitions/camera_perspective_schema_json'\n }\n ],\n description:\n 'A perspective camera containing properties to create a perspective projection matrix.'\n },\n type: {\n type: 'string',\n description: 'Specifies if the camera uses a perspective or orthographic projection.',\n enum: ['perspective', 'orthographic'],\n gltf_detailedDescription:\n \"Specifies if the camera uses a perspective or orthographic projection. Based on this, either the camera's `perspective` or `orthographic` property will be defined.\"\n }\n },\n additionalProperties: false,\n required: ['type']\n },\n image_schema_json: {\n title: 'image',\n type: 'object',\n description: 'Image data used to create a texture.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n uri: {\n type: 'string',\n description: 'The uri of the image.',\n format: 'uriref',\n gltf_detailedDescription:\n 'The uri of the image. Relative paths are relative to the .gltf file. Instead of referencing an external file, the uri can also be a data-uri. The image format must be jpg, png, bmp, or gif.',\n gltf_uriType: 'image'\n }\n },\n additionalProperties: false,\n required: ['uri']\n },\n arrayValues_schema_json: {\n type: 'array',\n items: {\n type: ['number', 'boolean', 'string']\n }\n },\n material_values_schema_json: {\n title: 'values',\n anyOf: [\n {\n type: ['number', 'boolean', 'string']\n },\n {\n $ref: '#/definitions/arrayValues_schema_json'\n }\n ],\n description:\n \"A dictionary object of parameter values. Parameters with the same name as the technique's parameter override the technique's parameter value.\"\n },\n material_schema_json: {\n title: 'material',\n type: 'object',\n description: 'The material appearance of a primitive.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n technique: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the technique.',\n gltf_detailedDescription:\n 'The ID of the technique. If this is not supplied, and no extension is present that defines material properties, then the primitive should be rendered using a default material with 50% gray emissive color.'\n },\n values: {\n type: 'object',\n description: 'A dictionary object of parameter values.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/material_values_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n \"A dictionary object of parameter values. Parameters with the same name as the technique's parameter override the technique's parameter value.\"\n }\n },\n additionalProperties: false\n },\n mesh_primitive_attribute_schema_json: {\n title: 'attribute',\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description:\n 'A dictionary object of strings, where each string is the ID of the accessor containing an attribute.'\n },\n mesh_primitive_schema_json: {\n title: 'primitive',\n type: 'object',\n description: 'Geometry to be rendered with the given material.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n attributes: {\n type: 'object',\n description:\n 'A dictionary object of strings, where each string is the ID of the accessor containing an attribute.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/mesh_primitive_attribute_schema_json'\n },\n default: {}\n },\n indices: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the accessor that contains the indices.',\n gltf_detailedDescription:\n 'The ID of the accessor that contains the indices. When this is not defined, the primitives should be rendered without indices using `drawArrays()`. When defined, the accessor must contain indices: the bufferView referenced by the accessor must have a target equal to 34963 (ELEMENT_ARRAY_BUFFER); a byteStride that is tightly packed, i.e., 0 or the byte size of componentType in bytes; componentType must be 5121 (UNSIGNED_BYTE) or 5123 (UNSIGNED_SHORT); and type must be \"SCALAR\".'\n },\n material: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the material to apply to this primitive when rendering.'\n },\n mode: {\n type: 'integer',\n description: 'The type of primitives to render.',\n enum: [0, 1, 2, 3, 4, 5, 6],\n gltf_enumNames: [\n 'POINTS',\n 'LINES',\n 'LINE_LOOP',\n 'LINE_STRIP',\n 'TRIANGLES',\n 'TRIANGLE_STRIP',\n 'TRIANGLE_FAN'\n ],\n default: 4,\n gltf_detailedDescription:\n 'The type of primitives to render. All valid values correspond to WebGL enums.'\n }\n },\n additionalProperties: false,\n gltf_webgl: '`drawElements()` and `drawArrays()`',\n required: ['material']\n },\n mesh_schema_json: {\n title: 'mesh',\n type: 'object',\n description:\n \"A set of primitives to be rendered. A node can contain one or more meshes. A node's transform places the mesh in the scene.\",\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n primitives: {\n type: 'array',\n description:\n 'An array of primitives, each defining geometry to be rendered with a material.',\n items: {\n $ref: '#/definitions/mesh_primitive_schema_json'\n },\n default: []\n }\n },\n additionalProperties: false\n },\n node_schema_json: {\n title: 'node',\n type: 'object',\n description:\n 'A node in the node hierarchy. A node can have either the `camera`, `meshes`, or `skeletons`/`skin`/`meshes` properties defined. In the later case, all `primitives` in the referenced `meshes` contain `JOINT` and `WEIGHT` attributes and the referenced `material`/`technique` from each `primitive` has parameters with `JOINT` and `WEIGHT` semantics. A node can 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), only TRS properties may be present; `matrix` will not be present.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n camera: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the camera referenced by this node.'\n },\n children: {\n type: 'array',\n description: \"The IDs of this node's children.\",\n items: {\n $ref: '#/definitions/glTFid_schema_json'\n },\n uniqueItems: true,\n default: []\n },\n skeletons: {\n type: 'array',\n description: 'The ID of skeleton nodes.',\n items: {\n $ref: '#/definitions/glTFid_schema_json'\n },\n uniqueItems: true,\n gltf_detailedDescription:\n 'The ID of skeleton nodes. Each node defines a subtree, which has a `jointName` of the corresponding element in the referenced `skin.jointNames`.'\n },\n skin: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the skin referenced by this node.'\n },\n jointName: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'Name used when this node is a joint in a skin.'\n },\n matrix: {\n type: 'array',\n description: 'A floating-point 4x4 transformation matrix stored in column-major order.',\n items: {\n type: 'number'\n },\n minItems: 16,\n maxItems: 16,\n default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],\n gltf_detailedDescription:\n 'A floating-point 4x4 transformation matrix stored in column-major order.',\n gltf_webgl: '`uniformMatrix4fv()` with the transpose parameter equal to false'\n },\n meshes: {\n type: 'array',\n description: 'The IDs of the meshes in this node.',\n items: {\n $ref: '#/definitions/glTFid_schema_json'\n },\n uniqueItems: true,\n gltf_detailedDescription:\n 'The IDs of the meshes in this node. Multiple meshes are allowed so each can share the same transform matrix.'\n },\n rotation: {\n type: 'array',\n description:\n \"The node's unit quaternion rotation in the order (x, y, z, w), where w is the scalar.\",\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 4,\n default: [0, 0, 0, 1]\n },\n scale: {\n type: 'array',\n description: \"The node's non-uniform scale.\",\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1]\n },\n translation: {\n type: 'array',\n description: \"The node's translation.\",\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3,\n default: [0, 0, 0]\n }\n },\n dependencies: {\n skeletons: ['skin', 'meshes'],\n skin: ['skeletons', 'meshes']\n },\n additionalProperties: false\n },\n program_schema_json: {\n title: 'program',\n type: 'object',\n description:\n 'A shader program, including its vertex and fragment shader, and names of vertex shader attributes.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n attributes: {\n type: 'array',\n description: 'Names of GLSL vertex shader attributes.',\n items: {\n type: 'string',\n minLength: 1,\n maxLength: 256\n },\n default: [],\n gltf_webgl: '`bindAttribLocation()`'\n },\n fragmentShader: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the fragment shader.'\n },\n vertexShader: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the vertex shader.'\n }\n },\n additionalProperties: false,\n required: ['fragmentShader', 'vertexShader'],\n gltf_webgl:\n '`attachShader()`, `bindAttribLocation()`, `createProgram()`, `deleteProgram()`, `getProgramParameter()`, `getProgramInfoLog()`, `linkProgram()`, `useProgram()`, and `validateProgram()`'\n },\n sampler_schema_json: {\n title: 'sampler',\n type: 'object',\n description: 'Texture sampler properties for filtering and wrapping modes.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n magFilter: {\n type: 'integer',\n description: 'Magnification filter.',\n enum: [9728, 9729],\n gltf_enumNames: ['NEAREST', 'LINEAR'],\n default: 9729,\n gltf_detailedDescription:\n 'Magnification filter. Valid values correspond to WebGL enums: `9728` (NEAREST) and `9729` (LINEAR).',\n gltf_webgl: '`texParameterf()` with pname equal to TEXTURE_MAG_FILTER'\n },\n minFilter: {\n type: 'integer',\n description: 'Minification filter.',\n enum: [9728, 9729, 9984, 9985, 9986, 9987],\n gltf_enumNames: [\n 'NEAREST',\n 'LINEAR',\n 'NEAREST_MIPMAP_NEAREST',\n 'LINEAR_MIPMAP_NEAREST',\n 'NEAREST_MIPMAP_LINEAR',\n 'LINEAR_MIPMAP_LINEAR'\n ],\n default: 9986,\n gltf_detailedDescription:\n 'Minification filter. All valid values correspond to WebGL enums.',\n gltf_webgl: '`texParameterf()` with pname equal to TEXTURE_MIN_FILTER'\n },\n wrapS: {\n type: 'integer',\n description: 's wrapping mode.',\n enum: [33071, 33648, 10497],\n gltf_enumNames: ['CLAMP_TO_EDGE', 'MIRRORED_REPEAT', 'REPEAT'],\n default: 10497,\n gltf_detailedDescription: 's wrapping mode. All valid values correspond to WebGL enums.',\n gltf_webgl: '`texParameterf()` with pname equal to TEXTURE_WRAP_S'\n },\n wrapT: {\n type: 'integer',\n description: 't wrapping mode.',\n enum: [33071, 33648, 10497],\n gltf_enumNames: ['CLAMP_TO_EDGE', 'MIRRORED_REPEAT', 'REPEAT'],\n default: 10497,\n gltf_detailedDescription: 't wrapping mode. All valid values correspond to WebGL enums.',\n gltf_webgl: '`texParameterf()` with pname equal to TEXTURE_WRAP_T'\n }\n },\n additionalProperties: false,\n gltf_webgl: '`texParameterf()`'\n },\n scene_schema_json: {\n title: 'scene',\n type: 'object',\n description: 'The root nodes of a scene.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n nodes: {\n type: 'array',\n description: 'The IDs of each root node.',\n items: {\n $ref: '#/definitions/glTFid_schema_json'\n },\n uniqueItems: true,\n default: []\n }\n },\n additionalProperties: false\n },\n shader_schema_json: {\n title: 'shader',\n type: 'object',\n description: 'A vertex or fragment shader.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n uri: {\n type: 'string',\n description: 'The uri of the GLSL source.',\n format: 'uriref',\n gltf_detailedDescription:\n 'The uri of the GLSL source. Relative paths are relative to the .gltf file. Instead of referencing an external file, the uri can also be a data-uri.',\n gltf_uriType: 'text'\n },\n type: {\n type: 'integer',\n description: 'The shader stage.',\n enum: [35632, 35633],\n gltf_enumNames: ['FRAGMENT_SHADER', 'VERTEX_SHADER'],\n gltf_detailedDescription: 'The shader stage. All valid values correspond to WebGL enums.'\n }\n },\n additionalProperties: false,\n required: ['uri', 'type'],\n gltf_webgl:\n '`createShader()`, `deleteShader()`, `shaderSource()`, `compileShader()`, `getShaderParameter()`, and `getShaderInfoLog()`'\n },\n skin_schema_json: {\n title: 'skin',\n type: 'object',\n description: 'Joints and matrices defining a skin.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n bindShapeMatrix: {\n type: 'array',\n description: 'Floating-point 4x4 transformation matrix stored in column-major order.',\n items: {\n type: 'number'\n },\n minItems: 16,\n maxItems: 16,\n default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]\n },\n inverseBindMatrices: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the accessor containing the floating-point 4x4 inverse-bind matrices.'\n },\n jointNames: {\n type: 'array',\n description:\n 'Joint names of the joints (nodes with a `jointName` property) in this skin.',\n items: {\n $ref: '#/definitions/glTFid_schema_json'\n },\n uniqueItems: true,\n gltf_detailedDescription:\n \"Joint names of the joints (nodes with a `jointName` property) in this skin. The array length is the same as the `count` property of the `inverseBindMatrices` accessor, and the same as the total quantity of all skeleton nodes from node-trees referenced by the skinned mesh instance node's `skeletons` array.\"\n }\n },\n additionalProperties: false,\n required: ['inverseBindMatrices', 'jointNames']\n },\n technique_parameters_schema_json: {\n title: 'parameter',\n type: 'object',\n description:\n 'An attribute or uniform input to a technique, and an optional semantic and value.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n count: {\n type: 'integer',\n description:\n 'When defined, the parameter is an array of count elements of the specified type. Otherwise, the parameter is not an array.',\n minimum: 1,\n gltf_detailedDescription:\n 'When defined, the parameter is an array of count elements of the specified type. Otherwise, the parameter is not an array. When defined, `value` is an array with length equal to count, times the number of components in the type, e.g., `3` for `FLOAT_VEC3`. An array parameter of scalar values is not the same as a vector parameter of the same size; for example, when count is 2 and type is 5126 (FLOAT), the parameter is an array of two floating-point values, not a FLOAT_VEC2.'\n },\n node: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: \"The id of the node whose transform is used as the parameter's value.\",\n gltf_detailedDescription:\n 'The id of the node whose transform is used as the parameter\\'s value. When this is defined, `type` must be `35676` (FLOAT_MAT4), therefore, when the semantic is \"MODELINVERSETRANSPOSE\", \"MODELVIEWINVERSETRANSPOSE\", or \"VIEWPORT\", the node property can\\'t be defined.'\n },\n type: {\n type: 'integer',\n description: 'The datatype.',\n enum: [\n 5120, 5121, 5122, 5123, 5124, 5125, 5126, 35664, 35665, 35666, 35667, 35668, 35669,\n 35670, 35671, 35672, 35673, 35674, 35675, 35676, 35678\n ],\n gltf_enumNames: [\n 'BYTE',\n 'UNSIGNED_BYTE',\n 'SHORT',\n 'UNSIGNED_SHORT',\n 'INT',\n 'UNSIGNED_INT',\n 'FLOAT',\n 'FLOAT_VEC2',\n 'FLOAT_VEC3',\n 'FLOAT_VEC4',\n 'INT_VEC2',\n 'INT_VEC3',\n 'INT_VEC4',\n 'BOOL',\n 'BOOL_VEC2',\n 'BOOL_VEC3',\n 'BOOL_VEC4',\n 'FLOAT_MAT2',\n 'FLOAT_MAT3',\n 'FLOAT_MAT4',\n 'SAMPLER_2D'\n ],\n gltf_detailedDescription: 'The datatype. All valid values correspond to WebGL enums.'\n },\n semantic: {\n type: 'string',\n description: 'Identifies a parameter with a well-known meaning.',\n gltf_detailedDescription:\n 'Identifies a parameter with a well-known meaning. Uniform semantics include `\"LOCAL\"` (FLOAT_MAT4), `\"MODEL\"` (FLOAT_MAT4), `\"VIEW\"` (FLOAT_MAT4), `\"PROJECTION\"` (FLOAT_MAT4), `\"MODELVIEW\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTION\"` (FLOAT_MAT4), `\"MODELINVERSE\"` (FLOAT_MAT4), `\"VIEWINVERSE\"` (FLOAT_MAT4), `\"PROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"MODELVIEWINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"VIEWPORT\"` (FLOAT_VEC4), `\"JOINTMATRIX\"` (FLOAT_MAT4). Attribute semantics include `\"POSITION\"`, `\"NORMAL\"`, `\"TEXCOORD\"`, `\"COLOR\"`, `\"JOINT\"`, and `\"WEIGHT\"`. Attribute semantic property names can be of the form `[semantic]_[set_index]`, e.g., `\"TEXCOORD_0\"`.'\n },\n value: {\n anyOf: [\n {\n type: ['number', 'boolean', 'string']\n },\n {\n $ref: '#/definitions/arrayValues_schema_json'\n }\n ],\n description: 'The value of the parameter.',\n gltf_detailedDescription:\n 'The value of the parameter. A material value with the same name, when specified, overrides this value.'\n }\n },\n additionalProperties: false,\n required: ['type']\n },\n technique_attribute_schema_json: {\n title: 'attribute',\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description:\n 'A dictionary object of strings that maps GLSL attribute names to technique parameter IDs.'\n },\n technique_uniform_schema_json: {\n title: 'uniform',\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description:\n 'A dictionary object of strings that maps GLSL uniform names to technique parameter IDs.'\n },\n technique_states_functions_schema_json: {\n title: 'functions',\n type: 'object',\n description:\n 'Arguments for fixed-function rendering state functions other than `enable()`/`disable()`.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n blendColor: {\n type: 'array',\n description: 'Floating-point values passed to `blendColor()`. [red, green, blue, alpha]',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 4,\n default: [0, 0, 0, 0],\n gltf_webgl: '`blendColor()`'\n },\n blendEquationSeparate: {\n type: 'array',\n description: 'Integer values passed to `blendEquationSeparate()`.',\n items: {\n type: 'integer',\n enum: [32774, 32778, 32779],\n gltf_enumNames: ['FUNC_ADD', 'FUNC_SUBTRACT', 'FUNC_REVERSE_SUBTRACT']\n },\n minItems: 2,\n maxItems: 2,\n default: [32774, 32774],\n gltf_detailedDescription:\n 'Integer values passed to `blendEquationSeparate()`. [rgb, alpha]. All valid values correspond to WebGL enums.',\n gltf_webgl: '`blendEquationSeparate()`'\n },\n blendFuncSeparate: {\n type: 'array',\n description: 'Integer values passed to `blendFuncSeparate()`.',\n items: {\n type: 'integer',\n enum: [0, 1, 768, 769, 774, 775, 770, 771, 772, 773, 32769, 32770, 32771, 32772, 776],\n gltf_enumNames: [\n 'ZERO',\n 'ONE',\n 'SRC_COLOR',\n 'ONE_MINUS_SRC_COLOR',\n 'DST_COLOR',\n 'ONE_MINUS_DST_COLOR',\n 'SRC_ALPHA',\n 'ONE_MINUS_SRC_ALPHA',\n 'DST_ALPHA',\n 'ONE_MINUS_DST_ALPHA',\n 'CONSTANT_COLOR',\n 'ONE_MINUS_CONSTANT_COLOR',\n 'CONSTANT_ALPHA',\n 'ONE_MINUS_CONSTANT_ALPHA',\n 'SRC_ALPHA_SATURATE'\n ]\n },\n minItems: 4,\n maxItems: 4,\n default: [1, 0, 1, 0],\n gltf_detailedDescription:\n 'Integer values passed to `blendFuncSeparate()`. [srcRGB, dstRGB, srcAlpha, dstAlpha]. All valid values correspond to WebGL enums.',\n gltf_webgl: '`blendFuncSeparate()`'\n },\n colorMask: {\n type: 'array',\n description: 'Boolean values passed to `colorMask()`. [red, green, blue, alpha].',\n items: {\n type: 'boolean'\n },\n minItems: 4,\n maxItems: 4,\n default: [true, true, true, true],\n gltf_webgl: '`colorMask()`'\n },\n cullFace: {\n type: 'array',\n description: 'Integer value passed to `cullFace()`.',\n items: {\n type: 'integer',\n enum: [1028, 1029, 1032],\n gltf_enumNames: ['FRONT', 'BACK', 'FRONT_AND_BACK']\n },\n minItems: 1,\n maxItems: 1,\n default: [1029],\n gltf_detailedDescription:\n 'Integer value passed to `cullFace()`. All valid values correspond to WebGL enums.',\n gltf_webgl: '`cullFace()`'\n },\n depthFunc: {\n type: 'array',\n description: 'Integer values passed to `depthFunc()`.',\n items: {\n type: 'integer',\n enum: [512, 513, 515, 514, 516, 517, 518, 519],\n gltf_enumNames: [\n 'NEVER',\n 'LESS',\n 'LEQUAL',\n 'EQUAL',\n 'GREATER',\n 'NOTEQUAL',\n 'GEQUAL',\n 'ALWAYS'\n ]\n },\n minItems: 1,\n maxItems: 1,\n default: [513],\n gltf_detailedDescription:\n 'Integer values passed to `depthFunc()`. All valid values correspond to WebGL enums.',\n gltf_webgl: '`depthFunc()`'\n },\n depthMask: {\n type: 'array',\n description: 'Boolean value passed to `depthMask()`.',\n items: {\n type: 'boolean'\n },\n minItems: 1,\n maxItems: 1,\n default: [true],\n gltf_webgl: '`depthMask()`'\n },\n depthRange: {\n type: 'array',\n description: 'Floating-point values passed to `depthRange()`. [zNear, zFar]',\n items: {\n type: 'number'\n },\n minItems: 2,\n maxItems: 2,\n default: [0, 1],\n gltf_webgl: '`depthRange()`'\n },\n frontFace: {\n type: 'array',\n description: 'Integer value passed to `frontFace()`.',\n items: {\n type: 'integer',\n enum: [2304, 2305],\n gltf_enumNames: ['CW', 'CCW']\n },\n minItems: 1,\n maxItems: 1,\n default: [2305],\n gltf_detailedDescription:\n 'Integer value passed to `frontFace()`. All valid values correspond to WebGL enums.',\n gltf_webgl: '`frontFace()`'\n },\n lineWidth: {\n type: 'array',\n description: 'Floating-point value passed to `lineWidth()`.',\n items: {\n type: 'number',\n minimum: 0,\n exclusiveMinimum: true\n },\n minItems: 1,\n maxItems: 1,\n default: [1],\n gltf_webgl: '`lineWidth()`'\n },\n polygonOffset: {\n type: 'array',\n description: 'Floating-point value passed to `polygonOffset()`. [factor, units]',\n items: {\n type: 'number'\n },\n minItems: 2,\n maxItems: 2,\n default: [0, 0],\n gltf_webgl: '`polygonOffset()`'\n },\n scissor: {\n type: 'array',\n description: 'Floating-point value passed to `scissor()`. [x, y, width, height].',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 4,\n default: [0, 0, 0, 0],\n gltf_detailedDescription:\n 'Floating-point value passed to `scissor()`. [x, y, width, height]. The default is the dimensions of the canvas when the WebGL context is created. width and height must be greater than zero.',\n gltf_webgl: '`scissor()`'\n }\n },\n additionalProperties: false\n },\n technique_states_schema_json: {\n title: 'states',\n type: 'object',\n description: 'Fixed-function rendering states.',\n allOf: [\n {\n $ref: '#/definitions/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {},\n enable: {\n type: 'array',\n description: 'WebGL states to enable.',\n items: {\n type: 'integer',\n enum: [3042, 2884, 2929, 32823, 32926, 3089],\n gltf_enumNames: [\n 'BLEND',\n 'CULL_FACE',\n 'DEPTH_TEST',\n 'POLYGON_OFFSET_FILL',\n 'SAMPLE_ALPHA_TO_COVERAGE',\n 'SCISSOR_TEST'\n ]\n },\n uniqueItems: true,\n default: [],\n gltf_detailedDescription:\n 'WebGL states to enable. States not in the array are disabled. All valid values correspond to WebGL enums.',\n gltf_webgl: '`enable()` and `disable()`'\n },\n functions: {\n $ref: '#/definitions/technique_states_functions_schema_json'\n }\n },\n additionalProperties: false\n },\n technique_schema_json: {\n title: 'technique',\n type: 'object',\n description: 'A template for material appearances.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n parameters: {\n type: 'object',\n description: 'A dictionary object of technique.parameters objects.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_parameters_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n 'A dictionary object of technique.parameters objects. Each parameter defines an attribute or uniform input, and an optional semantic and value.'\n },\n attributes: {\n type: 'object',\n description:\n 'A dictionary object of strings that maps GLSL attribute names to technique parameter IDs.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_attribute_schema_json'\n },\n default: {}\n },\n program: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the program.'\n },\n uniforms: {\n type: 'object',\n description:\n 'A dictionary object of strings that maps GLSL uniform names to technique parameter IDs.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_uniform_schema_json'\n },\n default: {}\n },\n states: {\n allOf: [\n {\n $ref: '#/definitions/technique_states_schema_json'\n }\n ],\n description: 'Fixed-function rendering states.',\n default: {}\n }\n },\n additionalProperties: false,\n required: ['program']\n },\n texture_schema_json: {\n title: 'texture',\n type: 'object',\n description: 'A texture and its sampler.',\n allOf: [\n {\n $ref: '#/definitions/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n format: {\n type: 'integer',\n description: \"The texture's format.\",\n enum: [6406, 6407, 6408, 6409, 6410],\n gltf_enumNames: ['ALPHA', 'RGB', 'RGBA', 'LUMINANCE', 'LUMINANCE_ALPHA'],\n default: 6408,\n gltf_detailedDescription:\n \"The texture's format. Valid values correspond to WebGL enums: `6406` (ALPHA), `6407` (RGB), `6408` (RGBA), `6409` (LUMINANCE), and `6410` (LUMINANCE_ALPHA).\",\n gltf_webgl: '`texImage2D()` format parameter'\n },\n internalFormat: {\n type: 'integer',\n description: \"The texture's internal format.\",\n enum: [6406, 6407, 6408, 6409, 6410],\n gltf_enumNames: ['ALPHA', 'RGB', 'RGBA', 'LUMINANCE', 'LUMINANCE_ALPHA'],\n default: 6408,\n gltf_detailedDescription:\n \"The texture's internal format. Valid values correspond to WebGL enums: `6406` (ALPHA), `6407` (RGB), `6408` (RGBA), `6409` (LUMINANCE), and `6410` (LUMINANCE_ALPHA). Defaults to same value as format.\",\n gltf_webgl: '`texImage2D()` internalFormat parameter'\n },\n sampler: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the sampler used by this texture.'\n },\n source: {\n allOf: [\n {\n $ref: '#/definitions/glTFid_schema_json'\n }\n ],\n description: 'The ID of the image used by this texture.'\n },\n target: {\n type: 'integer',\n description: 'The target that the WebGL texture should be bound to.',\n enum: [3553],\n gltf_enumNames: ['TEXTURE_2D'],\n default: 3553,\n gltf_detailedDescription:\n 'The target that the WebGL texture should be bound to. Valid values correspond to WebGL enums: `3553` (TEXTURE_2D).',\n gltf_webgl: '`bindTexture()`'\n },\n type: {\n type: 'integer',\n description: 'Texel datatype.',\n enum: [5121, 33635, 32819, 32820],\n gltf_enumNames: [\n 'UNSIGNED_BYTE',\n 'UNSIGNED_SHORT_5_6_5',\n 'UNSIGNED_SHORT_4_4_4_4',\n 'UNSIGNED_SHORT_5_5_5_1'\n ],\n default: 5121,\n gltf_detailedDescription:\n 'Texel datatype. Valid values correspond to WebGL enums: `5121` (UNSIGNED_BYTE), `33635` (UNSIGNED_SHORT_5_6_5), `32819` (UNSIGNED_SHORT_4_4_4_4), and `32820` (UNSIGNED_SHORT_5_5_5_1).',\n gltf_webgl: '`texImage2D()` type parameter'\n }\n },\n additionalProperties: false,\n gltf_webgl:\n '`createTexture()`, `deleteTexture()`, `bindTexture()`, `texImage2D()`, and `texParameterf()`',\n required: ['sampler', 'source']\n }\n }\n};\n\n/** Khronos glTF 2.0 JSON Schema, bundled with local references. */\nexport const GLTF2_JSON_SCHEMA: Record<string, unknown> = {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'glTF.schema.json',\n title: 'glTF',\n type: 'object',\n description: 'The root object for a glTF asset.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensionsUsed: {\n type: 'array',\n description: 'Names of glTF extensions used in this asset.',\n items: {\n type: 'string'\n },\n uniqueItems: true,\n minItems: 1\n },\n extensionsRequired: {\n type: 'array',\n description: 'Names of glTF extensions required to properly load this asset.',\n items: {\n type: 'string'\n },\n uniqueItems: true,\n minItems: 1\n },\n accessors: {\n type: 'array',\n description: 'An array of accessors.',\n items: {\n $ref: '#/$defs/accessor_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of accessors. An accessor is a typed view into a bufferView.'\n },\n animations: {\n type: 'array',\n description: 'An array of keyframe animations.',\n items: {\n $ref: '#/$defs/animation_schema_json'\n },\n minItems: 1\n },\n asset: {\n allOf: [\n {\n $ref: '#/$defs/asset_schema_json'\n }\n ],\n description: 'Metadata about the glTF asset.'\n },\n buffers: {\n type: 'array',\n description: 'An array of buffers.',\n items: {\n $ref: '#/$defs/buffer_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of buffers. A buffer points to binary geometry, animation, or skins.'\n },\n bufferViews: {\n type: 'array',\n description: 'An array of bufferViews.',\n items: {\n $ref: '#/$defs/bufferView_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of bufferViews. A bufferView is a view into a buffer generally representing a subset of the buffer.'\n },\n cameras: {\n type: 'array',\n description: 'An array of cameras.',\n items: {\n $ref: '#/$defs/camera_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription: 'An array of cameras. A camera defines a projection matrix.'\n },\n images: {\n type: 'array',\n description: 'An array of images.',\n items: {\n $ref: '#/$defs/image_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of images. An image defines data used to create a texture.'\n },\n materials: {\n type: 'array',\n description: 'An array of materials.',\n items: {\n $ref: '#/$defs/material_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of materials. A material defines the appearance of a primitive.'\n },\n meshes: {\n type: 'array',\n description: 'An array of meshes.',\n items: {\n $ref: '#/$defs/mesh_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription: 'An array of meshes. A mesh is a set of primitives to be rendered.'\n },\n nodes: {\n type: 'array',\n description: 'An array of nodes.',\n items: {\n $ref: '#/$defs/node_schema_json'\n },\n minItems: 1\n },\n samplers: {\n type: 'array',\n description: 'An array of samplers.',\n items: {\n $ref: '#/$defs/sampler_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of samplers. A sampler contains properties for texture filtering and wrapping modes.'\n },\n scene: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the default scene.',\n gltf_detailedDescription:\n 'The index of the default scene. This property **MUST NOT** be defined, when `scenes` is undefined.'\n },\n scenes: {\n type: 'array',\n description: 'An array of scenes.',\n items: {\n $ref: '#/$defs/scene_schema_json'\n },\n minItems: 1\n },\n skins: {\n type: 'array',\n description: 'An array of skins.',\n items: {\n $ref: '#/$defs/skin_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription: 'An array of skins. A skin is defined by joints and matrices.'\n },\n textures: {\n type: 'array',\n description: 'An array of textures.',\n items: {\n $ref: '#/$defs/texture_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n dependencies: {\n scene: ['scenes']\n },\n required: ['asset'],\n $defs: {\n extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/extras_schema_json'\n }\n }\n },\n glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n accessor_sparse_indices_schema_json: {\n title: 'Accessor Sparse Indices',\n type: 'object',\n description:\n '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.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n '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.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the buffer view in bytes.',\n minimum: 0,\n default: 0\n },\n componentType: {\n description: 'The indices data type.',\n anyOf: [\n {\n const: 5121,\n description: 'UNSIGNED_BYTE',\n type: 'integer'\n },\n {\n const: 5123,\n description: 'UNSIGNED_SHORT',\n type: 'integer'\n },\n {\n const: 5125,\n description: 'UNSIGNED_INT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['bufferView', 'componentType']\n },\n accessor_sparse_values_schema_json: {\n title: 'Accessor Sparse Values',\n type: 'object',\n description:\n '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.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the bufferView with sparse values. The referenced buffer view **MUST NOT** have its `target` or `byteStride` properties defined.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the bufferView in bytes.',\n minimum: 0,\n default: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['bufferView']\n },\n accessor_sparse_schema_json: {\n title: 'Accessor Sparse',\n type: 'object',\n description:\n 'Sparse storage of accessor values that deviate from their initialization value.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n count: {\n type: 'integer',\n description: 'Number of deviating accessor values stored in the sparse array.',\n minimum: 1\n },\n indices: {\n allOf: [\n {\n $ref: '#/$defs/accessor_sparse_indices_schema_json'\n }\n ],\n description:\n '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.'\n },\n values: {\n allOf: [\n {\n $ref: '#/$defs/accessor_sparse_values_schema_json'\n }\n ],\n description:\n 'An object pointing to a buffer view containing the deviating accessor values.'\n },\n extensions: {},\n extras: {}\n },\n required: ['count', 'indices', 'values']\n },\n accessor_schema_json: {\n title: 'Accessor',\n type: 'object',\n description: 'A typed view into a buffer view that contains raw binary data.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the bufferView.',\n gltf_detailedDescription:\n '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.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the buffer view in bytes.',\n minimum: 0,\n default: 0,\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`vertexAttribPointer()` offset parameter'\n },\n componentType: {\n description: \"The datatype of the accessor's components.\",\n gltf_detailedDescription:\n \"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`.\",\n gltf_webgl:\n '`type` parameter of `vertexAttribPointer()`. The corresponding typed arrays are `Int8Array`, `Uint8Array`, `Int16Array`, `Uint16Array`, `Uint32Array`, and `Float32Array`.',\n anyOf: [\n {\n const: 5120,\n description: 'BYTE',\n type: 'integer'\n },\n {\n const: 5121,\n description: 'UNSIGNED_BYTE',\n type: 'integer'\n },\n {\n const: 5122,\n description: 'SHORT',\n type: 'integer'\n },\n {\n const: 5123,\n description: 'UNSIGNED_SHORT',\n type: 'integer'\n },\n {\n const: 5125,\n description: 'UNSIGNED_INT',\n type: 'integer'\n },\n {\n const: 5126,\n description: 'FLOAT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n normalized: {\n type: 'boolean',\n description: 'Specifies whether integer data values are normalized before usage.',\n default: false,\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`normalized` parameter of `vertexAttribPointer()` '\n },\n count: {\n type: 'integer',\n description: 'The number of elements referenced by this accessor.',\n minimum: 1,\n gltf_detailedDescription:\n 'The number of elements referenced by this accessor, not to be confused with the number of bytes or number of components.'\n },\n type: {\n description: \"Specifies if the accessor's elements are scalars, vectors, or matrices.\",\n anyOf: [\n {\n const: 'SCALAR'\n },\n {\n const: 'VEC2'\n },\n {\n const: 'VEC3'\n },\n {\n const: 'VEC4'\n },\n {\n const: 'MAT2'\n },\n {\n const: 'MAT3'\n },\n {\n const: 'MAT4'\n },\n {\n type: 'string'\n }\n ]\n },\n max: {\n type: 'array',\n description: 'Maximum value of each component in this accessor.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 16,\n gltf_detailedDescription:\n \"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.\"\n },\n min: {\n type: 'array',\n description: 'Minimum value of each component in this accessor.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 16,\n gltf_detailedDescription:\n \"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.\"\n },\n sparse: {\n allOf: [\n {\n $ref: '#/$defs/accessor_sparse_schema_json'\n }\n ],\n description: 'Sparse storage of elements that deviate from their initialization value.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n byteOffset: ['bufferView']\n },\n required: ['componentType', 'count', 'type']\n },\n animation_channel_target_schema_json: {\n title: 'Animation Channel Target',\n type: 'object',\n description: 'The descriptor of the animated property.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the node to animate. When undefined, the animated object **MAY** be defined by an extension.'\n },\n path: {\n description:\n '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.',\n anyOf: [\n {\n const: 'translation'\n },\n {\n const: 'rotation'\n },\n {\n const: 'scale'\n },\n {\n const: 'weights'\n },\n {\n type: 'string'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['path']\n },\n animation_channel_schema_json: {\n title: 'Animation Channel',\n type: 'object',\n description:\n 'An animation channel combines an animation sampler with a target property being animated.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n sampler: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of a sampler in this animation used to compute the value for the target.',\n gltf_detailedDescription:\n \"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).\"\n },\n target: {\n allOf: [\n {\n $ref: '#/$defs/animation_channel_target_schema_json'\n }\n ],\n description: 'The descriptor of the animated property.'\n },\n extensions: {},\n extras: {}\n },\n required: ['sampler', 'target']\n },\n animation_sampler_schema_json: {\n title: 'Animation Sampler',\n type: 'object',\n description:\n 'An animation sampler combines timestamps with a sequence of output values and defines an interpolation algorithm.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n input: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of an accessor containing keyframe timestamps.',\n gltf_detailedDescription:\n '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]`.'\n },\n interpolation: {\n description: 'Interpolation algorithm.',\n default: 'LINEAR',\n gltf_detailedDescription: 'Interpolation algorithm.',\n anyOf: [\n {\n const: 'LINEAR',\n description:\n '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.'\n },\n {\n const: 'STEP',\n description:\n '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.'\n },\n {\n const: 'CUBICSPLINE',\n description:\n \"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.\"\n },\n {\n type: 'string'\n }\n ]\n },\n output: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of an accessor, containing keyframe output values.'\n },\n extensions: {},\n extras: {}\n },\n required: ['input', 'output']\n },\n animation_schema_json: {\n title: 'Animation',\n type: 'object',\n description: 'A keyframe animation.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n channels: {\n type: 'array',\n description:\n '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.',\n items: {\n $ref: '#/$defs/animation_channel_schema_json'\n },\n minItems: 1\n },\n samplers: {\n type: 'array',\n description:\n 'An array of animation samplers. An animation sampler combines timestamps with a sequence of output values and defines an interpolation algorithm.',\n items: {\n $ref: '#/$defs/animation_sampler_schema_json'\n },\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['channels', 'samplers']\n },\n asset_schema_json: {\n title: 'Asset',\n type: 'object',\n description: 'Metadata about the glTF asset.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n copyright: {\n type: 'string',\n description: 'A copyright message suitable for display to credit the content creator.'\n },\n generator: {\n type: 'string',\n description: 'Tool that generated this glTF model. Useful for debugging.'\n },\n version: {\n type: 'string',\n description: 'The glTF version in the form of `<major>.<minor>` that this asset targets.',\n pattern: '^(0|[1-9][0-9]{0,8})\\\\.(0|[1-9][0-9]{0,8})$'\n },\n minVersion: {\n type: 'string',\n description:\n 'The minimum glTF version in the form of `<major>.<minor>` that this asset targets. This property **MUST NOT** be greater than the asset version.',\n pattern: '^(0|[1-9][0-9]{0,8})\\\\.(0|[1-9][0-9]{0,8})$'\n },\n extensions: {},\n extras: {}\n },\n required: ['version']\n },\n buffer_schema_json: {\n title: 'Buffer',\n type: 'object',\n description: 'A buffer points to binary geometry, animation, or skins.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the buffer.',\n format: 'iri-reference',\n gltf_detailedDescription:\n '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.',\n gltf_uriType: 'application'\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the buffer in bytes.',\n minimum: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['byteLength']\n },\n bufferView_schema_json: {\n title: 'Buffer View',\n type: 'object',\n description: 'A view into a buffer generally representing a subset of the buffer.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n buffer: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the buffer.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset into the buffer in bytes.',\n minimum: 0,\n default: 0\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the bufferView in bytes.',\n minimum: 1\n },\n byteStride: {\n type: 'integer',\n description: 'The stride, in bytes.',\n minimum: 4,\n maximum: 252,\n multipleOf: 4,\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`vertexAttribPointer()` stride parameter'\n },\n target: {\n description:\n 'The hint representing the intended GPU buffer type to use with this buffer view.',\n gltf_webgl: '`bindBuffer()`',\n anyOf: [\n {\n const: 34962,\n description: 'ARRAY_BUFFER',\n type: 'integer'\n },\n {\n const: 34963,\n description: 'ELEMENT_ARRAY_BUFFER',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['buffer', 'byteLength']\n },\n camera_orthographic_schema_json: {\n title: 'Camera Orthographic',\n type: 'object',\n description:\n 'An orthographic camera containing properties to create an orthographic projection matrix.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n xmag: {\n type: 'number',\n description:\n 'The floating-point horizontal magnification of the view. This value **MUST NOT** be equal to zero. This value **SHOULD NOT** be negative.'\n },\n ymag: {\n type: 'number',\n description:\n 'The floating-point vertical magnification of the view. This value **MUST NOT** be equal to zero. This value **SHOULD NOT** be negative.'\n },\n zfar: {\n type: 'number',\n description:\n 'The floating-point distance to the far clipping plane. This value **MUST NOT** be equal to zero. `zfar` **MUST** be greater than `znear`.',\n exclusiveMinimum: 0\n },\n znear: {\n type: 'number',\n description: 'The floating-point distance to the near clipping plane.',\n minimum: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['xmag', 'ymag', 'zfar', 'znear']\n },\n camera_perspective_schema_json: {\n title: 'Camera Perspective',\n type: 'object',\n description:\n 'A perspective camera containing properties to create a perspective projection matrix.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n aspectRatio: {\n type: 'number',\n description: 'The floating-point aspect ratio of the field of view.',\n exclusiveMinimum: 0,\n gltf_detailedDescription:\n 'The floating-point aspect ratio of the field of view. When undefined, the aspect ratio of the rendering viewport **MUST** be used.'\n },\n yfov: {\n type: 'number',\n description:\n 'The floating-point vertical field of view in radians. This value **SHOULD** be less than \u03C0.',\n exclusiveMinimum: 0\n },\n zfar: {\n type: 'number',\n description: 'The floating-point distance to the far clipping plane.',\n exclusiveMinimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n znear: {\n type: 'number',\n description: 'The floating-point distance to the near clipping plane.',\n exclusiveMinimum: 0,\n gltf_detailedDescription: 'The floating-point distance to the near clipping plane.'\n },\n extensions: {},\n extras: {}\n },\n required: ['yfov', 'znear']\n },\n camera_schema_json: {\n title: 'Camera',\n type: 'object',\n description:\n \"A camera's projection. A node **MAY** reference a camera to apply a transform to place the camera in the scene.\",\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n orthographic: {\n allOf: [\n {\n $ref: '#/$defs/camera_orthographic_schema_json'\n }\n ],\n description:\n 'An orthographic camera containing properties to create an orthographic projection matrix. This property **MUST NOT** be defined when `perspective` is defined.'\n },\n perspective: {\n allOf: [\n {\n $ref: '#/$defs/camera_perspective_schema_json'\n }\n ],\n description:\n 'A perspective camera containing properties to create a perspective projection matrix. This property **MUST NOT** be defined when `orthographic` is defined.'\n },\n type: {\n description: 'Specifies if the camera uses a perspective or orthographic projection.',\n gltf_detailedDescription:\n \"Specifies if the camera uses a perspective or orthographic projection. Based on this, either the camera's `perspective` or `orthographic` property **MUST** be defined.\",\n anyOf: [\n {\n const: 'perspective'\n },\n {\n const: 'orthographic'\n },\n {\n type: 'string'\n }\n ]\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['type'],\n not: {\n required: ['perspective', 'orthographic']\n }\n },\n image_schema_json: {\n title: 'Image',\n type: 'object',\n description:\n 'Image data used to create a texture. Image **MAY** be referenced by an URI (or IRI) or a buffer view index.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the image.',\n format: 'iri-reference',\n gltf_detailedDescription:\n '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.',\n gltf_uriType: 'image'\n },\n mimeType: {\n anyOf: [\n {\n const: 'image/jpeg'\n },\n {\n const: 'image/png'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The image's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the bufferView that contains the image. This field **MUST NOT** be defined when `uri` is defined.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ]\n },\n textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n material_pbrMetallicRoughness_schema_json: {\n title: 'Material PBR Metallic Roughness',\n type: 'object',\n description:\n 'A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n baseColorFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description: 'The factors for the base color of the material.',\n default: [1, 1, 1, 1],\n minItems: 4,\n maxItems: 4,\n gltf_detailedDescription:\n 'The factors for the base color of the material. This value defines linear multipliers for the sampled texels of the base color texture.'\n },\n baseColorTexture: {\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n description: 'The base color texture.',\n gltf_detailedDescription:\n '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.'\n },\n metallicFactor: {\n type: 'number',\n description: 'The factor for the metalness of the material.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The factor for the metalness of the material. This value defines a linear multiplier for the sampled metalness values of the metallic-roughness texture.'\n },\n roughnessFactor: {\n type: 'number',\n description: 'The factor for the roughness of the material.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The factor for the roughness of the material. This value defines a linear multiplier for the sampled roughness values of the metallic-roughness texture.'\n },\n metallicRoughnessTexture: {\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n description: 'The metallic-roughness texture.',\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n }\n },\n material_normalTextureInfo_schema_json: {\n title: 'Material Normal Texture Info',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n properties: {\n index: {},\n texCoord: {},\n scale: {\n type: 'number',\n description: 'The scalar parameter applied to each normal vector of the normal texture.',\n default: 1,\n gltf_detailedDescription:\n '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))`.'\n },\n extensions: {},\n extras: {}\n }\n },\n material_occlusionTextureInfo_schema_json: {\n title: 'Material Occlusion Texture Info',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n properties: {\n index: {},\n texCoord: {},\n strength: {\n type: 'number',\n description: 'A scalar multiplier controlling the amount of occlusion applied.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n '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)`.'\n },\n extensions: {},\n extras: {}\n }\n },\n material_schema_json: {\n title: 'Material',\n type: 'object',\n description: 'The material appearance of a primitive.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n pbrMetallicRoughness: {\n allOf: [\n {\n $ref: '#/$defs/material_pbrMetallicRoughness_schema_json'\n }\n ],\n description:\n '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.'\n },\n normalTexture: {\n allOf: [\n {\n $ref: '#/$defs/material_normalTextureInfo_schema_json'\n }\n ],\n description: 'The tangent space normal texture.',\n gltf_detailedDescription:\n '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.'\n },\n occlusionTexture: {\n allOf: [\n {\n $ref: '#/$defs/material_occlusionTextureInfo_schema_json'\n }\n ],\n description: 'The occlusion texture.',\n gltf_detailedDescription:\n '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.'\n },\n emissiveTexture: {\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n description: 'The emissive texture.',\n gltf_detailedDescription:\n '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.'\n },\n emissiveFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [0, 0, 0],\n description: 'The factors for the emissive color of the material.',\n gltf_detailedDescription:\n 'The factors for the emissive color of the material. This value defines linear multipliers for the sampled texels of the emissive texture.'\n },\n alphaMode: {\n default: 'OPAQUE',\n description: 'The alpha rendering mode of the material.',\n gltf_detailedDescription:\n \"The material's alpha rendering mode enumeration specifying the interpretation of the alpha value of the base color.\",\n anyOf: [\n {\n const: 'OPAQUE',\n description: 'The alpha value is ignored, and the rendered output is fully opaque.'\n },\n {\n const: 'MASK',\n description:\n '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`\".'\n },\n {\n const: 'BLEND',\n description:\n '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).'\n },\n {\n type: 'string'\n }\n ]\n },\n alphaCutoff: {\n type: 'number',\n minimum: 0,\n default: 0.5,\n description: 'The alpha cutoff value of the material.',\n gltf_detailedDescription:\n '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.'\n },\n doubleSided: {\n type: 'boolean',\n default: false,\n description: 'Specifies whether the material is double sided.',\n gltf_detailedDescription:\n '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.'\n }\n },\n dependencies: {\n alphaCutoff: ['alphaMode']\n }\n },\n mesh_primitive_schema_json: {\n title: 'Mesh Primitive',\n type: 'object',\n description: 'Geometry to be rendered with the given material.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n attributes: {\n type: 'object',\n description:\n \"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.\",\n minProperties: 1,\n additionalProperties: {\n $ref: '#/$defs/glTFid_schema_json'\n }\n },\n indices: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the accessor that contains the vertex indices.',\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`drawElements()` when defined and `drawArrays()` otherwise.'\n },\n material: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the material to apply to this primitive when rendering.'\n },\n mode: {\n description: 'The topology type of primitives to render.',\n default: 4,\n anyOf: [\n {\n const: 0,\n description: 'POINTS',\n type: 'integer'\n },\n {\n const: 1,\n description: 'LINES',\n type: 'integer'\n },\n {\n const: 2,\n description: 'LINE_LOOP',\n type: 'integer'\n },\n {\n const: 3,\n description: 'LINE_STRIP',\n type: 'integer'\n },\n {\n const: 4,\n description: 'TRIANGLES',\n type: 'integer'\n },\n {\n const: 5,\n description: 'TRIANGLE_STRIP',\n type: 'integer'\n },\n {\n const: 6,\n description: 'TRIANGLE_FAN',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n targets: {\n type: 'array',\n description: 'An array of morph targets.',\n items: {\n type: 'object',\n minProperties: 1,\n additionalProperties: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n description:\n \"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.\"\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n gltf_webgl: '`drawElements()` and `drawArrays()`',\n required: ['attributes']\n },\n mesh_schema_json: {\n title: 'Mesh',\n type: 'object',\n description:\n 'A set of primitives to be rendered. Its global transform is defined by a node that references it.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n primitives: {\n type: 'array',\n description: 'An array of primitives, each defining geometry to be rendered.',\n items: {\n $ref: '#/$defs/mesh_primitive_schema_json'\n },\n minItems: 1\n },\n weights: {\n type: 'array',\n description:\n 'Array of weights to be applied to the morph targets. The number of array elements **MUST** match the number of morph targets.',\n items: {\n type: 'number'\n },\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['primitives']\n },\n node_schema_json: {\n title: 'Node',\n type: 'object',\n description:\n '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.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n camera: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the camera referenced by this node.'\n },\n children: {\n type: 'array',\n description: \"The indices of this node's children.\",\n items: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1\n },\n skin: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the skin referenced by this node.',\n gltf_detailedDescription:\n '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.'\n },\n matrix: {\n type: 'array',\n description: 'A floating-point 4x4 transformation matrix stored in column-major order.',\n items: {\n type: 'number'\n },\n minItems: 16,\n maxItems: 16,\n default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],\n gltf_webgl: '`uniformMatrix4fv()` with the transpose parameter equal to false'\n },\n mesh: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the mesh in this node.'\n },\n rotation: {\n type: 'array',\n description:\n \"The node's unit quaternion rotation in the order (x, y, z, w), where w is the scalar.\",\n items: {\n type: 'number',\n minimum: -1,\n maximum: 1\n },\n minItems: 4,\n maxItems: 4,\n default: [0, 0, 0, 1]\n },\n scale: {\n type: 'array',\n description:\n \"The node's non-uniform scale, given as the scaling factors along the x, y, and z axes.\",\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1]\n },\n translation: {\n type: 'array',\n description: \"The node's translation along the x, y, and z axes.\",\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3,\n default: [0, 0, 0]\n },\n weights: {\n type: 'array',\n description:\n '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.',\n minItems: 1,\n items: {\n type: 'number'\n }\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n weights: ['mesh'],\n skin: ['mesh']\n },\n not: {\n anyOf: [\n {\n required: ['matrix', 'translation']\n },\n {\n required: ['matrix', 'rotation']\n },\n {\n required: ['matrix', 'scale']\n }\n ]\n }\n },\n sampler_schema_json: {\n title: 'Sampler',\n type: 'object',\n description: 'Texture sampler properties for filtering and wrapping modes.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n magFilter: {\n description: 'Magnification filter.',\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_MAG_FILTER',\n anyOf: [\n {\n const: 9728,\n description: 'NEAREST',\n type: 'integer'\n },\n {\n const: 9729,\n description: 'LINEAR',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n minFilter: {\n description: 'Minification filter.',\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_MIN_FILTER',\n anyOf: [\n {\n const: 9728,\n description: 'NEAREST',\n type: 'integer'\n },\n {\n const: 9729,\n description: 'LINEAR',\n type: 'integer'\n },\n {\n const: 9984,\n description: 'NEAREST_MIPMAP_NEAREST',\n type: 'integer'\n },\n {\n const: 9985,\n description: 'LINEAR_MIPMAP_NEAREST',\n type: 'integer'\n },\n {\n const: 9986,\n description: 'NEAREST_MIPMAP_LINEAR',\n type: 'integer'\n },\n {\n const: 9987,\n description: 'LINEAR_MIPMAP_LINEAR',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n wrapS: {\n description: 'S (U) wrapping mode.',\n default: 10497,\n gltf_detailedDescription:\n 'S (U) wrapping mode. All valid values correspond to WebGL enums.',\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_WRAP_S',\n anyOf: [\n {\n const: 33071,\n description: 'CLAMP_TO_EDGE',\n type: 'integer'\n },\n {\n const: 33648,\n description: 'MIRRORED_REPEAT',\n type: 'integer'\n },\n {\n const: 10497,\n description: 'REPEAT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n wrapT: {\n description: 'T (V) wrapping mode.',\n default: 10497,\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_WRAP_T',\n anyOf: [\n {\n const: 33071,\n description: 'CLAMP_TO_EDGE',\n type: 'integer'\n },\n {\n const: 33648,\n description: 'MIRRORED_REPEAT',\n type: 'integer'\n },\n {\n const: 10497,\n description: 'REPEAT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n name: {},\n extensions: {},\n extras: {}\n }\n },\n scene_schema_json: {\n title: 'Scene',\n type: 'object',\n description: 'The root nodes of a scene.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n nodes: {\n type: 'array',\n description: 'The indices of each root node.',\n items: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n }\n },\n skin_schema_json: {\n title: 'Skin',\n type: 'object',\n description: 'Joints and matrices defining a skin.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n inverseBindMatrices: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor containing the floating-point 4x4 inverse-bind matrices.',\n gltf_detailedDescription:\n '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.'\n },\n skeleton: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the node used as a skeleton root.',\n gltf_detailedDescription:\n '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.'\n },\n joints: {\n type: 'array',\n description: 'Indices of skeleton nodes, used as joints in this skin.',\n items: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1,\n gltf_detailedDescription: 'Indices of skeleton nodes, used as joints in this skin.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['joints']\n },\n texture_schema_json: {\n title: 'Texture',\n type: 'object',\n description: 'A texture and its sampler.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n sampler: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the sampler used by this texture. When undefined, a sampler with repeat wrapping and auto filtering **SHOULD** be used.'\n },\n source: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n '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.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n gltf_webgl:\n '`createTexture()`, `deleteTexture()`, `bindTexture()`, `texImage2D()`, and `texParameterf()`'\n }\n }\n};\n\n/** Draft Khronos glTF 2.1 JSON Schema, bundled with local references. */\nexport const GLTF21_JSON_SCHEMA: Record<string, unknown> = {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'glTF.schema.json',\n title: 'glTF',\n type: 'object',\n description: 'The root object for a glTF asset.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n extensionsUsed: {\n type: 'array',\n description: 'Names of glTF extensions used in this asset.',\n items: {\n type: 'string'\n },\n uniqueItems: true,\n minItems: 1\n },\n extensionsRequired: {\n type: 'array',\n description: 'Names of glTF extensions required to properly load this asset.',\n items: {\n type: 'string'\n },\n uniqueItems: true,\n minItems: 1\n },\n accessors: {\n type: 'array',\n description: 'An array of accessors.',\n items: {\n $ref: '#/$defs/accessor_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of accessors. An accessor is a typed view into a bufferView.'\n },\n animations: {\n type: 'array',\n description: 'An array of keyframe animations.',\n items: {\n $ref: '#/$defs/animation_schema_json'\n },\n minItems: 1\n },\n asset: {\n allOf: [\n {\n $ref: '#/$defs/asset_schema_json'\n }\n ],\n description: 'Metadata about the glTF asset.'\n },\n buffers: {\n type: 'array',\n description: 'An array of buffers.',\n items: {\n $ref: '#/$defs/buffer_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of buffers. A buffer points to binary geometry, animation, or skins.'\n },\n bufferViews: {\n type: 'array',\n description: 'An array of bufferViews.',\n items: {\n $ref: '#/$defs/bufferView_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of bufferViews. A bufferView is a view into a buffer generally representing a subset of the buffer.'\n },\n cameras: {\n type: 'array',\n description: 'An array of cameras.',\n items: {\n $ref: '#/$defs/camera_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription: 'An array of cameras. A camera defines a projection matrix.'\n },\n images: {\n type: 'array',\n description: 'An array of images.',\n items: {\n $ref: '#/$defs/image_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of images. An image defines data used to create a texture.'\n },\n materials: {\n type: 'array',\n description: 'An array of materials.',\n items: {\n $ref: '#/$defs/material_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of materials. A material defines the appearance of a primitive.'\n },\n meshes: {\n type: 'array',\n description: 'An array of meshes.',\n items: {\n $ref: '#/$defs/mesh_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription: 'An array of meshes. A mesh is a set of primitives to be rendered.'\n },\n nodes: {\n type: 'array',\n description: 'An array of nodes.',\n items: {\n $ref: '#/$defs/node_schema_json'\n },\n minItems: 1\n },\n samplers: {\n type: 'array',\n description: 'An array of samplers.',\n items: {\n $ref: '#/$defs/sampler_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of samplers. A sampler contains properties for texture filtering and wrapping modes.'\n },\n scene: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the default scene.',\n gltf_detailedDescription:\n 'The index of the default scene. This property **MUST NOT** be defined, when `scenes` is undefined.'\n },\n scenes: {\n type: 'array',\n description: 'An array of scenes.',\n items: {\n $ref: '#/$defs/scene_schema_json'\n },\n minItems: 1\n },\n skins: {\n type: 'array',\n description: 'An array of skins.',\n items: {\n $ref: '#/$defs/skin_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription: 'An array of skins. A skin is defined by joints and matrices.'\n },\n textures: {\n type: 'array',\n description: 'An array of textures.',\n items: {\n $ref: '#/$defs/texture_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n dependencies: {\n scene: ['scenes']\n },\n required: ['asset'],\n $defs: {\n extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/extras_schema_json'\n }\n }\n },\n glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n accessor_sparse_indices_schema_json: {\n title: 'Accessor Sparse Indices',\n type: 'object',\n description:\n '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.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n '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.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the buffer view in bytes.',\n minimum: 0,\n default: 0\n },\n componentType: {\n description: 'The indices data type.',\n anyOf: [\n {\n const: 5121,\n description: 'UNSIGNED_BYTE',\n type: 'integer'\n },\n {\n const: 5123,\n description: 'UNSIGNED_SHORT',\n type: 'integer'\n },\n {\n const: 5125,\n description: 'UNSIGNED_INT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['bufferView', 'componentType']\n },\n accessor_sparse_values_schema_json: {\n title: 'Accessor Sparse Values',\n type: 'object',\n description:\n '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.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the bufferView with sparse values. The referenced buffer view **MUST NOT** have its `target` or `byteStride` properties defined.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the bufferView in bytes.',\n minimum: 0,\n default: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['bufferView']\n },\n accessor_sparse_schema_json: {\n title: 'Accessor Sparse',\n type: 'object',\n description:\n 'Sparse storage of accessor values that deviate from their initialization value.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n count: {\n type: 'integer',\n description: 'Number of deviating accessor values stored in the sparse array.',\n minimum: 1\n },\n indices: {\n allOf: [\n {\n $ref: '#/$defs/accessor_sparse_indices_schema_json'\n }\n ],\n description:\n '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.'\n },\n values: {\n allOf: [\n {\n $ref: '#/$defs/accessor_sparse_values_schema_json'\n }\n ],\n description:\n 'An object pointing to a buffer view containing the deviating accessor values.'\n },\n extensions: {},\n extras: {}\n },\n required: ['count', 'indices', 'values']\n },\n accessor_schema_json: {\n title: 'Accessor',\n type: 'object',\n description: 'A typed view into a buffer view that contains raw binary data.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the bufferView.',\n gltf_detailedDescription:\n '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.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset relative to the start of the buffer view in bytes.',\n minimum: 0,\n default: 0,\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`vertexAttribPointer()` offset parameter'\n },\n componentType: {\n description: \"The datatype of the accessor's components.\",\n gltf_detailedDescription:\n \"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`.\",\n gltf_webgl:\n '`type` parameter of `vertexAttribPointer()`. The corresponding typed arrays are `Int8Array`, `Uint8Array`, `Int16Array`, `Uint16Array`, `Uint32Array`, and `Float32Array`.',\n anyOf: [\n {\n const: 5120,\n description: 'BYTE',\n type: 'integer'\n },\n {\n const: 5121,\n description: 'UNSIGNED_BYTE',\n type: 'integer'\n },\n {\n const: 5122,\n description: 'SHORT',\n type: 'integer'\n },\n {\n const: 5123,\n description: 'UNSIGNED_SHORT',\n type: 'integer'\n },\n {\n const: 5125,\n description: 'UNSIGNED_INT',\n type: 'integer'\n },\n {\n const: 5126,\n description: 'FLOAT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n normalized: {\n type: 'boolean',\n description: 'Specifies whether integer data values are normalized before usage.',\n default: false,\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`normalized` parameter of `vertexAttribPointer()` '\n },\n count: {\n type: 'integer',\n description: 'The number of elements referenced by this accessor.',\n minimum: 1,\n gltf_detailedDescription:\n 'The number of elements referenced by this accessor, not to be confused with the number of bytes or number of components.'\n },\n type: {\n description: \"Specifies if the accessor's elements are scalars, vectors, or matrices.\",\n anyOf: [\n {\n const: 'SCALAR'\n },\n {\n const: 'VEC2'\n },\n {\n const: 'VEC3'\n },\n {\n const: 'VEC4'\n },\n {\n const: 'MAT2'\n },\n {\n const: 'MAT3'\n },\n {\n const: 'MAT4'\n },\n {\n type: 'string'\n }\n ]\n },\n max: {\n type: 'array',\n description: 'Maximum value of each component in this accessor.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 16,\n gltf_detailedDescription:\n \"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.\"\n },\n min: {\n type: 'array',\n description: 'Minimum value of each component in this accessor.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 16,\n gltf_detailedDescription:\n \"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.\"\n },\n sparse: {\n allOf: [\n {\n $ref: '#/$defs/accessor_sparse_schema_json'\n }\n ],\n description: 'Sparse storage of elements that deviate from their initialization value.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n byteOffset: ['bufferView']\n },\n required: ['componentType', 'count', 'type']\n },\n animation_channel_target_schema_json: {\n title: 'Animation Channel Target',\n type: 'object',\n description: 'The descriptor of the animated property.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the node to animate. When undefined, the animated object **MAY** be defined by an extension.'\n },\n path: {\n description:\n '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.',\n anyOf: [\n {\n const: 'translation'\n },\n {\n const: 'rotation'\n },\n {\n const: 'scale'\n },\n {\n const: 'weights'\n },\n {\n type: 'string'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['path']\n },\n animation_channel_schema_json: {\n title: 'Animation Channel',\n type: 'object',\n description:\n 'An animation channel combines an animation sampler with a target property being animated.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n sampler: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of a sampler in this animation used to compute the value for the target.',\n gltf_detailedDescription:\n \"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).\"\n },\n target: {\n allOf: [\n {\n $ref: '#/$defs/animation_channel_target_schema_json'\n }\n ],\n description: 'The descriptor of the animated property.'\n },\n extensions: {},\n extras: {}\n },\n required: ['sampler', 'target']\n },\n animation_sampler_schema_json: {\n title: 'Animation Sampler',\n type: 'object',\n description:\n 'An animation sampler combines timestamps with a sequence of output values and defines an interpolation algorithm.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n input: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of an accessor containing keyframe timestamps.',\n gltf_detailedDescription:\n '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]`.'\n },\n interpolation: {\n description: 'Interpolation algorithm.',\n default: 'LINEAR',\n gltf_detailedDescription: 'Interpolation algorithm.',\n anyOf: [\n {\n const: 'LINEAR',\n description:\n '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.'\n },\n {\n const: 'STEP',\n description:\n '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.'\n },\n {\n const: 'CUBICSPLINE',\n description:\n \"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.\"\n },\n {\n type: 'string'\n }\n ]\n },\n output: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of an accessor, containing keyframe output values.'\n },\n extensions: {},\n extras: {}\n },\n required: ['input', 'output']\n },\n animation_schema_json: {\n title: 'Animation',\n type: 'object',\n description: 'A keyframe animation.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n channels: {\n type: 'array',\n description:\n '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.',\n items: {\n $ref: '#/$defs/animation_channel_schema_json'\n },\n minItems: 1\n },\n samplers: {\n type: 'array',\n description:\n 'An array of animation samplers. An animation sampler combines timestamps with a sequence of output values and defines an interpolation algorithm.',\n items: {\n $ref: '#/$defs/animation_sampler_schema_json'\n },\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['channels', 'samplers']\n },\n asset_schema_json: {\n title: 'Asset',\n type: 'object',\n description: 'Metadata about the glTF asset.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n copyright: {\n type: 'string',\n description: 'A copyright message suitable for display to credit the content creator.'\n },\n generator: {\n type: 'string',\n description: 'Tool that generated this glTF model. Useful for debugging.'\n },\n version: {\n type: 'string',\n description: 'The glTF version in the form of `<major>.<minor>` that this asset targets.',\n pattern: '^[0-9]+\\\\.[0-9]+$'\n },\n minVersion: {\n type: 'string',\n description:\n 'The minimum glTF version in the form of `<major>.<minor>` that this asset targets. This property **MUST NOT** be greater than the asset version.',\n pattern: '^[0-9]+\\\\.[0-9]+$'\n },\n extensions: {},\n extras: {}\n },\n required: ['version']\n },\n buffer_schema_json: {\n title: 'Buffer',\n type: 'object',\n description: 'A buffer points to binary geometry, animation, or skins.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the buffer.',\n format: 'iri-reference',\n gltf_detailedDescription:\n '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.',\n gltf_uriType: 'application'\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the buffer in bytes.',\n minimum: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['byteLength']\n },\n bufferView_schema_json: {\n title: 'Buffer View',\n type: 'object',\n description: 'A view into a buffer generally representing a subset of the buffer.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n buffer: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the buffer.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset into the buffer in bytes.',\n minimum: 0,\n default: 0\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the bufferView in bytes.',\n minimum: 1\n },\n byteStride: {\n type: 'integer',\n description: 'The stride, in bytes.',\n minimum: 4,\n maximum: 252,\n multipleOf: 4,\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`vertexAttribPointer()` stride parameter'\n },\n target: {\n description:\n 'The hint representing the intended GPU buffer type to use with this buffer view.',\n gltf_webgl: '`bindBuffer()`',\n anyOf: [\n {\n const: 34962,\n description: 'ARRAY_BUFFER',\n type: 'integer'\n },\n {\n const: 34963,\n description: 'ELEMENT_ARRAY_BUFFER',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['buffer', 'byteLength']\n },\n camera_orthographic_schema_json: {\n title: 'Camera Orthographic',\n type: 'object',\n description:\n 'An orthographic camera containing properties to create an orthographic projection matrix.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n xmag: {\n type: 'number',\n description:\n 'The floating-point horizontal magnification of the view. This value **MUST NOT** be equal to zero. This value **SHOULD NOT** be negative.'\n },\n ymag: {\n type: 'number',\n description:\n 'The floating-point vertical magnification of the view. This value **MUST NOT** be equal to zero. This value **SHOULD NOT** be negative.'\n },\n zfar: {\n type: 'number',\n description:\n 'The floating-point distance to the far clipping plane. This value **MUST NOT** be equal to zero. `zfar` **MUST** be greater than `znear`.',\n exclusiveMinimum: 0\n },\n znear: {\n type: 'number',\n description: 'The floating-point distance to the near clipping plane.',\n minimum: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['xmag', 'ymag', 'zfar', 'znear']\n },\n camera_perspective_schema_json: {\n title: 'Camera Perspective',\n type: 'object',\n description:\n 'A perspective camera containing properties to create a perspective projection matrix.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n aspectRatio: {\n type: 'number',\n description: 'The floating-point aspect ratio of the field of view.',\n exclusiveMinimum: 0,\n gltf_detailedDescription:\n 'The floating-point aspect ratio of the field of view. When undefined, the aspect ratio of the rendering viewport **MUST** be used.'\n },\n yfov: {\n type: 'number',\n description:\n 'The floating-point vertical field of view in radians. This value **SHOULD** be less than \u03C0.',\n exclusiveMinimum: 0\n },\n zfar: {\n type: 'number',\n description: 'The floating-point distance to the far clipping plane.',\n exclusiveMinimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n znear: {\n type: 'number',\n description: 'The floating-point distance to the near clipping plane.',\n exclusiveMinimum: 0,\n gltf_detailedDescription: 'The floating-point distance to the near clipping plane.'\n },\n extensions: {},\n extras: {}\n },\n required: ['yfov', 'znear']\n },\n camera_schema_json: {\n title: 'Camera',\n type: 'object',\n description:\n \"A camera's projection. A node **MAY** reference a camera to apply a transform to place the camera in the scene.\",\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n orthographic: {\n allOf: [\n {\n $ref: '#/$defs/camera_orthographic_schema_json'\n }\n ],\n description:\n 'An orthographic camera containing properties to create an orthographic projection matrix. This property **MUST NOT** be defined when `perspective` is defined.'\n },\n perspective: {\n allOf: [\n {\n $ref: '#/$defs/camera_perspective_schema_json'\n }\n ],\n description:\n 'A perspective camera containing properties to create a perspective projection matrix. This property **MUST NOT** be defined when `orthographic` is defined.'\n },\n type: {\n description: 'Specifies if the camera uses a perspective or orthographic projection.',\n gltf_detailedDescription:\n \"Specifies if the camera uses a perspective or orthographic projection. Based on this, either the camera's `perspective` or `orthographic` property **MUST** be defined.\",\n anyOf: [\n {\n const: 'perspective'\n },\n {\n const: 'orthographic'\n },\n {\n type: 'string'\n }\n ]\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['type'],\n not: {\n required: ['perspective', 'orthographic']\n }\n },\n image_schema_json: {\n title: 'Image',\n type: 'object',\n description:\n 'Image data used to create a texture. Image **MAY** be referenced by an URI (or IRI) or a buffer view index.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the image.',\n format: 'iri-reference',\n gltf_detailedDescription:\n '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.',\n gltf_uriType: 'image'\n },\n mimeType: {\n anyOf: [\n {\n const: 'image/jpeg'\n },\n {\n const: 'image/png'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The image's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the bufferView that contains the image. This field **MUST NOT** be defined when `uri` is defined.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ]\n },\n textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n material_pbrMetallicRoughness_schema_json: {\n title: 'Material PBR Metallic Roughness',\n type: 'object',\n description:\n 'A set of parameter values that are used to define the metallic-roughness material model from Physically-Based Rendering (PBR) methodology.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n baseColorFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description: 'The factors for the base color of the material.',\n default: [1, 1, 1, 1],\n minItems: 4,\n maxItems: 4,\n gltf_detailedDescription:\n 'The factors for the base color of the material. This value defines linear multipliers for the sampled texels of the base color texture.'\n },\n baseColorTexture: {\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n description: 'The base color texture.',\n gltf_detailedDescription:\n '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.'\n },\n metallicFactor: {\n type: 'number',\n description: 'The factor for the metalness of the material.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The factor for the metalness of the material. This value defines a linear multiplier for the sampled metalness values of the metallic-roughness texture.'\n },\n roughnessFactor: {\n type: 'number',\n description: 'The factor for the roughness of the material.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The factor for the roughness of the material. This value defines a linear multiplier for the sampled roughness values of the metallic-roughness texture.'\n },\n metallicRoughnessTexture: {\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n description: 'The metallic-roughness texture.',\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n }\n },\n material_normalTextureInfo_schema_json: {\n title: 'Material Normal Texture Info',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n properties: {\n index: {},\n texCoord: {},\n scale: {\n type: 'number',\n description: 'The scalar parameter applied to each normal vector of the normal texture.',\n default: 1,\n gltf_detailedDescription:\n '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))`.'\n },\n extensions: {},\n extras: {}\n }\n },\n material_occlusionTextureInfo_schema_json: {\n title: 'Material Occlusion Texture Info',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n properties: {\n index: {},\n texCoord: {},\n strength: {\n type: 'number',\n description: 'A scalar multiplier controlling the amount of occlusion applied.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n '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)`.'\n },\n extensions: {},\n extras: {}\n }\n },\n material_schema_json: {\n title: 'Material',\n type: 'object',\n description: 'The material appearance of a primitive.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n name: {},\n extensions: {},\n extras: {},\n pbrMetallicRoughness: {\n allOf: [\n {\n $ref: '#/$defs/material_pbrMetallicRoughness_schema_json'\n }\n ],\n description:\n '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.'\n },\n normalTexture: {\n allOf: [\n {\n $ref: '#/$defs/material_normalTextureInfo_schema_json'\n }\n ],\n description: 'The tangent space normal texture.',\n gltf_detailedDescription:\n '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.'\n },\n occlusionTexture: {\n allOf: [\n {\n $ref: '#/$defs/material_occlusionTextureInfo_schema_json'\n }\n ],\n description: 'The occlusion texture.',\n gltf_detailedDescription:\n '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.'\n },\n emissiveTexture: {\n allOf: [\n {\n $ref: '#/$defs/textureInfo_schema_json'\n }\n ],\n description: 'The emissive texture.',\n gltf_detailedDescription:\n '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.'\n },\n emissiveFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [0, 0, 0],\n description: 'The factors for the emissive color of the material.',\n gltf_detailedDescription:\n 'The factors for the emissive color of the material. This value defines linear multipliers for the sampled texels of the emissive texture.'\n },\n alphaMode: {\n default: 'OPAQUE',\n description: 'The alpha rendering mode of the material.',\n gltf_detailedDescription:\n \"The material's alpha rendering mode enumeration specifying the interpretation of the alpha value of the base color.\",\n anyOf: [\n {\n const: 'OPAQUE',\n description: 'The alpha value is ignored, and the rendered output is fully opaque.'\n },\n {\n const: 'MASK',\n description:\n '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`\".'\n },\n {\n const: 'BLEND',\n description:\n '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).'\n },\n {\n type: 'string'\n }\n ]\n },\n alphaCutoff: {\n type: 'number',\n minimum: 0,\n default: 0.5,\n description: 'The alpha cutoff value of the material.',\n gltf_detailedDescription:\n '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.'\n },\n doubleSided: {\n type: 'boolean',\n default: false,\n description: 'Specifies whether the material is double sided.',\n gltf_detailedDescription:\n '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.'\n }\n },\n dependencies: {\n alphaCutoff: ['alphaMode']\n }\n },\n mesh_primitive_schema_json: {\n title: 'Mesh Primitive',\n type: 'object',\n description: 'Geometry to be rendered with the given material.',\n allOf: [\n {\n $ref: '#/$defs/glTFProperty_schema_json'\n }\n ],\n properties: {\n attributes: {\n type: 'object',\n description:\n \"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.\",\n minProperties: 1,\n additionalProperties: {\n $ref: '#/$defs/glTFid_schema_json'\n }\n },\n indices: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the accessor that contains the vertex indices.',\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`drawElements()` when defined and `drawArrays()` otherwise.'\n },\n material: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the material to apply to this primitive when rendering.'\n },\n mode: {\n description: 'The topology type of primitives to render.',\n default: 4,\n anyOf: [\n {\n const: 0,\n description: 'POINTS',\n type: 'integer'\n },\n {\n const: 1,\n description: 'LINES',\n type: 'integer'\n },\n {\n const: 2,\n description: 'LINE_LOOP',\n type: 'integer'\n },\n {\n const: 3,\n description: 'LINE_STRIP',\n type: 'integer'\n },\n {\n const: 4,\n description: 'TRIANGLES',\n type: 'integer'\n },\n {\n const: 5,\n description: 'TRIANGLE_STRIP',\n type: 'integer'\n },\n {\n const: 6,\n description: 'TRIANGLE_FAN',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n targets: {\n type: 'array',\n description: 'An array of morph targets.',\n items: {\n type: 'object',\n minProperties: 1,\n additionalProperties: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n description:\n \"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.\"\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n gltf_webgl: '`drawElements()` and `drawArrays()`',\n required: ['attributes']\n },\n mesh_schema_json: {\n title: 'Mesh',\n type: 'object',\n description:\n 'A set of primitives to be rendered. Its global transform is defined by a node that references it.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n primitives: {\n type: 'array',\n description: 'An array of primitives, each defining geometry to be rendered.',\n items: {\n $ref: '#/$defs/mesh_primitive_schema_json'\n },\n minItems: 1\n },\n weights: {\n type: 'array',\n description:\n 'Array of weights to be applied to the morph targets. The number of array elements **MUST** match the number of morph targets.',\n items: {\n type: 'number'\n },\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['primitives']\n },\n node_schema_json: {\n title: 'Node',\n type: 'object',\n description:\n '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.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n camera: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the camera referenced by this node.'\n },\n children: {\n type: 'array',\n description: \"The indices of this node's children.\",\n items: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1\n },\n skin: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the skin referenced by this node.',\n gltf_detailedDescription:\n '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.'\n },\n matrix: {\n type: 'array',\n description: 'A floating-point 4x4 transformation matrix stored in column-major order.',\n items: {\n type: 'number'\n },\n minItems: 16,\n maxItems: 16,\n default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1],\n gltf_webgl: '`uniformMatrix4fv()` with the transpose parameter equal to false'\n },\n mesh: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the mesh in this node.'\n },\n rotation: {\n type: 'array',\n description:\n \"The node's unit quaternion rotation in the order (x, y, z, w), where w is the scalar.\",\n items: {\n type: 'number',\n minimum: -1,\n maximum: 1\n },\n minItems: 4,\n maxItems: 4,\n default: [0, 0, 0, 1]\n },\n scale: {\n type: 'array',\n description:\n \"The node's non-uniform scale, given as the scaling factors along the x, y, and z axes.\",\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1]\n },\n translation: {\n type: 'array',\n description: \"The node's translation along the x, y, and z axes.\",\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3,\n default: [0, 0, 0]\n },\n weights: {\n type: 'array',\n description:\n '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.',\n minItems: 1,\n items: {\n type: 'number'\n }\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n weights: ['mesh'],\n skin: ['mesh']\n },\n not: {\n anyOf: [\n {\n required: ['matrix', 'translation']\n },\n {\n required: ['matrix', 'rotation']\n },\n {\n required: ['matrix', 'scale']\n }\n ]\n }\n },\n sampler_schema_json: {\n title: 'Sampler',\n type: 'object',\n description: 'Texture sampler properties for filtering and wrapping modes.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n magFilter: {\n description: 'Magnification filter.',\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_MAG_FILTER',\n anyOf: [\n {\n const: 9728,\n description: 'NEAREST',\n type: 'integer'\n },\n {\n const: 9729,\n description: 'LINEAR',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n minFilter: {\n description: 'Minification filter.',\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_MIN_FILTER',\n anyOf: [\n {\n const: 9728,\n description: 'NEAREST',\n type: 'integer'\n },\n {\n const: 9729,\n description: 'LINEAR',\n type: 'integer'\n },\n {\n const: 9984,\n description: 'NEAREST_MIPMAP_NEAREST',\n type: 'integer'\n },\n {\n const: 9985,\n description: 'LINEAR_MIPMAP_NEAREST',\n type: 'integer'\n },\n {\n const: 9986,\n description: 'NEAREST_MIPMAP_LINEAR',\n type: 'integer'\n },\n {\n const: 9987,\n description: 'LINEAR_MIPMAP_LINEAR',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n wrapS: {\n description: 'S (U) wrapping mode.',\n default: 10497,\n gltf_detailedDescription:\n 'S (U) wrapping mode. All valid values correspond to WebGL enums.',\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_WRAP_S',\n anyOf: [\n {\n const: 33071,\n description: 'CLAMP_TO_EDGE',\n type: 'integer'\n },\n {\n const: 33648,\n description: 'MIRRORED_REPEAT',\n type: 'integer'\n },\n {\n const: 10497,\n description: 'REPEAT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n wrapT: {\n description: 'T (V) wrapping mode.',\n default: 10497,\n gltf_webgl: '`samplerParameteri()` with pname equal to TEXTURE_WRAP_T',\n anyOf: [\n {\n const: 33071,\n description: 'CLAMP_TO_EDGE',\n type: 'integer'\n },\n {\n const: 33648,\n description: 'MIRRORED_REPEAT',\n type: 'integer'\n },\n {\n const: 10497,\n description: 'REPEAT',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n name: {},\n extensions: {},\n extras: {}\n }\n },\n scene_schema_json: {\n title: 'Scene',\n type: 'object',\n description: 'The root nodes of a scene.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n nodes: {\n type: 'array',\n description: 'The indices of each root node.',\n items: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n }\n },\n skin_schema_json: {\n title: 'Skin',\n type: 'object',\n description: 'Joints and matrices defining a skin.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n inverseBindMatrices: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor containing the floating-point 4x4 inverse-bind matrices.',\n gltf_detailedDescription:\n '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.'\n },\n skeleton: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description: 'The index of the node used as a skeleton root.',\n gltf_detailedDescription:\n '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.'\n },\n joints: {\n type: 'array',\n description: 'Indices of skeleton nodes, used as joints in this skin.',\n items: {\n $ref: '#/$defs/glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1,\n gltf_detailedDescription: 'Indices of skeleton nodes, used as joints in this skin.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['joints']\n },\n texture_schema_json: {\n title: 'Texture',\n type: 'object',\n description: 'A texture and its sampler.',\n allOf: [\n {\n $ref: '#/$defs/glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n sampler: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n 'The index of the sampler used by this texture. When undefined, a sampler with repeat wrapping and auto filtering **SHOULD** be used.'\n },\n source: {\n allOf: [\n {\n $ref: '#/$defs/glTFid_schema_json'\n }\n ],\n description:\n '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.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n gltf_webgl:\n '`createTexture()`, `deleteTexture()`, `bindTexture()`, `texImage2D()`, and `texParameterf()`'\n }\n }\n};\n\n/** Khronos extension JSON Schema fragments grouped by version, status, and extension. */\nexport const GLTF_EXTENSION_JSON_SCHEMAS: Record<string, unknown> = {\n '1.0': {\n Khronos: {\n KHR_binary_glTF: {\n 'image.KHR_binary_glTF': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_binary_glTF image extension',\n type: 'object',\n properties: {\n bufferView: {\n type: 'string',\n description:\n \"The id (JSON property name) of the buffer-view that references the image. Use this instead of the image's uri property.\",\n minLength: 1\n },\n mimeType: {\n type: 'string',\n description: \"The image's MIME type.\",\n minLength: 1\n },\n width: {\n type: 'integer',\n description: 'The width of the image in pixels.',\n minimum: 0\n },\n height: {\n type: 'integer',\n description: 'The height of the image in pixels.',\n minimum: 0\n }\n },\n additionalProperties: false,\n required: ['bufferView', 'mimeType', 'width', 'height']\n },\n 'shader.KHR_binary_glTF': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_binary_glTF shader extension',\n type: 'object',\n properties: {\n bufferView: {\n type: 'string',\n description:\n \"The id (JSON property name) of the buffer-view that references the shader source. Use this instead of the shader's uri property.\",\n minLength: 1\n }\n },\n additionalProperties: false,\n required: ['bufferView']\n }\n },\n KHR_materials_common: {\n 'glTF.KHR_materials_common': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_common glTF extension',\n type: 'object',\n properties: {\n lights: {\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/light_schema_json'\n },\n default: {}\n }\n },\n additionalProperties: false,\n definitions: {\n _specification_1_0_schema_extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_1_0_schema_extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n _specification_1_0_schema_glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_1_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_1_0_schema_extras_schema_json'\n }\n }\n },\n _specification_1_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'Child of a glTF root property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n light_ambient_schema_json: {\n title: 'light/ambient',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n }\n },\n additionalProperties: false\n },\n light_directional_schema_json: {\n title: 'light/directional',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n }\n },\n additionalProperties: false\n },\n light_point_schema_json: {\n title: 'light/point',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n },\n constantAttenuation: {\n type: 'number',\n description: 'Constant attenuation factor.',\n default: 1\n },\n linearAttenuation: {\n type: 'number',\n description: 'Linear attenuation factor.',\n default: 0\n },\n quadraticAttenuation: {\n type: 'number',\n description: 'Quadratic attenuation factor.',\n default: 0\n }\n },\n additionalProperties: false\n },\n light_spot_schema_json: {\n title: 'light/spot',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n },\n constantAttenuation: {\n type: 'number',\n description: 'Constant attenuation factor.',\n default: 1\n },\n fallOffAngle: {\n type: 'number',\n description: 'Fall off angle in radians.',\n default: 3.14159265\n },\n fallOffExponent: {\n type: 'number',\n description: 'Fall off exponent.',\n default: 0\n },\n linearAttenuation: {\n type: 'number',\n description: 'Linear attenuation factor.',\n default: 0\n },\n quadraticAttenuation: {\n type: 'number',\n description: 'Quadratic attenuation factor.',\n default: 0\n }\n },\n additionalProperties: false\n },\n light_schema_json: {\n title: 'light',\n type: 'object',\n description: 'An ambient, directional, point, or spot light.',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n ambient: {\n allOf: [\n {\n $ref: '#/definitions/light_ambient_schema_json'\n }\n ],\n description: 'Ambient light source.'\n },\n directional: {\n allOf: [\n {\n $ref: '#/definitions/light_directional_schema_json'\n }\n ],\n description: 'Directional light source.'\n },\n point: {\n allOf: [\n {\n $ref: '#/definitions/light_point_schema_json'\n }\n ],\n description: 'Point light source.'\n },\n spot: {\n allOf: [\n {\n $ref: '#/definitions/light_spot_schema_json'\n }\n ],\n description: 'Spot light source.'\n },\n type: {\n type: 'string',\n description: 'Specifies the light type.',\n enum: ['ambient', 'directional', 'point', 'spot']\n }\n },\n additionalProperties: false,\n required: ['type']\n }\n }\n },\n 'light.ambient': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'light/ambient',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n }\n },\n additionalProperties: false,\n definitions: {\n _specification_1_0_schema_extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_1_0_schema_extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n _specification_1_0_schema_glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_1_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_1_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'light.directional': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'light/directional',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n }\n },\n additionalProperties: false,\n definitions: {\n _specification_1_0_schema_extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_1_0_schema_extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n _specification_1_0_schema_glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_1_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_1_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'light.point': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'light/point',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n },\n constantAttenuation: {\n type: 'number',\n description: 'Constant attenuation factor.',\n default: 1\n },\n linearAttenuation: {\n type: 'number',\n description: 'Linear attenuation factor.',\n default: 0\n },\n quadraticAttenuation: {\n type: 'number',\n description: 'Quadratic attenuation factor.',\n default: 0\n }\n },\n additionalProperties: false,\n definitions: {\n _specification_1_0_schema_extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_1_0_schema_extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n _specification_1_0_schema_glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_1_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_1_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n light: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'light',\n type: 'object',\n description: 'An ambient, directional, point, or spot light.',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n ambient: {\n allOf: [\n {\n $ref: '#/definitions/light_ambient_schema_json'\n }\n ],\n description: 'Ambient light source.'\n },\n directional: {\n allOf: [\n {\n $ref: '#/definitions/light_directional_schema_json'\n }\n ],\n description: 'Directional light source.'\n },\n point: {\n allOf: [\n {\n $ref: '#/definitions/light_point_schema_json'\n }\n ],\n description: 'Point light source.'\n },\n spot: {\n allOf: [\n {\n $ref: '#/definitions/light_spot_schema_json'\n }\n ],\n description: 'Spot light source.'\n },\n type: {\n type: 'string',\n description: 'Specifies the light type.',\n enum: ['ambient', 'directional', 'point', 'spot']\n }\n },\n additionalProperties: false,\n required: ['type'],\n definitions: {\n _specification_1_0_schema_extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_1_0_schema_extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n _specification_1_0_schema_glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_1_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_1_0_schema_extras_schema_json'\n }\n }\n },\n _specification_1_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'Child of a glTF root property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n light_ambient_schema_json: {\n title: 'light/ambient',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n }\n },\n additionalProperties: false\n },\n light_directional_schema_json: {\n title: 'light/directional',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n }\n },\n additionalProperties: false\n },\n light_point_schema_json: {\n title: 'light/point',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n },\n constantAttenuation: {\n type: 'number',\n description: 'Constant attenuation factor.',\n default: 1\n },\n linearAttenuation: {\n type: 'number',\n description: 'Linear attenuation factor.',\n default: 0\n },\n quadraticAttenuation: {\n type: 'number',\n description: 'Quadratic attenuation factor.',\n default: 0\n }\n },\n additionalProperties: false\n },\n light_spot_schema_json: {\n title: 'light/spot',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n },\n constantAttenuation: {\n type: 'number',\n description: 'Constant attenuation factor.',\n default: 1\n },\n fallOffAngle: {\n type: 'number',\n description: 'Fall off angle in radians.',\n default: 3.14159265\n },\n fallOffExponent: {\n type: 'number',\n description: 'Fall off exponent.',\n default: 0\n },\n linearAttenuation: {\n type: 'number',\n description: 'Linear attenuation factor.',\n default: 0\n },\n quadraticAttenuation: {\n type: 'number',\n description: 'Quadratic attenuation factor.',\n default: 0\n }\n },\n additionalProperties: false\n }\n }\n },\n 'light.spot': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'light/spot',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n description: 'RGB color of the light source.',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n gltf_detailedDescription:\n 'RGB color of the light source. Each element is floating-point between 0.0 and 1.0. Element 0 corresponds to R, 1 to G, and 2 to B.'\n },\n constantAttenuation: {\n type: 'number',\n description: 'Constant attenuation factor.',\n default: 1\n },\n fallOffAngle: {\n type: 'number',\n description: 'Fall off angle in radians.',\n default: 3.14159265\n },\n fallOffExponent: {\n type: 'number',\n description: 'Fall off exponent.',\n default: 0\n },\n linearAttenuation: {\n type: 'number',\n description: 'Linear attenuation factor.',\n default: 0\n },\n quadraticAttenuation: {\n type: 'number',\n description: 'Quadratic attenuation factor.',\n default: 0\n }\n },\n additionalProperties: false,\n definitions: {\n _specification_1_0_schema_extension_schema_json: {\n title: 'extension',\n type: 'object',\n description: 'Dictionary object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_1_0_schema_extras_schema_json: {\n title: 'extras',\n description: 'Application-specific data.'\n },\n _specification_1_0_schema_glTFProperty_schema_json: {\n title: 'glTF property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_1_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_1_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'node.KHR_materials_common': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_common node extension',\n type: 'object',\n properties: {\n light: {\n allOf: [\n {\n $ref: '#/definitions/_specification_1_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The id of the light referenced by this node.'\n }\n },\n additionalProperties: false,\n definitions: {\n _specification_1_0_schema_glTFid_schema_json: {\n title: 'glTF id',\n type: 'string',\n minLength: 1\n }\n }\n }\n }\n },\n Vendor: {\n CESIUM_RTC: {\n CESIUM_RTC: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'CESIUM_RTC',\n type: 'object',\n description: 'glTF CESIUM_RTC extension.',\n properties: {\n center: {\n type: 'array',\n description: 'Center that vertex positions are relative to.',\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3\n }\n },\n additionalProperties: false,\n required: ['center']\n }\n },\n WEB3D_quantized_attributes: {\n 'WEB3D_quantized_attributes.accessor': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'WEB3D_quantized_attributes accessor extension',\n type: 'object',\n properties: {\n decodeMatrix: {\n type: 'array',\n description:\n 'A homogenous floating-point transformation matrix stored in column-major order. This matrix is used to decode the compressed, quantized data of this accessor.',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 25\n },\n decodedMax: {\n type: 'array',\n description: 'Maximum decoded value of each component in this attribute.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 4\n },\n decodedMin: {\n type: 'array',\n description: 'Minimum decoded value of each component in this attribute.',\n items: {\n type: 'number'\n },\n minItems: 1,\n maxItems: 4\n }\n },\n additionalProperties: false,\n required: ['decodeMatrix', 'decodedMax', 'decodedMin']\n }\n }\n }\n },\n '2.0': {\n Archived: {\n KHR_materials_pbrSpecularGlossiness: {\n 'glTF.KHR_materials_pbrSpecularGlossiness': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_pbrSpecularGlossiness glTF extension',\n type: 'object',\n description:\n 'glTF extension that defines the specular-glossiness material model from Physically-Based Rendering (PBR) methodology.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n diffuseFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description: 'The reflected diffuse factor of the material.',\n default: [1, 1, 1, 1],\n minItems: 4,\n maxItems: 4,\n gltf_detailedDescription:\n 'The RGBA components of the reflected diffuse color of the material. Metals have a diffuse value of `[0.0, 0.0, 0.0]`. The fourth component (A) is the alpha coverage of the material. The `alphaMode` property specifies how alpha is interpreted. The values are linear.'\n },\n diffuseTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The diffuse texture.',\n gltf_detailedDescription:\n 'The diffuse texture. This texture contains RGB components of the reflected diffuse color of the material encoded with the sRGB transfer function. If the fourth component (A) is present, it represents the linear alpha coverage of the material. Otherwise, an alpha of 1.0 is assumed. The `alphaMode` property specifies how alpha is interpreted. The stored texels must not be premultiplied.'\n },\n specularFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description: 'The specular RGB color of the material.',\n default: [1, 1, 1],\n minItems: 3,\n maxItems: 3,\n gltf_detailedDescription:\n 'The specular RGB color of the material. This value is linear.'\n },\n glossinessFactor: {\n type: 'number',\n description: 'The glossiness or smoothness of the material.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The glossiness or smoothness of the material. A value of 1.0 means the material has full glossiness or is perfectly smooth. A value of 0.0 means the material has no glossiness or is completely rough. This value is linear.'\n },\n specularGlossinessTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The specular-glossiness texture.',\n gltf_detailedDescription:\n 'The specular-glossiness texture is an RGBA texture, containing the specular color (RGB) encoded with the sRGB transfer function and the linear glossiness value (A).'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_techniques_webgl: {\n 'glTF.KHR_techniques_webgl': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_techniques_webgl glTF extension',\n type: 'object',\n description:\n 'Instances of shading techniques with external shader programs along with their parameterized values. Shading techniques describe data types and semantics for GLSL vertex and fragment shader programs.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n programs: {\n type: 'array',\n description: 'An array of `Program` objects.',\n items: {\n $ref: '#/definitions/program_schema_json'\n },\n minItems: 1\n },\n shaders: {\n type: 'array',\n description: 'An array of `Shader` objects.',\n items: {\n $ref: '#/definitions/shader_schema_json'\n },\n minItems: 1\n },\n techniques: {\n type: 'array',\n description: 'An array of `Technique` objects.',\n items: {\n $ref: '#/definitions/technique_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of `Technique` objects. A technique is a template for a material appearance.'\n },\n extensions: {},\n extras: {}\n },\n required: ['programs', 'shaders', 'techniques'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n program_schema_json: {\n title: 'Program',\n type: 'object',\n description: 'A shader program, including its vertex and fragment shaders.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n fragmentShader: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the fragment shader.'\n },\n vertexShader: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the vertex shader.'\n },\n glExtensions: {\n type: 'array',\n description: 'The names of required WebGL 1.0 extensions.',\n items: {\n type: 'string',\n minLength: 1,\n maxLength: 256\n },\n minItems: 1,\n gltf_webgl: '`getExtension()`'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['fragmentShader', 'vertexShader'],\n gltf_webgl:\n '`attachShader()`, `bindAttribLocation()`, `createProgram()`, `deleteProgram()`, `getProgramParameter()`, `getProgramInfoLog()`, `linkProgram()`, `useProgram()`, and `validateProgram()`'\n },\n shader_schema_json: {\n title: 'Shader',\n type: 'object',\n description:\n 'A vertex or fragment shader. Exactly one of `uri` or `bufferView` must be provided for the GLSL source.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The uri of the GLSL source.',\n format: 'uriref',\n gltf_detailedDescription:\n 'The uri of the GLSL source. Relative paths are relative to the `.gltf` file. Instead of referencing an external file, the uri can also be a data-uri.',\n gltf_uriType: 'text'\n },\n type: {\n type: 'integer',\n description: 'The shader stage.',\n enum: [35632, 35633],\n gltf_enumNames: ['FRAGMENT_SHADER', 'VERTEX_SHADER'],\n gltf_detailedDescription:\n 'The shader stage. All valid values correspond to WebGL enums.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n \"The index of the bufferView that contains the GLSL shader source. Use this instead of the shader's uri property.\"\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['type'],\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ],\n gltf_webgl:\n '`createShader()`, `deleteShader()`, `shaderSource()`, `compileShader()`, `getShaderParameter()`, and `getShaderInfoLog()`'\n },\n technique_attribute_schema_json: {\n title: 'Attribute',\n type: 'object',\n description: 'An attribute input to a technique and the corresponding semantic.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n semantic: {\n type: 'string',\n description: 'Identifies a mesh attribute semantic.',\n gltf_detailedDescription:\n 'Identifies a mesh attribute semantic. Attribute semantics include `\"POSITION\"`, `\"NORMAL\"`, `\"TEXCOORD\"`, `\"COLOR\"`, `\"JOINT\"`, and `\"WEIGHT\"`. `\"TEXCOORD\"` and `\"COLOR\"` attribute semantic property names must be of the form `[semantic]_[set_index]`, e.g., `\"TEXCOORD_0\"`, `\"TEXCOORD_1\"`, `\"COLOR_1\"`, etc. For forward-compatibility, application-specific semantics must start with an underscore, e.g., `\"_SIMULATION_TIME\"`.'\n },\n extensions: {},\n extras: {}\n },\n required: ['semantic']\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n uniform_value_schema_json: {\n title: 'Uniform Value',\n oneOf: [\n {\n type: ['number', 'boolean']\n },\n {\n type: 'array',\n items: {\n type: ['number']\n },\n minItems: 1\n },\n {\n type: 'array',\n items: {\n type: ['boolean']\n },\n minItems: 1\n },\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ]\n },\n technique_uniform_schema_json: {\n title: 'Uniform',\n type: 'object',\n description: 'A uniform input to a technique, and an optional semantic and value.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n count: {\n type: 'integer',\n description:\n 'When defined, the uniform is an array of count elements of the specified type. Otherwise, the uniform is not an array.',\n minimum: 1,\n gltf_detailedDescription:\n \"When defined, the uniform is an array of `count` elements of the specified type. Otherwise, the uniform is not an array. When defined, `value`'s length must equal `count`, times the number of components in the `type`, e.g., `3` for `FLOAT_VEC3`. A uniform array of scalar values is not the same as a uniform vector of the same size; for example, when count is 2 and type is `5126` (`FLOAT`), the uniform is an array of two floating-point values, not a `FLOAT_VEC2`. When a glTF-defined semantic is used, the semantic must be `JOINTMATRIX`; application-specific uniforms can be arrays and, therefore, define `count`.\"\n },\n node: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n \"The index of the node whose transform is used as the uniform's value.\",\n gltf_detailedDescription:\n 'The index of the node whose transform is used as the uniform\\'s value. When this is defined, `type` must be `35676` (`FLOAT_MAT4`), therefore, when the semantic is `\"MODELINVERSETRANSPOSE\"`, `\"MODELVIEWINVERSETRANSPOSE\"`, or `\"VIEWPORT\"`, the node property can\\'t be defined.'\n },\n type: {\n type: 'integer',\n description: 'The uniform type.',\n enum: [\n 5124, 5126, 35664, 35665, 35666, 35667, 35668, 35669, 35670, 35671, 35672,\n 35673, 35674, 35675, 35676, 35678\n ],\n gltf_enumNames: [\n 'INT',\n 'FLOAT',\n 'FLOAT_VEC2',\n 'FLOAT_VEC3',\n 'FLOAT_VEC4',\n 'INT_VEC2',\n 'INT_VEC3',\n 'INT_VEC4',\n 'BOOL',\n 'BOOL_VEC2',\n 'BOOL_VEC3',\n 'BOOL_VEC4',\n 'FLOAT_MAT2',\n 'FLOAT_MAT3',\n 'FLOAT_MAT4',\n 'SAMPLER_2D'\n ],\n gltf_detailedDescription:\n 'The uniform type. All valid values correspond to WebGL enums.'\n },\n semantic: {\n type: 'string',\n description: 'Identifies a uniform with a well-known meaning.',\n gltf_detailedDescription:\n 'Identifies a uniform with a well-known meaning. Uniform semantics include `\"LOCAL\"` (FLOAT_MAT4), `\"MODEL\"` (FLOAT_MAT4), `\"VIEW\"` (FLOAT_MAT4), `\"PROJECTION\"` (FLOAT_MAT4), `\"MODELVIEW\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTION\"` (FLOAT_MAT4), `\"MODELINVERSE\"` (FLOAT_MAT4), `\"VIEWINVERSE\"` (FLOAT_MAT4), `\"PROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"MODELVIEWINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"VIEWPORT\"` (FLOAT_VEC4), `\"JOINTMATRIX\"` (FLOAT_MAT4[]). For forward-compatibility, application-specific semantics must start with an underscore, e.g., `\"_SIMULATION_TIME\"`.'\n },\n value: {\n allOf: [\n {\n $ref: '#/definitions/uniform_value_schema_json'\n }\n ],\n description: 'The value of the uniform.',\n gltf_detailedDescription:\n 'The value of the uniform. The length is determined by the values of the `type` and `count` (if present) properties. A material uniform value with the same name, when specified, overrides this value.'\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n technique_schema_json: {\n title: 'Technique',\n type: 'object',\n description: 'A template for material appearances.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n program: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the program.'\n },\n attributes: {\n type: 'object',\n description: 'A dictionary object of `Attribute` objects.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_attribute_schema_json'\n },\n gltf_detailedDescription:\n 'A dictionary object of `Attribute` objects. Each object defines an attribute input with a type and a semantic.'\n },\n uniforms: {\n type: 'object',\n description: 'A dictionary object of `Uniform` objects.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_uniform_schema_json'\n },\n gltf_detailedDescription:\n 'A dictionary object of `Uniform` objects. Each object defines a uniform input with a type and an optional semantic and value.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['program']\n }\n }\n },\n 'material.KHR_techniques_webgl': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_techniques_webgl material extension',\n type: 'object',\n description: 'The technique to use for a material and any additional uniform values.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n technique: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the technique.'\n },\n values: {\n type: 'object',\n description: 'Dictionary object of uniform values.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/uniform_value_schema_json'\n },\n default: {},\n gltf_detailedDescription:\n \"Dictionary object of uniform values. Uniforms with the same name as the technique's uniform must conform to the referenced `type` and `count` (if present) properties, and override the technique's uniform value. A uniform value must be supplied here if not present in the technique uniforms.\"\n },\n extensions: {},\n extras: {}\n },\n required: ['technique'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n uniform_value_schema_json: {\n title: 'Uniform Value',\n oneOf: [\n {\n type: ['number', 'boolean']\n },\n {\n type: 'array',\n items: {\n type: ['number']\n },\n minItems: 1\n },\n {\n type: 'array',\n items: {\n type: ['boolean']\n },\n minItems: 1\n },\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ]\n }\n }\n },\n program: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Program',\n type: 'object',\n description: 'A shader program, including its vertex and fragment shaders.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n fragmentShader: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the fragment shader.'\n },\n vertexShader: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the vertex shader.'\n },\n glExtensions: {\n type: 'array',\n description: 'The names of required WebGL 1.0 extensions.',\n items: {\n type: 'string',\n minLength: 1,\n maxLength: 256\n },\n minItems: 1,\n gltf_webgl: '`getExtension()`'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['fragmentShader', 'vertexShader'],\n gltf_webgl:\n '`attachShader()`, `bindAttribLocation()`, `createProgram()`, `deleteProgram()`, `getProgramParameter()`, `getProgramInfoLog()`, `linkProgram()`, `useProgram()`, and `validateProgram()`',\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n shader: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Shader',\n type: 'object',\n description:\n 'A vertex or fragment shader. Exactly one of `uri` or `bufferView` must be provided for the GLSL source.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The uri of the GLSL source.',\n format: 'uriref',\n gltf_detailedDescription:\n 'The uri of the GLSL source. Relative paths are relative to the `.gltf` file. Instead of referencing an external file, the uri can also be a data-uri.',\n gltf_uriType: 'text'\n },\n type: {\n type: 'integer',\n description: 'The shader stage.',\n enum: [35632, 35633],\n gltf_enumNames: ['FRAGMENT_SHADER', 'VERTEX_SHADER'],\n gltf_detailedDescription:\n 'The shader stage. All valid values correspond to WebGL enums.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n \"The index of the bufferView that contains the GLSL shader source. Use this instead of the shader's uri property.\"\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['type'],\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ],\n gltf_webgl:\n '`createShader()`, `deleteShader()`, `shaderSource()`, `compileShader()`, `getShaderParameter()`, and `getShaderInfoLog()`',\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'technique.attribute': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Attribute',\n type: 'object',\n description: 'An attribute input to a technique and the corresponding semantic.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n semantic: {\n type: 'string',\n description: 'Identifies a mesh attribute semantic.',\n gltf_detailedDescription:\n 'Identifies a mesh attribute semantic. Attribute semantics include `\"POSITION\"`, `\"NORMAL\"`, `\"TEXCOORD\"`, `\"COLOR\"`, `\"JOINT\"`, and `\"WEIGHT\"`. `\"TEXCOORD\"` and `\"COLOR\"` attribute semantic property names must be of the form `[semantic]_[set_index]`, e.g., `\"TEXCOORD_0\"`, `\"TEXCOORD_1\"`, `\"COLOR_1\"`, etc. For forward-compatibility, application-specific semantics must start with an underscore, e.g., `\"_SIMULATION_TIME\"`.'\n },\n extensions: {},\n extras: {}\n },\n required: ['semantic'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n technique: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Technique',\n type: 'object',\n description: 'A template for material appearances.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n program: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the program.'\n },\n attributes: {\n type: 'object',\n description: 'A dictionary object of `Attribute` objects.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_attribute_schema_json'\n },\n gltf_detailedDescription:\n 'A dictionary object of `Attribute` objects. Each object defines an attribute input with a type and a semantic.'\n },\n uniforms: {\n type: 'object',\n description: 'A dictionary object of `Uniform` objects.',\n properties: {},\n additionalProperties: {\n $ref: '#/definitions/technique_uniform_schema_json'\n },\n gltf_detailedDescription:\n 'A dictionary object of `Uniform` objects. Each object defines a uniform input with a type and an optional semantic and value.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['program'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n technique_attribute_schema_json: {\n title: 'Attribute',\n type: 'object',\n description: 'An attribute input to a technique and the corresponding semantic.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n semantic: {\n type: 'string',\n description: 'Identifies a mesh attribute semantic.',\n gltf_detailedDescription:\n 'Identifies a mesh attribute semantic. Attribute semantics include `\"POSITION\"`, `\"NORMAL\"`, `\"TEXCOORD\"`, `\"COLOR\"`, `\"JOINT\"`, and `\"WEIGHT\"`. `\"TEXCOORD\"` and `\"COLOR\"` attribute semantic property names must be of the form `[semantic]_[set_index]`, e.g., `\"TEXCOORD_0\"`, `\"TEXCOORD_1\"`, `\"COLOR_1\"`, etc. For forward-compatibility, application-specific semantics must start with an underscore, e.g., `\"_SIMULATION_TIME\"`.'\n },\n extensions: {},\n extras: {}\n },\n required: ['semantic']\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n uniform_value_schema_json: {\n title: 'Uniform Value',\n oneOf: [\n {\n type: ['number', 'boolean']\n },\n {\n type: 'array',\n items: {\n type: ['number']\n },\n minItems: 1\n },\n {\n type: 'array',\n items: {\n type: ['boolean']\n },\n minItems: 1\n },\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ]\n },\n technique_uniform_schema_json: {\n title: 'Uniform',\n type: 'object',\n description: 'A uniform input to a technique, and an optional semantic and value.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n count: {\n type: 'integer',\n description:\n 'When defined, the uniform is an array of count elements of the specified type. Otherwise, the uniform is not an array.',\n minimum: 1,\n gltf_detailedDescription:\n \"When defined, the uniform is an array of `count` elements of the specified type. Otherwise, the uniform is not an array. When defined, `value`'s length must equal `count`, times the number of components in the `type`, e.g., `3` for `FLOAT_VEC3`. A uniform array of scalar values is not the same as a uniform vector of the same size; for example, when count is 2 and type is `5126` (`FLOAT`), the uniform is an array of two floating-point values, not a `FLOAT_VEC2`. When a glTF-defined semantic is used, the semantic must be `JOINTMATRIX`; application-specific uniforms can be arrays and, therefore, define `count`.\"\n },\n node: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n \"The index of the node whose transform is used as the uniform's value.\",\n gltf_detailedDescription:\n 'The index of the node whose transform is used as the uniform\\'s value. When this is defined, `type` must be `35676` (`FLOAT_MAT4`), therefore, when the semantic is `\"MODELINVERSETRANSPOSE\"`, `\"MODELVIEWINVERSETRANSPOSE\"`, or `\"VIEWPORT\"`, the node property can\\'t be defined.'\n },\n type: {\n type: 'integer',\n description: 'The uniform type.',\n enum: [\n 5124, 5126, 35664, 35665, 35666, 35667, 35668, 35669, 35670, 35671, 35672,\n 35673, 35674, 35675, 35676, 35678\n ],\n gltf_enumNames: [\n 'INT',\n 'FLOAT',\n 'FLOAT_VEC2',\n 'FLOAT_VEC3',\n 'FLOAT_VEC4',\n 'INT_VEC2',\n 'INT_VEC3',\n 'INT_VEC4',\n 'BOOL',\n 'BOOL_VEC2',\n 'BOOL_VEC3',\n 'BOOL_VEC4',\n 'FLOAT_MAT2',\n 'FLOAT_MAT3',\n 'FLOAT_MAT4',\n 'SAMPLER_2D'\n ],\n gltf_detailedDescription:\n 'The uniform type. All valid values correspond to WebGL enums.'\n },\n semantic: {\n type: 'string',\n description: 'Identifies a uniform with a well-known meaning.',\n gltf_detailedDescription:\n 'Identifies a uniform with a well-known meaning. Uniform semantics include `\"LOCAL\"` (FLOAT_MAT4), `\"MODEL\"` (FLOAT_MAT4), `\"VIEW\"` (FLOAT_MAT4), `\"PROJECTION\"` (FLOAT_MAT4), `\"MODELVIEW\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTION\"` (FLOAT_MAT4), `\"MODELINVERSE\"` (FLOAT_MAT4), `\"VIEWINVERSE\"` (FLOAT_MAT4), `\"PROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"MODELVIEWINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"VIEWPORT\"` (FLOAT_VEC4), `\"JOINTMATRIX\"` (FLOAT_MAT4[]). For forward-compatibility, application-specific semantics must start with an underscore, e.g., `\"_SIMULATION_TIME\"`.'\n },\n value: {\n allOf: [\n {\n $ref: '#/definitions/uniform_value_schema_json'\n }\n ],\n description: 'The value of the uniform.',\n gltf_detailedDescription:\n 'The value of the uniform. The length is determined by the values of the `type` and `count` (if present) properties. A material uniform value with the same name, when specified, overrides this value.'\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n }\n }\n },\n 'technique.uniform': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Uniform',\n type: 'object',\n description: 'A uniform input to a technique, and an optional semantic and value.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n count: {\n type: 'integer',\n description:\n 'When defined, the uniform is an array of count elements of the specified type. Otherwise, the uniform is not an array.',\n minimum: 1,\n gltf_detailedDescription:\n \"When defined, the uniform is an array of `count` elements of the specified type. Otherwise, the uniform is not an array. When defined, `value`'s length must equal `count`, times the number of components in the `type`, e.g., `3` for `FLOAT_VEC3`. A uniform array of scalar values is not the same as a uniform vector of the same size; for example, when count is 2 and type is `5126` (`FLOAT`), the uniform is an array of two floating-point values, not a `FLOAT_VEC2`. When a glTF-defined semantic is used, the semantic must be `JOINTMATRIX`; application-specific uniforms can be arrays and, therefore, define `count`.\"\n },\n node: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: \"The index of the node whose transform is used as the uniform's value.\",\n gltf_detailedDescription:\n 'The index of the node whose transform is used as the uniform\\'s value. When this is defined, `type` must be `35676` (`FLOAT_MAT4`), therefore, when the semantic is `\"MODELINVERSETRANSPOSE\"`, `\"MODELVIEWINVERSETRANSPOSE\"`, or `\"VIEWPORT\"`, the node property can\\'t be defined.'\n },\n type: {\n type: 'integer',\n description: 'The uniform type.',\n enum: [\n 5124, 5126, 35664, 35665, 35666, 35667, 35668, 35669, 35670, 35671, 35672, 35673,\n 35674, 35675, 35676, 35678\n ],\n gltf_enumNames: [\n 'INT',\n 'FLOAT',\n 'FLOAT_VEC2',\n 'FLOAT_VEC3',\n 'FLOAT_VEC4',\n 'INT_VEC2',\n 'INT_VEC3',\n 'INT_VEC4',\n 'BOOL',\n 'BOOL_VEC2',\n 'BOOL_VEC3',\n 'BOOL_VEC4',\n 'FLOAT_MAT2',\n 'FLOAT_MAT3',\n 'FLOAT_MAT4',\n 'SAMPLER_2D'\n ],\n gltf_detailedDescription:\n 'The uniform type. All valid values correspond to WebGL enums.'\n },\n semantic: {\n type: 'string',\n description: 'Identifies a uniform with a well-known meaning.',\n gltf_detailedDescription:\n 'Identifies a uniform with a well-known meaning. Uniform semantics include `\"LOCAL\"` (FLOAT_MAT4), `\"MODEL\"` (FLOAT_MAT4), `\"VIEW\"` (FLOAT_MAT4), `\"PROJECTION\"` (FLOAT_MAT4), `\"MODELVIEW\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTION\"` (FLOAT_MAT4), `\"MODELINVERSE\"` (FLOAT_MAT4), `\"VIEWINVERSE\"` (FLOAT_MAT4), `\"PROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWINVERSE\"` (FLOAT_MAT4), `\"MODELVIEWPROJECTIONINVERSE\"` (FLOAT_MAT4), `\"MODELINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"MODELVIEWINVERSETRANSPOSE\"` (FLOAT_MAT3), `\"VIEWPORT\"` (FLOAT_VEC4), `\"JOINTMATRIX\"` (FLOAT_MAT4[]). For forward-compatibility, application-specific semantics must start with an underscore, e.g., `\"_SIMULATION_TIME\"`.'\n },\n value: {\n allOf: [\n {\n $ref: '#/definitions/uniform_value_schema_json'\n }\n ],\n description: 'The value of the uniform.',\n gltf_detailedDescription:\n 'The value of the uniform. The length is determined by the values of the `type` and `count` (if present) properties. A material uniform value with the same name, when specified, overrides this value.'\n },\n extensions: {},\n extras: {}\n },\n required: ['type'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n uniform_value_schema_json: {\n title: 'Uniform Value',\n oneOf: [\n {\n type: ['number', 'boolean']\n },\n {\n type: 'array',\n items: {\n type: ['number']\n },\n minItems: 1\n },\n {\n type: 'array',\n items: {\n type: ['boolean']\n },\n minItems: 1\n },\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ]\n }\n }\n },\n 'uniform.value': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Uniform Value',\n oneOf: [\n {\n type: ['number', 'boolean']\n },\n {\n type: 'array',\n items: {\n type: ['number']\n },\n minItems: 1\n },\n {\n type: 'array',\n items: {\n type: ['boolean']\n },\n minItems: 1\n },\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_xmp: {\n 'glTF.KHR_xmp': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_xmp glTF extension',\n type: 'object',\n description: 'Metadata about the glTF asset.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n '@context': {\n type: 'object',\n additionalProperties: true,\n description:\n 'Dictionary mapping XMP namespace names to the URI where they are defined'\n },\n packets: {\n type: 'array',\n items: {\n type: 'object',\n additionalProperties: true,\n description:\n 'Dictionary of XMP metadata properties. Property names take the form `xmp_namespace_name:property_name`'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['packets', '@context'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'node.KHR_xmp': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_xmp node extension',\n type: 'object',\n description: 'References an XMP packet listed in `KHR_xmp glTF extension`',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n packet: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The id of the XMP packet referenced by this node.'\n },\n extensions: {},\n extras: {}\n },\n required: ['packet'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n }\n },\n Khronos: {\n KHR_animation_pointer: {\n 'animation.channel.target.KHR_animation_pointer': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n title: 'KHR_animation_pointer glTF Animation Channel Target Extension',\n type: 'object',\n description: 'Extension object providing the JSON Pointer to the animated property.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n pointer: {\n type: 'string',\n format: 'json-pointer',\n description:\n 'JSON pointer to the animated property. The animation channel path value **MUST** be `pointer`.'\n },\n extensions: {},\n extras: {}\n },\n required: ['pointer'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_draco_mesh_compression: {\n 'mesh.primitive.KHR_draco_mesh_compression': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_draco_mesh_compression glTF Mesh Primitive Extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the bufferView.'\n },\n attributes: {\n type: 'object',\n minProperties: 1,\n additionalProperties: {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n },\n description:\n 'A dictionary object, where each key corresponds to an attribute and its unique attribute id stored in the compressed geometry.'\n },\n extensions: {},\n extras: {}\n },\n required: ['bufferView', 'attributes'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n KHR_gaussian_splatting: {\n 'mesh.primitive.KHR_gaussian_splatting': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n title: 'KHR_gaussian_splatting glTF Mesh Primitive Extension',\n type: 'object',\n description: 'Data defining a 3D Gaussian Splat primitive.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n kernel: {\n type: 'string',\n description: 'The kernel used to generate the Gaussians.',\n anyOf: [\n {\n const: 'ellipse'\n },\n {\n type: 'string'\n }\n ]\n },\n colorSpace: {\n type: 'string',\n description: 'The color space of the reconstructed color values.',\n anyOf: [\n {\n const: 'srgb_rec709_display'\n },\n {\n const: 'lin_rec709_display'\n },\n {\n type: 'string'\n }\n ]\n },\n projection: {\n type: 'string',\n description: 'The projection method for rendering the Gaussians.',\n default: 'perspective',\n anyOf: [\n {\n const: 'perspective'\n },\n {\n type: 'string'\n }\n ]\n },\n sortingMethod: {\n type: 'string',\n description: 'The sorting method for rendering the Gaussians.',\n default: 'cameraDistance',\n anyOf: [\n {\n const: 'cameraDistance'\n },\n {\n type: 'string'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['colorSpace', 'kernel'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_interactivity: {\n 'declaration.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'declaration.KHR_interactivity.schema.json',\n title: 'Behavior graph declaration',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n $defs: {\n declarationValueSocket: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n },\n properties: {\n op: {\n title: 'The operation.',\n type: 'string'\n },\n inputValueSockets: {\n title: 'The extension-defined input value sockets.',\n type: 'object',\n additionalProperties: {\n $ref: '#/$defs/declarationValueSocket'\n },\n minProperties: 1\n },\n outputValueSockets: {\n title: 'The extension-defined output value sockets.',\n type: 'object',\n additionalProperties: {\n $ref: '#/$defs/declarationValueSocket'\n },\n minProperties: 1\n },\n extension: {\n title: 'The name of the extension defining the operation.',\n type: 'string'\n },\n extensions: {},\n extras: {}\n },\n required: ['op'],\n dependentRequired: {\n inputValueSockets: ['extension'],\n outputValueSockets: ['extension']\n }\n },\n 'event.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'event.KHR_interactivity.schema.json',\n title: 'Behavior graph event',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n title: 'The event id.',\n type: 'string'\n },\n values: {\n title: 'The event value sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The initial value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n minProperties: 1,\n not: {\n required: ['event']\n }\n },\n extensions: {},\n extras: {}\n },\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'glTF.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'glTF.KHR_interactivity.schema.json',\n title: 'KHR_interactivity glTF extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n graphs: {\n title: 'An array of behavior graphs.',\n type: 'array',\n items: {\n $ref: '#/$defs/graph_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n graph: {\n title: 'The index of the default behavior graph.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n default: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['graphs'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n type_KHR_interactivity_schema_json: {\n title: 'Behavior graph type',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n signature: {\n title: 'The type signature.',\n type: 'string',\n oneOf: [\n {\n title: 'A boolean value.',\n const: 'bool'\n },\n {\n title: 'A double precision IEEE-754 floating-point scalar value.',\n const: 'float'\n },\n {\n title: 'A two-component vector of float values.',\n const: 'float2'\n },\n {\n title: 'A three-component vector of float values.',\n const: 'float3'\n },\n {\n title: 'A four-component vector of float values.',\n const: 'float4'\n },\n {\n title: 'A double precision IEEE-754 floating-point scalar value.',\n const: 'float2x2'\n },\n {\n title: 'A 3x3 matrix of float values.',\n const: 'float3x3'\n },\n {\n title: 'A 4x4 matrix of float values.',\n const: 'float4x4'\n },\n {\n title: 'A two\u2019s complement 32-bit signed integer scalar value.',\n const: 'int'\n },\n {\n title: 'An opaque reference value.',\n const: 'ref'\n },\n {\n title: 'A value of a custom type.',\n const: 'custom'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['signature']\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n variable_KHR_interactivity_schema_json: {\n title: 'Behavior graph variable',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The initial value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n event_KHR_interactivity_schema_json: {\n title: 'Behavior graph event',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n title: 'The event id.',\n type: 'string'\n },\n values: {\n title: 'The event value sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The initial value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n minProperties: 1,\n not: {\n required: ['event']\n }\n },\n extensions: {},\n extras: {}\n }\n },\n declaration_KHR_interactivity_schema_json_defs_declarationValueSocket: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n declaration_KHR_interactivity_schema_json: {\n title: 'Behavior graph declaration',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n $defs: {\n declarationValueSocket: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n }\n },\n properties: {\n op: {\n title: 'The operation.',\n type: 'string'\n },\n inputValueSockets: {\n title: 'The extension-defined input value sockets.',\n type: 'object',\n additionalProperties: {\n $ref: '#/$defs/declaration_KHR_interactivity_schema_json_defs_declarationValueSocket'\n },\n minProperties: 1\n },\n outputValueSockets: {\n title: 'The extension-defined output value sockets.',\n type: 'object',\n additionalProperties: {\n $ref: '#/$defs/declaration_KHR_interactivity_schema_json_defs_declarationValueSocket'\n },\n minProperties: 1\n },\n extension: {\n title: 'The name of the extension defining the operation.',\n type: 'string'\n },\n extensions: {},\n extras: {}\n },\n required: ['op'],\n dependentRequired: {\n inputValueSockets: ['extension'],\n outputValueSockets: ['extension']\n }\n },\n node_KHR_interactivity_schema_json: {\n title: 'Behavior graph interactivity node',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n declaration: {\n title: 'The declaration index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n configuration: {\n title: 'The configuration.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n value: {\n title: 'The value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n }\n },\n minProperties: 1\n },\n values: {\n title: 'The input value sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n title: 'The index of the interactivity node.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n socket: {\n title: 'The id of the output value socket of the interactivity node.',\n type: 'string',\n default: 'value'\n },\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The inline input socket value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n dependentRequired: {\n socket: ['node'],\n value: ['type']\n },\n not: {\n required: ['node', 'value']\n },\n anyOf: [\n {\n required: ['type']\n },\n {\n required: ['node']\n }\n ]\n },\n minProperties: 1\n },\n flows: {\n title: 'The output flow sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n title: 'The index of the interactivity node to be activated.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n socket: {\n title:\n 'The id of the input flow socket of the interactivity node to be activated.',\n type: 'string',\n default: 'in'\n },\n extensions: {},\n extras: {}\n },\n required: ['node']\n },\n minProperties: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['declaration']\n },\n graph_KHR_interactivity_schema_json: {\n title: 'Behavior graph',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n types: {\n title: 'An array of graph types.',\n type: 'array',\n items: {\n $ref: '#/$defs/type_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n variables: {\n title: 'An array of graph variables.',\n type: 'array',\n items: {\n $ref: '#/$defs/variable_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n events: {\n title: 'An array of graph events.',\n type: 'array',\n items: {\n $ref: '#/$defs/event_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n declarations: {\n title: 'An array of graph declarations.',\n type: 'array',\n items: {\n $ref: '#/$defs/declaration_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n nodes: {\n title: 'An array of graph nodes.',\n type: 'array',\n items: {\n $ref: '#/$defs/node_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependentRequired: {\n variables: ['types'],\n nodes: ['declarations']\n }\n }\n }\n },\n 'graph.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'graph.KHR_interactivity.schema.json',\n title: 'Behavior graph',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n types: {\n title: 'An array of graph types.',\n type: 'array',\n items: {\n $ref: '#/$defs/type_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n variables: {\n title: 'An array of graph variables.',\n type: 'array',\n items: {\n $ref: '#/$defs/variable_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n events: {\n title: 'An array of graph events.',\n type: 'array',\n items: {\n $ref: '#/$defs/event_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n declarations: {\n title: 'An array of graph declarations.',\n type: 'array',\n items: {\n $ref: '#/$defs/declaration_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n nodes: {\n title: 'An array of graph nodes.',\n type: 'array',\n items: {\n $ref: '#/$defs/node_KHR_interactivity_schema_json'\n },\n minItems: 1,\n maxItems: 2147483648\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependentRequired: {\n variables: ['types'],\n nodes: ['declarations']\n },\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n type_KHR_interactivity_schema_json: {\n title: 'Behavior graph type',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n signature: {\n title: 'The type signature.',\n type: 'string',\n oneOf: [\n {\n title: 'A boolean value.',\n const: 'bool'\n },\n {\n title: 'A double precision IEEE-754 floating-point scalar value.',\n const: 'float'\n },\n {\n title: 'A two-component vector of float values.',\n const: 'float2'\n },\n {\n title: 'A three-component vector of float values.',\n const: 'float3'\n },\n {\n title: 'A four-component vector of float values.',\n const: 'float4'\n },\n {\n title: 'A double precision IEEE-754 floating-point scalar value.',\n const: 'float2x2'\n },\n {\n title: 'A 3x3 matrix of float values.',\n const: 'float3x3'\n },\n {\n title: 'A 4x4 matrix of float values.',\n const: 'float4x4'\n },\n {\n title: 'A two\u2019s complement 32-bit signed integer scalar value.',\n const: 'int'\n },\n {\n title: 'An opaque reference value.',\n const: 'ref'\n },\n {\n title: 'A value of a custom type.',\n const: 'custom'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['signature']\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n variable_KHR_interactivity_schema_json: {\n title: 'Behavior graph variable',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The initial value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n event_KHR_interactivity_schema_json: {\n title: 'Behavior graph event',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n title: 'The event id.',\n type: 'string'\n },\n values: {\n title: 'The event value sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The initial value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n minProperties: 1,\n not: {\n required: ['event']\n }\n },\n extensions: {},\n extras: {}\n }\n },\n declaration_KHR_interactivity_schema_json_defs_declarationValueSocket: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n },\n declaration_KHR_interactivity_schema_json: {\n title: 'Behavior graph declaration',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n $defs: {\n declarationValueSocket: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['type']\n }\n },\n properties: {\n op: {\n title: 'The operation.',\n type: 'string'\n },\n inputValueSockets: {\n title: 'The extension-defined input value sockets.',\n type: 'object',\n additionalProperties: {\n $ref: '#/$defs/declaration_KHR_interactivity_schema_json_defs_declarationValueSocket'\n },\n minProperties: 1\n },\n outputValueSockets: {\n title: 'The extension-defined output value sockets.',\n type: 'object',\n additionalProperties: {\n $ref: '#/$defs/declaration_KHR_interactivity_schema_json_defs_declarationValueSocket'\n },\n minProperties: 1\n },\n extension: {\n title: 'The name of the extension defining the operation.',\n type: 'string'\n },\n extensions: {},\n extras: {}\n },\n required: ['op'],\n dependentRequired: {\n inputValueSockets: ['extension'],\n outputValueSockets: ['extension']\n }\n },\n node_KHR_interactivity_schema_json: {\n title: 'Behavior graph interactivity node',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n declaration: {\n title: 'The declaration index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n configuration: {\n title: 'The configuration.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n value: {\n title: 'The value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n }\n },\n minProperties: 1\n },\n values: {\n title: 'The input value sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n title: 'The index of the interactivity node.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n socket: {\n title: 'The id of the output value socket of the interactivity node.',\n type: 'string',\n default: 'value'\n },\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The inline input socket value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n dependentRequired: {\n socket: ['node'],\n value: ['type']\n },\n not: {\n required: ['node', 'value']\n },\n anyOf: [\n {\n required: ['type']\n },\n {\n required: ['node']\n }\n ]\n },\n minProperties: 1\n },\n flows: {\n title: 'The output flow sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n title: 'The index of the interactivity node to be activated.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n socket: {\n title:\n 'The id of the input flow socket of the interactivity node to be activated.',\n type: 'string',\n default: 'in'\n },\n extensions: {},\n extras: {}\n },\n required: ['node']\n },\n minProperties: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['declaration']\n }\n }\n },\n 'node.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'node.KHR_interactivity.schema.json',\n title: 'Behavior graph interactivity node',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n declaration: {\n title: 'The declaration index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n configuration: {\n title: 'The configuration.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n value: {\n title: 'The value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n }\n },\n minProperties: 1\n },\n values: {\n title: 'The input value sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n title: 'The index of the interactivity node.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n socket: {\n title: 'The id of the output value socket of the interactivity node.',\n type: 'string',\n default: 'value'\n },\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The inline input socket value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n dependentRequired: {\n socket: ['node'],\n value: ['type']\n },\n not: {\n required: ['node', 'value']\n },\n anyOf: [\n {\n required: ['type']\n },\n {\n required: ['node']\n }\n ]\n },\n minProperties: 1\n },\n flows: {\n title: 'The output flow sockets.',\n type: 'object',\n additionalProperties: {\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n node: {\n title: 'The index of the interactivity node to be activated.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n socket: {\n title:\n 'The id of the input flow socket of the interactivity node to be activated.',\n type: 'string',\n default: 'in'\n },\n extensions: {},\n extras: {}\n },\n required: ['node']\n },\n minProperties: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['declaration'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'type.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'type.KHR_interactivity.schema.json',\n title: 'Behavior graph type',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n signature: {\n title: 'The type signature.',\n type: 'string',\n oneOf: [\n {\n title: 'A boolean value.',\n const: 'bool'\n },\n {\n title: 'A double precision IEEE-754 floating-point scalar value.',\n const: 'float'\n },\n {\n title: 'A two-component vector of float values.',\n const: 'float2'\n },\n {\n title: 'A three-component vector of float values.',\n const: 'float3'\n },\n {\n title: 'A four-component vector of float values.',\n const: 'float4'\n },\n {\n title: 'A double precision IEEE-754 floating-point scalar value.',\n const: 'float2x2'\n },\n {\n title: 'A 3x3 matrix of float values.',\n const: 'float3x3'\n },\n {\n title: 'A 4x4 matrix of float values.',\n const: 'float4x4'\n },\n {\n title: 'A two\u2019s complement 32-bit signed integer scalar value.',\n const: 'int'\n },\n {\n title: 'An opaque reference value.',\n const: 'ref'\n },\n {\n title: 'A value of a custom type.',\n const: 'custom'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n required: ['signature'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'variable.KHR_interactivity': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'variable.KHR_interactivity.schema.json',\n title: 'Behavior graph variable',\n type: 'object',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n type: {\n title: 'The type index.',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n value: {\n title: 'The initial value.',\n type: 'array',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['type'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n KHR_lights_punctual: {\n 'glTF.KHR_lights_punctual': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_lights_punctual glTF Document Extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n lights: {\n type: 'array',\n items: {\n type: 'object',\n $ref: '#/definitions/light_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['lights'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n light_spot_schema_json: {\n title: 'KHR_lights_punctual Light Spot Properties',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n innerConeAngle: {\n type: 'number',\n description: 'Angle in radians from centre of spotlight where falloff begins.',\n default: 0,\n minimum: 0,\n maximum: 1.5707963267948966,\n exclusiveMaximum: true\n },\n outerConeAngle: {\n type: 'number',\n description: 'Angle in radians from centre of spotlight where falloff ends.',\n default: 0.7853981633974483,\n minimum: 0,\n maximum: 1.5707963267948966,\n exclusiveMinimum: true\n },\n extensions: {},\n extras: {}\n }\n },\n light_schema_json: {\n title: 'KHR_lights_punctual Light Properties',\n type: 'object',\n description: 'A directional, point, or spot light.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n description: 'Color of the light source.',\n default: [1, 1, 1]\n },\n intensity: {\n type: 'number',\n description:\n 'Intensity of the light source. `point` and `spot` lights use luminous intensity in candela (lm/sr) while `directional` lights use illuminance in lux (lm/m^2)',\n default: 1,\n minimum: 0\n },\n spot: {\n type: 'object',\n $ref: '#/definitions/light_spot_schema_json'\n },\n type: {\n type: 'string',\n description: 'Specifies the light type.',\n anyOf: [\n {\n enum: ['directional'],\n description:\n 'Directional lights act as though they are infinitely far away and emit light in the direction of the local -z axis. This light type inherits the orientation of the node that it belongs to; position and scale are ignored except for their effect on the inherited node orientation. Because it is at an infinite distance, the light is not attenuated. Its intensity is defined in lumens per metre squared, or lux (lm/m^2).'\n },\n {\n enum: ['point'],\n description:\n \"Point lights emit light in all directions from their position in space; rotation and scale are ignored except for their effect on the inherited node position. The brightness of the light attenuates in a physically correct manner as distance increases from the light's position (i.e. brightness goes like the inverse square of the distance). Point light intensity is defined in candela, which is lumens per square radian (lm/sr).\"\n },\n {\n enum: ['spot'],\n description:\n \"Spot lights emit light in a cone in the direction of the local -z axis. The angle and falloff of the cone is defined using two numbers, the innerConeAngle and outerConeAngle. As with point lights, the brightness also attenuates in a physically correct manner as distance increases from the light's position (i.e. brightness goes like the inverse square of the distance). Spot light intensity refers to the brightness inside the innerConeAngle (and at the location of the light) and is defined in candela, which is lumens per square radian (lm/sr). Engines that don't support two angles for spotlights should use outerConeAngle as the spotlight angle (leaving innerConeAngle to implicitly be 0).\"\n },\n {\n type: 'string'\n }\n ]\n },\n range: {\n type: 'number',\n description:\n \"A distance cutoff at which the light's intensity may be considered to have reached zero.\",\n minimum: 0,\n exclusiveMinimum: true\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['type']\n }\n }\n },\n light: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_lights_punctual Light Properties',\n type: 'object',\n description: 'A directional, point, or spot light.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n color: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n description: 'Color of the light source.',\n default: [1, 1, 1]\n },\n intensity: {\n type: 'number',\n description:\n 'Intensity of the light source. `point` and `spot` lights use luminous intensity in candela (lm/sr) while `directional` lights use illuminance in lux (lm/m^2)',\n default: 1,\n minimum: 0\n },\n spot: {\n type: 'object',\n $ref: '#/definitions/light_spot_schema_json'\n },\n type: {\n type: 'string',\n description: 'Specifies the light type.',\n anyOf: [\n {\n enum: ['directional'],\n description:\n 'Directional lights act as though they are infinitely far away and emit light in the direction of the local -z axis. This light type inherits the orientation of the node that it belongs to; position and scale are ignored except for their effect on the inherited node orientation. Because it is at an infinite distance, the light is not attenuated. Its intensity is defined in lumens per metre squared, or lux (lm/m^2).'\n },\n {\n enum: ['point'],\n description:\n \"Point lights emit light in all directions from their position in space; rotation and scale are ignored except for their effect on the inherited node position. The brightness of the light attenuates in a physically correct manner as distance increases from the light's position (i.e. brightness goes like the inverse square of the distance). Point light intensity is defined in candela, which is lumens per square radian (lm/sr).\"\n },\n {\n enum: ['spot'],\n description:\n \"Spot lights emit light in a cone in the direction of the local -z axis. The angle and falloff of the cone is defined using two numbers, the innerConeAngle and outerConeAngle. As with point lights, the brightness also attenuates in a physically correct manner as distance increases from the light's position (i.e. brightness goes like the inverse square of the distance). Spot light intensity refers to the brightness inside the innerConeAngle (and at the location of the light) and is defined in candela, which is lumens per square radian (lm/sr). Engines that don't support two angles for spotlights should use outerConeAngle as the spotlight angle (leaving innerConeAngle to implicitly be 0).\"\n },\n {\n type: 'string'\n }\n ]\n },\n range: {\n type: 'number',\n description:\n \"A distance cutoff at which the light's intensity may be considered to have reached zero.\",\n minimum: 0,\n exclusiveMinimum: true\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['type'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n light_spot_schema_json: {\n title: 'KHR_lights_punctual Light Spot Properties',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n innerConeAngle: {\n type: 'number',\n description: 'Angle in radians from centre of spotlight where falloff begins.',\n default: 0,\n minimum: 0,\n maximum: 1.5707963267948966,\n exclusiveMaximum: true\n },\n outerConeAngle: {\n type: 'number',\n description: 'Angle in radians from centre of spotlight where falloff ends.',\n default: 0.7853981633974483,\n minimum: 0,\n maximum: 1.5707963267948966,\n exclusiveMinimum: true\n },\n extensions: {},\n extras: {}\n }\n }\n }\n },\n 'light.spot': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_lights_punctual Light Spot Properties',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n innerConeAngle: {\n type: 'number',\n description: 'Angle in radians from centre of spotlight where falloff begins.',\n default: 0,\n minimum: 0,\n maximum: 1.5707963267948966,\n exclusiveMaximum: true\n },\n outerConeAngle: {\n type: 'number',\n description: 'Angle in radians from centre of spotlight where falloff ends.',\n default: 0.7853981633974483,\n minimum: 0,\n maximum: 1.5707963267948966,\n exclusiveMinimum: true\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'node.KHR_lights_punctual': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_lights_punctual glTF Node Extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n light: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The id of the light referenced by this node.'\n },\n extensions: {},\n extras: {}\n },\n required: ['light'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n KHR_materials_anisotropy: {\n 'material.KHR_materials_anisotropy': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_anisotropy glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines anisotropy.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n anisotropyStrength: {\n type: 'number',\n description: 'The anisotropy strength.',\n default: 0,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n \"The anisotropy strength. When the anisotropy texture is present, this value is multiplied by the texture's blue channel.\"\n },\n anisotropyRotation: {\n type: 'number',\n description: 'The rotation of the anisotropy.',\n default: 0,\n gltf_detailedDescription:\n 'The rotation of the anisotropy in tangent, bitangent space, measured in radians counter-clockwise from the tangent. When the anisotropy texture is present, this value provides additional rotation to the vectors in the texture.'\n },\n anisotropyTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The anisotropy texture.',\n gltf_detailedDescription:\n 'The anisotropy texture. Red and green channels represent the anisotropy direction in $[-1, 1]$ tangent, bitangent space, to be rotated by the anisotropy rotation. The blue channel contains strength as $[0, 1]$ to be multiplied by the anisotropy strength.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_materials_clearcoat: {\n 'material.KHR_materials_clearcoat': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_clearcoat glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the clearcoat material layer.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n clearcoatFactor: {\n type: 'number',\n description: 'The clearcoat layer intensity.',\n default: 0,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The clearcoat layer intensity (aka opacity) of the material. A value of 0.0 means the material has no clearcoat layer enabled.'\n },\n clearcoatTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The clearcoat layer intensity texture.',\n gltf_detailedDescription:\n 'The clearcoat layer intensity texture. These values are sampled from the R channel. The values are linear. Use value 1.0 if no texture is supplied.'\n },\n clearcoatRoughnessFactor: {\n type: 'number',\n description: 'The clearcoat layer roughness.',\n default: 0,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription: 'The clearcoat layer roughness of the material.'\n },\n clearcoatRoughnessTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The clearcoat layer roughness texture.',\n gltf_detailedDescription:\n 'The clearcoat layer roughness texture. These values are sampled from the G channel. The values are linear. Use value 1.0 if no texture is supplied.'\n },\n clearcoatNormalTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_material_normalTextureInfo_schema_json'\n }\n ],\n description: 'The clearcoat normal map texture.',\n gltf_detailedDescription:\n 'A tangent space normal map for the clearcoat layer. If desired, this may be a reference to the same normal map used by the base material. If not supplied, no normal mapping is applied to the clear coat layer.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n },\n _specification_2_0_schema_material_normalTextureInfo_schema_json: {\n title: 'Material Normal Texture Info',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n properties: {\n index: {},\n texCoord: {},\n scale: {\n type: 'number',\n description:\n 'The scalar parameter applied to each normal vector of the normal texture.',\n default: 1,\n gltf_detailedDescription:\n '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))`.'\n },\n extensions: {},\n extras: {}\n }\n }\n }\n }\n },\n KHR_materials_diffuse_transmission: {\n 'material.KHR_materials_diffuse_transmission': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_diffuse_transmission glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the diffuse transmission of the material.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n diffuseTransmissionFactor: {\n type: 'number',\n description:\n 'The percentage of light that is diffusely transmitted through the surface.',\n default: 0,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'The percentage of non-specularly reflected light that is transmitted through the surface via a Lambertian diffuse transmission.'\n },\n diffuseTransmissionTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description:\n 'A texture that defines the percentage of light transmitted through the surface.',\n gltf_detailedDescription:\n 'A texture that defines the strength of the diffuse transmission effect, stored in the alpha (A) channel. Will be multiplied by the `diffuseTransmissionFactor` value.'\n },\n diffuseTransmissionColorFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description: 'The color of the transmitted light.',\n default: [1, 1, 1],\n minItems: 3,\n maxItems: 3,\n gltf_detailedDescription: 'The color of the transmitted light.'\n },\n diffuseTransmissionColorTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'A texture that defines the color of the transmitted light',\n gltf_detailedDescription:\n 'A texture that defines the color of the transmitted light, stored in the RGB channels and encoded in sRGB. This texture will be multiplied by the `diffuseTransmissionColorFactor` value.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_materials_dispersion: {\n 'material.KHR_materials_dispersion': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_dispersion glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the strength of dispersion.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n dispersion: {\n type: 'number',\n description:\n 'This parameter defines dispersion in terms of the 20/Abbe number formulation.',\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n 'This parameter defines dispersion in terms of the 20/Abbe number formulation.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_materials_emissive_strength: {\n 'material.KHR_materials_emissive_strength': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_emissive_strength glTF Material Extension',\n type: 'object',\n description: 'glTF extension that adjusts the strength of emissive material properties.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n emissiveStrength: {\n type: 'number',\n description:\n \"The strength adjustment to be multiplied with the material's emissive value.\",\n default: 1,\n minimum: 0\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_materials_ior: {\n 'material.KHR_materials_ior': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_ior glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the index of refraction of a material.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n ior: {\n type: 'number',\n description: 'The index of refraction.',\n default: 1.5,\n oneOf: [\n {\n minimum: 0,\n maximum: 0\n },\n {\n minimum: 1\n }\n ],\n gltf_detailedDescription:\n 'The index of refraction (IOR) is a measured physical number usually in the range between 1 and 2 that determines how much the path of light is bent, or refracted, when entering a material. It also influences the ratio between reflected and transmitted light, calculated from the Fresnel equations.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_materials_iridescence: {\n 'material.KHR_materials_iridescence': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_iridescence glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines an iridescence effect.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n iridescenceFactor: {\n type: 'number',\n description: 'The iridescence intensity factor.',\n default: 0,\n minimum: 0,\n maximum: 1\n },\n iridescenceTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The iridescence intensity texture.',\n gltf_detailedDescription:\n 'The iridescence intensity texture. The values are sampled from the R channel. These values are linear. If a texture is not given, a value of `1.0` **MUST** be assumed. If other channels are present (GBA), they are ignored for iridescence intensity calculations.'\n },\n iridescenceIor: {\n type: 'number',\n description: 'The index of refraction of the dielectric thin-film layer.',\n default: 1.3,\n minimum: 1\n },\n iridescenceThicknessMinimum: {\n type: 'number',\n description: 'The minimum thickness of the thin-film layer given in nanometers.',\n default: 100,\n minimum: 0,\n gltf_detailedDescription:\n 'The minimum thickness of the thin-film layer given in nanometers.'\n },\n iridescenceThicknessMaximum: {\n type: 'number',\n description: 'The maximum thickness of the thin-film layer given in nanometers.',\n default: 400,\n minimum: 0,\n gltf_detailedDescription:\n 'The maximum thickness of the thin-film layer given in nanometers.'\n },\n iridescenceThicknessTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The thickness texture of the thin-film layer.',\n gltf_detailedDescription:\n 'The thickness texture of the thin-film layer to linearly interpolate between the minimum and maximum thickness given by the corresponding properties, where a sampled value of `0.0` represents the minimum thickness and a sampled value of `1.0` represents the maximum thickness. The values are sampled from the G channel. These values are linear. If a texture is not given, the maximum thickness **MUST** be assumed. If other channels are present (RBA), they are ignored for thickness calculations.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_materials_sheen: {\n 'material.KHR_materials_sheen': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_sheen glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the sheen material model.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n sheenColorFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n description: 'Color of the sheen layer (in linear space).',\n default: [0, 0, 0]\n },\n sheenColorTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The sheen color (RGB) texture.',\n gltf_detailedDescription:\n 'The sheen color (RGB) texture. Stored in channel RGB, the sheen color is in sRGB transfer function.'\n },\n sheenRoughnessFactor: {\n type: 'number',\n description: 'The sheen layer roughness.',\n default: 0,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription: 'The sheen layer roughness of the material.'\n },\n sheenRoughnessTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The sheen roughness (Alpha) texture.',\n gltf_detailedDescription:\n 'The sheen roughness (Alpha) texture. Stored in alpha channel, the roughness value is in linear space.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_materials_specular: {\n 'material.KHR_materials_specular': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_specular glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the strength of the specular reflection.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n specularFactor: {\n type: 'number',\n description: 'The strength of the specular reflection.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n 'This parameter scales the amount of specular reflection on non-metallic surfaces. It has no effect on metals.'\n },\n specularTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'A texture that defines the specular factor in the alpha channel.',\n gltf_detailedDescription:\n 'A texture that defines the specular factor in the alpha channel. This will be multiplied by specularFactor.'\n },\n specularColorFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0\n },\n description: 'The F0 RGB color of the specular reflection.',\n default: [1, 1, 1],\n minItems: 3,\n maxItems: 3,\n gltf_detailedDescription:\n 'This is an additional RGB color parameter that tints the specular reflection of non-metallic surfaces. At grazing angles, the reflection still blends to white, and the parameter has not effect on metals. The value is linear.'\n },\n specularColorTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'A texture that defines the F0 color of the specular reflection.',\n gltf_detailedDescription:\n 'A texture that defines the specular color in the RGB channels (encoded in sRGB). This will be multiplied by specularColorFactor.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_materials_transmission: {\n 'material.KHR_materials_transmission': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_transmission glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the optical transmission of a material.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n transmissionFactor: {\n type: 'number',\n description: 'The base percentage of light transmitted through the surface.',\n default: 0,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n \"The base percentage of non-specularly reflected light that is transmitted through the surface. i.e. of the light that penetrates a surface (isn't specularly reflected), this is the percentage that is transmitted and not diffusely re-emitted.\"\n },\n transmissionTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description:\n 'A texture that defines the transmission percentage of the surface, sampled from the R channel. These values are linear, and will be multiplied by transmissionFactor.',\n gltf_detailedDescription:\n \"A texture that defines the transmission percentage of the surface, sampled from the R channel. These values are linear, and will be multiplied by transmissionFactor. This indicates the percentage of non-specularly reflected light that is transmitted through the surface. i.e. of the light that penetrates a surface (isn't specularly reflected), this is the percentage is transmitted and not diffusely re-emitted.\"\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_materials_unlit: {\n 'material.KHR_materials_unlit': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_unlit glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the unlit material model.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_materials_variants: {\n 'glTF.KHR_materials_variants': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_variants glTF Document Extension',\n type: 'object',\n description: 'glTF extension that defines a material variations for mesh primitives',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n variants: {\n type: 'array',\n items: {\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n description: 'An object defining a valid material variant',\n gltf_detailedDescription: 'An object defining a valid material variant',\n properties: {\n name: {\n type: 'string',\n description: 'The name of the material variant',\n gltf_detailedDescription: 'The name of the material variant.'\n },\n extras: {},\n extensions: {}\n },\n required: ['name']\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['variants'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n }\n }\n },\n 'mesh.primitive.KHR_materials_variants': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_variants glTF Mesh Primitive Extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n mappings: {\n type: 'array',\n description: 'A list of material to variant mappings',\n gltf_detailedDescription:\n 'An array of object values that associate an indexed material to a set of variants.',\n items: {\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n variants: {\n uniqueItems: true,\n type: 'array',\n description: 'An array of variant index values.',\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n minItems: 1,\n gltf_detailedDescription:\n \"An array of index values that reference variants defined in the glTF root's extension object.\"\n },\n material: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The material associated with the set of variants.',\n gltf_detailedDescription:\n 'A reference to the material associated with the given array of variants.'\n },\n name: {\n type: 'string',\n description: 'The user-defined name of this variant material mapping.',\n gltf_detailedDescription:\n 'The optional user-defined name of this variant material mapping. This is not necessarily unique.'\n },\n extras: {},\n extensions: {}\n },\n required: ['variants', 'material']\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['mappings'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n KHR_materials_volume: {\n 'material.KHR_materials_volume': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_materials_volume glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the parameters for the volume of a material.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n thicknessFactor: {\n type: 'number',\n minimum: 0,\n default: 0,\n description: 'Thickness of the volume.',\n gltf_detailedDescription:\n 'The thickness of the volume beneath the surface. The value is given in the coordinate space of the mesh. A value greater than 0 turns the mesh into a volume with a homogeneous medium, enabling refraction, absorption and subsurface scattering. The actual value may be ignored by renderers that are able to derive the thickness from the mesh (ray tracer).'\n },\n thicknessTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description:\n 'Texture that defines the thickness of the volume, stored in the G channel.',\n gltf_detailedDescription:\n 'A texture that defines the thickness of the volume, stored in the G channel. Will be multiplied by thicknessFactor.'\n },\n attenuationDistance: {\n type: 'number',\n minimum: 0,\n exclusiveMinimum: true,\n description:\n 'Average distance that light travels in the medium before interacting with a particle.',\n gltf_detailedDescription:\n 'Density of the medium given as the average distance that light travels in the medium before interacting with a particle. The value is given in world space. When undefined, the value is assumed to be infinite.'\n },\n attenuationColor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description:\n 'Color that white light turns into due to absorption when reaching the attenuation distance.',\n default: [1, 1, 1],\n minItems: 3,\n maxItems: 3\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n KHR_meshopt_compression: {\n 'buffer.KHR_meshopt_compression': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_meshopt_compression buffer extension',\n type: 'object',\n description: 'Compressed data for bufferView.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n fallback: {\n type: 'boolean',\n description:\n \"Set to true to indicate that the buffer is only referenced by bufferViews that have KHR_meshopt_compression extension and as such doesn't need to be loaded.\",\n default: false\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'bufferView.KHR_meshopt_compression': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_meshopt_compression bufferView extension',\n type: 'object',\n description: 'Compressed data for bufferView.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n buffer: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the buffer with compressed data.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset into the buffer in bytes.',\n minimum: 0,\n default: 0\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the compressed data in bytes.',\n minimum: 1\n },\n byteStride: {\n type: 'integer',\n description: 'The stride, in bytes.',\n minimum: 2,\n maximum: 256\n },\n count: {\n type: 'integer',\n description: 'The number of elements.',\n minimum: 1\n },\n mode: {\n type: 'string',\n description: 'The compression mode.',\n enum: ['ATTRIBUTES', 'TRIANGLES', 'INDICES']\n },\n filter: {\n type: 'string',\n description: 'The compression filter.',\n enum: ['NONE', 'OCTAHEDRAL', 'QUATERNION', 'EXPONENTIAL', 'COLOR'],\n default: 'NONE'\n },\n extensions: {},\n extras: {}\n },\n required: ['buffer', 'byteLength', 'byteStride', 'count', 'mode'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n KHR_node_hoverability: {\n 'node.KHR_node_hoverability': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n title: 'KHR_node_hoverability glTF Node Extension',\n type: 'object',\n description: \"glTF extension that defines node's hoverability.\",\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n hoverable: {\n type: 'boolean',\n description: 'Specifies whether the node is hoverable.',\n default: true,\n gltf_detailedDescription:\n 'Specifies whether the node is hoverable. A value of false means that the node and all its children do not respond to hover actions.'\n },\n extensions: {},\n extras: {}\n },\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_node_selectability: {\n 'node.KHR_node_selectability': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n title: 'KHR_node_selectability glTF Node Extension',\n type: 'object',\n description: \"glTF extension that defines node's selectability.\",\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n selectable: {\n type: 'boolean',\n description: 'Specifies whether the node is selectable.',\n default: true,\n gltf_detailedDescription:\n 'Specifies whether the node is selectable. A value of false means that the node and all its children do not respond to select actions.'\n },\n extensions: {},\n extras: {}\n },\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_node_visibility: {\n 'node.KHR_node_visibility': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_node_visibility glTF Node Extension',\n type: 'object',\n description: \"glTF extension that defines node's visibility.\",\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n visible: {\n type: 'boolean',\n description: 'Specifies whether the node is visible.',\n default: true,\n gltf_detailedDescription:\n 'Specifies whether the node is visible. A value of false means that the node and all its children are hidden.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_texture_basisu: {\n 'texture.KHR_texture_basisu': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_texture_basisu glTF Texture Extension',\n type: 'object',\n description:\n 'glTF extension to specify textures using the KTX v2 images with Basis Universal supercompression.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n source: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the image which points to a KTX v2 resource with Basis Universal supercompression.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n KHR_texture_transform: {\n 'textureInfo.KHR_texture_transform': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_texture_transform glTF TextureInfo Extension',\n type: 'object',\n description:\n 'glTF extension that enables shifting and scaling UV coordinates on a per-texture basis',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n offset: {\n type: 'array',\n description:\n 'The offset of the UV coordinate origin as a factor of the texture dimensions.',\n items: {\n type: 'number'\n },\n minItems: 2,\n maxItems: 2,\n default: [0, 0]\n },\n rotation: {\n type: 'number',\n description:\n 'Rotate the UVs by this many radians counter-clockwise around the origin.',\n default: 0\n },\n scale: {\n type: 'array',\n description: 'The scale factor applied to the components of the UV coordinates.',\n items: {\n type: 'number'\n },\n minItems: 2,\n maxItems: 2,\n default: [1, 1]\n },\n texCoord: {\n type: 'integer',\n description:\n 'Overrides the textureInfo texCoord value if supplied, and if this extension is supported.',\n minimum: 0\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n KHR_xmp_json_ld: {\n KHR_xmp_json_ld: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_xmp_json_ld glTF Extension',\n type: 'object',\n description: 'References an XMP packet listed in `KHR_xmp_json_ld glTF extension`',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n packet: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The id of the XMP packet referenced.'\n },\n extensions: {},\n extras: {}\n },\n required: ['packet'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'glTF.KHR_xmp_json_ld': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'KHR_xmp_json_ld glTF Document Extension',\n type: 'object',\n description: 'Metadata about the glTF asset.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n packets: {\n type: 'array',\n items: {\n $ref: '#/definitions/packet'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['packets'],\n definitions: {\n packet: {\n type: 'object',\n properties: {\n '@context': {\n type: 'object',\n additionalProperties: {\n type: 'string'\n },\n description:\n 'Dictionary mapping XMP namespace names to the URI where they are defined'\n }\n },\n additionalProperties: true,\n description:\n 'Dictionary of XMP metadata properties. Property names take the form `xmp_namespace_name:property_name`',\n required: ['@context']\n },\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n }\n },\n Vendor: {\n ADOBE_materials_clearcoat_specular: {\n 'glTF.ADOBE_materials_clearcoat_specular': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'ADOBE_materials_clearcoat_ior glTF extension',\n type: 'object',\n description: 'glTF extension that defines the colour tint of the clearcoat.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n clearcoatIor: {\n type: 'number',\n description: \"The clearcoat layer's index of refraction.\",\n default: 1.5,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription: \"The clearcoat layer's index of refraction.\"\n },\n clearcoatSpecularFactor: {\n type: 'number',\n description: \"The clearcoat layer's specular intensity.\",\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription: \"The clearcoat layer's specular intensity.\"\n },\n clearcoatSpecularTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The clearcoat layer specular intensity texture.',\n gltf_detailedDescription:\n \"The clearcoat layer's specular intensity texture. These values are sampled from the B channel.\"\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n ADOBE_materials_clearcoat_tint: {\n 'material.ADOBE_materials_clearcoat_tint': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'ADOBE_materials_clearcoat_tint glTF Material Extension',\n type: 'object',\n description: 'glTF extension that defines the colour tint of the clearcoat.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n clearcoatTintFactor: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n description: 'The transmittance of the clearcoat layer.',\n default: [1, 1, 1],\n minItems: 3,\n maxItems: 3,\n gltf_detailedDescription:\n 'The colour of light allowed to be transmitted through the clearcoat layer of the material. A value of black means no light passes through. A value of white means all light passes through. These values are linear.'\n },\n clearcoatTintTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description: 'The clearcoat layer tint texture.',\n gltf_detailedDescription:\n 'The clearcoat layer tint texture. The values are stored in sRGB. Assume white colour if no texture is supplied.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n ADOBE_materials_thin_transparency: {\n 'glTF.ADOBE_materials_thin_transparency': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'ADOBE_materials_thin_transparency glTF extension',\n type: 'object',\n description:\n 'glTF extension that defines properties to model physically plausible optical transparency.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n transmissionFactor: {\n type: 'number',\n description: 'The base percentage of light transmitted through the surface.',\n default: 1,\n minimum: 0,\n maximum: 1,\n gltf_detailedDescription:\n \"The base percentage of non-specularly reflected light that is transmitted through the surface. i.e. of the light that penetrates a surface (isn't specularly reflected), what percentage is transmitted and not diffusely re-emitted from the surface?\"\n },\n transmissionTexture: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_textureInfo_schema_json'\n }\n ],\n description:\n 'A greyscale texture that defines the transmission percentage of the surface. This will be multiplied by transmissionFactor.',\n gltf_detailedDescription:\n \"The percentage of non-specularly reflected light that is transmitted through the surface. i.e. of the light that penetrates a surface (isn't specularly reflected), what percentage is transmitted and not diffusely re-emitted from the surface? This will be multiplied by the transmissionFactor.\"\n },\n ior: {\n type: 'number',\n description: 'The index of refraction of the material.',\n default: 1.33,\n minimum: 1,\n maximum: 4,\n gltf_detailedDescription:\n 'The average index of refraction of the material, ignoring differences between frequencies of light. Default of 1.33 is for liquid water.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_textureInfo_schema_json: {\n title: 'Texture Info',\n type: 'object',\n description: 'Reference to a texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n },\n texCoord: {\n type: 'integer',\n description:\n \"The set index of texture's TEXCOORD attribute used for texture coordinate mapping.\",\n default: 0,\n minimum: 0,\n gltf_detailedDescription:\n '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.'\n },\n extensions: {},\n extras: {}\n },\n required: ['index']\n }\n }\n }\n },\n AGI_articulations: {\n articulation: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Articulation',\n type: 'object',\n description: 'A model articulation definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this articulation. The articulation name must be unique within this model. Articulation names may not contain spaces.',\n minLength: 1\n },\n stages: {\n type: 'array',\n description:\n 'An array of stages, each of which defines a degree of freedom of movement.',\n items: {\n $ref: '#/definitions/articulation_stage_schema_json'\n },\n minItems: 1\n },\n pointingVector: {\n type: 'array',\n description:\n 'The local forward vector for the associated node, for the purpose of pointing at a target or other object.',\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'stages'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n articulation_stage_schema_json: {\n title: 'Articulation Stage',\n type: 'object',\n description: 'One stage of a model articulation definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this articulation stage. The articulation stage name must be unique only within the containing articulation. Articulation Stage names may not contain spaces.',\n minLength: 1\n },\n type: {\n description: 'The type of motion applied by this articulation stage.',\n anyOf: [\n {\n enum: ['xTranslate'],\n description: \"The stage value is a translation along the node's X axis.\"\n },\n {\n enum: ['yTranslate'],\n description: \"The stage value is a translation along the node's Y axis.\"\n },\n {\n enum: ['zTranslate'],\n description: \"The stage value is a translation along the node's Z axis.\"\n },\n {\n enum: ['xRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +X axis.\"\n },\n {\n enum: ['yRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +Y axis.\"\n },\n {\n enum: ['zRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +Z axis.\"\n },\n {\n enum: ['xScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's X axis.\"\n },\n {\n enum: ['yScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's Y axis.\"\n },\n {\n enum: ['zScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's Z axis.\"\n },\n {\n enum: ['uniformScale'],\n description: 'The stage value is uniform scaling factor to apply to the node.'\n },\n {\n type: 'string'\n }\n ]\n },\n minimumValue: {\n type: 'number',\n description:\n 'The minimum value for the range of motion of this articulation stage.'\n },\n maximumValue: {\n type: 'number',\n description:\n 'The maximum value for the range of motion of this articulation stage.'\n },\n initialValue: {\n type: 'number',\n description: 'The initial value for this articulation stage.'\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'type', 'minimumValue', 'maximumValue', 'initialValue']\n }\n }\n },\n 'articulation.stage': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Articulation Stage',\n type: 'object',\n description: 'One stage of a model articulation definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this articulation stage. The articulation stage name must be unique only within the containing articulation. Articulation Stage names may not contain spaces.',\n minLength: 1\n },\n type: {\n description: 'The type of motion applied by this articulation stage.',\n anyOf: [\n {\n enum: ['xTranslate'],\n description: \"The stage value is a translation along the node's X axis.\"\n },\n {\n enum: ['yTranslate'],\n description: \"The stage value is a translation along the node's Y axis.\"\n },\n {\n enum: ['zTranslate'],\n description: \"The stage value is a translation along the node's Z axis.\"\n },\n {\n enum: ['xRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +X axis.\"\n },\n {\n enum: ['yRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +Y axis.\"\n },\n {\n enum: ['zRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +Z axis.\"\n },\n {\n enum: ['xScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's X axis.\"\n },\n {\n enum: ['yScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's Y axis.\"\n },\n {\n enum: ['zScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's Z axis.\"\n },\n {\n enum: ['uniformScale'],\n description: 'The stage value is uniform scaling factor to apply to the node.'\n },\n {\n type: 'string'\n }\n ]\n },\n minimumValue: {\n type: 'number',\n description: 'The minimum value for the range of motion of this articulation stage.'\n },\n maximumValue: {\n type: 'number',\n description: 'The maximum value for the range of motion of this articulation stage.'\n },\n initialValue: {\n type: 'number',\n description: 'The initial value for this articulation stage.'\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'type', 'minimumValue', 'maximumValue', 'initialValue'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'gltf.AGI_articulations': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'AGI_articulations glTF extension',\n type: 'object',\n description:\n 'glTF Extension that defines metadata for applying external analysis or effects to a model.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n articulations: {\n type: 'array',\n description: 'An array of articulations.',\n items: {\n $ref: '#/definitions/articulation_schema_json'\n },\n minItems: 1,\n gltf_detailedDescription:\n 'An array of articulations. An articulation indicates a named range of motion available to one or more nodes within the model.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n articulation_stage_schema_json: {\n title: 'Articulation Stage',\n type: 'object',\n description: 'One stage of a model articulation definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this articulation stage. The articulation stage name must be unique only within the containing articulation. Articulation Stage names may not contain spaces.',\n minLength: 1\n },\n type: {\n description: 'The type of motion applied by this articulation stage.',\n anyOf: [\n {\n enum: ['xTranslate'],\n description: \"The stage value is a translation along the node's X axis.\"\n },\n {\n enum: ['yTranslate'],\n description: \"The stage value is a translation along the node's Y axis.\"\n },\n {\n enum: ['zTranslate'],\n description: \"The stage value is a translation along the node's Z axis.\"\n },\n {\n enum: ['xRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +X axis.\"\n },\n {\n enum: ['yRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +Y axis.\"\n },\n {\n enum: ['zRotate'],\n description:\n \"The stage value is a counter-clockwise rotation in degrees about the node's +Z axis.\"\n },\n {\n enum: ['xScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's X axis.\"\n },\n {\n enum: ['yScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's Y axis.\"\n },\n {\n enum: ['zScale'],\n description:\n \"The stage value is a scaling factor to multiply along the node's Z axis.\"\n },\n {\n enum: ['uniformScale'],\n description: 'The stage value is uniform scaling factor to apply to the node.'\n },\n {\n type: 'string'\n }\n ]\n },\n minimumValue: {\n type: 'number',\n description:\n 'The minimum value for the range of motion of this articulation stage.'\n },\n maximumValue: {\n type: 'number',\n description:\n 'The maximum value for the range of motion of this articulation stage.'\n },\n initialValue: {\n type: 'number',\n description: 'The initial value for this articulation stage.'\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'type', 'minimumValue', 'maximumValue', 'initialValue']\n },\n articulation_schema_json: {\n title: 'Articulation',\n type: 'object',\n description: 'A model articulation definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this articulation. The articulation name must be unique within this model. Articulation names may not contain spaces.',\n minLength: 1\n },\n stages: {\n type: 'array',\n description:\n 'An array of stages, each of which defines a degree of freedom of movement.',\n items: {\n $ref: '#/definitions/articulation_stage_schema_json'\n },\n minItems: 1\n },\n pointingVector: {\n type: 'array',\n description:\n 'The local forward vector for the associated node, for the purpose of pointing at a target or other object.',\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'stages']\n }\n }\n },\n 'node.AGI_articulations': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'AGI_articulations glTF Node extension',\n type: 'object',\n description:\n \"glTF Extension for an individual node in a glTF model, to associate it with the model's root AGI_articulations object.\",\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n isAttachPoint: {\n type: 'boolean',\n description:\n \"Set to true to indicate that this node's origin and orientation act as an attach point for external objects, analysis, or effects.\"\n },\n articulationName: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description: 'The name of an Articulation that applies to this node.',\n gltf_detailedDescription:\n 'The name of an Articulation that applies to this node. Articulations are defined in the glTF root extension. A single articulation may apply to more than one node, and its stage values set the transform for all assigned nodes simultaneously.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n AGI_stk_metadata: {\n 'gltf.AGI_stk_metadata': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'AGI_stk_metadata glTF extension',\n type: 'object',\n description: 'glTF Extension that defines metadata for use with STK (Systems Tool Kit).',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n solarPanelGroups: {\n type: 'array',\n description: 'An array of solar panel groups.',\n items: {\n $ref: '#/definitions/solarPanelGroup_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n solarPanelGroup_schema_json: {\n title: 'Solar Panel Group',\n type: 'object',\n description: 'A solar panel group definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this solar panel group. The group name must be unique within this model, and may not contain spaces.',\n minLength: 1\n },\n efficiency: {\n type: 'number',\n description:\n 'The percentage, from 0.0 to 100.0, of how efficiently the solar cells convert solar to electrical energy.',\n minimum: 0,\n maximum: 100\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'efficiency']\n }\n }\n },\n 'node.AGI_stk_metadata': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'AGI_stk_metadata glTF Node extension',\n type: 'object',\n description:\n \"glTF Extension for an individual node in a glTF model, to associate it with the model's root AGI_stk_metadata object.\",\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n solarPanelGroupName: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description: 'The name of a Solar Panel Group that includes this node.',\n gltf_detailedDescription:\n 'The name of a Solar Panel Group that includes this node. Solar Panel Groups are defined in the glTF root extension.'\n },\n noObscuration: {\n type: 'boolean',\n description:\n \"Set to true to indicate that this node's geometry does not obscure any sensors' view in the STK Sensor Obscuration tool.\"\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n solarPanelGroup: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'Solar Panel Group',\n type: 'object',\n description: 'A solar panel group definition.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n pattern: '^[^\\\\s]+$',\n description:\n 'The name of this solar panel group. The group name must be unique within this model, and may not contain spaces.',\n minLength: 1\n },\n efficiency: {\n type: 'number',\n description:\n 'The percentage, from 0.0 to 100.0, of how efficiently the solar cells convert solar to electrical energy.',\n minimum: 0,\n maximum: 100\n },\n extensions: {},\n extras: {}\n },\n required: ['name', 'efficiency'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n CESIUM_primitive_outline: {\n 'primitive.CESIUM_primitive_outline': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'CESIUM_primitive_outline glTF primitive extension',\n type: 'object',\n description:\n \"glTF extension for indicating that some edges of a primitive's triangles should be outlined.\",\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n indices: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n \"The index of the accessor providing the list of highlighted lines at the edge of this primitive's triangles.\"\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_lights_ies: {\n 'glTF.EXT_lights_ies': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_lights_ies glTF extension',\n type: 'object',\n description: 'glTF extension that enables the use of IES light profiles.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n lights: {\n type: 'array',\n items: {\n type: 'object',\n $ref: '#/definitions/lightProfile_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['lights'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n lightProfile_schema_json: {\n title: 'lightProfile',\n type: 'object',\n description: 'An IES light profile.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the light profile.',\n format: 'iri-reference',\n gltf_detailedDescription:\n 'The URI (or IRI) of the light profile. 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.'\n },\n mimeType: {\n anyOf: [\n {\n const: 'application/x-ies-lm-63'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The light profile's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the bufferView that contains the IES light profile. This field **MUST NOT** be defined when `uri` is defined.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ]\n }\n }\n },\n lightProfile: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'lightProfile',\n type: 'object',\n description: 'An IES light profile.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the light profile.',\n format: 'iri-reference',\n gltf_detailedDescription:\n 'The URI (or IRI) of the light profile. 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.'\n },\n mimeType: {\n anyOf: [\n {\n const: 'application/x-ies-lm-63'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The light profile's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the bufferView that contains the IES light profile. This field **MUST NOT** be defined when `uri` is defined.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'node.EXT_lights_ies': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_lights_ies node extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n light: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The id of the light profile referenced by this node.'\n },\n multiplier: {\n type: 'number',\n minimum: 0,\n default: 1,\n description: \"Non-negative factor to scale the light's intensity.\"\n },\n color: {\n type: 'array',\n items: {\n type: 'number',\n minimum: 0,\n maximum: 1\n },\n minItems: 3,\n maxItems: 3,\n default: [1, 1, 1],\n description: \"RGB value for the light's color in linear space.\"\n },\n extensions: {},\n extras: {}\n },\n required: ['light'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_lights_image_based: {\n 'glTF.EXT_lights_image_based': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_lights_image_based glTF extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n lights: {\n type: 'array',\n items: {\n type: 'object',\n $ref: '#/definitions/light_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['lights'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n light_schema_json: {\n title: 'light',\n type: 'object',\n description: 'An image-based lighting environment.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n rotation: {\n type: 'array',\n items: {\n type: 'number',\n minimum: -1,\n maximum: 1\n },\n minItems: 4,\n maxItems: 4,\n description: 'Quaternion that represents the rotation of the IBL environment.',\n default: [0, 0, 0, 1]\n },\n intensity: {\n type: 'number',\n description: 'Brightness multiplier for environment.',\n default: 1,\n minimum: 0\n },\n irradianceCoefficients: {\n description:\n 'Declares spherical harmonic coefficients for irradiance up to l=2. This is a 9x3 array.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3\n },\n minItems: 9,\n maxItems: 9\n },\n specularImages: {\n description:\n 'Declares an array of the first N mips of the prefiltered cubemap. Each mip is, in turn, defined with an array of 6 images, one for each cube face. i.e. this is an Nx6 array.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'integer',\n minimum: 0\n },\n minItems: 6,\n maxItems: 6\n },\n minItems: 1\n },\n specularImageSize: {\n type: 'integer',\n description:\n 'The dimension (in pixels) of the first specular mip. This is needed to determine, pre-load, the total number of mips needed.',\n minimum: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['irradianceCoefficients', 'specularImages', 'specularImageSize']\n }\n }\n },\n light: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'light',\n type: 'object',\n description: 'An image-based lighting environment.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n rotation: {\n type: 'array',\n items: {\n type: 'number',\n minimum: -1,\n maximum: 1\n },\n minItems: 4,\n maxItems: 4,\n description: 'Quaternion that represents the rotation of the IBL environment.',\n default: [0, 0, 0, 1]\n },\n intensity: {\n type: 'number',\n description: 'Brightness multiplier for environment.',\n default: 1,\n minimum: 0\n },\n irradianceCoefficients: {\n description:\n 'Declares spherical harmonic coefficients for irradiance up to l=2. This is a 9x3 array.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 3,\n maxItems: 3\n },\n minItems: 9,\n maxItems: 9\n },\n specularImages: {\n description:\n 'Declares an array of the first N mips of the prefiltered cubemap. Each mip is, in turn, defined with an array of 6 images, one for each cube face. i.e. this is an Nx6 array.',\n type: 'array',\n items: {\n type: 'array',\n items: {\n type: 'integer',\n minimum: 0\n },\n minItems: 6,\n maxItems: 6\n },\n minItems: 1\n },\n specularImageSize: {\n type: 'integer',\n description:\n 'The dimension (in pixels) of the first specular mip. This is needed to determine, pre-load, the total number of mips needed.',\n minimum: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['irradianceCoefficients', 'specularImages', 'specularImageSize'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n }\n }\n },\n 'scene.EXT_lights_image_based': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_lights_imageBased scene extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n light: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The id of the light referenced by this scene.'\n },\n extensions: {},\n extras: {}\n },\n required: ['light'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_mesh_gpu_instancing: {\n 'glTF.EXT_mesh_gpu_instancing': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_mesh_gpu_instancing glTF extension',\n type: 'object',\n description: 'glTF extension defines instance attributes for a node with a mesh.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n attributes: {\n type: 'object',\n description:\n 'A dictionary object, where each key corresponds to instance attribute and each value is the index of the accessor containing attribute\\'s data. Attributes TRANSLATION, ROTATION, SCALE define instance transformation. For \"TRANSLATION\" the values are FLOAT_VEC3\\'s specifying translation along the x, y, and z axes. For \"ROTATION\" the values are VEC4\\'s specifying rotation as a quaternion in the order (x, y, z, w), where w is the scalar, with component type `FLOAT` or normalized integer. For \"SCALE\" the values are FLOAT_VEC3\\'s specifying scaling factors along the x, y, and z axes.',\n minProperties: 1,\n additionalProperties: {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_mesh_manifold: {\n 'mesh.EXT_mesh_manifold': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_mesh_manifold extension',\n type: 'object',\n description: 'glTF extension defines manifoldness for a mesh.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n manifoldPrimitive: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_mesh_primitive_schema_json'\n }\n ]\n },\n mergeIndices: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor that contains the vertex sparse indices for merging into a manifold.'\n },\n mergeValues: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor that contains the vertex sparse values for merging into a manifold.'\n },\n extensions: {},\n extras: {}\n },\n required: ['manifoldPrimitive'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n _specification_2_0_schema_mesh_primitive_schema_json: {\n title: 'Mesh Primitive',\n type: 'object',\n description: 'Geometry to be rendered with the given material.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n attributes: {\n type: 'object',\n description:\n \"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.\",\n minProperties: 1,\n additionalProperties: {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n },\n indices: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the accessor that contains the vertex indices.',\n gltf_detailedDescription:\n '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.',\n gltf_webgl: '`drawElements()` when defined and `drawArrays()` otherwise.'\n },\n material: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the material to apply to this primitive when rendering.'\n },\n mode: {\n description: 'The topology type of primitives to render.',\n default: 4,\n anyOf: [\n {\n const: 0,\n description: 'POINTS',\n type: 'integer'\n },\n {\n const: 1,\n description: 'LINES',\n type: 'integer'\n },\n {\n const: 2,\n description: 'LINE_LOOP',\n type: 'integer'\n },\n {\n const: 3,\n description: 'LINE_STRIP',\n type: 'integer'\n },\n {\n const: 4,\n description: 'TRIANGLES',\n type: 'integer'\n },\n {\n const: 5,\n description: 'TRIANGLE_STRIP',\n type: 'integer'\n },\n {\n const: 6,\n description: 'TRIANGLE_FAN',\n type: 'integer'\n },\n {\n type: 'integer'\n }\n ]\n },\n targets: {\n type: 'array',\n description: 'An array of morph targets.',\n items: {\n type: 'object',\n minProperties: 1,\n additionalProperties: {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n },\n description:\n \"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.\"\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n gltf_webgl: '`drawElements()` and `drawArrays()`',\n required: ['attributes']\n }\n }\n }\n },\n EXT_mesh_primitive_edge_visibility: {\n lineString: {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'lineString',\n title: 'Line String',\n type: 'object',\n description:\n 'Represents one or more line strings to be drawn as edges of a triangle mesh',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n indices: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor that contains the vertex indices for the line strings',\n gltf_detailedDescription:\n 'The index of the accessor that contains the vertex indices. The accessor **MUST** have `SCALAR` type and an unsigned integer component type. The indices are permitted to include the maximal index value for the component type, indicating the start of a new line string.'\n },\n material: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of a glTF material with which the edges are to be drawn.',\n gltf_detailedDescription:\n \"The index of a glTF material with which the edges are to be drawn. If omitted, the edges are drawn using the same material as the edges encoded by the extension's `visibility` field, or else that of the triangle mesh primitive.\"\n },\n extensions: {},\n extras: {}\n },\n required: ['indices'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'primitive.EXT_mesh_primitive_edge_visibility': {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n title: 'EXT_mesh_primitive_edge_visibility glTF Mesh Primitive Extension',\n type: 'object',\n description:\n 'glTF extension encoding the visibility of the edges of a triangles primitive',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n visibility: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor encoding the visibility of each triangle edge as a bitfield with two bits per edge.',\n gltf_detailedDescription:\n \"An edge visibility of 0 indicates the edge is never drawn; 1 indicates the edge is only drawn in silhouette; 2 indicates a 'hard' (always-drawn) edge; and 3 indicates a repeated occurrence of a 'hard' edge.\"\n },\n material: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of a glTF material with which the edges are to be drawn.',\n gltf_detailedDescription:\n 'The index of a glTF material with which the edges are to be drawn. If omitted, the edges are drawn using the same material as the triangle mesh primitive.'\n },\n silhouetteNormals: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor encoding the pair of outward-facing normals for the two faces sharing each silhouette edge (visibility 1) encoded in `visibility`.',\n gltf_detailedDescription:\n 'This property **MUST** be defined if and only if `visibility` encodes at least one edge with visibility value `1`.'\n },\n lineStrings: {\n type: 'array',\n description: 'An array of edges encoded as line strings.',\n gltf_detailedDescription:\n 'Edges encoded as line strings **MUST NOT** also be encoded by the `visibility` property.',\n items: {\n $ref: '#/$defs/lineString_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n lineString_schema_json: {\n title: 'Line String',\n type: 'object',\n description:\n 'Represents one or more line strings to be drawn as edges of a triangle mesh',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n indices: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the accessor that contains the vertex indices for the line strings',\n gltf_detailedDescription:\n 'The index of the accessor that contains the vertex indices. The accessor **MUST** have `SCALAR` type and an unsigned integer component type. The indices are permitted to include the maximal index value for the component type, indicating the start of a new line string.'\n },\n material: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of a glTF material with which the edges are to be drawn.',\n gltf_detailedDescription:\n \"The index of a glTF material with which the edges are to be drawn. If omitted, the edges are drawn using the same material as the edges encoded by the extension's `visibility` field, or else that of the triangle mesh primitive.\"\n },\n extensions: {},\n extras: {}\n },\n required: ['indices']\n }\n }\n }\n },\n EXT_mesh_primitive_restart: {\n EXT_mesh_primitive_restart: {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'EXT_mesh_primitive_restart',\n title: 'EXT_mesh_primitive_restart glTF Mesh Primitive Extension',\n type: 'object',\n description:\n 'glTF extension enabling the use of primitive restart values in index buffers',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n primitiveGroups: {\n type: 'array',\n items: {\n $ref: '#/$defs/primitiveGroup_schema_json'\n },\n minItems: 1,\n description:\n 'The list of groups of primitives that can be drawn using a single index buffer with primitive restart'\n },\n extensions: {},\n extras: {}\n },\n required: ['primitiveGroups'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n primitiveGroup_schema_json: {\n title: 'Primitive Group',\n type: 'object',\n description:\n 'A group of primitives that can be drawn together using a single index buffer containing restart values',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n primitives: {\n type: 'array',\n items: {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1,\n description:\n 'The indices of the primitives that will be combined and drawn using a single set of indices',\n gltf_detailedDescription:\n 'The indices of the primitives that will be combined and drawn using a single set of indices. All properties except for `indices` (e.g., `material`, `mode`, and `attributes`) will be obtained from the first primitive in the list, and all other primitives in the list **MUST** have identical values for those properties. The `mode` must be TRIANGLE_FAN, TRIANGLE_STRIP, LINE_LOOP, or LINE_STRIP.'\n },\n indices: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the accessor that contains the vertex indices',\n gltf_detailedDescription:\n 'The index of the accessor that contains the vertex indices. The accessor **MUST** have `SCALAR` type and an unsigned integer component type. The indices are permitted to include the maximal index value for the component type, indicating the start of a new primitive.'\n },\n extensions: {},\n extras: {}\n },\n required: ['primitives', 'indices']\n }\n }\n },\n primitiveGroup: {\n $schema: 'https://json-schema.org/draft/2020-12/schema',\n $id: 'primitiveGroup',\n title: 'Primitive Group',\n type: 'object',\n description:\n 'A group of primitives that can be drawn together using a single index buffer containing restart values',\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n primitives: {\n type: 'array',\n items: {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n },\n uniqueItems: true,\n minItems: 1,\n description:\n 'The indices of the primitives that will be combined and drawn using a single set of indices',\n gltf_detailedDescription:\n 'The indices of the primitives that will be combined and drawn using a single set of indices. All properties except for `indices` (e.g., `material`, `mode`, and `attributes`) will be obtained from the first primitive in the list, and all other primitives in the list **MUST** have identical values for those properties. The `mode` must be TRIANGLE_FAN, TRIANGLE_STRIP, LINE_LOOP, or LINE_STRIP.'\n },\n indices: {\n allOf: [\n {\n $ref: '#/$defs/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the accessor that contains the vertex indices',\n gltf_detailedDescription:\n 'The index of the accessor that contains the vertex indices. The accessor **MUST** have `SCALAR` type and an unsigned integer component type. The indices are permitted to include the maximal index value for the component type, indicating the start of a new primitive.'\n },\n extensions: {},\n extras: {}\n },\n required: ['primitives', 'indices'],\n $defs: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/$defs/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/$defs/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_meshopt_compression: {\n 'buffer.EXT_meshopt_compression': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_meshopt_compression buffer extension',\n type: 'object',\n description: 'Compressed data for bufferView.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n fallback: {\n type: 'boolean',\n description:\n \"Set to true to indicate that the buffer is only referenced by bufferViews that have EXT_meshopt_compression extension and as such doesn't need to be loaded.\",\n default: false\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'bufferView.EXT_meshopt_compression': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_meshopt_compression bufferView extension',\n type: 'object',\n description: 'Compressed data for bufferView.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n buffer: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the buffer with compressed data.'\n },\n byteOffset: {\n type: 'integer',\n description: 'The offset into the buffer in bytes.',\n minimum: 0,\n default: 0\n },\n byteLength: {\n type: 'integer',\n description: 'The length of the compressed data in bytes.',\n minimum: 1\n },\n byteStride: {\n type: 'integer',\n description: 'The stride, in bytes.',\n minimum: 2,\n maximum: 256\n },\n count: {\n type: 'integer',\n description: 'The number of elements.',\n minimum: 1\n },\n mode: {\n type: 'string',\n description: 'The compression mode.',\n enum: ['ATTRIBUTES', 'TRIANGLES', 'INDICES']\n },\n filter: {\n type: 'string',\n description: 'The compression filter.',\n enum: ['NONE', 'OCTAHEDRAL', 'QUATERNION', 'EXPONENTIAL'],\n default: 'NONE'\n },\n extensions: {},\n extras: {}\n },\n required: ['buffer', 'byteLength', 'byteStride', 'count', 'mode'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_texture_astc: {\n 'texture.EXT_texture_astc': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_texture_astc glTF Texture Extension',\n type: 'object',\n description:\n 'glTF extension to specify textures using the KTX v2 images with ASTC compression.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n source: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the image which points to a KTX v2 resource with ASTC compression.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n EXT_texture_webp: {\n 'glTF.EXT_texture_webp': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'EXT_texture_webp glTF extension',\n type: 'object',\n description: 'glTF extension to specify textures using the WebP image format.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n source: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the WebP image.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n FB_geometry_metadata: {\n 'scene.FB_geometry_metadata': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'FB_geometry_metadata scene extension',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n vertexCount: {\n type: 'number',\n description: 'The number of distinct vertices recursively contained in this scene.',\n default: 0,\n minimum: 0\n },\n primitiveCount: {\n type: 'number',\n description: 'The number of distinct primitives recursively contained in this scene.',\n default: 0,\n minimum: 0\n },\n sceneBounds: {\n description:\n 'The bounding box of this scene, in static geometry scene-space coordinates.',\n allOf: [\n {\n $ref: '#/definitions/sceneBounds_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n sceneBounds_schema_json: {\n title: 'minimum and maximum bounding box extent',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n min: {\n type: 'array',\n items: {\n type: 'number'\n },\n description:\n 'The bounding box corner with the numerically lowest scene-space coordinates',\n minItems: 3,\n maxItems: 3\n },\n max: {\n type: 'array',\n items: {\n type: 'number'\n },\n description:\n 'The bounding box corner with the numerically highest scene-space coordinates',\n minItems: 3,\n maxItems: 3\n },\n extensions: {},\n extras: {}\n },\n required: ['min', 'max']\n }\n }\n },\n sceneBounds: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'minimum and maximum bounding box extent',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n min: {\n type: 'array',\n items: {\n type: 'number'\n },\n description:\n 'The bounding box corner with the numerically lowest scene-space coordinates',\n minItems: 3,\n maxItems: 3\n },\n max: {\n type: 'array',\n items: {\n type: 'number'\n },\n description:\n 'The bounding box corner with the numerically highest scene-space coordinates',\n minItems: 3,\n maxItems: 3\n },\n extensions: {},\n extras: {}\n },\n required: ['min', 'max'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n GRIFFEL_bim_data: {\n GRIFFEL_bim_data: {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'GRIFFEL_bim_data Serializable Object',\n type: 'object',\n description:\n 'Contains same properties as embedded version plus properties to node map. Used only when data is saved in a separate file.',\n properties: {\n nodeProperties: {\n type: 'array',\n items: {\n type: 'object',\n description: 'Node properties and type.',\n properties: {\n node: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of the node in glTF file.'\n },\n properties: {\n type: 'array',\n uniqueItems: true,\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property in the root level collection.'\n },\n minItems: 1,\n description: 'Collection of indices properties of the node.'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of the type of the node.'\n }\n },\n required: ['node'],\n anyOf: [\n {\n required: ['properties']\n },\n {\n required: ['type']\n }\n ]\n },\n minItems: 1,\n description:\n 'Node type and instance properties map. Used only when data is saved in a separate file.'\n },\n propertyValues: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n description: 'Property value.'\n },\n minItems: 1,\n description: 'Collection of unique property values.'\n },\n propertyNames: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n description: 'Property name.',\n minLength: 1\n },\n minItems: 1,\n description: 'Collection of unique property names.'\n },\n properties: {\n type: 'array',\n uniqueItems: true,\n items: {\n title: 'Node Property',\n type: 'object',\n description:\n 'Key value pair - unique property (instance or type) attached to nodes. Name and value are referenced by index of corresponding root level collection.',\n properties: {\n name: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property name in the root level collection.'\n },\n value: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property value in the root level collection.'\n }\n },\n required: ['name', 'value']\n },\n minItems: 1,\n description: 'Collection of unique property name - property value pairs.'\n },\n types: {\n type: 'array',\n items: {\n title: 'Node Type',\n type: 'object',\n description: 'Set of properties which are common for many nodes.',\n properties: {\n name: {\n type: 'string',\n description: 'Name of the type.'\n },\n properties: {\n type: 'array',\n uniqueItems: true,\n item: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property in the root level collection.'\n },\n description:\n 'Collection of indices which point to corresponding properties of the type.',\n minItems: 1\n }\n },\n required: ['properties']\n },\n minItems: 1,\n description: 'Collection of types - common sets of properties for many nodes.'\n }\n },\n required: ['nodeProperties', 'propertyValues', 'propertyNames', 'properties'],\n definitions: {\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'glTF.GRIFFEL_bim_data': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'GRIFFEL_bim_data glTF Extension',\n type: 'object',\n description: 'Domain specific properties for glTF nodes.',\n properties: {\n propertyValues: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n description: 'Property value.'\n },\n minItems: 1,\n description: 'Collection of unique property values.'\n },\n propertyNames: {\n type: 'array',\n uniqueItems: true,\n items: {\n type: 'string',\n description: 'Property name.',\n minLength: 1\n },\n minItems: 1,\n description: 'Collection of unique property names.'\n },\n properties: {\n type: 'array',\n uniqueItems: true,\n items: {\n title: 'Node Property',\n type: 'object',\n description:\n 'Key value pair - unique property (instance or type) attached to nodes. Name and value are referenced by index of corresponding root level collection.',\n properties: {\n name: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property name in the root level collection.'\n },\n value: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property value in the root level collection.'\n }\n },\n required: ['name', 'value']\n },\n minItems: 1,\n description: 'Collection of unique property name - property value pairs.'\n },\n types: {\n type: 'array',\n items: {\n title: 'Node Type',\n type: 'object',\n description: 'Set of properties which are common for many nodes.',\n properties: {\n name: {\n type: 'string',\n description: 'Name of the type.'\n },\n properties: {\n type: 'array',\n uniqueItems: true,\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property in the root level collection.'\n },\n description:\n 'Collection of indices which point to corresponding properties of the type.',\n minItems: 1\n }\n },\n required: ['properties']\n },\n minItems: 1,\n description: 'Collection of types - common sets of properties for many nodes.'\n }\n },\n required: ['propertyValues', 'propertyNames', 'properties'],\n definitions: {\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'node.GRIFFEL_bim_data': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'GRIFFEL_bim_data Node Extension',\n type: 'object',\n description:\n 'References type and instance properties of the node and/or buffer where those properties can be found by node ID.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'Index of the buffer view which points to the buffer with the data for this node.'\n },\n properties: {\n type: 'array',\n uniqueItems: true,\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Index of a property in the root level collection.'\n },\n minItems: 1,\n description:\n 'Collection of indices which point to corresponding instance properties of the node. (Instance properties are unique to the node. They override the same type properties.)'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'Index of a type in the root level collection. (Type is a set of properties which are common for many nodes.)'\n },\n extensions: {},\n extras: {}\n },\n anyOf: [\n {\n required: ['bufferView']\n },\n {\n required: ['properties']\n },\n {\n required: ['type']\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_accessor_timed: {\n MPEG_accessor_timed: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_accessor_timed',\n type: 'object',\n description: 'glTF extension to specify timed accessor format formats',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n immutable: {\n type: 'boolean',\n default: true,\n description: 'This flag indicates if the accessor information may change over time',\n gltf_detailedDescription:\n 'This flag equal to false indicates the accessor information componentType, type, and normalized may change over time. The changing values of componentType, type and normalized are provided through accessor information header. This flag equal to true indicates the accessor information componentType, type, and normalized do not change over time and are not present in the accessor information header. Note that count, max, min, and byteOffset are expected to change and are always included as part of the timed accessor information header.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'This property provides the index in the bufferViews array to a bufferView element that points to the timed accessor information header. ',\n gltf_detailedDescription:\n 'This property provides the index in the bufferViews array to a bufferView element that points to the timed accessor information header as described in ISO/IEC 23090-14:Table 8. byteLength field of the bufferView element indicates the size of the timed accessor information header. The buffer properties in the bufferView element shall point to the same buffer as the bufferView in the containing accessor object. In the absence of the bufferView attribute, it shall be assumed that the buffer has no dynamic header. In that case, the immutable flag shall be present and shall be set to True.'\n },\n suggestedUpdateRate: {\n type: 'number',\n default: 25,\n minimum: 0,\n description:\n 'This property provides the frequency at which the renderer is recommended to poll the underlying buffer for new data.',\n gltf_detailedDescription:\n 'The suggestedUpdateRate provides the frequency at which the renderer is recommended to poll the underlying buffer for new data. The rate is provided in number of changes per second.'\n },\n extensions: {},\n extras: {}\n },\n if: {\n properties: {\n immutable: {\n const: false\n }\n },\n required: ['immutable']\n },\n then: {\n required: ['bufferView']\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_animation_timing: {\n MPEG_animation_timing: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_animation_timing',\n type: 'object',\n description:\n 'glTF extension to specify timing information that allow to synchronized animation with media',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n accessor: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n \"Provides a reference to `accessor`, by specifying the accessor's index in accessors array, that describes the buffer where the animation timing data will be made available. The sample format shall be as defined in ISO/IEC 23090-14:7.6.3. The componentType of the referenced accessor shall be `BYTE` and the type shall be `SCALAR`.\"\n },\n extensions: {},\n extras: {}\n },\n required: ['accessor'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_audio_spatial: {\n 'MPEG_audio_spatial.listener': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_audio_spatial.listener',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n description: 'A unique identifier',\n gltf_detailedDescription: 'A unique identifier of the audio listener in the scene.',\n type: 'integer'\n },\n extensions: {},\n extras: {}\n },\n required: ['id'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'MPEG_audio_spatial.reverb.property': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_audio_spatial.reverb.property',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n frequency: {\n description: 'Frequency for RT60 and DSR values',\n gltf_detailedDescription: 'Frequency for the provided RT60 and DSR values.',\n type: 'number'\n },\n RT60: {\n description:\n 'Specifies RT60 value in `second` for the frequency provided in the `frequency` field',\n gltf_detailedDescription:\n 'Specifies RT60 value in `second` for the frequency provided in the `frequency` field',\n type: 'number'\n },\n DSR: {\n description:\n 'Specifies Diffuse-to-Source Ratio value in dB for the frequency provided in the `frequency` field.',\n gltf_detailedDescription:\n 'Specifies Diffuse-to-Source Ratio value in dB for the frequency provided in the `frequency` field. For details see ISO/IEC 23090-14:5.4.1.4.',\n type: 'number'\n },\n extensions: {},\n extras: {}\n },\n required: ['frequency', 'RT60', 'DSR'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'MPEG_audio_spatial.reverb': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_audio_spatial.reverb',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n description: 'A unique identifier',\n gltf_detailedDescription:\n 'A unique identifier of the audio reverb unit in the scene.',\n id: 'integer'\n },\n bypass: {\n description:\n 'Indicates if the reverb unit can be bypassed if the audio renderer does not support it.',\n gltf_detailedDescription:\n 'Indicates if the reverb unit can be bypassed if the audio renderer does not support it.',\n type: 'boolean',\n default: true\n },\n properties: {\n description: 'An array of property items',\n gltf_detailedDescription:\n 'Array of items that contains reverb property objects describing reverb unit specific parameters',\n type: 'array',\n items: {\n $ref: '#/definitions/MPEG_audio_spatial_reverb_property_schema_json'\n },\n minItems: 1\n },\n predelay: {\n description: 'Delay of audio source.',\n gltf_detailedDescription:\n 'Delay in seconds from onset of source to onset of late reverberation for which DSR is provided.',\n type: 'number',\n default: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['id', 'properties'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n MPEG_audio_spatial_reverb_property_schema_json: {\n title: 'MPEG_audio_spatial.reverb.property',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n frequency: {\n description: 'Frequency for RT60 and DSR values',\n gltf_detailedDescription: 'Frequency for the provided RT60 and DSR values.',\n type: 'number'\n },\n RT60: {\n description:\n 'Specifies RT60 value in `second` for the frequency provided in the `frequency` field',\n gltf_detailedDescription:\n 'Specifies RT60 value in `second` for the frequency provided in the `frequency` field',\n type: 'number'\n },\n DSR: {\n description:\n 'Specifies Diffuse-to-Source Ratio value in dB for the frequency provided in the `frequency` field.',\n gltf_detailedDescription:\n 'Specifies Diffuse-to-Source Ratio value in dB for the frequency provided in the `frequency` field. For details see ISO/IEC 23090-14:5.4.1.4.',\n type: 'number'\n },\n extensions: {},\n extras: {}\n },\n required: ['frequency', 'RT60', 'DSR']\n }\n }\n },\n MPEG_audio_spatial: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_audio_spatial',\n type: 'object',\n description: 'glTF extension to specify spatial audio support',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n sources: {\n type: 'array',\n items: {\n $ref: '#/definitions/MPEG_audio_spatial_source_schema_json'\n },\n description: 'An array of audio sources.',\n gltf_detailedDescription: 'An array of audio sources.',\n minItems: 1\n },\n listener: {\n $ref: '#/definitions/MPEG_audio_spatial_listener_schema_json',\n description: 'An audio listener item',\n gltf_detailedDescription:\n 'A listener object that places an audio listener node in the scene that should be attached to a parent camera node. The audio listener characteristics depend on the available audio output devices.'\n },\n reverbs: {\n type: 'array',\n items: {\n $ref: '#/definitions/MPEG_audio_spatial_reverb_schema_json'\n },\n description: 'An array of reverb items',\n gltf_detailedDescription: 'An array of reverb items',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n MPEG_audio_spatial_source_schema_json: {\n title: 'MPEG_audio_spatial.source',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n description: 'A unique identifier',\n gltf_detailedDescription: 'A unique identifier of the audio source in the scene.',\n type: 'integer'\n },\n type: {\n description: 'A type of the audio source',\n gltf_detailedDescription:\n 'Indicates the type of the audio source. `type` value equal to `Object` indicates mono object. `type` value equal to `HOA` indicates HOA object',\n type: 'string',\n enum: ['Object', 'HOA']\n },\n pregain: {\n description: 'A level-adjustment of the audio source',\n gltf_detailedDescription:\n 'Provides a level-adjustment in dB for the signal associated with the source.',\n type: 'number',\n default: 0,\n minimum: 0\n },\n playbackSpeed: {\n description: 'Playback speed of the audio source',\n gltf_detailedDescription:\n 'Playback speed of the audio signal. A value of 1.0 corresponds to playback at normal speed. The value shall be between 0.5 and 2.0.',\n type: 'number',\n minimum: 0.5,\n maximum: 2,\n default: 1\n },\n attenuation: {\n description: 'A function used to calculate the attenuation of the audio source.',\n gltf_detailedDescription:\n 'Indicates the function used to calculate the attenuation of the audio signal based on the distance to the source. attenuation value equal to `noAttenuation` indicates no attenuation function should be used. attenuation value equal to `inverseDistance` indicates inverse distance function should be used. attenuation value equal to `linearDistance` indicates linear distance function should be used. attenuation value equal to `exponentialDistance` indicates exponential distance function should be used. attenuation value equal to `custom` indicates custom function should be used. The definition of `custom` function is outside of the scope of ISO/IEC 23090-14. The attenuation functions and their parameters are defined in ISO/IEC 23090-14:Annex D.',\n enum: [\n 'noAttenuation',\n 'inverseDistance',\n 'linearDistance',\n 'exponentialDistance',\n 'custom'\n ],\n default: 'linearDistance'\n },\n attenuationParameters: {\n description: 'An array of attenuation parameters',\n gltf_detailedDescription:\n 'An array of parameters that are input to the attenuation function. The semantics of these parameters depend on the attenuation function itself and are defined in ISO/IEC 23090-14',\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 1\n },\n referenceDistance: {\n description: 'A distance in meters.',\n gltf_detailedDescription:\n 'Provides the distance in meters for which the distance gain is implicitly included in the source signal after application of pregain. When type equals \u2018HOA\u2019 the element shall not be present.',\n type: 'number',\n default: 1,\n minimum: 1\n },\n accessors: {\n description: 'An array of accessors that describe the audio source',\n gltf_detailedDescription:\n 'An array of accessor references, by specifying the accessors indices in accessors array, that describe the buffers where the decoded audio will be made available.',\n type: 'array',\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n minItems: 1\n },\n reverbFeed: {\n description: 'An array of pointers to reverb units',\n gltf_detailedDescription:\n 'Provides one or more pointers to reverb units, optionally extended by a floating point scaling factor. A reverb unit represents a reverberation audio processor that is configured by the metadata from a single reverb object. Typically, a reverb object represents reverberation properties of a single room.',\n type: 'array',\n items: {\n type: 'integer'\n }\n },\n reverbFeedGain: {\n description: 'An array of gain values',\n gltf_detailedDescription:\n 'Provides an array of gain [dB] values to be applied to the source\u2019s signal(s) when feeding it to the corresponding reverbFeed. The array shall have the same number of elements as the reverbFeed array field.',\n type: 'array',\n items: {\n type: 'number'\n }\n },\n extensions: {},\n extras: {}\n },\n required: ['id', 'type', 'accessors']\n },\n MPEG_audio_spatial_listener_schema_json: {\n title: 'MPEG_audio_spatial.listener',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n description: 'A unique identifier',\n gltf_detailedDescription:\n 'A unique identifier of the audio listener in the scene.',\n type: 'integer'\n },\n extensions: {},\n extras: {}\n },\n required: ['id']\n },\n MPEG_audio_spatial_reverb_property_schema_json: {\n title: 'MPEG_audio_spatial.reverb.property',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n frequency: {\n description: 'Frequency for RT60 and DSR values',\n gltf_detailedDescription: 'Frequency for the provided RT60 and DSR values.',\n type: 'number'\n },\n RT60: {\n description:\n 'Specifies RT60 value in `second` for the frequency provided in the `frequency` field',\n gltf_detailedDescription:\n 'Specifies RT60 value in `second` for the frequency provided in the `frequency` field',\n type: 'number'\n },\n DSR: {\n description:\n 'Specifies Diffuse-to-Source Ratio value in dB for the frequency provided in the `frequency` field.',\n gltf_detailedDescription:\n 'Specifies Diffuse-to-Source Ratio value in dB for the frequency provided in the `frequency` field. For details see ISO/IEC 23090-14:5.4.1.4.',\n type: 'number'\n },\n extensions: {},\n extras: {}\n },\n required: ['frequency', 'RT60', 'DSR']\n },\n MPEG_audio_spatial_reverb_schema_json: {\n title: 'MPEG_audio_spatial.reverb',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n description: 'A unique identifier',\n gltf_detailedDescription:\n 'A unique identifier of the audio reverb unit in the scene.',\n id: 'integer'\n },\n bypass: {\n description:\n 'Indicates if the reverb unit can be bypassed if the audio renderer does not support it.',\n gltf_detailedDescription:\n 'Indicates if the reverb unit can be bypassed if the audio renderer does not support it.',\n type: 'boolean',\n default: true\n },\n properties: {\n description: 'An array of property items',\n gltf_detailedDescription:\n 'Array of items that contains reverb property objects describing reverb unit specific parameters',\n type: 'array',\n items: {\n $ref: '#/definitions/MPEG_audio_spatial_reverb_property_schema_json'\n },\n minItems: 1\n },\n predelay: {\n description: 'Delay of audio source.',\n gltf_detailedDescription:\n 'Delay in seconds from onset of source to onset of late reverberation for which DSR is provided.',\n type: 'number',\n default: 0\n },\n extensions: {},\n extras: {}\n },\n required: ['id', 'properties']\n }\n }\n },\n 'MPEG_audio_spatial.source': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_audio_spatial.source',\n type: 'object',\n description: '',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n id: {\n description: 'A unique identifier',\n gltf_detailedDescription: 'A unique identifier of the audio source in the scene.',\n type: 'integer'\n },\n type: {\n description: 'A type of the audio source',\n gltf_detailedDescription:\n 'Indicates the type of the audio source. `type` value equal to `Object` indicates mono object. `type` value equal to `HOA` indicates HOA object',\n type: 'string',\n enum: ['Object', 'HOA']\n },\n pregain: {\n description: 'A level-adjustment of the audio source',\n gltf_detailedDescription:\n 'Provides a level-adjustment in dB for the signal associated with the source.',\n type: 'number',\n default: 0,\n minimum: 0\n },\n playbackSpeed: {\n description: 'Playback speed of the audio source',\n gltf_detailedDescription:\n 'Playback speed of the audio signal. A value of 1.0 corresponds to playback at normal speed. The value shall be between 0.5 and 2.0.',\n type: 'number',\n minimum: 0.5,\n maximum: 2,\n default: 1\n },\n attenuation: {\n description: 'A function used to calculate the attenuation of the audio source.',\n gltf_detailedDescription:\n 'Indicates the function used to calculate the attenuation of the audio signal based on the distance to the source. attenuation value equal to `noAttenuation` indicates no attenuation function should be used. attenuation value equal to `inverseDistance` indicates inverse distance function should be used. attenuation value equal to `linearDistance` indicates linear distance function should be used. attenuation value equal to `exponentialDistance` indicates exponential distance function should be used. attenuation value equal to `custom` indicates custom function should be used. The definition of `custom` function is outside of the scope of ISO/IEC 23090-14. The attenuation functions and their parameters are defined in ISO/IEC 23090-14:Annex D.',\n enum: [\n 'noAttenuation',\n 'inverseDistance',\n 'linearDistance',\n 'exponentialDistance',\n 'custom'\n ],\n default: 'linearDistance'\n },\n attenuationParameters: {\n description: 'An array of attenuation parameters',\n gltf_detailedDescription:\n 'An array of parameters that are input to the attenuation function. The semantics of these parameters depend on the attenuation function itself and are defined in ISO/IEC 23090-14',\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 1\n },\n referenceDistance: {\n description: 'A distance in meters.',\n gltf_detailedDescription:\n 'Provides the distance in meters for which the distance gain is implicitly included in the source signal after application of pregain. When type equals \u2018HOA\u2019 the element shall not be present.',\n type: 'number',\n default: 1,\n minimum: 1\n },\n accessors: {\n description: 'An array of accessors that describe the audio source',\n gltf_detailedDescription:\n 'An array of accessor references, by specifying the accessors indices in accessors array, that describe the buffers where the decoded audio will be made available.',\n type: 'array',\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n minItems: 1\n },\n reverbFeed: {\n description: 'An array of pointers to reverb units',\n gltf_detailedDescription:\n 'Provides one or more pointers to reverb units, optionally extended by a floating point scaling factor. A reverb unit represents a reverberation audio processor that is configured by the metadata from a single reverb object. Typically, a reverb object represents reverberation properties of a single room.',\n type: 'array',\n items: {\n type: 'integer'\n }\n },\n reverbFeedGain: {\n description: 'An array of gain values',\n gltf_detailedDescription:\n 'Provides an array of gain [dB] values to be applied to the source\u2019s signal(s) when feeding it to the corresponding reverbFeed. The array shall have the same number of elements as the reverbFeed array field.',\n type: 'array',\n items: {\n type: 'number'\n }\n },\n extensions: {},\n extras: {}\n },\n required: ['id', 'type', 'accessors'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_buffer_circular: {\n MPEG_buffer_circular: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_buffer_circular',\n type: 'object',\n description:\n 'In order to support timed data access, the buffer element is extended to provide functionality of a circular buffer. The `MPEG_buffer_circular` may be included as part of the `buffer`. `buffer` that provides access to timed data shall include the `MPEG_buffer_circular` extension.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n count: {\n type: 'integer',\n default: 2,\n minimum: 2,\n description: 'This provides the recommended number of sequential buffer frames.',\n gltf_detailedDescription:\n 'The count field provides the recommended number of sequential buffer frames to be offered by a circular buffer to the presentation engine. This information may be used by the application to setup the circular buffer towards the presentation engine.'\n },\n media: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the media entry in the `MPEG_media` extension',\n gltf_detailedDescription:\n 'Index of the media entry in the `MPEG_media` extension, which is used as the source for the input data to the buffer.'\n },\n tracks: {\n type: 'array',\n items: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n minItems: 1,\n description: 'The array of indices of tracks the `MPEG_media` entry.',\n gltf_detailedDescription:\n 'The array of indices of a track of a media entry, indicated by media and listed by `MPEG_media` extension, used as the source for the input data to this buffer. When tracks element is not present, the media pipeline should perform the necessary processing of all tracks of the `MPEG_media` entry, referenced by the media property, to generate the requested data format of the buffer. When tracks array contains multiple tracks, the media pipeline should perform the necessary processing of all referenced tracks to generate the requested data format of the buffer. If the track attribute is present and there are multiple `alternatives` (i.e. indicating equivalent content) in the referenced media, then the selected track shall be present in all alternatives. When more than one track is listed by tracks element, the corresponding buffer is in active state and the application is informed that the corresponding tracks are needed as source for the input buffer, then the application can optimize the delivery of multiple tracks.'\n },\n extensions: {},\n extras: {}\n },\n required: ['media'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_media: {\n 'MPEG_media.media.alternative': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_media.media.alternative',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n format: 'iri-reference',\n description: 'The uri of the media.',\n gltf_detailedDescription:\n 'The uri of the media. Relative paths are relative to the .gltf file. If the reference media is a real-time media stream, then the uri may follow the referencing scheme defined in ISO/IEC 23090-14:Annex C. If the tracks element is present, the last part of the URI (i.e. the stream identifier such as the mid) is provided by the tracks information.',\n gltf_uriType: 'media'\n },\n mimeType: {\n description: \"The media's MIME type.\",\n gltf_detailedDescription:\n \"The media's MIME type. The profiles parameter, as defined in IETF RFC6381, may be included as a part of the mimeType to specify the profile of the media container. (e.g. the profiles parameter indicates the DASH profile when the uri specifies a DASH manifest)\",\n anyOf: [\n {\n type: 'string',\n enum: ['video/mp4', 'application/dash+xml']\n },\n {\n type: 'string'\n }\n ]\n },\n tracks: {\n type: 'array',\n description:\n 'An array of items that lists the components of the referenced media source that are to be used.',\n gltf_detailedDescription:\n 'An array of items that lists the components of the referenced media source that are to be used. These can e.g. be a track number of an ISOBMFF, a DASH/CMAF SwitchingSet identifier, or a media id of an RTP stream.',\n items: {\n $ref: '#/definitions/MPEG_media_media_alternative_track_schema_json'\n },\n minItems: 1\n },\n extraParams: {\n type: 'object',\n description: 'An object that may contain any additional media-specific parameters.',\n gltf_detailedDescription:\n 'An object that may contain any additional media-specific parameters.'\n },\n extensions: {},\n extras: {}\n },\n required: ['uri', 'mimeType'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n MPEG_media_media_alternative_track_schema_json: {\n title: 'MPEG_media.media.alternative.track',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n track: {\n type: 'string',\n description: 'URL fragment to access the track within the media alternative.',\n gltf_detailedDescription:\n 'URL fragment to access the track within the media alternative. The URL structure is defined for the following formats: DASH: Using MPD Anchors (URL fragments) as defined in ISO/IEC 23009-1:2019:Annex C (Table C.1); ISOBMFF: URL fragments as specified in ISO/IEC 14496-12:2020:Annex C. SDP: stream identifier of the media stream as defined in ISO/IEC 20390-14:Annex C. When V3C data is referenced in the scene description document as in item in MPEG_media.alternative.tracks and the referenced item corresponds to an ISBOBMFF track, the following applies: for single-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C bitstream track. for multi-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C atlas track.'\n },\n codecs: {\n type: 'string',\n description:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track.',\n gltf_detailedDescription:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track. When the track includes different types of codecs (e.g. the AdaptationSet includes Representations with different codecs), the codecs parameter may be signaled by comma-separated list of values of the codecs.'\n },\n extensions: {},\n extras: {}\n },\n required: ['track', 'codecs']\n }\n }\n },\n 'MPEG_media.media.alternative.track': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_media.media.alternative.track',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n track: {\n type: 'string',\n description: 'URL fragment to access the track within the media alternative.',\n gltf_detailedDescription:\n 'URL fragment to access the track within the media alternative. The URL structure is defined for the following formats: DASH: Using MPD Anchors (URL fragments) as defined in ISO/IEC 23009-1:2019:Annex C (Table C.1); ISOBMFF: URL fragments as specified in ISO/IEC 14496-12:2020:Annex C. SDP: stream identifier of the media stream as defined in ISO/IEC 20390-14:Annex C. When V3C data is referenced in the scene description document as in item in MPEG_media.alternative.tracks and the referenced item corresponds to an ISBOBMFF track, the following applies: for single-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C bitstream track. for multi-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C atlas track.'\n },\n codecs: {\n type: 'string',\n description:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track.',\n gltf_detailedDescription:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track. When the track includes different types of codecs (e.g. the AdaptationSet includes Representations with different codecs), the codecs parameter may be signaled by comma-separated list of values of the codecs.'\n },\n extensions: {},\n extras: {}\n },\n required: ['track', 'codecs'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n },\n 'MPEG_media.media': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_media.media.',\n type: 'object',\n description: 'Media used to create a texture, audio source, or any other media type.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'User-defined name of the media. '\n },\n startTime: {\n type: 'number',\n minimum: 0,\n default: 0,\n description:\n 'The startTime gives the time at which the rendering of the timed media will be in seconds. ',\n gltf_detailedDescription:\n 'The startTime gives the time at which the rendering of the timed media will begin. The value is provided in seconds. In the case of timed textures, the static image should be rendered as a texture until the startTime is reached. A startTime of 0 means the presentation time of the current scene. Either startTime or autoplay shall be present in glTF description.'\n },\n startTimeOffset: {\n type: 'number',\n minimum: 0,\n default: 0,\n description:\n 'The startTimeOffset indicates the time offset into the source, starting from which the timed media is generated.',\n gltf_detailedDescription:\n 'The startTimeOffset indicates the time offset into the source, starting from which the timed media shall be generated. The value is provided in seconds, where 0 corresponds to the start of the source.'\n },\n endTimeOffset: {\n type: 'number',\n minimum: 0,\n description:\n 'The endTimeOffset indicates the time offset into the source, up to which the timed media is generated. ',\n gltf_detailedDescription:\n 'The endTimeOffset indicates the end time offset into the source, up to which the timed media shall be generated. The value is provided in seconds. If not present, the endTimeOffset corresponds to the end of the source media.'\n },\n autoplay: {\n type: 'boolean',\n default: true,\n description: 'Specifies that the media start playing as soon as it is ready.',\n gltf_detailedDescription:\n 'Specifies that the media will start playing as soon as it is ready. Either startTime or autoplay shall be present for a media item description. Rendering of all media for which the autoplay flag is set to true should happen simultaneously.'\n },\n autoplayGroup: {\n type: 'integer',\n description:\n 'Specifies that playback starts simultaneously for all media sources with the autoplay flag set to true.',\n gltf_detailedDescription:\n 'All media that have the same autoplayGroup identifier shall start playing synchronously as soon as all autoplayGroup media are ready. autoplayGroup is only allowed if autoplay is set to true.'\n },\n loop: {\n type: 'boolean',\n default: false,\n description: 'Specifies that the media start over again, every time it is finished.',\n gltf_detailedDescription:\n 'Specifies that the media will start over again, every time it is finished. The timestamp in the buffer shall be continuously increasing when the media source loops, i.e. the playback duration prior to looping shall be added to the media time after looping.'\n },\n controls: {\n type: 'boolean',\n default: false,\n description: 'Specifies that media controls should be exposed to end user',\n gltf_detailedDescription:\n 'Specifies that media controls should be exposed to end user (such as a play/pause button etc).'\n },\n alternatives: {\n type: 'array',\n description:\n 'An array of alternatives of the same media (e.g. different video code used)',\n gltf_detailedDescription:\n 'An array of items that indicate alternatives of the same media (e.g. different video codecs used). The client could select items (i.e. uri and track) included in alternatives depending on the client\u2019s capability.',\n items: {\n $ref: '#/definitions/MPEG_media_media_alternative_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['alternatives'],\n oneOf: [\n {\n required: ['startTime']\n },\n {\n required: ['autoplay']\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n MPEG_media_media_alternative_track_schema_json: {\n title: 'MPEG_media.media.alternative.track',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n track: {\n type: 'string',\n description: 'URL fragment to access the track within the media alternative.',\n gltf_detailedDescription:\n 'URL fragment to access the track within the media alternative. The URL structure is defined for the following formats: DASH: Using MPD Anchors (URL fragments) as defined in ISO/IEC 23009-1:2019:Annex C (Table C.1); ISOBMFF: URL fragments as specified in ISO/IEC 14496-12:2020:Annex C. SDP: stream identifier of the media stream as defined in ISO/IEC 20390-14:Annex C. When V3C data is referenced in the scene description document as in item in MPEG_media.alternative.tracks and the referenced item corresponds to an ISBOBMFF track, the following applies: for single-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C bitstream track. for multi-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C atlas track.'\n },\n codecs: {\n type: 'string',\n description:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track.',\n gltf_detailedDescription:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track. When the track includes different types of codecs (e.g. the AdaptationSet includes Representations with different codecs), the codecs parameter may be signaled by comma-separated list of values of the codecs.'\n },\n extensions: {},\n extras: {}\n },\n required: ['track', 'codecs']\n },\n MPEG_media_media_alternative_schema_json: {\n title: 'MPEG_media.media.alternative',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n format: 'iri-reference',\n description: 'The uri of the media.',\n gltf_detailedDescription:\n 'The uri of the media. Relative paths are relative to the .gltf file. If the reference media is a real-time media stream, then the uri may follow the referencing scheme defined in ISO/IEC 23090-14:Annex C. If the tracks element is present, the last part of the URI (i.e. the stream identifier such as the mid) is provided by the tracks information.',\n gltf_uriType: 'media'\n },\n mimeType: {\n description: \"The media's MIME type.\",\n gltf_detailedDescription:\n \"The media's MIME type. The profiles parameter, as defined in IETF RFC6381, may be included as a part of the mimeType to specify the profile of the media container. (e.g. the profiles parameter indicates the DASH profile when the uri specifies a DASH manifest)\",\n anyOf: [\n {\n type: 'string',\n enum: ['video/mp4', 'application/dash+xml']\n },\n {\n type: 'string'\n }\n ]\n },\n tracks: {\n type: 'array',\n description:\n 'An array of items that lists the components of the referenced media source that are to be used.',\n gltf_detailedDescription:\n 'An array of items that lists the components of the referenced media source that are to be used. These can e.g. be a track number of an ISOBMFF, a DASH/CMAF SwitchingSet identifier, or a media id of an RTP stream.',\n items: {\n $ref: '#/definitions/MPEG_media_media_alternative_track_schema_json'\n },\n minItems: 1\n },\n extraParams: {\n type: 'object',\n description:\n 'An object that may contain any additional media-specific parameters.',\n gltf_detailedDescription:\n 'An object that may contain any additional media-specific parameters.'\n },\n extensions: {},\n extras: {}\n },\n required: ['uri', 'mimeType']\n }\n }\n },\n MPEG_media: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_media',\n type: 'object',\n description:\n 'Media used to create a texture, audio source or other objects in the scene.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n media: {\n type: 'array',\n description:\n 'An array of media. A media contains data referred by other object in a scene',\n items: {\n $ref: '#/definitions/MPEG_media_media_schema_json'\n },\n minItems: 1\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['media'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n MPEG_media_media_alternative_track_schema_json: {\n title: 'MPEG_media.media.alternative.track',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n track: {\n type: 'string',\n description: 'URL fragment to access the track within the media alternative.',\n gltf_detailedDescription:\n 'URL fragment to access the track within the media alternative. The URL structure is defined for the following formats: DASH: Using MPD Anchors (URL fragments) as defined in ISO/IEC 23009-1:2019:Annex C (Table C.1); ISOBMFF: URL fragments as specified in ISO/IEC 14496-12:2020:Annex C. SDP: stream identifier of the media stream as defined in ISO/IEC 20390-14:Annex C. When V3C data is referenced in the scene description document as in item in MPEG_media.alternative.tracks and the referenced item corresponds to an ISBOBMFF track, the following applies: for single-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C bitstream track. for multi-track encapsulated V3C data, the referenced track in MPEG_media shall be the V3C atlas track.'\n },\n codecs: {\n type: 'string',\n description:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track.',\n gltf_detailedDescription:\n 'The codecs parameter, as defined in IETF RFC 6381, of the media included in the track. When the track includes different types of codecs (e.g. the AdaptationSet includes Representations with different codecs), the codecs parameter may be signaled by comma-separated list of values of the codecs.'\n },\n extensions: {},\n extras: {}\n },\n required: ['track', 'codecs']\n },\n MPEG_media_media_alternative_schema_json: {\n title: 'MPEG_media.media.alternative',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n format: 'iri-reference',\n description: 'The uri of the media.',\n gltf_detailedDescription:\n 'The uri of the media. Relative paths are relative to the .gltf file. If the reference media is a real-time media stream, then the uri may follow the referencing scheme defined in ISO/IEC 23090-14:Annex C. If the tracks element is present, the last part of the URI (i.e. the stream identifier such as the mid) is provided by the tracks information.',\n gltf_uriType: 'media'\n },\n mimeType: {\n description: \"The media's MIME type.\",\n gltf_detailedDescription:\n \"The media's MIME type. The profiles parameter, as defined in IETF RFC6381, may be included as a part of the mimeType to specify the profile of the media container. (e.g. the profiles parameter indicates the DASH profile when the uri specifies a DASH manifest)\",\n anyOf: [\n {\n type: 'string',\n enum: ['video/mp4', 'application/dash+xml']\n },\n {\n type: 'string'\n }\n ]\n },\n tracks: {\n type: 'array',\n description:\n 'An array of items that lists the components of the referenced media source that are to be used.',\n gltf_detailedDescription:\n 'An array of items that lists the components of the referenced media source that are to be used. These can e.g. be a track number of an ISOBMFF, a DASH/CMAF SwitchingSet identifier, or a media id of an RTP stream.',\n items: {\n $ref: '#/definitions/MPEG_media_media_alternative_track_schema_json'\n },\n minItems: 1\n },\n extraParams: {\n type: 'object',\n description:\n 'An object that may contain any additional media-specific parameters.',\n gltf_detailedDescription:\n 'An object that may contain any additional media-specific parameters.'\n },\n extensions: {},\n extras: {}\n },\n required: ['uri', 'mimeType']\n },\n MPEG_media_media_schema_json: {\n title: 'MPEG_media.media.',\n type: 'object',\n description: 'Media used to create a texture, audio source, or any other media type.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'User-defined name of the media. '\n },\n startTime: {\n type: 'number',\n minimum: 0,\n default: 0,\n description:\n 'The startTime gives the time at which the rendering of the timed media will be in seconds. ',\n gltf_detailedDescription:\n 'The startTime gives the time at which the rendering of the timed media will begin. The value is provided in seconds. In the case of timed textures, the static image should be rendered as a texture until the startTime is reached. A startTime of 0 means the presentation time of the current scene. Either startTime or autoplay shall be present in glTF description.'\n },\n startTimeOffset: {\n type: 'number',\n minimum: 0,\n default: 0,\n description:\n 'The startTimeOffset indicates the time offset into the source, starting from which the timed media is generated.',\n gltf_detailedDescription:\n 'The startTimeOffset indicates the time offset into the source, starting from which the timed media shall be generated. The value is provided in seconds, where 0 corresponds to the start of the source.'\n },\n endTimeOffset: {\n type: 'number',\n minimum: 0,\n description:\n 'The endTimeOffset indicates the time offset into the source, up to which the timed media is generated. ',\n gltf_detailedDescription:\n 'The endTimeOffset indicates the end time offset into the source, up to which the timed media shall be generated. The value is provided in seconds. If not present, the endTimeOffset corresponds to the end of the source media.'\n },\n autoplay: {\n type: 'boolean',\n default: true,\n description: 'Specifies that the media start playing as soon as it is ready.',\n gltf_detailedDescription:\n 'Specifies that the media will start playing as soon as it is ready. Either startTime or autoplay shall be present for a media item description. Rendering of all media for which the autoplay flag is set to true should happen simultaneously.'\n },\n autoplayGroup: {\n type: 'integer',\n description:\n 'Specifies that playback starts simultaneously for all media sources with the autoplay flag set to true.',\n gltf_detailedDescription:\n 'All media that have the same autoplayGroup identifier shall start playing synchronously as soon as all autoplayGroup media are ready. autoplayGroup is only allowed if autoplay is set to true.'\n },\n loop: {\n type: 'boolean',\n default: false,\n description:\n 'Specifies that the media start over again, every time it is finished.',\n gltf_detailedDescription:\n 'Specifies that the media will start over again, every time it is finished. The timestamp in the buffer shall be continuously increasing when the media source loops, i.e. the playback duration prior to looping shall be added to the media time after looping.'\n },\n controls: {\n type: 'boolean',\n default: false,\n description: 'Specifies that media controls should be exposed to end user',\n gltf_detailedDescription:\n 'Specifies that media controls should be exposed to end user (such as a play/pause button etc).'\n },\n alternatives: {\n type: 'array',\n description:\n 'An array of alternatives of the same media (e.g. different video code used)',\n gltf_detailedDescription:\n 'An array of items that indicate alternatives of the same media (e.g. different video codecs used). The client could select items (i.e. uri and track) included in alternatives depending on the client\u2019s capability.',\n items: {\n $ref: '#/definitions/MPEG_media_media_alternative_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['alternatives'],\n oneOf: [\n {\n required: ['startTime']\n },\n {\n required: ['autoplay']\n }\n ]\n }\n }\n }\n },\n MPEG_mesh_linking: {\n MPEG_mesh_linking: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_mesh_linking',\n type: 'object',\n description: 'glTF extension to specify a logical link between two meshes',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n correspondence: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to the `accessor`',\n gltf_detailedDescription:\n \"Provides a reference to the `accessor`, by specifying the accessor's index in accessors array, that describe the buffer where the correspondence values between the dependent mesh and its associated shadow mesh will be made available. The componentType of the referenced accessor shall be as indicated in ISO/IEC 23090-14:7.4 and the type shall be `SCALAR`.\"\n },\n mesh: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to the shadow `mesh`',\n gltf_detailedDescription:\n 'Provides a reference to the shadow `mesh`, by specifying the mesh index in meshes array, associated to the dependent mesh for which the correspondence values are established.'\n },\n pose: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to the `accessor`',\n gltf_detailedDescription:\n \"Provides a reference to the `accessor`, by specifying the accessor's index in accessors array, that describe the buffer where the transformation of the nodes associated to the dependent mesh will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `MAT4`.\"\n },\n weights: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to the `accessor`',\n gltf_detailedDescription:\n \"Provides a reference to the `accessor`, by specifying the accessor's index in accessors array, that describe the buffer where the \u201Cweights\u201D to be applied to the morph targets of the shadow mesh associated to the dependent mesh will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `SCALAR`.\"\n },\n extensions: {},\n extras: {}\n },\n required: ['correspondence', 'mesh', 'pose'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_scene_dynamic: {\n MPEG_scene_dynamic: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_scene_dynamic extension',\n type: 'object',\n description:\n 'glTF extension to expose dynamic scene updates using the JSON patch protocol with MPEG media',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n media: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the media in `MPEG_media` extension.',\n gltf_detailedDescription:\n 'The index of the media in `MPEG_media` that provides dynamic scene update information.'\n },\n track: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of a track of media in `MPEG_media` extension.',\n gltf_detailedDescription:\n 'The index of a track of media in `MPEG_media` that provides dynamic scene update information. The track samples as defined in ISO/IEC 23090-14 contain scene description updates and provide timing to perform these updates. If track is not provided, it shall be assumed that all tracks provided by the referenced media object are used to provide the update samples.'\n },\n extensions: {},\n extras: {}\n },\n required: ['media'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_texture_video: {\n MPEG_texture_video: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_texture_video',\n type: 'object',\n description: 'glTF extension to specify textures using MPEG defined formats',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n accessor: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: \"Provides the accessor's index in accessors array\",\n gltf_detailedDescription:\n \"Provides a reference to the `accessor`, by specifying the accessor's index in accessors array, that describes the buffer where the decoded timed texture will be made available. The `accessor` shall have the `MPEG_accessor_timed` extension. The type, componentType, and count of the accessor depend on the width, height, and format.\"\n },\n width: {\n description: 'Provides the maximum width of the texture.',\n gltf_detailedDescription: 'Provides the maximum width of the texture.',\n type: 'number'\n },\n height: {\n description: 'Provides the maximum height of the texture.',\n gltf_detailedDescription: 'Provides the maximum height of the texture.',\n type: 'number'\n },\n format: {\n description: 'Indicates the format of the pixel data for this video texture.',\n gltf_detailedDescription:\n 'Indicates the format of the pixel data for this video texture. The semantics of these values are defined in Table 8.3 of OpenGL 4.6 specification. The number of components shall match the type indicated by the referenced `accessor`. Normalization of the pixel data shall be indicated by the normalized attribute of the accessor.',\n anyOf: [\n {\n const: 'RED'\n },\n {\n const: 'GREEN'\n },\n {\n const: 'BLUE'\n },\n {\n const: 'RG'\n },\n {\n const: 'RGB'\n },\n {\n const: 'RGBA'\n },\n {\n const: 'BGR'\n },\n {\n const: 'BGRA'\n },\n {\n const: 'DEPTH_COMPONENT'\n },\n {\n type: 'string'\n }\n ],\n default: 'RGB'\n },\n extensions: {},\n extras: {}\n },\n required: ['accessor', 'width', 'height'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MPEG_viewport_recommended: {\n MPEG_viewport_recommended: {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_viewport_recommended',\n description: 'glTF extension for specifying an set of recommended viewports.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n viewports: {\n type: 'array',\n items: {\n $ref: '#/definitions/MPEG_viewport_recommended_viewport_schema_json'\n },\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n required: ['viewports'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n MPEG_viewport_recommended_viewport_schema_json: {\n title: 'MPEG_viewport_recommended.viewport',\n type: 'object',\n description: 'specifying a recommended viewport.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n },\n translation: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n 'Provides a reference to `accessor` where the timed data for the translation of camera object will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `VEC3`, (x, y, z).'\n },\n rotation: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n 'Provides a reference to `accessor` where the timed data for the rotation of camera object will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `VEC4`, as a unit quaternion, (x, y, z, w).'\n },\n type: {\n description: 'provides the type of camera.',\n gltf_detailedDescription: 'provides the type of camera.',\n anyOf: [\n {\n const: 'perspective'\n },\n {\n const: 'orthographic'\n },\n {\n type: 'string'\n }\n ],\n default: 'perspective'\n },\n parameters: {\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n 'Provides a reference to `accessor` where the timed data for the perspective or orthographic camera parameters will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `VEC4`. When the type of the camera object which includes this extension is perspective, `FLOAT_VEC4` means (aspectRatio, yfov, zfar, znear). When orthographic type, `FLOAT_VEC4` means (xmag, ymag, zfar, znear). The requirements on the camera parameters from ISO/IEC 12113:2021 shall apply.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n }\n }\n }\n },\n 'MPEG_viewport_recommended.viewport': {\n $schema: 'http://json-schema.org/draft-07/schema',\n title: 'MPEG_viewport_recommended.viewport',\n type: 'object',\n description: 'specifying a recommended viewport.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n },\n translation: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n 'Provides a reference to `accessor` where the timed data for the translation of camera object will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `VEC3`, (x, y, z).'\n },\n rotation: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n 'Provides a reference to `accessor` where the timed data for the rotation of camera object will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `VEC4`, as a unit quaternion, (x, y, z, w).'\n },\n type: {\n description: 'provides the type of camera.',\n gltf_detailedDescription: 'provides the type of camera.',\n anyOf: [\n {\n const: 'perspective'\n },\n {\n const: 'orthographic'\n },\n {\n type: 'string'\n }\n ],\n default: 'perspective'\n },\n parameters: {\n description: 'Provides a reference to `accessor`',\n gltf_detailedDescription:\n 'Provides a reference to `accessor` where the timed data for the perspective or orthographic camera parameters will be made available. The componentType of the referenced accessor shall be `FLOAT` and the type shall be `VEC4`. When the type of the camera object which includes this extension is perspective, `FLOAT_VEC4` means (aspectRatio, yfov, zfar, znear). When orthographic type, `FLOAT_VEC4` means (xmag, ymag, zfar, znear). The requirements on the camera parameters from ISO/IEC 12113:2021 shall apply.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ]\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MSFT_lod: {\n 'glTF.MSFT_lod': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'MSFT_lod glTF extension',\n type: 'object',\n description: 'glTF extension for specifying levels of detail (LOD).',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n ids: {\n type: 'array',\n items: {\n type: 'integer'\n },\n description: 'Array containing the indices of progressively lower LOD nodes.',\n minItems: 1\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n }\n }\n }\n },\n MSFT_packing_normalRoughnessMetallic: {\n 'glTF.MSFT_packing_normalRoughnessMetallic': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'MSFT_packing_normalRoughnessMetallic extension',\n type: 'object',\n description:\n 'glTF extension the specifies a packing of normal, roughness and metallic in a single texture.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n normalRoughnessMetallicTexture: {\n type: 'object',\n description: 'A texture with the packing Normal (RG), Roughness (B), Metallic (A).',\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n }\n }\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MSFT_packing_occlusionRoughnessMetallic: {\n 'glTF.MSFT_packing_occlusionRoughnessMetallic': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'MSFT_packing_occlusionRoughnessMetallic extension',\n type: 'object',\n description:\n 'glTF extension the specifies a packing of occlusion, roughness and metallic in a single texture and a two channel normal map.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n occlusionRoughnessMetallicTexture: {\n type: 'object',\n description: 'A texture with packing Occlusion (R), Roughness (G), Metallic (B).',\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n }\n }\n },\n roughnessMetallicOcclusionTexture: {\n type: 'object',\n description: 'A texture with packing Roughness (R), Metallic (G), Occlusion (B).',\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n }\n }\n },\n normalTexture: {\n type: 'object',\n description: 'A texture which contains two channel (RG) normal map.',\n properties: {\n index: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the texture.'\n }\n }\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n MSFT_texture_dds: {\n 'glTF.MSFT_texture_dds': {\n $schema: 'http://json-schema.org/draft-04/schema',\n title: 'MSFT_texture_dds extension',\n type: 'object',\n description:\n 'glTF extension to specify textures using the DirectDraw Surface file format (DDS).',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n source: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description: 'The index of the images node which points to a DDS texture file.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n },\n NV_materials_mdl: {\n bsdfMeasurement: {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'bsdfMeasurement.schema.json',\n title: 'BSDF Measurement',\n type: 'object',\n description: 'A BSDF measurement (MBSDF) as defined in the MDL Language Specification.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the MBSDF.',\n format: 'iri-reference',\n gltf_detailedDescription:\n 'The URI (or IRI) of the MBSDF. 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.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the bufferView containing the MBSDF. This field **MUST NOT** be defined if `uri` is defined.'\n },\n mimeType: {\n anyOf: [\n {\n type: 'string',\n const: 'application/vnd.mdl-mbsdf'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The BSDF measurement's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'functionCall.argument': {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'functionCall.argument.schema.json',\n title: 'Function Call Argument',\n type: 'object',\n description:\n 'Named function call argument. Can be another function call or a constant value.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n minLength: 1,\n description: 'The name of the named argument.'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/functionCall_type_schema_json'\n }\n ],\n description:\n 'The type of the value argument. This field **MUST** be defined if `value` is defined and **MUST NOT** be defined if `functionCall` is defined.'\n },\n functionCall: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of a function call. This field **MUST NOT** be defined if `value` is defined.'\n },\n value: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n },\n {\n type: 'string'\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n }\n ]\n },\n minItems: 2,\n maxItems: 4\n },\n {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 16\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n },\n {\n type: 'string'\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n }\n ]\n },\n minItems: 2,\n maxItems: 4\n },\n {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 16\n }\n ]\n }\n }\n ],\n description:\n 'The literal value of the value argument. This field **MUST NOT** be defined if `functionCall` is defined.'\n },\n extensions: {},\n extras: {}\n },\n dependencies: {\n value: ['type']\n },\n oneOf: [\n {\n required: ['name', 'functionCall']\n },\n {\n required: ['name', 'value']\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n functionCall_type_schema_json: {\n title: 'Type',\n type: 'object',\n description:\n 'MDL type describing either a built-in or user-defined type, or an array of a built-in or user-defined type.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n module: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the containing module. This field **MUST NOT** be defined if a built-in type is specified.'\n },\n typeName: {\n type: 'string',\n minLength: 1,\n description: 'The unqualified name of the type.'\n },\n arraySize: {\n type: 'integer',\n minimum: 0,\n description:\n 'The array size. If this field is defined the type is considered to be a array.'\n },\n modifier: {\n anyOf: [\n {\n type: 'string',\n const: 'varying'\n },\n {\n type: 'string',\n const: 'uniform'\n },\n {\n type: 'string'\n }\n ],\n description: 'The name of the type modifier.'\n },\n extensions: {},\n extras: {}\n },\n required: ['typeName']\n }\n }\n },\n functionCall: {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'functionCall.schema.json',\n title: 'Function Call',\n type: 'object',\n description:\n 'Function call with its list of arguments. Can represent the entry point into a function call graph or be a node in such a graph.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n module: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the containing module. This field **MUST NOT** be defined if a built-in function is specified.'\n },\n functionName: {\n type: 'string',\n minLength: 1,\n description: 'The unqualified name of the function.'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/functionCall_type_schema_json'\n }\n ],\n description: 'The return type of the function.'\n },\n arguments: {\n type: 'array',\n items: {\n $ref: '#/definitions/functionCall_argument_schema_json'\n },\n minItems: 1,\n description:\n 'A list of named value and/or function call arguments. Multiple arguments with the same name **MUST NOT** exist.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['functionName', 'type'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n functionCall_type_schema_json: {\n title: 'Type',\n type: 'object',\n description:\n 'MDL type describing either a built-in or user-defined type, or an array of a built-in or user-defined type.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n module: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the containing module. This field **MUST NOT** be defined if a built-in type is specified.'\n },\n typeName: {\n type: 'string',\n minLength: 1,\n description: 'The unqualified name of the type.'\n },\n arraySize: {\n type: 'integer',\n minimum: 0,\n description:\n 'The array size. If this field is defined the type is considered to be a array.'\n },\n modifier: {\n anyOf: [\n {\n type: 'string',\n const: 'varying'\n },\n {\n type: 'string',\n const: 'uniform'\n },\n {\n type: 'string'\n }\n ],\n description: 'The name of the type modifier.'\n },\n extensions: {},\n extras: {}\n },\n required: ['typeName']\n },\n functionCall_argument_schema_json: {\n title: 'Function Call Argument',\n type: 'object',\n description:\n 'Named function call argument. Can be another function call or a constant value.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n minLength: 1,\n description: 'The name of the named argument.'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/functionCall_type_schema_json'\n }\n ],\n description:\n 'The type of the value argument. This field **MUST** be defined if `value` is defined and **MUST NOT** be defined if `functionCall` is defined.'\n },\n functionCall: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of a function call. This field **MUST NOT** be defined if `value` is defined.'\n },\n value: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n },\n {\n type: 'string'\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n }\n ]\n },\n minItems: 2,\n maxItems: 4\n },\n {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 16\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n },\n {\n type: 'string'\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n }\n ]\n },\n minItems: 2,\n maxItems: 4\n },\n {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 16\n }\n ]\n }\n }\n ],\n description:\n 'The literal value of the value argument. This field **MUST NOT** be defined if `functionCall` is defined.'\n },\n extensions: {},\n extras: {}\n },\n dependencies: {\n value: ['type']\n },\n oneOf: [\n {\n required: ['name', 'functionCall']\n },\n {\n required: ['name', 'value']\n }\n ]\n }\n }\n },\n 'functionCall.type': {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'functionCall.type.schema.json',\n title: 'Type',\n type: 'object',\n description:\n 'MDL type describing either a built-in or user-defined type, or an array of a built-in or user-defined type.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n module: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the containing module. This field **MUST NOT** be defined if a built-in type is specified.'\n },\n typeName: {\n type: 'string',\n minLength: 1,\n description: 'The unqualified name of the type.'\n },\n arraySize: {\n type: 'integer',\n minimum: 0,\n description:\n 'The array size. If this field is defined the type is considered to be a array.'\n },\n modifier: {\n anyOf: [\n {\n type: 'string',\n const: 'varying'\n },\n {\n type: 'string',\n const: 'uniform'\n },\n {\n type: 'string'\n }\n ],\n description: 'The name of the type modifier.'\n },\n extensions: {},\n extras: {}\n },\n required: ['typeName'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n 'glTF.NV_materials_mdl': {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'glTF.NV_materials_mdl.schema.json',\n title: 'NV_materials_mdl glTF extension',\n type: 'object',\n description: 'glTF extension that enables using MDL materials.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n modules: {\n type: 'array',\n items: {\n $ref: '#/definitions/module_schema_json'\n },\n minItems: 1,\n description: 'The list of all MDL modules.'\n },\n functionCalls: {\n type: 'array',\n items: {\n $ref: '#/definitions/functionCall_schema_json'\n },\n minItems: 1,\n description: 'The list of all function calls.'\n },\n bsdfMeasurements: {\n type: 'array',\n items: {\n $ref: '#/definitions/bsdfMeasurement_schema_json'\n },\n minItems: 1,\n description: 'The list of all BSDF measurements.'\n },\n extensions: {},\n extras: {}\n },\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n },\n module_schema_json: {\n title: 'Module',\n type: 'object',\n description: 'An MDL module.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the MDL module.',\n format: 'iri-reference',\n gltf_detailedDescription:\n 'The URI (or IRI) of the MDL module. 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.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the bufferView containing the MDL module. This field **MUST NOT** be defined if `uri` is defined.'\n },\n mimeType: {\n anyOf: [\n {\n type: 'string',\n const: 'application/vnd.mdl'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The MDL module's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n modulePath: {\n type: 'string',\n description:\n 'Relative path of the module. This field **MUST** be defined if `bufferView` is defined or `uri` is defined and contains a data-URI, otherwise this field **MUST NOT** be defined.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType', 'modulePath']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ]\n },\n functionCall_type_schema_json: {\n title: 'Type',\n type: 'object',\n description:\n 'MDL type describing either a built-in or user-defined type, or an array of a built-in or user-defined type.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n module: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the containing module. This field **MUST NOT** be defined if a built-in type is specified.'\n },\n typeName: {\n type: 'string',\n minLength: 1,\n description: 'The unqualified name of the type.'\n },\n arraySize: {\n type: 'integer',\n minimum: 0,\n description:\n 'The array size. If this field is defined the type is considered to be a array.'\n },\n modifier: {\n anyOf: [\n {\n type: 'string',\n const: 'varying'\n },\n {\n type: 'string',\n const: 'uniform'\n },\n {\n type: 'string'\n }\n ],\n description: 'The name of the type modifier.'\n },\n extensions: {},\n extras: {}\n },\n required: ['typeName']\n },\n functionCall_argument_schema_json: {\n title: 'Function Call Argument',\n type: 'object',\n description:\n 'Named function call argument. Can be another function call or a constant value.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n minLength: 1,\n description: 'The name of the named argument.'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/functionCall_type_schema_json'\n }\n ],\n description:\n 'The type of the value argument. This field **MUST** be defined if `value` is defined and **MUST NOT** be defined if `functionCall` is defined.'\n },\n functionCall: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of a function call. This field **MUST NOT** be defined if `value` is defined.'\n },\n value: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n },\n {\n type: 'string'\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n }\n ]\n },\n minItems: 2,\n maxItems: 4\n },\n {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 16\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n },\n {\n type: 'string'\n },\n {\n type: 'array',\n items: {\n anyOf: [\n {\n type: 'boolean'\n },\n {\n type: 'integer'\n },\n {\n type: 'number'\n }\n ]\n },\n minItems: 2,\n maxItems: 4\n },\n {\n type: 'array',\n items: {\n type: 'number'\n },\n minItems: 4,\n maxItems: 16\n }\n ]\n }\n }\n ],\n description:\n 'The literal value of the value argument. This field **MUST NOT** be defined if `functionCall` is defined.'\n },\n extensions: {},\n extras: {}\n },\n dependencies: {\n value: ['type']\n },\n oneOf: [\n {\n required: ['name', 'functionCall']\n },\n {\n required: ['name', 'value']\n }\n ]\n },\n functionCall_schema_json: {\n title: 'Function Call',\n type: 'object',\n description:\n 'Function call with its list of arguments. Can represent the entry point into a function call graph or be a node in such a graph.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n module: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the containing module. This field **MUST NOT** be defined if a built-in function is specified.'\n },\n functionName: {\n type: 'string',\n minLength: 1,\n description: 'The unqualified name of the function.'\n },\n type: {\n allOf: [\n {\n $ref: '#/definitions/functionCall_type_schema_json'\n }\n ],\n description: 'The return type of the function.'\n },\n arguments: {\n type: 'array',\n items: {\n $ref: '#/definitions/functionCall_argument_schema_json'\n },\n minItems: 1,\n description:\n 'A list of named value and/or function call arguments. Multiple arguments with the same name **MUST NOT** exist.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n required: ['functionName', 'type']\n },\n bsdfMeasurement_schema_json: {\n title: 'BSDF Measurement',\n type: 'object',\n description:\n 'A BSDF measurement (MBSDF) as defined in the MDL Language Specification.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the MBSDF.',\n format: 'iri-reference',\n gltf_detailedDescription:\n 'The URI (or IRI) of the MBSDF. 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.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the bufferView containing the MBSDF. This field **MUST NOT** be defined if `uri` is defined.'\n },\n mimeType: {\n anyOf: [\n {\n type: 'string',\n const: 'application/vnd.mdl-mbsdf'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The BSDF measurement's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ]\n }\n }\n },\n 'material.NV_materials_mdl': {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'material.NV_materials_mdl.schema.json',\n title: 'NV_materials_mdl material extension',\n type: 'object',\n description: 'glTF extension that enables using MDL materials.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n functionCall: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The index of the MDL function call. The reference function call **MUST** represent the entry point to a function call graph and have the return type `material`.'\n },\n extensions: {},\n extras: {}\n },\n required: ['functionCall'],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n },\n module: {\n $schema: 'http://json-schema.org/draft-04/schema',\n $id: 'module.schema.json',\n title: 'Module',\n type: 'object',\n description: 'An MDL module.',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFChildOfRootProperty_schema_json'\n }\n ],\n properties: {\n uri: {\n type: 'string',\n description: 'The URI (or IRI) of the MDL module.',\n format: 'iri-reference',\n gltf_detailedDescription:\n 'The URI (or IRI) of the MDL module. 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.'\n },\n bufferView: {\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFid_schema_json'\n }\n ],\n description:\n 'The ID of the bufferView containing the MDL module. This field **MUST NOT** be defined if `uri` is defined.'\n },\n mimeType: {\n anyOf: [\n {\n type: 'string',\n const: 'application/vnd.mdl'\n },\n {\n type: 'string'\n }\n ],\n description:\n \"The MDL module's media type. This field **MUST** be defined when `bufferView` is defined.\"\n },\n modulePath: {\n type: 'string',\n description:\n 'Relative path of the module. This field **MUST** be defined if `bufferView` is defined or `uri` is defined and contains a data-URI, otherwise this field **MUST NOT** be defined.'\n },\n name: {},\n extensions: {},\n extras: {}\n },\n dependencies: {\n bufferView: ['mimeType', 'modulePath']\n },\n oneOf: [\n {\n required: ['uri']\n },\n {\n required: ['bufferView']\n }\n ],\n definitions: {\n _specification_2_0_schema_extension_schema_json: {\n title: 'Extension',\n type: 'object',\n description: 'JSON object with extension-specific objects.',\n properties: {},\n additionalProperties: {\n type: 'object'\n }\n },\n _specification_2_0_schema_extras_schema_json: {\n title: 'Extras',\n description: 'Application-specific data.',\n gltf_sectionDescription:\n '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.'\n },\n _specification_2_0_schema_glTFProperty_schema_json: {\n title: 'glTF Property',\n type: 'object',\n properties: {\n extensions: {\n $ref: '#/definitions/_specification_2_0_schema_extension_schema_json'\n },\n extras: {\n $ref: '#/definitions/_specification_2_0_schema_extras_schema_json'\n }\n }\n },\n _specification_2_0_schema_glTFChildOfRootProperty_schema_json: {\n title: 'glTF Child of Root Property',\n type: 'object',\n allOf: [\n {\n $ref: '#/definitions/_specification_2_0_schema_glTFProperty_schema_json'\n }\n ],\n properties: {\n name: {\n type: 'string',\n description: 'The user-defined name of this object.',\n gltf_detailedDescription:\n '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.'\n }\n }\n },\n _specification_2_0_schema_glTFid_schema_json: {\n title: 'glTF Id',\n type: 'integer',\n minimum: 0\n }\n }\n }\n }\n }\n }\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|