feat: generate Swift design tokens from tokens.json and add SstUI base

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-01 15:19:06 +02:00
co-authored by Claude Sonnet 5.5
parent bf731dab37
commit bd6bc3b890
10 changed files with 659 additions and 21 deletions
+15 -2
View File
@@ -45,7 +45,11 @@
"opacity": {
"mark": { "value": 0.30, "use": "Amber markering achter een gecorrigeerd woord" },
"disabled": { "value": 0.45, "use": "Uitgeschakelde bediening" },
"unlit": { "value": 1.00, "use": "Gedoofde lampjes gebruiken eigen 'unlit'-kleuren, geen transparantie" }
"unlit": { "value": 1.00, "use": "Gedoofde lampjes gebruiken eigen 'unlit'-kleuren, geen transparantie" },
"pressedRecord": { "value": 0.85, "use": "Ingedrukte REC-toets: het rood dooft licht" },
"specularOn": { "value": 0.60, "use": "Lichtvlekje op een brandend lampje" },
"specularOff": { "value": 0.30, "use": "Lichtvlekje op een gedoofd lampje" },
"caption": { "value": 0.75, "use": "Kleine opschriften op de wijzerplaat" }
},
"font": {
@@ -72,7 +76,9 @@
"digitWidth": { "value": 20, "use": "Breedte van een segmentcijfer" },
"thickness": { "value": 4, "use": "Dikte van één segment" },
"gap": { "value": 1, "use": "Ruimte tussen segmenten" },
"slant": { "value": 0, "use": "Schuinte in graden; 0 = rechtop" }
"slant": { "value": 0, "use": "Schuinte in graden; 0 = rechtop" },
"advance": { "value": 26, "use": "Afstand van cijfer tot cijfer" },
"colonWidth": { "value": 10, "use": "Breedte van een dubbele punt of punt" }
},
"space": {
@@ -179,6 +185,13 @@
"vu.height": { "value": 150, "use": "Hoogte van de meter" },
"vu.needleWidth": { "value": 1.5, "use": "Dikte van de wijzer" },
"vu.ticks": { "value": "-20 -10 -7 -5 -3 0 +3", "use": "Genummerde schaalmarkeringen" },
"vu.pivotOffset": { "value": 22, "use": "Draaipunt van de wijzer, onder de onderrand van de wijzerplaat" },
"vu.scaleRadius": { "value": 142, "use": "Straal van de schaalboog vanaf het draaipunt" },
"vu.needleLength": { "value": 146, "use": "Lengte van de wijzer" },
"vu.tickMajor": { "value": 11, "use": "Lengte van een genummerde streep" },
"vu.tickMinor": { "value": 6, "use": "Lengte van een gewone streep" },
"vu.labelInset": { "value": 24, "use": "Afstand van de schaalboog tot de cijfers" },
"vu.redBandWidth": { "value": 5, "use": "Dikte van de rode band vanaf 0 VU" },
"led.segments": { "value": 12, "use": "Aantal segmenten: 8 groen, 3 amber, 1 rood" },
"led.segmentSize": { "value": "6x14", "use": "Segment in pt (breedte x hoogte)" },
"led.gap": { "value": 2, "use": "Ruimte tussen segmenten" },