diff --git a/roadmap.md b/roadmap.md index 1ce0178..34f437f 100644 --- a/roadmap.md +++ b/roadmap.md @@ -70,14 +70,17 @@ gain = max(1 - C, eps) * res_k**rp # rp = rp0 * Q**drp (res_power) | Фаза | Компонент | Статус | |---|---|---| - | P1.5 | live-коэффициенты level-tracker A[] + скаляры RPP | TODO (нужен live-capture / дизасм FUN_18052d650) | - | P2.5 | twin-mask factory FUN_18056e3e0 (полн.) + mask-accum 0x5407c8 | TODO (структурный фрагмент есть) | - | P3 | бит-экзактная base-CRT FFT (диспетчер 0x535a70) | TODO (главный риск) | - | P4 | render-loop 52e260 + res_power/Q-dep-rp порт + связка mask→FFT-conv | TODO (структура известна) | - | P5 | стерео M8 (link/balance/LR-vs-MS) + multiband combine 5316e0 + writer | TODO (в скоупе, не начат) | + | P1.5 | live-коэффициенты level-tracker A[] + скаляры RPP | ✅ DONE (rtctx_live.json, leveltrack_data.hpp) | + | P2 | mask-accumulator combine kernels (8d60/5a20/3c40) | ✅ DONE (levelpath.cpp combine_sub/acc_add/acc_fma) | + | P2.5 | twin-mask factory (56e3e0) + band LUT apply (563a60) | ✅ DONE (levelpath.cpp) | + | P3 | бит-экзактная base-CRT FFT | ⚠️ partial: архитектура размечена, vlog(ln) транскрибирован; butterfly+shuffle+plan-gen осталось | + | P4 | render-loop 52e260 + связка mask→FFT-conv + full pipeline | TODO (структура известна, компоненты готовы) | + | P5 | стерео M8 (link/balance/LR-vs-MS) + multiband combine 5316e0 | TODO (в скоупе, не начат) | - Оценка объёма оставшегося кода: ~60% (против ~40% готовых) — крупнейшие куски P3 (FFT bit-exact) - и P5 (стерео M8); структурно всё размаплено, остаток — точные вычисления и живые константы. + Обновлённая оценка (2026-08-20): структурно ~65-70% готово — все level-path компоненты + (LUT 563440, twin-mask 56e3e0, band LUT 563a60, combine, level-tracker, FFT-conv, vlog) + транскрибированы и проверены *_check. Осталось: (а) полная бит-экзактная FFT (butterfly+shuffle+ + plan-gen — недели), (б) сборка единого pipeline P4 (render-loop + связка), (в) стерео M8 (P5). ## Ключевые находки (итог)