界面已本地化;技能介绍与说明文档按所选语言由 AI 自动翻译,代码、命令、路径和专业术语保留原文,以原作者文档为准。
探索技能
数据与研究 · SKILL.md

ios-animations

ios-animations

【数据与研究】Clinic-architecture-aligned iOS animation craft guidelines for SwiftUI (iOS 26 / Swift 6.2) covering motion tokens, spring physics, gesture continuity, spatial transitions, micro-interactions, and accessibility. Enforces @Equatable on animated views and keeps animation state aligned with Domain/Data feature boundaries. Use when writing, reviewing, or…

独立 GitHub 快照 · 自动分类 · 以原作者文档为准

技能说明

GitHub

name: ios-animations description: Clinic-architecture-aligned iOS animation craft guidelines for SwiftUI (iOS 26 / Swift 6.2) covering motion tokens, spring physics, gesture continuity, spatial transitions, micro-interactions, and accessibility. Enforces @Equatable on animated views and keeps animation state aligned with Domain/Data feature boundaries. Use when writing, reviewing, or refactoring SwiftUI animation code under the clinic modular MVVM-C architecture.

dot-skills — Airbnb iOS SwiftUI Animations Best Practices

Opinionated, strict animation craft guide for SwiftUI iOS 26 / Swift 6.2 apps. Contains 50 rules across 8 categories, prioritized by impact. Derived from Airbnb Engineering motion patterns, Apple WWDC sessions, and Apple Human Interface Guidelines. Mandates @Equatable on every animated view, motion tokens for all spring/timing values, and design system tokens for layout.

Mandated Architecture Alignment

This skill is designed to work alongside swift-ui-architect and ios-design-system. All code examples follow the same non-negotiable constraints:

  • @Equatable macro on every view (Airbnb measured 15% scroll hitch reduction)
  • @Observable for complex animation state that involves business logic triggers
  • @State for view-owned animation state (toggle booleans, drag offsets)
  • Design system tokens: Spacing.xs/sm/md/lg, Radius.sm/md/lg — zero hardcoded layout numbers
  • Motion tokens: Motion.standard/responsive/playful — zero scattered spring literals
  • Semantic colors: .backgroundSurface, .accentPrimary — no raw Color literals in views
  • Feature animations remain presentation-only; data/network concerns stay in Data package

Scope & Relationship to Sibling Skills

This skill is the motion layer — it teaches how to BUILD fluid, performant animations. When loaded alongside sibling skills:

Sibling SkillIts FocusThis Skill's Focus
swift-ui-architectArchitecture (modular MVVM-C, route shells, protocol boundaries)Animation architecture (motion tokens, spring selection, orchestration)
ios-design-systemDesign system infrastructure (tokens, styles, governance)Motion tokens and animated component patterns
ios-higHIG compliance patternsMotion-specific HIG (reduce motion, spatial continuity)

Out of scope: Designer-authored vector animations (use Lottie for After Effects exports). Complex UIKit transition controllers (see Airbnb's declarative transition framework). This skill covers programmatic SwiftUI animations only.

Clinic Architecture Contract (iOS 26 / Swift 6.2)

All guidance in this skill assumes the clinic modular MVVM-C architecture:

  • Feature modules import Domain + DesignSystem only (never Data, never sibling features)
  • App target is the convergence point and owns DependencyContainer, concrete coordinators, and Route Shell wiring
  • Domain stays pure Swift and defines models plus repository, *Coordinating, ErrorRouting, and AppError contracts
  • Data owns SwiftData/network/sync/retry/background I/O and implements Domain protocols
  • Read/write flow defaults to stale-while-revalidate reads and optimistic queued writes
  • ViewModels call repository protocols directly (no default use-case/interactor layer)

When to Apply

Reference these guidelines when:

  • Adding animations to SwiftUI views or transitions
  • Building gesture-driven interactions (drag, swipe, pan)
  • Connecting views with spatial transitions (expand/collapse, navigation morphs)
  • Designing micro-interactions (button press, toggle, loading states)
  • Making content changes feel physical (number rolls, symbol replacements)
  • Choreographing multi-element animation sequences (KeyframeAnimator, PhaseAnimator)
  • Defining motion tokens for a design system
  • Reviewing animation code for performance, accessibility, and architecture compliance

Rule Categories by Priority

PriorityCategoryImpactPrefixRules
1Spring PhysicsCRITICALspring-8
2Timing & FeelCRITICALfeel-6
3Gesture ContinuityHIGHgesture-7
4Spatial TransitionsHIGHspatial-6
5Micro-interactionsHIGHmicro-6
6OrchestrationHIGHorch-5
7Craft & PolishHIGHcraft-5
8Content MotionMEDIUM-HIGHcontent-5

Quick Reference

1. Spring Physics (CRITICAL)

2. Timing & Feel (CRITICAL)

3. Gesture Continuity (HIGH)

4. Spatial Transitions (HIGH)

5. Micro-interactions (HIGH)

6. Orchestration (HIGH)

7. Craft & Polish (HIGH)

8. Content Motion (MEDIUM-HIGH)

How to Use

Read individual reference files for detailed explanations with incorrect/correct code examples:

Reference Files

FileDescription
references/_sections.mdCategory definitions and ordering
assets/templates/_template.mdTemplate for new rules
metadata.jsonVersion and reference information
我的收藏