Communitygithub.com

アニメーションエンジニアリング & モーションクラフト

Web(CSS、Framer Motion、GSAP、Three.js、Canvas)、モバイル、デスクトップアプリケーション全体で、流動的で高性能なアニメーション、マイクロインタラクション、レイアウトトランジション、モーションデザインを作成するための専門的なガイダンス、パターン、コード実装を提供します。ユーザーがアニメーション、トランジション、モーショングラフィックス、インタラクティブなUI効果、動的な視覚フィードバックをリクエストするたびに起動します。

アニメーションエンジニアリング & モーションクラフト とは?

このスキルは、業界標準の実践、プロダクション対応パターン、数理物理モデルを使用して、Webおよびアプリケーションインターフェース全体で流動的でパフォーマンスの高いアニメーションを設計およびコーディングするためにエージェントを装備します。パフォーマンスの黄金律(合成プロパティのみをアニメーション化、GPUレイヤー化、ユーザーアクセシビリティの尊重、自然なタイミング)をカバーし、さまざまなシナリオ(CSS、Framer Motion、GSAP、Three.js、Lottieなど)に適したテクノロジーを選択するためのマトリックスを提供します。また、標準的なUIの動きに関するイージングトークンとスプリング物理パラメータの具体的な推奨事項を提供し、アニメーションコンポーネントを構築するための検証チェックリストを含みます。このスキルは、Claude Code、Cursor、Codexなどの主要なAIエージェントプラットフォームと互換性があり、アニメーションを実装する開発者に明確で実用的なガイダンスを提供するように設計されています。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Mattttfb/antigravity-animation-toolkit/tree/HEAD/skills/animation-engineering

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

アニメーションエンジニアリング & モーションクラフト は何をしますか?

このスキルは、エージェントに業界標準の実践、プロダクション対応パターン、数理物理モデルを提供し、Webおよびアプリケーションインターフェース全体で流動的でパフォーマンスの高いアニメーションを設計およびコーディングできるようにします。


1. モーションパフォーマンスの黄金律

  1. 合成プロパティのみをアニメーション化する:
    • 常に transform(translate3d、scale、rotate)と opacity を優先します。
    • 絶対に width、height、top、left、margin、padding などのジオメトリプロパティをアニメーション化しないでください。FLIP テクニック(First、Last、Invert、Play)を使用する場合を除きます。ジオメトリのアニメーション化は、CPU 上で高コストなレイアウト再計算(リフロー)とペイントをトリガーします。
  2. GPU に責任を持って昇格させる:
    • will-change: transform, opacity; はアクティブにアニメーション化されている要素にのみ使用し、メモリが制約されている場合はアニメーション完了後に削除します。
    • 必要に応じて transform: translateZ(0) または backface-visibility: hidden を使用して GPU レイヤー合成を強制します。
  3. ユーザーのアクセシビリティを尊重する:
    • 常に @media (prefers-reduced-motion: reduce) をサポートします:
      @media (prefers-reduced-motion: reduce) {
        *, *::before, *::after {
          animation-duration: 0.01ms !important;
          animation-iteration-count: 1 !important;
          transition-duration: 0.01ms !important;
          scroll-behavior: auto !important;
        }
      }
      
  4. 自然なタイミングと持続時間:
    • マイクロインタラクション(ボタンプレス、トグル、ツールチップ): 100ms - 200ms
    • 標準トランジション(ドロップダウン、ダイアログ、ドロワー、カード): 200ms - 350ms
    • 複雑なシーントランジション / ページトランジション: 350ms - 500ms
    • 500ms を超えるアニメーションは、継続的なアトモスフィアのバックグラウンドループやナラティブストーリーテリングでない限り、もっさりした印象を与えます。

2. テクノロジー選択マトリックス

シナリオ / ニーズ推奨ツール理由
シンプルなホバー、フォーカス、アクティブ状態、フェード/スライドCSS Transitions & @keyframes または Tailwind CSSJavaScript オーバーヘッドゼロ、120 FPS のハードウェアアクセラレーション。
React / Next.js UI、モーダル、共有レイアウトトランジションFramer Motion (motion)宣言的 API、スプリング物理、自動 FLIP(layoutId)、AnimatePresence。
複雑なタイムライン、SVG モーフィング、スクロール駆動 UIGSAP (GreenSock) + ScrollTrigger類を見ない振り付け制御、正確なスクラブ、クロスブラウザの一貫性。
3D エクスペリエンス、パーティクルネットワーク、シェーダーThree.js / React Three Fiber / Canvas 2D数十万のパーティクルに対して直接 WebGL GPU レンダリング。
ベクターモーショングラフィックス & キャラクターイラストLottie / dotLottie / Rive小さな JSON/バイナリペイロード、スケーラブルなベクター品質、インタラクティブステートマシン。

3. モーションカーブ(イージングトークン)

一定速度のコンベヤーベルトや無限回転ローダーをシミュレートする場合を除き、UI の動きに linear を使用しないでください。自然な動きは加速と減速を行います:

  • スナッピーなエントランス(標準 UI ポップ/オープン): cubic-bezier(0.16, 1, 0.3, 1)(Expo Out - 高速な初期バースト、スムーズな減速)
  • スムーズな終了(却下/クローズ): cubic-bezier(0.7, 0, 0.84, 0)(Expo In - 画面外に加速)
  • 自然な動的 / 強調: cubic-bezier(0.34, 1.56, 0.64, 1)(微妙なオーバーシュートバウンス)
  • スプリング物理(タッチ & ドラッグに推奨):
    • 剛性: 300 - 400
    • ダンピング: 25 - 35
    • 質量: 0.8 - 1.0

4. 詳細ガイド & リファレンス

包括的なコードパターンと詳細なウォークスルーについては、リファレンスを参照してください:


5. 検証チェックリスト

アニメーションコンポーネントを構築する際:

  • アニメーションは、スタッターやフレームドロップなしでスムーズ(60-120 FPS)ですか?
  • アニメーション中にレイアウトシフト(CLS)は回避されていますか?
  • 終了アニメーションは、要素のアンマウント前に適切に待機されていますか?
  • UI は、グリッチなしで素早いクリック/タップを処理できますか(中断可能なアニメーション)?
  • prefers-reduced-motion は実装されていますか?

関連スキル