CamperMonitor (Haupt-Repo) und VanAligneiOS (aus dem gemergten solar-integration-Branch) liefen unter zwei verschiedenen internen Namen, obwohl die App nach aussen längst einheitlich "VanControl Pro" heisst. Jetzt durchgängig VanControl: - Ordner: CamperMonitor/, CamperMonitorWatch/, CamperMonitorComplication/, VanAligneiOSWidget/ → VanControl/, VanControlWatch/, VanControlComplication/, VanControlWidget/ - Xcode-Projekt: CamperMonitor.xcodeproj → VanControl.xcodeproj, alle Targets/Schemes/Produktnamen entsprechend umbenannt - Bundle-Identifier auf Wunsch mitgeändert: de.s0.fototeddy.VanControl* (App noch nicht veröffentlicht); dabei auch die WKCompanionAppBundleIdentifier-Werte korrigiert, die noch das alte de.fritob-Präfix statt des tatsächlichen de.s0.fototeddy-Präfixes trugen - Swift-Dateien/Typen: CamperMonitorApp → VanControlApp, VanAligneiOSWidget* → VanControlWidget* - Config/*-Info.plist umbenannt, README.md/Tools/README.md/run-tests.sh auf die neuen Pfade angepasst Bewusst unverändert: firmware/vanalign und alle Bezüge auf "VanAlign" als Namen der Neigungsmesser-Hardware (eigenständiges Produkt, kein App-Name) sowie der komplette Android/-Ordner. Build (App, Watch, Debug) und Protokoll-Testlauf grün. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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.
swiftc -O -o /tmp/make-app-icon Tools/make-app-icon.swift
/tmp/make-app-icon logo.png VanControl/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.
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 VanControl/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.