James Liu
James Liu
OK this looks good enough, sans the SendChatBytes change. This is just pending an updated Facepunch UPM package to merge this in.
@alice-i-cecile @BoxyUwU after realizing inserting and removing resources from the storage API was basically impossible to use safely from outside of bevy_ecs, I reworked a lot of this to operate...
Brainfarted here and forgot about the prior effort to make mutating accesses in bevy_ecs non-pub. `insert`/`remove` and friends should probably not be pub, and `get_mut` should be more scoped than...
Thinking on this a bit more, `Resources` within a `World` are always read-only as there is no public `World::storages_mut`. Perhaps it might be best to make all data related accesses,...
There's still (some?) value in being able to get the change ticks and the ArchetypeComponentId. Is that worth exposing at all?
> In theory the pointer stored could be actually one item before the start of the allocated area; then accessing an index would just be normal indexing, but the 0...
This seems to have sizable amount of overlap with #2104. Considering either closing this or having it supercede that implementation. ~~The perf implications shown in that PR are not encouraging...
As a part of this PR, I ended up removing `ArchetypeId::INVALID`, instead opting to change the location in `EntityMeta` to `Option`. I think this makes a lot more semantic sense,...
My local benchmark results are done. I tested with just main, the addition of niched IDs, and also niching without the recent removal of ArchetypeId::Invalid. Here are a few major...
Shrunk the IDs to u32 for #4820. This should see another 2x reduction in memory usage. Will benchmark later.