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.
Sub-tasks
Follow-up tasks:
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.
Sub-tasks
DataQuerytrait and wrapSpaceViewContentsfor backwards compatibility.DataQueryimplementation to produce DataResultTree from wild-cardMVP Blueprint API for addingDataQueryto the blueprint.Follow-up tasks: