Alle Screenshots zeigen ausschließlich das jeweilige App-Fenster — kein Desktop, kein Hintergrund. Aufgenommen mit dem hauseigenen Tool tools/CaptureWindow.swift, das via CGWindowListCopyWindowInfo das exakte App-Fenster identifiziert und an screencapture -l <id> weitergibt. Klicke ein Bild für die volle Größe.
🧪 Aktuelles Beispiel in den Detail-Ansichten: Markdown-Link-Pattern
\[([^\]]+)\]\(([^)\s]+)(?:\s+"([^"]*)")?\)— drei Capture-Gruppen, ein non-capturing optionaler Block.
🪟 Hauptansicht
Sidebar · Liste · Detail
Sidebar mit Kategorien-Filter, RegEx-Liste mit Suche und Detail-Pane mit Editor, Tabs, Footer und AI-Eingabe. Hier ist das Beispiel „Markdown-Link" selektiert — eine Pattern-Familie mit vielen interessanten Konstrukten auf einmal.

🎨 Visualisierung
Drei Capture-Gruppen + non-capturing optional
Die ersten beiden Gruppen erfassen Linktext und Ziel-URL. Die dritte ist eingebettet in einen non-capturing Block (?:…)?, der den optionalen Title hinter der URL erfasst — sichtbar als gestrichelte Box mit dem ?-Quantifier rechts.
\[([^\]]+)\]\(([^)\s]+)(?:\s+"([^"]*)")?\)
Backreference im Diagramm
Das Pattern (\w)\1{2,} nutzt eine Backreference: \1 verweist auf die zuvor erfasste Gruppe, der Quantifier {2,} verlangt zwei oder mehr identische Wiederholungen — perfekt, um „Mhhh" oder „aaaaah" zu finden.
(\w)\1{2,}
🎯 Treffer
Mehrere Treffer, jede Gruppe einzeln aufgelistet
Im Testtext stecken zwei Links — der zweite hat zusätzlich einen Title-String. Die Treffer-Ansicht zeigt für jeden Match Position, Länge und alle drei Capture-Gruppen mit eigenem farbigen Hintergrund.

🐞 Schritt-Debugger
Kompilieren → Suche → Match → Capture-Gruppen → Done
Pro Schritt ein Symbol, Titel, Beschreibung und (optional) ein Wert-Snippet. So lässt sich nachvollziehen, was die ICU-Engine intern bei einem komplexen Pattern macht — inklusive jeder einzelnen Capture-Gruppe.

🧠 Erklärung
Rekursive AST-Erklärung in Klartext
Der Pattern wird in Sequenzen, Gruppen, Zeichenklassen und Quantifier zerlegt — eingerückt nach AST-Tiefe. Hilfreich, um geerbte oder generierte Patterns zu verstehen.

📚 Hilfe-Fenster
Eigenständiges Fenster mit 3-Spalten-NavigationSplitView
Sidebar mit allen Topics + Volltextsuche. Im Hauptbereich Markdown-formatierte Inhalte mit Mini-Visualisierungen pro Beispiel — gleicher Layout-Algorithmus wie in der App.

?, *, +, {n,m} mit Live-Visualisierung jedes Beispiels
Greedy vs. lazy, optionales u, Mengen-Wiederholung — pro Beispiel ein eigenes Mini-Diagramm.

Wie liest man das Diagramm?
Erklärung jeder Knoten-Farbe, Quantifier-Pillen und der gestrichelten Gruppen-Boxen. Inklusive Beispiel mit drei Capture-Gruppen.

Capturing, Named, Non-Capturing, Backreferences
Die unterschiedlichen Klammer-Schreibweisen, Live-Beispiele und Hinweise, wann welche Form sinnvoll ist.

⚙️ Einstellungen
Theme, Akzentfarbe, Highlight-Stil
System/Hell/Dunkel, 8 Akzentfarben zur Auswahl, drei Hervorhebungs-Stile für Treffer im Editor. Reset-Button setzt alle Einstellungen zurück.

Schriftgröße, Live-Match, Debounce
Schriftgröße zwischen 10 und 22 pt, Monospaced-Font on/off, Live-Match-Toggle, Debounce 0–500 ms.

Quantifier-Labels, Gruppen-Boxen, Knoten-Stil
Optionale Quantifier-Pillen, optionale Gruppen-Rahmen, Wahl zwischen abgerundeten/eckigen/Pillen-Knoten und Animation der Treffer.

API-Key, Modell, System-Prompt, Verbindungstest
API-Key (in Debug-Builds Test-Key-Fallback), Base-URL, Modellname und ein editierbarer System-Prompt. Auto-Apply oder als neuen Eintrag speichern. Probe-Button sendet einen Test-Request.
