Плагины из себя представляют внешние библиотеки (.dll для windows, .so для linux), которые ищутся при старте приложения в заранее заданной директории (например ./plugins), затем конфигурируются (выбираются те, которые следует загружать и выполнять), затем выбранные загружаются и выполняются. Так же должна быть возможностью последующего выключения и выгрузки плагинов (в специальном пункте меню). Плагины, как раз, и занимаются добавлением объектов в рендер для последующего их отображения.
Данные, которые должен содержать в себе плагин:
- Имя (может не совпадать с именем библиотеки)
- Тип (не обязательно; возможно для последующего разделения плагинов по функциональности)
- Автор (имя автора + контактная информация)
- Описание (чтобы знать, чего плагин делает)
- Версия плагина
- Требуемая версия рендера (не ниже)