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.
- package/CHANGELOG.md +599 -0
- package/README.md +566 -0
- package/VERSION +1 -0
- package/bin/baldart.js +143 -0
- package/framework/.claude/agents/REGISTRY.md +169 -0
- package/framework/.claude/agents/api-perf-cost-auditor.md +291 -0
- package/framework/.claude/agents/code-reviewer.md +350 -0
- package/framework/.claude/agents/codebase-architect.md +391 -0
- package/framework/.claude/agents/coder.md +291 -0
- package/framework/.claude/agents/deep-human-insight.md +198 -0
- package/framework/.claude/agents/doc-reviewer.md +440 -0
- package/framework/.claude/agents/email-deliverability-architect.md +193 -0
- package/framework/.claude/agents/hybrid-ml-architect.md +285 -0
- package/framework/.claude/agents/hyper-gamification-designer.md +149 -0
- package/framework/.claude/agents/legal-counsel-gdpr.md +179 -0
- package/framework/.claude/agents/marketing-conversion-strategist.md +162 -0
- package/framework/.claude/agents/motion-expert.md +108 -0
- package/framework/.claude/agents/onboarding-architect-lead.md +230 -0
- package/framework/.claude/agents/plan-auditor.md +546 -0
- package/framework/.claude/agents/prd-card-writer.md +372 -0
- package/framework/.claude/agents/prd.md +744 -0
- package/framework/.claude/agents/qa-sentinel.md +305 -0
- package/framework/.claude/agents/remotion-animator-orchestrator.md +218 -0
- package/framework/.claude/agents/security-reviewer.md +276 -0
- package/framework/.claude/agents/senior-researcher.md +175 -0
- package/framework/.claude/agents/seo-analytics-strategist.md +156 -0
- package/framework/.claude/agents/skill-improver.md +61 -0
- package/framework/.claude/agents/ui-expert.md +191 -0
- package/framework/.claude/agents/visual-designer.md +190 -0
- package/framework/.claude/agents/website-orchestrator.md +118 -0
- package/framework/.claude/agents/wiki-curator.md +145 -0
- package/framework/.claude/commands/baldart-push.md +15 -0
- package/framework/.claude/commands/check.md +237 -0
- package/framework/.claude/commands/codexreview.md +203 -0
- package/framework/.claude/commands/design-review.md +11 -0
- package/framework/.claude/commands/issue-review.md +34 -0
- package/framework/.claude/commands/new.md +331 -0
- package/framework/.claude/commands/qa.md +257 -0
- package/framework/.claude/hooks/framework-edit-gate.js +208 -0
- package/framework/.claude/hooks/lint-before-commit.sh.template +66 -0
- package/framework/.claude/settings.local.json.example +32 -0
- package/framework/.claude/skills/api-design-principles/SKILL.md +567 -0
- package/framework/.claude/skills/api-design-principles/assets/api-design-checklist.md +155 -0
- package/framework/.claude/skills/api-design-principles/assets/rest-api-template.py +182 -0
- package/framework/.claude/skills/api-design-principles/references/graphql-schema-design.md +583 -0
- package/framework/.claude/skills/api-design-principles/references/rest-best-practices.md +408 -0
- package/framework/.claude/skills/baldart-push/SKILL.md +222 -0
- package/framework/.claude/skills/bug/SKILL.md +200 -0
- package/framework/.claude/skills/bug/references/logging-patterns.md +174 -0
- package/framework/.claude/skills/capture/SKILL.md +125 -0
- package/framework/.claude/skills/capture/references/synthesis-template.md +42 -0
- package/framework/.claude/skills/context-primer/SKILL.md +189 -0
- package/framework/.claude/skills/copywriting/SKILL.md +273 -0
- package/framework/.claude/skills/copywriting/references/copy-frameworks.md +338 -0
- package/framework/.claude/skills/copywriting/references/natural-transitions.md +252 -0
- package/framework/.claude/skills/doc-writing-for-rag/SKILL.md +119 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/before-after-examples.md +291 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/compact-templates.md +183 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/frontmatter-minimal.md +112 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/line-count-targets.md +110 -0
- package/framework/.claude/skills/doc-writing-for-rag/references/schemas-and-errors.md +129 -0
- package/framework/.claude/skills/find-skills/SKILL.md +133 -0
- package/framework/.claude/skills/frontend-design/LICENSE.txt +177 -0
- package/framework/.claude/skills/frontend-design/SKILL.md +84 -0
- package/framework/.claude/skills/gamification-design/SKILL.md +130 -0
- package/framework/.claude/skills/issue-review/SKILL.md +45 -0
- package/framework/.claude/skills/kie-ai/SKILL.md +262 -0
- package/framework/.claude/skills/kie-ai/references/models-catalog.md +272 -0
- package/framework/.claude/skills/kie-ai/scripts/kie_api.sh +209 -0
- package/framework/.claude/skills/kie-ai/scripts/remove_greenscreen.py +69 -0
- package/framework/.claude/skills/kie-ai/scripts/setup_api_key.sh +77 -0
- package/framework/.claude/skills/motion-design/LICENSE +21 -0
- package/framework/.claude/skills/motion-design/README.md +82 -0
- package/framework/.claude/skills/motion-design/SKILL.md +336 -0
- package/framework/.claude/skills/motion-design/director/choreography.md +93 -0
- package/framework/.claude/skills/motion-design/director/context-adaptation.md +83 -0
- package/framework/.claude/skills/motion-design/director/core-philosophy.md +53 -0
- package/framework/.claude/skills/motion-design/director/decision-framework.md +91 -0
- package/framework/.claude/skills/motion-design/director/disney-principles.md +102 -0
- package/framework/.claude/skills/motion-design/director/emotion-mapping.md +71 -0
- package/framework/.claude/skills/motion-design/director/motion-personality.md +89 -0
- package/framework/.claude/skills/motion-design/director/narrative-structure.md +62 -0
- package/framework/.claude/skills/motion-design/patterns/ambient-continuous.md +81 -0
- package/framework/.claude/skills/motion-design/patterns/entrance-exit.md +82 -0
- package/framework/.claude/skills/motion-design/patterns/multi-element.md +69 -0
- package/framework/.claude/skills/motion-design/patterns/state-feedback.md +96 -0
- package/framework/.claude/skills/motion-design/reference/property-selection.md +95 -0
- package/framework/.claude/skills/motion-design/reference/quality-checklist.md +67 -0
- package/framework/.claude/skills/motion-design/reference/timing-easing-tables.md +106 -0
- package/framework/.claude/skills/motion-design/reference/troubleshooting.md +73 -0
- package/framework/.claude/skills/new/SKILL.md +1687 -0
- package/framework/.claude/skills/playwright-skill/API_REFERENCE.md +652 -0
- package/framework/.claude/skills/playwright-skill/SKILL.md +157 -0
- package/framework/.claude/skills/playwright-skill/package.json +26 -0
- package/framework/.claude/skills/prd/SKILL.md +228 -0
- package/framework/.claude/skills/prd/assets/card-template.yml +232 -0
- package/framework/.claude/skills/prd/assets/epic-template.yml +190 -0
- package/framework/.claude/skills/prd/assets/prd-template.md +230 -0
- package/framework/.claude/skills/prd/assets/state-template.md +78 -0
- package/framework/.claude/skills/prd/references/api-perf-gate.md +152 -0
- package/framework/.claude/skills/prd/references/audit-phase.md +478 -0
- package/framework/.claude/skills/prd/references/backlog-phase.md +145 -0
- package/framework/.claude/skills/prd/references/discovery-phase.md +359 -0
- package/framework/.claude/skills/prd/references/impact-analysis.md +233 -0
- package/framework/.claude/skills/prd/references/prd-add-phase.md +214 -0
- package/framework/.claude/skills/prd/references/prd-writing-phase.md +145 -0
- package/framework/.claude/skills/prd/references/research-phase.md +216 -0
- package/framework/.claude/skills/prd/references/ui-design-phase.md +61 -0
- package/framework/.claude/skills/prd/references/validation-phase.md +72 -0
- package/framework/.claude/skills/prd-add/SKILL.md +222 -0
- package/framework/.claude/skills/prd-add/references/impact-analysis.md +233 -0
- package/framework/.claude/skills/remotion-best-practices/SKILL.md +48 -0
- package/framework/.claude/skills/remotion-best-practices/rules/3d.md +86 -0
- package/framework/.claude/skills/remotion-best-practices/rules/animations.md +29 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets/charts-bar-chart.tsx +173 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets/text-animations-typewriter.tsx +100 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets/text-animations-word-highlight.tsx +108 -0
- package/framework/.claude/skills/remotion-best-practices/rules/assets.md +78 -0
- package/framework/.claude/skills/remotion-best-practices/rules/audio.md +169 -0
- package/framework/.claude/skills/remotion-best-practices/rules/calculate-metadata.md +104 -0
- package/framework/.claude/skills/remotion-best-practices/rules/can-decode.md +75 -0
- package/framework/.claude/skills/remotion-best-practices/rules/charts.md +58 -0
- package/framework/.claude/skills/remotion-best-practices/rules/compositions.md +141 -0
- package/framework/.claude/skills/remotion-best-practices/rules/display-captions.md +184 -0
- package/framework/.claude/skills/remotion-best-practices/rules/extract-frames.md +229 -0
- package/framework/.claude/skills/remotion-best-practices/rules/fonts.md +152 -0
- package/framework/.claude/skills/remotion-best-practices/rules/get-audio-duration.md +58 -0
- package/framework/.claude/skills/remotion-best-practices/rules/get-video-dimensions.md +68 -0
- package/framework/.claude/skills/remotion-best-practices/rules/get-video-duration.md +58 -0
- package/framework/.claude/skills/remotion-best-practices/rules/gifs.md +141 -0
- package/framework/.claude/skills/remotion-best-practices/rules/images.md +130 -0
- package/framework/.claude/skills/remotion-best-practices/rules/import-srt-captions.md +69 -0
- package/framework/.claude/skills/remotion-best-practices/rules/light-leaks.md +73 -0
- package/framework/.claude/skills/remotion-best-practices/rules/lottie.md +67 -0
- package/framework/.claude/skills/remotion-best-practices/rules/maps.md +401 -0
- package/framework/.claude/skills/remotion-best-practices/rules/measuring-dom-nodes.md +34 -0
- package/framework/.claude/skills/remotion-best-practices/rules/measuring-text.md +143 -0
- package/framework/.claude/skills/remotion-best-practices/rules/parameters.md +98 -0
- package/framework/.claude/skills/remotion-best-practices/rules/sequencing.md +118 -0
- package/framework/.claude/skills/remotion-best-practices/rules/subtitles.md +36 -0
- package/framework/.claude/skills/remotion-best-practices/rules/tailwind.md +11 -0
- package/framework/.claude/skills/remotion-best-practices/rules/text-animations.md +20 -0
- package/framework/.claude/skills/remotion-best-practices/rules/timing.md +179 -0
- package/framework/.claude/skills/remotion-best-practices/rules/transcribe-captions.md +70 -0
- package/framework/.claude/skills/remotion-best-practices/rules/transitions.md +197 -0
- package/framework/.claude/skills/remotion-best-practices/rules/transparent-videos.md +106 -0
- package/framework/.claude/skills/remotion-best-practices/rules/trimming.md +52 -0
- package/framework/.claude/skills/remotion-best-practices/rules/videos.md +171 -0
- package/framework/.claude/skills/seo-audit/SKILL.md +394 -0
- package/framework/.claude/skills/seo-audit/references/aeo-geo-patterns.md +279 -0
- package/framework/.claude/skills/seo-audit/references/ai-writing-detection.md +190 -0
- package/framework/.claude/skills/simplify/SKILL.md +137 -0
- package/framework/.claude/skills/skill-creator/LICENSE.txt +202 -0
- package/framework/.claude/skills/skill-creator/SKILL.md +356 -0
- package/framework/.claude/skills/skill-creator/references/output-patterns.md +82 -0
- package/framework/.claude/skills/skill-creator/references/workflows.md +28 -0
- package/framework/.claude/skills/skill-creator/scripts/init_skill.py +303 -0
- package/framework/.claude/skills/skill-creator/scripts/package_skill.py +110 -0
- package/framework/.claude/skills/skill-creator/scripts/quick_validate.py +95 -0
- package/framework/.claude/skills/ui-design/SKILL.md +199 -0
- package/framework/.claude/skills/ui-design/references/component-discovery.md +54 -0
- package/framework/.claude/skills/ui-design/references/evaluation.md +171 -0
- package/framework/.claude/skills/ui-design/references/generation.md +109 -0
- package/framework/.claude/skills/ui-design/references/inventory.md +59 -0
- package/framework/.claude/skills/webapp-testing/LICENSE.txt +202 -0
- package/framework/.claude/skills/webapp-testing/SKILL.md +123 -0
- package/framework/.claude/skills/webapp-testing/examples/console_logging.py +35 -0
- package/framework/.claude/skills/webapp-testing/examples/element_discovery.py +40 -0
- package/framework/.claude/skills/webapp-testing/examples/static_html_automation.py +33 -0
- package/framework/.claude/skills/webapp-testing/scripts/with_server.py +106 -0
- package/framework/.claude/skills/worktree-manager/SKILL.md +680 -0
- package/framework/AGENTS.md +240 -0
- package/framework/agents/api-contracts.md +137 -0
- package/framework/agents/architecture.md +145 -0
- package/framework/agents/coding-standards.md +148 -0
- package/framework/agents/data-model.md +110 -0
- package/framework/agents/deployment-protocol.md +232 -0
- package/framework/agents/design-review.md +172 -0
- package/framework/agents/env-reference.md +171 -0
- package/framework/agents/github-issue-subagent.md +252 -0
- package/framework/agents/index.md +261 -0
- package/framework/agents/llm-wiki-methodology.md +216 -0
- package/framework/agents/maintenance-protocol.md +305 -0
- package/framework/agents/observability.md +162 -0
- package/framework/agents/performance.md +155 -0
- package/framework/agents/project-context.md +145 -0
- package/framework/agents/runbook.md +208 -0
- package/framework/agents/security.md +168 -0
- package/framework/agents/skills-mapping.md +286 -0
- package/framework/agents/testing.md +111 -0
- package/framework/agents/workflows.md +215 -0
- package/framework/docs/PROJECT-CONFIGURATION.md +336 -0
- package/framework/docs/references/brand-guidelines.md +170 -0
- package/framework/docs/references/ui-guidelines.template.md +182 -0
- package/framework/routines/code-review.routine.yml +46 -0
- package/framework/routines/doc-review.routine.yml +45 -0
- package/framework/routines/ds-drift.routine.yml +52 -0
- package/framework/routines/full-sweep.routine.yml +51 -0
- package/framework/routines/index.yml +70 -0
- package/framework/routines/skill-improve.routine.yml +50 -0
- package/framework/routines/wiki-review.routine.yml +45 -0
- package/framework/templates/baldart.config.template.yml +113 -0
- package/framework/templates/breaking-change-checklist.md +484 -0
- package/framework/templates/feature-card.template.yml +125 -0
- package/framework/templates/overlays/README.md +44 -0
- package/framework/templates/overlays/copywriting.fidelity-example.md +62 -0
- package/framework/templates/overlays/ui-design.fidelity-example.md +75 -0
- package/framework/templates/skill-project-context.snippet.md +19 -0
- package/framework/templates/spec.template.md +208 -0
- package/package.json +51 -0
- package/src/commands/add.js +229 -0
- package/src/commands/configure.js +385 -0
- package/src/commands/doctor.js +486 -0
- package/src/commands/migrate.js +185 -0
- package/src/commands/push.js +0 -0
- package/src/commands/routines.js +269 -0
- package/src/commands/status.js +130 -0
- package/src/commands/update.js +419 -0
- package/src/commands/version.js +88 -0
- package/src/utils/contamination.js +400 -0
- package/src/utils/git.js +181 -0
- package/src/utils/hooks.js +152 -0
- package/src/utils/routine-adapters/claude-code-cloud.js +78 -0
- package/src/utils/routine-adapters/cron.js +138 -0
- package/src/utils/routine-adapters/github-actions.js +141 -0
- package/src/utils/routine-adapters/index.js +21 -0
- package/src/utils/routines.js +166 -0
- package/src/utils/state.js +143 -0
- package/src/utils/symlinks.js +425 -0
- 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
|