Apple
The two Apple modules: SwiftUI animation foundations, and the advanced graphics layer covering Metal shaders, visual effects, Liquid Glass and Canvas.
All documentation
Detected from Package.swift or an Xcode project, with iOS and macOS told apart
by platform declaration or SDK root. That distinction matters before anything is
written, because it decides whether desktop or mobile
principles load, and those two disagree about hover.
swiftui-motion
Loads whenever SwiftUI is detected.
An animation API decision tree, then springs treated as the default rather than as
a special case, because on Apple platforms they are the easing that matches the
platform’s own motion. Implicit against explicit animation and when each is
correct. Transitions. matchedGeometryEffect for hero animations.
PhaseAnimator and KeyframeAnimator from iOS 17. Animatable and
@Animatable for custom interpolation. Gesture-driven animation.
It also carries the anti-patterns in wrong-then-right pairs, and reduced-motion
handling through @Environment(\.accessibilityReduceMotion), which is treated as
a requirement and not a refinement.
The audit for this stack is specific: no body recomputed on state changes that
do not affect it, the Instruments Hitches instrument showing no dropped frames,
accessibility labels and hints on every interactive view, and testing with Reduce
Motion on and Dynamic Type at 200%.
swiftui-graphics
Loads when the scope is full, or when the validated thesis is advanced. The
trigger words are things like shader, Metal, colorEffect, layerEffect,
distortionEffect, Liquid Glass, holographic, CRT and displacement.
It opens with a decision tree for which API fits which need, then an introduction
to Metal shaders in SwiftUI and worked recipes: a ripple through .layerEffect, a
holographic treatment through .colorEffect, CRT scanlines. Then .visualEffect
from iOS 17, Liquid Glass on iOS 26, and SwiftUI’s native Canvas.
It closes with performance considerations, which for shader work is the part that decides whether an effect ships: shader compile cost, and whether the bottleneck is GPU or CPU, verified through an Instruments GPU frame capture rather than assumed.
macOS specifics
When the target is macOS, the desktop layer adds requirements the audit checks
directly: hover states on every interactive element, keyboard shortcuts bound to
the primary actions, multi-window state kept coherent, and visible focus rings on
keyboard navigation with no outline: none equivalent left unreplaced.