bevy_ecss

Crates.iobevy_ecss
lib.rsbevy_ecss
version0.7.0
sourcesrc
created_at2022-09-03 13:42:22.516104
updated_at2024-02-18 00:08:56.755746
descriptionAllows using a subset of CSS to interact with Bevy ECS
homepage
repositoryhttps://github.com/afonsolage/bevy_ecss
max_upload_size
id657900
size773,610
Afonso Lage (afonsolage)

documentation

README

Bevy

MIT/Apache 2.0 Realease Doc Rust Crate Bevy tracking

Bevy ECSS

What is Bevy ECSS?

Bevy ECSS is a crate which allows the usage of a subset of CSS to interact with bevy_ecs. It's mainly aimed to apply styling on bevy_ui but it can be used by any component by implementing custom properties.

Why the name?

Just because Bevy ECS + CSS is a perfect fit!

Docs site

Reference guide, examples and more available here: docs

Usage

To use Bevy ECSS just add a StyleSheet with a loaded css file to any entity and all style sheet rules will be applied to the entity and all its descendants (children of children of children and so on).

use bevy::prelude::*;
use bevy_ecss::prelude::*;

fn setup_awesome_ui(root: Entity, mut commands: Commands, asset_server: Res<AssetServer>) {
    commands
        .entity(root)
        .insert(StyleSheet::new(asset_server.load("sheets/awesome.css")));
}

That's it, now your UI will indeed look awesome!

Bevy support table

bevy bevy_ecss
0.8 0.1
0.9 0.2
0.10 0.3
0.11 0.4
0.12 0.5
0.12 0.6
0.13 0.7

Contributing

Got some idea, feedback, question or found any bug? Feel free to open an issue at any time!

License

Bevy ECSS is dual-licensed under either:

This means you can select the license you prefer! This dual-licensing approach is the de-facto standard in the Rust ecosystem and there are very good reasons to include both.

Commit count: 172

cargo fmt