Хвост плана #2181: одним кликом применить вариант из блока «Как участок
сходится» к §7 «Концепция».
- SectionAlternatives: на каждой карточке варианта secondary-CTA (--accent-2,
orange), передаёт класс/этажность/тип застройки варианта в §7 и плавно
скроллит к #section-7. Дизейбл, пока §7 считает.
- Section7Concept: useEffect на pendingProgram — раскрывает §7, подбирает тип
секции + пятно из каталога по КЛАССУ варианта (pickTypeForClass, как
pickDefaultType но для заданного класса), выставляет этажность/класс/тип,
densify=false, запускает handleGenerate; после старта зовёт onProgramApplied
(родитель обнуляет pending → повторный клик снова срабатывает). autoRan/
autoRetried refs не трогаются — ручной пересчёт всегда разрешён. Тонкий канал
onPendingChange(concept.isPending) вверх для дизейбла CTA.
- AnalysisPageContent: state pendingProgram + conceptPending, проброс между
двумя секциями.
- Новый узкий тип PendingConceptProgram в types/site-finder.
tsc --noEmit чисто, next lint без предупреждений.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>