From 50de2a3b9b0fe86c2c89d653427f744da734bb5c Mon Sep 17 00:00:00 2001 From: Aaron Franke Date: Tue, 9 Jul 2024 00:05:57 -0700 Subject: [PATCH] Upgrade schemas to draft 2020-12 --- .../2.0/Archived/OMI_collider/README.md | 2 +- ...=> glTF.OMI_collider.collider.schema.json} | 12 ++++++---- .../schema/glTF.OMI_collider.schema.json | 12 ++++------ .../schema/node.OMI_collider.schema.json | 18 +++++---------- extensions/2.0/KHR_audio_emitter/README.md | 2 +- ... glTF.KHR_audio_emitter.audio.schema.json} | 11 +++++---- ...io_emitter.emitter.positional.schema.json} | 22 +++++++++--------- ...lTF.KHR_audio_emitter.emitter.schema.json} | 23 +++++++++---------- .../schema/glTF.KHR_audio_emitter.schema.json | 16 +++++++------ ...glTF.KHR_audio_emitter.source.schema.json} | 19 +++++++-------- .../schema/node.KHR_audio_emitter.schema.json | 12 ++++------ .../scene.KHR_audio_emitter.schema.json | 6 +++-- extensions/2.0/OMI_audio_ogg_vorbis/README.md | 4 ++++ ...r.source.OMI_audio_ogg_vorbis.schema.json} | 3 ++- extensions/2.0/OMI_audio_opus/README.md | 4 ++++ ...emitter.source.OMI_audio_opus.schema.json} | 3 ++- ...node.OMI_physics_body.collider.schema.json | 16 ++++--------- .../node.OMI_physics_body.motion.schema.json | 13 +++++++---- .../schema/node.OMI_physics_body.schema.json | 5 +++- .../node.OMI_physics_body.trigger.schema.json | 10 ++++---- .../glTF.OMI_physics_gravity.schema.json | 13 +++++++---- ...MI_physics_gravity.directional.schema.json | 5 +++- .../node.OMI_physics_gravity.disc.schema.json | 5 +++- .../node.OMI_physics_gravity.line.schema.json | 13 +++++++---- ...node.OMI_physics_gravity.point.schema.json | 5 +++- .../node.OMI_physics_gravity.schema.json | 13 +++++++---- ...ode.OMI_physics_gravity.shaped.schema.json | 13 +++++++---- ...node.OMI_physics_gravity.torus.schema.json | 5 +++- extensions/2.0/OMI_physics_joint/README.md | 2 +- ...hysics_joint.joint_constraint.schema.json} | 8 +++---- .../schema/glTF.OMI_physics_joint.schema.json | 18 +++++++-------- .../schema/node.OMI_physics_joint.schema.json | 18 +++++++-------- .../schema/glTF.OMI_physics_shape.schema.json | 12 ++++------ ...TF.OMI_physics_shape.shape.box.schema.json | 5 +++- ...MI_physics_shape.shape.capsule.schema.json | 5 +++- ...OMI_physics_shape.shape.convex.schema.json | 13 +++++------ ...I_physics_shape.shape.cylinder.schema.json | 5 +++- .../glTF.OMI_physics_shape.shape.schema.json | 11 +++++---- ...OMI_physics_shape.shape.sphere.schema.json | 5 +++- ...MI_physics_shape.shape.trimesh.schema.json | 13 +++++------ .../OMI_seat/schema/node.OMI_seat.schema.json | 17 ++++++++------ extensions/2.0/OMI_spawn_point/README.md | 5 ++-- ....json => node.OMI_spawn_point.schema.json} | 6 +++-- 43 files changed, 234 insertions(+), 194 deletions(-) rename extensions/2.0/Archived/OMI_collider/schema/{collider.schema.json => glTF.OMI_collider.collider.schema.json} (93%) rename extensions/2.0/KHR_audio_emitter/schema/{audio.schema.json => glTF.KHR_audio_emitter.audio.schema.json} (83%) rename extensions/2.0/KHR_audio_emitter/schema/{emitter.positional.schema.json => glTF.KHR_audio_emitter.emitter.positional.schema.json} (92%) rename extensions/2.0/KHR_audio_emitter/schema/{emitter.schema.json => glTF.KHR_audio_emitter.emitter.schema.json} (78%) rename extensions/2.0/KHR_audio_emitter/schema/{source.schema.json => glTF.KHR_audio_emitter.source.schema.json} (79%) rename extensions/2.0/OMI_audio_ogg_vorbis/schema/{KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json => glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json} (77%) rename extensions/2.0/OMI_audio_opus/schema/{KHR_audio_emitter.source.OMI_audio_opus.schema.json => glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json} (79%) rename extensions/2.0/OMI_physics_joint/schema/{joint_constraint.schema.json => glTF.OMI_physics_joint.joint_constraint.schema.json} (82%) rename extensions/2.0/OMI_spawn_point/schema/{spawn_point.schema.json => node.OMI_spawn_point.schema.json} (68%) diff --git a/extensions/2.0/Archived/OMI_collider/README.md b/extensions/2.0/Archived/OMI_collider/README.md index e83047f..8c48d1f 100644 --- a/extensions/2.0/Archived/OMI_collider/README.md +++ b/extensions/2.0/Archived/OMI_collider/README.md @@ -141,7 +141,7 @@ Trigger shapes are not solid to other objects and will not collide with them. Tr ### JSON Schema -See [schema/collider.schema.json](schema/collider.schema.json) for the main collider schema, [schema/glTF.OMI_collider.schema.json](schema/glTF.OMI_collider.schema.json) for the document-level list of colliders, and [schema/node.OMI_collider.schema.json](schema/node.OMI_collider.schema.json) for the node-level collider selection. +See [schema/glTF.OMI_collider.collider.schema.json](schema/glTF.OMI_collider.collider.schema.json) for the main collider schema, [schema/glTF.OMI_collider.schema.json](schema/glTF.OMI_collider.schema.json) for the document-level list of colliders, and [schema/node.OMI_collider.schema.json](schema/node.OMI_collider.schema.json) for the node-level collider selection. ## Known Implementations diff --git a/extensions/2.0/Archived/OMI_collider/schema/collider.schema.json b/extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.collider.schema.json similarity index 93% rename from extensions/2.0/Archived/OMI_collider/schema/collider.schema.json rename to extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.collider.schema.json index 18a4d55..e535c2a 100644 --- a/extensions/2.0/Archived/OMI_collider/schema/collider.schema.json +++ b/extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.collider.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_collider.collider.schema.json", "title": "OMI_collider Collider", "type": "object", - "required": [ - "type" - ], + "description": "Parameters describing a collider physics shape.", + "allOf": [ { "$ref": "glTFChildOfRootProperty.schema.json" } ], "properties": { "type": { "type": "string", @@ -23,9 +23,13 @@ "description": "When true this collider will not be solid to physics bodies in the scene, and instead the shape will act as a trigger detection area.", "default": false }, + "name": { }, "extensions": { }, "extras": { } }, + "required": [ + "type" + ], "oneOf": [ { "required": [ diff --git a/extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.schema.json b/extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.schema.json index 5b37e24..e62f634 100644 --- a/extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.schema.json +++ b/extensions/2.0/Archived/OMI_collider/schema/glTF.OMI_collider.schema.json @@ -1,19 +1,17 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_collider.schema.json", "title": "OMI_collider glTF Document Extension", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], + "description": "Top level collider resources.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "colliders": { "description": "An array of colliders that can be referenced by nodes.", "type": "array", "items": { "type": "object", - "$ref": "collider.schema.json" + "$ref": "glTF.OMI_collider.collider.schema.json" }, "minItems": 1 }, diff --git a/extensions/2.0/Archived/OMI_collider/schema/node.OMI_collider.schema.json b/extensions/2.0/Archived/OMI_collider/schema/node.OMI_collider.schema.json index 1ff34ef..01937df 100644 --- a/extensions/2.0/Archived/OMI_collider/schema/node.OMI_collider.schema.json +++ b/extensions/2.0/Archived/OMI_collider/schema/node.OMI_collider.schema.json @@ -1,20 +1,14 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_collider.schema.json", "title": "OMI_collider glTF Node Extension", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], + "description": "Node extension that references a collider.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "collider": { - "description": "The id of the collider referenced by this node.", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ] + "allOf": [{"$ref": "glTFid.schema.json"}], + "description": "The id of the collider referenced by this node." }, "extensions": {}, "extras": {} diff --git a/extensions/2.0/KHR_audio_emitter/README.md b/extensions/2.0/KHR_audio_emitter/README.md index cf25657..5b7d9dc 100644 --- a/extensions/2.0/KHR_audio_emitter/README.md +++ b/extensions/2.0/KHR_audio_emitter/README.md @@ -354,7 +354,7 @@ Radians are used for angles matching glTF2. ### JSON Schema -[glTF.KHR_audio_emitter.schema.json](/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.schema.json) +See [glTF.KHR_audio_emitter.schema.json](schema/glTF.KHR_audio_emitter.schema.json) for the main document-level schema. ## Known Implementations diff --git a/extensions/2.0/KHR_audio_emitter/schema/audio.schema.json b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.audio.schema.json similarity index 83% rename from extensions/2.0/KHR_audio_emitter/schema/audio.schema.json rename to extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.audio.schema.json index b284926..bb4b45d 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/audio.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.audio.schema.json @@ -1,9 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.audio.schema.json", "title": "KHR_audio_emitter Audio Data", "type": "object", "description": "Audio data objects define where audio data is located and what format the data is in. The data is either accessed via a bufferView or uri. `mimeType` is required when `bufferView` is used.", - "allOf": [{ "$ref": "glTFProperty.schema.json" }], + "allOf": [{ "$ref": "glTFChildOfRootProperty.schema.json" }], "properties": { "uri": { "type": "string", @@ -17,10 +18,10 @@ "description": "The audio's MIME type. Required if `bufferView` is defined. Unless specified by another extension, the only supported mimeTypes are `audio/mpeg` and `audio/wav`.", "anyOf": [ { - "enum": ["audio/mpeg"] + "const": "audio/mpeg" }, { - "enum": ["audio/wav"] + "const": "audio/wav" }, { "type": "string" @@ -35,7 +36,7 @@ "extensions": {}, "extras": {} }, - "dependencies": { + "dependentRequired": { "bufferView": ["mimeType"] }, "oneOf": [{ "required": ["uri"] }, { "required": ["bufferView"] }] diff --git a/extensions/2.0/KHR_audio_emitter/schema/emitter.positional.schema.json b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.emitter.positional.schema.json similarity index 92% rename from extensions/2.0/KHR_audio_emitter/schema/emitter.positional.schema.json rename to extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.emitter.positional.schema.json index 467b64f..d078d30 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/emitter.positional.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.emitter.positional.schema.json @@ -1,27 +1,28 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.emitter.positional.schema.json", "title": "KHR_audio_emitter Positional Audio Emitter", "type": "object", "description": "Positional audio emitter properties.", "allOf": [{ "$ref": "glTFProperty.schema.json" }], "properties": { "coneInnerAngle": { - "description": "The angle, in radians, of a cone inside of which there will be no volume reduction. This angle represents the angular diameter of the cone, from side to side. If not specified, the angle of Tau radians (360 degrees) is used, which means the audio emits in all directions (not in a cone).", "type": "number", + "description": "The angle, in radians, of a cone inside of which there will be no volume reduction. This angle represents the angular diameter of the cone, from side to side. If not specified, the angle of Tau radians (360 degrees) is used, which means the audio emits in all directions (not in a cone).", "minimum": 0.0, "maximum": 6.2831853071795864, "default": 6.2831853071795864 }, "coneOuterAngle": { - "description": "The angle, in radians, of a cone outside of which the volume will be reduced to a constant value of `coneOuterGain`. This angle represents the angular diameter of the cone, from side to side. If not specified, the angle of Tau radians (360 degrees) is used, which means some audio will emit in all directions.", "type": "number", + "description": "The angle, in radians, of a cone outside of which the volume will be reduced to a constant value of `coneOuterGain`. This angle represents the angular diameter of the cone, from side to side. If not specified, the angle of Tau radians (360 degrees) is used, which means some audio will emit in all directions.", "minimum": 0.0, "maximum": 6.2831853071795864, "default": 6.2831853071795864 }, "coneOuterGain": { - "description": "The linear volume gain of the audio emitter set when outside the cone defined by the `coneOuterAngle` property. It is a linear value (not dB). If not specified, the cone outer gain is `0.0`, meaning the audio will be silent outside of the cone.", "type": "number", + "description": "The linear volume gain of the audio emitter set when outside the cone defined by the `coneOuterAngle` property. It is a linear value (not dB). If not specified, the cone outer gain is `0.0`, meaning the audio will be silent outside of the cone.", "minimum": 0.0, "default": 0.0 }, @@ -30,31 +31,30 @@ "description": "Specifies the distance model for the audio emitter.", "anyOf": [ { - "enum": ["linear"], + "const": "linear", "description": "A linear distance model calculating the gain induced by the distance according to: 1.0 - rolloffFactor * (distance - refDistance) / (maxDistance - refDistance)" }, { - "enum": ["inverse"], + "const": "inverse", "description": "An inverse distance model calculating the gain induced by the distance according to: refDistance / (refDistance + rolloffFactor * (Math.max(distance, refDistance) - refDistance))" }, { - "enum": ["exponential"], + "const": "exponential", "description": "An exponential distance model calculating the gain induced by the distance according to: pow((Math.max(distance, refDistance) / refDistance, -rolloffFactor))" } ], "default": "inverse" }, "maxDistance": { - "description": "The maximum distance between the emitter and listener, after which the volume will not be reduced any further. If zero or not specified, the audio emitter does not have a maximum distance, and it can be heard from any distance.", "type": "number", + "description": "The maximum distance between the emitter and listener, after which the volume will not be reduced any further. If zero or not specified, the audio emitter does not have a maximum distance, and it can be heard from any distance.", "minimum": 0.0, "default": 0.0 }, "refDistance": { - "description": "A reference distance for reducing volume as the emitter moves further from the listener. For distances less than this, the volume is not reduced. This value cannot be zero or a negative number. If not specified, the default value is `1.0`.", "type": "number", - "minimum": 0.0, - "exclusiveMinimum": true, + "description": "A reference distance for reducing volume as the emitter moves further from the listener. For distances less than this, the volume is not reduced. This value cannot be zero or a negative number. If not specified, the default value is `1.0`.", + "exclusiveMinimum": 0.0, "default": 1.0 }, "rolloffFactor": { diff --git a/extensions/2.0/KHR_audio_emitter/schema/emitter.schema.json b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.emitter.schema.json similarity index 78% rename from extensions/2.0/KHR_audio_emitter/schema/emitter.schema.json rename to extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.emitter.schema.json index 03550de..362ab69 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/emitter.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.emitter.schema.json @@ -1,20 +1,21 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.emitter.schema.json", "title": "KHR_audio_emitter Audio Emitter", "type": "object", "description": "Audio emitters define how audio sources are played back. Emitter properties are defined at the document level and are references by nodes. Audio may be played globally or positionally. Positional audio has further properties that define how audio volume scales with distance and angle.", - "allOf": [{ "$ref": "glTFProperty.schema.json" }], + "allOf": [{ "$ref": "glTFChildOfRootProperty.schema.json" }], "properties": { "type": { "type": "string", "description": "Specifies the audio emitter type.", "anyOf": [ { - "enum": ["global"], + "const": "global", "description": "Global audio emitters are not affected by the position of audio listeners. All `positional` properties may not be defined on global audio emitters." }, { - "enum": ["positional"], + "const": "positional", "description": "Positional audio emitters play audio at a position in the scene. The properties are defined in the `positional` object." }, { @@ -23,23 +24,21 @@ ] }, "gain": { - "description": "Unitless linear multiplier against original source volume for determining emitter loudness.", "type": "number", + "description": "Unitless linear multiplier against original source volume for determining emitter loudness.", "minimum": 0.0, "default": 1.0 }, "sources": { - "description": "An array of audio source indices used by the audio emitter. This array may be empty.", "type": "array", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ] + "description": "An array of audio source indices used by the audio emitter. This array may be empty.", + "items": { + "allOf": [ { "$ref": "glTFid.schema.json" } ] + } }, "positional": { "type": "object", - "$ref": "emitter.positional.schema.json" + "$ref": "glTF.KHR_audio_emitter.emitter.positional.schema.json" }, "name": {}, "extensions": {}, diff --git a/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.schema.json b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.schema.json index 2a3e8cb..31bba14 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.schema.json @@ -1,33 +1,35 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.schema.json", "title": "KHR_audio_emitter glTF Document Extension", "type": "object", + "description": "Top level audio properties and resources.", "allOf": [{ "$ref": "glTFProperty.schema.json" }], "properties": { "sources": { - "description": "An array of audio sources to be used in audio emitters.", "type": "array", + "description": "An array of audio sources to be used in audio emitters.", "items": { "type": "object", - "$ref": "source.schema.json" + "$ref": "glTF.KHR_audio_emitter.source.schema.json" }, "minItems": 1 }, "emitters": { - "description": "An array of positional or global audio emitters that can be referenced by nodes or scenes.", "type": "array", + "description": "An array of positional or global audio emitters that can be referenced by nodes or scenes.", "items": { "type": "object", - "$ref": "emitter.schema.json" + "$ref": "glTF.KHR_audio_emitter.emitter.schema.json" }, "minItems": 1 }, "audio": { - "description": "An array of audio that can be referenced by nodes.", "type": "array", + "description": "An array of audio that can be referenced by nodes.", "items": { "type": "object", - "$ref": "audio.schema.json" + "$ref": "glTF.KHR_audio_emitter.audio.schema.json" }, "minItems": 1 }, diff --git a/extensions/2.0/KHR_audio_emitter/schema/source.schema.json b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.source.schema.json similarity index 79% rename from extensions/2.0/KHR_audio_emitter/schema/source.schema.json rename to extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.source.schema.json index 243214a..97b95bc 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/source.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/glTF.KHR_audio_emitter.source.schema.json @@ -1,33 +1,30 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.source.schema.json", "title": "KHR_audio_emitter Audio Source", "type": "object", "description": "Audio sources reference audio data and define playback properties for it. Audio sources may be used by zero to many audio emitters.", - "allOf": [{ "$ref": "glTFProperty.schema.json" }], + "allOf": [{ "$ref": "glTFChildOfRootProperty.schema.json" }], "properties": { "autoPlay": { - "description": "Whether or not to play the specified audio when the glTF is loaded.", "type": "boolean", + "description": "Whether or not to play the specified audio when the glTF is loaded.", "default": false }, "gain": { - "description": "Unitless multiplier against original audio file volume for determining audio source loudness.", "type": "number", + "description": "Unitless multiplier against original audio file volume for determining audio source loudness.", "minimum": 0.0, "default": 1.0 }, "loop": { - "description": "Whether or not to loop the specified audio when finished.", "type": "boolean", + "description": "Whether or not to loop the specified audio when finished.", "default": false }, "audio": { - "description": "The index of the audio data assigned to this clip.", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ] + "allOf": [ { "$ref": "glTFid.schema.json" } ], + "description": "The index of the audio data assigned to this clip." }, "name": {}, "extensions": {}, diff --git a/extensions/2.0/KHR_audio_emitter/schema/node.KHR_audio_emitter.schema.json b/extensions/2.0/KHR_audio_emitter/schema/node.KHR_audio_emitter.schema.json index 716ee6a..757162c 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/node.KHR_audio_emitter.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/node.KHR_audio_emitter.schema.json @@ -1,16 +1,14 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.KHR_audio_emitter.schema.json", "title": "KHR_audio_emitter glTF Node Extension", "type": "object", + "description": "Node extension that references an audio emitter.", "allOf": [{ "$ref": "glTFProperty.schema.json" }], "properties": { "emitter": { - "description": "The id of the positional audio emitter referenced by this node.", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ] + "allOf": [ { "$ref": "glTFid.schema.json" } ], + "description": "The id of the audio emitter referenced by this node." }, "extensions": {}, "extras": {} diff --git a/extensions/2.0/KHR_audio_emitter/schema/scene.KHR_audio_emitter.schema.json b/extensions/2.0/KHR_audio_emitter/schema/scene.KHR_audio_emitter.schema.json index dd13b63..1148f63 100644 --- a/extensions/2.0/KHR_audio_emitter/schema/scene.KHR_audio_emitter.schema.json +++ b/extensions/2.0/KHR_audio_emitter/schema/scene.KHR_audio_emitter.schema.json @@ -1,14 +1,16 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "scene.KHR_audio_emitter.schema.json", "title": "KHR_audio_emitter glTF Scene Extension", "type": "object", + "description": "Scene extension that references global audio emitters.", "allOf": [{ "$ref": "glTFProperty.schema.json" }], "properties": { "emitters": { "type": "array", "description": "The indices of each global audio emitter. Positional audio emitters may not be added to the scene node.", "items": { - "$ref": "glTFid.schema.json" + "allOf": [ { "$ref": "glTFid.schema.json" } ] }, "uniqueItems": true, "minItems": 1 diff --git a/extensions/2.0/OMI_audio_ogg_vorbis/README.md b/extensions/2.0/OMI_audio_ogg_vorbis/README.md index a8e61e3..8bcc4e0 100644 --- a/extensions/2.0/OMI_audio_ogg_vorbis/README.md +++ b/extensions/2.0/OMI_audio_ogg_vorbis/README.md @@ -115,6 +115,10 @@ If a glTF contains an audio source using Ogg Vorbis audio with no fallback audio If a glTF contains an audio source using Ogg Vorbis audio with no fallback audio data, and `KHR_audio_emitter` is not a required extension, then do not add `OMI_audio_ogg_vorbis` to `extensionsRequired`. Clients supporting `KHR_audio_emitter` but not `OMI_audio_ogg_vorbis` will consider the lack of `"audio"` in a `KHR_audio_emitter` source to be an error, and either will not be able to play audio from that source, or will not load the `KHR_audio_emitter` extension. +### JSON Schema + +See [schema/glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json](schema/glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json) for the schema. + ## Known Implementations None diff --git a/extensions/2.0/OMI_audio_ogg_vorbis/schema/KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json b/extensions/2.0/OMI_audio_ogg_vorbis/schema/glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json similarity index 77% rename from extensions/2.0/OMI_audio_ogg_vorbis/schema/KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json rename to extensions/2.0/OMI_audio_ogg_vorbis/schema/glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json index ec9c801..0d5e1d9 100644 --- a/extensions/2.0/OMI_audio_ogg_vorbis/schema/KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json +++ b/extensions/2.0/OMI_audio_ogg_vorbis/schema/glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json @@ -1,5 +1,6 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.source.OMI_audio_ogg_vorbis.schema.json", "title": "OMI_audio_ogg_vorbis glTF KHR_audio_emitter Source Extension", "type": "object", "description": "glTF extension to specify audio data on audio sources using the Ogg Vorbis audio data format.", diff --git a/extensions/2.0/OMI_audio_opus/README.md b/extensions/2.0/OMI_audio_opus/README.md index f5f30dd..b848ec0 100644 --- a/extensions/2.0/OMI_audio_opus/README.md +++ b/extensions/2.0/OMI_audio_opus/README.md @@ -121,6 +121,10 @@ If a glTF contains an audio source using Opus audio with no fallback audio data, If a glTF contains an audio source using Opus audio with no fallback audio data, and `KHR_audio_emitter` is not a required extension, then do not add `OMI_audio_opus` to `extensionsRequired`. Clients supporting `KHR_audio_emitter` but not `OMI_audio_opus` will consider the lack of `"audio"` in a `KHR_audio_emitter` source to be an error, and either will not be able to play audio from that source, or will not load the `KHR_audio_emitter` extension. +### JSON Schema + +See [schema/glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json](schema/glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json) for the schema. + ## Known Implementations None diff --git a/extensions/2.0/OMI_audio_opus/schema/KHR_audio_emitter.source.OMI_audio_opus.schema.json b/extensions/2.0/OMI_audio_opus/schema/glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json similarity index 79% rename from extensions/2.0/OMI_audio_opus/schema/KHR_audio_emitter.source.OMI_audio_opus.schema.json rename to extensions/2.0/OMI_audio_opus/schema/glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json index 9388836..cd487d0 100644 --- a/extensions/2.0/OMI_audio_opus/schema/KHR_audio_emitter.source.OMI_audio_opus.schema.json +++ b/extensions/2.0/OMI_audio_opus/schema/glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json @@ -1,5 +1,6 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.KHR_audio_emitter.source.OMI_audio_opus.schema.json", "title": "OMI_audio_opus glTF KHR_audio_emitter Source Extension", "type": "object", "description": "glTF extension to specify audio data on audio sources using the Opus audio codec in either the Ogg or WebM container formats.", diff --git a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.collider.schema.json b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.collider.schema.json index 52e3b3a..6bde046 100644 --- a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.collider.schema.json +++ b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.collider.schema.json @@ -1,20 +1,14 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_body.collider.schema.json", "title": "OMI_physics_body Collider Property", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], + "description": "Parameters describing the geometric shape used for collisions.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "shape": { + "allOf": [ { "$ref": "glTFid.schema.json" } ], "description": "The id of the shape referenced by this node.", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ], "default": -1 }, "extensions": { }, diff --git a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.motion.schema.json b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.motion.schema.json index 881a078..2d2841b 100644 --- a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.motion.schema.json +++ b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.motion.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_body.motion.schema.json", "title": "OMI_physics_body Motion Property", "type": "object", - "required": [ - "type" - ], + "description": "Parameter describing the motion of a physics body glTF node.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "type": { "type": "string", @@ -42,5 +42,8 @@ }, "extensions": { }, "extras": { } - } + }, + "required": [ + "type" + ] } diff --git a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.schema.json b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.schema.json index eccd772..8dfd735 100644 --- a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.schema.json +++ b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_body.schema.json", "title": "OMI_physics_body glTF Node Extension", "type": "object", + "description": "Defines physics information for a node.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "motion": { "type": "object", diff --git a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.trigger.schema.json b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.trigger.schema.json index 57bb2b9..5ca2e8e 100644 --- a/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.trigger.schema.json +++ b/extensions/2.0/OMI_physics_body/schema/node.OMI_physics_body.trigger.schema.json @@ -1,12 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_body.trigger.schema.json", "title": "OMI_physics_body Trigger Property", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], + "description": "Parameters describing the geometric shape used for trigger volumes.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "shape": { "description": "The id of the shape referenced by this node.", diff --git a/extensions/2.0/OMI_physics_gravity/schema/glTF.OMI_physics_gravity.schema.json b/extensions/2.0/OMI_physics_gravity/schema/glTF.OMI_physics_gravity.schema.json index 9bf532b..23630a4 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/glTF.OMI_physics_gravity.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/glTF.OMI_physics_gravity.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_gravity.schema.json", "title": "OMI_physics_gravity glTF Document Extension", "type": "object", - "required": [ - "gravity" - ], + "description": "Top level global gravity parameters.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "gravity": { "type": "number", @@ -17,5 +17,8 @@ "minItems": 3, "maxItems": 3 } - } + }, + "required": [ + "gravity" + ] } diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.directional.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.directional.schema.json index 2faa057..d01c385 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.directional.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.directional.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.directional.schema.json", "title": "OMI_physics_gravity Directional Gravity", "type": "object", + "description": "Parameters describing a directional gravity field.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "direction": { "type": "array", diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.disc.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.disc.schema.json index ff44aff..ee7f93d 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.disc.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.disc.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.disc.schema.json", "title": "OMI_physics_gravity Disc Gravity", "type": "object", + "description": "Parameters describing a disc gravity field.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "radius": { "type": "number", diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.line.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.line.schema.json index 9026749..1016f8b 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.line.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.line.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.line.schema.json", "title": "OMI_physics_gravity Line Gravity", "type": "object", - "required": [ - "points" - ], + "description": "Parameters describing a line type gravity field.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "points": { "type": "array", @@ -19,5 +19,8 @@ }, "extensions": { }, "extras": { } - } + }, + "required": [ + "points" + ] } diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.point.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.point.schema.json index 5941116..1563dcd 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.point.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.point.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.point.schema.json", "title": "OMI_physics_gravity Point Gravity", "type": "object", + "description": "Parameters describing a point gravity field.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "unitDistance": { "type": "number", diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.schema.json index b655c81..f23f1ff 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.schema.json @@ -1,11 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.schema.json", "title": "OMI_physics_gravity glTF Node Extension", "type": "object", - "required": [ - "type", - "gravity" - ], + "description": "Defines gravity information for a node.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "type": { "type": "string", @@ -41,6 +40,10 @@ "extensions": { }, "extras": { } }, + "required": [ + "type", + "gravity" + ], "oneOf": [ { "required": [ diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.shaped.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.shaped.schema.json index 3a528a9..6a91869 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.shaped.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.shaped.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.shaped.schema.json", "title": "OMI_physics_gravity Shaped Gravity", "type": "object", - "required": [ - "shape" - ], + "description": "Parameters describing a gravity field that points towards a shape.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "shape": { "$ref": "glTFid.schema.json", @@ -17,5 +17,8 @@ }, "extensions": { }, "extras": { } - } + }, + "required": [ + "shape" + ] } diff --git a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.torus.schema.json b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.torus.schema.json index 5156c9a..cdac571 100644 --- a/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.torus.schema.json +++ b/extensions/2.0/OMI_physics_gravity/schema/node.OMI_physics_gravity.torus.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_gravity.torus.schema.json", "title": "OMI_physics_gravity Torus Gravity", "type": "object", + "description": "Parameters describing a torus gravity field.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "radius": { "type": "number", diff --git a/extensions/2.0/OMI_physics_joint/README.md b/extensions/2.0/OMI_physics_joint/README.md index b2624ee..5d34d72 100644 --- a/extensions/2.0/OMI_physics_joint/README.md +++ b/extensions/2.0/OMI_physics_joint/README.md @@ -182,7 +182,7 @@ In this chart, "fixed" means "constrained with lower and upper limits set to zer ### JSON Schema -See [joint_constraint.schema.json](schema/joint_constraint.schema.json), [node.OMI_physics_joint.schema.json](schema/node.OMI_physics_joint.schema.json), and [glTF.OMI_physics_joint.schema.json](schema/glTF.OMI_physics_joint.schema.json) for the schemas. +See [glTF.OMI_physics_joint.joint_constraint.schema.json](schema/glTF.OMI_physics_joint.joint_constraint.schema.json), [node.OMI_physics_joint.schema.json](schema/node.OMI_physics_joint.schema.json), and [glTF.OMI_physics_joint.schema.json](schema/glTF.OMI_physics_joint.schema.json) for the schemas. ## Known Implementations diff --git a/extensions/2.0/OMI_physics_joint/schema/joint_constraint.schema.json b/extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.joint_constraint.schema.json similarity index 82% rename from extensions/2.0/OMI_physics_joint/schema/joint_constraint.schema.json rename to extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.joint_constraint.schema.json index a09f925..dc3d8d3 100644 --- a/extensions/2.0/OMI_physics_joint/schema/joint_constraint.schema.json +++ b/extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.joint_constraint.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_joint.joint_constraint.schema.json", "title": "OMI_physics_joint Joint Constraint", "type": "object", - "required": [ - "type" - ], + "description": "Parameters describing a physics joint constraint / limit.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "linearAxes": { "type": "array", diff --git a/extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.schema.json b/extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.schema.json index 9fbd443..50af464 100644 --- a/extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.schema.json +++ b/extensions/2.0/OMI_physics_joint/schema/glTF.OMI_physics_joint.schema.json @@ -1,15 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_joint.schema.json", "title": "OMI_physics_joint glTF Document Extension", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], - "required": [ - "constraints" - ], + "description": "Top level joint resources.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "constraints": { "description": "An array of physics joint constraints that can be referenced by nodes.", @@ -22,5 +17,8 @@ }, "extensions": { }, "extras": { } - } + }, + "required": [ + "constraints" + ] } diff --git a/extensions/2.0/OMI_physics_joint/schema/node.OMI_physics_joint.schema.json b/extensions/2.0/OMI_physics_joint/schema/node.OMI_physics_joint.schema.json index 356db97..37ee9d6 100644 --- a/extensions/2.0/OMI_physics_joint/schema/node.OMI_physics_joint.schema.json +++ b/extensions/2.0/OMI_physics_joint/schema/node.OMI_physics_joint.schema.json @@ -1,15 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_physics_joint.schema.json", "title": "OMI_physics_joint glTF Node Extension", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], - "required": [ - "constraints" - ], + "description": "Node extension that references a physics joint.", + "allOf": [ { "$ref": "glTFProperty.schema.json" } ], "properties": { "constraints": { "description": "An array of ids of joint constraints that are applied to the node.", @@ -32,5 +27,8 @@ }, "extensions": { }, "extras": { } - } + }, + "required": [ + "constraints" + ] } diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.schema.json index c7343cc..485e4d8 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.schema.json @@ -1,16 +1,14 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.schema.json", "title": "OMI_physics_shape glTF Document Extension", "type": "object", - "allOf": [ - { - "$ref": "glTFProperty.schema.json" - } - ], + "description": "Top level shape resources.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "shapes": { - "description": "An array of shapes that can be referenced by nodes.", "type": "array", + "description": "An array of shapes that can be referenced by nodes.", "items": { "type": "object", "$ref": "shape.schema.json" diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.box.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.box.schema.json index 1e18ff5..d46e842 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.box.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.box.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.box.schema.json", "title": "OMI_physics_shape Box Shape", "type": "object", + "description": "Parameters describing a box physics shape.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "size": { "type": "array", diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.capsule.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.capsule.schema.json index 5c25932..fbbdd5b 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.capsule.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.capsule.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.capsule.schema.json", "title": "OMI_physics_shape Capsule Shape", "type": "object", + "description": "Parameters describing a capsule physics shape.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "radius": { "type": "number", diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.convex.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.convex.schema.json index 0883f8e..9dcfdf2 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.convex.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.convex.schema.json @@ -1,15 +1,14 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.convex.schema.json", "title": "OMI_physics_shape Convex Shape", "type": "object", + "description": "Parameters describing a convex hull physics shape.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "mesh": { - "description": "A reference to the mesh in the glTF meshes array to use for this convex hull shape. The mesh MUST be a trimesh and have at least one triangle.", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ] + "allOf": [ { "$ref": "glTFid.schema.json" } ], + "description": "A reference to the mesh in the glTF meshes array to use for this convex hull shape. The mesh MUST be a trimesh and have at least one triangle." }, "extensions": { }, "extras": { } diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.cylinder.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.cylinder.schema.json index bf4d78c..ee0d28a 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.cylinder.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.cylinder.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.cylinder.schema.json", "title": "OMI_physics_shape Cylinder Shape", "type": "object", + "description": "Parameters describing a cylinder physics shape.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "radius": { "type": "number", diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.schema.json index 8956adb..d6e6d84 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.schema.json @@ -1,10 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.schema.json", "title": "OMI_physics_shape Shape Resource", "type": "object", - "required": [ - "type" - ], + "description": "Defines a physics shape resource.", + "allOf": [ { "$ref" : "glTFChildOfRootProperty.schema.json" } ], "properties": { "type": { "type": "string", @@ -21,6 +21,9 @@ "extensions": { }, "extras": { } }, + "required": [ + "type" + ], "oneOf": [ { "required": [ diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.sphere.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.sphere.schema.json index ce8f948..064ac2a 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.sphere.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.sphere.schema.json @@ -1,7 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.sphere.schema.json", "title": "OMI_physics_shape Sphere Shape", "type": "object", + "description": "Parameters describing a sphere physics shape.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "radius": { "type": "number", diff --git a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.trimesh.schema.json b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.trimesh.schema.json index faf16dc..3c67d2e 100644 --- a/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.trimesh.schema.json +++ b/extensions/2.0/OMI_physics_shape/schema/glTF.OMI_physics_shape.shape.trimesh.schema.json @@ -1,15 +1,14 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "glTF.OMI_physics_shape.shape.trimesh.schema.json", "title": "OMI_physics_shape Trimesh Shape", "type": "object", + "description": "Parameters describing a concave trimesh physics shape.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "mesh": { - "description": "A reference to the mesh in the glTF meshes array to use for this concave trimesh shape. The mesh MUST be a trimesh and have at least one triangle.", - "allOf": [ - { - "$ref": "glTFid.schema.json" - } - ] + "allOf": [ { "$ref": "glTFid.schema.json" } ], + "description": "A reference to the mesh in the glTF meshes array to use for this concave trimesh shape. The mesh MUST be a trimesh and have at least one triangle." }, "extensions": { }, "extras": { } diff --git a/extensions/2.0/OMI_seat/schema/node.OMI_seat.schema.json b/extensions/2.0/OMI_seat/schema/node.OMI_seat.schema.json index 4dbe8a0..13f08d5 100644 --- a/extensions/2.0/OMI_seat/schema/node.OMI_seat.schema.json +++ b/extensions/2.0/OMI_seat/schema/node.OMI_seat.schema.json @@ -1,12 +1,10 @@ { - "$schema": "http://json-schema.org/draft-04/schema", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_seat.schema.json", "title": "OMI_seat glTF Node Extension", "type": "object", - "required": [ - "back", - "foot", - "knee" - ], + "description": "Parameters describing a seat for a character.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "back": { "type": "array", @@ -27,5 +25,10 @@ }, "extensions": { }, "extras": { } - } + }, + "required": [ + "back", + "foot", + "knee" + ] } diff --git a/extensions/2.0/OMI_spawn_point/README.md b/extensions/2.0/OMI_spawn_point/README.md index fabebda..20d2ccb 100644 --- a/extensions/2.0/OMI_spawn_point/README.md +++ b/extensions/2.0/OMI_spawn_point/README.md @@ -74,11 +74,12 @@ How each application decides to use the properties, or if they are used at all, ### JSON Schema -The OMI_spawn_point extension is defined by the following JSON schema: +The OMI_spawn_point extension is defined by [the following JSON schema](schema/node.OMI_spawn_point.schema.json): ```json { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_spawn_point.schema.json", "title": "OMI_spawn_point", "description": "An extension for the glTF format that defines a spawn point in a scene.", "type": "object", diff --git a/extensions/2.0/OMI_spawn_point/schema/spawn_point.schema.json b/extensions/2.0/OMI_spawn_point/schema/node.OMI_spawn_point.schema.json similarity index 68% rename from extensions/2.0/OMI_spawn_point/schema/spawn_point.schema.json rename to extensions/2.0/OMI_spawn_point/schema/node.OMI_spawn_point.schema.json index 0ed91fb..8668359 100644 --- a/extensions/2.0/OMI_spawn_point/schema/spawn_point.schema.json +++ b/extensions/2.0/OMI_spawn_point/schema/node.OMI_spawn_point.schema.json @@ -1,8 +1,10 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "node.OMI_spawn_point.schema.json", "title": "OMI_spawn_point", - "description": "An extension for the glTF format that defines a spawn point in a scene.", "type": "object", + "description": "Parameters that define a spawn point.", + "allOf": [ { "$ref" : "glTFProperty.schema.json" } ], "properties": { "title": { "type": "string",