CesiumGS / CesiumGS/cesium-native
Consolidate Cesium3DTilesSelection and Cesium3DTilesReader
- Dominant language
- C++
- Stars
- 623
- Forks
- 277
- PR merge metrics
- No merged PRs in 30d
Description
Our `Cesium3DTilesSelection` library leverages the (mostly) auto-generated `CesiumGltf` and `CesiumGltfReader` libraries to parse gltf and gltf extension properties. This allows us to maintain a lock-step support for specific versions of specs by auto-generating the reader code from the spec directly.
Our 3D Tiles and 3D Tiles extension support on the other hand is handwritten. `Cesium3DTilesSelection` uses custom, handwritten Tile and Tileset representations as well as handwritten code to parse 3D Tiles and 3D Tiles next tilesets. The `Cesium3DTiles` and `Cesium3DTilesReader` libraries are auto-generated and could be used to replace the handwritten code.
Before fully integrating the two auto-generated libraries, we could consider first integrating just the auto-generated parsers. Our ongoing tile loader refactor will make this much easier.
Contributor guide
Research direction
Start by reading Cesium3DTilesSelection and the auto-generated Cesium3DTilesReader and Cesium3DTiles libraries, then review the ongoing tile loader refactor. Determine how the generated parsers could replace the handwritten 3D Tiles parsing, and define done as integrating the parsers without requiring the full representation consolidation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- backend
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100