baldart 3.6.2

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 (230) hide show
  1. package/CHANGELOG.md +599 -0
  2. package/README.md +566 -0
  3. package/VERSION +1 -0
  4. package/bin/baldart.js +143 -0
  5. package/framework/.claude/agents/REGISTRY.md +169 -0
  6. package/framework/.claude/agents/api-perf-cost-auditor.md +291 -0
  7. package/framework/.claude/agents/code-reviewer.md +350 -0
  8. package/framework/.claude/agents/codebase-architect.md +391 -0
  9. package/framework/.claude/agents/coder.md +291 -0
  10. package/framework/.claude/agents/deep-human-insight.md +198 -0
  11. package/framework/.claude/agents/doc-reviewer.md +440 -0
  12. package/framework/.claude/agents/email-deliverability-architect.md +193 -0
  13. package/framework/.claude/agents/hybrid-ml-architect.md +285 -0
  14. package/framework/.claude/agents/hyper-gamification-designer.md +149 -0
  15. package/framework/.claude/agents/legal-counsel-gdpr.md +179 -0
  16. package/framework/.claude/agents/marketing-conversion-strategist.md +162 -0
  17. package/framework/.claude/agents/motion-expert.md +108 -0
  18. package/framework/.claude/agents/onboarding-architect-lead.md +230 -0
  19. package/framework/.claude/agents/plan-auditor.md +546 -0
  20. package/framework/.claude/agents/prd-card-writer.md +372 -0
  21. package/framework/.claude/agents/prd.md +744 -0
  22. package/framework/.claude/agents/qa-sentinel.md +305 -0
  23. package/framework/.claude/agents/remotion-animator-orchestrator.md +218 -0
  24. package/framework/.claude/agents/security-reviewer.md +276 -0
  25. package/framework/.claude/agents/senior-researcher.md +175 -0
  26. package/framework/.claude/agents/seo-analytics-strategist.md +156 -0
  27. package/framework/.claude/agents/skill-improver.md +61 -0
  28. package/framework/.claude/agents/ui-expert.md +191 -0
  29. package/framework/.claude/agents/visual-designer.md +190 -0
  30. package/framework/.claude/agents/website-orchestrator.md +118 -0
  31. package/framework/.claude/agents/wiki-curator.md +145 -0
  32. package/framework/.claude/commands/baldart-push.md +15 -0
  33. package/framework/.claude/commands/check.md +237 -0
  34. package/framework/.claude/commands/codexreview.md +203 -0
  35. package/framework/.claude/commands/design-review.md +11 -0
  36. package/framework/.claude/commands/issue-review.md +34 -0
  37. package/framework/.claude/commands/new.md +331 -0
  38. package/framework/.claude/commands/qa.md +257 -0
  39. package/framework/.claude/hooks/framework-edit-gate.js +208 -0
  40. package/framework/.claude/hooks/lint-before-commit.sh.template +66 -0
  41. package/framework/.claude/settings.local.json.example +32 -0
  42. package/framework/.claude/skills/api-design-principles/SKILL.md +567 -0
  43. package/framework/.claude/skills/api-design-principles/assets/api-design-checklist.md +155 -0
  44. package/framework/.claude/skills/api-design-principles/assets/rest-api-template.py +182 -0
  45. package/framework/.claude/skills/api-design-principles/references/graphql-schema-design.md +583 -0
  46. package/framework/.claude/skills/api-design-principles/references/rest-best-practices.md +408 -0
  47. package/framework/.claude/skills/baldart-push/SKILL.md +222 -0
  48. package/framework/.claude/skills/bug/SKILL.md +200 -0
  49. package/framework/.claude/skills/bug/references/logging-patterns.md +174 -0
  50. package/framework/.claude/skills/capture/SKILL.md +125 -0
  51. package/framework/.claude/skills/capture/references/synthesis-template.md +42 -0
  52. package/framework/.claude/skills/context-primer/SKILL.md +189 -0
  53. package/framework/.claude/skills/copywriting/SKILL.md +273 -0
  54. package/framework/.claude/skills/copywriting/references/copy-frameworks.md +338 -0
  55. package/framework/.claude/skills/copywriting/references/natural-transitions.md +252 -0
  56. package/framework/.claude/skills/doc-writing-for-rag/SKILL.md +119 -0
  57. package/framework/.claude/skills/doc-writing-for-rag/references/before-after-examples.md +291 -0
  58. package/framework/.claude/skills/doc-writing-for-rag/references/compact-templates.md +183 -0
  59. package/framework/.claude/skills/doc-writing-for-rag/references/frontmatter-minimal.md +112 -0
  60. package/framework/.claude/skills/doc-writing-for-rag/references/line-count-targets.md +110 -0
  61. package/framework/.claude/skills/doc-writing-for-rag/references/schemas-and-errors.md +129 -0
  62. package/framework/.claude/skills/find-skills/SKILL.md +133 -0
  63. package/framework/.claude/skills/frontend-design/LICENSE.txt +177 -0
  64. package/framework/.claude/skills/frontend-design/SKILL.md +84 -0
  65. package/framework/.claude/skills/gamification-design/SKILL.md +130 -0
  66. package/framework/.claude/skills/issue-review/SKILL.md +45 -0
  67. package/framework/.claude/skills/kie-ai/SKILL.md +262 -0
  68. package/framework/.claude/skills/kie-ai/references/models-catalog.md +272 -0
  69. package/framework/.claude/skills/kie-ai/scripts/kie_api.sh +209 -0
  70. package/framework/.claude/skills/kie-ai/scripts/remove_greenscreen.py +69 -0
  71. package/framework/.claude/skills/kie-ai/scripts/setup_api_key.sh +77 -0
  72. package/framework/.claude/skills/motion-design/LICENSE +21 -0
  73. package/framework/.claude/skills/motion-design/README.md +82 -0
  74. package/framework/.claude/skills/motion-design/SKILL.md +336 -0
  75. package/framework/.claude/skills/motion-design/director/choreography.md +93 -0
  76. package/framework/.claude/skills/motion-design/director/context-adaptation.md +83 -0
  77. package/framework/.claude/skills/motion-design/director/core-philosophy.md +53 -0
  78. package/framework/.claude/skills/motion-design/director/decision-framework.md +91 -0
  79. package/framework/.claude/skills/motion-design/director/disney-principles.md +102 -0
  80. package/framework/.claude/skills/motion-design/director/emotion-mapping.md +71 -0
  81. package/framework/.claude/skills/motion-design/director/motion-personality.md +89 -0
  82. package/framework/.claude/skills/motion-design/director/narrative-structure.md +62 -0
  83. package/framework/.claude/skills/motion-design/patterns/ambient-continuous.md +81 -0
  84. package/framework/.claude/skills/motion-design/patterns/entrance-exit.md +82 -0
  85. package/framework/.claude/skills/motion-design/patterns/multi-element.md +69 -0
  86. package/framework/.claude/skills/motion-design/patterns/state-feedback.md +96 -0
  87. package/framework/.claude/skills/motion-design/reference/property-selection.md +95 -0
  88. package/framework/.claude/skills/motion-design/reference/quality-checklist.md +67 -0
  89. package/framework/.claude/skills/motion-design/reference/timing-easing-tables.md +106 -0
  90. package/framework/.claude/skills/motion-design/reference/troubleshooting.md +73 -0
  91. package/framework/.claude/skills/new/SKILL.md +1687 -0
  92. package/framework/.claude/skills/playwright-skill/API_REFERENCE.md +652 -0
  93. package/framework/.claude/skills/playwright-skill/SKILL.md +157 -0
  94. package/framework/.claude/skills/playwright-skill/package.json +26 -0
  95. package/framework/.claude/skills/prd/SKILL.md +228 -0
  96. package/framework/.claude/skills/prd/assets/card-template.yml +232 -0
  97. package/framework/.claude/skills/prd/assets/epic-template.yml +190 -0
  98. package/framework/.claude/skills/prd/assets/prd-template.md +230 -0
  99. package/framework/.claude/skills/prd/assets/state-template.md +78 -0
  100. package/framework/.claude/skills/prd/references/api-perf-gate.md +152 -0
  101. package/framework/.claude/skills/prd/references/audit-phase.md +478 -0
  102. package/framework/.claude/skills/prd/references/backlog-phase.md +145 -0
  103. package/framework/.claude/skills/prd/references/discovery-phase.md +359 -0
  104. package/framework/.claude/skills/prd/references/impact-analysis.md +233 -0
  105. package/framework/.claude/skills/prd/references/prd-add-phase.md +214 -0
  106. package/framework/.claude/skills/prd/references/prd-writing-phase.md +145 -0
  107. package/framework/.claude/skills/prd/references/research-phase.md +216 -0
  108. package/framework/.claude/skills/prd/references/ui-design-phase.md +61 -0
  109. package/framework/.claude/skills/prd/references/validation-phase.md +72 -0
  110. package/framework/.claude/skills/prd-add/SKILL.md +222 -0
  111. package/framework/.claude/skills/prd-add/references/impact-analysis.md +233 -0
  112. package/framework/.claude/skills/remotion-best-practices/SKILL.md +48 -0
  113. package/framework/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
  114. package/framework/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
  115. package/framework/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
  116. package/framework/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
  117. package/framework/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
  118. package/framework/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
  119. package/framework/.claude/skills/remotion-best-practices/rules/audio.md +169 -0
  120. package/framework/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
  121. package/framework/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
  122. package/framework/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
  123. package/framework/.claude/skills/remotion-best-practices/rules/compositions.md +141 -0
  124. package/framework/.claude/skills/remotion-best-practices/rules/display-captions.md +184 -0
  125. package/framework/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
  126. package/framework/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
  127. package/framework/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
  128. package/framework/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
  129. package/framework/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
  130. package/framework/.claude/skills/remotion-best-practices/rules/gifs.md +141 -0
  131. package/framework/.claude/skills/remotion-best-practices/rules/images.md +130 -0
  132. package/framework/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
  133. package/framework/.claude/skills/remotion-best-practices/rules/light-leaks.md +73 -0
  134. package/framework/.claude/skills/remotion-best-practices/rules/lottie.md +67 -0
  135. package/framework/.claude/skills/remotion-best-practices/rules/maps.md +401 -0
  136. package/framework/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
  137. package/framework/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
  138. package/framework/.claude/skills/remotion-best-practices/rules/parameters.md +98 -0
  139. package/framework/.claude/skills/remotion-best-practices/rules/sequencing.md +118 -0
  140. package/framework/.claude/skills/remotion-best-practices/rules/subtitles.md +36 -0
  141. package/framework/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
  142. package/framework/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
  143. package/framework/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
  144. package/framework/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
  145. package/framework/.claude/skills/remotion-best-practices/rules/transitions.md +197 -0
  146. package/framework/.claude/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
  147. package/framework/.claude/skills/remotion-best-practices/rules/trimming.md +52 -0
  148. package/framework/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
  149. package/framework/.claude/skills/seo-audit/SKILL.md +394 -0
  150. package/framework/.claude/skills/seo-audit/references/aeo-geo-patterns.md +279 -0
  151. package/framework/.claude/skills/seo-audit/references/ai-writing-detection.md +190 -0
  152. package/framework/.claude/skills/simplify/SKILL.md +137 -0
  153. package/framework/.claude/skills/skill-creator/LICENSE.txt +202 -0
  154. package/framework/.claude/skills/skill-creator/SKILL.md +356 -0
  155. package/framework/.claude/skills/skill-creator/references/output-patterns.md +82 -0
  156. package/framework/.claude/skills/skill-creator/references/workflows.md +28 -0
  157. package/framework/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
  158. package/framework/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
  159. package/framework/.claude/skills/skill-creator/scripts/quick_validate.py +95 -0
  160. package/framework/.claude/skills/ui-design/SKILL.md +199 -0
  161. package/framework/.claude/skills/ui-design/references/component-discovery.md +54 -0
  162. package/framework/.claude/skills/ui-design/references/evaluation.md +171 -0
  163. package/framework/.claude/skills/ui-design/references/generation.md +109 -0
  164. package/framework/.claude/skills/ui-design/references/inventory.md +59 -0
  165. package/framework/.claude/skills/webapp-testing/LICENSE.txt +202 -0
  166. package/framework/.claude/skills/webapp-testing/SKILL.md +123 -0
  167. package/framework/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
  168. package/framework/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
  169. package/framework/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
  170. package/framework/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
  171. package/framework/.claude/skills/worktree-manager/SKILL.md +680 -0
  172. package/framework/AGENTS.md +240 -0
  173. package/framework/agents/api-contracts.md +137 -0
  174. package/framework/agents/architecture.md +145 -0
  175. package/framework/agents/coding-standards.md +148 -0
  176. package/framework/agents/data-model.md +110 -0
  177. package/framework/agents/deployment-protocol.md +232 -0
  178. package/framework/agents/design-review.md +172 -0
  179. package/framework/agents/env-reference.md +171 -0
  180. package/framework/agents/github-issue-subagent.md +252 -0
  181. package/framework/agents/index.md +261 -0
  182. package/framework/agents/llm-wiki-methodology.md +216 -0
  183. package/framework/agents/maintenance-protocol.md +305 -0
  184. package/framework/agents/observability.md +162 -0
  185. package/framework/agents/performance.md +155 -0
  186. package/framework/agents/project-context.md +145 -0
  187. package/framework/agents/runbook.md +208 -0
  188. package/framework/agents/security.md +168 -0
  189. package/framework/agents/skills-mapping.md +286 -0
  190. package/framework/agents/testing.md +111 -0
  191. package/framework/agents/workflows.md +215 -0
  192. package/framework/docs/PROJECT-CONFIGURATION.md +336 -0
  193. package/framework/docs/references/brand-guidelines.md +170 -0
  194. package/framework/docs/references/ui-guidelines.template.md +182 -0
  195. package/framework/routines/code-review.routine.yml +46 -0
  196. package/framework/routines/doc-review.routine.yml +45 -0
  197. package/framework/routines/ds-drift.routine.yml +52 -0
  198. package/framework/routines/full-sweep.routine.yml +51 -0
  199. package/framework/routines/index.yml +70 -0
  200. package/framework/routines/skill-improve.routine.yml +50 -0
  201. package/framework/routines/wiki-review.routine.yml +45 -0
  202. package/framework/templates/baldart.config.template.yml +113 -0
  203. package/framework/templates/breaking-change-checklist.md +484 -0
  204. package/framework/templates/feature-card.template.yml +125 -0
  205. package/framework/templates/overlays/README.md +44 -0
  206. package/framework/templates/overlays/copywriting.fidelity-example.md +62 -0
  207. package/framework/templates/overlays/ui-design.fidelity-example.md +75 -0
  208. package/framework/templates/skill-project-context.snippet.md +19 -0
  209. package/framework/templates/spec.template.md +208 -0
  210. package/package.json +51 -0
  211. package/src/commands/add.js +229 -0
  212. package/src/commands/configure.js +385 -0
  213. package/src/commands/doctor.js +486 -0
  214. package/src/commands/migrate.js +185 -0
  215. package/src/commands/push.js +0 -0
  216. package/src/commands/routines.js +269 -0
  217. package/src/commands/status.js +130 -0
  218. package/src/commands/update.js +419 -0
  219. package/src/commands/version.js +88 -0
  220. package/src/utils/contamination.js +400 -0
  221. package/src/utils/git.js +181 -0
  222. package/src/utils/hooks.js +152 -0
  223. package/src/utils/routine-adapters/claude-code-cloud.js +78 -0
  224. package/src/utils/routine-adapters/cron.js +138 -0
  225. package/src/utils/routine-adapters/github-actions.js +141 -0
  226. package/src/utils/routine-adapters/index.js +21 -0
  227. package/src/utils/routines.js +166 -0
  228. package/src/utils/state.js +143 -0
  229. package/src/utils/symlinks.js +425 -0
  230. package/src/utils/ui.js +133 -0
@@ -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,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 |
@@ -0,0 +1,96 @@
1
+ # State & Feedback Patterns
2
+
3
+ ## Button Press
4
+
5
+ ### Playful
6
+ - Press: scale 0.95 (60ms, ease-out); Release: overshoot 1.05 (80ms); Settle: 1.0 (120ms, spring)
7
+ - Secondary: shadow shrinks/grows; color darkens/brightens. Total ~260ms
8
+
9
+ ### Premium
10
+ - Press: scale 0.98 (80ms); Release: 1.0 (150ms, no overshoot)
11
+ - Opacity dims to 90% on press. Total ~230ms
12
+
13
+ ### Corporate
14
+ - Press: scale 0.97 (60ms); Release: 1.0 (100ms); overshoot 0-2%
15
+ - Background darkens 10%. Total ~160ms
16
+
17
+ ## Hover States
18
+
19
+ | Element | Effect | Duration |
20
+ |---------|--------|----------|
21
+ | Button | Scale 1.02-1.05 | <100ms |
22
+ | Card | Scale 1.01-1.02 + shadow lift | <100ms |
23
+ | Link | Color change + underline | <100ms |
24
+ | Icon | Scale 1.1 + rotation 2-5° | <100ms |
25
+ | Image | Scale 1.03 (overflow hidden) | 150ms |
26
+
27
+ Hover enter <100ms; hover exit 150-200ms (slower = polished).
28
+
29
+ ## Toggle / Switch
30
+ - Thumb slides (120-180ms, ease-in-out); track color transitions simultaneously
31
+ - Slight squash in movement direction
32
+ - Playful: bounce at destination; Premium: smooth, no overshoot
33
+
34
+ ## Success State
35
+
36
+ ### Checkmark Success
37
+ 1. Container: scale 0.9→1.0 (200ms, ease-out-back, 5-10% overshoot)
38
+ 2. Checkmark: stroke draw (150ms, ease-out, 100ms delay)
39
+ 3. Color: to green (200ms); ambient glow/particles (300ms)
40
+ 4. Total: 400-500ms
41
+
42
+ ### Confirmation Badge
43
+ 1. Badge scales from 0 (200ms, ease-out-back)
44
+ 2. Text fades in (150ms, 50ms delay)
45
+ 3. Background pulse (300ms, sine)
46
+
47
+ ### Payment Success
48
+ 1. Spinner → checkmark crossfade (200ms)
49
+ 2. Checkmark draws (200ms); container → success color (200ms)
50
+ 3. Text fades in (200ms, 100ms delay); optional confetti (300-500ms)
51
+
52
+ ## Error State
53
+
54
+ ### Error Shake
55
+ - Horizontal oscillation ±10-15px, 2-3 cycles decreasing amplitude
56
+ - ease-in-out, 300-400ms total; red tint; no overshoot; settles at origin
57
+
58
+ ### Inline Validation
59
+ 1. Error text slides down + fades in (200ms)
60
+ 2. Border → red (150ms); icon scales in (150ms, 50ms delay)
61
+ 3. Optional single shake (200ms)
62
+
63
+ ### Form Submission Error
64
+ 1. Button returns to normal (200ms)
65
+ 2. Error message slides in (250ms)
66
+ 3. Affected fields highlight red (150ms, staggered 30ms)
67
+ 4. Smooth scroll to first error (300ms, ease-in-out)
68
+
69
+ ## Loading States
70
+
71
+ ### Spinner
72
+ - Continuous 360°, linear, 1000-1500ms/rev; optional breathing pulse (2-3s)
73
+
74
+ ### Skeleton
75
+ - Gradient sweep L→R, 1500-2000ms; base 10-20% opacity, peak 30-40%
76
+
77
+ ### Progress Bar
78
+ - Width/transform, ease-in-out; optional color milestones + shimmer
79
+
80
+ ### Indeterminate
81
+ - Oscillating position/width, 1500-2500ms, ease-in-out; continuous, never frantic
82
+
83
+ ## Warning State
84
+ 1. Yellow/amber border (150ms)
85
+ 2. Warning icon scales in (150ms, subtle overshoot)
86
+ 3. Optional icon pulse (2-3s, sine); text fades in (200ms, 50ms delay)
87
+
88
+ ## Disabled / Enabled
89
+
90
+ - **Disabling**: opacity to 50-60% (200ms); optional scale to 98%
91
+ - **Enabling**: opacity to 100% (200ms); optional scale pulse 98%→100%
92
+
93
+ ## Focus States
94
+ - Focus ring: scale 95%→100% + opacity (150ms)
95
+ - Card focus: scale 1.01, shadow increase (150ms)
96
+ - Tab nav focus: <100ms; must work with reduced-motion