CNA-GAP-037: EXT_mesh_gpu_instancing is not imported: each node keeps one placement and its per-instance transforms are dropped

CNA snapshot 3b43bd86  ·  Known Issues › Functional gaps  ·  source links pinned to 3b43bd86

✓

Evidence basis: source-verified at the pinned commit; tests exist (not executed for this page). Claims on this page were checked by reading the CNA source at commit 3b43bd86; unless a sentence says otherwise, nothing here was built or executed. Nothing on this page was executed unless the Evidence section says so.

A node declaring EXT_mesh_gpu_instancing is imported with its own single transform, so the file renders one copy where it describes many; the drop is reported per file (gpu-instancing-dropped).

Identifier
CNA-GAP-037
Category
Functional gap
Subsystem
Models & glTF
Status
Open
Verified against
CNA 3b43bd86 (3b43bd8687ed46523d873f9bec4b32bd8481dcb5)
Evidence basis
Source-verified: read at TARGET, not executed
Tests touching this area
Yes: see Current tests
Affected contract
ContentManager::Load<Model> on glTF files using EXT_mesh_gpu_instancing

Expected behaviour

An importer that accepts a file declaring EXT_mesh_gpu_instancing should reproduce the instances it describes.

Actual behaviour at TARGET

ContentModelLoaders.cpp (GLTF-146/GLTF-352) logs that such nodes are imported with their own placement only; GltfImportCore.cpp classifies the extension as Unsupported, counts gpuInstancedNodeCount and emits the gpu-instancing-dropped diagnostic. gltf-limitations.md lists it as UNSUPPORTED and explains why the instancing path was not built.

Source locations

Evidence

Checked by reading at 3b43bd86; not executed.

Focused reproduction

No focused reproduction is known. Nothing has been invented here; the evidence above is what exists.

Current tests

GltfImportReportTests.cpp and GltfNodeHierarchyTests.cpp cover the report and the instanced-node count; no instanced rendering exists to test.

Regression test

If implemented, an L4 placement oracle over an instanced fixture (N placements expected).

Blast radius

glTF files that rely on GPU instancing (vegetation, crowds, repeated props).

Workaround

Expand the instances into ordinary nodes before import.

The same subject is explained at several altitudes. These are the neighbouring pages at each one.