macOS companion app

मेनू बार आइकन

मेनू बार आइकन की अवस्थाएँ

दायरा: macOS ऐप (apps/macos)। रेंडरिंग: CritterIconRenderer.makeIcon(...)। ऐनिमेशन/अवस्था वायरिंग: CritterStatusLabel + CritterStatusLabel+Behavior.swift

अवस्थाएँ

अवस्था ट्रिगर दृश्य
निष्क्रिय डिफ़ॉल्ट सामान्य पलक झपकाने/हिलने का ऐनिमेशन; खुली आँखों में चमकदार झलक बनी रहती है
विरामित isPaused=true खुली आँखों के साथ एंटेना झुक जाते हैं ("ड्यूटी पर नहीं"); कोई गति नहीं
सो रहा है Gateway डिस्कनेक्टेड/कॉन्फ़िगर नहीं है एंटेना झुक जाते हैं और आँखें बंद होकर ⌣ ⌣ पलकों में बदल जाती हैं; कोई गति नहीं
उत्सव संदेश भेजा गया (sendCelebrationTick) आँखें लगभग 0.9s तक प्रसन्न ∩ ∩ चापों के रूप में चमकती हैं, साथ ही पैर से किक होती है
वॉइस वेक (बड़े कान) वेक शब्द सुना गया एंटेना सीधे और अधिक ऊँचे होकर तन जाते हैं (earScale=1.9); मौन के बाद नीचे हो जाते हैं
कार्यरत isWorking=true या कोई सक्रिय IconState पैर अधिक तेज़ी से हिलते हैं (legWiggle से 1.0 तक), साथ ही थोड़ा क्षैतिज विस्थापन होता है; निष्क्रिय अवस्था के हिलने में अतिरिक्त रूप से जुड़ता है

जब किसी सत्र में कोई सक्रिय कार्य या टूल हो, तो उसी जीव-जंतु आइकन के ऊपर टूल-गतिविधि बैज (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 से काफी कम) रखें, ताकि यदि कोई कार्य अटक जाए तो आइकन शीघ्रता से आधारभूत अवस्था में लौट आए।

संबंधित

Was this useful?
On this page

On this page