Expand description
Component storage.
Every component value lives in its own UnsafeCell, so a component can be
read or written through a shared &World. Aliasing is policed by the borrow
ledger instead of by the compiler: an access path claims what it is about to
reach before it hands out a reference, and the claim is released when it goes
away. See crate::borrow.
The world is therefore !Send and stays on the thread that created it, which
is where a renderer and its other thread-bound state live.
Structural changes (spawning and despawning) still need &mut World, so a
claimed row can never be moved around while it is borrowed.
Re-exports§
use core::any::Any;🔒use core::cell::UnsafeCell;🔒
Structs§
- Column
- One component type’s values inside one archetype.
Traits§
- AnyColumn
- A type-erased component column: one component type’s values in one archetype.