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.
- 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 +19 -0
- package/departments/brand/references/uiux-knowledge-and-tools.md +8 -5
- package/departments/brand/skills/design-system/SKILL.md +4 -2
- package/departments/brand/skills/motion-design/SKILL.md +363 -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/departments/content/skills/video-produce/SKILL.md +2 -2
- package/departments/dev/skills/animated-website/references/motion-recipes.md +3 -2
- package/departments/dev/skills/gsap/SKILL.md +71 -0
- package/departments/dev/skills/gsap/references/core.md +251 -0
- package/departments/dev/skills/gsap/references/frameworks.md +263 -0
- package/departments/dev/skills/gsap/references/greensock-gsap-skills.LICENSE +21 -0
- package/departments/dev/skills/gsap/references/performance.md +76 -0
- package/departments/dev/skills/gsap/references/plugins.md +430 -0
- package/departments/dev/skills/gsap/references/react.md +133 -0
- package/departments/dev/skills/gsap/references/scrolltrigger.md +293 -0
- package/departments/dev/skills/gsap/references/timeline.md +104 -0
- package/departments/dev/skills/gsap/references/utils.md +281 -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 +31 -1
- package/package.json +1 -1
- 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.
|
|
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
|
|
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
|
package/THE-ARKAOS-GUIDE.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# The ArkaOS Guide
|
|
2
2
|
|
|
3
|
-
> v5.
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
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
|
|
45
|
-
|
|
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
|