use re_entity_db::{
external::re_data_store::LatestAtQuery, EntityDb, EntityProperties, EntityPropertyMap,
};
use re_log_types::Timeline;
use re_viewer_context::{
DataQueryResult, PerVisualizer, QueryRange, SpaceViewClassRegistry, StoreContext,
VisualizableEntities,
};
pub struct EntityOverrideContext<'a> {
pub legacy_space_view_properties: EntityProperties,
pub legacy_auto_properties: &'a EntityPropertyMap,
pub default_query_range: QueryRange,
}
pub trait PropertyResolver {
fn update_overrides(
&self,
blueprint: &EntityDb,
blueprint_query: &LatestAtQuery,
active_timeline: &Timeline,
space_view_class_registry: &SpaceViewClassRegistry,
legacy_auto_properties: &EntityPropertyMap,
query_result: &mut DataQueryResult,
);
}
pub trait DataQuery {
fn execute_query(
&self,
ctx: &StoreContext<'_>,
visualizable_entities_for_visualizer_systems: &PerVisualizer<VisualizableEntities>,
) -> DataQueryResult;
}