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,95 @@
1
+ # Property Selection
2
+
3
+ ## Position
4
+
5
+ | Direction | Meaning |
6
+ |-----------|---------|
7
+ | Upward | Growth, improvement, aspiration |
8
+ | Downward | Settling, completion, grounding |
9
+ | Leftward | Regression, backward, departure |
10
+ | Rightward | Progression, forward, arrival |
11
+ | Toward center | Focus, convergence |
12
+ | Away from center | Distribution, expansion |
13
+
14
+ ## Scale
15
+
16
+ | Direction | Meaning |
17
+ |-----------|---------|
18
+ | Scale up | Importance, activation, proximity |
19
+ | Scale down | Deprioritization, distance |
20
+ | Pulse | Attention, heartbeat, life |
21
+ | Breathing | Presence, waiting |
22
+
23
+ ## Rotation
24
+
25
+ | Range | Meaning |
26
+ |-------|---------|
27
+ | Small (5-15°) | Subtle adjustment |
28
+ | Medium (45-90°) | Transformation |
29
+ | Full (360°) | Completion, processing |
30
+ | Continuous | Ongoing activity |
31
+
32
+ ## Opacity
33
+
34
+ | Direction | Meaning |
35
+ |-----------|---------|
36
+ | Fade in | Arrival, enablement |
37
+ | Fade out | Departure, disablement |
38
+ | Partial | Secondary, disabled state |
39
+
40
+ **Rule**: NEVER opacity alone for important state changes. Combine with position or scale.
41
+
42
+ ## Color
43
+
44
+ | Transition | Meaning |
45
+ |-----------|---------|
46
+ | To green | Success, go |
47
+ | To red | Error, stop |
48
+ | To blue | Trust, active |
49
+ | To gray | Disabled, inactive |
50
+ | Brightening | Activation, focus |
51
+ | Dimming | Deactivation, background |
52
+
53
+ ## Combined Properties
54
+
55
+ | Combination | Best For |
56
+ |-------------|----------|
57
+ | Position + Opacity | Content appearing/disappearing |
58
+ | Scale + Opacity | Cards, modals, notifications |
59
+ | Position + Scale | Selected items, focused content |
60
+ | Rotation + Scale | Celebrations, playful activation |
61
+ | Position + Rotation | Organic transitions |
62
+ | Color + Scale | State emphasis |
63
+
64
+ Primary property carries meaning; secondary adds polish. Two properties is the sweet spot.
65
+
66
+ ## Property Selection by Goal
67
+
68
+ | Goal | Primary | Secondary | Avoid |
69
+ |------|---------|-----------|-------|
70
+ | Entrance | position | opacity | rotation |
71
+ | Exit | position | opacity | scale up |
72
+ | Button press | scale | color | position |
73
+ | Hover | scale or color | opacity | position |
74
+ | Success | scale | color + opacity | position |
75
+ | Error | position (shake) | color | scale |
76
+ | Loading | rotation | opacity | position |
77
+ | Toggle | position | color | rotation |
78
+ | Notification | position + scale | opacity | rotation |
79
+ | Delete | scale + opacity | position | grow |
80
+ | Selection | scale | color, opacity | rotation |
81
+ | Progress | position or scale | color | opacity |
82
+
83
+ ## Performance
84
+
85
+ | Property | Performance |
86
+ |----------|-------------|
87
+ | transform (translate, scale, rotate) | Excellent — GPU-accelerated |
88
+ | opacity | Excellent — GPU-accelerated |
89
+ | color / background-color | Good — triggers paint |
90
+ | clip-path | Good — GPU on modern browsers |
91
+ | width / height | Poor — triggers layout |
92
+ | margin / padding | Poor — triggers layout |
93
+ | box-shadow | Poor — expensive paint |
94
+
95
+ **Rule**: Prefer transform + opacity for all motion.
@@ -0,0 +1,67 @@
1
+ # Quality Checklist
2
+
3
+ ## Visual Quality
4
+ - [ ] Elements >40px for motion, >100px for detail
5
+ - [ ] Readable at full speed without slow-motion
6
+ - [ ] Clear primary, secondary, ambient layers
7
+ - [ ] Counter-motion for balance where needed
8
+ - [ ] Natural arcs (unless intentionally mechanical)
9
+ - [ ] 1/3 rule (distance): no unbroken motion >1/3 container
10
+ - [ ] 1/3 rule (density): max 1/3 elements active simultaneously
11
+
12
+ ## Technical Quality
13
+ - [ ] No linear easing on spatial movement
14
+ - [ ] Duration matches element type table
15
+ - [ ] Ease-out entrances, ease-in exits
16
+ - [ ] Duration proportional to distance
17
+ - [ ] Entrance duration >= exit duration
18
+ - [ ] Not opacity-only for important state changes
19
+ - [ ] Stagger total <500ms
20
+ - [ ] Follow-through: child elements offset 50-150ms
21
+
22
+ ## Emotional Quality
23
+ - [ ] Target emotion identified before properties
24
+ - [ ] Personality archetype matches brand
25
+ - [ ] Setup → action → resolution structure
26
+ - [ ] Intensity matches interaction importance
27
+ - [ ] Consistent: same interaction = same motion
28
+ - [ ] Appropriate on 100th viewing
29
+
30
+ ## Performance Quality
31
+ - [ ] Primary motion uses transform + opacity
32
+ - [ ] <20 animated elements per viewport
33
+ - [ ] No layout-triggering properties animated
34
+ - [ ] Elements staggered, not simultaneous
35
+ - [ ] Maintains 60fps (30fps acceptable for ambient)
36
+
37
+ ## Accessibility Quality
38
+ - [ ] prefers-reduced-motion alternative provided
39
+ - [ ] No vestibular triggers without alternative
40
+ - [ ] Same interaction = same animation
41
+ - [ ] Critical info not motion-only
42
+ - [ ] Animations >5s are pausable
43
+
44
+ ## Severity Tiers
45
+
46
+ ### CRITICAL
47
+ - Linear easing on spatial movement
48
+ - Opacity-only for important states
49
+ - Exceeds 1/3 screen rule
50
+ - Missing primary layer
51
+ - Stagger >500ms
52
+ - Layout property animation causing jank
53
+
54
+ ### HIGH
55
+ - Missing secondary layer
56
+ - Duration mismatch with element type
57
+ - Wrong directional easing
58
+ - Inconsistent personality
59
+ - No follow-through
60
+ - Missing reduced-motion alternative
61
+
62
+ ### MEDIUM
63
+ - Missing ambient layer
64
+ - No anticipation phase
65
+ - Overshoot mismatch
66
+ - Could use better arcs
67
+ - Missing counter-motion
@@ -0,0 +1,106 @@
1
+ # Timing & Easing Tables
2
+
3
+ ## Duration by Element Type
4
+
5
+ | Element | Duration |
6
+ |---------|----------|
7
+ | Tooltip / micro-feedback | 80-120ms |
8
+ | Button / toggle | 120-180ms |
9
+ | Icon transition | 150-250ms |
10
+ | Card enter/exit | 200-350ms |
11
+ | Modal / dialog | 300-400ms |
12
+ | Page transition | 400-600ms |
13
+ | Dramatic reveal | 600-1200ms |
14
+ | Ambient | 2000-20000ms |
15
+
16
+ ## Distance-Duration Scaling
17
+
18
+ 50px=0.8x | 100px=1.0x | 200px=1.3x | 300px=1.5x | 400px=1.6x | Full screen=1.8-2.0x
19
+
20
+ ## Enter vs. Exit
21
+ Entrance = base (100%). Exit = 65-75% of entrance.
22
+
23
+ ## Interactive Feedback
24
+
25
+ | Interaction | Max Latency |
26
+ |------------|-------------|
27
+ | Hover | <100ms |
28
+ | Press/tap | <150ms |
29
+ | Release/settle | 200-300ms |
30
+ | Error shake | 300-400ms |
31
+ | Long press | 500-800ms |
32
+ | Drag start | <50ms |
33
+
34
+ ## Duration by Personality
35
+
36
+ | Personality | Quick | Standard | Slow |
37
+ |------------|-------|----------|------|
38
+ | Playful | 150ms | 250ms | 400ms |
39
+ | Premium | 350ms | 500ms | 800ms |
40
+ | Corporate | 200ms | 300ms | 450ms |
41
+ | Energetic | 100ms | 180ms | 300ms |
42
+
43
+ ## Easing: Directional Rules
44
+
45
+ Entrance=ease-out | Exit=ease-in | On-screen=ease-in-out | Looping=sine | Rotation/progress=linear
46
+
47
+ ## Easing: Industry Standards
48
+
49
+ | Name | Cubic Bezier | Use |
50
+ |------|-------------|-----|
51
+ | MD3 Standard | (0.2, 0, 0, 1) | Default on-screen |
52
+ | MD3 Emphasized | (0.05, 0.7, 0.1, 1) | Entrances |
53
+ | MD3 Accelerate | (0.3, 0, 1, 1) | Exits |
54
+ | MD3 Decelerate | (0, 0, 0, 1) | Entering |
55
+ | Apple HIG | (0.25, 0.1, 0.25, 1) | iOS default |
56
+ | Apple Spring | stiffness:300 damping:20 | Interactive |
57
+ | Snappy UI | (0.2, 0, 0, 1) | Fast, decisive |
58
+ | Gentle float | (0.4, 0, 0.2, 1) | Ambient |
59
+ | Bounce settle | (0.175, 0.885, 0.32, 1.275) | Playful |
60
+ | Elastic snap | (0.68, -0.55, 0.265, 1.55) | Dramatic |
61
+
62
+ ## Material-Based Easing
63
+
64
+ | Material | Duration Scale | Overshoot |
65
+ |----------|---------------|-----------|
66
+ | Rigid (metal) | 1.2x | 0% |
67
+ | Elastic (rubber) | 0.8x | 15-25% |
68
+ | Fluid (water) | 1.5x | 5% |
69
+ | Paper (cards) | 1.0x | 3-5% |
70
+ | Gas (smoke) | 2.0x | 0% |
71
+ | Glass | 0.9x | 0% |
72
+
73
+ ## Spring Parameters
74
+
75
+ | Feel | Stiffness | Damping |
76
+ |------|-----------|---------|
77
+ | Very stiff | 400+ | 25-30 |
78
+ | Standard | 250-350 | 18-24 |
79
+ | Bouncy | 150-250 | 10-15 |
80
+ | Very bouncy | 100-200 | 5-10 |
81
+ | Gentle | 100-150 | 20-25 |
82
+
83
+ Damping: <1.0=oscillates, 1.0=fastest no-oscillation, >1.0=slow settle.
84
+
85
+ ## Stagger Patterns
86
+
87
+ | Pattern | Delay | Budget |
88
+ |---------|------|--------|
89
+ | Micro cascade | 20-40ms | <200ms |
90
+ | Standard | 50-100ms | <400ms |
91
+ | Dramatic | 100-200ms | <600ms |
92
+ | Wave | 30-60ms | <500ms |
93
+
94
+ Direction: top-to-bottom (lists) | L-to-R (horizontal) | center-out (hero) | random (organic) | reverse (exits)
95
+
96
+ Total stagger MUST stay <500ms.
97
+
98
+ ## Overshoot Budget
99
+
100
+ | Context | Overshoot |
101
+ |---------|-----------|
102
+ | Success | 5-10% |
103
+ | Error | 0% |
104
+ | Feedback | 2-5% |
105
+ | Celebration | 15-25% |
106
+ | Premium | 0% |
@@ -0,0 +1,73 @@
1
+ # Troubleshooting
2
+
3
+ ## Looks Robotic
4
+ - Linear easing → use ease-out (entrance) or ease-in-out
5
+ - Straight paths → add 10-20px arc at midpoint
6
+ - Uniform timing → stagger 50-100ms between elements
7
+ - Everything synced → offset start/stop 50-150ms
8
+ - No secondary → add shadow, icon reaction, ambient
9
+
10
+ ## Feels Too Slow
11
+ - Duration exceeds type budget → check duration table
12
+ - ease-in-out when ease-out works → ease-out feels faster
13
+ - Too much anticipation → reduce to 10% or remove
14
+ - Stagger exceeded → total <500ms
15
+ - Overshoot settle too long → increase damping
16
+
17
+ ## Feels Too Fast / Jarring
18
+ - Duration below minimum → modals 300ms+, pages 400ms+
19
+ - No easing → add ease-out minimum
20
+ - Missing resolution → add 50-100ms settle
21
+ - No anticipation on large motion → add 100-200ms wind-up
22
+
23
+ ## Feels Cheap / Flat
24
+ - Only primary motion → add secondary + ambient
25
+ - Opacity-only → combine with position or scale
26
+ - Same easing everywhere → vary primary vs secondary
27
+ - No follow-through → child elements trail 50-150ms
28
+ - No overshoot → add 3-10%
29
+
30
+ ## Too Distracting
31
+ - Too many moving → 1/3 rule
32
+ - Amplitude too large → reduce to minimum
33
+ - Competing heroes → one per moment, dim rest
34
+ - Ambient too prominent → 10-20% amplitude, slower
35
+ - No breathing room → 100-200ms pause between beats
36
+
37
+ ## No Personality
38
+ - Default easing → apply archetype's signature
39
+ - Same duration for all → use personality palette
40
+ - No consistent entrance → define one for project
41
+ - Mixed archetypes → pick one for 90%+
42
+
43
+ ## Inconsistent Feel
44
+ - Different easing same-type → standardize per motion type
45
+ - Duration varies same type → use palette consistently
46
+ - Entry direction changes → one origin everywhere
47
+ - Overshoot inconsistent → apply rules consistently
48
+
49
+ ## Performance (Dropped Frames)
50
+ - Animating width/height/margin → use transform
51
+ - Too many elements → <20 per viewport
52
+ - Complex shadows/filters → simplify or pre-render
53
+ - No GPU acceleration → transform + opacity
54
+ - All simultaneous → stagger to spread load
55
+
56
+ ## Quick Diagnostic
57
+
58
+ 1. No linear on spatial movement
59
+ 2. Duration matches element type
60
+ 3. Primary + secondary layers
61
+ 4. Consistent personality
62
+ 5. Directional easing correct
63
+ 6. 1/3 screen rule
64
+ 7. 1/3 element rule
65
+ 8. Follow-through present
66
+ 9. Every motion has purpose
67
+ 10. Fine on 100th viewing
68
+
69
+ ## Personality Mistakes
70
+ - **Playful**: overshoot >25% = broken; not everything bounces; short+bounce = glitchy
71
+ - **Premium**: too subtle = invisible; too slow = waiting; zero = broken
72
+ - **Corporate**: too conservative = boring; playful easing breaks trust; identical = monotonous
73
+ - **Energetic**: max everywhere = nothing stands out; too many particles; no settle = chaos