CesiumGS / 3d-tiles-validator

Validator for 3D Tiles :vertical_traffic_light:
https://cesium.com
Apache License 2.0
420 stars 156 forks source link

3DTILES_content_gltf ? #282

Closed bertt closed 12 months ago

bertt commented 12 months ago

Hi, I'm getting the following error when validating a 1.1 tileset with GLB's and metadata:

EXTENSION_FOUND_BUT_NOT_USED - The extension '3DTILES_content_gltf' was found, but not declared in 'extensionsUsed'

Question: Is this error valid? What's the status of this 3DTILES_content_gltf extension?

javagl commented 12 months ago

This should not happen.

There are some open questions about the extension usage validation summarized in https://github.com/CesiumGS/3d-tiles-validator/issues/231 , and the current implementation may have to be reviewed, but the basic approach is:

Looking at the code, I noticed that this might be caused by a race condition: There should be an await at the beginning of this line.

Maybe you want to try out whether this solves the issue for you. (But I'll add this in any case. And... we'll definitely have to enable some linting that detects these floating promises...)

Otherwise, it could be helpful if you could share that tileset.json or further information - e.g. does it use any extensionsUsed/extensionsRequired declarations? Does it declare the asset.version === "1.1"?

bertt commented 12 months ago

Ah yes that's it, fixed by changing asset.version from 1.0 to 1.1! Thanks!

javagl commented 12 months ago

(When using 1.0, then addding 3DTILES_content_gltf to the extensionsUsed should also resolve the validation error, but since 1.1 is backward compatible, just declaring it as 1.1 is most likely the better solution here)