gendesign/frontend/src
Light1YT 5779e512be feat(ptica): interactive 3D building-massing module (Three.js) [PR#5]
Port the prototype massing.js to a client-only React component (MassingScene)
behind a dynamic(ssr:false) wrapper (MassingViewer), wired into the future3d +
insolation drawers, replacing the СКОРО SoonCards.

Generative mass from parcel area (real geometry_suitability.area_ha) × КСИТ-цель
3.5 (labelled regulation-default · НСПД — honest, real max_far not in /analyze),
OrbitControls (orbit/zoom/auto-rotate), time-of-day sun with shadows (insolation
preview), live GFA/КСИТ-факт metrics (green ≤3.5 / amber over). Full renderer/
scene/RAF dispose on drawer close; graceful WebGL-unavailable fallback.

Adds three@0.184.0 + @types/three (package.json + package-lock.json in sync).
SSR-isolated (three imported only in MassingScene). TS strict, no any.
2026-06-20 16:27:36 +05:00
..
app feat(ptica): interactive 3D building-massing module (Three.js) [PR#5] 2026-06-20 16:27:36 +05:00
components feat(ptica): interactive 3D building-massing module (Three.js) [PR#5] 2026-06-20 16:27:36 +05:00
hooks fix(week-review): автофиксы код-ревью — 169 issue (label «week ревью 1») 2026-06-15 20:21:11 +05:00
lib chore(frontend): regen api-types for snapshot exclude_dev param 2026-06-18 15:51:56 +03:00
types Merge pull request 'feat(site-finder): продуктовые решения по фидбеку analyze (#1741-1745)' (#1749) from fix/sf-product-decisions into main 2026-06-18 08:43:43 +00:00
instrumentation.ts feat(frontend): @sentry/nextjs init для GlitchTip (#204 frontend) (#208) 2026-05-16 15:09:38 +00:00