From 26bfacc0a31b2e4f077b208015ac836525888cea Mon Sep 17 00:00:00 2001 From: Vladimir Date: Fri, 10 Jul 2026 22:54:01 +0300 Subject: [PATCH] =?UTF-8?q?docs(slices):=20=D1=81=D1=82=D0=B0=D1=82=D1=83?= =?UTF-8?q?=D1=81=203.0=20(=D1=84=D0=B0=D0=B7=D1=8B=20A/B1=20=D0=B3=D0=BE?= =?UTF-8?q?=D1=82=D0=BE=D0=B2=D1=8B)=20+=20=D1=80=D0=B5=D1=88=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=BE=D1=82=D0=BB=D0=BE=D0=B6=D0=B8=D1=82=D1=8C?= =?UTF-8?q?=20=D0=BC=D1=8B=D1=88=D1=8C/=D1=82=D0=B8=D0=BA=20=D0=B4=D0=BE?= =?UTF-8?q?=203.3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Fable 5 --- doc/SLICES_PLAN.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/doc/SLICES_PLAN.md b/doc/SLICES_PLAN.md index 836490a..13f33b3 100644 --- a/doc/SLICES_PLAN.md +++ b/doc/SLICES_PLAN.md @@ -128,14 +128,26 @@ Pluto+ (AD9363 2r2t, libiio): ### 3.0 — TPanafallPanel: выделить панадаптер из MainForm -**Статус 2026-07-10: фаза A СДЕЛАНА (собирается, стартует; на экране не -проверено).** Создан `PanafallPanel.pas`: панель владеет view (CPU/GL), -контролами (спектр/линейка/сплиттер/водопад/пан-зум/кнопки зума), полной -геометрией стека (`Layout`), механикой сплиттера и мышью пан/зум-полосы. -MainForm держит алиасы (`FSpecView`, `PbSpectrum`, …) на члены `FPan` — весь -остальной код не тронут; размеры областей читаются из -`FPan.SpectrumWidth/SpectrumHeight/WaterfallHeight`. Семантика мыши -спектра/водопада, флаги слайсов, оверлеи, тик — ПОКА в MainForm (фаза B). +**Статус 2026-07-10: фазы A и B1 СДЕЛАНЫ (коммиты c125e59, cc9919c; фаза A +проверена пользователем на экране).** Создан `PanafallPanel.pas`: +- Фаза A: панель владеет view (CPU/GL), контролами (спектр/линейка/сплиттер/ + водопад/пан-зум/кнопки зума), полной геометрией стека (`Layout`), механикой + сплиттера и мышью пан/зум-полосы. MainForm держит алиасы (`FSpecView`, + `PbSpectrum`, …) на члены `FPan`; размеры областей — из + `FPan.SpectrumWidth/SpectrumHeight/WaterfallHeight`. +- Фаза B1: панель владеет коллекцией флагов слайсов (LayoutFlags, диспетчер + мыши флагов, Create/DestroySliceFlag, PushSliceFlagState, TickFlags, + UpdateMainFlagVisibility). Флаг A создаёт MainForm и отдаёт через + `AttachMainFlag`; семантические события флагов проводятся `OnWireFlag`, + роутинг по `FPan.CurSliceId`. + +**Решение по фазе B2 (мышь спектра/водопада, dirty-флаги/тик, SampleRate/ +BandPlan-оверлеи): НЕ переносить сейчас.** Семантика мыши (тюн VFO A/B, +XVTR-клампы, маяк, CTUN-drag) станет per-pan только в 3.3, когда появится +API «ретюн пана» — перенос сейчас потребовал бы хуков (ApplyVfoAHook, +BeaconSeedHook…), которые в 3.3 переделались бы заново. Мышь/тик переезжают +в панель В СОСТАВЕ 3.3 вместе с per-pan семантикой. Для 3.1/3.2 текущего +состояния панели достаточно. **GL-аудит per-instance ПРОЙДЕН**: в `SpectrumViewOpengl`/`WaterfallViewOpengl` все текстуры (`FGridLabelTex`…`FLetterTex`, `FSliceTex`, `FTexture`, `FMarkerTex`) и LUT водопада — поля экземпляра, глобальных/class var GL-ресурсов