import SwiftUI /// Was sich die Fahrzeugansichten auf iPhone und Uhr teilen. /// /// Beide zeichnen dieselben Schablonen, nur in anderer Grösse – die Regeln, /// nach denen gekippt und eingefärbt wird, dürfen deshalb nicht zweimal /// dastehen und auseinanderlaufen. enum VehicleTilt { /// Kleine Neigungen sind am Fahrzeug sonst kaum zu erkennen – zwei Grad /// wären ein knappes Grad Bildneigung. Die Überhöhung wird angeschrieben, /// damit niemand den Bildwinkel für den echten nimmt. static let exaggeration: Double = 3 /// Seitenansicht: Front links, Heck rechts. static let sideAspect = 925.0 / 600.0 /// Heckansicht, quadratisch. static let rearAspect = 1.0 /// Grün heisst eben, orange bis zwei Grad, darüber rot. static func colour(for angle: Double?) -> Color { guard let angle else { return .secondary } if abs(angle) <= LevelState.levelTolerance { return .green } return abs(angle) <= 2 ? .orange : .red } }