mcpField
C
core-animation

core-animation

github.com/prisma-labs-devDevelopment349423 installsUpdated 5w ago
Repository

About core-animation

A reference skill for developers working directly with Core Animation and QuartzCore. Its indexed documents cover layers, animation types, transactions, timing, and display callbacks.

Key features

  1. 01QuartzCore topic index
  2. 02Layer and hierarchy guidance
  3. 03Property, keyframe, and spring animations
  4. 04Animation grouping and transitions
  5. 05Particle and display-link references

Use cases

  1. 01Animating CALayer properties
  2. 02Creating keyframe or spring effects
  3. 03Batching layer changes with CATransaction
  4. 04Building particle or frame-driven effects

Install

Copy the command and run it in a terminal.

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

After installing, type/core-animationin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with 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

Details

From the project README

Core Animation Reference

Search these docs to answer questions about Core Animation (the QuartzCore framework). Use this skill when working directly with CALayer, layer-backed UIKit/AppKit views, explicit keyframe or spring animations on layer properties, particle systems, or per-frame callbacks via CADisplayLink.

For SwiftUI's declarative animation API (withAnimation, Animation, .animation(_:value:), transitions), use Apple's swiftui-specialist skill (its animations reference) instead. For SwiftUI immediate-mode drawing, use swiftui/canvas.md and swiftui/graphicscontext.md.

Return Format

Always include:

  1. Summary — answer the question concisely.
  2. File paths — list relevant files for full details, e.g.:
    • calayer.md for layer geometry, contents, hierarchy
    • cabasicanimation.md for animating a single property between two values
    • catransaction.md for batching, disabling implicit animations, or changing default duration

Files

FileContent
core-animation-index.mdFull QuartzCore framework index — layer basics, animation classes, transactions, layer subclasses
calayer.mdCALayer — the root layer class: geometry, contents, hierarchy, layout, animations
caanimation.mdCAAnimation — abstract base class for all Core Animation animation types
capropertyanimation.mdCAPropertyAnimation — abstract subclass animating a single layer property
cabasicanimation.mdCABasicAnimation — interpolate a layer property between two values
cakeyframeanimation.mdCAKeyframeAnimation — animate a property through a sequence of keyframes
caspringanimation.mdCASpringAnimation — spring-based interpolation with mass, stiffness, damping
caanimationgroup.mdCAAnimationGroup — run multiple animations together with a shared duration
catransition.mdCATransition — fade, push, reveal, and move-in transitions between layer states
camediatiming.mdCAMediaTiming — protocol shared by layers and animations (beginTime, duration, repeat, speed)
catransaction.mdCATransaction — batch property changes, disable implicit animations, set default duration/timing
catransform3d.mdCATransform3D — 4×4 matrix used by CALayer.transform for 3D transforms
cashapelayer.mdCAShapeLayer — vector-shape layer driven by a CGPath (stroke, fill, line dash)
cagradientlayer.mdCAGradientLayer — axial, radial, and conic gradient layers
caemitterlayer.mdCAEmitterLayer — particle emitter layer (fire, smoke, confetti, sparkles)
caemittercell.mdCAEmitterCell — individual particle definition used by CAEmitterLayer
careplicatorlayer.mdCAReplicatorLayer — replicate a sublayer with offsets and transforms
cametallayer.mdCAMetalLayer — layer backed by a Metal drawable for GPU-rendered content
catextlayer.mdCATextLayer — layer that renders plain or attributed text
catiledlayer.mdCATiledLayer — tile-based asynchronous content rendering for large or zoomable layers
cadisplaylink.mdCADisplayLink — timer synchronized to the display's refresh rate

When to Reach for Core Animation

  • You need to animate a layer property SwiftUI/UIKit doesn't expose declaratively (e.g., CAGradientLayer.colors, CAShapeLayer.strokeEnd, CAEmitterLayer.birthRate).
  • You need explicit keyframe or spring control with timing functions (CAMediaTimingFunction) per segment.
  • You want to batch implicit animations off (CATransaction.setDisableActions(true)).
  • You need a CADisplayLink per-frame callback (custom drawing loops, scrubbing, physics).
  • You're rendering thousands of particles with CAEmitterLayer or replicating sublayers with CAReplicatorLayer.

If your problem fits inside withAnimation { ... } in SwiftUI or UIView.animate { ... } in UIKit, prefer those — Core Animation sits underneath both and is rarely the right starting point in 2026-era code.

Fetching More Docs

  1. Search this skill's local .md files first.
  2. If the topic is not here, check the other installed Apple skills, then grep their local files.
  3. If no installed skill has the page, the QuartzCore path on Apple's site is /documentation/quartzcore/<symbol> — fetch via the sosumi.ai Markdown mirror (e.g. https://sosumi.ai/documentation/quartzcore/camediatimingfunction) or by running pnpm fetch-doc against the apple-skills tooling.

Comments

Markdown supported