pub trait ChainInput: Component {
const KIND_UNKNOWN: &'static str;
const KIND_PARAMS: &'static str;
const FORCE_ALWAYS_DIRTY: bool;
// Required method
fn chain(&self) -> &FilterChain;
// Provided method
fn validate_entry(
_name: &str,
_is_morph: bool,
_passes: &[ResolvedFilterPass],
) -> Result<(), String> { ... }
}Expand description
Input side of one resolve_chains instance: which wire-chain component
feeds it, its diag kinds, and per-instance semantics. Implemented by
FilterInput (the content filter chain) and
BackdropInput (backdropFilter).
Required Associated Constants§
Sourceconst KIND_UNKNOWN: &'static str
const KIND_UNKNOWN: &'static str
Diag kind reported for an unknown filter name.
Sourceconst KIND_PARAMS: &'static str
const KIND_PARAMS: &'static str
Diag kind reported for rejected params.
Sourceconst FORCE_ALWAYS_DIRTY: bool
const FORCE_ALWAYS_DIRTY: bool
Force always_dirty on every resolved chain. Backdrop chains set
this: their source (the frame behind the node) is live, so the filter
run must re-stage every frame regardless of USES_TIME.
Required Methods§
fn chain(&self) -> &FilterChain
Provided Methods§
Sourcefn validate_entry(
_name: &str,
_is_morph: bool,
_passes: &[ResolvedFilterPass],
) -> Result<(), String>
fn validate_entry( _name: &str, _is_morph: bool, _passes: &[ResolvedFilterPass], ) -> Result<(), String>
Per-instance validation of one entry: the registered name, its family
bit (crate::filters::ReactFilter::IS_MORPH), and its resolved
passes; Err warns under Self::KIND_PARAMS and skips the entry.
Every instance enforces the family split (regular chains reject morph
filters and vice versa — the two are separate registries in the
generated TypeScript too); the morph instance additionally checks its
single-pass + reserved-param-vec caps (see
crate::filters::MorphInput).
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".