Libelle: Blase wandert zur höheren Seite, einheitlich auf allen Anzeigen

Die drei Libellen widersprachen sich: Die Live Activity liess die Blase bei
positivem Pitch nach unten wandern – mit dem Kommentar "wie bei der echten
Wasserwaage in der App" –, waehrend iPhone und Uhr genau das Gegenteil taten.
Gemeint war immer eine Draufsicht mit Fahrtrichtung oben, in der die Blase zur
hoeheren Seite ausschlaegt: Steht das Heck hoeher, gehoert sie nach hinten,
also nach unten. iPhone und Uhr ziehen jetzt nach.

Die Android-Fassung bleibt vorerst bei der alten Richtung.

Dazu `shortInstructions`: dieselbe Aussage wie `instruction`, aber in kurzen
Zeilen statt einem Satz. Auf schmalen Anzeigen passt "Heck steht hoeher, links
steht hoeher" in keine lesbare Zeile. Beide stehen nebeneinander, damit die
Vorzeichen nicht auseinanderlaufen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
fototeddy
2026-09-10 18:35:14 +02:00
co-authored by Claude Opus 5
parent 8401f62d91
commit b1ffbe324a
3 changed files with 28 additions and 6 deletions
+19
View File
@@ -65,6 +65,25 @@ struct LevelState: Equatable, Codable, Sendable {
return parts.joined(separator: ", ")
}
/// Dasselbe wie ``instruction``, aber in kurzen Zeilen statt einem Satz
/// für schmale Anzeigen wie das CarPlay-Display, wo "Heck steht höher,
/// rechts steht höher" nicht in eine lesbare Zeile passt.
///
/// Die Vorzeichen müssen zu ``instruction`` passen; beide stehen deshalb
/// nebeneinander.
var shortInstructions: [String] {
guard let pitch, let roll else { return [] }
if isLevel { return ["Steht eben"] }
var parts: [String] = []
if abs(pitch) > Self.levelTolerance {
parts.append(pitch > 0 ? "Heck höher" : "Front höher")
}
if abs(roll) > Self.levelTolerance {
parts.append(roll > 0 ? "Rechts höher" : "Links höher")
}
return parts
}
func snapshot(deviceID: UUID, rssi: Int?) -> DeviceSnapshot {
var snapshot = DeviceSnapshot(deviceID: deviceID, timestamp: Date(), rssi: rssi)
snapshot.metrics = [