Skip to content
Component Graph System experiment
Rust
Branch: master
Clone or download
bors and vitvakatu Merge #71
71: Wake up, froggy, it's 2019! r=kvark a=vitvakatu

It's been a long time for froggy and I think it's a good chance to update everything and prepare for solving remaining issues.

Includes:
- Update of spin dependency 0.4 -> 0.5
- Slight clean-up of `iter` example, as well as fixing it (it didn't work at all)
- Fix some clippy issue in bitfield module
- Using latest rustfmt and translation to Rust 2018
- Benchmarks are now using Criterion and no more depend on nightly.

Unfortunately, I can't run cubes demo, so it might be broken.

Co-authored-by: Ilya Bogdanov <ilya.bogdanov@xdev.re>
Latest commit c10e2dd Apr 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
benches Update benches to Criterion Apr 2, 2019
demos/cubes Use the latest rustfmt Apr 2, 2019
examples Use the latest rustfmt Apr 2, 2019
src Update to Rust 2018 Apr 2, 2019
tests Update to Rust 2018 Apr 2, 2019
.gitignore Initial commit Feb 6, 2017
.travis.yml Bors integration Jun 7, 2017
CHANGELOG.md Fix typo in changelog. Aug 28, 2017
Cargo.toml Update benches to Criterion Apr 2, 2019
LICENSE-APACHE Change project license May 17, 2017
LICENSE-MIT Change project license May 17, 2017
README.md Fix Cargo.toml Jun 7, 2017
bors.toml Bors integration Jun 7, 2017

README.md

froggy

Build Status Docs Crates.io Gitter

Froggy is a prototype for Component Graph System. Froggy is not an ECS (it could as well be named "finecs" but then it would have "ecs" in the name... yikes)! Give it a try if:

  • you are open to new paradigms and programming models
  • you are tired of being forced to think in terms of ECS
  • you like simple composable things

Check ecs_bench for performance comparisons with actual ECS systems.

Example

extern crate froggy;

fn main() {
    let mut positions = froggy::Storage::new();
    // create entities
    let entities = vec![
        positions.create(1u8), positions.create(4u8), positions.create(9u8)
    ];
    // update positions
    for e in &entities {
        positions[e] += 1;
    }
}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

You can’t perform that action at this time.