I’m very happy to announce Overseer.jl, a package that implements a lightweight, performance oriented, entity component system(ECS). Aside from the previous goals it also aims to be as low friction as possible API-wise, which is tested by me using it daily.
Most features that one can expect from an ECS are already present, with extra features being added as I feel a need for them (or as other interests arise).
The main strength of using an ECS-like way of building up your code is that it allows one to very clearly compartmentalize code, and add extra functionality iteratively and gradually without needing to touch functionality that is already in place. This allows a very flexible, yet still performant way of building up simulations and play around with the different parts of it. This is what I have been using it for recently in some of my own research, and which led me to publish it in the general registry since I found it so amazingly useful in it’s flexibility, and I’m curious how other people feel about it.
Documentation is currently under development, but the README.md should give an idea of how to use it.
Let me know what you think about it!