build_emoji/
build_emoji.rs1use combs_mesh::{EmojiBuilder, EmojiExporter};
4
5fn main() {
6 let emoji = EmojiBuilder::new("my-emoji")
7 .description("An emoji that does things")
8 .add_todo("task1", "Build the thing")
9 .add_image_rgba(64, 64, vec![0u8; 64 * 64 * 4])
10 .with_agent_lifecycle()
11 .build();
12
13 let binary = EmojiExporter::to_binary(&emoji).expect("to_binary");
14 let unicode = EmojiExporter::to_unicode(&emoji).expect("to_unicode");
15
16 println!("emoji: {}", emoji.name);
17 println!("blocks: {}", emoji.blocks.len());
18 println!("binary: {} bytes", binary.len());
19 println!("unicode: {} chars", unicode.chars().count());
20
21 let back = EmojiExporter::from_binary(&binary).expect("from_binary");
22 assert_eq!(emoji, back, "binary round-trip");
23 let back = EmojiExporter::from_unicode(&unicode).expect("from_unicode");
24 assert_eq!(emoji, back, "unicode round-trip");
25 println!("round-trip: ok");
26}