Skip to main content

Crate eov_plugin_api

Crate eov_plugin_api 

Source
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

  1. Create a directory under the plugin directory (default ~/.eov/plugins/).
  2. Add a plugin.toml manifest (see PluginManifest).
  3. Place your .slint UI file relative to the plugin root.
  4. Implement the Plugin trait 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§

HudToolbarButtonRegistration
Registration data for a plugin HUD toolbar button.
PluginDescriptor
Lightweight descriptor produced by directory scanning before the plugin is fully loaded.
ToolbarButtonRegistration
Registration data for a plugin toolbar button.

Enums§

IconDescriptor
Describes how a plugin icon is provided.
PluginError

Traits§

HostContext
Trait implemented by the host and passed to plugins during activation.
Plugin
The core trait that every plugin must implement.

Type Aliases§

PluginResult