pub struct ShaderConfig {Show 15 fields
pub animation_speed: Option<f32>,
pub brightness: Option<f32>,
pub text_opacity: Option<f32>,
pub full_content: Option<bool>,
pub channel0: Option<String>,
pub channel1: Option<String>,
pub channel2: Option<String>,
pub channel3: Option<String>,
pub cubemap: Option<String>,
pub cubemap_enabled: Option<bool>,
pub use_background_as_channel0: Option<bool>,
pub background_channel0_blend_mode: Option<ShaderBackgroundBlendMode>,
pub auto_dim_under_text: Option<bool>,
pub auto_dim_strength: Option<f32>,
pub uniforms: BTreeMap<String, ShaderUniformValue>,
}Expand description
Per-shader configuration settings.
Used both for embedded defaults in shader files and for user overrides in config.yaml. All fields are optional to allow partial overrides.
Fields§
§animation_speed: Option<f32>Animation speed multiplier (1.0 = normal speed)
brightness: Option<f32>Brightness multiplier (0.05-1.0)
text_opacity: Option<f32>Text opacity when using this shader (0.0-1.0)
full_content: Option<bool>When true, shader receives full terminal content for manipulation
channel0: Option<String>Path to texture for iChannel0
channel1: Option<String>Path to texture for iChannel1
channel2: Option<String>Path to texture for iChannel2
channel3: Option<String>Path to texture for iChannel3
cubemap: Option<String>Path prefix for cubemap faces
cubemap_enabled: Option<bool>Whether cubemap sampling is enabled
use_background_as_channel0: Option<bool>Use the app’s background image as iChannel0 instead of a separate texture
background_channel0_blend_mode: Option<ShaderBackgroundBlendMode>Blend mode hint for shaders using the app background as iChannel0.
auto_dim_under_text: Option<bool>Auto-dim shader output beneath terminal text/content for readability.
auto_dim_strength: Option<f32>Strength of auto-dimming under text (0.0 = no extra dimming, 1.0 = black).
uniforms: BTreeMap<String, ShaderUniformValue>Custom shader uniform values for // control ... declarations.
Trait Implementations§
Source§impl Clone for ShaderConfig
impl Clone for ShaderConfig
Source§fn clone(&self) -> ShaderConfig
fn clone(&self) -> ShaderConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ShaderConfig
impl Debug for ShaderConfig
Source§impl Default for ShaderConfig
impl Default for ShaderConfig
Source§fn default() -> ShaderConfig
fn default() -> ShaderConfig
Source§impl<'de> Deserialize<'de> for ShaderConfig
impl<'de> Deserialize<'de> for ShaderConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<ShaderConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ShaderConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl PartialEq for ShaderConfig
impl PartialEq for ShaderConfig
Source§impl Serialize for ShaderConfig
impl Serialize for ShaderConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
impl StructuralPartialEq for ShaderConfig
Auto Trait Implementations§
impl Freeze for ShaderConfig
impl RefUnwindSafe for ShaderConfig
impl Send for ShaderConfig
impl Sync for ShaderConfig
impl Unpin for ShaderConfig
impl UnsafeUnpin for ShaderConfig
impl UnwindSafe for ShaderConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
Source§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> 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>
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>
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 moreSource§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
Source§impl<T> Pointable for T
impl<T> Pointable for T
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().