CesiumGS / CesiumGS/cesium-native

Consolidate Cesium3DTilesSelection and Cesium3DTilesReader

Open
#529 0 comments 0 reactions 0 assignees View on GitHub
quality
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.