मेनू बार आइकन की अवस्थाएँ
दायरा: macOS ऐप (apps/macos)। रेंडरिंग: CritterIconRenderer.makeIcon(...)। ऐनिमेशन/अवस्था वायरिंग: CritterStatusLabel + CritterStatusLabel+Behavior.swift।
अवस्थाएँ
जब किसी सत्र में कोई सक्रिय कार्य या टूल हो, तो उसी जीव-जंतु आइकन के ऊपर टूल-गतिविधि बैज (SF Symbol पक, जैसे exec के लिए
chevron.left.slash.chevron.right) रेंडर किया जा सकता है। यह बैज IconState/ActivityKind से आता है; पूर्ण अवस्था मॉडल के लिए मेनू बार देखें।
वॉइस वेक कान
- ट्रिगर:
AppStateStore.shared.triggerVoiceEars(ttl: nil), जिसे वॉइस-वेक कैप्चर पाइपलाइन (VoiceWakeRuntime) और वॉइस-वेक डीबग/परीक्षण टूलिंग (VoiceWakeTester,VoiceWakeOverlayController) से कॉल किया जाता है। - रोकना:
stopVoiceEars(), जिसे कैप्चर पूरा होने पर कॉल किया जाता है। - पूरा करने से पहले मौन अवधि: सामान्यतः
2.0s, और यदि केवल ट्रिगर शब्द सुना गया हो तथा उसके बाद कोई और वाणी न हो, तो5.0s(VoiceWakeRuntime.silenceWindow/triggerOnlySilenceWindow)। - बूस्ट के दौरान निष्क्रिय पलक-झपकने/हिलने/पैर/कान के टाइमर निलंबित रहते हैं (
earBoostActive,CritterStatusLabel+Behaviorमें ऐनिमेशन कार्य को नियंत्रित करता है)।
आकृतियाँ और आकार
- कैनवास: 18x18pt टेम्पलेट छवि, जिसे 36x36px बिटमैप बैकिंग स्टोर (2x) में रेंडर किया जाता है, ताकि Retina पर आइकन स्पष्ट बना रहे।
- कान का स्केल डिफ़ॉल्ट रूप से
1.0है; वॉइस बूस्ट समग्र फ़्रेम को बदले बिनाearScale=1.9सेट करता है। antennaDroop(0-1), विरामित और सोने की मुद्राओं के लिए एंटेना को नीचे मोड़ता है।- पैरों की तेज़ गति
legWiggleसे1.0तक होती है, साथ ही थोड़ा क्षैतिज कंपन होता है।
व्यवहार संबंधी टिप्पणियाँ
- कानों या कार्यरत अवस्था के लिए कोई बाहरी CLI/ब्रोकर टॉगल नहीं है; आकस्मिक फड़फड़ाहट से बचने के लिए दोनों ऐप संकेतों (
AppState.setWorking,AppState.triggerVoiceEars) द्वारा आंतरिक रूप से संचालित होते हैं। - हर नए TTL को छोटा (10s से काफी कम) रखें, ताकि यदि कोई कार्य अटक जाए तो आइकन शीघ्रता से आधारभूत अवस्था में लौट आए।