fix(concept): §7 massing-сцена осознаёт весь MultiPolygon (соседи уезжали до 1.6км) (#2180) #2463

Merged
bot-backend merged 1 commit from fix/massing-multipolygon-whole-parcel into main 2026-07-07 08:10:28 +00:00

1 commit

Author SHA1 Message Date
9815e0607e fix(concept): §7 massing-сцена осознаёт весь MultiPolygon участка
All checks were successful
CI / changes (pull_request) Successful in 10s
CI Trade-In / changes (pull_request) Successful in 10s
CI Trade-In / backend-tests (pull_request) Has been skipped
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Successful in 1m3s
CI / openapi-codegen-check (pull_request) Successful in 2m2s
extractPolygon схлопывал MultiPolygon до coordinates[0], поэтому 3D/2D
massing-сцена брала начало проекции, bbox OSM-тайла и контур от ПЕРВОЙ части,
а бэкенд анкорит соседей к ЦЕЛОЙ геометрии — для многочастных участков контекст
уезжал до ~1.6км от part[0] (163 участка на проде, max 1611м).

Сцена теперь считает origin (ringsCentroid), ground bounds (ringsBounds) и
рисует контур по ВСЕМ частям (polygonOuterRings) целого Polygon|MultiPolygon;
камера охватывает все части + корпуса. Запрос /concepts по-прежнему шлёт один
Polygon, но берёт НАИБОЛЬШУЮ по площади часть, не coordinates[0] (побочный
латентный баг — part[0] мог быть осколком). 2D Leaflet-карта фитится по всему
экстенту. Одночастные участки не затронуты (helpers делегируют к прежней логике,
байт-в-байт). ptica-песочница area-based → не затронута.

Refs #2180
2026-07-07 13:07:09 +05:00