forked from fritob/Camper-Monitor
Seiten- und Heckansicht kamen als weiß gefüllte Vorlage ohne Alphakanal (Tools/California Side.png, Tools/California Back.png). Dafür ein neues Werkzeug ergänzt, das den weißen Grund in echte Transparenz übersetzt (mit weichem statt hartem Schwellwert, um Kanten nicht auszufransen), danach wie gewohnt durch make-vehicle-art.swift geschickt. California hatte bisher keine eigene Heckansicht und griff ersatzweise auf die von Vanster zurück – jetzt eigenes CaliforniaRear-Imageset, VehicleGraphicStyle.rearImageName entsprechend angepasst. Seiten- und Heckbild sind quadratisch (1254×1254), passend zu den bestehenden Seitenverhältnissen (sideAspect/rearAspect = 1) – keine Anpassung dort nötig. Build und Tests grün. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
60 lines
2.5 KiB
Markdown
60 lines
2.5 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 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.
|
||
|
||
```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 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 – siehe `remove-white-background.swift`.
|
||
|
||
## remove-white-background.swift
|
||
|
||
Vorstufe zu `make-vehicle-art.swift`, wenn die Vorlage auf weißem statt
|
||
transparentem Grund liegt (kein Alphakanal). Ohne diesen Schritt hielte
|
||
`make-vehicle-art` die ganze Fläche für Zeichnung und färbte den Hintergrund
|
||
mit ein.
|
||
|
||
Reines Weiß wird voll durchsichtig, alles andere bleibt stehen; ein weicher
|
||
Übergang statt einer harten Schwelle vermeidet gezackte Kanten an
|
||
kantengeglätteten Linien.
|
||
|
||
```bash
|
||
swiftc -O -o /tmp/remove-white-background Tools/remove-white-background.swift
|
||
swiftc -O -o /tmp/make-vehicle-art Tools/make-vehicle-art.swift
|
||
/tmp/remove-white-background seitenansicht.png /tmp/seite-transparent.png
|
||
/tmp/make-vehicle-art /tmp/seite-transparent.png VanControl/Assets.xcassets/CaliforniaSide.imageset/CaliforniaSide.png
|
||
```
|