Macro Deck UI
Плагины могут приносить собственный интерфейс
Плагины не ограничиваются добавлением действий и переменных. В Macro Deck есть собственный декларативный UI-фреймворк для C#: вы один раз описываете представление в виде дерева компонентов, а Macro Deck отрисовывает его там, где оно нужно: как виджет деки, экран настроек, представление папки или модальное окно.
var muted = new UiState<bool>(false);
var tile = new UiButton
{
Key = "mute",
Justify = UiComponentJustify.Center,
Background = UiValue.From(() => muted.Value ? "#ff3b30" : "#2c2c2e"),
Events = [UiEventHandler.On(UiComponentEvents.Press, () => muted.Value = !muted.Value)],
Children = [new UiTextRun
{
Key = "label",
Text = UiText.From(() => muted.Value ? "Muted" : "Mute"),
Size = 0.14,
}],
};
var view = new UiView(request.Surface, tile);

Macrogotchi показывает, как далеко это можно зайти. Этот плагин с открытым кодом держит на деке виртуального питомца: шкалы состояния, пиксельный спрайт из цветных ячеек и шесть кнопок, и всё это в одном виджете.
Представления собираются из компонентов Macro Deck UI, таких как стеки, сетки, графики, индикаторы и ползунки, а не из встроенных веб-страниц, поэтому они хорошо вписываются в остальную деку.






