@mison/ag-kit-cn 2.0.1

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 (237) hide show
  1. package/.agent/.shared/ui-ux-pro-max/data/charts.csv +26 -0
  2. package/.agent/.shared/ui-ux-pro-max/data/colors.csv +97 -0
  3. package/.agent/.shared/ui-ux-pro-max/data/icons.csv +101 -0
  4. package/.agent/.shared/ui-ux-pro-max/data/landing.csv +31 -0
  5. package/.agent/.shared/ui-ux-pro-max/data/products.csv +97 -0
  6. package/.agent/.shared/ui-ux-pro-max/data/prompts.csv +24 -0
  7. package/.agent/.shared/ui-ux-pro-max/data/react-performance.csv +45 -0
  8. package/.agent/.shared/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
  9. package/.agent/.shared/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
  10. package/.agent/.shared/ui-ux-pro-max/data/stacks/jetpack-compose.csv +53 -0
  11. package/.agent/.shared/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
  12. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
  13. package/.agent/.shared/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
  14. package/.agent/.shared/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
  15. package/.agent/.shared/ui-ux-pro-max/data/stacks/react.csv +54 -0
  16. package/.agent/.shared/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
  17. package/.agent/.shared/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
  18. package/.agent/.shared/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
  19. package/.agent/.shared/ui-ux-pro-max/data/stacks/vue.csv +50 -0
  20. package/.agent/.shared/ui-ux-pro-max/data/styles.csv +59 -0
  21. package/.agent/.shared/ui-ux-pro-max/data/typography.csv +58 -0
  22. package/.agent/.shared/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
  23. package/.agent/.shared/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
  24. package/.agent/.shared/ui-ux-pro-max/data/web-interface.csv +31 -0
  25. package/.agent/.shared/ui-ux-pro-max/scripts/core.py +258 -0
  26. package/.agent/.shared/ui-ux-pro-max/scripts/design_system.py +1067 -0
  27. package/.agent/.shared/ui-ux-pro-max/scripts/search.py +106 -0
  28. package/.agent/ARCHITECTURE.md +285 -0
  29. package/.agent/agents/backend-specialist.md +268 -0
  30. package/.agent/agents/code-archaeologist.md +106 -0
  31. package/.agent/agents/database-architect.md +225 -0
  32. package/.agent/agents/debugger.md +225 -0
  33. package/.agent/agents/devops-engineer.md +242 -0
  34. package/.agent/agents/documentation-writer.md +104 -0
  35. package/.agent/agents/explorer-agent.md +73 -0
  36. package/.agent/agents/frontend-specialist.md +618 -0
  37. package/.agent/agents/game-developer.md +162 -0
  38. package/.agent/agents/mobile-developer.md +382 -0
  39. package/.agent/agents/orchestrator.md +438 -0
  40. package/.agent/agents/penetration-tester.md +188 -0
  41. package/.agent/agents/performance-optimizer.md +187 -0
  42. package/.agent/agents/product-manager.md +112 -0
  43. package/.agent/agents/product-owner.md +95 -0
  44. package/.agent/agents/project-planner.md +405 -0
  45. package/.agent/agents/qa-automation-engineer.md +103 -0
  46. package/.agent/agents/security-auditor.md +170 -0
  47. package/.agent/agents/seo-specialist.md +111 -0
  48. package/.agent/agents/test-engineer.md +158 -0
  49. package/.agent/mcp_config.json +12 -0
  50. package/.agent/rules/GEMINI.md +273 -0
  51. package/.agent/scripts/auto_preview.py +148 -0
  52. package/.agent/scripts/checklist.py +217 -0
  53. package/.agent/scripts/session_manager.py +120 -0
  54. package/.agent/scripts/verify_all.py +327 -0
  55. package/.agent/skills/api-patterns/SKILL.md +84 -0
  56. package/.agent/skills/api-patterns/api-style.md +42 -0
  57. package/.agent/skills/api-patterns/auth.md +24 -0
  58. package/.agent/skills/api-patterns/documentation.md +26 -0
  59. package/.agent/skills/api-patterns/graphql.md +41 -0
  60. package/.agent/skills/api-patterns/rate-limiting.md +31 -0
  61. package/.agent/skills/api-patterns/response.md +37 -0
  62. package/.agent/skills/api-patterns/rest.md +40 -0
  63. package/.agent/skills/api-patterns/scripts/api_validator.py +211 -0
  64. package/.agent/skills/api-patterns/security-testing.md +122 -0
  65. package/.agent/skills/api-patterns/trpc.md +41 -0
  66. package/.agent/skills/api-patterns/versioning.md +22 -0
  67. package/.agent/skills/app-builder/SKILL.md +75 -0
  68. package/.agent/skills/app-builder/agent-coordination.md +74 -0
  69. package/.agent/skills/app-builder/feature-building.md +53 -0
  70. package/.agent/skills/app-builder/project-detection.md +34 -0
  71. package/.agent/skills/app-builder/scaffolding.md +118 -0
  72. package/.agent/skills/app-builder/tech-stack.md +40 -0
  73. package/.agent/skills/app-builder/templates/SKILL.md +39 -0
  74. package/.agent/skills/app-builder/templates/astro-static/TEMPLATE.md +76 -0
  75. package/.agent/skills/app-builder/templates/chrome-extension/TEMPLATE.md +92 -0
  76. package/.agent/skills/app-builder/templates/cli-tool/TEMPLATE.md +88 -0
  77. package/.agent/skills/app-builder/templates/electron-desktop/TEMPLATE.md +88 -0
  78. package/.agent/skills/app-builder/templates/express-api/TEMPLATE.md +83 -0
  79. package/.agent/skills/app-builder/templates/flutter-app/TEMPLATE.md +90 -0
  80. package/.agent/skills/app-builder/templates/monorepo-turborepo/TEMPLATE.md +90 -0
  81. package/.agent/skills/app-builder/templates/nextjs-fullstack/TEMPLATE.md +122 -0
  82. package/.agent/skills/app-builder/templates/nextjs-saas/TEMPLATE.md +122 -0
  83. package/.agent/skills/app-builder/templates/nextjs-static/TEMPLATE.md +169 -0
  84. package/.agent/skills/app-builder/templates/nuxt-app/TEMPLATE.md +134 -0
  85. package/.agent/skills/app-builder/templates/python-fastapi/TEMPLATE.md +83 -0
  86. package/.agent/skills/app-builder/templates/react-native-app/TEMPLATE.md +119 -0
  87. package/.agent/skills/architecture/SKILL.md +57 -0
  88. package/.agent/skills/architecture/context-discovery.md +43 -0
  89. package/.agent/skills/architecture/examples.md +94 -0
  90. package/.agent/skills/architecture/pattern-selection.md +68 -0
  91. package/.agent/skills/architecture/patterns-reference.md +50 -0
  92. package/.agent/skills/architecture/trade-off-analysis.md +77 -0
  93. package/.agent/skills/bash-linux/SKILL.md +201 -0
  94. package/.agent/skills/behavioral-modes/SKILL.md +264 -0
  95. package/.agent/skills/brainstorming/SKILL.md +164 -0
  96. package/.agent/skills/brainstorming/dynamic-questioning.md +359 -0
  97. package/.agent/skills/clean-code/SKILL.md +200 -0
  98. package/.agent/skills/code-review-checklist/SKILL.md +125 -0
  99. package/.agent/skills/database-design/SKILL.md +54 -0
  100. package/.agent/skills/database-design/database-selection.md +43 -0
  101. package/.agent/skills/database-design/indexing.md +39 -0
  102. package/.agent/skills/database-design/migrations.md +50 -0
  103. package/.agent/skills/database-design/optimization.md +36 -0
  104. package/.agent/skills/database-design/orm-selection.md +30 -0
  105. package/.agent/skills/database-design/schema-design.md +56 -0
  106. package/.agent/skills/database-design/scripts/schema_validator.py +172 -0
  107. package/.agent/skills/deployment-procedures/SKILL.md +241 -0
  108. package/.agent/skills/doc.md +177 -0
  109. package/.agent/skills/documentation-templates/SKILL.md +194 -0
  110. package/.agent/skills/frontend-design/SKILL.md +418 -0
  111. package/.agent/skills/frontend-design/animation-guide.md +331 -0
  112. package/.agent/skills/frontend-design/color-system.md +307 -0
  113. package/.agent/skills/frontend-design/decision-trees.md +418 -0
  114. package/.agent/skills/frontend-design/motion-graphics.md +306 -0
  115. package/.agent/skills/frontend-design/scripts/accessibility_checker.py +183 -0
  116. package/.agent/skills/frontend-design/scripts/ux_audit.py +727 -0
  117. package/.agent/skills/frontend-design/typography-system.md +345 -0
  118. package/.agent/skills/frontend-design/ux-psychology.md +1118 -0
  119. package/.agent/skills/frontend-design/visual-effects.md +383 -0
  120. package/.agent/skills/game-development/2d-games/SKILL.md +119 -0
  121. package/.agent/skills/game-development/3d-games/SKILL.md +135 -0
  122. package/.agent/skills/game-development/SKILL.md +167 -0
  123. package/.agent/skills/game-development/game-art/SKILL.md +185 -0
  124. package/.agent/skills/game-development/game-audio/SKILL.md +190 -0
  125. package/.agent/skills/game-development/game-design/SKILL.md +129 -0
  126. package/.agent/skills/game-development/mobile-games/SKILL.md +108 -0
  127. package/.agent/skills/game-development/multiplayer/SKILL.md +132 -0
  128. package/.agent/skills/game-development/pc-games/SKILL.md +144 -0
  129. package/.agent/skills/game-development/vr-ar/SKILL.md +123 -0
  130. package/.agent/skills/game-development/web-games/SKILL.md +150 -0
  131. package/.agent/skills/geo-fundamentals/SKILL.md +155 -0
  132. package/.agent/skills/geo-fundamentals/scripts/geo_checker.py +289 -0
  133. package/.agent/skills/i18n-localization/SKILL.md +154 -0
  134. package/.agent/skills/i18n-localization/scripts/i18n_checker.py +241 -0
  135. package/.agent/skills/intelligent-routing/SKILL.md +335 -0
  136. package/.agent/skills/lint-and-validate/SKILL.md +44 -0
  137. package/.agent/skills/lint-and-validate/scripts/lint_runner.py +184 -0
  138. package/.agent/skills/lint-and-validate/scripts/type_coverage.py +173 -0
  139. package/.agent/skills/mcp-builder/SKILL.md +176 -0
  140. package/.agent/skills/mobile-design/SKILL.md +394 -0
  141. package/.agent/skills/mobile-design/decision-trees.md +516 -0
  142. package/.agent/skills/mobile-design/mobile-backend.md +491 -0
  143. package/.agent/skills/mobile-design/mobile-color-system.md +420 -0
  144. package/.agent/skills/mobile-design/mobile-debugging.md +122 -0
  145. package/.agent/skills/mobile-design/mobile-design-thinking.md +355 -0
  146. package/.agent/skills/mobile-design/mobile-navigation.md +458 -0
  147. package/.agent/skills/mobile-design/mobile-performance.md +767 -0
  148. package/.agent/skills/mobile-design/mobile-testing.md +356 -0
  149. package/.agent/skills/mobile-design/mobile-typography.md +432 -0
  150. package/.agent/skills/mobile-design/platform-android.md +666 -0
  151. package/.agent/skills/mobile-design/platform-ios.md +561 -0
  152. package/.agent/skills/mobile-design/scripts/mobile_audit.py +670 -0
  153. package/.agent/skills/mobile-design/touch-psychology.md +537 -0
  154. package/.agent/skills/nextjs-react-expert/1-async-eliminating-waterfalls.md +311 -0
  155. package/.agent/skills/nextjs-react-expert/2-bundle-bundle-size-optimization.md +241 -0
  156. package/.agent/skills/nextjs-react-expert/3-server-server-side-performance.md +489 -0
  157. package/.agent/skills/nextjs-react-expert/4-client-client-side-data-fetching.md +263 -0
  158. package/.agent/skills/nextjs-react-expert/5-rerender-re-render-optimization.md +581 -0
  159. package/.agent/skills/nextjs-react-expert/6-rendering-rendering-performance.md +431 -0
  160. package/.agent/skills/nextjs-react-expert/7-js-javascript-performance.md +683 -0
  161. package/.agent/skills/nextjs-react-expert/8-advanced-advanced-patterns.md +149 -0
  162. package/.agent/skills/nextjs-react-expert/SKILL.md +286 -0
  163. package/.agent/skills/nextjs-react-expert/scripts/convert_rules.py +222 -0
  164. package/.agent/skills/nextjs-react-expert/scripts/react_performance_checker.py +252 -0
  165. package/.agent/skills/nodejs-best-practices/SKILL.md +333 -0
  166. package/.agent/skills/parallel-agents/SKILL.md +194 -0
  167. package/.agent/skills/performance-profiling/SKILL.md +149 -0
  168. package/.agent/skills/performance-profiling/scripts/lighthouse_audit.py +76 -0
  169. package/.agent/skills/plan-writing/SKILL.md +152 -0
  170. package/.agent/skills/powershell-windows/SKILL.md +166 -0
  171. package/.agent/skills/python-patterns/SKILL.md +441 -0
  172. package/.agent/skills/red-team-tactics/SKILL.md +203 -0
  173. package/.agent/skills/rust-pro/SKILL.md +190 -0
  174. package/.agent/skills/seo-fundamentals/SKILL.md +135 -0
  175. package/.agent/skills/seo-fundamentals/scripts/seo_checker.py +215 -0
  176. package/.agent/skills/server-management/SKILL.md +161 -0
  177. package/.agent/skills/systematic-debugging/SKILL.md +114 -0
  178. package/.agent/skills/tailwind-patterns/SKILL.md +269 -0
  179. package/.agent/skills/tdd-workflow/SKILL.md +149 -0
  180. package/.agent/skills/testing-patterns/SKILL.md +178 -0
  181. package/.agent/skills/testing-patterns/scripts/test_runner.py +219 -0
  182. package/.agent/skills/vulnerability-scanner/SKILL.md +276 -0
  183. package/.agent/skills/vulnerability-scanner/checklists.md +131 -0
  184. package/.agent/skills/vulnerability-scanner/scripts/security_scan.py +459 -0
  185. package/.agent/skills/web-design-guidelines/SKILL.md +57 -0
  186. package/.agent/skills/webapp-testing/SKILL.md +187 -0
  187. package/.agent/skills/webapp-testing/scripts/playwright_runner.py +173 -0
  188. package/.agent/workflows/brainstorm.md +113 -0
  189. package/.agent/workflows/create.md +59 -0
  190. package/.agent/workflows/debug.md +103 -0
  191. package/.agent/workflows/deploy.md +176 -0
  192. package/.agent/workflows/enhance.md +63 -0
  193. package/.agent/workflows/orchestrate.md +242 -0
  194. package/.agent/workflows/plan.md +89 -0
  195. package/.agent/workflows/preview.md +80 -0
  196. package/.agent/workflows/restore-localize-compat.md +525 -0
  197. package/.agent/workflows/status.md +86 -0
  198. package/.agent/workflows/test.md +144 -0
  199. package/.agent/workflows/ui-ux-pro-max.md +295 -0
  200. package/AGENT_FLOW.md +609 -0
  201. package/CHANGELOG.md +68 -0
  202. package/LICENSE +21 -0
  203. package/README.md +260 -0
  204. package/bin/adapters/base.js +63 -0
  205. package/bin/adapters/codex.js +391 -0
  206. package/bin/adapters/gemini.js +137 -0
  207. package/bin/ag-kit.js +1336 -0
  208. package/bin/core/builder.js +80 -0
  209. package/bin/core/generator.js +59 -0
  210. package/bin/core/resource-loader.js +64 -0
  211. package/bin/core/transformer.js +208 -0
  212. package/bin/interactive.js +65 -0
  213. package/bin/utils/atomic-writer.js +97 -0
  214. package/bin/utils/git-helper.js +68 -0
  215. package/bin/utils/managed-block.js +65 -0
  216. package/bin/utils/manifest.js +241 -0
  217. package/bin/utils.js +82 -0
  218. package/docs/codex-rules-template.md +36 -0
  219. package/docs/mapping-spec.md +68 -0
  220. package/docs/multi-target-adapter.md +80 -0
  221. package/docs/official/README.md +53 -0
  222. package/docs/official/antigravity/agent-modes-settings.md +64 -0
  223. package/docs/official/antigravity/rules-workflows.md +96 -0
  224. package/docs/official/antigravity/skills.md +147 -0
  225. package/docs/official/codex/agents-md.md +119 -0
  226. package/docs/official/codex/config-advanced.md +358 -0
  227. package/docs/official/codex/config-basic.md +141 -0
  228. package/docs/official/codex/config-reference.md +223 -0
  229. package/docs/official/codex/config-sample.md +216 -0
  230. package/docs/official/codex/mcp.md +107 -0
  231. package/docs/official/codex/rules.md +79 -0
  232. package/docs/official/codex/skills.md +114 -0
  233. package/docs/official/sources-index.md +32 -0
  234. package/docs/operations.md +145 -0
  235. package/docs/terminology-style-guide.md +69 -0
  236. package/package.json +51 -0
  237. package/scripts/postinstall-check.js +112 -0
@@ -0,0 +1,331 @@
1
+ # 动画指南参考
2
+
3
+ > 动画原则与时间心理学——学会判断,而不是照抄。
4
+ > **不背固定时长——理解影响时间的因素。**
5
+
6
+ ---
7
+
8
+ ## 1. 时长原则
9
+
10
+ ### 影响时长的因素
11
+
12
+ ```
13
+ 决定动画速度的因素:
14
+ ├── 距离:位移越远,时长越长
15
+ ├── 尺寸:元素越大,动画越慢
16
+ ├── 复杂度:越复杂越慢(处理时间更长)
17
+ ├── 重要性:关键动作需要清晰反馈
18
+ └── 场景:紧急要快,奢华要慢
19
+ ```
20
+
21
+ ### 按目的划分的时长区间
22
+
23
+ | 目的 | 时长范围 | 原因 |
24
+ |------|---------|------|
25
+ | 即时反馈 | 50-100ms | 低于感知阈值 |
26
+ | 微交互 | 100-200ms | 快但可感知 |
27
+ | 标准过渡 | 200-300ms | 舒适节奏 |
28
+ | 复杂动画 | 300-500ms | 有时间跟随 |
29
+ | 页面过渡 | 400-600ms | 平滑交接 |
30
+ | **Wow(高级感)效果** | 800ms+ | 戏剧性、自然弹性、分层 |
31
+
32
+ ### 如何选择时长
33
+
34
+ 自问:
35
+ 1. 元素移动了多远?
36
+ 2. 这个变化需要被注意到吗?
37
+ 3. 用户在等待,还是这只是背景动效?
38
+
39
+ ---
40
+
41
+ ## 2. 缓动原则
42
+
43
+ ### 缓动的作用
44
+
45
+ ```
46
+ 缓动 = 速度随时间的变化方式
47
+ ├── Linear(线性):匀速(机械、机器人感)
48
+ ├── Ease-out(缓出):快进慢出(自然进入)
49
+ ├── Ease-in(缓入):慢进快出(自然离开)
50
+ └── Ease-in-out(缓入缓出):两端都慢(平滑、克制)
51
+ ```
52
+
53
+ ### 各自适用场景
54
+
55
+ | 缓动 | 适用场景 | 感觉 |
56
+ |------|----------|------|
57
+ | **Ease-out(缓出)** | 元素进入 | 到达、落位 |
58
+ | **Ease-in(缓入)** | 元素离开 | 离场、退出 |
59
+ | **Ease-in-out(缓入缓出)** | 强调、循环 | 从容、平滑 |
60
+ | **Linear(线性)** | 连续运动 | 机械、恒定 |
61
+ | **Bounce/Elastic(弹跳/弹性)** | 活泼 UI | 有趣、充满能量 |
62
+
63
+ ### 使用模式
64
+
65
+ ```css
66
+ /* 进入视图 = ease-out(减速) */
67
+ .enter {
68
+ animation-timing-function: ease-out;
69
+ }
70
+
71
+ /* 离开视图 = ease-in(加速) */
72
+ .exit {
73
+ animation-timing-function: ease-in;
74
+ }
75
+
76
+ /* 连续运动 = ease-in-out */
77
+ .continuous {
78
+ animation-timing-function: ease-in-out;
79
+ }
80
+ ```
81
+
82
+ ---
83
+
84
+ ## 3. 微交互原则
85
+
86
+ ### 好的微交互做什么
87
+
88
+ ```
89
+ 微交互的目的:
90
+ ├── 反馈:确认动作发生
91
+ ├── 引导:提示可操作项
92
+ ├── 状态:告知当前状态
93
+ └── 愉悦:小而精致的快乐
94
+ ```
95
+
96
+ ### 按钮状态
97
+
98
+ ```
99
+ Hover(悬停) → 轻微视觉变化(抬升、颜色、缩放)
100
+ Active(按压) → 按压感(缩小、阴影变化)
101
+ Focus(聚焦) → 清晰指示(描边、光环)
102
+ Loading(加载) → 进度提示(spinner(加载圈)、skeleton(骨架屏))
103
+ Success(成功) → 成功确认(对勾、颜色)
104
+ ```
105
+
106
+ ### 原则
107
+
108
+ 1. **立即响应**(100ms 以内)
109
+ 2. **与动作匹配**(按压 = `scale(0.95)`,悬停 = `translateY(-4px) + glow(发光)`)
110
+ 3. **大胆但平滑**(像大师手感)
111
+ 4. **保持一致**(同类动作 = 同类反馈)
112
+
113
+ ---
114
+
115
+ ## 4. 加载态原则
116
+
117
+ ### 按场景分类
118
+
119
+ | 场景 | 做法 |
120
+ |------|------|
121
+ | 快速加载(<1s) | 不需要指示 |
122
+ | 中等(1-3s) | Spinner(加载圈)或简单动画 |
123
+ | 较慢(3s+) | 进度条或骨架屏 |
124
+ | 时长未知 | 不确定性指示器 |
125
+
126
+ ### 骨架屏
127
+
128
+ ```
129
+ 目的:降低感知等待时间
130
+ ├── 立即显示布局轮廓
131
+ ├── 细微动画(shimmer、pulse)
132
+ ├── 内容就绪后替换
133
+ └── 体感比 spinner(加载圈)更快
134
+ ```
135
+
136
+ ### 进度指示
137
+
138
+ ```
139
+ 何时显示进度:
140
+ ├── 用户主动发起的动作
141
+ ├── 文件上传/下载
142
+ ├── 多步骤流程
143
+ └── 长耗时操作
144
+
145
+ 不需要进度的场景:
146
+ ├── 非常快的操作
147
+ ├── 后台任务
148
+ └── 初始页面加载(骨架屏更好)
149
+ ```
150
+
151
+ ---
152
+
153
+ ## 5. 页面过渡原则
154
+
155
+ ### 过渡策略
156
+
157
+ ```
158
+ 简单规则:离开快,进入慢
159
+ ├── 退出内容快速淡出
160
+ ├── 进入内容再动入
161
+ └── 避免“全部同时动”
162
+ ```
163
+
164
+ ### 常见模式
165
+
166
+ | 模式 | 何时使用 |
167
+ |------|----------|
168
+ | **Fade(淡入淡出)** | 安全默认,通用 |
169
+ | **Slide(滑动)** | 顺序导航(上一页/下一页) |
170
+ | **Scale(缩放)** | 打开/关闭模态 |
171
+ | **Shared element(共享元素)** | 维持视觉连续性 |
172
+
173
+ ### 方向匹配
174
+
175
+ ```
176
+ 导航方向 = 动画方向
177
+ ├── 前进 → 从右滑入
178
+ ├── 后退 → 从左滑入
179
+ ├── 更深入 → 中心放大
180
+ ├── 返回上层 → 缩小返回
181
+ ```
182
+
183
+ ---
184
+
185
+ ## 6. 滚动动画原则
186
+
187
+ ### 渐进式呈现
188
+
189
+ ```
190
+ 内容随滚动出现:
191
+ ├── 降低初始认知负担
192
+ ├── 激励探索
193
+ ├── 不应拖沓
194
+ └── 提供可关闭选项(无障碍)
195
+ ```
196
+
197
+ ### 触发位置
198
+
199
+ | 触发时机 | 效果 |
200
+ |---------|------|
201
+ | 刚进入视口 | 标准出现 |
202
+ | 居中视口 | 强调 |
203
+ | 部分可见 | 提前出现 |
204
+ | 完全可见 | 延后触发 |
205
+
206
+ ### 动画属性
207
+
208
+ - 淡入(opacity)
209
+ - 上移(transform)
210
+ - 缩放(transform)
211
+ - 以上组合
212
+
213
+ ### 性能
214
+
215
+ - 使用 Intersection Observer(交叉观察器)
216
+ - 只动画 transform/opacity
217
+ - 移动端必要时降低动效
218
+
219
+ ---
220
+
221
+ ## 7. 悬停效果原则
222
+
223
+ ### 效果与意图匹配
224
+
225
+ | 元素 | 效果 | 意图 |
226
+ |------|------|------|
227
+ | **可点击卡片** | 抬升 + 阴影 | “可交互” |
228
+ | **按钮** | 颜色/亮度变化 | “按我” |
229
+ | **图片** | 放大/缩放 | “查看细节” |
230
+ | **链接** | 下划线/颜色 | “跳转这里” |
231
+
232
+ ### 原则
233
+
234
+ 1. **提示可交互** - 悬停应明确可点击
235
+ 2. **适度** - 细微变化足够
236
+ 3. **匹配重要性** - 越重要变化越明显
237
+ 4. **触控替代** - 移动端无悬停
238
+
239
+ ---
240
+
241
+ ## 8. 反馈动画原则
242
+
243
+ ### 成功态
244
+
245
+ ```
246
+ 适度庆祝:
247
+ ├── 小动作 → 轻微对勾/颜色
248
+ ├── 大动作 → 更明显的动画
249
+ ├── 完成 → 令人满意的收尾
250
+ └── 与品牌气质匹配
251
+ ```
252
+
253
+ ### 错误态
254
+
255
+ ```
256
+ 引起注意但不制造恐慌:
257
+ ├── 颜色变化(语义红)
258
+ ├── 抖动动画(短促)
259
+ ├── 聚焦错误字段
260
+ └── 清晰的提示
261
+ ```
262
+
263
+ ### 时机
264
+
265
+ - 成功:稍长(享受片刻)
266
+ - 错误:快速(不拖延)
267
+ - 加载:持续直到完成
268
+
269
+ ---
270
+
271
+ ## 9. 性能原则
272
+
273
+ ### 哪些动画成本低
274
+
275
+ ```
276
+ GPU 加速(快):
277
+ ├── transform: translate, scale, rotate
278
+ └── opacity: 0 to 1
279
+
280
+ CPU 高开销(慢):
281
+ ├── width, height
282
+ ├── top, left, right, bottom
283
+ ├── margin, padding
284
+ ├── border-radius 变化
285
+ └── box-shadow 变化
286
+ ```
287
+
288
+ ### 优化策略
289
+
290
+ 1. **尽可能只动画 transform/opacity**
291
+ 2. **避免触发布局**(尺寸/位置变化)
292
+ 3. **谨慎使用 will-change**(给浏览器提示)
293
+ 4. **低端设备也要测试**(不要只看开发机)
294
+
295
+ ### 尊重用户偏好
296
+
297
+ ```css
298
+ @media (prefers-reduced-motion: reduce) {
299
+ /* 尊重该偏好 */
300
+ /* 仅保留必要动画 */
301
+ /* 减少或移除装饰性动效 */
302
+ }
303
+ ```
304
+
305
+ ---
306
+
307
+ ## 10. 动画决策检查清单
308
+
309
+ 添加动画前:
310
+
311
+ - [ ] **有明确目的?**(反馈/引导/愉悦)
312
+ - [ ] **时长合适?**(不太快/不太慢)
313
+ - [ ] **缓动选择正确?**(进入/离开/强调)
314
+ - [ ] **性能可接受?**(只动画 transform/opacity)
315
+ - [ ] **已考虑 reduced-motion(减少动效)?**(无障碍)
316
+ - [ ] **与其他动画一致?**(同类节奏)
317
+ - [ ] **不是你的默认模板?**(多样性检查)
318
+ - [ ] **不明确时已问用户风格?**
319
+
320
+ ### 反模式
321
+
322
+ - ❌ 每个项目都用同一套时长
323
+ - ❌ 为动画而动画
324
+ - ❌ 忽略 reduced-motion(减少动效)偏好
325
+ - ❌ 动画高成本属性
326
+ - ❌ 太多元素同时动画
327
+ - ❌ 让用户等待过久
328
+
329
+ ---
330
+
331
+ > **记住:** 动画是沟通。每一次运动都应有意义,服务于用户体验。
@@ -0,0 +1,307 @@
1
+ # 配色系统参考
2
+
3
+ > 色彩理论、选择流程与决策指南。
4
+ > **不背固定十六进制值——学会思考颜色。**
5
+
6
+ ---
7
+
8
+ ## 1. 色彩理论基础
9
+
10
+ ### 色相环
11
+
12
+ ```
13
+ 黄色
14
+
15
+ 黄绿 │ 黄橙
16
+ ╲ │ ╱
17
+ ╲ │ ╱
18
+ 绿色 ─────────── ● ─────────── 橙色
19
+ ╱ │ ╲
20
+ ╱ │ ╲
21
+ 蓝绿 │ 红橙
22
+
23
+ 红色
24
+
25
+ 紫色
26
+ ╱ ╲
27
+ 蓝紫 红紫
28
+ ╲ ╱
29
+ 蓝色
30
+ ```
31
+
32
+ ### 色彩关系
33
+
34
+ | 方案 | 如何创建 | 何时使用 |
35
+ |------|---------|---------|
36
+ | **单色(Monochromatic)** | 选择一个色相,仅变化明度/饱和度 | 极简、专业、一致 |
37
+ | **相邻色(Analogous)** | 选择色轮相邻的 2-3 个色相 | 和谐、平静、自然感 |
38
+ | **互补色(Complementary)** | 选择色轮相对的色相 | 高对比、醒目、吸引注意 |
39
+ | **分裂互补(Split-Complementary)** | 主色 + 互补色相邻两色 | 动态但平衡 |
40
+ | **三分色(Triadic)** | 色轮等距三色 | 活泼、创造力强 |
41
+
42
+ ### 如何选择方案:
43
+ 1. **项目气质是什么?** 冷静 → 相邻色;大胆 → 互补色。
44
+ 2. **需要多少颜色?** 极简 → 单色;复杂 → 三分色。
45
+ 3. **受众是谁?** 保守 → 单色;年轻 → 三分色。
46
+
47
+ ---
48
+
49
+ ## 2. 60-30-10 规则
50
+
51
+ ### 分布原则
52
+ ```
53
+ ┌─────────────────────────────────────────────────┐
54
+ │ │
55
+ │ 60% 主色(背景、大面积区域) │
56
+ │ → 应偏中性或平静 │
57
+ │ → 决定整体基调 │
58
+ │ │
59
+ ├────────────────────────────────────┬────────────┤
60
+ │ │ │
61
+ │ 30% 次级色 │ 10% 点缀色 │
62
+ │ (卡片、区块、标题) │ (CTA(行动号召)、 │
63
+ │ → 支撑而不抢戏 │ 高亮) │
64
+ │ │ → 吸引注意 │
65
+ └────────────────────────────────────┴────────────┘
66
+ ```
67
+
68
+ ### 实现方式
69
+ ```css
70
+ :root {
71
+ /* 60% - 依据浅/深色模式与情绪选择 */
72
+ --color-bg: /* 中性色:白、米白或深灰 */
73
+ --color-surface: /* 比背景略有差异 */
74
+
75
+ /* 30% - 依据品牌或场景选择 */
76
+ --color-secondary: /* 主色的柔和版本或中性色 */
77
+
78
+ /* 10% - 依据动作/情绪选择 */
79
+ --color-accent: /* 鲜明、吸引注意 */
80
+ }
81
+ ```
82
+
83
+ ---
84
+
85
+ ## 3. 色彩心理 - 含义与选择
86
+
87
+ ### 按场景选择
88
+
89
+ | 项目类型 | 参考色系 | 原因 |
90
+ |---------|---------|------|
91
+ | **金融、科技、医疗** | 蓝、青 | 信任、稳定、平静 |
92
+ | **环保、健康、自然** | 绿、土色 | 成长、健康、有机 |
93
+ | **食品、能量、年轻** | 橙、黄、暖色 | 食欲、兴奋、温暖 |
94
+ | **奢华、美妆、创意** | 深青、金、黑 | 高级、精致 |
95
+ | **紧迫、促销、警报** | 红、橙 | 行动、注意、热度 |
96
+
97
+ ### 情绪联想(用于决策)
98
+
99
+ | 色系 | 正向联想 | 注意事项 |
100
+ |------|---------|---------|
101
+ | **蓝** | 信任、平静、专业 | 可能显得冷、过度企业化 |
102
+ | **绿** | 成长、自然、成功 | 过度使用会显得无聊 |
103
+ | **红** | 热情、紧迫、能量 | 刺激强,谨慎使用 |
104
+ | **橙** | 温暖、友好、创意 | 过饱和会显得廉价 |
105
+ | **紫** | ⚠️ **禁用** - AI 过度使用! | 改用深青/酒红/祖母绿 |
106
+ | **黄** | 乐观、注意、快乐 | 可读性差,建议作点缀 |
107
+ | **黑** | 优雅、力量、现代 | 可能显得沉重 |
108
+ | **白** | 干净、极简、开放 | 可能显得冷淡 |
109
+
110
+ ### 选择流程:
111
+ 1. **行业是什么?** → 缩小到 2-3 个色系
112
+ 2. **情绪是什么?** → 选择主色
113
+ 3. **对比如何?** → 决定浅/深色模式
114
+ 4. **询问用户** → 未明确前先确认
115
+
116
+ ---
117
+
118
+ ## 4. 调色板生成原则
119
+
120
+ ### 从单色出发(HSL 方法)
121
+
122
+ 不要背十六进制,学会**操作 HSL**:
123
+
124
+ ```
125
+ HSL = Hue(色相), Saturation(饱和度), Lightness(明度)
126
+
127
+ Hue(0-360):色相
128
+ 0/360 = 红
129
+ 60 = 黄
130
+ 120 = 绿
131
+ 180 = 青
132
+ 240 = 蓝
133
+ 300 = 紫
134
+
135
+ Saturation(0-100%):饱和度
136
+ 低 = 柔和、克制
137
+ 高 = 鲜明、活力
138
+
139
+ Lightness(0-100%):明度
140
+ 0% = 黑
141
+ 50% = 纯色
142
+ 100% = 白
143
+ ```
144
+
145
+ ### 生成完整色阶
146
+
147
+ 给定任意基色,生成等级:
148
+
149
+ ```
150
+ Lightness Scale:
151
+ 50 (最浅) → L: 97%
152
+ 100 → L: 94%
153
+ 200 → L: 86%
154
+ 300 → L: 74%
155
+ 400 → L: 66%
156
+ 500(基色) → L: 50-60%
157
+ 600 → L: 48%
158
+ 700 → L: 38%
159
+ 800 → L: 30%
160
+ 900(最深) → L: 20%
161
+ ```
162
+
163
+ ### 饱和度调整
164
+
165
+ | 场景 | 饱和度水平 |
166
+ |------|-----------|
167
+ | **专业/企业** | 较低(40-60%) |
168
+ | **活泼/年轻** | 较高(70-90%) |
169
+ | **深色模式** | 降低 10-20% |
170
+ | **无障碍** | 保证对比度,必要时调整 |
171
+
172
+ ---
173
+
174
+ ## 5. 基于上下文的选择指南
175
+
176
+ ### 不要直接抄配色,按流程选择:
177
+
178
+ **步骤 1:识别上下文**
179
+ ```
180
+ 项目类型?
181
+ ├── 电商 → 需要信任 + 紧迫的平衡
182
+ ├── SaaS(软件即服务)/仪表盘 → 低疲劳、数据导向
183
+ ├── 健康/医疗 → 平静、自然
184
+ ├── 奢华/高端 → 克制优雅
185
+ ├── 创意/作品集 → 具个性、易记忆
186
+ └── 其他 → 询问用户
187
+ ```
188
+
189
+ **步骤 2:选择主色系**
190
+ ```
191
+ 基于上下文,选一个:
192
+ - 蓝色系(信任)
193
+ - 绿色系(成长)
194
+ - 暖色系(能量)
195
+ - 中性色系(优雅)
196
+ - 或直接询问用户偏好
197
+ ```
198
+
199
+ **步骤 3:确定浅色/深色模式**
200
+ ```
201
+ 考虑:
202
+ - 用户偏好?
203
+ - 行业习惯?
204
+ - 内容类型?(文字多 → 浅色优先)
205
+ - 使用时间?(夜间应用 → 深色优先)
206
+ ```
207
+
208
+ **步骤 4:按原则生成色板**
209
+ - 使用 HSL 调整
210
+ - 遵循 60-30-10 规则
211
+ - 检查对比度(WCAG,无障碍标准)
212
+ - 用真实内容测试
213
+
214
+ ---
215
+
216
+ ## 6. 深色模式原则
217
+
218
+ ### 关键规则(不背固定值)
219
+
220
+ 1. **不要纯黑** → 使用略带色相的深灰
221
+ 2. **不要纯白文字** → 使用 87-92% 明度
222
+ 3. **降低饱和度** → 深色模式中色彩更刺眼
223
+ 4. **层级 = 亮度** → 更高层级略亮
224
+
225
+ ### 深色模式对比
226
+
227
+ ```
228
+ 背景层级(从暗到亮):
229
+ Layer 0(基底) → 最暗
230
+ Layer 1(卡片) → 稍亮
231
+ Layer 2(弹窗) → 更亮
232
+ Layer 3(浮层) → 最亮的深色
233
+ ```
234
+
235
+ ### 深色模式色彩调整
236
+
237
+ | 浅色模式 | 深色模式调整 |
238
+ |----------|---------------|
239
+ | 高饱和点缀 | 降低饱和度 10-20% |
240
+ | 纯白背景 | 略带品牌色的深灰 |
241
+ | 黑色文字 | 浅灰(非纯白) |
242
+ | 彩色背景 | 降饱和、更深版本 |
243
+
244
+ ---
245
+
246
+ ## 7. 无障碍指南
247
+
248
+ ### 对比度要求(WCAG,无障碍标准)
249
+
250
+ | 等级 | 正文 | 大文字 |
251
+ |------|------|--------|
252
+ | AA(最低) | 4.5:1 | 3:1 |
253
+ | AAA(增强) | 7:1 | 4.5:1 |
254
+
255
+ ### 如何检查对比度
256
+
257
+ 1. **计算亮度**
258
+ 2. **计算比值**: (亮色 + 0.05) / (暗色 + 0.05)
259
+ 3. **调整直至达标**
260
+
261
+ ### 安全模式
262
+
263
+ | 用例 | 指南 |
264
+ |------|------|
265
+ | **浅色背景文字** | 明度 ≤ 35% |
266
+ | **深色背景文字** | 明度 ≥ 85% |
267
+ | **白底主色** | 确保足够深 |
268
+ | **按钮** | 背景与文字高对比 |
269
+
270
+ ---
271
+
272
+ ## 8. 配色选择检查清单
273
+
274
+ 最终确定前,请检查:
275
+
276
+ - [ ] **是否询问用户偏好?**(未指定必须问)
277
+ - [ ] **是否符合项目上下文?**(行业、受众)
278
+ - [ ] **是否遵循 60-30-10?**(比例分布)
279
+ - [ ] **是否符合 WCAG?**(对比度)
280
+ - [ ] **是否适配浅/深色模式?**(如需要)
281
+ - [ ] **是否不是你的默认/偏好?**(多样性检查)
282
+ - [ ] **是否与上次项目不同?**(避免重复)
283
+
284
+ ---
285
+
286
+ ## 9. 反模式(避免)
287
+
288
+ ### ❌ 不要:
289
+ - 每个项目都用同一套色值
290
+ - 默认紫色/紫罗兰(AI 倾向)
291
+ - 默认深色 + 霓虹(AI 倾向)
292
+ - 纯黑(#000000)背景
293
+ - 深色背景上用纯白文字(#FFFFFF)
294
+ - 忽略行业上下文
295
+ - 不询问用户偏好
296
+
297
+ ### ✅ 要做:
298
+ - 每个项目生成新的色板
299
+ - 询问用户配色偏好
300
+ - 考虑行业与受众
301
+ - 用 HSL 灵活调整
302
+ - 测试对比度与无障碍
303
+ - 提供浅色与深色方案
304
+
305
+ ---
306
+
307
+ > **记住:** 颜色是决策,不是默认值。每个项目都应基于其独特上下文做有意识的选择。