pub enum CatalogEffect {
Colorblind,
Crt,
Scanlines,
Bloom,
GlowOnBell,
Snow,
Aurora,
Grain,
}Expand description
The catalog registry. ALL is emitted by the derive — adding
a variant mechanically grows the registry and breaks every
exhaustive match below until the effect is fully wired.
Variants§
Implementations§
Source§impl CatalogEffect
impl CatalogEffect
Source§impl CatalogEffect
impl CatalogEffect
Sourcepub const fn name(self) -> &'static str
pub const fn name(self) -> &'static str
Operator-facing effect name (matches the (defeffect …)
form name and the YAML toggle key).
Sourcepub const fn priority(self) -> u16
pub const fn priority(self) -> u16
Render-order priority — all catalog effects live in engawa’s post range (200..=799).
Sourcepub const fn params_resource(self) -> &'static str
pub const fn params_resource(self) -> &'static str
Resource id of the effect’s params uniform buffer.
Sourcepub const fn params_size(self) -> usize
pub const fn params_size(self) -> usize
size_of the effect’s Params struct — must equal the
(params-size N) declared in the effect’s .tlisp form
(enforced by the matrix test).
Sourcepub const fn tlisp_path(self) -> &'static str
pub const fn tlisp_path(self) -> &'static str
Repo-relative path of the effect’s (defeffect …) form.
Sourcepub fn default_params_bytes(self) -> Vec<u8> ⓘ
pub fn default_params_bytes(self) -> Vec<u8> ⓘ
Default params, bytemuck-encoded — ready to seed a
uniform buffer or a crate::FrameUniforms entry. Going
through bytemuck::bytes_of is also the matrix test’s
Pod proof: a non-Pod Params would not compile here.
Sourcepub fn effect(self) -> Effect
pub fn effect(self) -> Effect
The operator-facing toggle unit (engawa Effect). For
multi-node effects (bloom) this carries the material
that lands on the output; CatalogEffect::lower is the
canonical node surface either way.
Sourcepub fn lower(self, input: &ResourceId, output: &ResourceId) -> Vec<Node>
pub fn lower(self, input: &ResourceId, output: &ResourceId) -> Vec<Node>
Canonical Effect → Node lowering: read input, write
output, plus the effect’s internal ping-pong nodes
(bloom emits 4 nodes; everything else 1).
Sourcepub fn aux_resources(self) -> Vec<(&'static str, ResourceKind)>
pub fn aux_resources(self) -> Vec<(&'static str, ResourceKind)>
Intermediate (node-produced) resources the lowering
introduces beyond input/output — the consumer leases
these from a crate::TexturePool and the graph
declares them.
Sourcepub fn graph(self) -> RenderGraph
pub fn graph(self) -> RenderGraph
Trait Implementations§
Source§impl Clone for CatalogEffect
impl Clone for CatalogEffect
Source§fn clone(&self) -> CatalogEffect
fn clone(&self) -> CatalogEffect
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for CatalogEffect
Source§impl Debug for CatalogEffect
impl Debug for CatalogEffect
impl Eq for CatalogEffect
Source§impl Hash for CatalogEffect
impl Hash for CatalogEffect
Source§impl PartialEq for CatalogEffect
impl PartialEq for CatalogEffect
Source§fn eq(&self, other: &CatalogEffect) -> bool
fn eq(&self, other: &CatalogEffect) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for CatalogEffect
Auto Trait Implementations§
impl Freeze for CatalogEffect
impl RefUnwindSafe for CatalogEffect
impl Send for CatalogEffect
impl Sync for CatalogEffect
impl Unpin for CatalogEffect
impl UnsafeUnpin for CatalogEffect
impl UnwindSafe for CatalogEffect
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,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.