pub trait Plugin {
// Required method
fn name(&self) -> &'static str;
// Provided methods
fn setup(&mut self, _ctx: &mut InitPluginContext<'_, '_>) { ... }
fn on_event(
&mut self,
_event: &FlowEvent,
_ctx: &mut PluginContext<'_>,
) -> EventResult { ... }
fn render(&mut self, _ctx: &mut RenderContext<'_>) -> Option<AnyElement> { ... }
fn priority(&self) -> i32 { ... }
fn render_layer(&self) -> RenderLayer { ... }
}