Separate container checks from visual checks
A GLB starts with a binary header and aligned JSON/binary chunks. The workbench checks declared lengths, resource embedding and supported extensions before loading the object model. The Khronos validator then checks glTF constraints and reports errors, warnings and informational findings. Inputs with validator errors do not proceed to rewriting.
The output is validated again after changes. This guards against exporting a structurally invalid file from the local pipeline. It does not certify artistic intent, accessibility, legal rights, material calibration or performance in a particular product. Those concerns need their own review with the destination and asset owner.
Treat extensions as explicit dependencies
glTF extensions can add material models, lighting, texture transforms, compression and many other capabilities. This tool accepts a specific set of common Khronos material/light extensions and mesh quantization. It refuses Draco, Meshopt, KTX2 and unknown extensions because their data cannot be safely rewritten here with the installed engines.
An unsupported extension is not quietly removed even if it is marked optional. Doing so could discard meaningful appearance or application metadata. The same conservative policy applies to external and data-URI resources: embed them into a supported GLB with your authoring exporter before bringing the file into this workbench.
Retain the source for round trips
glTF Transform reconstructs the supported object model and writes a fresh binary layout. Object ordering, indices, generator metadata and byte packing can therefore change even when the rendered model remains equivalent. Extras on retained properties are kept, but this is a delivery workflow rather than a byte-identical archival round trip.
Save the source, delivery GLB and report together. Confirm that important names, extras, scenes and clips remain suitable for your application, especially if code refers to an asset’s object names. When exact exporter-specific structure matters, use that exporter’s own optimization workflow or keep the original rather than assuming any generic rewrite is interchangeable.