skills/core-animation/SKILL.md
API reference: Core Animation (QuartzCore). Query for CALayer, CAAnimation, CABasicAnimation, CAKeyframeAnimation, CASpringAnimation, CATransaction, CAShapeLayer, CAGradientLayer, CAEmitterLayer, CATransform3D, CADisplayLink.
npx skillsauth add vabole/apple-skills core-animationInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
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 guide-swiftui-animations instead. For SwiftUI immediate-mode drawing, use swiftui/canvas.md and swiftui/graphicscontext.md.
Always include:
calayer.md for layer geometry, contents, hierarchycabasicanimation.md for animating a single property between two valuescatransaction.md for batching, disabling implicit animations, or changing default duration| File | Content |
|------|---------|
| core-animation-index.md | Full QuartzCore framework index — layer basics, animation classes, transactions, layer subclasses |
| calayer.md | CALayer — the root layer class: geometry, contents, hierarchy, layout, animations |
| caanimation.md | CAAnimation — abstract base class for all Core Animation animation types |
| capropertyanimation.md | CAPropertyAnimation — abstract subclass animating a single layer property |
| cabasicanimation.md | CABasicAnimation — interpolate a layer property between two values |
| cakeyframeanimation.md | CAKeyframeAnimation — animate a property through a sequence of keyframes |
| caspringanimation.md | CASpringAnimation — spring-based interpolation with mass, stiffness, damping |
| caanimationgroup.md | CAAnimationGroup — run multiple animations together with a shared duration |
| catransition.md | CATransition — fade, push, reveal, and move-in transitions between layer states |
| camediatiming.md | CAMediaTiming — protocol shared by layers and animations (beginTime, duration, repeat, speed) |
| catransaction.md | CATransaction — batch property changes, disable implicit animations, set default duration/timing |
| catransform3d.md | CATransform3D — 4×4 matrix used by CALayer.transform for 3D transforms |
| cashapelayer.md | CAShapeLayer — vector-shape layer driven by a CGPath (stroke, fill, line dash) |
| cagradientlayer.md | CAGradientLayer — axial, radial, and conic gradient layers |
| caemitterlayer.md | CAEmitterLayer — particle emitter layer (fire, smoke, confetti, sparkles) |
| caemittercell.md | CAEmitterCell — individual particle definition used by CAEmitterLayer |
| careplicatorlayer.md | CAReplicatorLayer — replicate a sublayer with offsets and transforms |
| cametallayer.md | CAMetalLayer — layer backed by a Metal drawable for GPU-rendered content |
| catextlayer.md | CATextLayer — layer that renders plain or attributed text |
| catiledlayer.md | CATiledLayer — tile-based asynchronous content rendering for large or zoomable layers |
| cadisplaylink.md | CADisplayLink — timer synchronized to the display's refresh rate |
CAGradientLayer.colors, CAShapeLayer.strokeEnd, CAEmitterLayer.birthRate).CAMediaTimingFunction) per segment.CATransaction.setDisableActions(true)).CADisplayLink per-frame callback (custom drawing loops, scrubbing, physics).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.
.md files first./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.development
API reference: XCUITest. Query for element queries, waiting patterns, Swift 6 @MainActor, assertions, screenshots, launch arguments.
development
API reference: TipKit. Tip protocol, TipView, PopoverTipView, Tips.configure, inline and popover tips.
development
API reference: MapKit for SwiftUI. Map view, Marker, Annotation, camera positions, map features.
development
API reference: Apple Human Interface Guidelines. Query for design patterns, UI components, accessibility, color, typography, layout, haptics.