Skip to main content

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}