Investigate version-specific validation steps
The current implementation of the validator is focussed on 3D Tiles 1.1. As suggested by the semantic versioning, version 1.1 mainly consisted of additions to the existing standard, and these additional elements are covered in the validation. Beyond that, the asset.version is largely ignored. Additional checks should be added that take these version-specific differences into account. This means that certain elements (like implicit tilesets) are not valid in a 3D Tiles 1.0 tileset, and a tileset that has an asset.version of 1.0 but contains implicit tiling information should be considered to be invalid.
This is related to https://github.com/CesiumGS/3d-tiles-validator/issues/231 , which specifically refers to the question of which extensions are allowed or expected in certain tileset versions.
One specific difference between 1.0 and 1.1 that affects the validator:
- in version 1.0, the
tile.childrenwas allowed to be an empty array - in version 1.1, the
tile.childrenhas the requirement ofminItems: 1in the schema.
The latter is actually an inconsistency in the spec, tracked at https://github.com/CesiumGS/3d-tiles/issues/752 - depending on how this is resolved, we may consider a special treatment for this case in the validator.