ECS Refactor.
Putting my plans and designs here later.
What does "another refactor pass" mean :eyes:? IMO we really should be doing MeshGroups and other rendering backends and even game engine integrations afterwards.
Sure the World implementation can be improved. I would like more efficient iteration, and, if possible, dark magic allowing obtaining two mutable handles to two components of different types, or even just two different components. But anyways I don't think reimplementing World would break too much stuff and cause a refactor.
The idea of "systems" and the process of systems applying to node data in order can be formalized, yes. If you want to call this a "refactor" I am also fine with it.
Btw, my AnyVec is hacky, intentionally, because I want to steal all the work done by Rust std team for Vec. We all have seen some perf results and we all know matching std performance is not easy :eyes:. And it is not that Vec can't use a custom allocator. I do suggest giving more thoughts to the idea of reusing Vec as I am doing now.
Looks good to me. Now we just need to revive inox-wgpu
After discussing it on Discord, we decided it was best to get rid of the WGPU renderer for now. Neither of us can maintain it because we don't know WGPU at all, and once either of us learns it, we're gonna need to rewrite it from scratch anyway because of this refactor and possble future ones to come.