pub trait DataBasedVisualizabilityFilter: Send + Sync {
// Required method
fn update_visualizability(&mut self, _event: &ChunkStoreEvent) -> bool;
}
Expand description
Additional filter for visualizability on top of the default check for required components.
This is part of the “maybe visualizable” criteria. I.e. if this (and the required components) are passed, an entity is deemed “maybe visualizable” on all timelines & time points. However, there might be additional view instance based filters that prune this set further to the final “visualizable” set.
Required Methods§
sourcefn update_visualizability(&mut self, _event: &ChunkStoreEvent) -> bool
fn update_visualizability(&mut self, _event: &ChunkStoreEvent) -> bool
Updates the internal visualizability filter state based on the given events.
Called for every update no matter whether the entity is already has all required components or not.
Returns true if the entity changed in the event is now visualizable to the visualizer (bar any view dependent restrictions), false otherwise.
Once a entity passes this filter, it can never go back to being filtered out.
This implies that the filter does not need to be stateful.
It is perfectly fine to return true
only if some aspect in the diff is regarded as visualizable and false otherwise.
(However, if necessary, the filter can keep track of state.)