मुख्य सामग्री पर जाएं

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

लेखक: steipete · अपडेटेड: 2025-12-06 · स्कोप: macOS ऐप (apps/macos)
  • Idle: सामान्य आइकन एनीमेशन (पलक झपकना, कभी-कभार हल्की हिलावट)।
  • Paused: स्टेटस आइटम appearsDisabled का उपयोग करता है; कोई गति नहीं।
    1. Voice trigger (big ears): वॉयस वेक डिटेक्टर वेक वर्ड सुनते ही AppState.triggerVoiceEars(ttl: nil) कॉल करता है, जिससे utterance कैप्चर होने तक earBoostActive=true बना रहता है। 8. कानों का स्केल बढ़ता है (1.9x), पठनीयता के लिए गोल कान के छेद बनते हैं, फिर 1s की चुप्पी के बाद stopVoiceEars() के जरिए नीचे आ जाते हैं। 9. केवल इन-ऐप वॉयस पाइपलाइन से ट्रिगर होता है।
    1. Working (agent running): AppState.isWorking=true एक “tail/leg scurry” माइक्रो‑मोशन चलाता है: काम चलने के दौरान तेज़ पैर हिलना और हल्का ऑफ़सेट। 11. फिलहाल WebChat एजेंट रन के आसपास टॉगल किया गया है; जब आप अन्य लंबे कार्य जोड़ें, तो उनके आसपास भी यही टॉगल जोड़ें।
वायरिंग पॉइंट्स
  • वॉइस वेक: रनटाइम/टेस्टर ट्रिगर पर AppState.triggerVoiceEars(ttl: nil) कॉल करे और कैप्चर विंडो से मेल करने के लिए 1s की चुप्पी के बाद stopVoiceEars() कॉल करे।
    1. एजेंट गतिविधि: काम के स्पैन के आसपास AppStateStore.shared.setWorking(true/false) सेट करें (WebChat एजेंट कॉल में पहले से किया गया है)। 13. स्पैन को छोटा रखें और defer ब्लॉक्स में रीसेट करें ताकि एनिमेशन अटके नहीं।
आकृतियाँ और आकार
  • बेस आइकन CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:) में ड्रॉ किया गया है।
  • ईयर स्केल डिफ़ॉल्ट रूप से 1.0 है; वॉइस बूस्ट earScale=1.9 सेट करता है और कुल फ्रेम बदले बिना earHoles=true टॉगल करता है (18×18 pt टेम्पलेट इमेज, 36×36 px Retina बैकिंग स्टोर में रेंडर की जाती है)।
  • फुर्ती (Scurry) में पैर हिलावट ~1.0 तक और छोटा क्षैतिज जिगल शामिल है; यह किसी भी मौजूदा idle हिलावट के साथ जोड़ात्मक है।
व्यवहार संबंधी नोट्स
  • कान/वर्किंग के लिए कोई बाहरी CLI/ब्रोकर टॉगल नहीं; आकस्मिक फड़फड़ाहट से बचने के लिए इसे ऐप के अपने संकेतों तक आंतरिक रखें।
  • TTLs छोटे रखें (<10s) ताकि यदि कोई जॉब अटक जाए तो आइकन जल्दी बेसलाइन पर लौट आए।