مینو بار آئیکن کی حالتیں¶
Author: steipete · Updated: 2025-12-06 · Scope: macOS ایپ (apps/macos)
- Idle: معمول کی آئیکن اینیمیشن (پلک جھپکنا، کبھی کبھار ہلکی جنبش)۔
- Paused: اسٹیٹس آئٹم
appearsDisabledاستعمال کرتا ہے؛ کوئی حرکت نہیں۔ - وائس ٹرگر (big ears): وائس ویک ڈیٹیکٹر جب ویک ورڈ سنا جاتا ہے تو
AppState.triggerVoiceEars(ttl: nil)کو کال کرتا ہے، اور بولے گئے جملے کے کیپچر کے دورانearBoostActive=trueبرقرار رکھتا ہے۔ کان بڑے ہو جاتے ہیں (1.9x)، پڑھنے میں آسانی کے لیے گول کانوں کے سوراخ بنتے ہیں، پھر 1 سیکنڈ کی خاموشی کے بعدstopVoiceEars()کے ذریعے واپس آ جاتے ہیں۔ صرف اِن‑ایپ وائس پائپ لائن سے فائر ہوتا ہے۔ - کام جاری (ایجنٹ چل رہا ہے):
AppState.isWorking=trueایک “tail/leg scurry” مائیکرو‑موشن کو چلاتا ہے: کام کے دوران ٹانگوں کی تیز جنبش اور ہلکا سا آف سیٹ۔ فی الحال WebChat ایجنٹ کے رنز کے ارد گرد ٹوگل کیا گیا ہے؛ جب آپ دیگر طویل کاموں کو وائر کریں تو انہی کے ارد گرد بھی یہی ٹوگل شامل کریں۔
وائرنگ کے پوائنٹس
- Voice wake: رن ٹائم/ٹیسٹر ٹرگر پر
AppState.triggerVoiceEars(ttl: nil)کال کرے اور کیپچر ونڈو سے میچ کرنے کے لیے 1 سیکنڈ کی خاموشی کے بعدstopVoiceEars()کال کرے۔ - ایجنٹ کی سرگرمی: کام کے وقفوں کے ارد گرد
AppStateStore.shared.setWorking(true/false)سیٹ کریں (WebChat ایجنٹ کال میں پہلے سے کیا گیا ہے)۔ اسپن کو مختصر رکھیں اور پھنسے ہوئے اینیمیشنز سے بچنے کے لیے انہیںdeferبلاکس میں ری سیٹ کریں۔
اشکال اور سائز
- بیس آئیکن
CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:)میں ڈرا کیا گیا ہے۔ - Ear scale بطورِ طے شدہ
1.0ہے؛ وائس بوسٹearScale=1.9سیٹ کرتا ہے اور مجموعی فریم بدلے بغیرearHoles=trueٹوگل کرتا ہے (18×18 pt ٹیمپلیٹ امیج جو 36×36 px ریٹینا بیکنگ اسٹور میں رینڈر ہوتی ہے)۔ - Scurry میں ٹانگوں کی جنبش ~1.0 تک اور ہلکی افقی جھٹک شامل ہوتی ہے؛ یہ کسی بھی موجودہ idle جنبش کے ساتھ اضافی طور پر لگتی ہے۔
رویّے سے متعلق نوٹس
- کان/ورکنگ کے لیے کوئی بیرونی CLI/بروکر ٹوگل نہیں؛ غیر ارادی فلَیپنگ سے بچنے کے لیے اسے ایپ کے اپنے سگنلز تک محدود رکھیں۔
- TTLs مختصر رکھیں (<10s) تاکہ اگر کوئی کام اٹک جائے تو آئیکن تیزی سے بنیادی حالت میں واپس آ جائے۔