daedelecs

Crates.iodaedelecs
lib.rsdaedelecs
version0.1.0
created_at2025-06-24 18:05:47.193776+00
updated_at2025-06-24 18:05:47.193776+00
descriptionA Memory Safe, Type-Checked ECS System written in Rust
homepage
repositoryhttps://github.com/Daedelus1/DaedelECS
max_upload_size
id1724844
size71,720
Daedelus (Daedelus1)

documentation

README

drawing

What is DaedelECS?

DaedelECS is a lightweight, bare-bones, extensible Entity Component System implementation written entirely in Rust. It is published under the MIT License. It is still under active development, so expect frequent breaking changes.

Important Notes

Asserting that The Standard Library, quote and syn are all safe packages, This program is entirely memory Safe. It is not possible to generate reference cycles in this program during normal use. There are no novel unsafe blocks, and the only dependencies are quote and syn, both battle-tested pieces of software, with over $600$ million and $900$ million downloads respectively. If there is a memory error, It is not from this crate. This library is expecting an up-to-date Rust version, using the 2024 edition or later.

Minimum Viable Use

Add the following to your Cargo.toml

[dependancies]
daedelecs = "0"
daedelecs-core = "0"

And paste the following example code into your main.rs

#[derive(Component)]
struct ExampleComponent {}
struct ExampleSystem {}
impl System<()> for ExampleSystem {
    type Data = ExampleComponent;

    fn run(_entity: &mut Entity, _world: &mut World<()>) {
        print!("Hello DaedelECS!")
    }
}
fn main() {
    let mut world = World::new(());
    Entity::builder()
        .with(ExampleComponent {})
        .add_to_world(&mut world);
    world.run_system::<ExampleSystem>();
}
Commit count: 0

cargo fmt