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.

Dokumentationsquelle: website · Markdown herunterladen

Suche nach Themen, Widgets oder APIs.