CLI tool for managing metadata within glTF files using the KHR_XMP extension.
Binaries are not yet available, but will be coming very soon! In the meantime please follow the section below if you'd like to try out the alpha release.
Currently, binaries are not available. This will be rectified soon. In order to build a copy for yourself, you will need to install and configure Rust for your platform.
Once Rust is installed, follow these steps:
- Pull down the latest copy of this code from the
v1.0.0-alpha01tag:git checkout v1.0.0-alpha01 - Run
cargo build. This will install and build dependencies. - Run
cargo run -- <YOUR ARGUMENTS HERE>. Some examples below:
To list out the metadata found in the Box.gltf file, use:
cargo run -- -i examples/Box.gltf --listTo create a version of the Boombox sample with metadata use:
cargo run -- -i glTF-Sample-Models/2.0/BoomBox/glTF/BoomBox.gltf -o glTF-Sample-Models/2.0/BoomBox/glTF/BoomBox_metadata.gltf -j examples/sample.khr_xmp.jsonYou can also read and write from .glb files as well. To create a version of the DamagedHelmet binary glTF sample with metadata, use:
cargo run -- -i ./glTF-Sample-Models/2.0/DamagedHelmet/glTF-Binary/DamagedHelmet.glb -o DamagedHelmet_metadata.glb -j examples/sample.khr_xmp.json| Flag | Value | Description | Required? | Version Added |
|---|---|---|---|---|
-i, --input |
Path | Input file path | Yes | 1.0.0-alpha01 |
-o, --output |
Path | Output file path | Yes, unless --list flag present. |
1.0.0-alpha01 |
-l, --list |
None | Lists the metadata out to the console. | No | 1.0.0-alpha01 |
-j, --json |
Path | JSON file path including KHR_xmp metadata | No | 1.0.0-alpha01 |
--allow-overwrite |
None | Allow overwriting the output file. | No | 1.0.0-alpha01 |
-v, --verbose |
None | Enable verbose logging output. | No | 1.0.0-alpha01 |
This section is formatted as "PRIORITY: Milestone" to give an idea of how important the milestone is to final 1.0.0 release.
- CRITICAL: Migration flag to migrate from KHR_xmp to KHR_xmp_json_ld.
- CRITICAL: Pre-built binaries for each platform.
- HIGH: Input via command-line parameters.
- MEDIUM: Implement basic writing from XMP files to both
.glTFand.glbfiles. - MEDIUM: JSON/XMP input via Pipe.
- MEDIUM: Support for multiple packets.
- LOW: Extraction of KHR_xmp metadata into a JSON file.
xmp:MetadataDateis not being updated or written.
- Initial Release.
- Support for
.glTF2.0 spec files. - Implements
--listfunctionality, to list out KHR_xmp metadata contained in.glTFfiles. - Implements basic
--jsonwriting of KHR_xmp metadata.
- Full support for
.glbfiles. Added example.
- Implemented support for the new KHR_xmp_json_ld extension replacing KHR_xmp.
- The
--legacyswitch is required for all operations using KHR_xmp. This includes listing existing KHR_xmp data. - The
--migrateswitch has been added but is not usable yet. Will be released soon in the next release.