Communitygithub.com

astudio · Lottie & Rive

Integration, Steuerung und Optimierung von Designer-Animationen in Produkten – dotLottie/Lottie-Wiedergabe, Segmente, scrollgesteuerte und interaktive Lottie-Animationen, Laufzeit-Theming, Größenoptimierung; Rive State Machines (Inputs, Transitionen, Listener), Datenbindung mit View Models, Events, Runtimes für Web, React, React Native, iOS, Android, Flutter; Auswahl zwischen Lottie, Rive und Code; Vorbereitung von Dateien für die Übergabe (After Effects + Bodymovin, Figma Motion, Lottie Creator, Cavalry-Exporte).

Was ist astudio · Lottie & Rive?

Dieses Skill bietet eine umfassende Anleitung zur Integration und Steuerung von Designer-Animationen in Produkten unter Verwendung von Lottie (insbesondere dotLottie) und Rive. Es richtet sich an Entwickler und Motion Designer, die nahtlose, interaktive und optimierte Animationen in Web-, Mobile- und Cross-Plattform-Anwendungen einbinden möchten. Der Skill beschreibt detailliert die Lottie-Workflows wie Wiedergabe, Segmentsteuerung, Scroll-basierte Interaktivität und Laufzeit-Theming, sowie die Rive-Workflows mit State Machines, Datenbindung über View Models und Event-Handling. Zudem werden Entscheidungskriterien für die Wahl zwischen Lottie, Rive, CSS, SVG/GSAP und Video bereitgestellt. Die Anleitung enthält praktische Hinweise zur Optimierung von Dateigrößen, Barrierefreiheit und zur Zusammenarbeit mit Designern (Handoff) für Tools wie After Effects, Figma Motion und Cavalry.

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

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht astudio · Lottie & Rive?

Rolle: Senior Motion Designer & Creative Developer bei astudio.one (15+ Jahre) – Designer-Animationen, die ausgeliefert werden, knackscharf, klein und interaktiv. Referenz: <root>/reference/studio-bar.md; <root> = zwei Ebenen über dem Basisverzeichnis dieses Skills, oder der Ordner, der scripts/motion.cjs enthält.

Format auswählen

BedarfAuswahl
Eine lineare Designer-Animation (Icon, Illustration, Onboarding-Szene, Leerzustand), die abgespielt/pausiert/segmentiert wirdLottie (.lottie über dotLottie-Runtime)
Interaktive, zustandsbehaftete Animation, die auf Eingaben oder App-Daten reagiert (Buttons mit Zuständen, Charaktere, Fortschritt, Game-UI, datengetriebene Illustrationen)Rive (State Machines + Datenbindung)
Einfache UI-Zustandsänderungen, Hover/Drücken, ÜbergängeCSS/Motion (astudio-motion:ui-motion) – keine Datei erforderlich
Logo/Icon, das in SVG gezeichnet und in Code animiert werden kannSVG + GSAP (astudio-motion:svg-motion) – Lottie nur exportieren, wenn eine App-Runtime es benötigt
Videoähnliche Inhalte (Personen, Filmmaterial)Video (<video>), nicht Lottie

Lottie-Workflow (references/lottie.md)

  1. Bevorzugt .lottie (Zip, 60–80 % kleiner, bündelt Bilder/Themes/State Machines) + @lottiefiles/dotlottie-web (Canvas + WASM) oder @lottiefiles/dotlottie-react; lottie-web nur für Legacy-SVG-Renderer-Bedarf.
  2. Steuerung: play/pause/stop/setSpeed/setMode/setFrame/setSegment, Events load/complete/frame; segmentbasierte „State Machines“ (spiele das Segment checked ab, dann schleife idle).
  3. Scroll: Ordne den Scroll-Fortschritt setFrame zu; Interaktivität ohne Verdrahtung via @lottiefiles/lottie-interactivity.
  4. Theme zur Laufzeit (Markenfarben, Dark Mode) über dotLottie-Themes/Slots – nicht zwei Dateien ausliefern.
  5. Optimieren: Versteckte Ebenen/unbenutzte Assets entfernen, keine Rasterbilder außer nötig, weniger Masken/Matten/Effekte (nicht unterstützt oder langsam), auf den sichtbaren Frame-Bereich zuschneiden, Dateigröße prüfen (< 50–100 KB für Icons).
  6. Barrierefreiheit: role="img" + aria-label; pausieren bei reduzierter Bewegung (einen aussagekräftigen statischen Frame über setFrame anzeigen); keine Autoplay-Schleifen > 5s ohne Pausensteuerung.

Rive-Workflow (references/rive.md)

  1. Im Editor: Artboards, Timelines, eine State Machine (Zustände, Transitionen mit Bedingungen, Inputs: Boolean/Number/Trigger, Listener für Zeigerereignisse), View Models für Datenbindung (String/Number/Color/ Enum/Trigger/List-Eigenschaften, die an Szeneneigenschaften gebunden sind), Events für App-Callbacks.
  2. Runtime: @rive-app/react-canvas (useRive, useStateMachineInput, useViewModel, useViewModelInstance*), @rive-app/canvas für Vanilla-JS, native Runtimes für iOS/Android/Flutter/RN; WebGL2-Renderer für schwere Szenen.
  3. Über App-Daten steuern (Datenbindung) statt mit einem Haufen Inputs; auf Rive-Events lauschen, um App-Reaktionen auszulösen.
  4. Kritische Dateien vorladen; die Canvas-Größe mit useRive's Layout (Fit, Alignment) festlegen; außerhalb des Bildschirms pausieren.

Überprüfen

node <root>/scripts/motion.cjs strip page.html --duration <s> rendert eine Seite, die die Lottie/Rive-Datei hostet (im Clock-Modus werden deren rAF-Schleifen angetrieben). Prüfe den ersten und letzten Frame, Segmentgrenzen und Farben nach dem Theming.

Handoff-Hinweise für Designer

  • AE -> Lottie: Bodymovin/LottieFiles-Plugin; unterstützt: Formebenen, Transformationen, Trim Paths, Masken (eingeschränkt), Text (vorzugsweise umgewandelt), Precomps; vermeide ausdruckslastige Rigs, Effekte, 3D-Ebenen, Mischmodi.
  • Figma Motion exportiert MP4/GIF/SVG/WebM und Code (CSS/React/motion.dev) – für Lottie verwende Lottie Creator oder das LottieFiles-Plugin. Cavalry exportiert Lottie nativ.
  • Ebenen sinnvoll benennen (sie werden zu Selektoren für Theming und Debugging); .lottie mit Themes ausliefern.

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.

Verwandte Skills