hecs icon indicating copy to clipboard operation
hecs copied to clipboard

A handy ECS

Results 40 hecs issues
Sort by recently updated
recently updated
newest added

This a draft for making the serialization of a world deterministic by adding the necessary information to the serialization. It works by saving the free list and all the generations...

Fixes #334. TODO: - [ ] Work out why this machinery is 10x slower in the `iterate_mut_100k` benchmark than `query_mut` in master. Nothing's jumping out at me in the disassembly;...

I really like working with hecs, I just feel like there is one big feature missing: entity relationships. Especially after using [flecs](https://github.com/SanderMertens/flecs) for a while, I am now really starting...

I'm trying to make a replay system based on determinism. Actions on the world are saved in a replay and are applied on a `hecs::World`. `Entity` objects are stored separately...

Basically I'd love this to work: ``` #[derive(hecs::Query)] pub struct DrawSpriteQuery

Proof-of-concept for #19. Currently blocked by an ICE in the doctest: ``` error: internal compiler error: src/librustc/traits/codegen/mod.rs:55: Encountered error `OutputTypeParameterMismatch(Binder(>::Item }))` selecting `Binder()` during codegen ```

https://docs.rs/hecs/latest/hecs/struct.CommandBuffer.html#method.remove > Remove components from entity if they exist Mislead me into thinking "Oh, I can just specify a whole bunch of components and it will remove them if they...

The way query iteration is currently implemented leads to inefficient code. On my machine, `iterate_mut_100k` runs in around 29us. However, running the same iteration through explicit archetypes leads to much...

Currently, entity ID are stored separately from other components and are yielded by queries unconditionally. An alternative design point would be to store entity ID like other components, i.e. add...

enhancement

Push further on the path opened by #336 by adding `#[cold]` to `QueryIter::next_archetype` Results on my machine: Before ``` test iterate_100k ... bench: 43,868 ns/iter (+/- 511) test iterate_cached_100_by_50 ......