Декларативный UI для нативных десктоп-приложений на Rust. Свои DSL-языки — разметка, стили, скрипт — в SFC-файлах, компилируемые в нативные виджеты. Без браузерного движка, без WebView.
- Скобочная разметка вместо HTML-тегов:
Text (classes) { ... } - Рендеринг: winit + wgpu
- Реактивность: сигналы, точечные обновления (Svelte-style, без VDOM)
- MVP-цель: порт bropicker с Slint на BRUL
Проект перезапущен по спецификации plans/spec.md — решения,
требования, дорожная карта. Пошаговый план реализации: plans/implementation-plan.md.
Принятые архитектурные решения: plans/ADR.md.
Состояние v1 заморожено в ветке v1-archive, архив планов v1 — plans/archive-v1/.
| Крейт | Назначение |
|---|---|
brul |
фасад: App/AppBuilder, типизированное состояние, задачи |
brul-core |
типы, ошибки, конфиг, control-сообщения |
brul-gui |
рендер: winit + wgpu |
brul-compiler |
SFC-сплиттер + DSL-парсеры |
brul-macros |
proc-macro (#[command]) |
Планируется: brul-reactive (сигналы, фаза 1), examples/picker (MVP, фаза 4).