bevy_speech_bubbles 0.2.2

Dialog kit for Bevy: world-space speech and thought balloons (CPU ab_glyph raster on a billboarded quad), a conversation graph and runtime, barks, and a skinnable screen dialog box.
Documentation
//! What a balloon looks like: its shape channel, and the affect that tints it.

use serde::{Deserialize, Serialize};

/// Balloon style — drives both the drawn shape and the semantic channel.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
pub enum BubbleKind {
    /// Spoken aloud: rounded-rect balloon with a pointed tail. Directed dialogue / story beats.
    Speech,
    /// Inner voice: soft pill balloon with a trailing dot-tail. Ambient feeling / intent / emotion.
    Thought,
}

/// Optional affect on a line — tints the balloon border.
///
/// Grounded in An et al., *AniBalloons* (arXiv:2408.06294): balloon colour and animation reliably
/// convey emotion, which is why this is a first-class axis rather than something a caller bakes into
/// its own colour choice.
#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)]
pub enum Emotion {
    #[default]
    Neutral,
    Joy,
    Anger,
    Sadness,
    Surprise,
    Fear,
    Calm,
}