apple-design-motion について
apple-design-motionは、インターフェースのアニメーション、ジェスチャー、フィードバックを設計するスキルです。中断可能なスプリングアニメーションや、動きを抑える代替表現、スクロール・ポインター連動の動きを扱います。
主な機能
- 01スプリングアニメーションの指針
- 02中断可能なジェスチャーと速度の引き継ぎ
- 03transformとopacityのアニメーション規則
- 04操作フィードバックと触覚の指針
- 05動きを抑える代替表現
- 06スクロール・ポインター連動の動き
活用シーン
- 01インターフェースの遷移とジェスチャーの設計
- 02応答性のある押下・読み込みフィードバックの追加
- 03スクロール連動のページ演出の作成
- 04動きを抑える設定への対応
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ s1gmamale1/ apple-design-skills --skill apple-design-motionインストール後、Claude Code で/apple-design-motionを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/gestures-interaction.mdmicrointeractions-feedback.mdmotion-animation.md詳細
Apple Design — モーション (アニメーション · ジェスチャー · フィードバック)
Apple がインターフェイスを生き生きと感じさせる方法: スプリング駆動、中断可能、応答性が高い。
使用する場面
- あらゆるトランジション、アニメーション、ジェスチャー、または押下/ローディングのフィードバックを追加するとき。
- Web のモーションを、定型のイージングではなく「Apple らしく流動的」に感じさせたいとき。
核心となるルール
- 固定イージングよりスプリング。 Apple はスプリング (mass/stiffness/damping) でアニメーションし、
response+dampingFraction(またはduration+bounce) としてパラメータ化します。Web ではスプリングのパラメータから CSS のlinear()カーブを生成してください —easeをデフォルトにしてはいけません。 - 中断可能 + 速度の引き継ぎ。
pointerdownで応答し、ジェスチャーのリリース速度をスプリングに引き継がせ、飛行中の方向転換を許可します。アニメーションの背後で入力をブロックしないでください。 transform/opacityのみをアニメーション (GPU コンポジット) し、will-changeは控えめに使います。レイアウトプロパティをアニメーションしないでください。- すべてのアクションにフィードバックを — 視覚的な押下状態 (scale/dim) は常に、触覚は利用可能な場所で。Web Vibration API は iOS Safari では動作しません — 触覚的な感触のためにこれに頼ってはいけません。
prefers-reduced-motionを尊重する: 大きな動きではなく、フェードまたは即時表示の代替を提供します。- フラッグシップページでは連続的なスクロール進行にバインドする。 フラッグシップ/マーケティングページでは、モーションを (減衰させた) 連続的なスクロール進行にバインドし (「読み」を滑らかにし、スクロールを決して乗っ取らない)、単なるビュー内表示だけにしないでください。可逆的でマルチレートなスクロール進行モーションは、死んだテンプレートと生きている Apple ページを分ける唯一最大の差別化要因です。
参照
| ファイル | 用途 |
|---|---|
references/motion-animation.md | スプリングのプリセット + 値、流動的インターフェイスのルール、linear() のレシピ、matchedGeometry/zoom |
references/motion-animation.md → "Continuous scroll-progress motion (the aliveness primitive)" | mapRange + 減衰スクロールの rAF lerp (読みを滑らかに、スクロールジャッキングなし)、可逆/マルチレートのバインド、@supports (animation-timeline) の CSS パス、reduced-motion |
references/motion-animation.md → "Pointer-reactive motion (desktop sugar)" | マグネティックボタン / チルト / スポットライトのバニラレシピ、pointer:fine + reduced-motion のハードゲート、単一 rAF ティックの本番向け注記 |
references/gestures-interaction.md | ジェスチャーの語彙、スワイプで閉じる、コンテキストメニュー、Dynamic Island、JS ポインターレシピ |
references/microinteractions-feedback.md | 触覚カタログ + 発火すべきタイミング、コントロールの状態、ローディングパターン、iOS Web 触覚のギャップ |
よくある間違い
- どこでも
ease/linear、長く、中断できず、入力をブロックするアニメーション。 transformではなくwidth/top/heightをアニメーション、reduced-motion を無視。- タップのフィードバックがない、触覚の乱発 / 二重発火、Web の振動が iOS で動作すると仮定すること。
関連: 動いているガラス → apple-design-materials · スクロール駆動の Web モーション → apple-design-web · a11y としての reduce-motion → apple-design-tactics。
このスキルは、上記の再利用可能なスクロール/ポインターエンジンのプリミティブを所有します。それらを土台に構築するページレベルのスクロール コンポジション — テーマ/背景のモーフ、スティッキー積み重ねカード、スクラブされるキャンバスヒーロー — は apple-design-web にあります。サーフェス軸の判断 (特定のサーフェスがそもそも連続的なモーションにコミットすべきかどうか) は apple-design の restraint-and-antislop.md にあります。
コメント
Markdown 対応