Skip to main content

Crate tellur_plugin

Crate tellur_plugin 

Source
Expand description

The timeline plugin ABI contract shared by authored projects and the live-preview host.

An authored timeline is compiled to a cdylib that exports a single entry symbol (ENTRY_SYMBOL) returning a TimelineCollection; the host dlopens the library and calls it. This contract intentionally uses Rust types across the dynamic-library boundary, so it is sound only when the host and plugin are built from the same tellur version, toolchain, and resolved boundary-crate versions — it is NOT a stable C ABI. The entry symbol is versioned so a stale plugin fails to resolve cleanly instead of hitting a vtable mismatch, and abi::ABI_FINGERPRINT_SYMBOL carries a finer-grained fingerprint checked at load time.

Re-exports§

pub use abi::validate_plugin_fingerprint;
pub use abi::AbiFingerprintFn;
pub use abi::AbiMismatchError;
pub use abi::ABI_FINGERPRINT;
pub use abi::ABI_FINGERPRINT_SYMBOL;

Modules§

abi
Runtime ABI fingerprint validation for live-preview plugin loading.

Macros§

export_timeline
Exports a single TimelineComponent root from a cdylib.
export_timeline_collection
Exports a custom TimelineCollection builder from a cdylib.

Structs§

SingleTimeline
Wraps a single resolved TimelineComponent as a one-entry collection.
TimelineInfo
Metadata for one timeline exposed by a plugin.

Constants§

ENTRY_SYMBOL
ABI version carried by the entry symbol.

Traits§

TimelineCollection
A collection of timelines exported by one dynamic library.

Functions§

single_timeline
Resolves root and wraps it as a one-entry TimelineCollection.
single_timeline_with_canvas
Like single_timeline but resolves against an explicit logical canvas.

Type Aliases§

EntryFn
The signature of the ENTRY_SYMBOL entry point a plugin exports.