Skip to main content

Module column

Module column 

Source
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.