¿Qué hace motion?
Resumen
Motion aclara jerarquía y retroalimentación — no decora. Elige familias/patrones por nombre, luego crea manualmente (CSS / Motion / GSAP). No recurras a instalaciones de registro por defecto.
Catálogo completo: references/motion-families.md (12 familias · 144 patrones).
Cuándo usarlo
- Micro-interacciones (hover, focus, press)
- Transiciones de entrada/salida o diseño (cambios de sección, drawers, modales)
- Patrones con nombre como scroll, texto, carrusel, héroe u otros
- Por defecto (ligero): shell de aplicación / panel / secciones múltiples en
/ui— fade de sección + deslizamiento de drawer + desplazamiento suave (a menos que el usuario lo prohíba)
Cuándo omitirlo
- Ajustes estáticos de token/color únicamente
- El usuario pidió cero animación / “tanpa animasi”
- Inspeccionar / explicar movimiento existente →
motion-inspection
Los usuarios con movimiento reducido aún necesitan cambios de estado y fallbacks instantáneos/de opacidad utilizables; omite efectos espaciales/decorativos, no el contrato de interacción.
Carriles
| Carril | Propósito | Valores predeterminados |
|---|---|---|
| Producto / shell | Chrome de aplicación, ajustes, paneles | fade-up / page-crossfade, drawer-slide, press-scale, lift-hover |
| Marketing / expresivo | Landing, campañas | Elige 1–2 familias + 1–2 patrones del catálogo — presupuesto 2–3 movimientos / viewport |
Propósito de familias (rápido)
| Familia | Para | No para |
|---|---|---|
| Micro Interacción | Toggle, toast, like, progress | Hero / scroll story |
| Hover e Interacción | Lift, press, magnetic, tilt | Page enter |
| Basado en Scroll | Sticky, horizontal, scroll-zoom | Button-only micro |
| Revelado y Barrrido | Enter fades, split, mask, drawer | Bucles infinitos como único movimiento |
| Texto en Movimiento | Word reveal, typewriter, marquee type | Formularios / ajustes densos |
| Carrusel y Flujo Continuo | Marquee, filmstrip, snap | Páginas centradas en un solo CTA |
| Movimiento de Cuadrícula | Bento, flip grid, reflow | Chrome de un botón |
| Foco y Atención | Center stage, dim siblings | Ruido en toda la página |
| Apilar y Dispersar | Deck, fan, swipe deck | Tablas de administración |
| Movimiento de Sección Héroe | Paralaje / dispositivo flotante / aurora | Shell de aplicación (máximo 1 firma) |
| Morf y Transformar | Shared element, FAB morph | Cada navegación |
| 3D y Perspectiva | Orbit, coverflow | UI de producto predeterminada |
Flujo de trabajo
- Carril — shell de producto vs marketing
- Familia — emparejar propósito (máximo 2 familias)
- Patrones — nombra 1–2 de
motion-families.md; lee definición + sugerencia de creación manual - Contrato + implementación — registra identidad de trigger/estado, propiedades, interrupción, alternativas de entrada y punto final de movimiento reducido (
motion.md). Prefieretransform/opacity; usa tamaño/diseño medido limitado cuando se requiera revelación o morph. - Presupuesto — ≤2–3 movimientos intencionales por viewport
- Accesibilidad —
prefers-reduced-motion: reduce(fallbacks de opacidad/instantáneos); nunca significado solo por movimiento - Reporte — Convenciones:
Motion: light shell | families: Hover+Reveal | patterns: lift-hover, fade-up; distingue verificaciones de fuente/estado de la reproducción objetivo real y mediciones de rendimiento.
Valores predeterminados de shell (producto)
- Entrada de sección:
fade-up~250–300ms - Drawer móvil:
drawer-slide+ fundido de fondo - Controles:
press-scale(0.96) scroll-behavior: smooth(deshabilitado bajo movimiento reducido)
El desplazamiento suave no es permiso para desplazar automáticamente datos entrantes. Las recetas de estado de producto en references/motion.md rigen actualizaciones de gráficos, revelación y seguimiento de flujo; un lector que se desplace hacia arriba mantiene el control.
Reglas estrictas
- Creación manual a partir de nombres de patrón — la instalación de registro no es el valor predeterminado
- No apilar Hero + 3D + Texto + Foco + Carrusel en un mismo viewport
- Marketing: máximo un patrón de firma Hero
Lista de verificación
- Carril elegido (producto vs marketing)
- Propósito de familia coincide con la solicitud (≤2 familias)
- Patrones con nombre listados (≤2–3 movimientos en viewport)
- Creado manualmente a partir de definición (no registro como respuesta)
-
prefers-reduced-motionmanejado - Reversión rápida, movimiento anidado, cancelación por foco/teclado y gesto verificado donde sea relevante; los datos/estado finales se mantienen veraces
- Sin thrashing de diseño / spam decorativo
- Línea de Convenciones Motion completada
Profundidad
- Vocabulario:
references/motion-families.md - Recetas:
references/motion.md - Superposición de micro craft:
polish - Shell de demostración: sandbox local
test/(opcional; no se envía)