schell / apecs

An asyncronous and pleasant entity-component system for Rust
46 stars 3 forks source link

chore: replace casuarius with dagga #2

Closed schell closed 1 year ago

schell commented 1 year ago

This moves the scheduling into a new crate, dagga, which is implemented using the AC3 constraint satisfaction algorithm limited to only expressions of <, > and !=. This is instead of using cassowary for scheduling which is quite a large system in itself. This should make apecs's scheduling faster, but at the very least it makes it easy to understand and debug.

This also has the benefit that dagga can be used for scheduling other things like other ECS libs, render graphs etc.