1use weaver_core::{DvrPath, EntityId, WeaverError};
2use crate::{DreamletFrame, PbrMetaphorFrame, PresentationFrame};
3
4pub trait DreamwellVirtualRasterizer: Send + Sync {
5 fn path(&self) -> DvrPath;
6 fn decode_dreamlets(&mut self, frame: &DreamletFrame) -> Result<(), WeaverError>;
7 fn decode_presentation(&mut self, frame: &PresentationFrame) -> Result<(), WeaverError>;
8 fn decode_metaphor(&mut self, frame: &PbrMetaphorFrame) -> Result<(), WeaverError>;
9 fn flush_actor(&mut self, actor_id: EntityId) -> Result<(), WeaverError>;
10}