-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
JSON-Schema v6 updates roadmap #929
Comments
Sounds great if someone has bandwidth; otherwise, pushing post 2.0 would be OK with me as well. |
Since JSON-Schema spec is a moving target (there never was a "final" version, I hope that it will emerge from IETF process), we shouldn't stick each glTF release to a particular JSON-Schema draft revision. Updating schema files doesn't change their meaning so we can do it at any time. |
I'm not sure I agree with this. Implementations that use the schema to verify the asset before loading them will want the schema to be stable and not change often. I agree we can change the schema without affecting the actual bits of the asset, but I think we should change it only when we can ensure we're not breaking implementations. That might mean each glTF release is tied to a specific JSON-Schema version. |
I assume that underlying JSON-Schema libraries will be updated to the release version of the JSON-Schema. E.g., one of the most active node.js library for JSON-Schema processing has already dropped v4 schemas support. |
This probably happens faster for web than native. Maybe it's okay if the new schema doesn't change the semantic meaning of the schema (i.e. the set of assets that are allowed by old schema is the same as the new schema)? That has to be true to be backwards and forwards compatible right? |
Absolutely. Just look at four changes that affects us: Headers
URI Referencev4: {
"uri": {
"type": "string",
"description": "The uri of the buffer.",
"format": "uriref"
}
} v6: {
"uri": {
"type": "string",
"description": "The uri of the buffer.",
"format": "uri-reference"
}
}
|
That sounds good. The only worry I have is with parsers that validate against the schema. Parsers that do this will have to make sure the JSON validation library they are using support v6 which might or might not be available yet. I propose that we keep using v4 until 2.0 schema is very stable and then switch to v6 right after so that we effectively have both v4 and v6 in the commit history. Parsers will be free to use either v4 or v6 but should use v6 if possible. |
Agree. |
I think (not sure, confusing me with many drafts too) |
@bghgary Also from http://json-schema.org/work-in-progress:
|
CC #1144 |
draft-07 has been released: |
We dont think the scope to do this is significant. We will wait for json schema updates to be ratified or a new version update to gltf. |
The repo now has schemas updated to |
JSON-Schema specification draft was recently updated to
draft-06
and it's available now from IETF:https://datatracker.ietf.org/doc/draft-wright-json-schema-validation/
Since JSON-Schema ecosystem moves towards new revision, we should update our schemas at some point.
Here're affecting changes (full v4-v6 list):
$schema
only in the main file (glTF.schema.json
)."uriref"
to"uri-reference"
.exclusiveMinimum
.const
for our "extendable enums".All these changes are trivial and could be done as soon as our tools (wetzel, codegens) are ready for them.
CC @pjcozzi @bghgary @sbtron
The text was updated successfully, but these errors were encountered: