El drawer de ajustes
El drawer de ajustes es el único lugar donde se configura todo lo específico de la consola. Ábrelo con el icono tune en la parte superior derecha de la barra superior. Se desliza desde la derecha y se limita a 90vw para que siga siendo usable en portátiles.
El drawer tiene cinco secciones, de arriba abajo. Cada una es expandible/colapsable — por defecto están expandidas para que un operador nuevo lo vea todo a la vez.
1. Layout
El selector de layout lista los 14 presets agrupados como Básico, Asimétrico, Avanzado (ver Layout para el desglose completo). Haz clic en cualquier miniatura — la consola cambia de preset inmediatamente sin confirmación ni recarga de página.
Qué recuerda el selector
- Tu elección + qué tile está en qué región se escribe en localStorage bajo la clave
ops.layout. - La persistencia es por usuario, por navegador — sin Firestore, sin sincronización entre dispositivos, sin fijación al equipo.
- Cambiar de preset redistribuye los tiles al nuevo número de regiones preservando tus elecciones lo mejor que puede. La consola mantiene automáticamente el invariante de “un tile Map” — si sacas Map, se auto-asigna a otra región.
2. Tile Assignments
Debajo del selector de presets, cada región del layout actual tiene un desplegable Tile N. Elige qué tile se renderiza en esa región. Los cambios son instantáneos y también se persisten a la misma clave de localStorage.
- Cada opción de la lista maestra de tiles se ofrece (ver Layout → La lista completa de tiles).
- Aparece un optgroup Live streams separado cuando hay streams de dron activos — puedes elegir el stream de un dron específico para fijar una región directamente a él, en lugar de enrutar a través del tile Streams genérico.
- Los tiles filtrados por capacidad (admin, dji, mavlink, …) solo aparecen para los usuarios que tienen el permiso correspondiente.
3. Voice Commands
Un conmutador maestro de Voice commands. Cuando está off, el detector se salta por completo — sin parsing en segundo plano de tu stream de transcripción, sin insignias de comando de voz. Cuando está on, aparecen cuatro sub-conmutadores por comando, agrupados en dos clusters:
Emergencia / Distress
- Master Caution Alarm — al detectar el conjunto de frases EMERGENCY (ver Comandos de voz para las 43 variantes en inglés, español y transliteración al árabe), levanta una alerta crítica de master-caution.
- Pan Camera to Operative — al detectar emergencia, envía un comando al dron más cercano para apuntar su gimbal a la ubicación mapeada del hablante.
- Distress Beacon Overlay — al detectar emergencia, suelta un overlay rojo pulsante en el mapa en la ubicación del hablante.
General
- Command Notifications — ante cualquier comando de voz reconocido (launch, RTH, land, drop flag, …), muestra un toast confirmando lo que el sistema oyó.
Estos sub-conmutadores también están respaldados por localStorage vía VoiceCommandSettingsService; las preferencias persisten entre sesiones.
Nota: los comandos de voz solo se disparan con transcripciones finalizadas (posteriores a soltar el PTT), no con texto parcial en vivo. Es intencionado — actuar sobre habla a medio terminar es peligroso para disparadores de emergencia.
4. Developer
Conmutador Debug mode
Un único botón etiquetado Debug Mode con icono que alterna entre bug_report (on) y code_off (off). Cuando está on:
- Los tiles de stream muestran overlays adicionales: RTT, bitrate in/out, pérdida de paquetes por peer.
- El drawer de ajustes del dron expone pestañas adicionales (
RAWpara inspección de telemetría protobuf en bruto). - El tile de flota muestra cadenas de identidad de peer junto a cada dron.
- Varios logs de consola escalan de
debugainfopara que puedas leerlos sin abrir DevTools.
Esta bandera es por usuario, global entre misiones — una vez activada, permanece hasta que la desactives. Un pequeño texto de pista debajo del conmutador recuerda que está habilitada.
5. CAS Demo
Una funcionalidad de entrenamiento que simula un escenario de alerta del Sistema de Prevención de Colisiones (CAS). Útil para el onboarding de operadores nuevos o para demostrar el comportamiento del CAS sin aeronaves en vivo.
Un botón, dos estados
- Start (icono
flight) — arranca la demo. La etiqueta del botón viene de la clave de traducciónops.casDemoStart. - Stop (icono
stop) — mientras corre, el botón se convierte en un control de parada con una barra de progreso mostrando segundos transcurridos / totales (42 s total — la demo termina automáticamente después de 42 s si no la detienes manualmente).
Qué pasa mientras corre
Cuando haces clic en Start:
- Tres drones simulados (
ALPHA-1,BRAVO-2,CHARLIE-3) se inyectan en la misión con trayectorias de vuelo guionizadas que convergen alrededor del centro de la misión. - Documentos de alerta CAS con guion se escriben a
missions/{missionId}/copilot_alertscada 2-5 segundos. Estos se propagan a la franja de master caution de cada participante, así que la demo se ve auténtica en todo el equipo. - Los drones se renderizan como modelos 3D en el visor Cesium con etiquetas pulsantes y posiciones animadas que orbitan el centro de la misión.
- La alarma de audio de master-caution suena si has habilitado audio (en otra parte de la UI).
Cuándo parar
- Haz clic en Stop en cualquier momento para finalizar la demo antes.
- Se detiene automáticamente tras 42 segundos.
- Parar elimina los drones simulados, descarta cualquier alerta con guion restante y silencia el audio de caution.
La demo CAS no afecta el estado real de las aeronaves en Firestore — escribe solo a copilot_alerts. Los drones simulados son renders del lado del cliente.
Lo que no está en el drawer
Algunas cosas que podrías esperar pero no encontrarás en la build actual:
- Sin “Fijar layout para todos” — el layout es estrictamente por usuario.
- Sin botones “Spawn demo dock” / “Simular detecciones” — la única demo es CAS. Para simulación de detecciones, usa el enfoque solo-para-developer en Simulador de detecciones.
- Sin selector de mic / altavoz — solo predeterminados del navegador.
- Sin editor de paleta de colores para colores tácticos vs estándar — el acento viene del branding de tu organización en admin.
Relacionado
- Layout — lista completa de presets + tiles.
- Comandos de voz — cada frase reconocida.
- Configuración CAS (nivel de misión) — diferente de la demo CAS de developer.
- Tema — el tema global (claro/oscuro/táctico) vive en los ajustes de usuario, no en el drawer de la consola.