Communitygithub.com

astudio · Lottie & Rive

Integrar, controlar y optimizar animaciones diseñadas por diseñadores en productos usando Lottie y Rive.

¿Qué es astudio · Lottie & Rive?

Este skill proporciona una guía completa para integrar animaciones diseñadas por diseñadores en productos digitales, centrándose en dos formatos principales: Lottie (archivos .json y .lottie) y Rive (archivos .riv). Abarca desde la selección del formato adecuado según las necesidades (lineal vs. interactiva), hasta la implementación técnica con las runtime libraries correspondientes (dotLottie, lottie-web, Rive Canvas, Rive React) y la optimización de rendimiento. También incluye recomendaciones de accesibilidad, control mediante scroll, temas dinámicos en tiempo de ejecución, y la vinculación de datos con view models en Rive. El skill está dirigido a desarrolladores que trabajan en web (React, vanilla JS), React Native, iOS, Android y Flutter, y proporciona guías detalladas de flujo de trabajo tanto para Lottie como para Rive, así como notas de entrega para diseñadores sobre cómo preparar archivos desde After Effects, Figma Motion, Lottie Creator y Cavalry.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/whoamnesia/motion-3d/tree/HEAD/skills/lottie-rive

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace astudio · Lottie & Rive?

Rol: Senior Motion Designer & Creative Developer en astudio.one (15+ años) - animación diseñada por diseñadores que se envía nítida, pequeña e interactiva. Bar: <root>/reference/studio-bar.md; <root> = dos niveles por encima del directorio base de este skill, o la carpeta que contiene scripts/motion.cjs.

Elige el formato

NecesidadElige
una animación lineal diseñada por un diseñador (icono, ilustración, escena de onboarding, estado vacío) reproducida/pausada/segmentadaLottie (.lottie mediante dotLottie runtime)
animación interactiva y con estado que reacciona a la entrada del usuario o a datos de la aplicación (botones con estados, personajes, progreso, UI de juegos, ilustraciones basadas en datos)Rive (máquinas de estado + enlace de datos)
cambios de estado simples en la UI, hover/press, transicionesCSS/Motion (astudio-motion:ui-motion) - no se necesita archivo
logotipo/icono que puedas dibujar en SVG y animar con códigoSVG + GSAP (astudio-motion:svg-motion) - exporta a Lottie solo si un runtime de aplicación lo necesita
contenido tipo video (personas, grabaciones)video (<video>), no Lottie

Flujo de trabajo Lottie (references/lottie.md)

  1. Prefiere .lottie (zip, 60-80% más pequeño, incluye imágenes/temas/máquinas de estado) + @lottiefiles/dotlottie-web (canvas + WASM) o @lottiefiles/dotlottie-react; usa lottie-web solo para necesidades heredadas del renderizador SVG.
  2. Control: play/pause/stop/setSpeed/setMode/setFrame/setSegment, eventos load/complete/frame; "máquinas de estado" basadas en segmentos (reproduce el segmento checked, luego repite idle).
  3. Scroll: mapea el progreso del scroll a setFrame; interactividad sin cableado mediante @lottiefiles/lottie-interactivity.
  4. Tema en tiempo de ejecución (colores de marca, modo oscuro) mediante temas/ranuras de dotLottie - no envíes dos archivos.
  5. Optimiza: elimina capas ocultas/recursos no utilizados, evita imágenes rasterizadas a menos que sea necesario, reduce máscaras/mates/efectos (no soportados o lentos), recorta al rango de fotogramas visible, verifica el tamaño del archivo (< 50-100KB para iconos).
  6. Accesibilidad: role="img" + aria-label; pausa bajo movimiento reducido (muestra un fotograma estático significativo mediante setFrame); sin bucles de reproducción automática > 5s sin un control de pausa.

Flujo de trabajo Rive (references/rive.md)

  1. En el editor: mesas de trabajo, líneas de tiempo, una máquina de estado (estados, transiciones con condiciones, entradas: booleano/número/desencadenador, listeners para eventos de puntero), view models para enlace de datos (propiedades de cadena/número/color/ enum/desencadenador/lista enlazadas a propiedades de la escena), eventos para callbacks de la aplicación.
  2. Runtime: @rive-app/react-canvas (useRive, useStateMachineInput, useViewModel, useViewModelInstance*), @rive-app/canvas para vanilla, runtimes nativos para iOS/Android/Flutter/RN; renderizador WebGL2 para escenas pesadas.
  3. Conduce desde datos de la aplicación (enlace de datos) en lugar de un montón de entradas; escucha eventos de Rive para reacciones de la aplicación.
  4. Precarga archivos críticos; dimensiona el canvas con el layout de useRive (Fit, Alignment); pausa fuera de pantalla.

Visualización

node <root>/scripts/motion.cjs strip page.html --duration <s> renderiza una página que aloja el archivo Lottie/Rive (el modo de reloj impulsa sus bucles rAF). Verifica el primer y último fotograma, los límites de los segmentos y los colores después de aplicar el tema.

Notas de entrega para diseñadores

  • AE -> Lottie: plugin Bodymovin/LottieFiles; soportado: capas de formas, transformaciones, trazados de recorte, máscaras (limitado), texto (preferir contorneado), precomposiciones; evitar rigs pesados de expresiones, efectos, capas 3D, modos de fusión.
  • Figma Motion exporta MP4/GIF/SVG/WebM y código (CSS/React/motion.dev) - para Lottie usa Lottie Creator o el plugin LottieFiles. Cavalry exporta Lottie de forma nativa.
  • Nombra las capas de manera significativa (se convierten en selectores para temas y depuración); entrega .lottie con temas.

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

whoamnesia/gsap

GSAP motion by astudio: timelines, ScrollTrigger scroll storytelling (pin, scrub, horizontal galleries, parallax), SplitText headline reveals, Flip layout transitions, MorphSVG/DrawSVG/MotionPath, Draggable/Inertia/Observer, CustomEase, quickTo cursor followers, Lenis smooth scroll, page transitions (Barba, View Transitions) and award- style landing-page motion in vanilla JS, React (useGSAP), Next.js, Vue, Nuxt, Svelte and Astro - with cleanup, responsive and reduced-motion handling via gsap.matchMedia. Use for "GSAP", "ScrollTrigger", "scroll animation", "pinned section", "horizontal scroll", "text reveal", "как на Awwwards", "анимация при скролле", "параллакс". All GSAP plugins are free (GSAP 3.13+).

whoamnesia/motion-review

Motion review and audit by astudio: reviews animation code and rendered motion against a strict craft bar, audits a whole codebase's motion, diagnoses jank and performance, finds where motion is missing (opportunities) and removes motion that should not exist - for websites, product UI, GSAP/Motion/CSS, Lottie/Rive, three.js and rendered videos. Use for "review my animations", "why is this janky", "this feels cheap/slow/AI-made", "audit the motion", "where should we add animation", "remove unnecessary animations", "проверь анимации", "почему дёргается", "аудит моушена". Default to flagging; approval is earned. Outputs a findings table and a Block/Approve verdict, with rendered strips as evidence.

whoamnesia/ui-motion

Interface animation by astudio: builds motion for UI components and flows - buttons, dropdowns, popovers, tooltips, modals, drawers, toasts, accordions, tabs, lists, skeletons, route/page transitions, shared-element morphs, drag and gestures - with CSS (@starting-style, scroll-driven animations), WAAPI, View Transitions, Motion (motion.dev / framer-motion) in React, Vue, Svelte or plain HTML; defines motion systems and tokens; implements Figma Motion designs via the Figma MCP (get_motion_context). Use for "animate this component", "add a transition", "make it feel alive/smooth/native", "page transition", "motion tokens", "микроанимации", "анимация интерфейса", "плавные переходы". Decides whether something should animate at all before writing code.

Skills relacionados