3D Model Entity API at a disadvantage
- Dominant language
- JavaScript
- Stars
- 15.8k
- Forks
- 3.9k
- Avg merge
- 4d 6h
- Merged PRs (30d)
- 34
Description
Users of 3D Models at the Entity API level are limited in what they can do, because of the one-way transfer of information between that level and the graphics primitive level. This is not a problem for things like points and labels, where any given label doesn't need to tell the API user anything new that the user didn't already tell it.
But in the case of 3D models, after telling the Entity Model graphics which model file to load, there's plenty of new information to be had about this particular model beyond just the timing of its readiness, including:
- A list of available animations that could be controlled
- A list of available nodes that are available for nodeTransformations
- Coming soon, a list of [AGI_articulations](https://github.com/KhronosGroup/glTF/tree/master/extensions/2.0/Vendor/AGI_articulations) that could be articulated or pointed
Now take the case of CZML. We know that CZML is one-way down from the server. But it's not unreasonable to ask the server to do its own inspection of the server-side copy of the model, to understand the available animations, node transformations, and articulations, prior to constructing the CZML stream to send down.
The same is not true for users of the Entity Model API. These users shouldn't have to deeply inspect the glTF on the client, since Cesium is already responsible for doing so on the same client. This would double the memory and double the processing time, and increase the required amount of code, for a client to attempt this on the same system where it had already been performed.
So, I think the ModelGraphics API needs a way to expose certain pieces of information (listed above) to API users, even if these pieces will not be used by CZML.
/cc #7378 #4727
Contributor guide
Research direction
Review the ModelGraphics API and the related issues #7378 and #4727 first. Define how Entity API users should access available model animations, nodes for nodeTransformations, and future articulations, and consider how this information relates to CZML and client-side glTF inspection.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- api, computer-graphics, frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100