Aplicación complementaria de macOS
Icono de la Barra de Menú
Autor: steipete · Actualizado: 2025-12-06 · Alcance: aplicación macOS (apps/macos)
- Inactivo: Animación normal del icono (parpadeo, ocasional meneo).
- En pausa: El elemento de estado usa
appearsDisabled; sin movimiento. - Activación por voz (orejas grandes): El detector de activación por voz llama a
AppState.triggerVoiceEars(ttl: nil)cuando se escucha la palabra de activación, manteniendoearBoostActive=truemientras se captura la expresión. Las orejas se escalan (1.9x), obtienen agujeros circulares para legibilidad, luego bajan mediantestopVoiceEars()después de 1s de silencio. Solo se activa desde la canalización de voz dentro de la aplicación. - Trabajando (agente en ejecución):
AppState.isWorking=trueimpulsa un micro-movimiento de "carrera de cola/patas": meneo de patas más rápido y ligero desplazamiento mientras el trabajo está en curso. Actualmente se activa/desactiva alrededor de las ejecuciones del agente WebChat; añade el mismo interruptor alrededor de otras tareas largas cuando las conectes.
Puntos de conexión
- Activación por voz: el tiempo de ejecución/probador llama a
AppState.triggerVoiceEars(ttl: nil)al activarse y astopVoiceEars()después de 1s de silencio para coincidir con la ventana de captura. - Actividad del agente: establece
AppStateStore.shared.setWorking(true/false)alrededor de los intervalos de trabajo (ya hecho en la llamada del agente WebChat). Mantén los intervalos cortos y restablece en bloquesdeferpara evitar animaciones atascadas.
Formas y tamaños
- Icono base dibujado en
CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:). - La escala de orejas por defecto es
1.0; el impulso de voz estableceearScale=1.9y activaearHoles=truesin cambiar el marco general (imagen plantilla de 18×18 pt renderizada en un almacén de respaldo Retina de 36×36 px). - La carrera usa meneo de patas hasta ~1.0 con un pequeño movimiento horizontal; es aditivo a cualquier meneo inactivo existente.
Notas de comportamiento
- No hay interruptor CLI/broker externo para orejas/trabajando; mantenlo interno a las señales propias de la aplicación para evitar activaciones accidentales.
- Mantén los TTL cortos (<10s) para que el icono vuelva a la línea base rápidamente si un trabajo se cuelga.
Comprobaciones de EstadoRegistro en macOS