feat(site-finder): §7 «Концепция» — методики + синхронизация подписей (#1953, batch D) #2098

Merged
bot-backend merged 1 commit from fix/concept-explain-batchD-1953 into main 2026-06-29 12:24:22 +00:00
Collaborator

Контекст

Финальный батч D пересборки report'а (#1953), из live-walkthrough Anton'а по 66:41:0702017:131, пункты #6/#7: «концепция непонятно, нужно больше пояснений как считается и на основании чего; §7 пересобрать». План утверждён. Presentation-only — движок (concepts.py/teap.py/financial.py) не тронут.

Изменения (MassingEconomics.tsx + Section7Concept.tsx)

  • D1 — методики «как считается» на всех 11 картах ТЭП/фин (через существующий KpiCard.hint): GDV = продаваемая×цена(+машиноместа/нежилой); себестоимость = строительство+ПИР+сети+услуги+непредвиденные+маркетинг+земля; ЧП = выручка−себест−НДС20%(нежилое)−налог25% (жильё ДДУ освобождено); ROI = ЧП/себест; NPV = Σ дисконт.потоков @15%; IRR = годовая ВНД; КСИТ = надземная GFA/площадь; цена = медиана Objective. Формулы сверены с backend, не выдуманы.
  • D2 — «три стратегии»: оказалось 3 стратегии (max_area/max_insolation/balanced) РЕАЛЬНО считаются по кнопке (on-demand ConceptVariantsResult), но заголовок over-promise-ил. Subtitle переписан под фактику (live 3D-масса + варианты по кнопке) + поправлена stale-документация.
  • D3 — площадь: «площадь пятна по геометрии ≈ X га» + пояснение, почему массинг по геометрии застраиваемого пятна (НСПД-контур), а не ЕГРН → снят рассинхрон 6.65 vs 11.68 га.
  • D4 — caveat «расчёт условный» при отрицательной экономике / gate-ограничении (note --warn).
  • D5 — явная редактируемость 3D-массы (ползунки → живой пересчёт справа).

Verify

  • type-check / eslint / prettier чисто · токены ок
  • формулы пояснений сверены с financial.py:compute_financial + teap.py:synthesize_teap_from_program
  • 🔜 визуальный verify скриншотами на проде

Roadmap #1953: A · B · C · D (этот PR) → закрывает последний (7-й) пункт walkthrough'а.

## Контекст Финальный батч **D** пересборки report'а (#1953), из live-walkthrough Anton'а по **66:41:0702017:131**, пункты **#6/#7**: «концепция непонятно, нужно больше пояснений как считается и на основании чего; §7 пересобрать». План утверждён. Presentation-only — движок (`concepts.py`/`teap.py`/`financial.py`) **не тронут**. ## Изменения (`MassingEconomics.tsx` + `Section7Concept.tsx`) - **D1 — методики «как считается»** на всех 11 картах ТЭП/фин (через существующий `KpiCard.hint`): GDV = продаваемая×цена(+машиноместа/нежилой); себестоимость = строительство+ПИР+сети+услуги+непредвиденные+маркетинг+земля; ЧП = выручка−себест−НДС20%(нежилое)−налог25% (жильё ДДУ освобождено); ROI = ЧП/себест; NPV = Σ дисконт.потоков @15%; IRR = годовая ВНД; КСИТ = надземная GFA/площадь; цена = медиана Objective. **Формулы сверены с backend, не выдуманы.** - **D2 — «три стратегии»**: оказалось 3 стратегии (max_area/max_insolation/balanced) РЕАЛЬНО считаются по кнопке (on-demand `ConceptVariantsResult`), но заголовок over-promise-ил. Subtitle переписан под фактику (live 3D-масса + варианты по кнопке) + поправлена stale-документация. - **D3 — площадь**: «площадь пятна **по геометрии** ≈ X га» + пояснение, почему массинг по геометрии застраиваемого пятна (НСПД-контур), а не ЕГРН → снят рассинхрон 6.65 vs 11.68 га. - **D4 — caveat** «расчёт условный» при отрицательной экономике / gate-ограничении (note `--warn`). - **D5 — явная редактируемость** 3D-массы (ползунки → живой пересчёт справа). ## Verify - ✅ type-check / eslint / prettier чисто · токены ок - ✅ формулы пояснений сверены с `financial.py:compute_financial` + `teap.py:synthesize_teap_from_program` - 🔜 визуальный verify скриншотами на проде Roadmap #1953: A ✅ · B ✅ · C ✅ · **D** (этот PR) → **закрывает последний (7-й) пункт walkthrough'а**.
bot-backend added 1 commit 2026-06-29 12:21:40 +00:00
feat(site-finder): §7 «Концепция» — методики расчёта + синхронизация подписей (#1953, batch D)
All checks were successful
CI / openapi-codegen-check (pull_request) Successful in 1m54s
CI / changes (pull_request) Successful in 7s
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 58s
afd0c82930
Из live-walkthrough Anton'а (66:41:0702017:131, #6/#7 «концепция непонятно»):
- D1: per-card методика+источник на всех ТЭП/фин-картах через KpiCard.hint
  (GDV/себестоимость/ЧП-НДС-налог/ROI/NPV/IRR/КСИТ/цена; формулы сверены с
  financial.py/teap.py — движок НЕ тронут)
- D2: subtitle/доки под фактический UI (live 3D-масса + on-demand 3 стратегии
  по кнопке) — убран over-promise «три стратегии» в заголовке
- D3: подпись «площадь пятна по геометрии» + пояснение vs ЕГРН (снят рассинхрон 6.65/11.68 га)
- D4: caveat «расчёт условный» при отрицательной экономике / gate-ограничении
- D5: явная редактируемость 3D-массы (ползунки → живой пересчёт)

Presentation-only, бэкенд (concepts.py/teap.py/financial.py) не тронут.
bot-backend merged commit f448b550b5 into main 2026-06-29 12:24:22 +00:00
bot-backend deleted branch fix/concept-explain-batchD-1953 2026-06-29 12:24:22 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#2098
No description provided.