It's a single data structure that contains your entire game though? The whole point of the ECS is that literally everything uses the same data; it's like if you modeled every object in the world with one struct that has an optional field for every piece of data that could exist. I'm not saying that necessarily makes the tradeoff worthwhile, but calling it a "single data structure" is a bit reductive.
It's a single data structure that contains your entire game though?
Are you asking?
but calling it a "single data structure" is a bit reductive.
No it isn't. It's like a tiny database. Depending on how someone implements it, it could use arrays, hash maps and b-trees. There is no universe where this means a binary that does nothing should be 50 megabytes.
I would say yes it’s like a tiny database but as well as all the other things your added. And I think that’s a good thing, because it does this at the type level!
I’m actually seeing if I can build a parser using bevy_ecs just because the way their state machine works, it looks like it would be fun
In this case systems are the S of ECS and contain all your game logic, acting upon the entities and components (E and C).
By system management I assume they mean the APIs bevy offers for scheduling and sequencing systems and events so your game logic remains modularized while still running in the correct order.