-
Notifications
You must be signed in to change notification settings - Fork 509
Looking for collaborators with an interest in KHR_xmp_json_ld #819
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
Comments
Consider us interested! We probably should align on what properties make sense to expose in a nice way (the potential space of properties is very large), do you have an initial idea already on which you'd use the most? |
For us it's almost entirely about licence and attribution at the moment. But I can imagine other features we might want to propagate into the GLTF in the future (tagging is an obvious one. Our current schema can be seen here: https://api.icosa.gallery/v1/docs#/Assets/icosa_api_assets_get_asset ) Here's the Godot UI for reference: ( cc @aaronfranke ) There's a few related issues:
I raised a ticket on the Godot repo to discuss merging. It currently doesn't seem to do any (which is of course a valid design choice) |
I understand the points about license and attribution, but which license and attribution namespace and schema would you want to use? XMP has multiple as far as I know :) We could default to Dublin Core? Examples of XMP namespaces
And an attempt to answer your questions
|
Ugh. This feels like something that should be part of the extension spec itself (or at least recommended within the extension spec) What happens if we go ahead and stick attribution in one place and another extension puts it somewhere else? At the very least we need to have some consensus between all the client apps and libraries we want to honour our attribution data. I'm honestly a bit stuck at this point. I almost feel like a separate "licence and attribution" extension would solve the problem better if XMP is so broad as to allow everyone to make difference decisions on where to store things. Maybe I'm overreacting. Is there a de facto consensus on this that we can adhere to? |
Re-reading your post - do you think Dublin Core is a good bet here? |
Dublin Core is what I implemented in Godot, and it's what Khronos uses as the example. |
Thanks for confirming! So the "probably useful subset" is Dublin Core Elements 1.1 with its 15 properties.
API-wise, that means we likely still want to retain all/most of the existing metadata in a file upon import, and reassemble it on export if desired. And the UI / no-code editing interface would be the XMP Dublin Core properties. |
An additional thought: a lot of assets already have metadata in For example, all GLBs downloaded from Sketchfab (which in my experience ends up being a considerable chunk) have metadata like this: "asset": {
"extras": {
"author": "re1monsen (https://sketchfab.com/re1monsen)",
"license": "CC-BY-4.0 (http://creativecommons.org/licenses/by/4.0/)",
"source": "https://sketchfab.com/3d-models/customizable-looped-animated-flag-16275de2d84a4727aee4812fc65f8181",
"title": "Customizable Looped Animated Flag"
},
"generator": "Sketchfab-16.60.0",
"version": "2.0"
}, Potentially, some of these well-known metadata formats should be imported into the same "Metadata Component" and subsequently exported as KHR_xmp_json_ld. This would allow assembling a scene in UnityGLTF from Sketchfab assets (and of course other sources) and the new exports would track which resource in the new file came from where. |
In glTF Transform's CLI there's a
An easy way to convert these |
Open Brush and Open Blocks is going to need something like this to track authorship and licences in assets composed of multiple assets.
We don't have the resources to do this alone and I'm trying to resist the temptation to solve this in an ad hoc way.
So - this issue is a intended as a placeholder to see if anyone else has an interest in this and might want to share the burden.
For future reference - this might be useful to refer to: https://github.com/aaronfranke/godot-gltf-khr-xmp-copyright
The text was updated successfully, but these errors were encountered: