1use bevy::prelude::*;
2
3pub mod graphviz;
4pub mod oudia;
5pub trait ExportObject {
8 fn export_to_buffer(&mut self, buffer: &mut Vec<u8>);
10 fn export_to_file(&mut self) {
12 let mut buffer = Vec::new();
13 self.export_to_buffer(&mut buffer);
14 let mut filename = String::new();
15 filename.push_str(self.filename().as_ref());
16 filename.push_str(self.extension().as_ref());
17 paiagram_rw::write::write_file(filename, move |writer| writer.write_all(&buffer));
18 }
19 fn filename(&self) -> impl AsRef<str> {
21 "exported_file"
22 }
23 fn extension(&self) -> impl AsRef<str>;
25}