Animate
/impeccable animate
Good fit
- Las interfaces se sienten inertes o bruscas entre estados.
- Las transiciones de carga, feedback o cambios necesitan movimiento que explique lo que está ocurriendo.
- Buscas animación disciplinada con alternativas para movimiento reducido.
Cuándo usarlo
/impeccable animate es para interfaces que se sienten inertes, donde los cambios de estado son instantáneos y bruscos, donde la carga simplemente aparece de golpe, donde el usuario nunca confía del todo en que su clic se registró. Úsalo para añadir los pequeños movimientos que comunican lo que está ocurriendo: entradas, salidas, feedback, transiciones entre estados.
No lo uses para añadir rebotes o elásticos por energia. Eso es decoración, y esta habilidad no te lo va a dar.
Cómo funciona
La habilidad identifica momentos estáticos que se beneficiarían de movimiento, y los aplica con disciplina estricta:
- Entradas y salidas: los elementos aparecen y desaparecen con desvanecimientos de 200 a 300ms más un sutil desplazamiento Y o escala, nunca propiedades de layout.
- Feedback de estado: hover, activo, foco, carga y éxito se comunican mediante movimiento en lugar de cambios bruscos.
- Transiciones entre vistas: transiciones de elemento compartido donde tenga sentido, desvanecimiento progresivo en caso contrario.
- Progreso y carga: pantallas esqueleto, barras determinadas, movimiento que dice “sigue trabajando”.
- Movimiento reducido: cada animación tiene una alternativa
prefers-reduced-motion.
La curva de aceleración es siempre exponencial (ease-out-quart, quint o expo) porque los objetos reales desaceleran suavemente. Sin rebotes, sin elásticos, sin lineal para nada excepto indicadores de progreso.
La habilidad anima únicamente transform y opacity. Si te encuentras animando width, height, top o left, está haciendo algo mal. Usa grid-template-rows para transiciones de altura.
Pruébalo
/impeccable animate the sign-up flowAdiciones típicas:
- El campo de email recibe un resplandor de foco en focus-visible (opacidad + sombra, 180ms)
- El botón de envío muestra un spinner dentro de sí mismo en estado de carga, no un spinner separado junto a él
- La pantalla de éxito entra con opacidad + translateY(8px), 260ms, ease-out-quart
- El mensaje de error se desliza hacia abajo con grid-template-rows (no height), 220ms
- Alternativa
@media (prefers-reduced-motion: reduce)para cada transición
Errores comunes
- Pedir “más animación”. Animate no es un dial. Añade movimiento donde comunica, no en todas partes.
- Eliminar las alternativas de movimiento reducido. La habilidad las añade automáticamente. Innegociable para accesibilidad.
Convierte ideas en software entregado.
HagiCode es un espacio de trabajo de programación con agentes: los flujos de trabajo de OpenSpec planifican el cambio, la ejecución multiagente lo lleva a cabo y Hero Scenario hace visible el largo recorrido, para convertir ideas en software entregado.
- Inteligente
- Los flujos de OpenSpec convierten la intención en un camino de la propuesta a la entrega.
- Eficiente
- La ejecución multiagente avanza en paralelo con investigación, implementación y revisión.
- Divertido
- Las interacciones de interfaz facilitan la planificación, los agentes y el trabajo en proyectos.
Sitios del ecosistema
Enlaces rápidos
Comunidad
© 2026 HagiCode | Powered By hagilight-starlight@0.18.0 | Branch: main | Commit: 4369090 | Built:
