bevy_simple_rich_text

Crates.iobevy_simple_rich_text
lib.rsbevy_simple_rich_text
version0.3.0
created_at2024-07-05 00:46:15.831082+00
updated_at2025-04-24 21:24:05.314787+00
descriptionA tiny rich text helper for Bevy
homepagehttps://github.com/rparrett/bevy_simple_rich_text
repositoryhttps://github.com/rparrett/bevy_simple_rich_text
max_upload_size
id1292246
size143,705
Rob Parrett (rparrett)

documentation

https://docs.rs/bevy_simple_rich_text

README

bevy_simple_rich_text

crates.io docs Following released Bevy versions

A tiny, unambitious rich text helper for bevy_ui with a simple bbcode-inspired syntax.

Usage

// Register style tags by spawning `StyleTag` with `TextFont`, `TextColor`,
// and any other arbitrary Component.
commands.spawn((
    StyleTag::new("lg"),
    TextFont {
        font_size: 40.,
        ..default()
    },
));
commands.spawn((
    StyleTag::new("fancy"),
    TextColor(Color::hsl(0., 0.9, 0.7)),
    FancyText,
));

// And use them
commands.spawn(RichText::new("[lg]Hello [lg,fancy]World"));

See also examples/advanced.rs.

Performance

Modifying a RichText completely rebuilds the TextSpans, so it's probably pretty slow.

But you can attach arbitrary marker components to styles to achieve fast animations.

Compatibility

bevy_simple_rich_text bevy
0.3 0.16
0.2 0.15
0.1 0.14

Contributing

Please feel free to open a PR. The goal of this project isn't to support every feature or use-case, but to be good enough for simple projects while remaining very maintainable.

Please keep PRs small and scoped to a single feature or fix.

Commit count: 14

cargo fmt