Zustände des Menüleistensymbols
Geltungsbereich: macOS-App (apps/macos). Rendering: CritterIconRenderer.makeIcon(...). Verknüpfung von Animation und Zustand: CritterStatusLabel + CritterStatusLabel+Behavior.swift.
Zustände
Ein Werkzeugaktivitäts-Badge (SF-Symbol-Plakette, z. B.
chevron.left.slash.chevron.right für die Ausführung) kann über demselben Tierchensymbol dargestellt werden, wenn eine Sitzung einen aktiven Auftrag oder ein aktives Werkzeug aufweist. Dieses Badge stammt aus IconState/ActivityKind; das vollständige Zustandsmodell finden Sie unter Menüleiste.
Ohren bei Sprachaktivierung
- Auslöser:
AppStateStore.shared.triggerVoiceEars(ttl: nil), aufgerufen aus der Aufzeichnungspipeline für die Sprachaktivierung (VoiceWakeRuntime) sowie aus den Debug-/Testwerkzeugen für die Sprachaktivierung (VoiceWakeTester,VoiceWakeOverlayController). - Beenden:
stopVoiceEars(), wird beim Abschluss der Aufzeichnung aufgerufen. - Stillefenster vor dem Abschluss: normalerweise
2.0s,5.0s, wenn nur das Aktivierungswort erkannt wurde und keine weitere Sprache folgte (VoiceWakeRuntime.silenceWindow/triggerOnlySilenceWindow). - Während der Verstärkung werden die Zeitgeber für Blinzeln, Wackeln, Beine und Ohren im inaktiven Zustand ausgesetzt (
earBoostActivesteuert die Animationsaufgabe inCritterStatusLabel+Behavior).
Formen und Größen
- Zeichenfläche: 18x18pt-Vorlagenbild, gerendert in einen 36x36px-Bitmap-Zwischenspeicher (2x), damit das Symbol auf Retina-Displays scharf bleibt.
- Die Ohrskalierung ist standardmäßig auf
1.0festgelegt; die Sprachverstärkung setztearScale=1.9, ohne den Gesamtrahmen zu verändern. antennaDroop(0-1) klappt die Antennen für die pausierte und schlafende Haltung nach unten.- Das schnelle Trippeln der Beine verwendet
legWigglebis1.0mit einem kleinen horizontalen Wackeln.
Hinweise zum Verhalten
- Es gibt keinen externen CLI-/Broker-Schalter für die Ohren oder den Arbeitszustand; beide werden intern durch App-Signale (
AppState.setWorking,AppState.triggerVoiceEars) gesteuert, um unbeabsichtigtes Flattern zu vermeiden. - Halten Sie jede neue TTL kurz (deutlich unter 10s), damit das Symbol schnell in den Ausgangszustand zurückkehrt, falls ein Auftrag hängen bleibt.