diff --git a/.kilo/plans/1785323991986-mastering-module-plan.md b/.kilo/plans/1785323991986-mastering-module-plan.md new file mode 100644 index 0000000..a872198 --- /dev/null +++ b/.kilo/plans/1785323991986-mastering-module-plan.md @@ -0,0 +1,197 @@ +# Implementation Plan: Ozone Mastering Module + +## Nguồn DUY NHẤT để tạo giao diện + +**Toàn bộ giao diện của Mastering Modal được lấy TRỰC TIẾP từ HTML trong `md/45_MASTERING_MODULE.md` dòng 74–885.** + +Không thiết kế giao diện mới. Không suy luận UI. Lấy chính xác: +- **Cấu trúc HTML**: copy verbatim từ spec, chuyển sang JSX (className thay class, onChange thay onchange, v.v.) +- **CSS styles**: copy verbatim từ spec (oz-panel, oz-card, oz-card-active, knob-dial, knob-pointer, gradient backgrounds) +- **JavaScript logic**: port verbatim từ spec vào React hooks (useState thay ozState, useRef thay DOM refs, useEffect thay event listeners) +- **Web Audio DSP graph**: copy y hệt node graph + connection từ spec (BiquadFilterNode, GainNode, DynamicsCompressorNode, AnalyserNode) +- **Canvas renderers**: copy y hệt drawing logic từ spec (frequency grid, FFT fill, EQ curve, polar vectorscope, VU meter gradient) + +## Goal +Dịch spec HTML `md/45_MASTERING_MODULE.md` (lines 74–885) thành `MasteringModal` React component trong `app.jsx`. + +## Ánh xạ HTML → React (chi tiết từ spec) + +### HTML lines 74–118: Dependencies & Styles + +| Spec | Action | +|------|--------| +| `