amethyst / specs

Specs - Parallel ECS
https://amethyst.github.io/specs/
Apache License 2.0
2.49k stars 219 forks source link

New flagged storage for parallel joins #737

Open Imberflur opened 2 years ago

Imberflur commented 2 years ago

Checklist

API changes

Breaking: RestrictedStorage removed (unsound without streaming JoinIter) Breaking: DerefFlaggedStorage removed (unsound without streaming JoinIter) Breaking: JoinIter::get/JoinIter::get_unchecked removed (unsound see https://github.com/amethyst/specs/issues/647) (can probably be brought back with a streaming JoinIter impl using GATs)

UnsplitFlaggedStorage added for deferred mutable access (like DerefFlaggedStorage) that can also be used in parallel joins (unlike any other flagged storage) (locked behind nightly feature).

Breaking: Safety comments on Join/UnprotectedStorage traits improved (downstream crates that implement novel storages should review these).