Các trạng thái biểu tượng thanh menu
Tác giả: steipete · Cập nhật: 2025-12-06 · Phạm vi: ứng dụng macOS (apps/macos)
- Nhàn rỗi: Hoạt ảnh biểu tượng bình thường (chớp mắt, thỉnh thoảng lắc nhẹ).
- Tạm dừng: Mục trạng thái sử dụng
appearsDisabled; không chuyển động. - Kích hoạt bằng giọng nói (tai lớn): Bộ phát hiện từ đánh thức gọi
AppState.triggerVoiceEars(ttl: nil)khi nghe thấy từ đánh thức, giữearBoostActive=truetrong khi thu thập lời nói. Ears scale up (1.9x), get circular ear holes for readability, then drop viastopVoiceEars()after 1s of silence. Chỉ được kích hoạt từ pipeline giọng nói trong ứng dụng. - Đang làm việc (agent đang chạy):
AppState.isWorking=trueđiều khiển một vi chuyển động “đuôi/chân chạy”: chân lắc nhanh hơn và lệch nhẹ trong khi công việc đang diễn ra. Currently toggled around WebChat agent runs; add the same toggle around other long tasks when you wire them.
- Đánh thức bằng giọng nói: runtime/tester gọi
AppState.triggerVoiceEars(ttl: nil)khi kích hoạt vàstopVoiceEars()sau 1 giây im lặng để khớp với cửa sổ thu nhận. - Hoạt động của agent: đặt
AppStateStore.shared.setWorking(true/false)bao quanh các khoảng làm việc (đã thực hiện trong lời gọi agent WebChat). Giữ các khoảng ngắn và reset trong các khốideferđể tránh animation bị kẹt.
- Biểu tượng gốc được vẽ trong
CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:). - Tỷ lệ tai mặc định là
1.0; tăng cường giọng nói đặtearScale=1.9và bật/tắtearHoles=truemà không thay đổi khung tổng thể (ảnh mẫu 18×18 pt được render vào bộ nhớ nền Retina 36×36 px). - Chuyển động chạy lăng xăng dùng lắc chân lên đến ~1.0 kèm rung ngang nhỏ; nó được cộng thêm vào bất kỳ lắc nhàn rỗi hiện có nào.
- Không có công tắc CLI/broker bên ngoài cho tai/đang làm việc; giữ nó nội bộ theo các tín hiệu của chính ứng dụng để tránh vẫy lung tung ngoài ý muốn.
- Giữ TTL ngắn (<10s) để biểu tượng nhanh chóng quay về trạng thái cơ bản nếu một tác vụ bị treo.