feat(concept): 3D-макет окружения — соседние здания из кадастра в §7 (#2180) #2210

Merged
bot-backend merged 2 commits from feat/massing-neighbors-2180 into main 2026-07-02 19:33:45 +00:00

2 commits

Author SHA1 Message Date
87583fef60 chore(frontend): regen api-types.ts — neighbor-buildings route (#2180)
All checks were successful
CI / backend-tests (pull_request) Successful in 14m37s
CI / frontend-tests (pull_request) Successful in 1m19s
CI / changes (pull_request) Successful in 7s
CI / openapi-codegen-check (pull_request) Successful in 2m14s
2026-07-03 00:17:56 +05:00
964eb9008d feat(concept): 3D-макет окружения — соседние здания из кадастра в §7 (#2180)
Backend: GET /parcels/{cad}/neighbor-buildings?radius_m=300 → GeoJSON
footprint'ов cad_buildings вокруг участка (ST_DWithin geography, GIST,
EXPLAIN 28мс на плотном участке; NOT ST_Intersects с самим участком;
SimplifyPreserveTopology; LIMIT 300 по расстоянию + truncated; 404 только
при отсутствии геометрии участка). Свойства: floors, height_m (этаж 3 м),
building_name, year_built.

Frontend: hook useNeighborBuildings (TanStack) + серые низкополигональные
экструзии в Massing3DScene (0.55 opacity, fallback 6 м, cap 200, отдельная
Group с корректным dispose) + неинтерактивный слой в 2D-плане под
корпусами; cadNum прокинут из Section7Concept; standalone /concept без
кадастра работает как раньше. Подпись про НСПД-этажность при count>0.
2026-07-03 00:17:23 +05:00