mcpField
C
core-animation

core-animation

github.com/prisma-labs-dev開発349423 回インストール5 週間前に更新
リポジトリ

core-animation について

Core Animation と QuartzCore を直接扱う開発者向けのリファレンススキルです。レイヤー、アニメーション、トランザクション、タイミング、画面更新コールバックの資料をまとめています。

主な機能

  1. 01QuartzCore トピック索引
  2. 02レイヤーと階層のガイド
  3. 03プロパティ・キーフレーム・スプリングアニメーション
  4. 04アニメーションのグループ化とトランジション
  5. 05パーティクルとディスプレイリンクの資料

活用シーン

  1. 01CALayer プロパティのアニメーション
  2. 02キーフレームやスプリング効果の作成
  3. 03CATransaction によるレイヤー変更の一括処理
  4. 04パーティクルやフレーム駆動効果の構築

インストール

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

$npx skills add https://github.com/prisma-labs-dev/apple-skills --skill core-animation

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

caanimation.md
caanimationgroup.md
cabasicanimation.md
cadisplaylink.md
caemittercell.md
caemitterlayer.md
cagradientlayer.md
cakeyframeanimation.md
calayer.md
camediatiming.md
cametallayer.md
capropertyanimation.md
careplicatorlayer.md
cashapelayer.md
caspringanimation.md
catextlayer.md
catiledlayer.md
catransaction.md
catransform3d.md
catransition.md
core-animation-index.md

詳細

Core Animation リファレンス

これらのドキュメントを検索して、Core Animation(QuartzCore フレームワーク)に関する質問に回答してください。CALayer、レイヤーバックの UIKit/AppKit ビュー、レイヤープロパティの明示的なキーフレームアニメーションまたはスプリングアニメーション、パーティクルシステム、CADisplayLink によるフレームごとのコールバックを直接扱う場合に、このスキルを使用してください。

SwiftUI の宣言型アニメーション API(withAnimation、Animation、.animation(_:value:)、トランジション)には、Apple の swiftui-specialist スキル(そのアニメーションリファレンス)を使用してください。SwiftUI の即時モード描画には、swiftui/canvas.md と swiftui/graphicscontext.md を使用してください。

返答形式

必ず以下を含めてください。

  1. 概要 — 質問への回答を簡潔に示します。
  2. ファイルパス — 詳細を確認できる関連ファイルを列挙します。例:
    • レイヤーのジオメトリ、コンテンツ、階層については calayer.md
    • 2 つの値の間で単一のプロパティをアニメーションさせる場合は cabasicanimation.md
    • バッチ処理、暗黙的なアニメーションの無効化、デフォルトの継続時間の変更については catransaction.md

ファイル

ファイル内容
core-animation-index.mdQuartzCore フレームワークの完全な索引 — レイヤーの基本、アニメーションクラス、トランザクション、レイヤーサブクラス
calayer.mdCALayer — ルートレイヤークラス:ジオメトリ、コンテンツ、階層、レイアウト、アニメーション
caanimation.mdCAAnimation — すべての Core Animation アニメーション型の抽象基底クラス
capropertyanimation.mdCAPropertyAnimation — 単一のレイヤープロパティをアニメーションさせる抽象サブクラス
cabasicanimation.mdCABasicAnimation — 2 つの値の間でレイヤープロパティを補間
cakeyframeanimation.mdCAKeyframeAnimation — 一連のキーフレームに沿ってプロパティをアニメーション
caspringanimation.mdCASpringAnimation — 質量、剛性、減衰を使ったスプリングベースの補間
caanimationgroup.mdCAAnimationGroup — 共通の継続時間で複数のアニメーションを同時に実行
catransition.mdCATransition — レイヤーの状態間でフェード、押し出し、表示、移動のトランジションを実行
camediatiming.mdCAMediaTiming — レイヤーとアニメーションに共通するプロトコル(beginTime、duration、repeat、speed)
catransaction.mdCATransaction — プロパティ変更のバッチ処理、暗黙的なアニメーションの無効化、デフォルトの継続時間/タイミングの設定
catransform3d.mdCATransform3D — 3D 変換のために CALayer.transform が使用する 4×4 行列
cashapelayer.mdCAShapeLayer — CGPath で制御するベクターシェイプレイヤー(ストローク、塗りつぶし、破線)
cagradientlayer.mdCAGradientLayer — 軸方向、放射状、円錐状のグラデーションレイヤー
caemitterlayer.mdCAEmitterLayer — パーティクルエミッターレイヤー(火、煙、紙吹雪、きらめき)
caemittercell.mdCAEmitterCell — CAEmitterLayer で使用する個々のパーティクル定義
careplicatorlayer.mdCAReplicatorLayer — オフセットと変換を加えてサブレイヤーを複製
cametallayer.mdCAMetalLayer — GPU 描画コンテンツ用の Metal ドローアブルを使うレイヤー
catextlayer.mdCATextLayer — 通常のテキストまたは属性付きテキストを描画するレイヤー
catiledlayer.mdCATiledLayer — 大規模またはズーム可能なレイヤー向けのタイルベースの非同期コンテンツ描画
cadisplaylink.mdCADisplayLink — ディスプレイのリフレッシュレートと同期するタイマー

Core Animation を使う場面

  • SwiftUI/UIKit では宣言的に公開されていないレイヤープロパティをアニメーションさせる必要がある場合(例:CAGradientLayer.colors、CAShapeLayer.strokeEnd、CAEmitterLayer.birthRate)。
  • セグメントごとにタイミング関数(CAMediaTimingFunction)を指定して、キーフレームやスプリングを明示的に制御する必要がある場合。
  • 暗黙的なアニメーションをまとめて無効にしたい場合(CATransaction.setDisableActions(true))。
  • フレームごとのコールバックに CADisplayLink が必要な場合(カスタム描画ループ、スクラブ操作、物理シミュレーションなど)。
  • CAEmitterLayer で数千個のパーティクルを描画する場合や、CAReplicatorLayer でサブレイヤーを複製する場合。

SwiftUI の withAnimation { ... } や UIKit の UIView.animate { ... } で実現できる問題であれば、そちらを優先してください。Core Animation はその両方の下層で動作するため、2026 年時点のコードで出発点として選ぶことはほとんどありません。

ドキュメントをさらに調べる

  1. まず、このスキルのローカルな .md ファイルを検索します。
  2. 該当するトピックが見つからない場合は、インストール済みのほかの Apple スキルを確認し、そのローカルファイルを grep します。
  3. どのインストール済みスキルにも該当ページがない場合、Apple のサイトでの QuartzCore のパスは /documentation/quartzcore/<symbol> です。sosumi.ai の Markdown ミラー(例:https://sosumi.ai/documentation/quartzcore/camediatimingfunction)経由で取得するか、apple-skills ツールを使って pnpm fetch-doc を実行してください。

コメント