From 002b75e71b41f02513ca07a906c439bd8be18473 Mon Sep 17 00:00:00 2001 From: Lizandro Guarnizo <77708265+lizandrogd@users.noreply.github.com> Date: Fri, 21 Aug 2026 20:44:40 -0500 Subject: [PATCH] =?UTF-8?q?feat(studio):=20que=20se=20note=20que=20hay=20u?= =?UTF-8?q?na=20IA=20atr=C3=A1s,=20sin=20fondo=20animado=20permanente?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Un fondo animado corriendo todo el día en una herramienta de trabajo se ve bien diez segundos y molesta las ocho horas siguientes, además de tener un canvas comiéndose la batería. Así que el movimiento va donde hay algo pasando de verdad, y el fondo queda quieto. Al entrar, una vez por sesión: el campo de puntos conectándose durante poco más de un segundo, y se destruye. Es el mismo lenguaje visual de la página pública —puntos que se enlazan, como el espacio vectorial donde vive el conocimiento— así que refuerza la marca en vez de inventar algo para adentro. En los momentos de espera, que es donde el producto se veía muerto: el chat de prueba decía "Pensando..." en gris y ahora muestra a Umi con los tres puntos, el mismo gesto que ve el visitante en el widget. Y una fuente en "procesando" tenía la etiqueta quieta, sin decir si seguía avanzando o se había colgado: ahora late. El fondo es una retícula de plano técnico, tenue y estática, que se desvanece hacia abajo para no competir con las tablas y los formularios. Dos cosas que aparecieron al verificar: El apagado de la animación de entrada estaba dentro del requestAnimationFrame, que el navegador no corre en pestañas de fondo — abrir el Studio en una pestaña que no se está mirando dejaba el canvas puesto para siempre, tapando la interfaz con una capa invisible. Ahora el temporizador se programa aparte. Y una fuente sin procesar mostraba "leído sin procesar", que no quiere decir nada: si no hay fecha de lectura, no se escribe la frase. Co-Authored-By: Claude Opus 5 --- orchestrator/src/App.vue | 2 + .../src/components/DespertarUmind.vue | 117 ++++++++++++++++++ orchestrator/src/style.css | 44 +++++++ orchestrator/src/views/AgenteDetail.vue | 13 +- public/orchestrator/assets/index-0jLV4t_y.css | 1 + public/orchestrator/assets/index-DN4RTleh.js | 26 ---- public/orchestrator/assets/index-Ds3rxNrq.css | 1 - public/orchestrator/assets/index-DwOw7la-.js | 26 ++++ public/orchestrator/index.html | 4 +- 9 files changed, 202 insertions(+), 32 deletions(-) create mode 100644 orchestrator/src/components/DespertarUmind.vue create mode 100644 public/orchestrator/assets/index-0jLV4t_y.css delete mode 100644 public/orchestrator/assets/index-DN4RTleh.js delete mode 100644 public/orchestrator/assets/index-Ds3rxNrq.css create mode 100644 public/orchestrator/assets/index-DwOw7la-.js diff --git a/orchestrator/src/App.vue b/orchestrator/src/App.vue index dbd70c3..c309b99 100644 --- a/orchestrator/src/App.vue +++ b/orchestrator/src/App.vue @@ -2,10 +2,12 @@ import Sidebar from './components/Sidebar.vue' import { tema, alternarTema } from './lib/tema.js' import { menuAbierto } from './lib/ui.js' +import DespertarUmind from './components/DespertarUmind.vue'