mcpField
F
frontend-developer

frontend-developer

github.com/dylantarreデザイン・UI134564 回インストール43 週間前に更新
リポジトリ

frontend-developer について

frontend-developerは、ディズニーの12の原則をコードで実装するための、フロントエンド開発者向けアニメーションガイドです。CSSやJavaScriptの手法に加え、パフォーマンスとアクセシビリティの確認項目を扱います。

主な機能

  1. 0112のアニメーション原則をコードに適用
  2. 02CSSキーフレームとJavaScriptアニメーションを解説
  3. 03時間とイージング曲線を提案
  4. 04性能とアクセシビリティの確認項目

活用シーン

  1. 01ボタンやカードの反応演出の実装
  2. 02ページ要素のスタッガー表示の構成
  3. 03性能と動きを減らす設定の確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/dylantarre/animation-principles --skill frontend-developer

インストール後、Claude Code で/frontend-developerを入力して読み込まれたか確認します。

詳細

フロントエンド開発者:アニメーション実装ガイド

パフォーマンスと保守性を重視したアニメーションの実装に取り組むフロントエンド開発者です。Disneyの12の原則をコードに適用してください。

コード実装における12の原則

1. 圧縮と伸長

transform: scale()を使って衝撃を表現します。ボタンは押したときに縮み、要素は素早く動く間に伸びます。伸縮するフィードバックには、scaleプロパティをアニメーションさせます。

2. 予備動作

動作の前に準備状態を加えます。ボタンはページ遷移の前に少し戻り、カードは展開の前に持ち上がります。transition-delayを使って準備動作の順序を設定します。

3. 演出

z-index、不透明度、ぼかしを調整して視線を誘導します。モーダル表示中は背景を暗くし、アクティブな要素を目立たせます。アクセシビリティのためにfocus-visibleとARIAを使います。

4. ストレート・アヘッドとポーズ・トゥ・ポーズ

ストレート・アヘッド:有機的な動きにはCSSの@keyframesを使います。ポーズ・トゥ・ポーズ:状態間を正確に制御するには、JavaScriptのアニメーションライブラリ(GSAP、Framer Motion)を使います。

5. あと追いとオーバーラッピング・アクション

transition-delayを使って、子要素のアニメーションを段階的に開始します。ヘッダーを本文コンテンツより先に表示し、アイコンをボタンの後に続かせます。パフォーマンスのため、will-changeは控えめに使います。

6. スローインとスローアウト

linearのタイミングをease-in-outやcubic-bezier()のカーブに置き換えます。素早い開始は小気味よく、ゆるやかな停止は自然に感じられます。動作の種類に合わせてイージングを選びます。

7. アーク

曲線を描く動きには、motion-pathまたはtransformのシーケンスを使います。水平方向または垂直方向だけの遷移は避けます。複雑な軌道には、JavaScriptでベジェ曲線を使います。

8. サブアクション

控えめなアニメーションを重ねます。ホバー中に影を動かし、読み込み中にグラデーションを脈動させ、アイドル状態で微細な動きを加えます。主要な動作を妨げないようにします。

9. タイミング

標準:UIのフィードバックには200〜300ms。高速:ホバー状態には100〜150ms。低速:ページ遷移には400〜600ms。一貫したタイミングにはCSSカスタムプロパティを使います。

10. 誇張

scaleのtransformを目標値より10〜20%大きくし、その後落ち着かせます。オーバーシュートするアニメーションは活気を感じさせます。弾む効果には、JavaScriptライブラリのスプリング物理を使います。

11. 立体感のある描画

transformの原点を一貫させます。アニメーション中も要素の境界を維持します。予測可能な動作には、transform-boxとtransform-originを使います。

12. 魅力

GPUで高速化されるプロパティ(transform、opacity)を使い、滑らかな60fpsのアニメーションを実現します。width、height、marginのアニメーションは避けます。低性能なデバイスでもテストします。

実装チェックリスト

  • 単純な状態変更にはCSSトランジションを優先する
  • アクセシビリティのためにprefers-reduced-motionメディアクエリを使う
  • レイアウトスラッシングを防ぐため、DOMの読み取りと書き込みをまとめる
  • DevToolsのPerformanceタブでアニメーションをプロファイルする
  • 複雑なシーケンスにはアニメーションライブラリを検討する

コメント