Expand description
Shared plugin API for EOV.
This crate defines the traits, structs, and manifest types that both the host application and individual plugins depend on. It intentionally avoids any dependency on Slint or other UI frameworks so that plugin non-UI logic can be tested independently.
§Adding a new plugin
- Create a directory under the plugin directory (default
~/.eov/plugins/). - Add a
plugin.tomlmanifest (seePluginManifest). - Place your
.slintUI file relative to the plugin root. - Implement the
Plugintrait and register it via the plugin registry.
§Manifest format (plugin.toml)
id = "example_plugin"
name = "Example Plugin"
version = "0.1.0"
entry_ui = "ui/my_panel.slint"
entry_component = "MyPanel"
[icon]
kind = "svg"
data = "<svg>...</svg>"Re-exports§
pub use host::ActiveSidebar;pub use host::HostLogLevel;pub use host::HostSnapshot;pub use host::HostToolMode;pub use host::ModalDialogRequest;pub use host::OpenFileInfo;pub use host::PluginUndoRedoState;pub use host::SidebarRequest;pub use host::ViewportOverlayComponentRequest;pub use host::ViewportSnapshot;pub use manifest::ManifestToolbarButton;pub use manifest::PluginManifest;pub use viewport_filter::ViewportFilter;pub use viewport_filter::DmaBufDescriptor;pub use viewport_filter::GpuFilterContext;
Modules§
- ffi
- Stable ABI types for the plugin dynamic library interface.
- host
- Shared host-facing types for plugin access to application state.
- manifest
- Plugin manifest parsing and validation.
- viewport_
filter - Viewport filter trait for post-processing rendered frames.
Structs§
- HudToolbar
Button Registration - Registration data for a plugin HUD toolbar button.
- Plugin
Descriptor - Lightweight descriptor produced by directory scanning before the plugin is fully loaded.
- Toolbar
Button Registration - Registration data for a plugin toolbar button.
Enums§
- Icon
Descriptor - Describes how a plugin icon is provided.
- Plugin
Error
Traits§
- Host
Context - Trait implemented by the host and passed to plugins during activation.
- Plugin
- The core trait that every plugin must implement.