kettle11 / kudo Goto Github PK
View Code? Open in Web Editor NEWAn Entity Component System for Rust. Fast, easy, and predictable. (Work in progress)
License: zlib License
An Entity Component System for Rust. Fast, easy, and predictable. (Work in progress)
License: zlib License
Right now if a query fails no descriptive information is provided.
An error type with some helpful information should be provided instead.
Sometimes it's desirable to find entities that may or may not have a component. An Optional
query parameter could be used to make such queries.
Other frameworks just use the standard Option
to represent the same thing, is that better?
Is there a way to get the Entity that a component belongs to? To for example, check the ID on it?
Sometimes it's beneficial to reserve space in archetypes before a bunch of archetypes are allocated. A call should be added to World
that accepts a bundle of components and reserves space for them.
Iterators have many potential sources of unnecessary branching.
kudos
is presently about the same speed as hecs
and half the speed of legion
.
Some care would be needed, but plain iteration speeds should be possible to bring to nearly the speed of legion
.
Presently there are no tests. Tests should be added for major core features to protect against regressions.
Sometimes it's desirable to find entities that do not have a certain component. A Query parameter type should be added to accommodate that.
A survey of other Rust ECSs should be done to see if there are better ideas for a name than Without
.
I don't know if this is already in, but I looked around and didn't find it. So, I was wondering if there was a way (or if it could be added) that you could do a query for an entity by it's ID? Like being able to do:
for (component1, component2) in world.query_for_entity(id) {
}
or:
let entity = world.find_entity_by_id(id);
:)
Love this crate! I've been using HECS for a while, and it's just a bit bloated and overcomplicated in parts. This one is just like a simplified version of HECS, and I love it! Great work! Love the Greek Mythology references in the example :)
Should it possible to iterate over empty entities? Should they be removed?
Some testing for bugs is needed here and an approach needs to be decided upon.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.