Expand description
WebAssembly plugin runtime for Martensite.
This crate embeds a Wasmtime sandbox and exposes a zero-allocation shared memory ring buffer so that third-party widgets can push paint commands at 60 Hz / 120 Hz without host-trampoline overhead. Plugins run with a fuel budget and epoch-based interruption, and every host call is validated against an explicit capability set.
The crate is written entirely in safe Rust.
Re-exports§
pub use ring_buffer::PluginPaintCmd;pub use ring_buffer::PluginRingBuffer;pub use ring_buffer::RingBufferError;pub use ring_buffer::DEFAULT_CAPACITY;pub use ring_buffer::SHARED_HEADER_SIZE;pub use runtime::PluginError;pub use runtime::PluginInstance;pub use runtime::PluginRuntime;pub use runtime::PluginState;pub use runtime::DEFAULT_FUEL_BUDGET;pub use runtime::RING_BUFFER_REGION_SIZE;pub use security::Capability;pub use security::CapabilitySet;pub use security::PluginBuilder;
Modules§
- ring_
buffer - Zero-allocation shared-memory ring buffer for paint commands. Zero-allocation shared-memory ring buffer for plugin paint commands.
- runtime
- Wasmtime sandbox, WASIp1 context, and plugin instance lifecycle. Wasmtime-powered sandboxed runtime for Martensite plugins.
- security
- Capability-based security model and builder API. Capability-based security sandbox for Martensite plugins.