pub struct LightGate {
pub lit_brightness: u8,
pub softness: u8,
pub emissive_colors: Vec<Rgb>,
}Expand description
Decision 5 — light gates vision: a cell only reaches full Visible
intensity when its surface is lit. Samples the baked brightness
byte (colour high byte) of the first solid voxel scanning down from
eye_top to the deck floor; emissive colour keys count as fully
lit anywhere in that scan. Dynamic point lights are not sampled in
v1.
Fields§
§lit_brightness: u8Baked-brightness byte at/above which the cell is fully lit
(bakes centre around 0x80 neutral).
softness: u8Soft knee below the threshold: brightness in
[lit_brightness - softness, lit_brightness] scales visibility
linearly. 0 = hard cut.
emissive_colors: Vec<Rgb>Colour keys (brightness-stripped, the engine’s colour→material map convention) treated as self-lit — emissive strips keep their cell visible in a pitch-dark corridor.
Implementations§
Trait Implementations§
impl StructuralPartialEq for LightGate
Auto Trait Implementations§
impl Freeze for LightGate
impl RefUnwindSafe for LightGate
impl Send for LightGate
impl Sync for LightGate
impl Unpin for LightGate
impl UnsafeUnpin for LightGate
impl UnwindSafe for LightGate
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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 more