-
Notifications
You must be signed in to change notification settings - Fork 612
Description
Motivation
Our minimal experimental blueprint APIs allow you to explicitly list specific entities to add to a space-view, but this can be quite cumbersome with large scenes. We would like to be able to add an entire sub-tree (or other complex expression) through a single API call.
Approach
Because the Blueprint needs to be set before logging data, there is no way to do this with a mechanism such as a log-time query that resolves to a collection of entity-paths. It must be stored in the blueprint representation as a query which is evaluated at runtime.
Rather than the SpaceViewContents structure used today, which explicitly stores all of the entities within a scene, we will introduce a new "Data Query" concept which evaluates the parts that will be shown in the the space-view at runtime.
- See: the notion proposal for more details.
Sub-tasks
- Implement
DataQuerytrait and wrapSpaceViewContentsfor backwards compatibility. - Refactor SpaceView to consume DataResultTree.
- Replace DataBlueprintGroup with new Property override system that works on DataResultTree.
- Refactor BlueprintTree to consume DataResultTree.
- New
DataQueryimplementation to produce DataResultTree from wild-card -
MVP Blueprint API for addingDataQueryto the blueprint.