@ericrisco/rsc 3.3.1 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/manifest.json +43 -22
- package/package.json +1 -1
- package/scripts/lib/default-skill-floor.js +5 -1
- package/scripts/lib/domains.js +2 -2
- package/scripts/lib/retired-skills.js +4 -0
- package/skills/design/SKILL.md +4 -3
- package/skills/design/evals/cases.yaml +2 -2
- package/skills/react/SKILL.md +2 -1
- package/skills/ux/SKILL.md +149 -0
- package/skills/ux/THIRD_PARTY.md +32 -0
- package/skills/ux/evals/cases.yaml +40 -0
- package/skills/ux/references/flows.md +124 -0
- package/skills/ux/upstream/UPSTREAM.json +59 -0
- package/skills/ux/upstream/ux-designer/GUIDE.md +180 -0
- package/skills/ux/upstream/ux-designer/LICENSE +21 -0
- package/skills/ux/upstream/ux-designer/references/01-core-principles.md +251 -0
- package/skills/ux/upstream/ux-designer/references/02-laws-of-ux.md +330 -0
- package/skills/ux/upstream/ux-designer/references/03-accessibility.md +411 -0
- package/skills/ux/upstream/ux-designer/references/04-visual-design.md +433 -0
- package/skills/ux/upstream/ux-designer/references/05-information-architecture.md +432 -0
- package/skills/ux/upstream/ux-designer/references/06-interaction-design.md +495 -0
- package/skills/ux/upstream/ux-designer/references/07-forms-and-inputs.md +491 -0
- package/skills/ux/upstream/ux-designer/references/08-mobile-ux.md +539 -0
- package/skills/ux/upstream/ux-designer/references/09-ux-writing.md +493 -0
- package/skills/ux/upstream/ux-designer/references/10-user-research.md +533 -0
- package/skills/ux/upstream/ux-designer/references/11-design-systems.md +618 -0
- package/skills/ux/upstream/ux-designer/references/12a-presence-awareness.md +395 -0
- package/skills/ux/upstream/ux-designer/references/12b-conflict-resolution-sync.md +420 -0
- package/skills/ux/upstream/ux-designer/references/13a-canvas-navigation.md +388 -0
- package/skills/ux/upstream/ux-designer/references/13b-canvas-objects-performance.md +559 -0
- package/skills/ux/upstream/ux-designer/references/14-ai-ux-patterns.md +511 -0
- package/skills/ux/upstream/ux-designer/references/15-ethical-design.md +419 -0
- package/skills/ux/upstream/ux-designer/references/16-onboarding.md +430 -0
- package/skills/ux/upstream/ux-designer/references/17-notifications.md +461 -0
- package/skills/ux/upstream/ux-designer/references/18-data-visualization.md +453 -0
- package/skills/ux/upstream/ux-designer/references/19-search-ux.md +479 -0
- package/skills/ux/upstream/ux-designer/references/20-emotional-design.md +382 -0
- package/skills/ux/upstream/ux-designer/references/21-data-tables.md +629 -0
- package/skills/ux/upstream/ux-designer/references/22-performance-ux.md +626 -0
- package/skills/ux/upstream/ux-designer/references/23-internationalization.md +347 -0
- package/skills/ux/upstream/ux-designer/references/24-voice-and-multimodal.md +308 -0
- package/skills/ux/upstream/ux-designer/references/25a-barcode-camera-scanning.md +342 -0
- package/skills/ux/upstream/ux-designer/references/25b-barcode-scanner-workflows.md +412 -0
- package/skills/ux/upstream/ux-designer/references/25c-barcode-display.md +277 -0
- package/skills/ux/upstream/ux-usability-foundations/GUIDE.md +285 -0
- package/skills/ux/upstream/ux-usability-foundations/LICENSE +21 -0
- package/skills/ux/upstream/ux-usability-foundations/references/anti-patterns.md +267 -0
- package/skills/ux/upstream/ux-usability-foundations/references/checklists.md +130 -0
- package/skills/ux/upstream/ux-usability-foundations/references/decision-prompts.md +340 -0
- package/skills/ux/upstream/ux-usability-foundations/references/principle-cards.md +449 -0
- package/targets/clone-bootstrap.mjs +1 -1
- package/skills/ui-engineering/SKILL.md +0 -113
- package/skills/ui-engineering/evals/cases.yaml +0 -38
|
@@ -0,0 +1,382 @@
|
|
|
1
|
+
# Emotional Design & Trust
|
|
2
|
+
|
|
3
|
+
Emotional design goes beyond usability to create meaningful, trustworthy, and delightful experiences. This reference covers Don Norman's three levels of design, trust-building patterns, microinteraction delight, error empathy, and brand personality in UI.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## Contents
|
|
8
|
+
|
|
9
|
+
- Don Norman's Three Levels of Design
|
|
10
|
+
- Building Trust
|
|
11
|
+
- Delight Through Microinteractions
|
|
12
|
+
- Error Empathy
|
|
13
|
+
- Brand Personality in UI
|
|
14
|
+
- Key Metrics
|
|
15
|
+
- Anti-Patterns
|
|
16
|
+
- Sources
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## Don Norman's Three Levels of Design
|
|
21
|
+
|
|
22
|
+
### 1. Visceral Level — "I want it"
|
|
23
|
+
The immediate, instinctive reaction to appearance before any interaction.
|
|
24
|
+
|
|
25
|
+
**Design for first impressions:**
|
|
26
|
+
- Clean, polished visual design creates instant credibility
|
|
27
|
+
- Color, imagery, and typography set emotional tone
|
|
28
|
+
- Animation and motion create sense of quality
|
|
29
|
+
- Professional aesthetic increases perceived trustworthiness
|
|
30
|
+
|
|
31
|
+
**Implementation:**
|
|
32
|
+
```
|
|
33
|
+
First 50ms: User forms aesthetic impression
|
|
34
|
+
First 3s: User decides to stay or leave
|
|
35
|
+
First 30s: User evaluates overall credibility
|
|
36
|
+
|
|
37
|
+
Priority:
|
|
38
|
+
1. Visual cleanliness (whitespace, alignment)
|
|
39
|
+
2. Professional typography
|
|
40
|
+
3. High-quality imagery
|
|
41
|
+
4. Consistent color palette
|
|
42
|
+
5. Smooth loading experience (skeleton screens, not spinners)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
### 2. Behavioral Level — "I can use it"
|
|
46
|
+
The experience of using the product — functionality, usability, and feel.
|
|
47
|
+
|
|
48
|
+
**Design for confidence:**
|
|
49
|
+
- Predictable, responsive interactions build trust
|
|
50
|
+
- Clear feedback on every action
|
|
51
|
+
- Forgiving design that handles mistakes gracefully
|
|
52
|
+
- Performance that matches expectations
|
|
53
|
+
|
|
54
|
+
**Implementation:**
|
|
55
|
+
```
|
|
56
|
+
Every interaction should feel:
|
|
57
|
+
✅ Responsive — Feedback within 100ms
|
|
58
|
+
✅ Predictable — Consistent behavior across contexts
|
|
59
|
+
✅ Forgiving — Easy to undo, hard to make irreversible errors
|
|
60
|
+
✅ Efficient — Minimum steps to accomplish goals
|
|
61
|
+
✅ Clear — No ambiguity about what happened or what to do next
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### 3. Reflective Level — "I love it"
|
|
65
|
+
The conscious assessment — does this product reflect my identity and values?
|
|
66
|
+
|
|
67
|
+
**Design for meaning:**
|
|
68
|
+
- Brand storytelling through design decisions
|
|
69
|
+
- Personalization that feels thoughtful, not creepy
|
|
70
|
+
- Social proof and community belonging
|
|
71
|
+
- Sustainable and ethical design choices
|
|
72
|
+
|
|
73
|
+
**Implementation:**
|
|
74
|
+
```
|
|
75
|
+
Reflective design elements:
|
|
76
|
+
- "About" pages that share mission and values
|
|
77
|
+
- Sustainability indicators (carbon-neutral badge, etc.)
|
|
78
|
+
- Customization that lets users express identity
|
|
79
|
+
- Community features that create belonging
|
|
80
|
+
- Transparent business practices visible in UI
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Building Trust
|
|
86
|
+
|
|
87
|
+
### Trust Signals by Context
|
|
88
|
+
|
|
89
|
+
| Context | Trust Signals |
|
|
90
|
+
|---------|--------------|
|
|
91
|
+
| **E-commerce** | Secure checkout badge, return policy, real reviews, price guarantee |
|
|
92
|
+
| **SaaS** | Uptime status, security certifications, data location, customer logos |
|
|
93
|
+
| **Healthcare** | Credentials display, HIPAA badge, privacy assurance, medical review |
|
|
94
|
+
| **Financial** | Encryption indicators, regulatory compliance, insurance/FDIC badges |
|
|
95
|
+
| **Social** | Verification badges, community guidelines, moderation transparency |
|
|
96
|
+
|
|
97
|
+
### Social Proof Patterns
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
Customer logos (B2B):
|
|
101
|
+
┌──────────────────────────────────────────┐
|
|
102
|
+
│ Trusted by 10,000+ teams including: │
|
|
103
|
+
│ [Logo] [Logo] [Logo] [Logo] [Logo] │
|
|
104
|
+
└──────────────────────────────────────────┘
|
|
105
|
+
|
|
106
|
+
Testimonials:
|
|
107
|
+
┌──────────────────────────────────────────┐
|
|
108
|
+
│ ⭐⭐⭐⭐⭐ │
|
|
109
|
+
│ "This tool transformed our workflow." │
|
|
110
|
+
│ — Alex Chen, CTO at Acme Inc │
|
|
111
|
+
│ [photo] │
|
|
112
|
+
└──────────────────────────────────────────┘
|
|
113
|
+
|
|
114
|
+
Activity indicators:
|
|
115
|
+
┌──────────────────────────────────────────┐
|
|
116
|
+
│ 🟢 1,234 people using this right now │
|
|
117
|
+
│ 📊 50,000+ projects created this month │
|
|
118
|
+
└──────────────────────────────────────────┘
|
|
119
|
+
|
|
120
|
+
Reviews:
|
|
121
|
+
┌──────────────────────────────────────────┐
|
|
122
|
+
│ 4.8/5 ⭐⭐⭐⭐⭐ (2,341 reviews) │
|
|
123
|
+
│ ████████████████████░ 5★ (1,890) │
|
|
124
|
+
│ ████░░░░░░░░░░░░░░░░ 4★ (312) │
|
|
125
|
+
│ █░░░░░░░░░░░░░░░░░░░ 3★ (89) │
|
|
126
|
+
│ ░░░░░░░░░░░░░░░░░░░░ 2★ (31) │
|
|
127
|
+
│ ░░░░░░░░░░░░░░░░░░░░ 1★ (19) │
|
|
128
|
+
└──────────────────────────────────────────┘
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
**Best practices:**
|
|
132
|
+
- Use real names, photos, and company names (not "User123")
|
|
133
|
+
- Show negative reviews too — 4.8 stars is more credible than 5.0
|
|
134
|
+
- Include specific details ("saved 40% on costs" > "great product")
|
|
135
|
+
- Verified purchase/user badges
|
|
136
|
+
- Recent reviews weighted more heavily in display
|
|
137
|
+
|
|
138
|
+
### Security Indicators
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
Checkout:
|
|
142
|
+
┌──────────────────────────────────────────┐
|
|
143
|
+
│ 🔒 Secure checkout │
|
|
144
|
+
│ Your payment info is encrypted │
|
|
145
|
+
│ │
|
|
146
|
+
│ Card: [ ] │
|
|
147
|
+
│ │
|
|
148
|
+
│ [Pay $42.00] │
|
|
149
|
+
│ │
|
|
150
|
+
│ [🔒 SSL] [PCI DSS] [Visa] [Mastercard]│
|
|
151
|
+
└──────────────────────────────────────────┘
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
- Lock icon near sensitive input fields
|
|
155
|
+
- "Secure" or "encrypted" labels during data entry
|
|
156
|
+
- Security certification badges (SSL, PCI, SOC 2)
|
|
157
|
+
- Payment provider logos (Stripe, PayPal)
|
|
158
|
+
- Don't overdo it — too many badges reduces credibility
|
|
159
|
+
|
|
160
|
+
### Transparent Pricing
|
|
161
|
+
|
|
162
|
+
- Show all costs upfront (no hidden fees)
|
|
163
|
+
- Clear feature comparison between plans
|
|
164
|
+
- "No credit card required" for free trials
|
|
165
|
+
- Money-back guarantee prominently displayed
|
|
166
|
+
- Annual vs. monthly pricing clearly compared
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Delight Through Microinteractions
|
|
171
|
+
|
|
172
|
+
### When to Add Delight
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Good moments for delight:
|
|
176
|
+
✅ Task completion (confetti on milestone)
|
|
177
|
+
✅ First-time achievement (badge unlock)
|
|
178
|
+
✅ Loading waits (playful animation)
|
|
179
|
+
✅ Empty states (friendly illustration)
|
|
180
|
+
✅ Easter eggs (hidden surprises for power users)
|
|
181
|
+
|
|
182
|
+
Bad moments for delight:
|
|
183
|
+
❌ During errors (not the time for jokes)
|
|
184
|
+
❌ In critical workflows (checkout, payment)
|
|
185
|
+
❌ Repeated actions (animation fatigue)
|
|
186
|
+
❌ When it slows the user down
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Celebration Animations
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Achievement unlocked:
|
|
193
|
+
┌──────────────────────────────────────────┐
|
|
194
|
+
│ │
|
|
195
|
+
│ 🎉 Congratulations! │
|
|
196
|
+
│ │
|
|
197
|
+
│ You completed your first project │
|
|
198
|
+
│ │
|
|
199
|
+
│ [🏆 View Badge] │
|
|
200
|
+
│ │
|
|
201
|
+
└──────────────────────────────────────────┘
|
|
202
|
+
+ confetti particle animation (1.5s)
|
|
203
|
+
+ Scale-up entrance (300ms, ease-out)
|
|
204
|
+
+ Respect prefers-reduced-motion
|
|
205
|
+
```
|
|
206
|
+
|
|
207
|
+
- Use sparingly — delight loses effect through repetition
|
|
208
|
+
- Always respect `prefers-reduced-motion`
|
|
209
|
+
- Keep animations short (< 2 seconds)
|
|
210
|
+
- Make them dismissible (click anywhere to close)
|
|
211
|
+
- Tie to meaningful achievements, not trivial actions
|
|
212
|
+
|
|
213
|
+
### Personality in Details
|
|
214
|
+
|
|
215
|
+
```
|
|
216
|
+
Pull-to-refresh: Custom animation matching brand
|
|
217
|
+
Loading state: Playful tip or quote instead of generic spinner
|
|
218
|
+
404 page: Illustrated, on-brand, with helpful navigation
|
|
219
|
+
Empty inbox: "All caught up! 🎉" instead of "No messages"
|
|
220
|
+
Hover states: Subtle, satisfying micro-animations
|
|
221
|
+
Sound design: Optional, subtle interaction sounds
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
### Easter Eggs
|
|
225
|
+
|
|
226
|
+
- Hidden features discovered through exploration (Konami code, etc.)
|
|
227
|
+
- Fun but never affect core functionality
|
|
228
|
+
- Discoverable through word-of-mouth and community
|
|
229
|
+
- Must not interfere with accessibility or usability
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## Error Empathy
|
|
234
|
+
|
|
235
|
+
### Blame-Free Language
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
❌ "Error 403: Forbidden. You do not have permission."
|
|
239
|
+
❌ "Invalid input. Try again."
|
|
240
|
+
❌ "You entered an incorrect password."
|
|
241
|
+
|
|
242
|
+
✅ "You don't have access to this page. Contact your admin for access."
|
|
243
|
+
✅ "That didn't match what we expected. Here's what we're looking for..."
|
|
244
|
+
✅ "That password doesn't match our records. Reset your password?"
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
**Principles:**
|
|
248
|
+
- Never blame the user ("you failed", "invalid", "wrong")
|
|
249
|
+
- Explain what happened in plain language
|
|
250
|
+
- Suggest a clear next step
|
|
251
|
+
- Use "we" language ("We couldn't process..." not "You failed to...")
|
|
252
|
+
- Maintain the same brand voice even in errors
|
|
253
|
+
|
|
254
|
+
### Error Recovery Assistance
|
|
255
|
+
|
|
256
|
+
```
|
|
257
|
+
┌──────────────────────────────────────────┐
|
|
258
|
+
│ ⚠️ We couldn't save your changes │
|
|
259
|
+
│ │
|
|
260
|
+
│ Your internet connection was lost. │
|
|
261
|
+
│ Your changes are saved locally and │
|
|
262
|
+
│ will sync when you're back online. │
|
|
263
|
+
│ │
|
|
264
|
+
│ [Try again now] [Work offline] │
|
|
265
|
+
└──────────────────────────────────────────┘
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
- Preserve user's work (never lose data due to errors)
|
|
269
|
+
- Offer specific recovery actions
|
|
270
|
+
- Auto-retry where appropriate (with indication)
|
|
271
|
+
- Provide alternative paths ("Save locally", "Try different method")
|
|
272
|
+
- Show progress recovery: "You were on step 3 of 5. Continue?"
|
|
273
|
+
|
|
274
|
+
### 404 / Error Pages
|
|
275
|
+
|
|
276
|
+
```
|
|
277
|
+
┌──────────────────────────────────────────┐
|
|
278
|
+
│ │
|
|
279
|
+
│ 🗺️ Page Not Found │
|
|
280
|
+
│ │
|
|
281
|
+
│ We couldn't find what you're looking │
|
|
282
|
+
│ for. It may have been moved or │
|
|
283
|
+
│ removed. │
|
|
284
|
+
│ │
|
|
285
|
+
│ [Go to Homepage] [Search] │
|
|
286
|
+
│ │
|
|
287
|
+
│ Popular pages: │
|
|
288
|
+
│ • Dashboard │
|
|
289
|
+
│ • Documentation │
|
|
290
|
+
│ • Support │
|
|
291
|
+
│ │
|
|
292
|
+
└──────────────────────────────────────────┘
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
- On-brand illustration (not generic)
|
|
296
|
+
- Clear explanation without technical jargon (no "404" as primary message)
|
|
297
|
+
- Navigation options (home, search, popular pages)
|
|
298
|
+
- Report option if user expects the page to exist
|
|
299
|
+
|
|
300
|
+
---
|
|
301
|
+
|
|
302
|
+
## Brand Personality in UI
|
|
303
|
+
|
|
304
|
+
### Voice Consistency
|
|
305
|
+
|
|
306
|
+
| Brand Trait | UI Voice Examples |
|
|
307
|
+
|-------------|-------------------|
|
|
308
|
+
| **Professional** | "Your report is ready for download." |
|
|
309
|
+
| **Friendly** | "All done! Your report is ready." |
|
|
310
|
+
| **Playful** | "Ta-da! Fresh report, hot off the press." |
|
|
311
|
+
| **Technical** | "Report generated. 42 pages, 3.2MB." |
|
|
312
|
+
|
|
313
|
+
**Voice should be consistent across:**
|
|
314
|
+
- Button labels and CTAs
|
|
315
|
+
- Error messages and empty states
|
|
316
|
+
- Onboarding copy and tooltips
|
|
317
|
+
- Email notifications
|
|
318
|
+
- Loading and success messages
|
|
319
|
+
|
|
320
|
+
### Illustration Style
|
|
321
|
+
|
|
322
|
+
```
|
|
323
|
+
Consistent illustration system:
|
|
324
|
+
├── Same color palette as brand
|
|
325
|
+
├── Consistent line weight and style
|
|
326
|
+
├── Diverse, inclusive character representation
|
|
327
|
+
├── Used at key moments (empty states, onboarding, errors)
|
|
328
|
+
└── Not overused (illustration fatigue)
|
|
329
|
+
|
|
330
|
+
Usage:
|
|
331
|
+
✅ Empty states, error pages, onboarding, feature highlights
|
|
332
|
+
❌ Every single screen, decorative-only placements
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### Animation Character
|
|
336
|
+
|
|
337
|
+
- Motion should match brand energy (corporate = subtle, consumer = playful)
|
|
338
|
+
- Consistent easing curves across all animations
|
|
339
|
+
- Interaction sounds (if any) match brand tone
|
|
340
|
+
- Loading animations can carry brand personality
|
|
341
|
+
- All motion must respect `prefers-reduced-motion`
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
## Key Metrics
|
|
346
|
+
|
|
347
|
+
| Metric | Target | Context |
|
|
348
|
+
|--------|--------|---------|
|
|
349
|
+
| Net Promoter Score (NPS) | > 50 | User sentiment |
|
|
350
|
+
| Customer satisfaction (CSAT) | > 4.2/5 | Post-interaction rating |
|
|
351
|
+
| Trust score | > 80% | Survey: "I trust this product" |
|
|
352
|
+
| Error recovery rate | > 85% | Users who recover from errors |
|
|
353
|
+
| Brand recognition | Track | Consistent design = recall |
|
|
354
|
+
| Return visitor rate | > 40% | Users who come back voluntarily |
|
|
355
|
+
| Support ticket rate | < 2% | Low = fewer frustrations |
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Anti-Patterns
|
|
360
|
+
|
|
361
|
+
1. **Forced delight** — Animation or personality where users expect efficiency
|
|
362
|
+
2. **Inconsistent voice** — Professional in one area, casual in another
|
|
363
|
+
3. **Trust badge overload** — 15 security badges that look like spam
|
|
364
|
+
4. **Fake social proof** — Made-up testimonials or inflated numbers
|
|
365
|
+
5. **Error blame** — "You did something wrong" instead of helping
|
|
366
|
+
6. **Animation fatigue** — Same celebration on every save
|
|
367
|
+
7. **Dark delight** — Using personality to distract from deceptive patterns
|
|
368
|
+
8. **Ignoring negative emotions** — Only designing for happy paths
|
|
369
|
+
9. **Generic stock imagery** — Breaking brand consistency with off-brand photos
|
|
370
|
+
10. **Humor in critical moments** — Jokes during payment failures or data loss
|
|
371
|
+
|
|
372
|
+
---
|
|
373
|
+
|
|
374
|
+
## Sources
|
|
375
|
+
|
|
376
|
+
- Norman, D. (2004). "Emotional Design: Why We Love (or Hate) Everyday Things"
|
|
377
|
+
- Walter, A. (2011). "Designing for Emotion" — A Book Apart
|
|
378
|
+
- [Nielsen Norman Group: Trust in UX](https://www.nngroup.com/topic/trust/) — Trust research
|
|
379
|
+
- [Baymard Institute: Trust & Credibility](https://baymard.com/blog/categories/trust) — E-commerce trust
|
|
380
|
+
- [Lottie Animations](https://lottiefiles.com/) — Microinteraction library
|
|
381
|
+
- [Laws of UX: Peak-End Rule](https://lawsofux.com/peak-end-rule/) — Emotional experience design
|
|
382
|
+
- [Material Design: Motion](https://m3.material.io/styles/motion/overview) — Animation personality
|