I think this is a good set of slides and makes it much clearer to me what the different options are to structure this kind of game in Rust efficiently! Some minor comments I wrote down while reading:
I guess an obvious "memory bloat" drawback of the generational approach is that indices take up twice as much space—might not be relevant in practice but it's the first thing that came to mind for me
the description of the lock/key analogy is very useful, might want to put it before the slide before it, I was confused by "exclude/blacklist components" snippet until then
It was intentional as a point of humour, though it is meant to also distinguish it's a plural of a plural type. That's come up twice now so perhaps it's best to keep the singular plural form.
Oh! That didn't cross my mind, shall add that in.
Ditto
Shall! Couldn't decide on the order (curse of knowledge?), so this kind of feedback helps a lot.
Re: 's, I'm half clear on that myself, asking for some help from the specs people, I might remove it from the diagram.
Yeap Bgm is background music – trying to show that systems can be independent. Easier to clarify random new things when talking; hard to squeeze the text into the slide without being too crowded. Need to keep a consistent set of component types between slides.
The system part is quite accurate to the specs crate, albeit I don't go into so much detail; the EC storages part is close – combined reading from @kyrenite's blog, generational-arena, slotmap, and parts of specs code. DenseVecStorage is a bit more complex than presented (the implementation is seriously clever, I drew it on paper to see what it was doing). I'll add a note to mention specs early on