Support KHR_node_visibility, EXT_texture_webp, and KHR_xmp_json_ld
Extend the native glTF importer's extension coverage with three small
ratified extensions. KHR_node_visibility maps to the Node.visible
property, which cascades to children exactly like the extension
requires.
EXT_texture_webp prefers the extension's WebP image over the regular
source, but only when a WebP image handler is present. That handler
lives in qtimageformats rather than qtbase, so it is not necessarily
deployed, and taking the WebP unconditionally would discard the
fallback the asset deliberately provides. A WebP-only texture still
takes it (with a warning when it cannot be decoded), and an asset that
requires the extension is rejected when WebP is unsupported. Embedded
images are now also written out by balsam with their own suffix, so a
WebP is no longer saved under a .png name.
KHR_xmp_json_ld metadata has no representation in the scene, but the
extension is now accepted so that assets listing it as required load,
with the raw packet still available in the document model's extension
objects.
[ChangeLog][Asset Import] The native glTF importer now supports the
KHR_node_visibility and EXT_texture_webp extensions, and accepts assets
requiring KHR_xmp_json_ld.
Task-number: QTBUG-148576
Change-Id: I33223ea485dacf5852d9f7c8923ff8311e297c5f
Reviewed-by: Christian Strømme <christian.stromme@qt.io>