gendesign/frontend/src/types
Light1YT 58e71dab01 fix(report): surface ПЗЗ-градрегламент НСПД в Раздел 1 (#1962)
Light report (Section1ParcelInfo) only rendered the dead top-level
zoning.data_available=false (closed-PKK6 path) and never showed the
resolved nspd_zoning, so the resolved regulation (synth #1891) was
invisible to the user («мы выгружали НСПД — где они?»).

- Add «Градрегламент (НСПД)»-card to Раздел 1 (right column, под ЕГРН):
  тер.зона, КСИТ/max_far, пред. высота, этажность, коэф. застройки,
  КСИТ-ёмкость/пятно (от площади ЕГРН), источник + список разрешённых
  ВРИ зоны. Empty-state когда регламент не определён (gap-зоны / не-ЕКБ).
  КСИТ-microcopy расшифровывает жаргон на первой странице.
- New pure mapper adaptNspdRegulation (nspd-regulation.ts) reused by
  ptica-adapt so light report и /ptica остаются consistent.
- coerceFloat: max_far/max_building_pct приходят с провода СТРОКАМИ
  ("2.4"/"80") — фикс латентного бага cockpit'а (typeof===number
  глушил реальный строковый КСИТ в massing/insolation).
- Widen NspdZoning.max_far/max_building_pct to string|number, add
  main_vri; expose nspd_zoning on ParcelAnalyzeResponse.
- Unit test для field-mapping + coercion + empty-state.
2026-06-27 17:10:20 +05:00
..
analytics.ts fix(analytics): свежая ипотечная ставка + recommend last_updated + drop dead route (#236 #237 #251) 2026-06-13 15:22:22 +00:00
best-layouts.ts fix(sf-09): iterative cap algorithm + cap_skipped flag + unit tests 2026-05-17 15:21:51 +03:00
customPoi.ts feat(#254,#114): custom POI UI + score breakdown stacked-bar viz 2026-05-17 09:35:35 +03:00
forecast.ts fix(forecasting): honest scenarios collapse when β rate-sensitivity gate fails (audit #1871 P1) 2026-06-22 19:06:22 +05:00
nspd.ts fix(report): surface ПЗЗ-градрегламент НСПД в Раздел 1 (#1962) 2026-06-27 17:10:20 +05:00
site-finder.ts fix(report): newbuild-consistent district median + obj_class dedup (#1953) 2026-06-27 15:10:49 +05:00
trade-in.ts feat(trade-in): TI-3 frontend /trade-in page + 5 components + hooks (#317) 2026-05-17 16:58:53 +00:00