Skip to content
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

Upgrade wetzel to handle 2020-12 schemas, delete draft4 schemas. #2034

Merged
merged 1 commit into from
Sep 27, 2021

Conversation

emackey
Copy link
Member

@emackey emackey commented Sep 23, 2021

For consideration by @lexaknyazev and others.

This consolidates us back to a single set of schemas, dropping draft 4 and moving draft 2020-12 into their place. A new version of wetzel handles the two main changes: exclusive min/max, and consts instead of enums.

Once CI runs, I plan to diff the output.

@emackey
Copy link
Member Author

emackey commented Sep 23, 2021

Diffing the HTML artifacts from main vs. this branch, the date and git hash change of course, and there are two lines in main that say this:

<p><strong>Format</strong>: uriref</p>

Which are replaced on this branch by:

<p><strong>Format</strong>: iri-reference</p>

This is expected, and I believe this was one motivation for using the newer draft in the first place.

In other news, I tested 2020-12 on a branch of the VSCode plugin, and it seems to perform fine there too.

@lexaknyazev
Copy link
Member

Before deleting the old schemas, we should check if other Khronos tools (e.g., glTF-CSharp-Loader) still use them.

@emackey
Copy link
Member Author

emackey commented Sep 24, 2021

@bghgary Is it possible to upgrade the CSharp loader?

Here's an exhaustive list of schema changes:

  • The top of every schema file changed slightly (new draft version, new $id etc.) but CSharp might not care.
  • All occurrences of "enum" : [ value ] have changed to "const" : value
  • exclusiveMinimum and exclusiveMaximum have changed from a bool to the actual value (dropping the old minimum and maximum fields in cases where they were exclusive). (Example: camera.perspective.schema.json)
  • In two places, format has changed from uriref to iri-reference (for example image.schema.json).

That's all that changed. The diffs are actually visible as part of this PR, since I'm replacing draft-4 here with the latest version from @lexaknyazev.

@bghgary
Copy link
Contributor

bghgary commented Sep 24, 2021

@bghgary Is it possible to upgrade the CSharp loader?

It's possible for sure, but I don't have the bandwidth to do it any time soon.

@emackey
Copy link
Member Author

emackey commented Sep 24, 2021

OK. Should that hold up this PR?

@bghgary
Copy link
Contributor

bghgary commented Sep 24, 2021

I'm not sure. I suppose people can checkout a commit before this PR is merged. Can we tag it somehow maybe?

@emackey
Copy link
Member Author

emackey commented Sep 24, 2021

No need for a tag. I updated the C# loader. KhronosGroup/glTF-CSharp-Loader#37

@lexaknyazev
Copy link
Member

@bghgary @emackey
Are glTF-CSharp-Loader updates complete?

@emackey
Copy link
Member Author

emackey commented Sep 27, 2021

Yes, thanks to @bghgary who reviewed, tweaked, and merged them.

@bghgary
Copy link
Contributor

bghgary commented Sep 27, 2021

Yes, thanks to @bghgary who reviewed, tweaked, and merged them.

Thanks to @emackey who did the actual change. :-)

@aaronfranke
Copy link
Contributor

Is there a plan to upgrade the Khronos extension schemas to 2020-12? I noticed they are still using draft-04.

@javagl
Copy link
Contributor

javagl commented Aug 23, 2023

This is actually tracked in #2049 , but ... with little activity, and ... no volunteers yet 😬

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants