La barra superior
La barra superior de la consola de operación es una franja fija sobre la cuadrícula de tiles. Te da conciencia situacional de un vistazo — salud de conexión, alertas, docks asignados, estado de dispositivos — y siempre es clicable incluso cuando un tile está a pantalla completa.
Leyendo la barra superior, de izquierda a derecha
1. Flecha de retroceso (arrow_back)
Te devuelve a la lista de Operaciones (/operations). Pulsada a mitad de operación, simplemente abandona la vista de consola — la operación sigue corriendo y puedes volver a unirte más tarde.
2. Logo de ARGUS + identidad de la misión
Muestra la marca ARGUS, el nombre de la misión, el nombre en clave opcional y el ID de la misión. Por debajo de 768 px de ancho de viewport, el nombre de la misión + el nombre en clave se ocultan para preservar espacio de botones en la barra superior; el ID sigue visible. Haz clic en el nombre para saltar a la página de detalle de misión.
3. Indicador de grabación blackbox (condicional)
Un punto rojo pulsante con etiqueta “REC” se muestra solo mientras el servicio de grabación de replay blackbox está capturando esta operación. Si no lo ves, la misión no se está grabando para replay.
4. Botón de estado de red
Un único icono que representa toda la capa de conectividad:
| Icono | Estado | Significado |
|---|---|---|
cloud_done | Online | Todas las rutas críticas están sanas. |
cloud_queue | Degradado | Alguna sincronización pendiente o un subsistema reporta problemas. |
hub | Solo malla | SFU LiveKit inalcanzable, usando el fallback peer-to-peer en malla. |
cloud_off | Offline | Sin conectividad saliente. Las operaciones continúan con datos solo locales. |
Una insignia numérica sobre el icono muestra el conteo de sincronizaciones pendientes — escrituras encoladas para subir cuando estés offline.
Haz clic en el chip para abrir un menú de estado que lista:
- Internet — true/false más la latencia actual.
- Firebase — listener de Firestore + estado de autenticación.
- Signaling — backend de señalización de TACLINK.
- Mesh peers — conteo de peers conectados directamente en el fallback en malla.
- SFU backend — región / estado actual del SFU.
Este es el diagnóstico principal cuando ves congelación de video o cortes de PTT.
5. Asignación de dock DJI (home_work)
Muestra una insignia numérica de los docks actualmente asignados a esta operación. Haz clic para abrir el menú de asignación de docks:
- Assign — elige cualquier dock sin asignar que pertenezca a tu organización y adjúntalo a esta misión. Habilita auto-stream y los bindings de tiles DJI.
- Release — desvincula un dock. Su stream se detiene, su ingress se elimina, y auto-stream deja de vigilarlo para esta misión.
Si tu organización no tiene docks DJI o careces de la capacidad dji.assign, el botón sigue renderizándose pero el menú está vacío.
6. Estado serial / Arduino (usb, solo escritorio)
Si has configurado un handshake serial con un periférico Arduino / microcontrolador de ARGUS (depurado en /joystick-debug), este chip muestra la fase actual del handshake. Haz clic para saltar directamente a la vista de joystick-debug para un diagnóstico más profundo.
7. Estado de joystick / WebHID (sports_esports, solo escritorio)
Muestra si un gamepad o joystick HID está conectado actualmente. Los colores coinciden con el estado de conexión; haz clic para un popover con detalles del dispositivo. Ver Controles de entrada para el mapeo.
8. Tareas (assignment, condicional)
Si tu layout contiene un tile de Task Board, este botón muestra el conteo de tareas sin terminar. Hacer clic conmuta el tile Task Board al frente de su región.
9. Checklists (checklist)
Muestra el conteo total de checklists adjuntas a esta misión. Haz clic para abrir el panel lateral de Checklists (slide-in desde la derecha). Estado visible: ops-tb-checklists-btn--active mientras el panel está abierto.
10. Master caution (warning)
Siempre presente. Muestra el conteo de alertas no reconocidas como insignia. Estados de color:
- Inactivo (sin insignia) — sin alertas no reconocidas.
--active(brillo ámbar) — existen advertencias.--critical(brillo rojo, pulso sutil) — al menos una alerta crítica está sin reconocer.
Haz clic para abrir el menú del registro de Master Caution:
- Cada entrada muestra icono de severidad, título, timestamp y peer de origen opcional.
- Haz clic en una entrada → si la alerta tiene ubicación, el mapa se centra en ella.
- Clear All (al final del menú) — reconoce todas las alertas visibles.
- Clic por fila — descarta esa alerta individual.
Qué alimenta master caution
Las alertas llegan desde tres capas:
- Empujes locales en memoria — desde el propio frontend (p. ej. un overlay de detección levantando una coincidencia marcada, una advertencia CAS del lado del cliente). Estas NO se persisten — viven solo durante tu sesión.
- Alertas de copiloto en Firestore — el backend escribe eventos críticos a
missions/{missionId}/copilot_alerts. La consola escucha en tiempo real y empuja las entradas coincidentes a master caution. Estas sobreviven al refresco; ver alertas del copiloto para la lista completa de eventos. - Demo CAS — el botón Developer → CAS Demo inyecta alertas con guion en la misma colección de Firestore para entrenamiento.
Reconocer una alerta es por usuario — tu reconocimiento no la limpia para otros participantes. Para descartarla permanentemente, un admin debe eliminar el documento de Firestore.
11. Widget del tiempo
Una previsión compacta sacada de las coordenadas de la sede de la operación. Muestra temperatura actual, viento y un icono de condición. Pasa el ratón por encima para la previsión de la próxima hora.
12. Copiloto IA (auto_awesome, filtrado por permiso)
Conmuta el drawer del copiloto (slide-in desde la derecha). Abre el chat de copiloto acotado a la misión. Oculto para usuarios sin la capacidad copilot.use.
13. Drawer de ajustes (tune, color de acento)
Abre el drawer de ajustes a la derecha — selector de layout, asignaciones de tiles, comandos de voz, developer, demo CAS.
Lo que no está aquí
Por transparencia, varias cosas que podrías esperar en una barra superior táctica no existen en la build actual:
- Sin candado de cifrado E2E. E2E está activo por defecto por operación y el indicador es implícito; si ves errores persistentes de crypto, aparecen como alertas de master-caution.
- Sin reloj de misión en la propia barra superior. El uptime de la operación se muestra en el tile mission-summary (añade el tile si lo quieres).
- Sin botón “grabar esta pantalla”. El replay de sesión se controla mediante el indicador blackbox (es a nivel de misión, no a nivel de operador).
Relacionado
- Drawer de ajustes — cada conmutador detrás del botón
tune. - Alertas del copiloto — qué se escribe en
copilot_alertsy aparece en master caution. - Controles de entrada — mapeo de joystick / teclado para control de drones.