B1-3: Generative Stage 1c — TEAP + финмодель + PDF/Excel/DXF #56

Closed
opened 2026-05-11 20:31:51 +00:00 by lekss361 · 0 comments
lekss361 commented 2026-05-11 20:31:51 +00:00 (Migrated from github.com)

Эшелон: 🎯 Product gaps — Phase 0 deliverables

Зачем

Без TEAP + финмодели + экспортёров нет продаваемого артефакта. PDF-экспорт концепции = то что девелопер берёт на совет директоров. Сейчас teap.py, financial.py, pdf.py, excel.py, dxf.py — пустые docstrings.

Что сделать

teap.py

  • KEP (коэф эффективности площади)
  • Плотность застройки
  • Кол-во квартир по unit-mix (из recommend_mix данных — интеграция)
  • Парковка по норме (1.0-1.5 м/квартиру, зависит от класса)

financial.py

  • revenue = площадь × медианная цена района
  • cost = ТФА × удельная стоимость + land_cost (опц input)
  • gross_margin, gross_margin_pct
  • Упрощённый IRR — annualized return на основе sale absorption curve

pdf.py (WeasyPrint)

  • HTML template: карта с 3 вариантами side-by-side + TEAP таблица + финмодель + summary
  • Cyrillic fonts (DejaVu/Roboto)
  • Brand colors из landing

excel.py (openpyxl)

  • 3 листа: TEAP per variant, Financial, Comparison

dxf.py (ezdxf)

  • Упрощённый DXF: контур участка + корпуса (для архитекторов CAD)

Backend endpoint

  • POST /api/v1/concepts/{concept_id}/export?format=pdf|xlsx|dxf
  • Cache rendered output в Redis 5 мин

Acceptance

  • PDF генерируется <5с
  • PDF читабелен на русском (Cyrillic)
  • Excel открывается в LibreOffice/Excel без warnings
  • DXF импортируется в AutoCAD/QCAD корректно
  • Все 3 формата для одного concept_id consistency

Owner

backend-engineer

Effort

~6 дней

Dependencies

  • B1-2 (нужны реальные варианты)
  • Косвенно — recommend_mix API (есть)

Risks

  • WeasyPrint Cyrillic шрифты — typical pitfall, заранее заготовить
  • DXF слои — упрощённая модель (1 слой)
**Эшелон:** 🎯 Product gaps — Phase 0 deliverables ## Зачем Без TEAP + финмодели + экспортёров нет **продаваемого артефакта**. PDF-экспорт концепции = то что девелопер берёт на совет директоров. Сейчас `teap.py`, `financial.py`, `pdf.py`, `excel.py`, `dxf.py` — пустые docstrings. ## Что сделать ### `teap.py` - KEP (коэф эффективности площади) - Плотность застройки - Кол-во квартир по unit-mix (из `recommend_mix` данных — интеграция) - Парковка по норме (1.0-1.5 м/квартиру, зависит от класса) ### `financial.py` - `revenue` = площадь × медианная цена района - `cost` = ТФА × удельная стоимость + `land_cost` (опц input) - `gross_margin`, `gross_margin_pct` - Упрощённый IRR — annualized return на основе sale absorption curve ### `pdf.py` (WeasyPrint) - HTML template: карта с 3 вариантами side-by-side + TEAP таблица + финмодель + summary - Cyrillic fonts (DejaVu/Roboto) - Brand colors из landing ### `excel.py` (openpyxl) - 3 листа: `TEAP per variant`, `Financial`, `Comparison` ### `dxf.py` (ezdxf) - Упрощённый DXF: контур участка + корпуса (для архитекторов CAD) ### Backend endpoint - `POST /api/v1/concepts/{concept_id}/export?format=pdf|xlsx|dxf` - Cache rendered output в Redis 5 мин ## Acceptance - [ ] PDF генерируется <5с - [ ] PDF читабелен на русском (Cyrillic) - [ ] Excel открывается в LibreOffice/Excel без warnings - [ ] DXF импортируется в AutoCAD/QCAD корректно - [ ] Все 3 формата для одного `concept_id` consistency ## Owner `backend-engineer` ## Effort ~6 дней ## Dependencies - **B1-2** (нужны реальные варианты) - Косвенно — `recommend_mix` API (есть) ## Risks - WeasyPrint Cyrillic шрифты — typical pitfall, заранее заготовить - DXF слои — упрощённая модель (1 слой)
Sign in to join this conversation.
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#56
No description provided.