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

Disambiguating Extensions, Extras, and Metadata #600

Open
donmccurdy opened this issue Nov 29, 2021 · 1 comment
Open

Disambiguating Extensions, Extras, and Metadata #600

donmccurdy opened this issue Nov 29, 2021 · 1 comment

Comments

@donmccurdy
Copy link
Contributor

donmccurdy commented Nov 29, 2021

It may be best for the 3D Tiles format to have its own opinions about this. But in case it's useful, this is [my perspective on] the distinction between extensions, extras, and metadata in glTF:

  • Extensions: Formally-defined additions that alter the behavior or interpretation of the asset. Extensions may contain references1 to parts of the asset (e.g. material extension references textures).
  • Metadata: Formally-defined additions that add context to the asset but don't change its behavior, at least within the usual scope of loading and displaying the asset. Common examples include licenses, author information, title and description of the asset, etc. Metadata does not contain references1 to parts of the asset.
  • Extras: Application-specific additions without formal definition or behavior. They are lightweight and easy to use within a controlled workflow, but won't have meaning outside of that workflow.

For some properties (like descriptions of Augmented Reality attachment surfaces) it's not obvious whether to consider something "changing behavior". There are some judgment calls involved here.

1 References to other parts of the asset from extensions vs. metadata are an important factor. Extension hold references to parts of the glTF asset, and for that reason it wouldn't really be technically feasible to put them in a separate file. Metadata does not hold these references – parts of the asset refer to metadata, and not the other way around. So putting metadata in a separate file is at least technically feasible (though I don't know if it's allowed currently). This also means metadata is easier to move within pipelines that involve formats other than glTF, e.g. USD → glTF.

@javagl
Copy link
Contributor

javagl commented Jun 12, 2023

The distinction of "extensions" and "extras" already applies to core glTF. In the context of the definition of the metadata extensions for glTF, the point that metadata does not contain references to other parts is important. I hope that this is sufficiently clear from the current state of the specifications.

However, I think that there is not really an "actionable item" here that could cause this issue to be closed - unless that "actionable item" was to add a similar summary somewhere in the 3D Tiles README files...? If not, I'd probably close this issue soon.

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

No branches or pull requests

2 participants