-
Notifications
You must be signed in to change notification settings - Fork 214
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
Support schemaUri
property of EXT_structural_metadata
#969
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@azrogers this looks great! There are just some details in the generated getSizeBytes
implementations that need to be worked through.
@kring Updated the code generation based on your comments, should be good for another look when you get the chance! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good, just a little more getSizeBytes
nitpicking! Also, don't forget that all of the implementations of that method need to chain to their base class (usually ExtensibleObject
) implementation, too!
…sium-native into external-structural-metadata
@kring Just letting you know this should be good for another look! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nearly there! Just one tricky getSizeBytes
situation left that I'm going to take a quick look at myself.
@kring Updated the doc comments and added const to those |
All changes look good! But I tried regenerating the 3D Tiles ( |
As noted in #727, though
EXT_structural_metadata
can specify a schemaUri that contains the URI of a JSON file to load instead of the embedded schema, we don't currently support this property. This change adds that support.As part of the change, I gave the generate-classes tool some idea of what a "shared asset" is, so it can now generate a shared asset property directly rather than needing to mess with derived classes like in the case of
Image
/ImageSpec
. The largest change, by lines of code, is that agetSizeBytes
method is now generated for every type. This is necessary for theSharedAssetDepot
to know when it's "full."Code needs cleanup, especially the JavaScript code which I don't have a formatter set up for. Also need to test in each of the runtimes - if there's any changes needed, they'll be small, but I haven't checked yet.