combs_mesh/blocks/text.rs
1//! `txt` — free text: a name, a description, and key/value specs.
2
3use serde::{Deserialize, Serialize};
4
5/// Free-text block. Every emoji built with
6/// [`crate::EmojiBuilder`] carries one: the emoji's `name` round-trips
7/// through this block (the binary container has no name field of its own).
8#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
9pub struct TextBlock {
10 /// Display name.
11 pub name: String,
12 /// Human-readable description.
13 pub description: String,
14 /// Arbitrary key/value specs (kept ordered).
15 #[serde(default)]
16 pub specs: Vec<(String, String)>,
17}