Continuing the discussion from Legion ECS Discussion:
This is a really interesting article, Thanks!
Regarding the dispatching I saw that it’s not yet considered create a mechanism that allow to sub dispatch a group of systems (similarly to the Batch in shred).
This feature is a lot useful for the physics, and for all the situations where you need a custom dispatching pipeline inside the main pipeline.
Check this for example: The Clocks Thread (Time Keeps On Ticking)
Regarding the transformation component, one of the most useful thing that is missing, is the global transformation computed by the hierarchy system. Indeed, store the matrix instead of the result Isometry is not a great solution because it will be useful only for rendering purposes but not for physics nor for game play (and I’m available to do some example to explain this).
Dispatching the rendering
The actual Amethyst-SPECS has a really big limitation by design, that I would like to not have with Legion.
The rendering system is dispatched in a secondary pipeline where everything is dispatched in sequence, preventing any kind of parallelization with the physics or with other systems that will not deal with the rendering (Audio?, Force Feedback?, other external things…).
I didn’t saw how Legion works, but if the rendering system is dispatched like in SPECS I hope that you will consider to support it now since Legion is WIP.