use weaver_core::{DvrPath, EntityId, WeaverError};
use crate::{DreamletFrame, PbrMetaphorFrame, PresentationFrame};
pub trait DreamwellVirtualRasterizer: Send + Sync {
fn path(&self) -> DvrPath;
fn decode_dreamlets(&mut self, frame: &DreamletFrame) -> Result<(), WeaverError>;
fn decode_presentation(&mut self, frame: &PresentationFrame) -> Result<(), WeaverError>;
fn decode_metaphor(&mut self, frame: &PbrMetaphorFrame) -> Result<(), WeaverError>;
fn flush_actor(&mut self, actor_id: EntityId) -> Result<(), WeaverError>;
}