forked from fritob/Camper-Monitor
solar-integration (aus dem separaten VanAligneiOS-Repo) und dev_watch haben unabhängige Git-Historien, decken aber überlappende und sich ergänzende Funktionen ab. Übernommen aus solar-integration: Votronic- Solar-ESP-Anbindung samt Geräterolle, die Live-Activity/Widget-Extension fürs Sperrbildschirm/Dynamic-Island/CarPlay, das Querformat-Layout für Libelle/Fahrzeug-Ansicht und Ausrichtungs-Assistent, sowie die mehreren Fahrzeuggrafik-Stile (Vanster/California). Beibehalten aus dev_watch: alle zusätzlichen Geräteprotokolle (Daly-/JBD-BMS, Alpicool- Kühlbox, WattCycle, Victron), die dort zwischenzeitlich entstanden. Die Xcode-Projektdatei wurde von Hand um die neue Widget-Extension samt SharedActivity-Gruppe erweitert (Datei-synchronisierte Gruppen, kein App-Group-Entitlement nötig). Build für App, Watch und Widget-Extension geprüft (Debug und Release). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
43 lines
1.8 KiB
Markdown
43 lines
1.8 KiB
Markdown
# Werkzeuge
|
||
|
||
## make-app-icon.swift
|
||
|
||
Bereitet `logo.png` zum App-Icon auf. Nötig, weil das Logo als fertige Kachel
|
||
vorliegt: mit weißem Rand und eingebrannten runden Ecken. iOS maskiert die
|
||
Ecken selbst und verbietet einen Alphakanal – unbearbeitet säße auf dem
|
||
Homescreen ein weißer Rahmen um das Icon.
|
||
|
||
Das Skript schneidet den weißen Rand weg, macht den Ausschnitt quadratisch und
|
||
versetzt ihn so weit nach innen, bis die vier Ecken im Hintergrund liegen.
|
||
Anschließend skaliert es auf 1024×1024 ohne Alphakanal.
|
||
|
||
```bash
|
||
swiftc -O -o /tmp/make-app-icon Tools/make-app-icon.swift
|
||
/tmp/make-app-icon logo.png CamperMonitor/Assets.xcassets/AppIcon.appiconset/AppIcon-1024.png
|
||
```
|
||
|
||
Nur nötig, wenn `logo.png` sich ändert – das erzeugte Icon liegt im Repo.
|
||
|
||
## make-vehicle-art.swift
|
||
|
||
Bereitet die Fahrzeugzeichnungen aus VanAlign Pro für die Neigungsanzeige auf.
|
||
Die Vorlagen sind weiß gefüllt mit dunklen Linien und Fenstern. Als Schablone
|
||
eingefärbt ginge beides verloren, weil alles Deckende zur Tintfarbe wird –
|
||
übrig bliebe eine massive Fläche.
|
||
|
||
Das Skript übersetzt deshalb die Helligkeit in Deckkraft: dunkle Linien werden
|
||
voll deckend, die helle Karosserie nur angedeutet. Eingefärbt ergibt das eine
|
||
gefüllte Form, in der die Details erhalten bleiben.
|
||
|
||
```bash
|
||
swiftc -O -o /tmp/make-vehicle-art Tools/make-vehicle-art.swift
|
||
sips --resampleHeight 600 heckansicht.png --out /tmp/rear.png
|
||
/tmp/make-vehicle-art /tmp/rear.png CamperMonitor/Assets.xcassets/VansterRear.imageset/VansterRear.png
|
||
```
|
||
|
||
Jedes Fahrzeug-Grafikset (siehe `VehicleGraphicStyle`) hat sein eigenes
|
||
Bildpaar `<Name>Side`/`<Name>Rear`. Hat die Vorlage schon einen
|
||
transparenten Hintergrund, geht die Quelldatei direkt ins Skript. Liegt sie
|
||
auf weißem Grund, muss der Rand vorher weg – sonst wird die ganze Fläche
|
||
mitgefärbt.
|