Wrong metadata schema used for external implicit tilesets
- Dominant language
- JavaScript
- Stars
- 15.7k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
When a tileset with implicit tiling is used as an external tileset of another tileset, then CesiumJS apparently tries to use the metadata schema of the root tileset to process the metadata that is stored in the subtree files of the implicit tileset.
Yeah, sounds complicated. Here's how far I zoomed into that unil now:
The attached archive contains ...
- An implicit tileset, called `implicitTilesetMetadataTest`
- This is a trivial implicit tileset, consisting of one tile with content, but with tile metadata
- A tileset that refers to this one as an _external_ tileset
When serving and loading the `implicitTilesetMetadataTest` _directly_, then the metadata is processed properly:

(The archive also contains the appropriate `Sandcastle.js` for quick tests)
However, when serving the root directory, with the tileset that uses this implicit tileset as an _external_ one, CesiumJS bails out. Hoping that the stack trace and code section here might help for a first triage:

When it tries to process the metadata of the implicit tileset, it seems to use the schema with the ID `EXAMPLE_ID_002`, which is the schema of the _outer_ tileset. (The implicit tileset has a schema with ID `EXAMPLE_ID_001`).
[Cesium External Tileset Metadata Bug 2023-11-20.zip](https://github.com/CesiumGS/cesium/files/13420099/Cesium.External.Tileset.Metadata.Bug.2023-11-20.zip)
Contributor guide
Research direction
Start with the attached archive and its Sandcastle.js, serving the implicitTilesetMetadataTest directly and then through the external tileset to reproduce the failure. Trace metadata processing for the subtree files and compare the EXAMPLE_ID_001 and EXAMPLE_ID_002 schemas; done means the external implicit tileset loads using its own schema.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- computer-graphics, web-dev
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100