# SwiftEdging
> Ein MacOS "Ammonia Tweak" welcher in Kombination mit aspauldingcode's "apple-sharpener" rundungen von SwiftUI Fensterelementen wieder einheitlich Aussehen lässt (auf MacOS 26 - Tahoe, ist aber auch rückwärts anwendbar)
###### *T.Bachmann (aka. crt oder umts) - 2025-12-02 

## Projektbeschreib

### Ausgangslage bzw. Ist-Zustand

Apple hat mit dem "Liquid Glass" Design (intern "Solarium" genannt) eine komplette Design Änderung ihrer Betriebssysteme eingeführt.
Diese Änderung brachte jedoch diverse Inkonsistenzen mit sich, welche sich besonders auf macOS zeigen.

#### Hauptproblem
Inkonsistente Rundungen von Fensterrahmen und UI Elementen innerhalb dieser.

#### Bisherige Lösungsversuche mit Ammonia*
*macOS dylib "Tweak" Injektions Tool


##### Versuch 1 : Rückfall auf altes Design

- Tools: Ammonia + bedtime's "BrokenGlass" Tweak
- Funktion : Deaktiviert das gesamte "Solarium Theme" durch dylib Injektion
- Ergebnis : Einheitliche Fensterrahmen Rundungen / UI Elemente durch verwenden des alten einheitlichen Designs jedoch mit SwiftUI Material Resolution Problemen
- Probleme :
    - "Material Resolution" Probleme :
        - Rechte MenuBar Elemente entweder nicht Sichtbar oder deren Pop-Over Transparent und durchklickbar
        - Benachrichtigungs Relevante Element Hintergründe werden transparent und unlesbar
    - Instabilität des Systems bei verwendung von Apps welche MenuBar Elemente erstellen oder diese anpassen
- Aussicht auf Problemlösung: Um das Problem zu beheben wäre (meines Wissen nachs) extrem komplexes Reverse Engineering auf SwiftUI ABI Basis erforderlich, sowohl Erfolgschancen als auch Kompetenzen sind dafür nicht gegeben, somit für mich nicht lösbar.

##### Versuch 2 : Reparattur des neuen Designs

- Tools: Ammonia + "apple-sharpener" Tweak
- Funktionsweise : Hijacking des macOS Window Managers durch dylib injektion und Swizzling
- Ergebnis : Fensterrahmen werden korrigiert, aber Inkonsistenzen innerhalb der Fenster werden nicht behoben bzw. sogar verschlimmert
- Probleme :
    - Nur Fensterrahmen Rundungen werden korrigiert
    - Neue Inkonsistenzen werden hinzugefügt
    - Warnungs Pop Ups sehen seltsam aus
- Aussicht auf Problemlösung : Um das Problem zu beheben wäre ein weiterer Tweak erforderlich welcher gezielt die UI Elemente innerhalb Fenster repariert. Dies ist sehr gut machbar da Rundungs Anpassungen via Swizzling möglich und somit für mich lösbar sind, nicht so wie Material Resolution Probleme welche (meines Wissen nachs) auf tieferer Ebene gemacht werden müssten.

### Zielsetzung bzw. Soll-Zustand
Entwicklung eines macOS Tweaks der die Rundungswerte betroffener UI Elemente gezielt und flexibel anpassen kann und mindestens mit "apple-sharpener" kompatibel ist.

#### Kernfunktion
- Regelbasiertes System : Definition von Rulesets welche gezielt Anpassung von Apps und individuellen UI Elementen erlauben
- JSON basierte Konfiguration : Strukturierte Verwaltung der Anwendungs und Anpassungsregeln

#### Benutzeroberfläche
- MenuBar App : Grafische Oberfläche für Steuerung
- Funktionen :
    - Aktivieren / Deaktivieren von Rulesets für spezifische Fenster
    - Verwaltung von App spezifischen Ausnahmen/Inklusionen
    - Dynamische Anpassungen ohne manuelle JSON Bearbeitung
- Zweck : Fehlerbehandlung bei Inkompatibilitäten Apps sowie anwendung auf noch nicht in JSON inklusierten App whitelist

