desktop-team-doc 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (151) hide show
  1. package/README.md +89 -0
  2. package/content/docs/README.md +227 -0
  3. package/content/docs/index.md +352 -0
  4. package/content/docs/instructions/coding-conventions/.clang-format +65 -0
  5. package/content/docs/instructions/coding-conventions/cpp.md +132 -0
  6. package/content/docs/instructions/coding-conventions/frontend.md +612 -0
  7. package/content/docs/instructions/coding-conventions/team-wide.md +176 -0
  8. package/content/docs/instructions/workflows/assets/jira-1.png +0 -0
  9. package/content/docs/instructions/workflows/assets/jira-comment.png +0 -0
  10. package/content/docs/instructions/workflows/assets/jira-release-note.png +0 -0
  11. package/content/docs/instructions/workflows/assets/jira-tag.png +0 -0
  12. package/content/docs/instructions/workflows/code-review.md +451 -0
  13. package/content/docs/instructions/workflows/git-branch-convention.md +246 -0
  14. package/content/docs/instructions/workflows/git-commit.md +95 -0
  15. package/content/docs/instructions/workflows/jira-process.md +173 -0
  16. package/content/docs/instructions/workflows/jira-ticket-guide.md +105 -0
  17. package/content/docs/instructions/workflows/pull-request-generation.md +319 -0
  18. package/content/docs/instructions/workflows/scrum-process.md +104 -0
  19. package/content/docs/instructions/workflows/survey-project-setup.md +76 -0
  20. package/content/docs/knowledge/architecture/README.md +11 -0
  21. package/content/docs/knowledge/architecture/audio-plugin-architecture.md +213 -0
  22. package/content/docs/knowledge/architecture/cross-platform-design.md +176 -0
  23. package/content/docs/knowledge/architecture/frontend-native-bridge.md +193 -0
  24. package/content/docs/knowledge/architecture/native-command.md +189 -0
  25. package/content/docs/knowledge/architecture/state-management-architecture.md +105 -0
  26. package/content/docs/knowledge/component-library/ControlComponent/README.md +281 -0
  27. package/content/docs/knowledge/component-library/ControlComponent/accessibility/accessibility-implementation.md +503 -0
  28. package/content/docs/knowledge/component-library/ControlComponent/common-mechanisms.md +278 -0
  29. package/content/docs/knowledge/component-library/ControlComponent/core/error-handling.md +451 -0
  30. package/content/docs/knowledge/component-library/ControlComponent/core/native-interface.md +515 -0
  31. package/content/docs/knowledge/component-library/ControlComponent/core/state-management.md +509 -0
  32. package/content/docs/knowledge/component-library/ControlComponent/creating-new-controls.md +654 -0
  33. package/content/docs/knowledge/component-library/ControlComponent/design/api-design-reference.md +1142 -0
  34. package/content/docs/knowledge/component-library/ControlComponent/design/design-principles.md +336 -0
  35. package/content/docs/knowledge/component-library/ControlComponent/design/styling-architecture.md +595 -0
  36. package/content/docs/knowledge/component-library/ControlComponent/design/visual-feedback.md +456 -0
  37. package/content/docs/knowledge/component-library/ControlComponent/development-environment.md +213 -0
  38. package/content/docs/knowledge/component-library/ControlComponent/interaction/gesture-algorithms.md +705 -0
  39. package/content/docs/knowledge/component-library/ControlComponent/interaction/touch-support.md +525 -0
  40. package/content/docs/knowledge/component-library/ControlComponent/interaction/value-processing-patterns.md +801 -0
  41. package/content/docs/knowledge/component-library/ControlComponent/interaction/velocity-damping-systems.md +741 -0
  42. package/content/docs/knowledge/component-library/ControlComponent/knob/architecture.md +490 -0
  43. package/content/docs/knowledge/component-library/ControlComponent/knob/how-to-use.md +304 -0
  44. package/content/docs/knowledge/component-library/ControlComponent/knob/index.md +105 -0
  45. package/content/docs/knowledge/component-library/ControlComponent/optimization/performance-benchmarks.md +535 -0
  46. package/content/docs/knowledge/component-library/ControlComponent/optimization/performance-optimization.md +1092 -0
  47. package/content/docs/knowledge/component-library/ControlComponent/quick-start.md +345 -0
  48. package/content/docs/knowledge/component-library/ControlComponent/slider/architecture.md +444 -0
  49. package/content/docs/knowledge/component-library/ControlComponent/slider/how-to-use.md +470 -0
  50. package/content/docs/knowledge/component-library/ControlComponent/slider/index.md +107 -0
  51. package/content/docs/knowledge/component-library/ControlComponent/testing-guide.md +950 -0
  52. package/content/docs/knowledge/component-library/ControlComponent/troubleshooting.md +657 -0
  53. package/content/docs/knowledge/component-library/frontend-develop/LICENSE.txt +176 -0
  54. package/content/docs/knowledge/component-library/frontend-develop/SKILL.md +124 -0
  55. package/content/docs/knowledge/component-library/frontend-develop/references/code-organization.md +620 -0
  56. package/content/docs/knowledge/component-library/frontend-develop/references/coding-standards.md +275 -0
  57. package/content/docs/knowledge/component-library/frontend-develop/references/component-reusability.md +559 -0
  58. package/content/docs/knowledge/component-library/frontend-develop/references/examples.md +554 -0
  59. package/content/docs/knowledge/component-library/frontend-develop/references/layout-separation.md +638 -0
  60. package/content/docs/knowledge/component-library/frontend-develop/references/performance-optimization.md +678 -0
  61. package/content/docs/knowledge/component-library/frontend-develop/references/state-management.md +331 -0
  62. package/content/docs/knowledge/component-library/frontend-develop/references/styling-guidelines.md +349 -0
  63. package/content/docs/knowledge/component-library/frontend-develop/references/type-safety.md +493 -0
  64. package/content/docs/knowledge/development/assets/cyberduck-aws-credentials.png +0 -0
  65. package/content/docs/knowledge/development/assets/postman-environment-setup.png +0 -0
  66. package/content/docs/knowledge/development/aws-storage.md +95 -0
  67. package/content/docs/knowledge/development/crm-system.md +22 -0
  68. package/content/docs/knowledge/development/glossary.md +246 -0
  69. package/content/docs/knowledge/development/pg-api-guide.md +71 -0
  70. package/content/docs/knowledge/development/staging-license-management.md +44 -0
  71. package/content/docs/knowledge/development/tech-stack.md +240 -0
  72. package/content/docs/knowledge/domain/popup-system.md +106 -0
  73. package/content/docs/knowledge/domain/sigpath.md +264 -0
  74. package/content/docs/knowledge/environment-setup/aax-signing-update.md +149 -0
  75. package/content/docs/knowledge/environment-setup/assets/aax-1.png +0 -0
  76. package/content/docs/knowledge/environment-setup/assets/aax-2.png +0 -0
  77. package/content/docs/knowledge/environment-setup/assets/aax-3.png +0 -0
  78. package/content/docs/knowledge/environment-setup/assets/aax-4.png +0 -0
  79. package/content/docs/knowledge/environment-setup/assets/aax-5.png +0 -0
  80. package/content/docs/knowledge/environment-setup/assets/aax-6.png +0 -0
  81. package/content/docs/knowledge/environment-setup/assets/aax-7.png +0 -0
  82. package/content/docs/knowledge/environment-setup/assets/buildmachine-1.png +0 -0
  83. package/content/docs/knowledge/environment-setup/assets/buildmachine-10.png +0 -0
  84. package/content/docs/knowledge/environment-setup/assets/buildmachine-11.png +0 -0
  85. package/content/docs/knowledge/environment-setup/assets/buildmachine-12.png +0 -0
  86. package/content/docs/knowledge/environment-setup/assets/buildmachine-13.png +0 -0
  87. package/content/docs/knowledge/environment-setup/assets/buildmachine-14.png +0 -0
  88. package/content/docs/knowledge/environment-setup/assets/buildmachine-2.png +0 -0
  89. package/content/docs/knowledge/environment-setup/assets/buildmachine-3.png +0 -0
  90. package/content/docs/knowledge/environment-setup/assets/buildmachine-4.png +0 -0
  91. package/content/docs/knowledge/environment-setup/assets/buildmachine-5.png +0 -0
  92. package/content/docs/knowledge/environment-setup/assets/buildmachine-6.png +0 -0
  93. package/content/docs/knowledge/environment-setup/assets/buildmachine-7.png +0 -0
  94. package/content/docs/knowledge/environment-setup/assets/buildmachine-8.png +0 -0
  95. package/content/docs/knowledge/environment-setup/assets/buildmachine-9.png +0 -0
  96. package/content/docs/knowledge/environment-setup/build-machine-setup.md +224 -0
  97. package/content/docs/knowledge/environment-setup/build-machine-troubleshooting.md +193 -0
  98. package/content/docs/knowledge/implementation-guides/adding-amp.md +190 -0
  99. package/content/docs/knowledge/implementation-guides/adding-fx.md +111 -0
  100. package/content/docs/knowledge/implementation-guides/cab-integration.md +194 -0
  101. package/content/docs/knowledge/implementation-guides/custom-pedal-integration.md +309 -0
  102. package/content/docs/knowledge/projects/BIAS_ONE_GUI/README.md +17 -0
  103. package/content/manifest.json +122 -0
  104. package/content/rules/cpp.mdc +135 -0
  105. package/content/rules/frontend.mdc +615 -0
  106. package/content/rules/index.mdc +256 -0
  107. package/content/rules/knowledge.mdc +46 -0
  108. package/content/rules/team-wide.mdc +179 -0
  109. package/content/rules/workflows.mdc +43 -0
  110. package/content/tools/agents/context-compressor.md +357 -0
  111. package/content/tools/agents/context-writer.md +328 -0
  112. package/content/tools/agents/release-notes-generator.md +389 -0
  113. package/content/tools/agents/srs-writer-agent.md +63 -0
  114. package/content/tools/mcp/README.md +25 -0
  115. package/content/tools/mcp/mcp-desktop-team.example.json +13 -0
  116. package/content/tools/skills/frontend-develop/LICENSE.txt +176 -0
  117. package/content/tools/skills/frontend-develop/SKILL.md +124 -0
  118. package/content/tools/skills/frontend-develop/references/code-organization.md +620 -0
  119. package/content/tools/skills/frontend-develop/references/coding-standards.md +275 -0
  120. package/content/tools/skills/frontend-develop/references/component-reusability.md +559 -0
  121. package/content/tools/skills/frontend-develop/references/examples.md +554 -0
  122. package/content/tools/skills/frontend-develop/references/layout-separation.md +638 -0
  123. package/content/tools/skills/frontend-develop/references/performance-optimization.md +678 -0
  124. package/content/tools/skills/frontend-develop/references/state-management.md +331 -0
  125. package/content/tools/skills/frontend-develop/references/styling-guidelines.md +349 -0
  126. package/content/tools/skills/frontend-develop/references/type-safety.md +493 -0
  127. package/content/tools/slash-commands/commit.md +17 -0
  128. package/content/tools/slash-commands/context-compress.md +149 -0
  129. package/content/tools/slash-commands/context-write.md +92 -0
  130. package/content/tools/slash-commands/jira.md +12 -0
  131. package/content/tools/slash-commands/pr-gen.md +12 -0
  132. package/content/tools/slash-commands/pr-review.md +12 -0
  133. package/dist/commands/detect.d.ts +1 -0
  134. package/dist/commands/detect.js +33 -0
  135. package/dist/commands/install.d.ts +1 -0
  136. package/dist/commands/install.js +100 -0
  137. package/dist/commands/uninstall.d.ts +1 -0
  138. package/dist/commands/uninstall.js +132 -0
  139. package/dist/index.d.ts +2 -0
  140. package/dist/index.js +53 -0
  141. package/dist/lib/detect-env.d.ts +3 -0
  142. package/dist/lib/detect-env.js +52 -0
  143. package/dist/lib/prompt-env.d.ts +3 -0
  144. package/dist/lib/prompt-env.js +16 -0
  145. package/dist/lib/resolve-doc-repo.d.ts +14 -0
  146. package/dist/lib/resolve-doc-repo.js +61 -0
  147. package/dist/lib/symlink.d.ts +7 -0
  148. package/dist/lib/symlink.js +60 -0
  149. package/dist/lib/sync-from-manifest.d.ts +8 -0
  150. package/dist/lib/sync-from-manifest.js +64 -0
  151. package/package.json +46 -0
@@ -0,0 +1,336 @@
1
+ # Audio Control 設計原則
2
+
3
+ 本文件定義 Audio Plugin 控制元件的核心設計原則,從專業音訊軟體(如 JUCE、DAW)中提取的最佳實踐。
4
+
5
+ ---
6
+
7
+ ## 1. 統一元件模型 (Unified Component Model)
8
+
9
+ ### 設計理念
10
+
11
+ 使用單一 API 介面支援多種控制行為,降低學習曲線:
12
+
13
+ ```typescript
14
+ // 統一的 Hook 支援多種互動模式
15
+ type AudioControlMode =
16
+ | 'linear-horizontal' // 水平滑桿
17
+ | 'linear-vertical' // 垂直滑桿
18
+ | 'rotary' // 旋鈕(垂直拖曳)
19
+ | 'rotary-circular'; // 旋鈕(圓形拖曳)
20
+
21
+ // 相同的 API,不同的行為
22
+ const slider = useAudioControl({ mode: 'linear-horizontal', pid: 0 });
23
+ const knob = useAudioControl({ mode: 'rotary', pid: 1 });
24
+ ```
25
+
26
+ ### 實作要點
27
+
28
+ - **統一的數值介面**:`setValue()`, `getValue()`, `beginGesture()`, `endGesture()`
29
+ - **一致的正規化值**:所有控制元件使用 0-1 範圍
30
+ - **共享的行為邏輯**:精確模式、雙擊重置、鍵盤操作
31
+
32
+ ---
33
+
34
+ ## 2. 關注點分離 (Separation of Concerns)
35
+
36
+ ### 設計理念
37
+
38
+ 將邏輯與視覺徹底分離,提高可維護性和可測試性:
39
+
40
+ ```
41
+ ┌─────────────────────────────────────────────────────────────────┐
42
+ │ 應用層 │
43
+ │ ┌───────────────────────────────────────────────────────────┐ │
44
+ │ │ 使用控制元件的業務代碼 │ │
45
+ │ └───────────────────────────────────────────────────────────┘ │
46
+ └─────────────────────────────────────────────────────────────────┘
47
+
48
+
49
+ ┌─────────────────────────────────────────────────────────────────┐
50
+ │ 邏輯層 (Headless) │
51
+ │ ┌───────────────────────────────────────────────────────────┐ │
52
+ │ │ useAudioControl Hook │ │
53
+ │ │ - 數值計算、手勢處理、狀態管理 │ │
54
+ │ │ - 與 Native Interface 溝通 │ │
55
+ │ └───────────────────────────────────────────────────────────┘ │
56
+ └─────────────────────────────────────────────────────────────────┘
57
+
58
+
59
+ ┌─────────────────────────────────────────────────────────────────┐
60
+ │ 視覺層 (Presentational) │
61
+ │ ┌───────────────────────────────────────────────────────────┐ │
62
+ │ │ Knob / Slider 展示元件 │ │
63
+ │ │ - CSS 樣式、動畫 │ │
64
+ │ │ - DOM 結構、ARIA 屬性 │ │
65
+ │ └───────────────────────────────────────────────────────────┘ │
66
+ └─────────────────────────────────────────────────────────────────┘
67
+ ```
68
+
69
+ ### 實作範例
70
+
71
+ ```typescript
72
+ // ============================================
73
+ // 邏輯層:Headless Hook
74
+ // ============================================
75
+ function useAudioControl(options: AudioControlOptions) {
76
+ const { pid, mode, sensitivity } = options;
77
+
78
+ // Native Interface 整合
79
+ const nativeAPI = useNativeInterface();
80
+ const [value, setValueState] = useState(() =>
81
+ nativeAPI.parameter.getValue(pid)
82
+ );
83
+
84
+ // 手勢處理邏輯
85
+ const handleDrag = useCallback((delta: number) => {
86
+ const newValue = calculateNewValue(value, delta, sensitivity);
87
+ setValueState(newValue);
88
+ nativeAPI.parameter.setValue(pid, newValue);
89
+ }, [value, pid, sensitivity, nativeAPI]);
90
+
91
+ return {
92
+ value,
93
+ setValue: handleDrag,
94
+ bind: () => ({ /* 事件綁定 */ }),
95
+ };
96
+ }
97
+
98
+ // ============================================
99
+ // 視覺層:展示元件
100
+ // ============================================
101
+ const Knob: React.FC<KnobProps> = ({ pid, className }) => {
102
+ const { value, bind } = useAudioControl({ pid, mode: 'rotary' });
103
+
104
+ return (
105
+ <div
106
+ {...bind()}
107
+ className={className}
108
+ style={{ '--value-normalized': value } as React.CSSProperties}
109
+ >
110
+ <div className="knob__indicator" />
111
+ </div>
112
+ );
113
+ };
114
+ ```
115
+
116
+ ---
117
+
118
+ ## 3. 可組合性 (Composability)
119
+
120
+ ### 設計理念
121
+
122
+ 功能正交設計,可獨立使用或自由組合:
123
+
124
+ ```typescript
125
+ interface AudioControlOptions {
126
+ // 基礎功能
127
+ pid: number;
128
+ mode: AudioControlMode;
129
+
130
+ // 可組合的進階功能 - 每個獨立
131
+ damping?: DampingConfig; // 精確模式
132
+ velocity?: VelocityConfig; // 速度感應
133
+ keyboard?: KeyboardConfig; // 鍵盤控制
134
+ valueMapping?: MappingConfig; // 數值映射
135
+ }
136
+
137
+ // 各功能獨立配置
138
+ interface DampingConfig {
139
+ enabled?: boolean;
140
+ key?: 'shift' | 'ctrl' | 'meta';
141
+ factor?: number; // 0.1 = 1/10 靈敏度
142
+ }
143
+
144
+ interface VelocityConfig {
145
+ enabled?: boolean;
146
+ sensitivity?: number;
147
+ curve?: 'linear' | 'exponential' | 'logarithmic';
148
+ }
149
+ ```
150
+
151
+ ### 使用範例
152
+
153
+ ```typescript
154
+ // 最簡單使用
155
+ <Knob pid={0} />
156
+
157
+ // 添加精確模式
158
+ <Knob pid={0} damping={{ key: 'shift', factor: 0.1 }} />
159
+
160
+ // 完整專業配置
161
+ <Knob
162
+ pid={0}
163
+ damping={{ key: 'shift', factor: 0.1 }}
164
+ velocity={{ enabled: true, curve: 'logarithmic' }}
165
+ valueMapping={{ type: 'logarithmic' }} // 頻率適合對數映射
166
+ />
167
+ ```
168
+
169
+ ---
170
+
171
+ ## 4. 漸進式增強 (Progressive Enhancement)
172
+
173
+ ### 設計理念
174
+
175
+ 開箱即用,進階功能按需啟用:
176
+
177
+ ```typescript
178
+ // 合理的預設值
179
+ const defaultOptions = {
180
+ sensitivity: 0.005,
181
+ preciseSensitivity: 0.001,
182
+ wheelSensitivity: 0.01,
183
+ enableDoubleClickReset: true,
184
+ enableKeyboard: true,
185
+ };
186
+
187
+ // 最簡使用 - 只需提供 pid
188
+ <Knob pid={0} />
189
+
190
+ // 漸進增強 - 覆蓋特定設定
191
+ <Knob pid={0} sensitivity={0.01} />
192
+
193
+ // 完整配置 - 專業級控制
194
+ <Knob
195
+ pid={0}
196
+ sensitivity={0.005}
197
+ preciseSensitivity={0.0005}
198
+ wheelSensitivity={0.002}
199
+ enableVelocity={true}
200
+ velocityCurve="logarithmic"
201
+ />
202
+ ```
203
+
204
+ ---
205
+
206
+ ## 5. 專業音訊控制特性
207
+
208
+ ### 精確模式 (Fine Control)
209
+
210
+ 音訊參數需要精確調整,提供修飾鍵支援:
211
+
212
+ ```typescript
213
+ // 偵測精確模式
214
+ const isPreciseMode = e.ctrlKey || e.metaKey || e.shiftKey;
215
+
216
+ // 應用不同靈敏度
217
+ const sensitivity = isPreciseMode
218
+ ? PRECISE_SENSITIVITY // 0.001
219
+ : DEFAULT_SENSITIVITY; // 0.005
220
+
221
+ // 計算數值變化
222
+ const delta = movementY * sensitivity;
223
+ ```
224
+
225
+ ### 手勢開始/結束 (DAW Automation)
226
+
227
+ 支援 DAW 自動化錄製的手勢通知:
228
+
229
+ ```typescript
230
+ const handlePointerDown = () => {
231
+ // 通知 DAW 開始錄製自動化
232
+ nativeAPI.parameter.beginGesture(pid);
233
+ };
234
+
235
+ const handlePointerUp = () => {
236
+ // 通知 DAW 結束錄製自動化
237
+ nativeAPI.parameter.endGesture(pid);
238
+ };
239
+ ```
240
+
241
+ ### 雙擊重置 (Double-Click Reset)
242
+
243
+ 快速恢復預設值的標準操作:
244
+
245
+ ```typescript
246
+ const handleDoubleClick = () => {
247
+ const defaultValue = nativeAPI.parameterInfo?.getDefaultValue(pid) ?? 0.5;
248
+ nativeAPI.parameter.beginGesture(pid);
249
+ nativeAPI.parameter.setValue(pid, defaultValue);
250
+ nativeAPI.parameter.endGesture(pid);
251
+ };
252
+ ```
253
+
254
+ ### 數值映射 (Value Mapping)
255
+
256
+ 不同參數類型需要不同的數值映射:
257
+
258
+ ```typescript
259
+ // 線性映射 (音量、Pan)
260
+ const linearMap = (normalized: number, min: number, max: number) =>
261
+ min + normalized * (max - min);
262
+
263
+ // 對數映射 (頻率)
264
+ const logarithmicMap = (normalized: number, min: number, max: number) =>
265
+ min * Math.pow(max / min, normalized);
266
+
267
+ // 指數映射 (時間常數)
268
+ const exponentialMap = (normalized: number, min: number, max: number, skew: number) =>
269
+ min + (max - min) * Math.pow(normalized, skew);
270
+ ```
271
+
272
+ ---
273
+
274
+ ## 6. 效能設計原則
275
+
276
+ ### CSS 變數驅動視覺更新
277
+
278
+ ```typescript
279
+ // ✅ 好:使用 CSS 變數,繞過 React 渲染
280
+ const updateVisual = (value: number) => {
281
+ element.style.setProperty('--value-normalized', String(value));
282
+ };
283
+
284
+ // ❌ 避免:每次拖動觸發 React 重新渲染
285
+ const [visualValue, setVisualValue] = useState(0);
286
+ ```
287
+
288
+ ### 視覺與狀態分離更新
289
+
290
+ ```typescript
291
+ const handleDrag = (delta: number) => {
292
+ const newValue = calculateValue(delta);
293
+
294
+ // 1. 立即更新視覺 (60fps)
295
+ updateCSS(newValue);
296
+
297
+ // 2. 節流更新 Native (30-60fps)
298
+ throttledSetValue(newValue);
299
+ };
300
+ ```
301
+
302
+ ### 使用 Ref 存儲高頻狀態
303
+
304
+ ```typescript
305
+ // ✅ 使用 ref 存儲拖曳狀態
306
+ const stateRef = useRef({
307
+ isDragging: false,
308
+ startValue: 0,
309
+ startY: 0,
310
+ });
311
+
312
+ // ❌ 避免使用 useState 存儲高頻變更的狀態
313
+ const [isDragging, setIsDragging] = useState(false);
314
+ ```
315
+
316
+ ---
317
+
318
+ ## 7. 設計原則檢查清單
319
+
320
+ | 原則 | 實作要點 | 檢查項 |
321
+ | ---- | -------- | ------ |
322
+ | **統一元件模型** | 單一 Hook 支援多模式 | mode 參數切換行為 |
323
+ | **關注點分離** | Headless Hook + 展示元件 | 邏輯與視覺分離 |
324
+ | **可組合性** | 功能獨立配置 | damping/velocity 獨立 |
325
+ | **漸進式增強** | 合理預設值 | 開箱即用 + 可選進階 |
326
+ | **專業特性** | 精確模式、手勢通知 | Ctrl/Cmd 支援 |
327
+ | **效能優先** | CSS 變數、節流更新 | 60fps 視覺更新 |
328
+
329
+ ---
330
+
331
+ ## 相關文件
332
+
333
+ - [API 設計參考](./api-design-reference.md) - 完整 Props 介面
334
+ - [視覺回饋指南](./visual-feedback.md) - 狀態視覺化設計
335
+ - [手勢處理演算法](../interaction/gesture-algorithms.md) - 互動邏輯詳解
336
+ - [效能最佳化策略](../optimization/performance-optimization.md) - 效能技巧