How vetri1706/sitemorph works
SiteMorph is an Autodesk Forma extension that turns a selected site boundary and historical climate evidence into native design proposals, measured analysis, and a report. The main workflow runs through the UI and Zustand store: select a Forma Site Limit, restore or request FortyGuard evidence, review Climate DNA and its design brief, generate a building or subdivision, validate it with Forma analysis, and export a report. README capabilities inform several branches whose implementation was not sampled; those links are omitted where call ownership is uncertain.
Main entry points: useSiteMorphStore.ts Workflow state · forma.service.ts Forma client · forma-subdivision.service.ts Subdivision generator · overlay.service.ts Climate overlays
Components 24
Extension workflow
- Extension panel
src/pages/ExtensionPanel.tsx - Application shell
src/App.tsx - Workflow state
src/stores/useSiteMorphStore.ts - Site review
src/components/site/SiteTab.tsx - Climate review
src/components/climate/ClimateTab.tsx - Activity trace
src/components/trace/TraceTab.tsx
Climate evidence
- Climate analysis
src/services/climate.service.ts - FortyGuard client
src/services/fortyguard.service.ts - Site analysis
src/services/analysis.service.ts - Climate overlays
src/services/overlay.service.ts - Climate comparison
src/components/compare/CompareTab.tsx
Design and validation
- Design workspace
src/components/design/DesignTab.tsx - Building generator
src/services/forma-design.service.ts - Subdivision generator
src/services/forma-subdivision.service.ts - Forma placement
src/services/forma-element-placement.service.ts - Forma client
src/services/forma.service.ts
Persistence and handoff
- Report assets
src/utils/report-assets.ts - Revit handoff
src/services/revit-handoff.service.ts - FortyGuard API
server/fortyguard.ts - Analysis persistence
server/persistence.ts - Usage endpoint
api/fortyguard/usage.ts
Other components
- Forma user
- Autodesk Forma
- FortyGuard
Connections 30
- Forma user → Extension panel: uses
- Application shell → Extension panel: renders
- Extension panel → Workflow state: dispatches actions
- Workflow state → Forma client: reads site context
- Forma client → Autodesk Forma: uses SDK
- Workflow state → Site analysis: requests analysis
- Workflow state → Climate analysis: builds climate result
- Climate analysis → FortyGuard client: requests evidence
- FortyGuard client → FortyGuard API: calls API
- FortyGuard API → FortyGuard: requests activities
- Site analysis → Analysis persistence: restores or saves
- Workflow state → Site review: provides state
- Workflow state → Climate review: provides state
- Workflow state → Activity trace: provides state
- Workflow state → Climate overlays: controls layers
- Climate overlays → Forma client: gets Forma client
- Climate overlays → Autodesk Forma: renders overlays
- Workflow state → Climate comparison: provides state
- Workflow state → Design workspace: provides state
- Workflow state → Building generator: generates building
- Workflow state → Subdivision generator: generates subdivision
- Building generator → Forma client: gets Forma client
- Building generator → Autodesk Forma: creates and analyzes
- Subdivision generator → Forma client: uses Forma client
- Subdivision generator → Forma placement: verifies placement
- Subdivision generator → Autodesk Forma: creates and validates
- Workflow state → Report assets: prepares report data
- Forma user → Report assets: downloads report
- Forma user → Revit handoff: continues in Revit
- Usage endpoint → FortyGuard API: serves usage