Skip to content

Commit

Permalink
add more references
Browse files Browse the repository at this point in the history
  • Loading branch information
Nertsal authored Sep 23, 2024
1 parent 2f040ca commit 08540ac
Showing 1 changed file with 13 additions and 4 deletions.
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# stecs - static compiler-checked ECS\*

[![crates.io](https://img.shields.io/crates/v/stecs.svg)](https://crates.io/crates/stecs/)
[![crates.io](https://img.shields.io/crates/v/stecs.svg)](https://crates.io/crates/stecs)
[![docs.rs](https://img.shields.io/docsrs/stecs)](https://docs.rs/stecs/latest/)
[![GitHub License](https://img.shields.io/github/license/Nertsal/stecs)](https://choosealicense.com/licenses/mit/)

Expand All @@ -13,7 +13,7 @@ This library attempts to bridge the gap between

**\*Note**: technically this library likely does not qualify as a proper ECS.
What this library actually is, is a generalized SoA derive
(For an example of a non-general one, see [soa_derive](https://crates.io/crates/soa_derive) or [soa-rs](https://crates.io/crates/soa-rs/)).
(For an example of a non-general one, see [soa_derive](https://crates.io/crates/soa_derive) or [soa-rs](https://crates.io/crates/soa-rs)).

This library contains and also generates snippets of unsafe code to support mutable querying.
It could be avoided by using lending iterators, but they are much less convenient to use in for-loops.
Expand Down Expand Up @@ -56,9 +56,18 @@ fn main() {

### [gecs](https://crates.io/crates/gecs)

`gecs` provides similar functionality with static archetypes and checked queries. It has a more conventional to ECS layout, where all archetypes get queried at the same time.
`gecs` provides similar functionality with static archetypes and checked queries, with a heavy use of macros. It has a more conventional to ECS layout, where all archetypes get queried at the same time.

### [zero_ecs](https://crates.io/crates/zero_ecs)

`zero_ecs` looks more like `stecs`, but the World type is generated with a build script, and systems are very similar to `bevy_ecs`. Archetypes are not exactly static, but are just component bundles.

### Similar to some parts of this library:
- [soa-rs](https://crates.io/crates/soa-rs/)
Struct of Array derive:
- [soa-rs](https://crates.io/crates/soa-rs)
- [soa_derive](https://crates.io/crates/soa_derive)
- [soa-vec](https://crates.io/crates/soa-vec)

Optics, lenses:
- [lens-rs](https://crates.io/crates/lens-rs)
- [pl-lens](https://crates.io/crates/pl-lens)

0 comments on commit 08540ac

Please sign in to comment.