-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
Most of the features I originally had in mind for this library are close to be finalized. There are still some aspects of the library that could be improved implementation and design wise:
- Use of
unsafe
: the library makes use ofunsafe
code, which is well documented, but there are no tests for it. I made the conscious decisions that no tests will be added since the library was made to be fun to write and experiment with, and never be shipped to production. - Parallel engine: parallel computation can be opted-in only at compile time by enabling a specific cargo feature, this is ideal to improve ease of use, but not ideal for some scenarios. I simply couldn't find a design that would allow me to have 2 different
Environment
engines (parallel and sequential) that was DRY enough for this type of project. - The
Entity
trait includes everything I've ever needed for the kind of simulations I implemented and had in mind; nevertheless there could be new needs (such as new callbacks, or new/different associated types for graphic context, transformations or errors). Until that changes the current trait can be considered final.
The main missing points before publishing a 1.0 stable version are:
- Finalize the parallel engine feature design Introduce parallel scheduler component #5.
- Gather more feedback.
- Is it possible to get rid of the
Box
from the public interface? Release 0.9 #6 - How does
semeion
look like when used without a graphicsContext
and what features are still missing for it to be useful when graphics is not necessary? - How does it compare to other entities systems (ECS)? What are the main similarities and differences?
- Enhance documentation: when should you use
semeion
? How do you use the library (example without graphic interface)?
erlend-sh
Metadata
Metadata
Assignees
Labels
No labels