arkaos 5.6.0 → 5.7.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/THE-ARKAOS-GUIDE.md +1 -1
- package/VERSION +1 -1
- package/arka/SKILL.md +1 -1
- package/config/skills-provenance.yaml +8 -0
- package/departments/brand/skills/design-system/SKILL.md +4 -2
- package/departments/brand/skills/motion-design/SKILL.md +362 -0
- package/departments/brand/skills/motion-design/references/director/choreography.md +93 -0
- package/departments/brand/skills/motion-design/references/director/context-adaptation.md +83 -0
- package/departments/brand/skills/motion-design/references/director/core-philosophy.md +53 -0
- package/departments/brand/skills/motion-design/references/director/decision-framework.md +91 -0
- package/departments/brand/skills/motion-design/references/director/disney-principles.md +102 -0
- package/departments/brand/skills/motion-design/references/director/emotion-mapping.md +71 -0
- package/departments/brand/skills/motion-design/references/director/motion-personality.md +89 -0
- package/departments/brand/skills/motion-design/references/director/narrative-structure.md +62 -0
- package/departments/brand/skills/motion-design/references/motion-design-skill.LICENSE +21 -0
- package/departments/brand/skills/motion-design/references/patterns/ambient-continuous.md +81 -0
- package/departments/brand/skills/motion-design/references/patterns/entrance-exit.md +82 -0
- package/departments/brand/skills/motion-design/references/patterns/multi-element.md +69 -0
- package/departments/brand/skills/motion-design/references/patterns/state-feedback.md +96 -0
- package/departments/brand/skills/motion-design/references/reference/property-selection.md +95 -0
- package/departments/brand/skills/motion-design/references/reference/quality-checklist.md +67 -0
- package/departments/brand/skills/motion-design/references/reference/timing-easing-tables.md +106 -0
- package/departments/brand/skills/motion-design/references/reference/troubleshooting.md +73 -0
- package/harness/codex/AGENTS.md +1 -1
- package/harness/copilot/copilot-instructions.md +1 -1
- package/harness/cursor/rules/arkaos.mdc +2 -2
- package/harness/gemini/GEMINI.md +1 -1
- package/harness/opencode/AGENTS.md +1 -1
- package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
- package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
- package/harness/opencode/agents/arka-cfo-helena.md +1 -1
- package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
- package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
- package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
- package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
- package/harness/opencode/agents/arka-coo-sofia.md +1 -1
- package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
- package/harness/opencode/agents/arka-cqo-marta.md +1 -1
- package/harness/opencode/agents/arka-cto-marco.md +1 -1
- package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
- package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
- package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
- package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
- package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
- package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
- package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
- package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
- package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
- package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
- package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
- package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
- package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
- package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
- package/harness/zed/.rules +1 -1
- package/knowledge/commands-registry.json +1 -1
- package/knowledge/skills-manifest.json +16 -1
- package/package.json +1 -1
- package/pyproject.toml +1 -1
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
# Decision Framework
|
|
2
|
+
|
|
3
|
+
## The First Questions
|
|
4
|
+
|
|
5
|
+
### 1. Purpose?
|
|
6
|
+
|
|
7
|
+
| Purpose | Approach | Priority |
|
|
8
|
+
|---------|----------|----------|
|
|
9
|
+
| Draw attention | Scale, color, pulse | Responsiveness |
|
|
10
|
+
| Guide sequence | Stagger, directional flow | Clarity |
|
|
11
|
+
| Provide feedback | Immediate response | Speed |
|
|
12
|
+
| Create atmosphere | Subtle, continuous | Subtlety |
|
|
13
|
+
| Explain relationship | Position, connection | Legibility |
|
|
14
|
+
| Celebrate/reward | Overshoot, particles | Delight |
|
|
15
|
+
|
|
16
|
+
### 2. Audience?
|
|
17
|
+
- Stressed → calm motion; Browsing → richer motion
|
|
18
|
+
- Task-focused → fast, minimal; Exploring → can be dramatic
|
|
19
|
+
- Seen 100x/day → fast, subtle; Seen once → can be dramatic
|
|
20
|
+
|
|
21
|
+
### 3. Context?
|
|
22
|
+
- Busy layout → simpler motion; Empty → can be dramatic
|
|
23
|
+
- Other animations active → coordinate or stagger
|
|
24
|
+
- Small container → small motion
|
|
25
|
+
|
|
26
|
+
## 4-Level Decision Hierarchy
|
|
27
|
+
|
|
28
|
+
### Level 1: Motion Category
|
|
29
|
+
|
|
30
|
+
| Category | When |
|
|
31
|
+
|----------|------|
|
|
32
|
+
| Revealing | Content appearing |
|
|
33
|
+
| Concealing | Content disappearing |
|
|
34
|
+
| Transitioning | Between states/views |
|
|
35
|
+
| Emphasizing | Drawing attention |
|
|
36
|
+
| Responding | Reacting to interaction |
|
|
37
|
+
| Ambient | Background atmosphere |
|
|
38
|
+
|
|
39
|
+
### Level 2: Motion Personality
|
|
40
|
+
Match to brand. See [motion-personality.md](motion-personality.md).
|
|
41
|
+
|
|
42
|
+
### Level 3: Motion Direction
|
|
43
|
+
|
|
44
|
+
| Direction | Communicates |
|
|
45
|
+
|-----------|-------------|
|
|
46
|
+
| Upward | Growth, aspiration |
|
|
47
|
+
| Downward | Settling, completion |
|
|
48
|
+
| Leftward | Regression, departure |
|
|
49
|
+
| Rightward | Progression, arrival |
|
|
50
|
+
| Outward (scale up) | Importance, emergence |
|
|
51
|
+
| Inward (scale down) | Dismissal, removal |
|
|
52
|
+
| Center-seeking | Focus, convergence |
|
|
53
|
+
| Center-fleeing | Distribution, release |
|
|
54
|
+
|
|
55
|
+
### Level 4: Implementation Properties
|
|
56
|
+
Choose animated properties. See [property-selection.md](../reference/property-selection.md).
|
|
57
|
+
|
|
58
|
+
## Decision Quick-Path
|
|
59
|
+
|
|
60
|
+
```
|
|
61
|
+
1. PURPOSE → What does this motion DO?
|
|
62
|
+
├── Feedback → short, ease-out, minimal
|
|
63
|
+
├── Entrance → ease-out, personality-matched
|
|
64
|
+
├── Exit → ease-in, 70% of entrance
|
|
65
|
+
├── Emphasis → scale or color pulse
|
|
66
|
+
└── Ambient → slow, continuous, sine
|
|
67
|
+
|
|
68
|
+
2. PERSONALITY → Match keywords
|
|
69
|
+
├── Fun/bouncy → Playful
|
|
70
|
+
├── Elegant/luxury → Premium
|
|
71
|
+
├── Clean/professional → Corporate
|
|
72
|
+
└── Bold/dynamic → Energetic
|
|
73
|
+
|
|
74
|
+
3. PROPERTIES → Minimum needed (two = sweet spot)
|
|
75
|
+
|
|
76
|
+
4. TIMING → Check duration table, adjust for distance/weight
|
|
77
|
+
|
|
78
|
+
5. EASING → Entering=ease-out, Leaving=ease-in, On-screen=ease-in-out, Looping=sine
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
## Evaluation Before Delivery
|
|
82
|
+
|
|
83
|
+
| Check | Question |
|
|
84
|
+
|-------|----------|
|
|
85
|
+
| Purpose | Clear function? |
|
|
86
|
+
| Personality | Matches brand/context? |
|
|
87
|
+
| Repetition | Fine on 100th viewing? |
|
|
88
|
+
| Attention | Respects viewer's focus? |
|
|
89
|
+
| Hierarchy | Reinforces importance? |
|
|
90
|
+
| Layers | Primary + secondary + ambient? |
|
|
91
|
+
| Timing | Duration appropriate? |
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
# Disney's 12 Principles — UI Adapted
|
|
2
|
+
|
|
3
|
+
## 1. Squash and Stretch
|
|
4
|
+
|
|
5
|
+
- Squash: scale ~[1.2, 0.8]; Stretch: ~[0.85, 1.15]
|
|
6
|
+
- Impact: 2-4 frames (30-65ms); Recovery: 4-8 frames (65-130ms)
|
|
7
|
+
- Preserve volume: width +20% → height decreases proportionally
|
|
8
|
+
- Skip for premium/luxury brands
|
|
9
|
+
|
|
10
|
+
## 2. Anticipation
|
|
11
|
+
|
|
12
|
+
- Small motion opposite to main direction before action
|
|
13
|
+
- Duration: 100-200ms, magnitude: 10-20% of main action
|
|
14
|
+
- Button: scale down 3% before expanding; Card: shift 5-10px away first
|
|
15
|
+
- Skip for micro-feedback (<150ms)
|
|
16
|
+
|
|
17
|
+
## 3. Staging
|
|
18
|
+
|
|
19
|
+
- Dim non-hero elements to 40-60% opacity; optional 2-4px blur
|
|
20
|
+
- Hero enters 100-200ms after supporting elements
|
|
21
|
+
- One primary action per timing beat
|
|
22
|
+
|
|
23
|
+
## 4. Straight Ahead vs. Pose to Pose
|
|
24
|
+
|
|
25
|
+
| Approach | Feel | Best For |
|
|
26
|
+
|----------|------|----------|
|
|
27
|
+
| Straight Ahead | Fluid, spontaneous | Particles, ambient, generative art |
|
|
28
|
+
| Pose to Pose | Planned, controlled | UI transitions, state changes |
|
|
29
|
+
|
|
30
|
+
## 5. Follow Through and Overlapping Action
|
|
31
|
+
|
|
32
|
+
- Child delay: 50-150ms behind parent
|
|
33
|
+
- Trailing elements: offset stop times by 100-200ms
|
|
34
|
+
- Use spring easing for trailing parts (lower stiffness = more trailing)
|
|
35
|
+
|
|
36
|
+
## 6. Slow In and Slow Out
|
|
37
|
+
|
|
38
|
+
| Context | Easing | Why |
|
|
39
|
+
|---------|--------|-----|
|
|
40
|
+
| Entrance | ease-out | Arrives smoothly |
|
|
41
|
+
| Exit | ease-in | Departs quickly |
|
|
42
|
+
| On-screen | ease-in-out | Smooth journey |
|
|
43
|
+
| Ambient loop | sine ease-in-out | Seamless |
|
|
44
|
+
|
|
45
|
+
**NEVER** linear for spatial movement. Linear only for: rotation, progress bars, timers.
|
|
46
|
+
|
|
47
|
+
## 7. Arcs
|
|
48
|
+
|
|
49
|
+
- Add 10-20px perpendicular offset at path midpoint
|
|
50
|
+
- Subtle (5px) for corporate, pronounced (20px+) for playful
|
|
51
|
+
- Mechanical UIs can use straight paths intentionally
|
|
52
|
+
|
|
53
|
+
## 8. Secondary Action
|
|
54
|
+
|
|
55
|
+
- Amplitude: 30-50% of primary; timing: 50-100ms after primary
|
|
56
|
+
- Different easing than primary
|
|
57
|
+
- Examples: card enters → shadow grows; button presses → ripple expands
|
|
58
|
+
|
|
59
|
+
## 9. Timing
|
|
60
|
+
|
|
61
|
+
| Weight/Mood | Duration |
|
|
62
|
+
|-------------|----------|
|
|
63
|
+
| Heavy (modals, pages) | 400-800ms |
|
|
64
|
+
| Light (tooltips, toggles) | 100-250ms |
|
|
65
|
+
| Sad/serious | 600ms+ |
|
|
66
|
+
| Happy/light | 200-400ms |
|
|
67
|
+
| Urgent | 100-200ms |
|
|
68
|
+
|
|
69
|
+
Enter-exit asymmetry: entrances 30-50% longer than exits.
|
|
70
|
+
|
|
71
|
+
## 10. Exaggeration
|
|
72
|
+
|
|
73
|
+
| Personality | Exaggeration |
|
|
74
|
+
|-------------|-------------|
|
|
75
|
+
| Playful | 15-25% |
|
|
76
|
+
| Energetic | 20-30% |
|
|
77
|
+
| Corporate | 0-5% |
|
|
78
|
+
| Premium | 0% |
|
|
79
|
+
|
|
80
|
+
- Scale overshoot: 10-30% beyond target; rotation: ±5-15°
|
|
81
|
+
|
|
82
|
+
## 11. Solid Drawing
|
|
83
|
+
|
|
84
|
+
- Maintain consistent proportions across keyframes
|
|
85
|
+
- Use scale + rotation together for depth
|
|
86
|
+
- Shadow behavior matches implied light source
|
|
87
|
+
|
|
88
|
+
## 12. Appeal
|
|
89
|
+
|
|
90
|
+
- Smooth curves over sharp angles; satisfying timing
|
|
91
|
+
- Personality consistency across all elements
|
|
92
|
+
- Appeal killers: jerky motion, inconsistent timing, abrupt stops, uniform animation
|
|
93
|
+
|
|
94
|
+
## Combining Principles
|
|
95
|
+
|
|
96
|
+
| Recipe | Principles Used |
|
|
97
|
+
|--------|----------------|
|
|
98
|
+
| Button press | Anticipation + Squash/Stretch + Follow-Through + Secondary + Timing |
|
|
99
|
+
| Card entrance | Anticipation + Arcs + Slow In/Out + Follow-Through + Staging |
|
|
100
|
+
| Success celebration | Exaggeration + Secondary + Timing + Squash/Stretch + Appeal |
|
|
101
|
+
| Error shake | Timing + Slow In/Out + Staging (no exaggeration) |
|
|
102
|
+
| Loading spinner | Timing + Slow In/Out + Appeal |
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# Emotion-to-Motion Mapping
|
|
2
|
+
|
|
3
|
+
## Core Table
|
|
4
|
+
|
|
5
|
+
| Emotion | Character | Path | Easing | Duration |
|
|
6
|
+
|---------|----------|------|--------|----------|
|
|
7
|
+
| Joy/Delight | Bouncy, arcs, overshoot | Curved, upward | ease-out-back | 200-400ms |
|
|
8
|
+
| Calm/Serenity | Smooth, flowing | Gentle curves | sine ease-in-out | 500-1000ms |
|
|
9
|
+
| Urgency/Alert | Sharp, fast, direct | Straight lines | ease-out | 100-200ms |
|
|
10
|
+
| Sadness/Weight | Slow, downward | Drooping curves | cubic ease-in-out | 600-1200ms |
|
|
11
|
+
| Surprise/Impact | Sudden, expanding | Radial outward | ease-out-expo | 150-300ms |
|
|
12
|
+
| Elegance/Grace | Slow, controlled | Long smooth arcs | (0.4, 0, 0.2, 1) | 400-700ms |
|
|
13
|
+
| Playfulness | Bouncy, irregular | Arcs, squiggly | ease-out-back | 200-350ms |
|
|
14
|
+
| Confidence | Direct, decisive | Straight, horizontal | ease-out | 200-400ms |
|
|
15
|
+
| Curiosity | Exploratory, varied | Mixed, circular | varied | 300-500ms |
|
|
16
|
+
| Tenderness | Soft, gentle | Very subtle curves | soft ease-in-out | 600-1000ms |
|
|
17
|
+
|
|
18
|
+
## Path as Emotional Language
|
|
19
|
+
|
|
20
|
+
| Path Type | Connotation |
|
|
21
|
+
|-----------|------------|
|
|
22
|
+
| Angular/sharp | Tense, urgent, mechanical |
|
|
23
|
+
| Curved/smooth | Relaxed, friendly, organic |
|
|
24
|
+
| Spiral | Playful, whimsical |
|
|
25
|
+
| Straight diagonal | Dynamic, purposeful |
|
|
26
|
+
| Vertical up | Growth, achievement |
|
|
27
|
+
| Vertical down | Settling, gravity |
|
|
28
|
+
| Horizontal | Journey, progress |
|
|
29
|
+
| Radial outward | Explosion, release |
|
|
30
|
+
| Radial inward | Focus, convergence |
|
|
31
|
+
|
|
32
|
+
## Emotional Intensity
|
|
33
|
+
|
|
34
|
+
| Intensity | Characteristics | When |
|
|
35
|
+
|-----------|----------------|------|
|
|
36
|
+
| Low | Subtle opacity, tiny shifts | Ambient, routine |
|
|
37
|
+
| Medium | Visible but not demanding | Most UI interactions |
|
|
38
|
+
| High | Demands attention, large displacement | Errors, celebrations, onboarding |
|
|
39
|
+
|
|
40
|
+
## Color Psychology
|
|
41
|
+
|
|
42
|
+
| Color | Emotion | Animation Pairing |
|
|
43
|
+
|-------|---------|------------------|
|
|
44
|
+
| Blue | Trust, calm | Smooth, medium transitions |
|
|
45
|
+
| Green | Success, growth | Upward, expansion, gentle overshoot |
|
|
46
|
+
| Red | Alert, urgency | Sharp, fast, horizontal shakes |
|
|
47
|
+
| Orange | Energy, warmth | Bouncy, diagonal paths |
|
|
48
|
+
| Purple | Premium, mystery | Slow reveals, elegant easing |
|
|
49
|
+
| Yellow | Optimism, caution | Quick pulses |
|
|
50
|
+
| Teal | Modern, clarity | Clean, snappy transitions |
|
|
51
|
+
|
|
52
|
+
### Color Transition Rules
|
|
53
|
+
- Success: transition TO green (don't start with it)
|
|
54
|
+
- Error: flash red then settle (don't sustain)
|
|
55
|
+
- Warning: pulse yellow/amber for urgency
|
|
56
|
+
- Neutral: use opacity rather than color change
|
|
57
|
+
|
|
58
|
+
## Context-Based Emotion Defaults
|
|
59
|
+
|
|
60
|
+
| Context | Default Emotion |
|
|
61
|
+
|---------|----------------|
|
|
62
|
+
| Form success | Joy + Confidence |
|
|
63
|
+
| Validation error | Mild urgency |
|
|
64
|
+
| Page load | Calm + Confidence |
|
|
65
|
+
| Navigation | Confidence |
|
|
66
|
+
| Notification | Mild surprise |
|
|
67
|
+
| Loading | Calm |
|
|
68
|
+
| Onboarding | Curiosity + Delight |
|
|
69
|
+
| Dashboard | Calm + Confidence |
|
|
70
|
+
| Purchase complete | Joy + Confidence |
|
|
71
|
+
| Delete/remove | Calm (respectful departure) |
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Motion Personality
|
|
2
|
+
|
|
3
|
+
## Four Archetypes
|
|
4
|
+
|
|
5
|
+
### Playful
|
|
6
|
+
|
|
7
|
+
| Parameter | Value |
|
|
8
|
+
|-----------|-------|
|
|
9
|
+
| Duration | 150-300ms |
|
|
10
|
+
| Easing | ease-out-back / bouncy springs |
|
|
11
|
+
| Overshoot | 10-20% |
|
|
12
|
+
| Paths | Arcs and curves, never straight |
|
|
13
|
+
| Squash-stretch | Yes, on impacts |
|
|
14
|
+
|
|
15
|
+
Signature: bounce settle, squash-stretch on press, rotation wobble, bright color pops, varied stagger timing.
|
|
16
|
+
Use for: children's apps, casual games, social media, celebrations, onboarding, creative tools.
|
|
17
|
+
|
|
18
|
+
### Premium / Luxury
|
|
19
|
+
|
|
20
|
+
| Parameter | Value |
|
|
21
|
+
|-----------|-------|
|
|
22
|
+
| Duration | 350-600ms |
|
|
23
|
+
| Easing | cubic-bezier(0.4, 0, 0.2, 1) |
|
|
24
|
+
| Overshoot | 0% |
|
|
25
|
+
| Paths | Smooth curves, subtle parallax |
|
|
26
|
+
| Squash-stretch | Never |
|
|
27
|
+
|
|
28
|
+
Signature: slow fades, subtle scale (98%→100%), generous pauses, minimal properties (opacity+one), ultra-smooth.
|
|
29
|
+
Use for: fashion, finance, luxury brands, premium SaaS, portfolios, editorial.
|
|
30
|
+
|
|
31
|
+
### Corporate / Professional
|
|
32
|
+
|
|
33
|
+
| Parameter | Value |
|
|
34
|
+
|-----------|-------|
|
|
35
|
+
| Duration | 200-400ms |
|
|
36
|
+
| Easing | cubic-bezier(0.2, 0, 0, 1) |
|
|
37
|
+
| Overshoot | 0-3% |
|
|
38
|
+
| Paths | Mostly straight, small arcs for emphasis |
|
|
39
|
+
| Squash-stretch | No |
|
|
40
|
+
|
|
41
|
+
Signature: consistent timing, clear state transitions, functional motion, predictable patterns, uniform stagger.
|
|
42
|
+
Use for: enterprise, dashboards, business tools, admin, healthcare, banking.
|
|
43
|
+
|
|
44
|
+
### Energetic / Dynamic
|
|
45
|
+
|
|
46
|
+
| Parameter | Value |
|
|
47
|
+
|-----------|-------|
|
|
48
|
+
| Duration | 100-250ms |
|
|
49
|
+
| Easing | ease-out-expo / elastic |
|
|
50
|
+
| Overshoot | 15-30% |
|
|
51
|
+
| Paths | Dramatic arcs, large displacement, diagonal |
|
|
52
|
+
| Squash-stretch | Yes, exaggerated |
|
|
53
|
+
|
|
54
|
+
Signature: large scale changes (50-150%), fast color transitions, particle bursts, accelerating stagger, bold edge entrances.
|
|
55
|
+
Use for: gaming, sports, music, events, marketing, fitness apps.
|
|
56
|
+
|
|
57
|
+
## Keyword Matching
|
|
58
|
+
|
|
59
|
+
| Keywords | Archetype |
|
|
60
|
+
|----------|-----------|
|
|
61
|
+
| fun, whimsical, bouncy, cute, friendly | Playful |
|
|
62
|
+
| elegant, minimal, luxury, sophisticated | Premium |
|
|
63
|
+
| clean, professional, business, dashboard | Corporate |
|
|
64
|
+
| dynamic, energetic, bold, exciting | Energetic |
|
|
65
|
+
| (unspecified) + UI | Corporate (default) |
|
|
66
|
+
| (unspecified) + illustration | Playful (default) |
|
|
67
|
+
|
|
68
|
+
## Brand Motion Identity
|
|
69
|
+
|
|
70
|
+
Define three constants for recognizable motion:
|
|
71
|
+
|
|
72
|
+
### 1. Signature Easing (80% of animations)
|
|
73
|
+
Playful: ease-out-back | Premium: (0.4,0,0.2,1) | Corporate: (0.2,0,0,1) | Energetic: ease-out-expo
|
|
74
|
+
|
|
75
|
+
### 2. Duration Palette
|
|
76
|
+
|
|
77
|
+
| Tier | Playful | Premium | Corporate | Energetic |
|
|
78
|
+
|------|---------|---------|-----------|-----------|
|
|
79
|
+
| Quick | 150ms | 350ms | 200ms | 100ms |
|
|
80
|
+
| Standard | 250ms | 500ms | 300ms | 180ms |
|
|
81
|
+
| Slow | 400ms | 800ms | 450ms | 300ms |
|
|
82
|
+
|
|
83
|
+
### 3. Entrance Pattern
|
|
84
|
+
Playful: bounce up from below | Premium: slow fade + scale 98%→100% | Corporate: slide right + opacity | Energetic: snap from edge + overshoot
|
|
85
|
+
|
|
86
|
+
## Mixing Archetypes
|
|
87
|
+
- 90% primary archetype; specific moments can borrow another
|
|
88
|
+
- Ease into personality shifts, don't snap
|
|
89
|
+
- Example: corporate dashboard borrows Playful for success state only
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Narrative Structure
|
|
2
|
+
|
|
3
|
+
## Four-Act Structure
|
|
4
|
+
|
|
5
|
+
### Act 1: Anticipation (10-20%)
|
|
6
|
+
- Wind-up: small motion opposite to main direction
|
|
7
|
+
- Gathering: elements pull together before dispersing
|
|
8
|
+
- Dimming: context fades for focus; Tension: hold compressed ~50ms
|
|
9
|
+
- Skip for <150ms interactions and hover states
|
|
10
|
+
|
|
11
|
+
### Act 2: Action (30-50%)
|
|
12
|
+
Peak energy. The primary communicative motion.
|
|
13
|
+
- Fast+direct (sharp easing) → alerts
|
|
14
|
+
- Smooth+flowing (gentle easing, curves) → transitions
|
|
15
|
+
- Explosive+expanding (expo, radial) → celebrations
|
|
16
|
+
- Controlled+precise (linear-ish) → data charts
|
|
17
|
+
|
|
18
|
+
### Act 3: Reaction (10-20%)
|
|
19
|
+
- Shadows adjust: 50-100ms after primary
|
|
20
|
+
- Siblings shift: 50-150ms after primary
|
|
21
|
+
- Environment ripples: 100-200ms after primary
|
|
22
|
+
- Counter-motion: simultaneous with action
|
|
23
|
+
- Skip for simple toggles/checkboxes
|
|
24
|
+
|
|
25
|
+
### Act 4: Resolution (20-30%)
|
|
26
|
+
- Overshoot settle (spring/back-easing); opacity reaches final (ease-out)
|
|
27
|
+
- 100-200ms breathing room before next motion
|
|
28
|
+
- Even 50ms of settling transforms the feel
|
|
29
|
+
|
|
30
|
+
## Scaling to Duration
|
|
31
|
+
|
|
32
|
+
| Total | Anticipation | Action | Reaction | Resolution |
|
|
33
|
+
|-------|-------------|--------|----------|------------|
|
|
34
|
+
| 100-200ms | skip | 60-70% | skip | 30-40% |
|
|
35
|
+
| 200-400ms | 10-15% | 40-50% | 10-15% | 25-30% |
|
|
36
|
+
| 400-800ms | 15-20% | 30-40% | 15-20% | 20-25% |
|
|
37
|
+
| 800ms+ | 20% | 30-35% | 15-20% | 25-30% |
|
|
38
|
+
|
|
39
|
+
## Multi-Beat Narratives
|
|
40
|
+
|
|
41
|
+
Transitions: overlap (fluid) | sequential (clear) | simultaneous (parallel)
|
|
42
|
+
|
|
43
|
+
Progressions:
|
|
44
|
+
- **Build-Up**: low → rising → peak → settling
|
|
45
|
+
- **Cycle**: depart → peak → return → repeat
|
|
46
|
+
- **Impact**: sudden action → ripple → slow settle
|
|
47
|
+
|
|
48
|
+
## By Personality
|
|
49
|
+
|
|
50
|
+
| Personality | Anticipation | Action | Resolution |
|
|
51
|
+
|------------|-------------|--------|------------|
|
|
52
|
+
| Playful | Exaggerated wind-up | Bouncy, overshoot | Wobble settle |
|
|
53
|
+
| Premium | Subtle tension | Smooth, controlled | Elegant ease |
|
|
54
|
+
| Corporate | Minimal/none | Direct, efficient | Clean stop |
|
|
55
|
+
| Energetic | Quick gather | Explosive | Fast snap |
|
|
56
|
+
|
|
57
|
+
## Common Patterns
|
|
58
|
+
|
|
59
|
+
- **Reveal**: tension (dim, scale 95%) → emerge (100%, full opacity) → surroundings adjust → settled
|
|
60
|
+
- **Departure**: gather (scale 98%) → exit → close gap → layout settles
|
|
61
|
+
- **Transformation**: destabilize (vibration) → morph → secondary appears → new state breathing
|
|
62
|
+
- **Celebration**: compress (50-100ms) → burst (scale, particles) → settle → calm with positive state
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 LottieFiles
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
# Ambient & Continuous Patterns
|
|
2
|
+
|
|
3
|
+
Ambient amplitude: 10-20% of primary motion. Never compete for attention.
|
|
4
|
+
|
|
5
|
+
## Breathing / Pulse
|
|
6
|
+
|
|
7
|
+
- Scale oscillation 0.98-1.02, sine ease-in-out, 2000-4000ms/cycle
|
|
8
|
+
- Alt: opacity oscillation 0.7-1.0
|
|
9
|
+
|
|
10
|
+
| Context | Scale Range | Duration | Opacity Range |
|
|
11
|
+
|---------|-----------|----------|--------------|
|
|
12
|
+
| Active indicator | 0.95-1.05 | 2000ms | 0.6-1.0 |
|
|
13
|
+
| Waiting/idle | 0.98-1.02 | 3000ms | 0.8-1.0 |
|
|
14
|
+
| Background element | 0.99-1.01 | 4000ms | 0.9-1.0 |
|
|
15
|
+
| CTA attention | 0.97-1.03 | 2500ms | 0.7-1.0 |
|
|
16
|
+
|
|
17
|
+
Pulsing >±5% scale becomes attention-demanding.
|
|
18
|
+
|
|
19
|
+
## Floating / Hovering
|
|
20
|
+
|
|
21
|
+
- Y position ±5-15px, sine ease-in-out, 3000-5000ms/cycle
|
|
22
|
+
- Optional: slight rotation ±2-3°, offset 30% of position cycle
|
|
23
|
+
|
|
24
|
+
**Layered floating** (multiple elements — different durations prevent sync):
|
|
25
|
+
- Element 1: 4000ms, ±10px
|
|
26
|
+
- Element 2: 5500ms, ±8px (offset 30%)
|
|
27
|
+
- Element 3: 3500ms, ±12px (offset 60%)
|
|
28
|
+
|
|
29
|
+
## Gradient Shift
|
|
30
|
+
|
|
31
|
+
- Background-position or gradient angle shift
|
|
32
|
+
- Duration: 8000-20000ms/cycle; range: ±10-20% position or ±15° angle
|
|
33
|
+
- Easing: linear or sine; should be imperceptible at a glance
|
|
34
|
+
|
|
35
|
+
## Parallax
|
|
36
|
+
|
|
37
|
+
| Layer | Speed Ratio | Content |
|
|
38
|
+
|-------|------------|---------|
|
|
39
|
+
| Foreground | 1.0x | Interactive, text |
|
|
40
|
+
| Midground | 0.5x | Decorative, cards |
|
|
41
|
+
| Background | 0.2x | Patterns, scenery |
|
|
42
|
+
| Deep background | 0.1x | Texture, atmospheric |
|
|
43
|
+
|
|
44
|
+
**Scroll-driven**: total displacement <100px; avoid on mobile; never parallax text
|
|
45
|
+
**Mouse-driven**: foreground 10-20px max, background 5-10px opposite direction, 100-200ms interpolation
|
|
46
|
+
|
|
47
|
+
## Continuous Rotation
|
|
48
|
+
|
|
49
|
+
- Spinners: linear easing, 1000-2000ms/revolution
|
|
50
|
+
|
|
51
|
+
| Variant | Speed | Use Case |
|
|
52
|
+
|---------|-------|----------|
|
|
53
|
+
| Slow spin | 10-30s/rev | Background decoration |
|
|
54
|
+
| Gear-like | 3-5s/rev | Technical/mechanical |
|
|
55
|
+
| Orbital | 5-15s/rev | Space/science theme |
|
|
56
|
+
| Wobble | 2-4s/cycle, sine | Playful idle |
|
|
57
|
+
|
|
58
|
+
## Shimmer / Gleam
|
|
59
|
+
|
|
60
|
+
- Gradient sweep left-to-right, 1500-2500ms/sweep
|
|
61
|
+
- Pause 2000-5000ms between sweeps
|
|
62
|
+
- Opacity gradient: 0%→30%→0%
|
|
63
|
+
- Use for: skeleton loading, premium accents, "new" badges
|
|
64
|
+
|
|
65
|
+
## Particle Ambient
|
|
66
|
+
|
|
67
|
+
### Snow/Falling: 10-20 elements, 20-60px/s down, ±10-20px drift, 3-8px, 30-70% opacity
|
|
68
|
+
### Dust/Motes: 5-10 elements, 10-30px/s mixed, 2-5px, 20-50% opacity
|
|
69
|
+
### Sparkle/Stars: 8-15 elements, opacity pulse 0→100%→0, 500-1500ms/sparkle, random stagger
|
|
70
|
+
|
|
71
|
+
**Performance**: <20 ambient elements, transform+opacity only, larger/fewer over small/numerous
|
|
72
|
+
|
|
73
|
+
## Combining Ambient Layers
|
|
74
|
+
|
|
75
|
+
| Layer | Type | Example |
|
|
76
|
+
|-------|------|---------|
|
|
77
|
+
| Background | Gradient shift or parallax | Slow color temperature change |
|
|
78
|
+
| Midground | Floating or particles | Gentle floating elements |
|
|
79
|
+
| Foreground | Breathing or shimmer | Subtle pulse on content |
|
|
80
|
+
|
|
81
|
+
Total ambient: max 20% of primary motion's visual energy.
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
# Entrance & Exit Patterns
|
|
2
|
+
|
|
3
|
+
## Entrance Strategies
|
|
4
|
+
|
|
5
|
+
### 1. Direct Entrance (Slide In)
|
|
6
|
+
- Position + opacity; offset 20-40px + opacity 0 → final position + opacity 1
|
|
7
|
+
- Easing: ease-out; duration 200-350ms
|
|
8
|
+
|
|
9
|
+
| Personality | Offset | Easing | Overshoot |
|
|
10
|
+
|------------|--------|--------|-----------|
|
|
11
|
+
| Playful | 30-50px | ease-out-back | 10-15% |
|
|
12
|
+
| Premium | 15-25px | (0.4, 0, 0.2, 1) | 0% |
|
|
13
|
+
| Corporate | 20-30px | (0.2, 0, 0, 1) | 0-3% |
|
|
14
|
+
| Energetic | 40-80px | ease-out-expo | 15-25% |
|
|
15
|
+
|
|
16
|
+
Direction: below=arrival, right=forward, left=back, above=dropdown/authority.
|
|
17
|
+
|
|
18
|
+
### 2. Emergent Entrance (Scale In)
|
|
19
|
+
- Scale + opacity; start 85-95% + opacity 0 → 100% + opacity 1
|
|
20
|
+
- Duration 250-400ms
|
|
21
|
+
|
|
22
|
+
| Personality | Start Scale | Easing | Overshoot |
|
|
23
|
+
|------------|------------|--------|-----------|
|
|
24
|
+
| Playful | 70-80% | ease-out-back | 10-20% |
|
|
25
|
+
| Premium | 95-98% | (0.4, 0, 0.2, 1) | 0% |
|
|
26
|
+
| Corporate | 90-95% | (0.2, 0, 0, 1) | 0-3% |
|
|
27
|
+
| Energetic | 50-70% | ease-out-expo | 15-30% |
|
|
28
|
+
|
|
29
|
+
Best for: modals, dialogs, notifications, popovers, tooltips.
|
|
30
|
+
|
|
31
|
+
### 3. Reveal Entrance (Clip/Mask)
|
|
32
|
+
- clip-path or mask + opacity; 300-500ms, ease-out
|
|
33
|
+
- Directions: top-to-bottom (dramatic), L-to-R (reading order), center-out (focus), edge-in (contained)
|
|
34
|
+
|
|
35
|
+
### 4. Assembled Entrance (Multi-Part)
|
|
36
|
+
- Parts arrive from different positions; stagger 50-100ms; total 300-600ms
|
|
37
|
+
- Best for: icon assembly, logo builds, data viz construction
|
|
38
|
+
|
|
39
|
+
## Exit Strategies
|
|
40
|
+
|
|
41
|
+
**Rule**: Exits = 65-75% of entrance duration.
|
|
42
|
+
|
|
43
|
+
### 1. Direct Exit (Slide Out)
|
|
44
|
+
- Offset 20-40px + opacity 0; ease-in; 150-250ms
|
|
45
|
+
|
|
46
|
+
### 2. Dissolve Exit (Fade Out)
|
|
47
|
+
- Opacity (+ optional scale to 98%); ease-in; 150-250ms
|
|
48
|
+
- Best for: gentle departures, backgrounding, crossfades
|
|
49
|
+
|
|
50
|
+
### 3. Collapse Exit (Shrink Out)
|
|
51
|
+
- Scale 85-95% + opacity 0; ease-in; 150-250ms
|
|
52
|
+
- Best for: deletion, closing modals, dismissal
|
|
53
|
+
|
|
54
|
+
### 4. Transfer Exit (Move Away)
|
|
55
|
+
- Position toward destination + scale shrink; ease-in-out; 250-400ms
|
|
56
|
+
- Best for: add-to-cart, save-to-collection, move-to-folder
|
|
57
|
+
|
|
58
|
+
## Entrance-Exit Continuity
|
|
59
|
+
- Eye follows naturally from exit to entrance
|
|
60
|
+
- Exit point near entry point when possible
|
|
61
|
+
- 100-150ms timing overlap between exit and entrance
|
|
62
|
+
- Same easing family for paired entrance-exit
|
|
63
|
+
|
|
64
|
+
## Common Recipes
|
|
65
|
+
|
|
66
|
+
### Notification Slide-In
|
|
67
|
+
1. Slide from right + opacity (250ms, ease-out)
|
|
68
|
+
2. Overshoot 3-5% (corporate) or 10-15% (playful)
|
|
69
|
+
3. Icon appears (100ms, 50ms delay)
|
|
70
|
+
|
|
71
|
+
### Toast Dismiss
|
|
72
|
+
1. Slide toward edge + opacity (180ms, ease-in)
|
|
73
|
+
2. Remaining toasts shift up (200ms, ease-in-out)
|
|
74
|
+
|
|
75
|
+
### Dropdown Open
|
|
76
|
+
1. Scale Y 0→100% (200ms, ease-out)
|
|
77
|
+
2. Items stagger fade in (30ms apart, 50ms after container)
|
|
78
|
+
|
|
79
|
+
### Page Transition (Forward)
|
|
80
|
+
1. Current page slides left + fades (300ms, ease-in)
|
|
81
|
+
2. New page from right + fades in (400ms, ease-out, 100ms delay)
|
|
82
|
+
3. Shared elements morph (400ms, ease-in-out)
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Multi-Element Patterns
|
|
2
|
+
|
|
3
|
+
## Stagger Recipes
|
|
4
|
+
|
|
5
|
+
### List Items
|
|
6
|
+
- Slide up 20px + fade (200ms, ease-out); stagger 40-60ms; total <400ms for 8 items
|
|
7
|
+
|
|
8
|
+
| Personality | Duration | Stagger | Easing |
|
|
9
|
+
|------------|---------|---------|--------|
|
|
10
|
+
| Playful | 250ms | 60ms | ease-out-back |
|
|
11
|
+
| Premium | 350ms | 80ms | (0.4, 0, 0.2, 1) |
|
|
12
|
+
| Corporate | 200ms | 50ms | (0.2, 0, 0, 1) |
|
|
13
|
+
| Energetic | 150ms | 30ms | ease-out-expo |
|
|
14
|
+
|
|
15
|
+
### Grid Cards
|
|
16
|
+
- Scale from 95% + fade (250ms, ease-out); stagger 50-80ms reading order; +20ms per new row
|
|
17
|
+
- Shadow 50ms after card. Alt patterns: center-out, column-first, random
|
|
18
|
+
|
|
19
|
+
### Navigation Items
|
|
20
|
+
- Slide from side + fade (180ms, ease-out); stagger 30-50ms; total <300ms
|
|
21
|
+
|
|
22
|
+
### Dashboard Widgets
|
|
23
|
+
```
|
|
24
|
+
0ms — Skeletons visible
|
|
25
|
+
100ms — Hero metric (250ms, ease-out)
|
|
26
|
+
200ms — Widgets begin (200ms each, 60ms stagger)
|
|
27
|
+
350ms — Hero complete, chart draws (300ms)
|
|
28
|
+
500ms — All landed
|
|
29
|
+
650ms — Ambient pulse begins
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## Coordinated Sequences
|
|
33
|
+
|
|
34
|
+
### Modal with Content
|
|
35
|
+
0ms: backdrop dims (200ms) → 50ms: modal scales 95%→100% (300ms) → 200ms: title → 280ms: body → 350ms: buttons → 400ms: close button. Content in reading order.
|
|
36
|
+
|
|
37
|
+
### Tab Switch
|
|
38
|
+
0ms: indicator slides (250ms, ease-in-out) + old fades (150ms) → 100ms: new content from tab direction (200ms) → 150ms: elements stagger (40ms)
|
|
39
|
+
|
|
40
|
+
### Accordion
|
|
41
|
+
Expand: arrow rotates (150ms) + height expands (250ms) + content fades at 50ms (200ms); siblings shift (200ms). Collapse: reverse, ease-in.
|
|
42
|
+
|
|
43
|
+
### Page Transition
|
|
44
|
+
Current slides left+fades (300ms, ease-in) → new from right (400ms, ease-out, 100ms delay) → hero scales in → content staggers (50ms). Optional shared element morph (400ms).
|
|
45
|
+
|
|
46
|
+
### Drag and Drop
|
|
47
|
+
Drag: lift (scale 1.03, 150ms); others shift (200ms). Drop: settle (scale 1.0, 200ms); gaps close.
|
|
48
|
+
|
|
49
|
+
## Choreography Rules
|
|
50
|
+
|
|
51
|
+
### Timing Overlap
|
|
52
|
+
0%=methodical | 25%=brisk (standard) | 50%=fluid | 75%=rapid (energetic)
|
|
53
|
+
|
|
54
|
+
### Group Rules
|
|
55
|
+
- Same easing family; different durations/delays fine
|
|
56
|
+
- Exception: secondary/ambient can differ
|
|
57
|
+
|
|
58
|
+
### Shared Origin
|
|
59
|
+
Motion from trigger point; closer=first; farther=more delay
|
|
60
|
+
|
|
61
|
+
### Counter-Motion
|
|
62
|
+
|
|
63
|
+
| Hero Does | Counter-Motion |
|
|
64
|
+
|-----------|---------------|
|
|
65
|
+
| Slides right | Background left (20-30%) |
|
|
66
|
+
| Scales up | Shadow spreads |
|
|
67
|
+
| Lifts up | Shadow drops+softens |
|
|
68
|
+
| Rotates CW | Ambient CCW |
|
|
69
|
+
| Expands | Siblings compress |
|