Communitygithub.com

GSAP Animationsreferenz für HyperFrames

GSAP-Animationen-Nachschlagewerk für HyperFrames. Deckt gsap.to(), from(), fromTo(), Easing, Stagger, Defaults, Timelines (gsap.timeline(), Positionsparameter, Labels, Verschachtelung, Wiedergabe) und Performance (Transforms, will-change, quickTo) ab. Verwenden Sie dies beim Schreiben von GSAP-Animationen in HyperFrames-Kompositionen.

Was ist GSAP Animationsreferenz für HyperFrames?

Diese Fähigkeit ist eine vollständige GSAP-Referenz (GreenSock Animation Platform), die speziell für Entwickler optimiert ist, die mit HyperFrames-Kompositionen arbeiten. Sie bietet detaillierte Anleitungen zu allen Kern-Tween-Methoden – `gsap.to()`, `gsap.from()` und `gsap.fromTo()` – zusammen mit wesentlichen Konfigurationsoptionen wie Dauer, Verzögerung, Easing, Stagger und Callbacks. Besonderes Augenmerk liegt auf Transform-Aliasen (z. B. `x`, `y`, `scale`, `rotation`), die eine GPU-beschleunigte Animation ermöglichen und die Leistung verbessern, indem sie auf dem Compositor bleiben. Die Fähigkeit behandelt auch erweiterte Themen wie funktionsbasierte Werte, bedingte Animationen über `gsap.matchMedia()`, Timeline-Erstellung mit Positionsparametern und Labels, Timeline-Verschachtelung und Wiedergabesteuerung. Für die Leistungsoptimierung empfiehlt sie die Verwendung von `stagger` anstelle mehrerer einzelner Tweens, die Anwendung von `will-change` nur auf animierte Elemente und die Verwendung von `gsap.quickTo()` für häufige Aktualisierungen (z. B. Mausverfolgung). Die Referenz enthält klare Best-Practices-Richtlinien, häufige Fallstricke, die es zu vermeiden gilt (z. B. keine Layout-Eigenschaften animieren, wenn Transforms ausreichen), sowie einen Verweis auf eine externe Effektedatei für vorgefertigte Muster. Entwickler können diese Fähigkeit nutzen, um reibungslose, effiziente und wartbare GSAP-Animationen in ihren HyperFrames-Projekten zu erstellen.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Geruyang/agent-skills-library/tree/HEAD/original-skills/x-openai-gsap-646176d

In Ihrer bevorzugten KI fragen

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

Dokumentation

GSAP

Kern-Tween-Methoden

  • gsap.to(targets, vars) — vom aktuellen Zustand zu vars animieren. Am häufigsten.
  • gsap.from(targets, vars) — von vars zum aktuellen Zustand animieren (Eingänge).
  • gsap.fromTo(targets, fromVars, toVars) — expliziter Start und Ende.
  • gsap.set(targets, vars) — sofort anwenden (Dauer 0).

Verwenden Sie immer camelCase-Eigenschaftsnamen (z. B. backgroundColor, rotationX).

Allgemeine vars

  • duration — Sekunden (Standard 0.5).
  • delay — Sekunden vor Start.
  • ease — "power1.out" (Standard), "power3.inOut", "back.out(1.7)", "elastic.out(1, 0.3)", "none".
  • stagger — Zahl 0.1 oder Objekt: { amount: 0.3, from: "center" }, { each: 0.1, from: "random" }.
  • overwrite — false (Standard), true oder "auto".
  • repeat — Zahl oder -1 für unendlich. yoyo — wechselt die Richtung bei Wiederholung.
  • onComplete, onStart, onUpdate — Rückruffunktionen.
  • immediateRender — Standard true für from()/fromTo(). Setzen Sie false bei späteren Tweens, die dieselbe Eigenschaft+Element anvisieren, um Überschreiben zu vermeiden.

Transforms und CSS

Bevorzugen Sie GSAPs Transform-Aliase gegenüber rohem transform-String:

GSAP-EigenschaftEntsprechung
x, y, ztranslateX/Y/Z (px)
xPercent, yPercenttranslateX/Y in %
scale, scaleX, scaleYScale
rotationrotate (Grad)
rotationX, rotationY3D-Rotate
skewX, skewYSkew
transformOrigintransform-origin
  • autoAlpha — opacity vorziehen. Bei 0: setzt auch visibility: hidden.
  • CSS-Variablen — "--hue": 180.
  • svgOrigin (nur SVG) — globaler SVG-Koordinatenraum-Ursprung. Nicht mit transformOrigin kombinieren.
  • Richtungsrotation — "360_cw", "-170_short", "90_ccw".
  • clearProps — "all" oder kommagetrennt; entfernt Inline-Stile bei Abschluss.
  • Relative Werte — "+=20", "-=10", "*=2".

Funktionsbasierte Werte

gsap.to(".item", {
  x: (i, target, targets) => i * 50,
  stagger: 0.1,
});

Easing

Integrierte Easing-Funktionen: power1–power4, back, bounce, circ, elastic, expo, sine. Jede hat .in, .out, .inOut.

Standardwerte

gsap.defaults({ duration: 0.6, ease: "power2.out" });

Tweens steuern

const tween = gsap.to(".box", { x: 100 });
tween.pause();
tween.play();
tween.reverse();
tween.kill();
tween.progress(0.5);
tween.time(0.2);

gsap.matchMedia() (Responsiv + Barrierefreiheit)

Führt Setup nur aus, wenn eine Media Query zutrifft; kehrt automatisch zurück, wenn sie nicht mehr zutrifft.

let mm = gsap.matchMedia();
mm.add(
  {
    isDesktop: "(min-width: 800px)",
    reduceMotion: "(prefers-reduced-motion: reduce)",
  },
  (context) => {
    const { isDesktop, reduceMotion } = context.conditions;
    gsap.to(".box", {
      rotation: isDesktop ? 360 : 180,
      duration: reduceMotion ? 0 : 2,
    });
  },
);

Timelines

Eine Timeline erstellen

const tl = gsap.timeline({ defaults: { duration: 0.5, ease: "power2.out" } });
tl.to(".a", { x: 100 }).to(".b", { y: 50 }).to(".c", { opacity: 0 });

Positionsparameter

Das dritte Argument steuert die Platzierung:

  • Absolut: 1 — bei 1s
  • Relativ: "+=0.5" — nach Ende; "-=0.2" — vor Ende
  • Label: "intro", "intro+=0.3"
  • Ausrichtung: "<" — gleicher Start wie vorheriger; ">" — nachdem vorheriger endet; "<0.2" — 0.2s nach Start des vorherigen
tl.to(".a", { x: 100 }, 0);
tl.to(".b", { y: 50 }, "<"); // gleicher Start wie .a
tl.to(".c", { opacity: 0 }, "<0.2"); // 0.2s nach Start von .b

Labels

tl.addLabel("intro", 0);
tl.to(".a", { x: 100 }, "intro");
tl.addLabel("outro", "+=0.5");
tl.play("outro");
tl.tweenFromTo("intro", "outro");

Timeline-Optionen

  • paused: true — pausiert erstellen; .play() aufrufen, um zu starten.
  • repeat, yoyo — auf gesamte Timeline anwenden.
  • defaults — vars werden in jedes untergeordnete Tween übernommen.

Timelines verschachteln

const master = gsap.timeline();
const child = gsap.timeline();
child.to(".a", { x: 100 }).to(".b", { y: 50 });
master.add(child, 0);

Wiedergabesteuerung

tl.play(), tl.pause(), tl.reverse(), tl.restart(), tl.time(2), tl.progress(0.5), tl.kill().


Leistung

Transform und Opacity bevorzugen

Das Animieren von x, y, scale, rotation, opacity bleibt auf dem Compositor. Vermeiden Sie width, height, top, left, wenn Transforms denselben Effekt erzielen.

will-change

will-change: transform;

Nur auf Elementen, die tatsächlich animieren.

gsap.quickTo() für häufige Aktualisierungen

let xTo = gsap.quickTo("#id", "x", { duration: 0.4, ease: "power3" }),
  yTo = gsap.quickTo("#id", "y", { duration: 0.4, ease: "power3" });
container.addEventListener("mousemove", (e) => {
  xTo(e.pageX);
  yTo(e.pageY);
});

Stagger > Viele Tweens

Verwenden Sie stagger anstelle separater Tweens mit manuellen Verzögerungen.

Bereinigung

Pausieren oder killen Sie Animationen, die nicht im Bild sind.


Referenzen (bei Bedarf geladen)

  • references/effects.md — Fertige Effekte: Schreibmaschinentext, Audio-Visualizer. Lesen Sie dies, wenn Sie fertige Effektmuster für HyperFrames benötigen.

Best Practices

  • Verwenden Sie camelCase-Eigenschaftsnamen; bevorzugen Sie Transform-Aliase und autoAlpha.
  • Bevorzugen Sie Timelines gegenüber Verkettung mit delay; verwenden Sie den Positionsparameter.
  • Fügen Sie Labels mit addLabel() für lesbare Abläufe hinzu.
  • Übergeben Sie defaults an den Timeline-Konstruktor.
  • Speichern Sie den Rückgabewert von Tween/Timeline, wenn Sie die Wiedergabe steuern möchten.

Nicht tun

  • Layout-Eigenschaften (width/height/top/left) animieren, wenn Transforms ausreichen.
  • Sowohl svgOrigin als auch transformOrigin auf demselben SVG-Element verwenden.
  • Animationen mit delay verketten, wenn eine Timeline sie sequenzieren kann.
  • Tweens erstellen, bevor das DOM existiert.
  • Bereinigung überspringen — killen Sie Tweens immer, wenn sie nicht mehr benötigt werden.

Individual skills in this repo

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

Geruyang/agent-skills-library

Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.

Geruyang/agent-skills-library

Set up Tailwind CSS v4 in Expo with react-native-css and NativeWind v5 for universal styling

Geruyang/agent-skills-library

Use for new frontend applications, dashboards, games, creative websites, hero sections, and visually driven UI from scratch, or when the user explicitly asks for a redesign/restyle/modernization. Builds from clean, airy, high-taste, readable image-generated concept design with section-specific references, faithful implementation, and browser testing.

Geruyang/agent-skills-library

Use when testing, debugging, or making targeted improvements to rendered frontend apps through the Build Web Apps or web dev plugin: local dev servers, UI regressions, interaction bugs, console errors, responsive layout, and visual QA. Check whether the Browser plugin is available and use it first when it is; otherwise use regular Playwright with the recorded reason.

Geruyang/agent-skills-library

Design UI surfaces for browser games. Use when the user asks for HUDs, menus, overlays, responsive layouts, or visual direction that must protect the playfield.

Geruyang/agent-skills-library

Guide for building, configuring, and deploying microfrontends on Vercel. Use this skill when the user mentions microfrontends, multi-zones, splitting an app across teams, independent deployments, cross-app routing, incremental migration, composing multiple frontends under one domain, microfrontends.json, @vercel/microfrontends, the microfrontends local proxy, or path-based routing between Vercel projects. Also use when the user asks about shared layouts across projects, navigation between microfrontends, fallback environments, asset prefixes, or feature flag controlled routing.

Geruyang/agent-skills-library

Next.js App Router expert guidance. Use when building, debugging, or architecting Next.js applications — routing, Server Components, Server Actions, Cache Components, layouts, middleware/proxy, data fetching, rendering strategies, and deployment on Vercel.

Geruyang/agent-skills-library

Use when sizing Public Equity Investing positions, finding equity hedges, or building an integrated position-and-hedge risk plan from a listed-equity thesis. Do not use for thesis construction, standalone event underwriting, trade execution, personal investment advice, or credit-instrument risk.

Geruyang/agent-skills-library

Integrate data visualizations into React and Next.js applications. Use when the user needs chart components, UML-like or architecture diagram components, React integration patterns, Next.js client or server boundaries, hydration-safe rendering, lazy loading, framework-aware performance, scroll-driven visual stories, or export guidance.

Geruyang/agent-skills-library

shadcn/ui expert guidance — CLI, component installation, composition patterns, custom registries, theming, Tailwind CSS integration, and high-quality interface design. Use when initializing shadcn, adding components, composing product UI, building custom registries, configuring themes, or troubleshooting component issues.

Geruyang/agent-skills-library

v0 by Vercel expert guidance. Use when discussing AI code generation, generating UI components from prompts, v0 CLI usage, v0 SDK/API integration, or integrating v0 into development workflows with GitHub and Vercel deployment.

Geruyang/agent-skills-library

Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json file. Also triggers for "shadcn init", "create an app with --preset", or "switch to --preset".

Verwandte Skills