pub trait CustomEffectService {
// Required methods
fn register_custom_effect_v1(
&mut self,
desc: CustomEffectDescriptorV1,
) -> Result<EffectId, CustomEffectRegistrationError>;
fn register_custom_effect_v2(
&mut self,
desc: CustomEffectDescriptorV2,
) -> Result<EffectId, CustomEffectRegistrationError>;
fn register_custom_effect_v3(
&mut self,
desc: CustomEffectDescriptorV3,
) -> Result<EffectId, CustomEffectRegistrationError>;
fn unregister_custom_effect(&mut self, id: EffectId) -> bool;
}Expand description
Renderer-owned registry for bounded custom effects.
This mirrors the material registration pattern: callers obtain an EffectId handle without
receiving backend handles. Backends may deterministically degrade unsupported effects.