Open kamirr opened 1 year ago
I've been wondering how I would go about making a plugins feature for a program I'm making.
It would be nice to expand functionality without modifying the actual program.
maybe duplicate of https://github.com/emilk/egui/issues/1004
Is your feature request related to a problem? Please describe. Consider a program that wishes to enable development of plugins which could render their own UI within the parent app window. A concrete example would be a Digital Audio Workstation (DAG).
This maps well to egui architecture, as the plugin only needs
&mut egui::Ui
for most basic functionality. Passing&egui::Context
as well would enable more, but isn’t necessary for an MVP.The issue here is that Rust doesn’t provide a stable ABI out of the box.
Describe the solution you'd like Make
egui::Ui
and all arguments of its methodsrepr(C)
and FFI-safe.Describe alternatives you've considered
Additional Context The abi_stable crate could do most of the heavy lifting AFAICT.
Open questions