@snaptrude/plugin-core 0.3.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +130 -48
- package/CHANGELOG.md +163 -0
- package/api-manifest.full.json +5600 -0
- package/api-manifest.json +5502 -0
- package/dist/api/analysis/heatmaps.d.ts +234 -0
- package/dist/api/analysis/heatmaps.d.ts.map +1 -0
- package/dist/api/analysis/illuminance.d.ts +145 -0
- package/dist/api/analysis/illuminance.d.ts.map +1 -0
- package/dist/api/analysis/index.d.ts +44 -0
- package/dist/api/analysis/index.d.ts.map +1 -0
- package/dist/api/analysis/shadows.d.ts +165 -0
- package/dist/api/analysis/shadows.d.ts.map +1 -0
- package/dist/api/analysis/sunlightHours.d.ts +208 -0
- package/dist/api/analysis/sunlightHours.d.ts.map +1 -0
- package/dist/api/analysis/sunpath.d.ts +80 -0
- package/dist/api/analysis/sunpath.d.ts.map +1 -0
- package/dist/api/core/buildings.d.ts +427 -0
- package/dist/api/core/buildings.d.ts.map +1 -0
- package/dist/api/core/comment/index.d.ts +230 -0
- package/dist/api/core/comment/index.d.ts.map +1 -0
- package/dist/api/core/geom/create/index.d.ts +247 -0
- package/dist/api/core/geom/create/index.d.ts.map +1 -0
- package/dist/api/core/geom/delete/index.d.ts +72 -0
- package/dist/api/core/geom/delete/index.d.ts.map +1 -0
- package/dist/api/core/geom/index.d.ts +24 -23
- package/dist/api/core/geom/index.d.ts.map +1 -1
- package/dist/api/core/geom/query/arc.d.ts +169 -0
- package/dist/api/core/geom/query/arc.d.ts.map +1 -0
- package/dist/api/core/geom/query/brep.d.ts +402 -0
- package/dist/api/core/geom/query/brep.d.ts.map +1 -0
- package/dist/api/core/geom/query/circle.d.ts +378 -0
- package/dist/api/core/geom/query/circle.d.ts.map +1 -0
- package/dist/api/core/geom/query/contour.d.ts +450 -0
- package/dist/api/core/geom/query/contour.d.ts.map +1 -0
- package/dist/api/core/geom/query/curve.d.ts +918 -0
- package/dist/api/core/geom/query/curve.d.ts.map +1 -0
- package/dist/api/core/geom/query/edge.d.ts +128 -0
- package/dist/api/core/geom/query/edge.d.ts.map +1 -0
- package/dist/api/core/geom/query/face.d.ts +363 -0
- package/dist/api/core/geom/query/face.d.ts.map +1 -0
- package/dist/api/core/geom/query/halfedge.d.ts +206 -0
- package/dist/api/core/geom/query/halfedge.d.ts.map +1 -0
- package/dist/api/core/geom/query/index.d.ts +61 -0
- package/dist/api/core/geom/query/index.d.ts.map +1 -0
- package/dist/api/core/geom/query/profile.d.ts +410 -0
- package/dist/api/core/geom/query/profile.d.ts.map +1 -0
- package/dist/api/core/geom/query/vertex.d.ts +187 -0
- package/dist/api/core/geom/query/vertex.d.ts.map +1 -0
- package/dist/api/core/geom/update/contour.d.ts +272 -0
- package/dist/api/core/geom/update/contour.d.ts.map +1 -0
- package/dist/api/core/geom/update/curve.d.ts +180 -0
- package/dist/api/core/geom/update/curve.d.ts.map +1 -0
- package/dist/api/core/geom/update/index.d.ts +27 -0
- package/dist/api/core/geom/update/index.d.ts.map +1 -0
- package/dist/api/core/geom/update/profile.d.ts +329 -0
- package/dist/api/core/geom/update/profile.d.ts.map +1 -0
- package/dist/api/core/groups.d.ts +485 -0
- package/dist/api/core/groups.d.ts.map +1 -0
- package/dist/api/core/history/index.d.ts +78 -0
- package/dist/api/core/history/index.d.ts.map +1 -0
- package/dist/api/core/index.d.ts +51 -1
- package/dist/api/core/index.d.ts.map +1 -1
- package/dist/api/core/io/import/index.d.ts +392 -0
- package/dist/api/core/io/import/index.d.ts.map +1 -0
- package/dist/api/core/io/index.d.ts +35 -0
- package/dist/api/core/io/index.d.ts.map +1 -0
- package/dist/api/core/io/job/index.d.ts +139 -0
- package/dist/api/core/io/job/index.d.ts.map +1 -0
- package/dist/api/core/io/query/index.d.ts +74 -0
- package/dist/api/core/io/query/index.d.ts.map +1 -0
- package/dist/api/core/io/terrain/index.d.ts +206 -0
- package/dist/api/core/io/terrain/index.d.ts.map +1 -0
- package/dist/api/core/io/underlay/index.d.ts +286 -0
- package/dist/api/core/io/underlay/index.d.ts.map +1 -0
- package/dist/api/core/layers.d.ts +402 -0
- package/dist/api/core/layers.d.ts.map +1 -0
- package/dist/api/core/math/quat.d.ts +111 -128
- package/dist/api/core/math/quat.d.ts.map +1 -1
- package/dist/api/core/math/vec3.d.ts +120 -102
- package/dist/api/core/math/vec3.d.ts.map +1 -1
- package/dist/api/core/project/index.d.ts +399 -0
- package/dist/api/core/project/index.d.ts.map +1 -0
- package/dist/api/core/tags.d.ts +755 -0
- package/dist/api/core/tags.d.ts.map +1 -0
- package/dist/api/core/units/index.d.ts +175 -0
- package/dist/api/core/units/index.d.ts.map +1 -0
- package/dist/api/core/zoom/index.d.ts +45 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -0
- package/dist/api/design/boolean/index.d.ts +168 -0
- package/dist/api/design/boolean/index.d.ts.map +1 -0
- package/dist/api/design/create/index.d.ts +837 -0
- package/dist/api/design/create/index.d.ts.map +1 -0
- package/dist/api/design/delete/index.d.ts +63 -0
- package/dist/api/design/delete/index.d.ts.map +1 -0
- package/dist/api/design/doors/index.d.ts +268 -0
- package/dist/api/design/doors/index.d.ts.map +1 -0
- package/dist/api/design/edit/index.d.ts +49 -0
- package/dist/api/design/edit/index.d.ts.map +1 -0
- package/dist/api/design/erase/index.d.ts +160 -0
- package/dist/api/design/erase/index.d.ts.map +1 -0
- package/dist/api/design/furniture/index.d.ts +123 -0
- package/dist/api/design/furniture/index.d.ts.map +1 -0
- package/dist/api/design/index.d.ts +153 -0
- package/dist/api/design/index.d.ts.map +1 -0
- package/dist/api/design/lock.d.ts +41 -0
- package/dist/api/design/lock.d.ts.map +1 -0
- package/dist/api/design/materials/index.d.ts +297 -0
- package/dist/api/design/materials/index.d.ts.map +1 -0
- package/dist/api/design/query/geometry/index.d.ts +140 -0
- package/dist/api/design/query/geometry/index.d.ts.map +1 -0
- package/dist/api/design/query/index.d.ts +1011 -0
- package/dist/api/design/query/index.d.ts.map +1 -0
- package/dist/api/design/query/spaces.d.ts +221 -0
- package/dist/api/design/query/spaces.d.ts.map +1 -0
- package/dist/api/design/selection/index.d.ts +282 -0
- package/dist/api/design/selection/index.d.ts.map +1 -0
- package/dist/api/design/shared.d.ts +38 -0
- package/dist/api/design/shared.d.ts.map +1 -0
- package/dist/api/design/transform/index.d.ts +87 -0
- package/dist/api/design/transform/index.d.ts.map +1 -0
- package/dist/api/design/update/index.d.ts +178 -0
- package/dist/api/design/update/index.d.ts.map +1 -0
- package/dist/api/design/windows/index.d.ts +189 -0
- package/dist/api/design/windows/index.d.ts.map +1 -0
- package/dist/api/entity/buildableEnvelope.d.ts +261 -0
- package/dist/api/entity/buildableEnvelope.d.ts.map +1 -0
- package/dist/api/entity/department.d.ts +0 -98
- package/dist/api/entity/department.d.ts.map +1 -1
- package/dist/api/entity/index.d.ts +9 -9
- package/dist/api/entity/index.d.ts.map +1 -1
- package/dist/api/entity/referenceLine.d.ts +49 -106
- package/dist/api/entity/referenceLine.d.ts.map +1 -1
- package/dist/api/entity/space.d.ts +484 -251
- package/dist/api/entity/space.d.ts.map +1 -1
- package/dist/api/entity/story.d.ts +49 -39
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +22 -12
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/aiInspiration.d.ts +440 -0
- package/dist/api/presentation/aiInspiration.d.ts.map +1 -0
- package/dist/api/presentation/diagrams.d.ts +81 -0
- package/dist/api/presentation/diagrams.d.ts.map +1 -0
- package/dist/api/presentation/import.d.ts +113 -0
- package/dist/api/presentation/import.d.ts.map +1 -0
- package/dist/api/presentation/index.d.ts +46 -0
- package/dist/api/presentation/index.d.ts.map +1 -0
- package/dist/api/presentation/sheets.d.ts +176 -0
- package/dist/api/presentation/sheets.d.ts.map +1 -0
- package/dist/api/presentation/views.d.ts +296 -0
- package/dist/api/presentation/views.d.ts.map +1 -0
- package/dist/api/program/adjacency.d.ts +155 -0
- package/dist/api/program/adjacency.d.ts.map +1 -0
- package/dist/api/program/areas.d.ts +360 -0
- package/dist/api/program/areas.d.ts.map +1 -0
- package/dist/api/program/classification.d.ts +135 -0
- package/dist/api/program/classification.d.ts.map +1 -0
- package/dist/api/program/cores.d.ts +174 -0
- package/dist/api/program/cores.d.ts.map +1 -0
- package/dist/api/program/departments.d.ts +431 -0
- package/dist/api/program/departments.d.ts.map +1 -0
- package/dist/api/program/index.d.ts +69 -0
- package/dist/api/program/index.d.ts.map +1 -0
- package/dist/api/program/layout.d.ts +63 -0
- package/dist/api/program/layout.d.ts.map +1 -0
- package/dist/api/program/metrics.d.ts +108 -0
- package/dist/api/program/metrics.d.ts.map +1 -0
- package/dist/api/program/site.d.ts +451 -0
- package/dist/api/program/site.d.ts.map +1 -0
- package/dist/api/program/spreadsheet.d.ts +2041 -0
- package/dist/api/program/spreadsheet.d.ts.map +1 -0
- package/dist/handles.d.ts +171 -0
- package/dist/handles.d.ts.map +1 -0
- package/dist/host-utils.d.ts +7 -5
- package/dist/host-utils.d.ts.map +1 -1
- package/dist/index.cjs +4344 -899
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3682 -865
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/scripts/generate-manifest.mjs +193 -0
- package/scripts/generate-manifest.test.mjs +215 -0
- package/src/api/analysis/heatmaps.ts +256 -0
- package/src/api/analysis/illuminance.ts +155 -0
- package/src/api/analysis/index.ts +46 -0
- package/src/api/analysis/shadows.ts +183 -0
- package/src/api/analysis/sunlightHours.ts +211 -0
- package/src/api/analysis/sunpath.ts +83 -0
- package/src/api/core/buildings.ts +485 -0
- package/src/api/core/comment/index.ts +258 -0
- package/src/api/core/geom/create/index.ts +293 -0
- package/src/api/core/geom/delete/index.ts +78 -0
- package/src/api/core/geom/index.ts +24 -23
- package/src/api/core/geom/query/arc.ts +169 -0
- package/src/api/core/geom/query/brep.ts +444 -0
- package/src/api/core/geom/query/circle.ts +404 -0
- package/src/api/core/geom/query/contour.ts +540 -0
- package/src/api/core/geom/query/curve.ts +1078 -0
- package/src/api/core/geom/query/edge.ts +130 -0
- package/src/api/core/geom/query/face.ts +403 -0
- package/src/api/core/geom/query/halfedge.ts +210 -0
- package/src/api/core/geom/query/index.ts +63 -0
- package/src/api/core/geom/query/profile.ts +473 -0
- package/src/api/core/geom/query/vertex.ts +205 -0
- package/src/api/core/geom/update/contour.ts +315 -0
- package/src/api/core/geom/update/curve.ts +209 -0
- package/src/api/core/geom/update/index.ts +29 -0
- package/src/api/core/geom/update/profile.ts +377 -0
- package/src/api/core/groups.ts +521 -0
- package/src/api/core/history/index.ts +84 -0
- package/src/api/core/index.ts +51 -1
- package/src/api/core/io/import/index.ts +432 -0
- package/src/api/core/io/index.ts +37 -0
- package/src/api/core/io/job/index.ts +140 -0
- package/src/api/core/io/query/index.ts +71 -0
- package/src/api/core/io/terrain/index.ts +214 -0
- package/src/api/core/io/underlay/index.ts +295 -0
- package/src/api/core/layers.ts +333 -0
- package/src/api/core/math/quat.ts +112 -235
- package/src/api/core/math/vec3.ts +124 -159
- package/src/api/core/project/index.ts +418 -0
- package/src/api/core/tags.ts +808 -0
- package/src/api/core/units/index.ts +164 -0
- package/src/api/core/zoom/index.ts +47 -0
- package/src/api/design/boolean/index.ts +179 -0
- package/src/api/design/create/index.ts +895 -0
- package/src/api/design/delete/index.ts +67 -0
- package/src/api/design/doors/index.ts +285 -0
- package/src/api/design/edit/index.ts +54 -0
- package/src/api/design/erase/index.ts +151 -0
- package/src/api/design/furniture/index.ts +130 -0
- package/src/api/design/index.ts +162 -0
- package/src/api/design/lock.ts +42 -0
- package/src/api/design/materials/index.ts +301 -0
- package/src/api/design/query/geometry/index.ts +166 -0
- package/src/api/design/query/index.ts +937 -0
- package/src/api/design/query/spaces.ts +132 -0
- package/src/api/design/selection/index.ts +273 -0
- package/src/api/design/shared.ts +40 -0
- package/src/api/design/transform/index.ts +93 -0
- package/src/api/design/update/index.ts +117 -0
- package/src/api/design/windows/index.ts +207 -0
- package/src/api/entity/buildableEnvelope.ts +318 -0
- package/src/api/entity/department.ts +0 -113
- package/src/api/entity/index.ts +9 -9
- package/src/api/entity/referenceLine.ts +50 -38
- package/src/api/entity/space.ts +285 -226
- package/src/api/entity/story.ts +53 -42
- package/src/api/index.ts +22 -12
- package/src/api/presentation/aiInspiration.ts +362 -0
- package/src/api/presentation/diagrams.ts +84 -0
- package/src/api/presentation/import.ts +112 -0
- package/src/api/presentation/index.ts +48 -0
- package/src/api/presentation/sheets.ts +198 -0
- package/src/api/presentation/views.ts +303 -0
- package/src/api/program/adjacency.ts +164 -0
- package/src/api/program/areas.ts +335 -0
- package/src/api/program/classification.ts +138 -0
- package/src/api/program/cores.ts +171 -0
- package/src/api/program/departments.ts +465 -0
- package/src/api/program/index.ts +71 -0
- package/src/api/program/layout.ts +68 -0
- package/src/api/program/metrics.ts +120 -0
- package/src/api/program/site.ts +419 -0
- package/src/api/program/spreadsheet.ts +2075 -0
- package/src/handles.ts +194 -0
- package/src/host-utils.ts +10 -6
- package/src/index.ts +1 -0
- package/dist/api/core/geom/arc.d.ts +0 -81
- package/dist/api/core/geom/arc.d.ts.map +0 -1
- package/dist/api/core/geom/curve.d.ts +0 -70
- package/dist/api/core/geom/curve.d.ts.map +0 -1
- package/dist/api/core/geom/line.d.ts +0 -56
- package/dist/api/core/geom/line.d.ts.map +0 -1
- package/dist/api/core/geom/profile.d.ts +0 -121
- package/dist/api/core/geom/profile.d.ts.map +0 -1
- package/dist/api/tools/copy.d.ts +0 -59
- package/dist/api/tools/copy.d.ts.map +0 -1
- package/dist/api/tools/index.d.ts +0 -33
- package/dist/api/tools/index.d.ts.map +0 -1
- package/dist/api/tools/material.d.ts +0 -51
- package/dist/api/tools/material.d.ts.map +0 -1
- package/dist/api/tools/offset.d.ts +0 -43
- package/dist/api/tools/offset.d.ts.map +0 -1
- package/dist/api/tools/selection.d.ts +0 -48
- package/dist/api/tools/selection.d.ts.map +0 -1
- package/dist/api/tools/transform.d.ts +0 -114
- package/dist/api/tools/transform.d.ts.map +0 -1
- package/dist/api/units/index.d.ts +0 -163
- package/dist/api/units/index.d.ts.map +0 -1
- package/src/api/core/geom/arc.ts +0 -70
- package/src/api/core/geom/curve.ts +0 -41
- package/src/api/core/geom/line.ts +0 -53
- package/src/api/core/geom/profile.ts +0 -94
- package/src/api/tools/copy.ts +0 -55
- package/src/api/tools/index.ts +0 -39
- package/src/api/tools/material.ts +0 -49
- package/src/api/tools/offset.ts +0 -43
- package/src/api/tools/selection.ts +0 -51
- package/src/api/tools/transform.ts +0 -117
- package/src/api/units/index.ts +0 -163
|
@@ -0,0 +1,451 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import { PluginApiReturn } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* Program site — read the planning context of the project's site/plot.
|
|
5
|
+
*
|
|
6
|
+
* The **site** is the set of plot/parcel footprints the program is planned
|
|
7
|
+
* against: their total area, per-parcel footprints (in scene XZ coordinates),
|
|
8
|
+
* and — when the project is geo-located on terrain — their geographic
|
|
9
|
+
* (latitude/longitude) rings. This is the program-planning view of the site;
|
|
10
|
+
* zoning numbers (setbacks, FAR/FSI, height limits) live in the site-analysis
|
|
11
|
+
* sheet and are not read here.
|
|
12
|
+
*
|
|
13
|
+
* All methods are reads: they return plain records and never throw — `get`
|
|
14
|
+
* returns an empty snapshot (zero totals) when there is no site, and the `list`
|
|
15
|
+
* methods return `[]`.
|
|
16
|
+
*
|
|
17
|
+
* Accessed via `snaptrude.program.site`.
|
|
18
|
+
*/
|
|
19
|
+
export declare abstract class PluginProgramSiteApi {
|
|
20
|
+
constructor();
|
|
21
|
+
/**
|
|
22
|
+
* Get a snapshot of the project site.
|
|
23
|
+
*
|
|
24
|
+
* @returns A {@linkcode PluginProgramSiteSnapshot} with the total site area,
|
|
25
|
+
* parcel count, and each parcel's footprint. Empty (zero totals, no
|
|
26
|
+
* parcels) when the project has no site.
|
|
27
|
+
*
|
|
28
|
+
* @examplePrompt What is my total site area?
|
|
29
|
+
* @examplePrompt Give me a summary of the site
|
|
30
|
+
* @examplePrompt How many site parcels are on the canvas?
|
|
31
|
+
* @examplePrompt Show the site footprint and its area
|
|
32
|
+
* @examplePrompt How big is the plot I'm building on?
|
|
33
|
+
*
|
|
34
|
+
* # Example
|
|
35
|
+
* ```ts
|
|
36
|
+
* const site = await snaptrude.program.site.get()
|
|
37
|
+
* console.log(`${site.totalArea} ${site.units} across ${site.polygonCount} parcels`)
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
abstract get(): PluginApiReturn<PluginProgramSiteSnapshot>;
|
|
41
|
+
/**
|
|
42
|
+
* Get just the total site area.
|
|
43
|
+
*
|
|
44
|
+
* A fast single-metric read — the same number as
|
|
45
|
+
* {@linkcode PluginProgramSiteSnapshot.totalArea}, without computing the
|
|
46
|
+
* per-parcel footprints.
|
|
47
|
+
*
|
|
48
|
+
* @returns A {@linkcode PluginProgramSiteAreaResult} with the total `area` and
|
|
49
|
+
* its `units` (`0` when there is no site).
|
|
50
|
+
*
|
|
51
|
+
* @examplePrompt What's the total site area?
|
|
52
|
+
* @examplePrompt How big is my plot in square metres?
|
|
53
|
+
* @examplePrompt Total parcel area on the site
|
|
54
|
+
*
|
|
55
|
+
* # Example
|
|
56
|
+
* ```ts
|
|
57
|
+
* const { area, units } = await snaptrude.program.site.getArea()
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
abstract getArea(): PluginApiReturn<PluginProgramSiteAreaResult>;
|
|
61
|
+
/**
|
|
62
|
+
* List the site parcels with their footprints (in scene coordinates).
|
|
63
|
+
*
|
|
64
|
+
* @returns A {@linkcode PluginProgramSiteListPolygonsResult} with each parcel's
|
|
65
|
+
* id, area, label, and 2D footprint (XZ ground-plane points). Empty when the
|
|
66
|
+
* project has no site.
|
|
67
|
+
*
|
|
68
|
+
* @examplePrompt List every site parcel
|
|
69
|
+
* @examplePrompt Show me each plot's footprint
|
|
70
|
+
* @examplePrompt Which site parcels are largest?
|
|
71
|
+
* @examplePrompt Get the boundary points of the site polygons
|
|
72
|
+
*
|
|
73
|
+
* # Example
|
|
74
|
+
* ```ts
|
|
75
|
+
* const { polygons, units } = await snaptrude.program.site.listPolygons()
|
|
76
|
+
* for (const p of polygons) console.log(p.label, p.area, units, p.footprint.length)
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
abstract listPolygons(): PluginApiReturn<PluginProgramSiteListPolygonsResult>;
|
|
80
|
+
/**
|
|
81
|
+
* List the site parcels as geographic latitude/longitude rings.
|
|
82
|
+
*
|
|
83
|
+
* Only available when the project is geo-located on terrain; returns `[]` (no
|
|
84
|
+
* rings) otherwise. Use {@linkcode PluginProgramSiteApi.listPolygons} for the
|
|
85
|
+
* scene-coordinate footprints that are always available.
|
|
86
|
+
*
|
|
87
|
+
* @returns A {@linkcode PluginProgramSiteListGeoPolygonsResult} with one ring
|
|
88
|
+
* of `{ lat, lng, alt }` points per parcel.
|
|
89
|
+
*
|
|
90
|
+
* @examplePrompt Give me the site polygons in latitude and longitude
|
|
91
|
+
* @examplePrompt Export the plot boundary as geo-coordinates
|
|
92
|
+
* @examplePrompt Where is the site located geographically?
|
|
93
|
+
* @examplePrompt Get the site parcels as lat/long rings
|
|
94
|
+
*
|
|
95
|
+
* # Example
|
|
96
|
+
* ```ts
|
|
97
|
+
* const { polygons } = await snaptrude.program.site.listGeoPolygons()
|
|
98
|
+
* const firstRing = polygons[0] // [{ lat, lng, alt }, ...]
|
|
99
|
+
* ```
|
|
100
|
+
*/
|
|
101
|
+
abstract listGeoPolygons(): PluginApiReturn<PluginProgramSiteListGeoPolygonsResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Get the geo-referenced terrain context of the site.
|
|
104
|
+
*
|
|
105
|
+
* The map center and bounds, the terrain size in metres, the effective zoom,
|
|
106
|
+
* and each parcel's geographic footprint and area — the context used for site
|
|
107
|
+
* analysis. Returns `null` when the project is not geo-located on terrain.
|
|
108
|
+
*
|
|
109
|
+
* @returns A {@linkcode PluginProgramSiteContext}, or `null`.
|
|
110
|
+
*
|
|
111
|
+
* @examplePrompt What's the site's map center and bounds?
|
|
112
|
+
* @examplePrompt How wide is the terrain in metres?
|
|
113
|
+
* @examplePrompt Give me the parcel geometry and areas
|
|
114
|
+
* @examplePrompt Where is the site located on the map?
|
|
115
|
+
*
|
|
116
|
+
* # Example
|
|
117
|
+
* ```ts
|
|
118
|
+
* const ctx = await snaptrude.program.site.getContext()
|
|
119
|
+
* if (ctx) console.log(ctx.center, ctx.widthInM)
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
abstract getContext(): PluginApiReturn<PluginProgramSiteContextResult>;
|
|
123
|
+
/**
|
|
124
|
+
* Get the project's geographic location.
|
|
125
|
+
*
|
|
126
|
+
* The latitude/longitude the site is geo-located at — the location the
|
|
127
|
+
* `analysis.*` sun and daylight studies compute against. Returns `null`
|
|
128
|
+
* when the project is not geo-located on terrain (there is no fallback
|
|
129
|
+
* location).
|
|
130
|
+
*
|
|
131
|
+
* Note the spelling: this result uses the full `{ latitude, longitude }`
|
|
132
|
+
* keys, while the older site reads
|
|
133
|
+
* ({@linkcode PluginProgramSiteApi.getContext},
|
|
134
|
+
* {@linkcode PluginProgramSiteApi.listGeoPolygons}) use the abbreviated
|
|
135
|
+
* `{ lat, lng }`.
|
|
136
|
+
*
|
|
137
|
+
* @returns A {@linkcode PluginProgramSiteLocationResult} —
|
|
138
|
+
* `{ latitude, longitude }`, or `null` when the project has no
|
|
139
|
+
* geo-located site.
|
|
140
|
+
*
|
|
141
|
+
* @examplePrompt What's the project's latitude and longitude?
|
|
142
|
+
* @examplePrompt Where is this site located?
|
|
143
|
+
* @examplePrompt Get the geographic coordinates of the project
|
|
144
|
+
*
|
|
145
|
+
* # Example
|
|
146
|
+
* ```ts
|
|
147
|
+
* const location = await snaptrude.program.site.getLocation()
|
|
148
|
+
* if (location) console.log(location.latitude, location.longitude)
|
|
149
|
+
* ```
|
|
150
|
+
*/
|
|
151
|
+
abstract getLocation(): PluginApiReturn<PluginProgramSiteLocationResult>;
|
|
152
|
+
/**
|
|
153
|
+
* Get the site's true-north angle.
|
|
154
|
+
*
|
|
155
|
+
* The angle in degrees the model's north (the scene's +Z axis) is rotated
|
|
156
|
+
* from true north, derived from the terrain's rotation. `0` means the
|
|
157
|
+
* model is aligned to true north. Reported in `[0, 360)`,
|
|
158
|
+
* **clockwise-positive** viewed from above (Babylon's +Y rotation sign) —
|
|
159
|
+
* note this is the opposite sign convention to `design.transform.rotate`,
|
|
160
|
+
* where positive = CCW. Returns `null` when the project is not
|
|
161
|
+
* geo-located on terrain.
|
|
162
|
+
*
|
|
163
|
+
* @returns A {@linkcode PluginProgramSiteNorthAngleResult} — the angle in
|
|
164
|
+
* degrees (`[0, 360)`, clockwise-positive), or `null` when the project
|
|
165
|
+
* has no geo-located site.
|
|
166
|
+
*
|
|
167
|
+
* @examplePrompt What's the north angle of the site?
|
|
168
|
+
* @examplePrompt How far is the model rotated from true north?
|
|
169
|
+
* @examplePrompt Get the project's true north direction
|
|
170
|
+
*
|
|
171
|
+
* # Example
|
|
172
|
+
* ```ts
|
|
173
|
+
* const northAngle = await snaptrude.program.site.getNorthAngle()
|
|
174
|
+
* if (northAngle !== null) console.log(`${northAngle}° from true north`)
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
abstract getNorthAngle(): PluginApiReturn<PluginProgramSiteNorthAngleResult>;
|
|
178
|
+
}
|
|
179
|
+
/**
|
|
180
|
+
* A 2D ground-plane point of a site parcel footprint, in scene coordinates
|
|
181
|
+
* (metres on the project's XZ plane).
|
|
182
|
+
*
|
|
183
|
+
* | Property | Type | Description |
|
|
184
|
+
* |---|---|---|
|
|
185
|
+
* | `x` | `number` | X coordinate (scene metres) |
|
|
186
|
+
* | `z` | `number` | Z coordinate (scene metres) |
|
|
187
|
+
*/
|
|
188
|
+
export declare const PluginSiteFootprintPoint: z.ZodObject<{
|
|
189
|
+
x: z.ZodNumber;
|
|
190
|
+
z: z.ZodNumber;
|
|
191
|
+
}, z.core.$strip>;
|
|
192
|
+
export type PluginSiteFootprintPoint = z.infer<typeof PluginSiteFootprintPoint>;
|
|
193
|
+
/**
|
|
194
|
+
* A geographic point of a site parcel ring (WGS84).
|
|
195
|
+
*
|
|
196
|
+
* | Property | Type | Description |
|
|
197
|
+
* |---|---|---|
|
|
198
|
+
* | `lat` | `number` | Latitude (degrees) |
|
|
199
|
+
* | `lng` | `number` | Longitude (degrees) |
|
|
200
|
+
* | `alt` | `number` | Altitude (metres) |
|
|
201
|
+
*/
|
|
202
|
+
export declare const PluginSiteGeoPoint: z.ZodObject<{
|
|
203
|
+
lat: z.ZodNumber;
|
|
204
|
+
lng: z.ZodNumber;
|
|
205
|
+
alt: z.ZodNumber;
|
|
206
|
+
}, z.core.$strip>;
|
|
207
|
+
export type PluginSiteGeoPoint = z.infer<typeof PluginSiteGeoPoint>;
|
|
208
|
+
/**
|
|
209
|
+
* A single site parcel/polygon. Its `area` is in the enclosing result's `units`.
|
|
210
|
+
*
|
|
211
|
+
* | Property | Type | Description |
|
|
212
|
+
* |---|---|---|
|
|
213
|
+
* | `id` | `string` | Unique parcel/component id |
|
|
214
|
+
* | `area` | `number` | Footprint area, in the result's `units` |
|
|
215
|
+
* | `label` | `string` | Parcel label / room type (e.g. `"site"`) |
|
|
216
|
+
* | `footprint` | {@linkcode PluginSiteFootprintPoint}`[]` | 2D ground-plane boundary points |
|
|
217
|
+
*/
|
|
218
|
+
export declare const PluginSitePolygon: z.ZodObject<{
|
|
219
|
+
id: z.ZodString;
|
|
220
|
+
area: z.ZodNumber;
|
|
221
|
+
label: z.ZodString;
|
|
222
|
+
footprint: z.ZodArray<z.ZodObject<{
|
|
223
|
+
x: z.ZodNumber;
|
|
224
|
+
z: z.ZodNumber;
|
|
225
|
+
}, z.core.$strip>>;
|
|
226
|
+
}, z.core.$strip>;
|
|
227
|
+
export type PluginSitePolygon = z.infer<typeof PluginSitePolygon>;
|
|
228
|
+
/**
|
|
229
|
+
* Result of {@linkcode PluginProgramSiteApi.get}. Per the area-units convention,
|
|
230
|
+
* `units` sits on this snapshot and every `area` below is reported in it.
|
|
231
|
+
*
|
|
232
|
+
* | Property | Type | Description |
|
|
233
|
+
* |---|---|---|
|
|
234
|
+
* | `units` | `"ft2" \| "m2"` | The unit all areas in this snapshot are reported in |
|
|
235
|
+
* | `totalArea` | `number` | Total area of all site parcels |
|
|
236
|
+
* | `polygonCount` | `number` | Number of site parcels |
|
|
237
|
+
* | `polygons` | {@linkcode PluginSitePolygon}`[]` | Each site parcel with its footprint |
|
|
238
|
+
*/
|
|
239
|
+
export declare const PluginProgramSiteSnapshot: z.ZodObject<{
|
|
240
|
+
units: z.ZodEnum<{
|
|
241
|
+
ft2: "ft2";
|
|
242
|
+
m2: "m2";
|
|
243
|
+
}>;
|
|
244
|
+
totalArea: z.ZodNumber;
|
|
245
|
+
polygonCount: z.ZodNumber;
|
|
246
|
+
polygons: z.ZodArray<z.ZodObject<{
|
|
247
|
+
id: z.ZodString;
|
|
248
|
+
area: z.ZodNumber;
|
|
249
|
+
label: z.ZodString;
|
|
250
|
+
footprint: z.ZodArray<z.ZodObject<{
|
|
251
|
+
x: z.ZodNumber;
|
|
252
|
+
z: z.ZodNumber;
|
|
253
|
+
}, z.core.$strip>>;
|
|
254
|
+
}, z.core.$strip>>;
|
|
255
|
+
}, z.core.$strip>;
|
|
256
|
+
export type PluginProgramSiteSnapshot = z.infer<typeof PluginProgramSiteSnapshot>;
|
|
257
|
+
/**
|
|
258
|
+
* Result of {@linkcode PluginProgramSiteApi.getArea}.
|
|
259
|
+
*
|
|
260
|
+
* | Property | Type | Description |
|
|
261
|
+
* |---|---|---|
|
|
262
|
+
* | `units` | `"ft2" \| "m2"` | The unit `area` is reported in |
|
|
263
|
+
* | `area` | `number` | Total site area |
|
|
264
|
+
*/
|
|
265
|
+
export declare const PluginProgramSiteAreaResult: z.ZodObject<{
|
|
266
|
+
units: z.ZodEnum<{
|
|
267
|
+
ft2: "ft2";
|
|
268
|
+
m2: "m2";
|
|
269
|
+
}>;
|
|
270
|
+
area: z.ZodNumber;
|
|
271
|
+
}, z.core.$strip>;
|
|
272
|
+
export type PluginProgramSiteAreaResult = z.infer<typeof PluginProgramSiteAreaResult>;
|
|
273
|
+
/**
|
|
274
|
+
* Result of {@linkcode PluginProgramSiteApi.listPolygons}. `units` sits on the
|
|
275
|
+
* response; each parcel's `area` is in it.
|
|
276
|
+
*
|
|
277
|
+
* | Property | Type | Description |
|
|
278
|
+
* |---|---|---|
|
|
279
|
+
* | `units` | `"ft2" \| "m2"` | The unit every parcel `area` is reported in |
|
|
280
|
+
* | `polygons` | {@linkcode PluginSitePolygon}`[]` | All site parcels |
|
|
281
|
+
*/
|
|
282
|
+
export declare const PluginProgramSiteListPolygonsResult: z.ZodObject<{
|
|
283
|
+
units: z.ZodEnum<{
|
|
284
|
+
ft2: "ft2";
|
|
285
|
+
m2: "m2";
|
|
286
|
+
}>;
|
|
287
|
+
polygons: z.ZodArray<z.ZodObject<{
|
|
288
|
+
id: z.ZodString;
|
|
289
|
+
area: z.ZodNumber;
|
|
290
|
+
label: z.ZodString;
|
|
291
|
+
footprint: z.ZodArray<z.ZodObject<{
|
|
292
|
+
x: z.ZodNumber;
|
|
293
|
+
z: z.ZodNumber;
|
|
294
|
+
}, z.core.$strip>>;
|
|
295
|
+
}, z.core.$strip>>;
|
|
296
|
+
}, z.core.$strip>;
|
|
297
|
+
export type PluginProgramSiteListPolygonsResult = z.infer<typeof PluginProgramSiteListPolygonsResult>;
|
|
298
|
+
/**
|
|
299
|
+
* Result of {@linkcode PluginProgramSiteApi.listGeoPolygons} — one ring of
|
|
300
|
+
* geographic points per parcel (`[]` when the project is not geo-located).
|
|
301
|
+
*
|
|
302
|
+
* | Property | Type | Description |
|
|
303
|
+
* |---|---|---|
|
|
304
|
+
* | `polygons` | {@linkcode PluginSiteGeoPoint}`[][]` | One ring per parcel; each ring is a list of geographic points |
|
|
305
|
+
*/
|
|
306
|
+
export declare const PluginProgramSiteListGeoPolygonsResult: z.ZodObject<{
|
|
307
|
+
polygons: z.ZodArray<z.ZodArray<z.ZodObject<{
|
|
308
|
+
lat: z.ZodNumber;
|
|
309
|
+
lng: z.ZodNumber;
|
|
310
|
+
alt: z.ZodNumber;
|
|
311
|
+
}, z.core.$strip>>>;
|
|
312
|
+
}, z.core.$strip>;
|
|
313
|
+
export type PluginProgramSiteListGeoPolygonsResult = z.infer<typeof PluginProgramSiteListGeoPolygonsResult>;
|
|
314
|
+
/**
|
|
315
|
+
* A geographic latitude/longitude point (no altitude).
|
|
316
|
+
*
|
|
317
|
+
* | Property | Type | Description |
|
|
318
|
+
* |---|---|---|
|
|
319
|
+
* | `lat` | `number` | Latitude (degrees) |
|
|
320
|
+
* | `lng` | `number` | Longitude (degrees) |
|
|
321
|
+
*/
|
|
322
|
+
export declare const PluginSiteLatLng: z.ZodObject<{
|
|
323
|
+
lat: z.ZodNumber;
|
|
324
|
+
lng: z.ZodNumber;
|
|
325
|
+
}, z.core.$strip>;
|
|
326
|
+
export type PluginSiteLatLng = z.infer<typeof PluginSiteLatLng>;
|
|
327
|
+
/**
|
|
328
|
+
* Geographic bounds of the site terrain.
|
|
329
|
+
*
|
|
330
|
+
* | Property | Type | Description |
|
|
331
|
+
* |---|---|---|
|
|
332
|
+
* | `north` | `number` | North latitude |
|
|
333
|
+
* | `south` | `number` | South latitude |
|
|
334
|
+
* | `east` | `number` | East longitude |
|
|
335
|
+
* | `west` | `number` | West longitude |
|
|
336
|
+
*/
|
|
337
|
+
export declare const PluginSiteBounds: z.ZodObject<{
|
|
338
|
+
north: z.ZodNumber;
|
|
339
|
+
south: z.ZodNumber;
|
|
340
|
+
east: z.ZodNumber;
|
|
341
|
+
west: z.ZodNumber;
|
|
342
|
+
}, z.core.$strip>;
|
|
343
|
+
export type PluginSiteBounds = z.infer<typeof PluginSiteBounds>;
|
|
344
|
+
/**
|
|
345
|
+
* A site parcel in the terrain context — geographic footprint and area.
|
|
346
|
+
*
|
|
347
|
+
* | Property | Type | Description |
|
|
348
|
+
* |---|---|---|
|
|
349
|
+
* | `footprint` | {@linkcode PluginSiteLatLng}`[]` | Geographic boundary points |
|
|
350
|
+
* | `area` | `number` | Parcel area (project area units) |
|
|
351
|
+
*/
|
|
352
|
+
export declare const PluginSiteContextParcel: z.ZodObject<{
|
|
353
|
+
footprint: z.ZodArray<z.ZodObject<{
|
|
354
|
+
lat: z.ZodNumber;
|
|
355
|
+
lng: z.ZodNumber;
|
|
356
|
+
}, z.core.$strip>>;
|
|
357
|
+
area: z.ZodNumber;
|
|
358
|
+
}, z.core.$strip>;
|
|
359
|
+
export type PluginSiteContextParcel = z.infer<typeof PluginSiteContextParcel>;
|
|
360
|
+
/**
|
|
361
|
+
* The geo-referenced terrain context of the site.
|
|
362
|
+
*
|
|
363
|
+
* | Property | Type | Description |
|
|
364
|
+
* |---|---|---|
|
|
365
|
+
* | `center` | {@linkcode PluginSiteLatLng} | Map center |
|
|
366
|
+
* | `bounds` | {@linkcode PluginSiteBounds} | Terrain bounds |
|
|
367
|
+
* | `widthInM` | `number` | Terrain width in metres |
|
|
368
|
+
* | `heightInM` | `number` | Terrain height in metres |
|
|
369
|
+
* | `zoom` | `number` | Effective map zoom |
|
|
370
|
+
* | `parcels` | {@linkcode PluginSiteContextParcel}`[]` | Site parcels with geographic footprints |
|
|
371
|
+
*/
|
|
372
|
+
export declare const PluginProgramSiteContext: z.ZodObject<{
|
|
373
|
+
center: z.ZodObject<{
|
|
374
|
+
lat: z.ZodNumber;
|
|
375
|
+
lng: z.ZodNumber;
|
|
376
|
+
}, z.core.$strip>;
|
|
377
|
+
bounds: z.ZodObject<{
|
|
378
|
+
north: z.ZodNumber;
|
|
379
|
+
south: z.ZodNumber;
|
|
380
|
+
east: z.ZodNumber;
|
|
381
|
+
west: z.ZodNumber;
|
|
382
|
+
}, z.core.$strip>;
|
|
383
|
+
widthInM: z.ZodNumber;
|
|
384
|
+
heightInM: z.ZodNumber;
|
|
385
|
+
zoom: z.ZodNumber;
|
|
386
|
+
parcels: z.ZodArray<z.ZodObject<{
|
|
387
|
+
footprint: z.ZodArray<z.ZodObject<{
|
|
388
|
+
lat: z.ZodNumber;
|
|
389
|
+
lng: z.ZodNumber;
|
|
390
|
+
}, z.core.$strip>>;
|
|
391
|
+
area: z.ZodNumber;
|
|
392
|
+
}, z.core.$strip>>;
|
|
393
|
+
}, z.core.$strip>;
|
|
394
|
+
export type PluginProgramSiteContext = z.infer<typeof PluginProgramSiteContext>;
|
|
395
|
+
/**
|
|
396
|
+
* Result of {@linkcode PluginProgramSiteApi.getContext} — the terrain context, or
|
|
397
|
+
* `null` when the project is not geo-located.
|
|
398
|
+
*/
|
|
399
|
+
export declare const PluginProgramSiteContextResult: z.ZodNullable<z.ZodObject<{
|
|
400
|
+
center: z.ZodObject<{
|
|
401
|
+
lat: z.ZodNumber;
|
|
402
|
+
lng: z.ZodNumber;
|
|
403
|
+
}, z.core.$strip>;
|
|
404
|
+
bounds: z.ZodObject<{
|
|
405
|
+
north: z.ZodNumber;
|
|
406
|
+
south: z.ZodNumber;
|
|
407
|
+
east: z.ZodNumber;
|
|
408
|
+
west: z.ZodNumber;
|
|
409
|
+
}, z.core.$strip>;
|
|
410
|
+
widthInM: z.ZodNumber;
|
|
411
|
+
heightInM: z.ZodNumber;
|
|
412
|
+
zoom: z.ZodNumber;
|
|
413
|
+
parcels: z.ZodArray<z.ZodObject<{
|
|
414
|
+
footprint: z.ZodArray<z.ZodObject<{
|
|
415
|
+
lat: z.ZodNumber;
|
|
416
|
+
lng: z.ZodNumber;
|
|
417
|
+
}, z.core.$strip>>;
|
|
418
|
+
area: z.ZodNumber;
|
|
419
|
+
}, z.core.$strip>>;
|
|
420
|
+
}, z.core.$strip>>;
|
|
421
|
+
export type PluginProgramSiteContextResult = z.infer<typeof PluginProgramSiteContextResult>;
|
|
422
|
+
/**
|
|
423
|
+
* The project's geographic location (WGS84).
|
|
424
|
+
*
|
|
425
|
+
* | Property | Type | Description |
|
|
426
|
+
* |---|---|---|
|
|
427
|
+
* | `latitude` | `number` | Latitude (degrees) |
|
|
428
|
+
* | `longitude` | `number` | Longitude (degrees) |
|
|
429
|
+
*/
|
|
430
|
+
export declare const PluginProgramSiteLocation: z.ZodObject<{
|
|
431
|
+
latitude: z.ZodNumber;
|
|
432
|
+
longitude: z.ZodNumber;
|
|
433
|
+
}, z.core.$strip>;
|
|
434
|
+
export type PluginProgramSiteLocation = z.infer<typeof PluginProgramSiteLocation>;
|
|
435
|
+
/**
|
|
436
|
+
* Result of {@linkcode PluginProgramSiteApi.getLocation} — the location, or
|
|
437
|
+
* `null` when the project is not geo-located.
|
|
438
|
+
*/
|
|
439
|
+
export declare const PluginProgramSiteLocationResult: z.ZodNullable<z.ZodObject<{
|
|
440
|
+
latitude: z.ZodNumber;
|
|
441
|
+
longitude: z.ZodNumber;
|
|
442
|
+
}, z.core.$strip>>;
|
|
443
|
+
export type PluginProgramSiteLocationResult = z.infer<typeof PluginProgramSiteLocationResult>;
|
|
444
|
+
/**
|
|
445
|
+
* Result of {@linkcode PluginProgramSiteApi.getNorthAngle} — the true-north
|
|
446
|
+
* angle in degrees (`[0, 360)`, clockwise-positive), or `null` when the
|
|
447
|
+
* project is not geo-located.
|
|
448
|
+
*/
|
|
449
|
+
export declare const PluginProgramSiteNorthAngleResult: z.ZodNullable<z.ZodNumber>;
|
|
450
|
+
export type PluginProgramSiteNorthAngleResult = z.infer<typeof PluginProgramSiteNorthAngleResult>;
|
|
451
|
+
//# sourceMappingURL=site.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/api/program/site.ts"],"names":[],"mappings":"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"}
|