arkaos 5.6.0 → 5.8.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.
Files changed (72) hide show
  1. package/README.md +2 -2
  2. package/THE-ARKAOS-GUIDE.md +1 -1
  3. package/VERSION +1 -1
  4. package/arka/SKILL.md +1 -1
  5. package/config/skills-provenance.yaml +19 -0
  6. package/departments/brand/references/uiux-knowledge-and-tools.md +8 -5
  7. package/departments/brand/skills/design-system/SKILL.md +4 -2
  8. package/departments/brand/skills/motion-design/SKILL.md +363 -0
  9. package/departments/brand/skills/motion-design/references/director/choreography.md +93 -0
  10. package/departments/brand/skills/motion-design/references/director/context-adaptation.md +83 -0
  11. package/departments/brand/skills/motion-design/references/director/core-philosophy.md +53 -0
  12. package/departments/brand/skills/motion-design/references/director/decision-framework.md +91 -0
  13. package/departments/brand/skills/motion-design/references/director/disney-principles.md +102 -0
  14. package/departments/brand/skills/motion-design/references/director/emotion-mapping.md +71 -0
  15. package/departments/brand/skills/motion-design/references/director/motion-personality.md +89 -0
  16. package/departments/brand/skills/motion-design/references/director/narrative-structure.md +62 -0
  17. package/departments/brand/skills/motion-design/references/motion-design-skill.LICENSE +21 -0
  18. package/departments/brand/skills/motion-design/references/patterns/ambient-continuous.md +81 -0
  19. package/departments/brand/skills/motion-design/references/patterns/entrance-exit.md +82 -0
  20. package/departments/brand/skills/motion-design/references/patterns/multi-element.md +69 -0
  21. package/departments/brand/skills/motion-design/references/patterns/state-feedback.md +96 -0
  22. package/departments/brand/skills/motion-design/references/reference/property-selection.md +95 -0
  23. package/departments/brand/skills/motion-design/references/reference/quality-checklist.md +67 -0
  24. package/departments/brand/skills/motion-design/references/reference/timing-easing-tables.md +106 -0
  25. package/departments/brand/skills/motion-design/references/reference/troubleshooting.md +73 -0
  26. package/departments/content/skills/video-produce/SKILL.md +2 -2
  27. package/departments/dev/skills/animated-website/references/motion-recipes.md +3 -2
  28. package/departments/dev/skills/gsap/SKILL.md +71 -0
  29. package/departments/dev/skills/gsap/references/core.md +251 -0
  30. package/departments/dev/skills/gsap/references/frameworks.md +263 -0
  31. package/departments/dev/skills/gsap/references/greensock-gsap-skills.LICENSE +21 -0
  32. package/departments/dev/skills/gsap/references/performance.md +76 -0
  33. package/departments/dev/skills/gsap/references/plugins.md +430 -0
  34. package/departments/dev/skills/gsap/references/react.md +133 -0
  35. package/departments/dev/skills/gsap/references/scrolltrigger.md +293 -0
  36. package/departments/dev/skills/gsap/references/timeline.md +104 -0
  37. package/departments/dev/skills/gsap/references/utils.md +281 -0
  38. package/harness/codex/AGENTS.md +1 -1
  39. package/harness/copilot/copilot-instructions.md +1 -1
  40. package/harness/cursor/rules/arkaos.mdc +2 -2
  41. package/harness/gemini/GEMINI.md +1 -1
  42. package/harness/opencode/AGENTS.md +1 -1
  43. package/harness/opencode/agents/arka-architect-gabriel.md +1 -1
  44. package/harness/opencode/agents/arka-brand-director-valentina.md +1 -1
  45. package/harness/opencode/agents/arka-cfo-helena.md +1 -1
  46. package/harness/opencode/agents/arka-chief-of-staff-afonso.md +1 -1
  47. package/harness/opencode/agents/arka-community-strategist-beatriz.md +1 -1
  48. package/harness/opencode/agents/arka-content-strategist-rafael.md +1 -1
  49. package/harness/opencode/agents/arka-conversion-strategist-ines.md +1 -1
  50. package/harness/opencode/agents/arka-coo-sofia.md +1 -1
  51. package/harness/opencode/agents/arka-copy-director-eduardo.md +1 -1
  52. package/harness/opencode/agents/arka-cqo-marta.md +1 -1
  53. package/harness/opencode/agents/arka-cto-marco.md +1 -1
  54. package/harness/opencode/agents/arka-design-ops-lead-iris.md +1 -1
  55. package/harness/opencode/agents/arka-ecom-director-ricardo.md +1 -1
  56. package/harness/opencode/agents/arka-knowledge-director-clara.md +1 -1
  57. package/harness/opencode/agents/arka-leadership-director-rodrigo.md +1 -1
  58. package/harness/opencode/agents/arka-marketing-director-luna.md +1 -1
  59. package/harness/opencode/agents/arka-ops-lead-daniel.md +1 -1
  60. package/harness/opencode/agents/arka-pm-director-carolina.md +1 -1
  61. package/harness/opencode/agents/arka-revops-lead-vicente.md +1 -1
  62. package/harness/opencode/agents/arka-saas-strategist-tiago.md +1 -1
  63. package/harness/opencode/agents/arka-sales-director-miguel.md +1 -1
  64. package/harness/opencode/agents/arka-strategy-director-tomas.md +1 -1
  65. package/harness/opencode/agents/arka-tech-director-francisca.md +1 -1
  66. package/harness/opencode/agents/arka-tech-lead-paulo.md +1 -1
  67. package/harness/opencode/agents/arka-video-producer-simao.md +1 -1
  68. package/harness/zed/.rules +1 -1
  69. package/knowledge/commands-registry.json +1 -1
  70. package/knowledge/skills-manifest.json +31 -1
  71. package/package.json +1 -1
  72. package/pyproject.toml +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  **The Operating System for AI Agent Teams.**
6
6
 
7
- 89 agents. 17 departments. 338 skills. Enterprise frameworks. Multi-runtime. One install.
7
+ 89 agents. 17 departments. 340 skills. Enterprise frameworks. Multi-runtime. One install.
8
8
 
9
9
  ```bash
10
10
  npx arkaos install
@@ -97,7 +97,7 @@ npx arkaos doctor # Health check
97
97
 
98
98
  ### Skill packs, à la carte
99
99
 
100
- The default install ships a curated core so your context window stays lean. Everything else lives in the ArkaOS plugin marketplace: 16 department packs with 264 skills, generated straight from the same sources the core uses. Inside Claude Code:
100
+ The default install ships a curated core so your context window stays lean. Everything else lives in the ArkaOS plugin marketplace: 16 department packs with 266 skills, generated straight from the same sources the core uses. Inside Claude Code:
101
101
 
102
102
  ```
103
103
  /plugin marketplace add andreagroferreira/arka-os
@@ -1,6 +1,6 @@
1
1
  # The ArkaOS Guide
2
2
 
3
- > v5.6.0 — 89 agents, 17 departments, 338 skills, 299 commands, 20 ADRs.
3
+ > v5.8.0 — 89 agents, 17 departments, 340 skills, 299 commands, 20 ADRs.
4
4
  > One file, everything you need to start. Generated by `scripts/guide_gen.py` — never hand-edited.
5
5
 
6
6
  ## What it is
package/VERSION CHANGED
@@ -1 +1 @@
1
- 5.6.0
1
+ 5.8.0
package/arka/SKILL.md CHANGED
@@ -63,7 +63,7 @@ complementary, not alternatives.
63
63
  # ArkaOS — Main Orchestrator
64
64
 
65
65
  > **The Operating System for AI Agent Teams**
66
- > 89 agents. 17 departments. 338 skills. Multi-runtime. Dashboard. Knowledge RAG.
66
+ > 89 agents. 17 departments. 340 skills. Multi-runtime. Dashboard. Knowledge RAG.
67
67
 
68
68
  ## ⛔ Evidence flow — 4 gates (NON-NEGOTIABLE)
69
69
 
@@ -148,6 +148,25 @@ derived:
148
148
  origin: community
149
149
  source: https://github.com/AThevon/genjutsu
150
150
  license: MIT
151
+ # Animation/design absorption campaign PR-5 — motion doctrine derived
152
+ # from lottiefiles/motion-design-skill (MIT): director/, patterns/ and
153
+ # reference/ trees verbatim under references/, SKILL.md body upstream
154
+ # near-verbatim with ArkaOS frontmatter, header and Output.
155
+ departments/brand/skills/motion-design:
156
+ origin: community
157
+ source: https://github.com/lottiefiles/motion-design-skill
158
+ license: MIT
159
+ # Animation/design absorption campaign PR-6 — the official GreenSock
160
+ # pack (MIT): eight upstream SKILL.md modules become references/ under
161
+ # one router slug (dev/diagram progressive-disclosure pattern), with
162
+ # sibling cross-refs rewritten from gsap-<name> to references/<name>.md.
163
+ # This absorption RETIRES the external dependency: the npx-skills-add
164
+ # instruction and every gsap-<name> load in brand/content/dev docs now
165
+ # point at the in-repo skill.
166
+ departments/dev/skills/gsap:
167
+ origin: community
168
+ source: https://github.com/greensock/gsap-skills
169
+ license: MIT
151
170
  # Marketing skills integration campaign — derived from
152
171
  # coreyhaines31/marketingskills (MIT). Frontmatter metadata must match
153
172
  # each entry field-for-field (test_registry_matches_frontmatter_field_for_field).
@@ -204,7 +204,7 @@ line BEFORE the first file edit:
204
204
  Airbnb…). Pick it FIRST and state what its design lead would reject in
205
205
  your plan.
206
206
  - `skills=` — the design skills ACTUALLY loaded this session via the
207
- Skill tool (e.g. `frontend-design,ui-ux-pro-max,gsap-core`). If a
207
+ Skill tool (e.g. `frontend-design,ui-ux-pro-max,arka-gsap`). If a
208
208
  plugin is not installed, be honest: `skills=degraded:<missing-name>`
209
209
  and fall back to §3 + §8 of this reference. Never claim a load that
210
210
  did not happen; never silently proceed as if it had.
@@ -241,10 +241,13 @@ axis free, seed a direction from the curated TypeUI catalog
241
241
 
242
242
  Catalog tokens are a SEED for the project's own token system, never the
243
243
  final design system. Motion is absent from the catalog — that is GSAP's
244
- job: load `gsap-core` + `gsap-timeline` for any animation work,
245
- `gsap-scrolltrigger`/`gsap-plugins` as the work demands, `gsap-react` on
246
- React, and treat `gsap-performance` as the review bar
247
- (`npx skills add https://github.com/greensock/gsap-skills` when absent).
244
+ job: load `Skill(arka-gsap)` (the in-repo `dev/gsap`, absorbed from the
245
+ official GreenSock pack) and read `references/core.md` +
246
+ `references/timeline.md` for any animation work,
247
+ `references/scrolltrigger.md`/`references/plugins.md` as the work
248
+ demands, `references/react.md` on React, and treat
249
+ `references/performance.md` as the review bar. Direction (what moves and
250
+ why) comes from `brand/motion-design` first.
248
251
 
249
252
  Four in-repo theme specs (hallmark-derived, opt-in seeds like the TypeUI
250
253
  directions — never the final system) live at
@@ -41,8 +41,10 @@ actually loaded:
41
41
  `design-tokens.json`.
42
42
  2. **`Skill(ui-ux-pro-max)`** — 161 palettes + 57 font pairings as
43
43
  comparative evidence for the primitive layer; never a pick-list.
44
- 3. **Motion tokens involved?** Load the GSAP skills (`gsap-core`,
45
- `gsap-timeline`; `gsap-performance` as the review bar).
44
+ 3. **Motion tokens involved?** Load `brand/motion-design` for the
45
+ direction (what moves, durations, easing families) and `dev/gsap`
46
+ for the implementation (its `references/core.md` + `references/timeline.md`;
47
+ `references/performance.md` as the review bar).
46
48
  4. **Aesthetic seed (optional, no visual history only)** — a curated
47
49
  TypeUI direction (`npx typeui.sh pull <slug>`, §10 of the squad
48
50
  reference) may seed primitives; it is never the final system.
@@ -0,0 +1,363 @@
1
+ ---
2
+ name: brand/motion-design
3
+ description: >
4
+ Motion design direction — decides WHAT should move, how fast, and why,
5
+ before any code: emotional intent, motion personality archetypes, Disney
6
+ principles adapted for UI, choreography and stagger rules, timing/easing
7
+ tables, and a quality checklist. Framework-agnostic: the output drives
8
+ CSS, GSAP, Framer Motion, Lottie or springs equally.
9
+ TRIGGER: "motion design", "como deve animar", "linguagem de movimento",
10
+ "easing", "motion personality", "princípios Disney", "coreografia de
11
+ animação", "motion system", "motion audit", "/brand motion-design".
12
+ SKIP: writing the animation code once the direction exists ->
13
+ dev/gsap (timelines, scroll), dev/css-native (pure CSS),
14
+ dev/framer-motion (React) or dev/canvas-generative (generative
15
+ canvas); motion tokens inside a full
16
+ design-system delivery -> brand/design-system (which loads this skill
17
+ for its motion chapter); video production -> content/video-produce.
18
+ allowed-tools: [Read, Write, Edit, Grep, Glob]
19
+ metadata:
20
+ origin: community
21
+ source: https://github.com/lottiefiles/motion-design-skill
22
+ license: MIT
23
+ ---
24
+
25
+ <!-- arka:kb-first-prefix begin -->
26
+ > **KB-first:** query `mcp__obsidian__search_notes` (and
27
+ > `mcp__graphify__query_graph` when configured) and cite `[[wikilinks]]`
28
+ > or graph nodes — or declare the gap — BEFORE any external research.
29
+ > Full doctrine: `arka/SKILL.md` (KB-First Research).
30
+ <!-- arka:kb-first-prefix end -->
31
+
32
+ # Motion Design — `/brand motion-design`
33
+
34
+ > **Agent:** Isabel (Visual Designer) with Sofia D. (UX) | **Framework:** LottieFiles motion doctrine (Disney principles, emotion mapping)
35
+ > **Squad reference:** `departments/brand/references/uiux-knowledge-and-tools.md` (§3 tokens, **§4 Motion System**, §8 anti-default, §9 marker)
36
+
37
+ ## Precedence — the brand's Motion System outranks the imported doctrine
38
+
39
+ For ArkaOS-brand surfaces, §4 of the squad reference wins wherever the
40
+ LottieFiles body below disagrees. Concretely, §4's **Forbidden list**
41
+ reads: rotation/spin, bounce/elastic *on the logo*, 3D/perspective,
42
+ particles, morphing, color-cycling. Applied to this doctrine: the
43
+ rotation spinners, particle bursts, perspective transforms and the
44
+ morphing taught in the linked pattern files are vetoed outright; bounce
45
+ settles and elastic easings are vetoed **on the logo only** — elsewhere
46
+ they remain available exactly as the body teaches them. Scale, shadow
47
+ and parallax depth cues are NOT the forbidden `3D/perspective` and stay
48
+ allowed. And durations map to the brand token scale —
49
+ `motion-instant` 100ms · `motion-fast` 150ms (default) · `motion-normal`
50
+ 300ms · `motion-slow` 500ms · `motion-deliberate` 800ms — with the
51
+ imported ms tables read as *relative* guidance inside that scale, not as
52
+ absolute values. For client-brand work, the client's own motion system
53
+ plays the same trumping role; the doctrine below is the default only
54
+ where no system exists.
55
+
56
+ ## When to Apply
57
+
58
+ Use this skill when:
59
+ - Creating UI animations (buttons, cards, modals, page transitions)
60
+ - Designing micro-interactions and feedback animations
61
+ - Building loading, success, or error states
62
+ - Animating illustrations or decorative elements
63
+ - Planning scroll-triggered or progress-based animations
64
+ - Establishing brand motion identity
65
+ - Choreographing multi-element sequences
66
+
67
+ **Decision tree:**
68
+ 1. Does it serve a functional purpose (feedback, guidance)? → Timing rules for responsiveness
69
+ 2. Does it express brand personality? → Motion Personality archetypes
70
+ 3. Does it tell a story or guide attention? → Disney principles + choreography
71
+ 4. Is this a complex multi-element scene? → 1/3 Rule + stagger patterns
72
+
73
+ ---
74
+
75
+ ## Quick Reference: 8-Step Checklist
76
+
77
+ Before creating any animation:
78
+
79
+ 1. **Emotional target?** — joy, calm, urgency, elegance
80
+ 2. **Motion Personality?** — Playful, Premium, Corporate, Energetic
81
+ 3. **Primary property?** — position, scale, rotation, opacity
82
+ 4. **Duration?** — see duration table below
83
+ 5. **Easing family?** — entrance=decelerate, exit=accelerate
84
+ 6. **Hero element?** — apply staging principles
85
+ 7. **Secondary + ambient layers?** — add richness
86
+ 8. **1/3 rules?** — motion distance, simultaneous elements
87
+
88
+ ---
89
+
90
+ ## Three Pillars (CRITICAL)
91
+
92
+ Every animation must satisfy three pillars before any technical decisions:
93
+
94
+ | Pillar | Question | Drives |
95
+ |--------|----------|--------|
96
+ | **Emotional Intent** | What should the viewer FEEL? | Easing, timing, amplitude |
97
+ | **Visual Narrative** | What's the micro-story? | Setup → Action → Resolution |
98
+ | **Motion Craft** | How do we make it believable? | Physics, secondary motion, paths |
99
+
100
+ **Three motion layers** (flat animation = missing layers):
101
+ - **Primary**: Main action the viewer follows
102
+ - **Secondary**: Supporting richness (shadows, icons shifting)
103
+ - **Ambient**: Background life (gradients, subtle pulses)
104
+
105
+ > Deep dive: [director/core-philosophy.md](references/director/core-philosophy.md)
106
+
107
+ ---
108
+
109
+ ## Motion Personality
110
+
111
+ Select ONE archetype per project. Apply consistently.
112
+
113
+ | Archetype | Duration | Easing | Overshoot | Keywords |
114
+ |-----------|----------|--------|-----------|----------|
115
+ | **Playful** | 150-300ms | ease-out-back | 10-20% | fun, whimsical, bouncy, cute |
116
+ | **Premium** | 350-600ms | cubic-bezier(0.4,0,0.2,1) | 0% | elegant, minimal, luxury, sophisticated |
117
+ | **Corporate** | 200-400ms | cubic-bezier(0.2,0,0,1) | 0-3% | clean, professional, business, dashboard |
118
+ | **Energetic** | 100-250ms | ease-out-expo | 15-30% | dynamic, energetic, bold, exciting |
119
+
120
+ **Default**: Corporate for UI, Playful for illustrations.
121
+
122
+ **Brand Motion Identity** — define three constants:
123
+ 1. **Signature easing**: One curve for 80% of animations
124
+ 2. **Duration palette**: 3 durations (quick / standard / slow)
125
+ 3. **Entrance pattern**: One consistent entry style
126
+
127
+ > Deep dive: [director/motion-personality.md](references/director/motion-personality.md)
128
+
129
+ ---
130
+
131
+ ## Property Selection
132
+
133
+ | Effect Goal | Primary Property | Secondary Properties |
134
+ |-------------|------------------|---------------------|
135
+ | Entrance/Exit | position | opacity, scale |
136
+ | Emphasis/Attention | scale | rotation (subtle), opacity pulse |
137
+ | State Change | opacity, color | scale (press feedback) |
138
+ | Direction/Flow | position | rotation (follow path) |
139
+ | Depth/3D Feel | scale + shadow | position (parallax) |
140
+ | Loading/Progress | rotation (spinner) | scale, opacity pulse |
141
+ | Success | scale (pop) | color, rotation (checkmark draw) |
142
+ | Error/Alert | position (shake) | color, rotation (wobble) |
143
+
144
+ **Simplicity threshold**: Use the minimum properties needed. One = direct. Two = polished. Three+ = potentially overwhelming.
145
+
146
+ > Deep dive: [reference/property-selection.md](references/reference/property-selection.md)
147
+
148
+ ---
149
+
150
+ ## Duration Table
151
+
152
+ | Element Type | Duration | Rationale |
153
+ |-------------|----------|-----------|
154
+ | Tooltip / micro-feedback | 80-120ms | Must feel instant |
155
+ | Button press / toggle | 120-180ms | Responsive feedback |
156
+ | Icon transition | 150-250ms | Clear state change |
157
+ | Card enter / exit | 200-350ms | Spatial awareness |
158
+ | Modal / dialog | 300-400ms | Focus shift |
159
+ | Page transition | 400-600ms | Context switch |
160
+ | Dramatic reveal | 600-1200ms | Theatrical build |
161
+
162
+ **Distance scales duration**: 100px = base. 200px = 1.3x. 400px = 1.6x.
163
+
164
+ **Enter > Exit**: Entrances 30-50% longer than exits. Users care about what appears.
165
+
166
+ **Interactive feedback**:
167
+ - Hover: <100ms
168
+ - Press: <150ms
169
+ - Release/settle: 200-300ms
170
+ - Error shake: 300-400ms (2-3 oscillations)
171
+
172
+ > Deep dive: [reference/timing-easing-tables.md](references/reference/timing-easing-tables.md)
173
+
174
+ ---
175
+
176
+ ## Easing Selection
177
+
178
+ **Directional rules**:
179
+ - **Entrance** → decelerate (fast start, gentle landing): ease-out family
180
+ - **Exit** → accelerate (gentle start, fast departure): ease-in family
181
+ - **On-screen** → smooth both ends: ease-in-out family
182
+ - **Looping ambient** → seamless: sine-based ease-in-out
183
+
184
+ **Industry standards**:
185
+
186
+ | Standard | Cubic Bezier | Use For |
187
+ |----------|-------------|---------|
188
+ | Material Design 3 | (0.2, 0, 0, 1) | Default on-screen |
189
+ | MD3 Emphasized | (0.05, 0.7, 0.1, 1) | Entrances, attention |
190
+ | MD3 Accelerate | (0.3, 0, 1, 1) | Exits, dismissals |
191
+ | Apple HIG | (0.25, 0.1, 0.25, 1) | Standard iOS |
192
+ | Snappy UI | (0.2, 0, 0, 1) | Fast, decisive |
193
+ | Gentle float | (0.4, 0, 0.2, 1) | Ambient, background |
194
+ | Bounce settle | (0.175, 0.885, 0.32, 1.275) | Overshoot, playful |
195
+
196
+ **Material-based easing**:
197
+
198
+ | Material | Duration Scale | Overshoot |
199
+ |----------|---------------|-----------|
200
+ | Rigid (metal, stone) | 1.2x | 0% |
201
+ | Elastic (rubber, gel) | 0.8x | 15-25% |
202
+ | Fluid (water, paint) | 1.5x | 5% |
203
+ | Paper (cards, sheets) | 1.0x | 3-5% |
204
+ | Gas (smoke, fog) | 2.0x | 0% |
205
+ | Glass (brittle) | 0.9x | 0% |
206
+
207
+ > Deep dive: [reference/timing-easing-tables.md](references/reference/timing-easing-tables.md)
208
+
209
+ ---
210
+
211
+ ## Common Patterns
212
+
213
+ ### Button Press (Playful)
214
+ 1. **Anticipation**: Scale to 0.97 (50ms, ease-out)
215
+ 2. **Squash**: Scale to [1.04, 0.96] (100ms, ease-in)
216
+ 3. **Follow through**: Overshoots to 1.02, settles to 1.0 (spring, 200ms)
217
+ 4. **Secondary**: Shadow shrinks during press, icon shifts down 2px
218
+ 5. **Total**: ~150ms press + 200ms settle
219
+
220
+ ### Card Entrance (Premium)
221
+ 1. **Start**: 20px below target, opacity 0
222
+ 2. **Path**: Slight curve (10px X offset at midpoint)
223
+ 3. **Easing**: ease-out-cubic deceleration
224
+ 4. **Follow through**: Shadow arrives 50ms after card
225
+ 5. **Secondary**: Content fades in 100ms after card lands
226
+ 6. **Staging**: Other cards dim to 80%
227
+
228
+ ### Success State (Playful)
229
+ 1. **Primary**: Scale pop with ease-out-back
230
+ 2. **Secondary**: Checkmark draws in
231
+ 3. **Ambient**: Subtle particle burst
232
+ 4. **Color**: Green fill
233
+ 5. **Total**: 300-400ms
234
+
235
+ ### Error Shake (Corporate)
236
+ 1. **Primary**: Position oscillates 2-3 times, ±10-15px horizontal
237
+ 2. **Easing**: ease-in-out for sharp stops
238
+ 3. **Color**: Red tint
239
+ 4. **Total**: 300-400ms
240
+ 5. **No overshoot**: Errors feel firm
241
+
242
+ > More patterns: [patterns/entrance-exit.md](references/patterns/entrance-exit.md) | [patterns/state-feedback.md](references/patterns/state-feedback.md)
243
+
244
+ ---
245
+
246
+ ## Choreography Essentials
247
+
248
+ **Coordinated entry**:
249
+ - Lead with the hero — primary element enters first or most prominently
250
+ - Spatial consistency — all elements enter from same direction
251
+ - Counter-motion — hero moves right → ambient moves left at 20-30% speed
252
+
253
+ **1/3 Rule (distance)**: No motion travels more than 1/3 of screen without a keyframe change.
254
+
255
+ **1/3 Rule (elements)**: With 3+ elements, no more than 1/3 in active motion simultaneously.
256
+
257
+ **Stagger budgets**:
258
+
259
+ | Pattern | Delay | Total Budget | Use Case |
260
+ |---------|-------|-------------|----------|
261
+ | Micro cascade | 20-40ms | <200ms | List items, grid cells |
262
+ | Standard | 50-100ms | <400ms | Cards, panels, nav |
263
+ | Dramatic | 100-200ms | <600ms | Hero sections |
264
+ | Wave | 30-60ms | <500ms | Data visualizations |
265
+
266
+ **Critical**: Total stagger must stay under 500ms.
267
+
268
+ > Deep dive: [director/choreography.md](references/director/choreography.md)
269
+
270
+ ---
271
+
272
+ ## Emotion-to-Motion Map
273
+
274
+ | Emotion | Character | Path | Easing | Duration |
275
+ |---------|-----------|------|--------|----------|
276
+ | Joy | Bouncy, arcs | Curved, upward | ease-out-back | 200-400ms |
277
+ | Calm | Smooth, flowing | Gentle curves | sine ease-in-out | 500-1000ms |
278
+ | Urgency | Sharp, fast | Straight lines | ease-out | 100-200ms |
279
+ | Sadness | Slow, downward | Drooping curves | cubic ease-in-out | 600-1200ms |
280
+ | Surprise | Sudden, expanding | Radial outward | ease-out-expo | 150-300ms |
281
+ | Elegance | Slow, controlled | Long arcs | (0.4,0,0.2,1) | 400-700ms |
282
+ | Playfulness | Bouncy, irregular | Arcs, squiggly | ease-out-back | 200-350ms |
283
+
284
+ **Path as language**: Angular = tense. Curved = friendly. Spiral = whimsical. Diagonal = purposeful. Vertical = growth/weight. Horizontal = progress.
285
+
286
+ > Deep dive: [director/emotion-mapping.md](references/director/emotion-mapping.md)
287
+
288
+ ---
289
+
290
+ ## Weight Classification
291
+
292
+ | Weight | Examples | Duration | Overshoot | Easing |
293
+ |--------|----------|----------|-----------|--------|
294
+ | Heavy | Modals, overlays | 300-500ms | 0% | Gentle, high damping |
295
+ | Medium | Cards, panels | 200-350ms | 3-5% | Moderate |
296
+ | Light | Tooltips, badges, icons | 80-200ms | 5-15% | Responsive |
297
+
298
+ ---
299
+
300
+ ## Quality Rules
301
+
302
+ ### CRITICAL — never break
303
+ 1. **Never linear for spatial movement** — always use easing curves (linear only for spinners, progress bars)
304
+ 2. **Never opacity-only** for important state changes — combine with position or scale
305
+ 3. **Never exceed 1/3 screen** without intermediate keyframe
306
+ 4. **Always three motion layers** — primary + secondary + ambient
307
+
308
+ ### HIGH — strongly follow
309
+ 1. Match duration to element type (see tables)
310
+ 2. Use directional easing (ease-out entrance, ease-in exit)
311
+ 3. Apply Disney principles (especially anticipation, follow-through)
312
+ 4. Maintain consistent personality across scene
313
+
314
+ > Full checklist: [reference/quality-checklist.md](references/reference/quality-checklist.md)
315
+
316
+ ---
317
+
318
+ ## Troubleshooting Quick Reference
319
+
320
+ | Problem | Likely Cause | Fix |
321
+ |---------|-------------|-----|
322
+ | Looks robotic | Linear easing or no arcs | Add easing curves + arc paths |
323
+ | Feels too slow | Duration too long for element type | Check duration table, use ease-out |
324
+ | Feels cheap/flat | Missing secondary + ambient | Add shadow motion + background life |
325
+ | Too distracting | Too many elements moving | Apply 1/3 rule, reduce amplitude |
326
+ | No personality | Generic easing everywhere | Apply personality archetype consistently |
327
+
328
+ > Deep dive: [reference/troubleshooting.md](references/reference/troubleshooting.md)
329
+
330
+ ---
331
+
332
+ ## File Reference
333
+
334
+ **Philosophy** (director/):
335
+ - [core-philosophy.md](references/director/core-philosophy.md) — Three Pillars deep dive
336
+ - [decision-framework.md](references/director/decision-framework.md) — Full decision pipeline
337
+ - [disney-principles.md](references/director/disney-principles.md) — 12 principles, UI-adapted
338
+ - [motion-personality.md](references/director/motion-personality.md) — 4 archetypes + brand identity
339
+ - [emotion-mapping.md](references/director/emotion-mapping.md) — Emotion → motion + color psychology
340
+ - [choreography.md](references/director/choreography.md) — Multi-element coordination
341
+ - [narrative-structure.md](references/director/narrative-structure.md) — Micro-story framework
342
+ - [context-adaptation.md](references/director/context-adaptation.md) — Platform, a11y, performance
343
+
344
+ **Reference** (reference/):
345
+ - [timing-easing-tables.md](references/reference/timing-easing-tables.md) — Duration + easing lookups
346
+ - [property-selection.md](references/reference/property-selection.md) — Property communication guide
347
+ - [troubleshooting.md](references/reference/troubleshooting.md) — Animation smells + fixes
348
+ - [quality-checklist.md](references/reference/quality-checklist.md) — Evaluation criteria
349
+
350
+ **Patterns** (patterns/):
351
+ - [entrance-exit.md](references/patterns/entrance-exit.md) — Entrance/exit recipes
352
+ - [state-feedback.md](references/patterns/state-feedback.md) — Success, error, loading, hover
353
+ - [ambient-continuous.md](references/patterns/ambient-continuous.md) — Looping, breathing, parallax
354
+ - [multi-element.md](references/patterns/multi-element.md) — Stagger + choreography recipes
355
+
356
+ ## Output
357
+
358
+ A motion direction the build squads execute without interpretation: the
359
+ emotional target and personality archetype, per-element property/duration/
360
+ easing choices from the tables, the choreography order with stagger
361
+ values, and the quality checklist run — plus which implementation skill
362
+ (dev/css-native, dev/framer-motion, dev/canvas-generative or dev/threejs)
363
+ each piece hands to.
@@ -0,0 +1,93 @@
1
+ # Choreography
2
+
3
+ ## Coordinated Entry Rules
4
+
5
+ ### 1. Lead with the Hero
6
+ - Hero gets largest displacement and most attention-grabbing easing
7
+ - Supporting elements are subtler in every dimension
8
+
9
+ ### 2. Spatial Origin Consistency
10
+ All elements enter from same direction or shared origin. Mixed directions = chaos.
11
+
12
+ ### 3. Counter-Motion
13
+
14
+ | Hero Motion | Counter-Motion | Speed Ratio |
15
+ |-------------|---------------|-------------|
16
+ | Enters left | Background shifts right | 20-30% |
17
+ | Scales up | Shadow scales down | 10-20% |
18
+ | Rotates CW | Ambient drifts CCW | 15-25% |
19
+ | Lifts (Y up) | Shadow spreads + softens | 20-30% |
20
+
21
+ ## Sequence Structure
22
+
23
+ | Phase | Duration Share | What Happens |
24
+ |-------|--------------|-------------|
25
+ | Setup | 20-30% | Elements enter, scene establishes |
26
+ | Action | 30-40% | Primary motion, hero moment |
27
+ | Resolution | 30-40% | Settle, secondary reactions, breathing |
28
+
29
+ Leave 100-200ms stillness after resolution before new motion.
30
+
31
+ ## The 1/3 Rules
32
+
33
+ **Distance**: No motion travels >1/3 screen without intermediate keyframe. Break with direction changes, speed variations, or arc adjustments.
34
+
35
+ **Elements**: With 3+ animated elements, max 1/3 active simultaneously. Stagger so element 1 settles as element 3 starts.
36
+
37
+ ## Stagger Patterns
38
+
39
+ | Pattern | Description | Best For |
40
+ |---------|------------|----------|
41
+ | Sequential | Reading order | Lists, grids |
42
+ | Center-out | Radiating from center | Hero content, ripples |
43
+ | Random | Varied timing | Organic, particle-like |
44
+ | Wave | Sine-based | Data bars, continuous |
45
+ | Reverse | Bottom-to-top | Exits, backward nav |
46
+
47
+ - All staggered elements use same easing family
48
+ - Vary only start time, not curve
49
+ - Optional: last element gets slight overshoot (punctuation)
50
+
51
+ ## Shared Motion Events
52
+
53
+ When multiple elements react to one trigger:
54
+ - All start within 50ms of each other
55
+ - Can arrive at different times (staggered landing)
56
+ - Same easing family; motion originates from trigger point
57
+
58
+ ## Attention Direction
59
+
60
+ | Technique | Implementation |
61
+ |-----------|---------------|
62
+ | Leading motion | Animate target before context |
63
+ | Following motion | Settle on focal point |
64
+ | Ambient motion | Subtle continuous in periphery |
65
+ | Pointing motion | Directional toward CTA |
66
+
67
+ ### Depth Through Speed
68
+
69
+ | Layer | Displacement | Speed |
70
+ |-------|-------------|-------|
71
+ | Foreground | 1.0x | Fastest |
72
+ | Midground | 0.5x | Medium |
73
+ | Background | 0.2x | Slowest |
74
+
75
+ ## Common Recipes
76
+
77
+ ### Dashboard Load
78
+ 1. Skeletons fade in (100ms)
79
+ 2. Hero metric (250ms, ease-out, 100ms delay)
80
+ 3. Supporting cards stagger (50ms between, 200ms each)
81
+ 4. Chart data draws in (300ms, starts with cards)
82
+ 5. Ambient pulse on primary metric
83
+
84
+ ### Modal Open
85
+ 1. Background dims (200ms)
86
+ 2. Modal scales 95%→100% + fades (300ms, 50ms delay)
87
+ 3. Content fades in (200ms, 100ms after modal)
88
+ 4. Close button last (150ms)
89
+
90
+ ### List Update (item added)
91
+ 1. Existing items shift down (200ms, ease-in-out)
92
+ 2. New item fades+slides from top (250ms, ease-out, 50ms delay)
93
+ 3. Subtle scale overshoot on land (3-5%)
@@ -0,0 +1,83 @@
1
+ # Context Adaptation
2
+
3
+ ## Platform Scaling
4
+
5
+ | Platform | Duration Modifier | Complexity | Physics |
6
+ |----------|------------------|------------|---------|
7
+ | Desktop | 1.0x (baseline) | Full | All types |
8
+ | Tablet | 0.9x | Standard | Most types |
9
+ | Mobile | 0.8x | Reduced (1-2 properties) | Snappy only |
10
+ | Watch | 0.6x | Minimal (1 property) | None |
11
+ | TV/Kiosk | 1.3x | Full | All types |
12
+
13
+ **Mobile rules**: prefer opacity + transform; touch feedback <100ms; reduce stagger budgets by 30%; avoid parallax
14
+ **Desktop opportunities**: hover states, cursor tracking, multi-column stagger, spatial choreography
15
+
16
+ ## Accessibility
17
+
18
+ ### prefers-reduced-motion
19
+
20
+ | Original Motion | Reduced Alternative |
21
+ |----------------|-------------------|
22
+ | Slide entrance | Opacity fade only |
23
+ | Bounce/spring | Instant or simple ease-out |
24
+ | Parallax | Static positioning |
25
+ | Auto-playing | Paused, user-initiated |
26
+ | Complex choreography | Single fade |
27
+ | Continuous ambient | Static or subtle opacity pulse |
28
+
29
+ Reduced motion means: remove spatial movement, keep opacity, remove spring easing, reduce duration 50%+, never auto-play loops.
30
+
31
+ ### Vestibular Triggers (avoid or provide alternatives)
32
+ - Large-scale zoom, full-screen position transitions
33
+ - Spinning elements >100px, parallax >2 layers, rapid direction changes
34
+
35
+ ### Cognitive Accessibility
36
+ - Same interaction = same animation every time
37
+ - Pause controls for animations >5 seconds
38
+ - Don't convey critical info through motion alone
39
+
40
+ ## Performance Budgets
41
+
42
+ | Tier | Properties | Max Elements |
43
+ |------|-----------|-------------|
44
+ | Optimal | transform, opacity | Unlimited (GPU) |
45
+ | Good | + color, clip-path | 10-15 |
46
+ | Acceptable | + width, height, margin | 5-8 |
47
+ | Avoid | box-shadow, border-radius, filter | 1-3 |
48
+
49
+ - Target 60fps (16.67ms/frame); animation logic <10ms/frame
50
+ - will-change sparingly; keep animated elements <20 per viewport
51
+ - Stagger reduces peak load vs simultaneous
52
+ - Fallback: 30fps acceptable for ambient
53
+
54
+ ## Content Type Adaptation
55
+
56
+ | Content Type | Personality | Duration | Motion Density |
57
+ |-------------|-------------|----------|---------------|
58
+ | Financial | Corporate/Premium | 250-500ms | Low |
59
+ | Social media | Playful | 150-300ms | Medium |
60
+ | Enterprise SaaS | Corporate | 200-400ms | Low |
61
+ | Gaming | Energetic | 100-250ms | High |
62
+ | Healthcare | Corporate/Calm | 300-600ms | Very low |
63
+ | E-commerce | Varies | 200-400ms | Medium |
64
+ | Editorial | Premium | 350-600ms | Low |
65
+ | Children's apps | Playful | 150-300ms | High |
66
+
67
+ ## Responsive Motion
68
+
69
+ | Container Width | Max Displacement | Duration |
70
+ |----------------|-----------------|----------|
71
+ | <400px | 20% of width | 0.8x |
72
+ | 400-800px | 25% of width | 1.0x |
73
+ | 800-1200px | 20% of width | 1.0x |
74
+ | >1200px | 15% of width | 1.1x |
75
+
76
+ - Small viewport: sequential, one element at a time
77
+ - Medium: standard stagger, 2-3 columns
78
+ - Large: full choreography, center-out stagger, parallax
79
+
80
+ ## Dark Mode
81
+ - Reduce motion intensity 10-20% (bright on dark = more impact)
82
+ - Subtler ambient motion; careful with opacity values
83
+ - Avoid pure white flashes