Architektur
AURA trennt die Beschreibung der Oberfläche von den Diensten der Anwendung. Der Szenengraph und die Laufzeit bleiben in C++.
Ein Format, zwei Wege
aurac übersetzt .aura beim Build in C++. Der dynamische Loader baut dieselben Dateien zur Laufzeit auf. Die App arbeitet in beiden Fällen mit demselben typisierten Interface. Gemeinsame Schemas und Regeln halten beide Pfade zusammen.
Die Schichten
| Modul | Aufgabe |
|---|---|
| aura-lang / aurac | Sprache, Parser, Schema und C++-Generator |
| aura-ui | Szenengraph, Layout, Text, Eingabe, Animationen und Medien |
| aura-core | Bindungen, Tasks, Timer, Prozesse, Datenformate und Geräte |
| aura-net | HTTP(S), Server, Sitzungen, TLS und Kryptografie |
| aura-script | JavaScript und Lua mit gemeinsamer C++-API und Limits |
| aura-remote | Screenshots, Ereignisse und Szene über HTTP |
| aura-preview | Vorschau, Headless-Rendering und Editor-Protokoll |
| aura-webview | Optionales Chromium/CEF im Szenengraph |
Der Anwendungskontext
Die UI erhält Bilder, Übersetzungen, Theme-Werte und weitere Anwendungsdaten über aura::ui::Context. Ein eigener Kontext verbindet das Framework mit deiner Anwendung. AURA selbst kennt keine kiosk-spezifischen Bestell- oder Produktdaten.
Threads und Lebensdauer
Der Szenengraph gehört auf den UI-Thread. Hintergrundaufgaben liefern ihre Ergebnisse über aura::post() oder TaskRunner; beobachtbare Werte halten Bindungen aktuell. Die App-Dokumentation und Lebensdauer-Regeln beschreiben die Details.
Rendering
Skia zeichnet 2D-Grafik und Text. SDL3 übernimmt Fenster, Eingabe und GL-Kontext. Headless-PNGs ermöglichen visuelle Tests ohne Fenster. Die Grafik-Dokumentation beschreibt Rendering, Layout und Hintergrundarbeit.
Buildoptionen
UI, Netzwerk, Skripte und WebView lassen sich separat konfigurieren. WebView benötigt CEF und ist standardmäßig deaktiviert. Siehe Build und Werkzeuge und WebView.
website · Markdown herunterladen