enum StableAirOccupancy {
Unknown,
Empty,
Full,
Mixed {
rows: Box<[u16; 256]>,
occupied_count: u16,
},
}Expand description
Section-local occupancy of every state except Vanilla’s three immutable air blocks.
Unknown is deliberately treated as occupied. It is used after arbitrary mutable palette
access so an optimization can never hide plugin or future mutation paths that bypass the
tracked setters.
Variants§
Implementations§
Source§impl StableAirOccupancy
impl StableAirOccupancy
fn from_palette(states: &BlockPalette) -> Self
fn record_change( &mut self, x: usize, y: usize, z: usize, old_state: BlockStateId, new_state: BlockStateId, )
fn box_is_clear( &self, min_x: usize, max_x: usize, min_y: usize, max_y: usize, min_z: usize, max_z: usize, ) -> bool
Trait Implementations§
Auto Trait Implementations§
impl Freeze for StableAirOccupancy
impl RefUnwindSafe for StableAirOccupancy
impl Send for StableAirOccupancy
impl Sync for StableAirOccupancy
impl Unpin for StableAirOccupancy
impl UnsafeUnpin for StableAirOccupancy
impl UnwindSafe for StableAirOccupancy
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreWraps this value in an
Arc<SyncMutex<>>