-
Notifications
You must be signed in to change notification settings - Fork 329
Description
Feature
TilesetMetadata in cesium-native parses the statistics property if it is present in a tileset. However, we don't expose this to the user at our runtimes or provide any way to act on this at runtime.
It would be nice to create ways to act on them, and even use them while styling with CesiumFeaturesMetadataComponent (like what CesiumJS does). For example, you could style property values in a gradient between provided min -> max values.
My one concern is user interface, and of course the way that "Auto Fill" works. Currently it just parses the glTF extensions in the visible tiles, which are not guaranteed to have the same properties across multiple tiles. Each property can have its own min/max range as well in EXT_structural_metadata -- and then on top of that, each INSTANCE of a property can have its own min/max override. So.... this becomes messy very quickly. There are probably things we can do to manage this (e.g. checkbox that says to override the tileset min/max with the glTF min/max), but it's still pretty nebulous.
It might also be worth revisiting a UI / UX idea we had in #1190 to revamp the Auto Fill function. Instead of autofilling the properties, it could open a separate pop up with a list of the properties in scene. Users can scroll through all instances, search for the ones they're looking for, then add them manually to the component, instead of adding all 200+ properties from OSM buildings for example. The tileset metadata could be a separate view that you can then choose whether or not to incorporate into your material in some way. Just some thoughts 🤷