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
TimelineComponentroot from acdylib. - export_
timeline_ collection - Exports a custom
TimelineCollectionbuilder from acdylib.
Structs§
- Single
Timeline - Wraps a single resolved
TimelineComponentas a one-entry collection. - Timeline
Info - Metadata for one timeline exposed by a plugin.
Constants§
- ENTRY_
SYMBOL - ABI version carried by the entry symbol.
Traits§
- Timeline
Collection - A collection of timelines exported by one dynamic library.
Functions§
- single_
timeline - Resolves
rootand wraps it as a one-entryTimelineCollection. - single_
timeline_ with_ canvas - Like
single_timelinebut resolves against an explicit logicalcanvas.
Type Aliases§
- EntryFn
- The signature of the
ENTRY_SYMBOLentry point a plugin exports.