Inertia es una herramienta de animación por keyframes dirigida a desarrolladores que ya trabajan con SwiftUI, Jetpack Compose o React. Su propuesta se aleja tanto de las herramientas de diseño tradicionales —que exportan vídeo o archivos paralelos que se desactualizan— como de las librerías puramente programáticas, donde cambiar 40 ms de timing obliga a recompilar. Inertia ocupa ese hueco: la animación se aplica sobre las vistas reales dentro de la aplicación en ejecución.
El flujo se reduce a tres pasos. Primero, se etiqueta cualquier vista con un identificador mediante una llamada como .inertia("card0"). Después, se lanza la build dentro del editor de macOS, que la muestra en un simulador de iOS, un emulador Android o un WebView contra el servidor de desarrollo; al seleccionar una vista etiquetada y arrastrarla, el keyframe se registra en una línea de tiempo compartida con la app en marcha. Por último, el editor escribe un archivo animation.inertia que se versiona junto al código.
Cada runtime —SwiftUI, Compose y React— comparte una API con tres piezas: un contenedor con los datos de animación, un envoltorio para cada vista animable y un manejador de reproducción con operaciones trigger, restart, cancel e isRepeating. En SwiftUI la reproducción pasa por KeyframeAnimator; en Compose y React, los tracks se muestrean en relojes propios. La conexión entre editor y app se hace por WebSocket local, y en modo release ese código de socket no se incluye.
El archivo .inertia almacena, por cada id, los valores iniciales y una lista de keyframes con duración y valores de translate, scale, rotate y opacity. Las traslaciones se expresan como fracción del contenedor, de modo que la animación sobrevive a un cambio de tamaño. Entre los detalles de usabilidad destacan guías de alineación, formas vértice editables, cabezal compartido y estado de reproducción independiente por vista. El editor para macOS se descarga dejando un correo electrónico.
