@snaptrude/plugin-core 0.9.16 → 0.9.18-edgesetbacks-20261021.1

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.
Files changed (221) hide show
  1. package/AGENTS.md +231 -231
  2. package/CHANGELOG.md +408 -402
  3. package/CLAUDE.md +11 -11
  4. package/api-manifest.json +1510 -701
  5. package/dist/api/analysis/daylight.d.ts +5 -5
  6. package/dist/api/analysis/solar.d.ts +2 -2
  7. package/dist/api/core/camera/index.d.ts +29 -0
  8. package/dist/api/core/camera/index.d.ts.map +1 -1
  9. package/dist/api/core/geom/create/index.d.ts +7 -1
  10. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  11. package/dist/api/core/geom/update/contour.d.ts +8 -2
  12. package/dist/api/core/geom/update/contour.d.ts.map +1 -1
  13. package/dist/api/core/storeys/index.d.ts +5 -2
  14. package/dist/api/core/storeys/index.d.ts.map +1 -1
  15. package/dist/api/core/zoom/index.d.ts +13 -0
  16. package/dist/api/core/zoom/index.d.ts.map +1 -1
  17. package/dist/api/design/bim.d.ts +299 -0
  18. package/dist/api/design/bim.d.ts.map +1 -0
  19. package/dist/api/design/boolean/index.d.ts +2 -0
  20. package/dist/api/design/boolean/index.d.ts.map +1 -1
  21. package/dist/api/design/catalog.d.ts +320 -0
  22. package/dist/api/design/catalog.d.ts.map +1 -0
  23. package/dist/api/design/create/bulk-items.d.ts +65 -25
  24. package/dist/api/design/create/bulk-items.d.ts.map +1 -1
  25. package/dist/api/design/create/index.d.ts +299 -100
  26. package/dist/api/design/create/index.d.ts.map +1 -1
  27. package/dist/api/design/create/opening-fields.d.ts +13 -12
  28. package/dist/api/design/create/opening-fields.d.ts.map +1 -1
  29. package/dist/api/design/delete/index.d.ts +1 -0
  30. package/dist/api/design/delete/index.d.ts.map +1 -1
  31. package/dist/api/design/doors/index.d.ts +18 -24
  32. package/dist/api/design/doors/index.d.ts.map +1 -1
  33. package/dist/api/design/family.d.ts +813 -35
  34. package/dist/api/design/family.d.ts.map +1 -1
  35. package/dist/api/design/index.d.ts +16 -0
  36. package/dist/api/design/index.d.ts.map +1 -1
  37. package/dist/api/design/networks.d.ts +1703 -0
  38. package/dist/api/design/networks.d.ts.map +1 -0
  39. package/dist/api/design/query/grids.d.ts +2 -2
  40. package/dist/api/design/query/index.d.ts +42 -32
  41. package/dist/api/design/query/index.d.ts.map +1 -1
  42. package/dist/api/design/selection/index.d.ts +10 -10
  43. package/dist/api/design/types/index.d.ts +40 -24
  44. package/dist/api/design/types/index.d.ts.map +1 -1
  45. package/dist/api/design/update/index.d.ts +111 -6
  46. package/dist/api/design/update/index.d.ts.map +1 -1
  47. package/dist/api/design/windows/index.d.ts +8 -8
  48. package/dist/api/design/windows/index.d.ts.map +1 -1
  49. package/dist/api/entity/buildableEnvelope.d.ts +84 -2
  50. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  51. package/dist/api/presentation/aiInspiration.d.ts +10 -10
  52. package/dist/api/presentation/annotate.d.ts +38 -22
  53. package/dist/api/presentation/annotate.d.ts.map +1 -1
  54. package/dist/api/presentation/drawingContract.d.ts +32 -0
  55. package/dist/api/presentation/drawingContract.d.ts.map +1 -0
  56. package/dist/api/presentation/drawings.d.ts +3523 -0
  57. package/dist/api/presentation/drawings.d.ts.map +1 -0
  58. package/dist/api/presentation/export.d.ts +23 -5
  59. package/dist/api/presentation/export.d.ts.map +1 -1
  60. package/dist/api/presentation/index.d.ts +41 -12
  61. package/dist/api/presentation/index.d.ts.map +1 -1
  62. package/dist/api/presentation/placedViews.d.ts +106 -6
  63. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  64. package/dist/api/presentation/sections.d.ts +461 -0
  65. package/dist/api/presentation/sections.d.ts.map +1 -0
  66. package/dist/api/presentation/shapes.d.ts +2 -2
  67. package/dist/api/presentation/sheets.d.ts +175 -19
  68. package/dist/api/presentation/sheets.d.ts.map +1 -1
  69. package/dist/api/presentation/viewPresets.d.ts +222 -0
  70. package/dist/api/presentation/viewPresets.d.ts.map +1 -0
  71. package/dist/api/presentation/views.d.ts +141 -8
  72. package/dist/api/presentation/views.d.ts.map +1 -1
  73. package/dist/api/presentation/walkthroughs.d.ts +6 -6
  74. package/dist/errors/codes.d.ts +3 -1
  75. package/dist/errors/codes.d.ts.map +1 -1
  76. package/dist/index.cjs +3883 -2385
  77. package/dist/index.cjs.map +1 -1
  78. package/dist/index.js +3744 -2385
  79. package/dist/index.js.map +1 -1
  80. package/package.json +1 -1
  81. package/scripts/check-dist-fresh.mjs +22 -22
  82. package/scripts/generate-manifest.mjs +243 -238
  83. package/scripts/generate-manifest.test.mjs +303 -303
  84. package/src/api/analysis/daylight.ts +470 -470
  85. package/src/api/analysis/heatmaps.ts +683 -683
  86. package/src/api/analysis/illuminance.ts +155 -155
  87. package/src/api/analysis/index.ts +61 -61
  88. package/src/api/analysis/shadows.ts +183 -183
  89. package/src/api/analysis/solar.ts +237 -237
  90. package/src/api/analysis/sunlightHours.ts +211 -211
  91. package/src/api/analysis/sunpath.ts +83 -83
  92. package/src/api/analysis/weather.ts +179 -179
  93. package/src/api/core/buildings.ts +485 -485
  94. package/src/api/core/camera/index.ts +696 -667
  95. package/src/api/core/comment/index.ts +376 -376
  96. package/src/api/core/geom/create/index.ts +2139 -2133
  97. package/src/api/core/geom/delete/index.ts +84 -84
  98. package/src/api/core/geom/index.ts +35 -35
  99. package/src/api/core/geom/query/arc.ts +169 -169
  100. package/src/api/core/geom/query/brep.ts +621 -621
  101. package/src/api/core/geom/query/circle.ts +404 -404
  102. package/src/api/core/geom/query/contour.ts +540 -540
  103. package/src/api/core/geom/query/curve.ts +1102 -1102
  104. package/src/api/core/geom/query/edge.ts +130 -130
  105. package/src/api/core/geom/query/face.ts +508 -508
  106. package/src/api/core/geom/query/halfedge.ts +210 -210
  107. package/src/api/core/geom/query/index.ts +63 -63
  108. package/src/api/core/geom/query/profile.ts +473 -473
  109. package/src/api/core/geom/query/vertex.ts +205 -205
  110. package/src/api/core/geom/update/contour.ts +323 -317
  111. package/src/api/core/geom/update/curve.ts +209 -209
  112. package/src/api/core/geom/update/index.ts +29 -29
  113. package/src/api/core/geom/update/profile.ts +379 -379
  114. package/src/api/core/groups.ts +521 -521
  115. package/src/api/core/handles/index.ts +234 -234
  116. package/src/api/core/history/index.ts +84 -84
  117. package/src/api/core/index.ts +99 -99
  118. package/src/api/core/io/export/index.ts +126 -126
  119. package/src/api/core/io/import/index.ts +504 -504
  120. package/src/api/core/io/index.ts +42 -42
  121. package/src/api/core/io/job/index.ts +140 -140
  122. package/src/api/core/io/query/index.ts +71 -71
  123. package/src/api/core/io/terrain/index.ts +360 -360
  124. package/src/api/core/io/underlay/index.ts +705 -705
  125. package/src/api/core/layers.ts +540 -540
  126. package/src/api/core/math/index.ts +20 -20
  127. package/src/api/core/math/quat.ts +172 -172
  128. package/src/api/core/math/vec3.ts +179 -179
  129. package/src/api/core/mode/index.ts +108 -108
  130. package/src/api/core/project/index.ts +479 -479
  131. package/src/api/core/proposals/index.ts +570 -570
  132. package/src/api/core/storeys/index.ts +311 -308
  133. package/src/api/core/storeys/layers.ts +339 -339
  134. package/src/api/core/tags.ts +911 -911
  135. package/src/api/core/units/index.ts +164 -164
  136. package/src/api/core/user.ts +46 -46
  137. package/src/api/core/zoom/index.ts +64 -51
  138. package/src/api/design/bim.ts +210 -0
  139. package/src/api/design/boolean/index.ts +181 -179
  140. package/src/api/design/catalog.ts +203 -0
  141. package/src/api/design/create/bulk-items.ts +294 -254
  142. package/src/api/design/create/grids.ts +137 -137
  143. package/src/api/design/create/index.ts +2178 -1980
  144. package/src/api/design/create/opening-fields.ts +40 -37
  145. package/src/api/design/delete/index.ts +75 -74
  146. package/src/api/design/dimensions.ts +453 -453
  147. package/src/api/design/doors/index.ts +516 -500
  148. package/src/api/design/edit/index.ts +54 -54
  149. package/src/api/design/erase/index.ts +151 -151
  150. package/src/api/design/family.ts +1342 -704
  151. package/src/api/design/furniture/index.ts +319 -319
  152. package/src/api/design/grids.ts +237 -237
  153. package/src/api/design/index.ts +304 -274
  154. package/src/api/design/lock.ts +69 -69
  155. package/src/api/design/materials/index.ts +608 -608
  156. package/src/api/design/networks.ts +607 -0
  157. package/src/api/design/query/geometry/index.ts +319 -319
  158. package/src/api/design/query/grids.ts +197 -197
  159. package/src/api/design/query/index.ts +1236 -1226
  160. package/src/api/design/query/referenceLines.ts +52 -52
  161. package/src/api/design/query/spaces.ts +275 -275
  162. package/src/api/design/selection/index.ts +273 -273
  163. package/src/api/design/shared.ts +40 -40
  164. package/src/api/design/transform/index.ts +254 -254
  165. package/src/api/design/types/index.ts +163 -156
  166. package/src/api/design/update/index.ts +1096 -983
  167. package/src/api/design/visibility.ts +143 -143
  168. package/src/api/design/windows/index.ts +351 -333
  169. package/src/api/entity/buildableEnvelope.ts +397 -322
  170. package/src/api/entity/index.ts +30 -30
  171. package/src/api/entity/referenceLine.ts +235 -235
  172. package/src/api/entity/space.ts +612 -612
  173. package/src/api/entity/story.ts +517 -517
  174. package/src/api/index.ts +47 -47
  175. package/src/api/presentation/aiInspiration.ts +1116 -1116
  176. package/src/api/presentation/annotate.ts +417 -385
  177. package/src/api/presentation/camera.ts +289 -289
  178. package/src/api/presentation/diagrams.ts +194 -194
  179. package/src/api/presentation/drawingContract.ts +70 -0
  180. package/src/api/presentation/drawings.ts +1179 -0
  181. package/src/api/presentation/export.ts +134 -108
  182. package/src/api/presentation/import.ts +159 -159
  183. package/src/api/presentation/index.ts +160 -126
  184. package/src/api/presentation/placedViews.ts +1211 -1120
  185. package/src/api/presentation/sections.ts +420 -0
  186. package/src/api/presentation/shapes.ts +274 -274
  187. package/src/api/presentation/sheets.ts +746 -585
  188. package/src/api/presentation/slideshow.ts +134 -134
  189. package/src/api/presentation/tables.ts +84 -84
  190. package/src/api/presentation/viewPresets.ts +241 -0
  191. package/src/api/presentation/views.ts +742 -673
  192. package/src/api/presentation/walkthroughs.ts +1201 -1201
  193. package/src/api/program/adjacency.ts +164 -164
  194. package/src/api/program/areas.ts +408 -408
  195. package/src/api/program/classification.ts +138 -138
  196. package/src/api/program/cores.ts +83 -83
  197. package/src/api/program/departments.ts +517 -517
  198. package/src/api/program/index.ts +73 -73
  199. package/src/api/program/labels.ts +332 -332
  200. package/src/api/program/layout.ts +422 -422
  201. package/src/api/program/metadata.ts +364 -364
  202. package/src/api/program/metrics.ts +120 -120
  203. package/src/api/program/site.ts +748 -748
  204. package/src/api/program/spreadsheet.ts +2698 -2698
  205. package/src/api/workspace/index.ts +612 -612
  206. package/src/errors/codes.ts +143 -136
  207. package/src/errors/envelope.ts +75 -75
  208. package/src/errors/index.ts +21 -21
  209. package/src/errors/plugin-error.ts +134 -134
  210. package/src/handles.ts +297 -297
  211. package/src/host-utils.ts +67 -67
  212. package/src/index.ts +7 -7
  213. package/src/massParameters.ops.ts +246 -246
  214. package/src/massParameters.ts +427 -427
  215. package/src/types.ts +16 -16
  216. package/test/drawingContract.test.mjs +288 -0
  217. package/test/errors.test.mjs +185 -184
  218. package/test/massParameters.test.mjs +952 -952
  219. package/test/presentationViewSettings.test.mjs +85 -0
  220. package/tsconfig.json +22 -22
  221. package/tsup.config.ts +12 -12
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/api/design/networks.ts"],"names":[],"mappings":"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"}
@@ -138,10 +138,10 @@ export type PluginGridStoreyVisibility = z.infer<typeof PluginGridStoreyVisibili
138
138
  */
139
139
  export declare const PluginGridGetProperty: z.ZodEnum<{
140
140
  angle: "angle";
141
+ bounds: "bounds";
141
142
  props: "props";
142
143
  storeyVisibility: "storeyVisibility";
143
144
  wings: "wings";
144
- bounds: "bounds";
145
145
  }>;
146
146
  export type PluginGridGetProperty = z.infer<typeof PluginGridGetProperty>;
147
147
  /**
@@ -156,10 +156,10 @@ export declare const PluginGridGetArgs: z.ZodObject<{
156
156
  gridId: z.ZodString;
157
157
  properties: z.ZodArray<z.ZodEnum<{
158
158
  angle: "angle";
159
+ bounds: "bounds";
159
160
  props: "props";
160
161
  storeyVisibility: "storeyVisibility";
161
162
  wings: "wings";
162
- bounds: "bounds";
163
163
  }>>;
164
164
  }, z.core.$strip>;
165
165
  export type PluginGridGetArgs = z.infer<typeof PluginGridGetArgs>;
@@ -39,14 +39,14 @@ export declare const PluginEntityType: z.ZodEnum<{
39
39
  floor: "floor";
40
40
  wall: "wall";
41
41
  ceiling: "ceiling";
42
- door: "door";
43
- window: "window";
44
- furniture: "furniture";
45
- space: "space";
46
42
  slab: "slab";
47
43
  roof: "roof";
48
- column: "column";
44
+ furniture: "furniture";
45
+ door: "door";
46
+ window: "window";
49
47
  beam: "beam";
48
+ column: "column";
49
+ space: "space";
50
50
  staircase: "staircase";
51
51
  referenceLine: "referenceLine";
52
52
  curtainWall: "curtainWall";
@@ -87,14 +87,14 @@ export declare const PluginEntityFilter: z.ZodObject<{
87
87
  floor: "floor";
88
88
  wall: "wall";
89
89
  ceiling: "ceiling";
90
- door: "door";
91
- window: "window";
92
- furniture: "furniture";
93
- space: "space";
94
90
  slab: "slab";
95
91
  roof: "roof";
96
- column: "column";
92
+ furniture: "furniture";
93
+ door: "door";
94
+ window: "window";
97
95
  beam: "beam";
96
+ column: "column";
97
+ space: "space";
98
98
  staircase: "staircase";
99
99
  referenceLine: "referenceLine";
100
100
  curtainWall: "curtainWall";
@@ -168,14 +168,14 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
168
168
  floor: "floor";
169
169
  wall: "wall";
170
170
  ceiling: "ceiling";
171
- door: "door";
172
- window: "window";
173
- furniture: "furniture";
174
- space: "space";
175
171
  slab: "slab";
176
172
  roof: "roof";
177
- column: "column";
173
+ furniture: "furniture";
174
+ door: "door";
175
+ window: "window";
178
176
  beam: "beam";
177
+ column: "column";
178
+ space: "space";
179
179
  staircase: "staircase";
180
180
  referenceLine: "referenceLine";
181
181
  curtainWall: "curtainWall";
@@ -242,14 +242,14 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
242
242
  floor: "floor";
243
243
  wall: "wall";
244
244
  ceiling: "ceiling";
245
- door: "door";
246
- window: "window";
247
- furniture: "furniture";
248
- space: "space";
249
245
  slab: "slab";
250
246
  roof: "roof";
251
- column: "column";
247
+ furniture: "furniture";
248
+ door: "door";
249
+ window: "window";
252
250
  beam: "beam";
251
+ column: "column";
252
+ space: "space";
253
253
  staircase: "staircase";
254
254
  referenceLine: "referenceLine";
255
255
  curtainWall: "curtainWall";
@@ -307,14 +307,14 @@ export declare const PluginEntityProperties: z.ZodObject<{
307
307
  floor: "floor";
308
308
  wall: "wall";
309
309
  ceiling: "ceiling";
310
- door: "door";
311
- window: "window";
312
- furniture: "furniture";
313
- space: "space";
314
310
  slab: "slab";
315
311
  roof: "roof";
316
- column: "column";
312
+ furniture: "furniture";
313
+ door: "door";
314
+ window: "window";
317
315
  beam: "beam";
316
+ column: "column";
317
+ space: "space";
318
318
  staircase: "staircase";
319
319
  referenceLine: "referenceLine";
320
320
  curtainWall: "curtainWall";
@@ -550,6 +550,9 @@ export declare abstract class PluginDesignQueryApi {
550
550
  * List all entities of one BIM object type — wall, door, slab, panel, and so
551
551
  * on — optionally narrowed by the shared filter.
552
552
  *
553
+ * `"mass"` includes voids; a mass whose `design.query.getHost` is a slab,
554
+ * floor, roof or ceiling is a void (made by `design.create.void`).
555
+ *
553
556
  * @param type - the {@linkcode PluginEntityType} to list
554
557
  * @param filter - an optional {@linkcode PluginEntityFilter}
555
558
  * @returns matching entities as {@linkcode ComponentHandle}`[]`
@@ -631,6 +634,9 @@ export declare abstract class PluginDesignQueryApi {
631
634
  * List all the generic masses (non-room massing volumes) in the project,
632
635
  * optionally filtered by storey, building, label, mass type, or region.
633
636
  *
637
+ * Includes voids; a mass whose `design.query.getHost` is a slab, floor, roof
638
+ * or ceiling is a void (made by `design.create.void`).
639
+ *
634
640
  * @param filter - an optional {@linkcode PluginEntityFilter}
635
641
  * @returns mass {@linkcode ComponentHandle}`[]`
636
642
  *
@@ -1012,7 +1018,8 @@ export declare abstract class PluginDesignQueryApi {
1012
1018
  abstract getEntityRef(component: ComponentHandle): PluginApiReturn<ComponentHandle>;
1013
1019
  /**
1014
1020
  * List an entity's direct child entities — for example the doors and windows
1015
- * hosted in a wall.
1021
+ * hosted in a wall, or the voids (holes, shafts, openings) cut in a slab,
1022
+ * floor, roof or ceiling by `design.create.void`.
1016
1023
  * @param component - the entity's {@linkcode ComponentHandle}
1017
1024
  * @returns child {@linkcode ComponentHandle}`[]` (`[]` if none)
1018
1025
  *
@@ -1020,6 +1027,7 @@ export declare abstract class PluginDesignQueryApi {
1020
1027
  * @examplePrompt Show the child elements of the selected object
1021
1028
  * @examplePrompt Which openings belong to this wall?
1022
1029
  * @examplePrompt List everything nested under this mass
1030
+ * @examplePrompt List all holes in this slab
1023
1031
  *
1024
1032
  * # Example
1025
1033
  * ```ts
@@ -1036,7 +1044,8 @@ export declare abstract class PluginDesignQueryApi {
1036
1044
  */
1037
1045
  abstract listChildren(component: ComponentHandle): PluginApiReturn<ComponentHandle[]>;
1038
1046
  /**
1039
- * Get an entity's host/parent entity (e.g. the wall a door is cut into).
1047
+ * Get an entity's host/parent entity (e.g. the wall a door is cut into, or
1048
+ * the slab, floor, roof or ceiling a void is cut through).
1040
1049
  * @param component - the entity's {@linkcode ComponentHandle}
1041
1050
  * @returns the host {@linkcode ComponentHandle}, or `null` if top-level
1042
1051
  *
@@ -1044,6 +1053,7 @@ export declare abstract class PluginDesignQueryApi {
1044
1053
  * @examplePrompt Find the parent of the selected window
1045
1054
  * @examplePrompt What is this element attached to?
1046
1055
  * @examplePrompt Which wall hosts this window?
1056
+ * @examplePrompt Which slab is this shaft in?
1047
1057
  *
1048
1058
  * # Example
1049
1059
  * ```ts
@@ -1293,14 +1303,14 @@ export declare const PluginStoreyOutlineOptions: z.ZodObject<{
1293
1303
  floor: "floor";
1294
1304
  wall: "wall";
1295
1305
  ceiling: "ceiling";
1296
- door: "door";
1297
- window: "window";
1298
- furniture: "furniture";
1299
- space: "space";
1300
1306
  slab: "slab";
1301
1307
  roof: "roof";
1302
- column: "column";
1308
+ furniture: "furniture";
1309
+ door: "door";
1310
+ window: "window";
1303
1311
  beam: "beam";
1312
+ column: "column";
1313
+ space: "space";
1304
1314
  staircase: "staircase";
1305
1315
  referenceLine: "referenceLine";
1306
1316
  curtainWall: "curtainWall";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/index.ts"],"names":[],"mappings":"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"}
@@ -44,14 +44,14 @@ export declare const PluginSelectionEntityType: z.ZodEnum<{
44
44
  ceiling: "ceiling";
45
45
  image: "image";
46
46
  pdf: "pdf";
47
- door: "door";
48
- window: "window";
49
- furniture: "furniture";
50
- space: "space";
51
47
  slab: "slab";
52
48
  roof: "roof";
53
- column: "column";
49
+ furniture: "furniture";
50
+ door: "door";
51
+ window: "window";
54
52
  beam: "beam";
53
+ column: "column";
54
+ space: "space";
55
55
  staircase: "staircase";
56
56
  referenceLine: "referenceLine";
57
57
  pergola: "pergola";
@@ -85,14 +85,14 @@ export declare const PluginSelectionFilter: z.ZodObject<{
85
85
  ceiling: "ceiling";
86
86
  image: "image";
87
87
  pdf: "pdf";
88
- door: "door";
89
- window: "window";
90
- furniture: "furniture";
91
- space: "space";
92
88
  slab: "slab";
93
89
  roof: "roof";
94
- column: "column";
90
+ furniture: "furniture";
91
+ door: "door";
92
+ window: "window";
95
93
  beam: "beam";
94
+ column: "column";
95
+ space: "space";
96
96
  staircase: "staircase";
97
97
  referenceLine: "referenceLine";
98
98
  pergola: "pergola";
@@ -1,22 +1,25 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../../types";
3
+ /** An exact saved native wall family. Access is checked on every use; Draw selection is not registration. */
4
+ export declare const PluginNativeWallType: z.ZodObject<{
5
+ id: z.ZodString;
6
+ version: z.ZodNumber;
7
+ }, z.core.$strip>;
8
+ export type PluginNativeWallType = z.infer<typeof PluginNativeWallType>;
9
+ /** Legacy project type name/id, or an exact authorized native wall family pin. */
10
+ export declare const PluginWallType: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
11
+ id: z.ZodString;
12
+ version: z.ZodNumber;
13
+ }, z.core.$strip>]>;
14
+ export type PluginWallType = z.infer<typeof PluginWallType>;
3
15
  /**
4
- * `snaptrude.design.types` — READ-ONLY reference over the project's building
5
- * **type / assembly** system (the Project Properties layer stacks: External /
6
- * Internal walls, slabs, floors, ceilings, roofs). A type bundles a labelled
7
- * layer stack — each layer's role, thickness (engine units) and material — plus a
8
- * summed total thickness. Both the built-in defaults and any team/user-added types
9
- * are surfaced.
10
- *
11
- * Types are plain value records ({@linkcode PluginBuildingType}) — NOT scene
12
- * entities/handles. A type's `id` is a stable `"<kind>:<name>"` token
13
- * (e.g. `"wall:brickWithPlasterAndPaint"`) returned by
14
- * {@linkcode PluginDesignTypesApi.list} and consumed by
15
- * {@linkcode PluginDesignTypesApi.get}. Reads never throw — an unknown id yields
16
- * `null`; a kind with no types yields `[]`.
17
- *
18
- * These are reads only: there is no engine seam to author a type from a plugin
19
- * (types are created through the construction/project-properties UI).
16
+ * Read-only project assemblies and authorized saved native wall families.
17
+ * Legacy ids use `"<kind>:<name>"`. Native wall records carry `nativeFamily`:
18
+ * pass that exact `{ id, version }` pin to get, create.walls, create.wallRuns,
19
+ * or update.wall. Labels and bare definition ids do not select native families.
20
+ * Native lengths use Snaptrude units (1 SU = 254 mm).
21
+ * Missing ids return null; catalog/network failures reject rather than return
22
+ * an incomplete catalog. Author native families with design.family.
20
23
  */
21
24
  export declare abstract class PluginDesignTypesApi {
22
25
  constructor();
@@ -41,10 +44,10 @@ export declare abstract class PluginDesignTypesApi {
41
44
  */
42
45
  abstract list(kind: PluginBuildingTypeKind): PluginApiReturn<PluginBuildingTypeSummary[]>;
43
46
  /**
44
- * Get one building type by its `"<kind>:<name>"` id — its labelled layer stack
47
+ * Get one building type by its legacy id or exact native wall pin — its labelled layer stack
45
48
  * (each layer's role, thickness and material) plus the summed total thickness.
46
49
  *
47
- * @param typeId The type id from {@linkcode PluginDesignTypesApi.list} (e.g. `"wall:exposedConcrete"`)
50
+ * @param typeId The legacy id or nativeFamily pin from {@linkcode PluginDesignTypesApi.list}
48
51
  * @returns The full type, or `null` if no type matches
49
52
  *
50
53
  * @examplePrompt What layers make up this wall type?
@@ -55,11 +58,11 @@ export declare abstract class PluginDesignTypesApi {
55
58
  * # Example
56
59
  * ```ts
57
60
  * const [first] = await snaptrude.design.types.list("wall")
58
- * const type = await snaptrude.design.types.get(first.id)
61
+ * const type = await snaptrude.design.types.get(first.nativeFamily ?? first.id)
59
62
  * if (type) for (const layer of type.layers) console.log(layer.name, layer.thickness)
60
63
  * ```
61
64
  */
62
- abstract get(typeId: string): PluginApiReturn<PluginBuildingType | null>;
65
+ abstract get(typeId: PluginWallType): PluginApiReturn<PluginBuildingType | null>;
63
66
  }
64
67
  /** The building-type families exposed by {@linkcode PluginDesignTypesApi}. */
65
68
  export declare const PluginBuildingTypeKind: z.ZodEnum<{
@@ -84,6 +87,7 @@ export declare const PluginTypeLayer: z.ZodObject<{
84
87
  name: z.ZodString;
85
88
  role: z.ZodString;
86
89
  thickness: z.ZodNumber;
90
+ isCore: z.ZodOptional<z.ZodBoolean>;
87
91
  material: z.ZodOptional<z.ZodObject<{
88
92
  name: z.ZodString;
89
93
  type: z.ZodString;
@@ -95,7 +99,7 @@ export type PluginTypeLayer = z.infer<typeof PluginTypeLayer>;
95
99
  *
96
100
  * | Property | Type | Description |
97
101
  * |---|---|---|
98
- * | `id` | `string` | Stable `"<kind>:<name>"` token — pass to `design.types.get` |
102
+ * | `id` | `string` | Legacy `"<kind>:<name>"` token or native definition id; native lookups use `nativeFamily` |
99
103
  * | `kind` | {@linkcode PluginBuildingTypeKind} | Which family it belongs to |
100
104
  * | `label` | `string` | Human-readable label |
101
105
  * | `isDefault` | `boolean` | `true` for a built-in type, `false` for a team/user type |
@@ -113,6 +117,10 @@ export declare const PluginBuildingTypeSummary: z.ZodObject<{
113
117
  label: z.ZodString;
114
118
  isDefault: z.ZodBoolean;
115
119
  thickness: z.ZodNumber;
120
+ nativeFamily: z.ZodOptional<z.ZodObject<{
121
+ id: z.ZodString;
122
+ version: z.ZodNumber;
123
+ }, z.core.$strip>>;
116
124
  }, z.core.$strip>;
117
125
  export type PluginBuildingTypeSummary = z.infer<typeof PluginBuildingTypeSummary>;
118
126
  /**
@@ -120,7 +128,7 @@ export type PluginBuildingTypeSummary = z.infer<typeof PluginBuildingTypeSummary
120
128
  *
121
129
  * | Property | Type | Description |
122
130
  * |---|---|---|
123
- * | `id` | `string` | Stable `"<kind>:<name>"` token |
131
+ * | `id` | `string` | Legacy type token or native definition id |
124
132
  * | `kind` | {@linkcode PluginBuildingTypeKind} | Which family it belongs to |
125
133
  * | `label` | `string` | Human-readable label |
126
134
  * | `isDefault` | `boolean` | `true` for a built-in type |
@@ -139,10 +147,15 @@ export declare const PluginBuildingType: z.ZodObject<{
139
147
  label: z.ZodString;
140
148
  isDefault: z.ZodBoolean;
141
149
  thickness: z.ZodNumber;
150
+ nativeFamily: z.ZodOptional<z.ZodObject<{
151
+ id: z.ZodString;
152
+ version: z.ZodNumber;
153
+ }, z.core.$strip>>;
142
154
  layers: z.ZodArray<z.ZodObject<{
143
155
  name: z.ZodString;
144
156
  role: z.ZodString;
145
157
  thickness: z.ZodNumber;
158
+ isCore: z.ZodOptional<z.ZodBoolean>;
146
159
  material: z.ZodOptional<z.ZodObject<{
147
160
  name: z.ZodString;
148
161
  type: z.ZodString;
@@ -172,10 +185,13 @@ export type PluginDesignTypesListArgs = z.infer<typeof PluginDesignTypesListArgs
172
185
  *
173
186
  * | Property | Type | Description |
174
187
  * |---|---|---|
175
- * | `typeId` | `string` | The `"<kind>:<name>"` id from `design.types.list` |
188
+ * | `typeId` | {@linkcode PluginWallType} | A legacy `"<kind>:<name>"` id or exact `nativeFamily` pin from `design.types.list` |
176
189
  */
177
190
  export declare const PluginDesignTypesGetArgs: z.ZodObject<{
178
- typeId: z.ZodString;
191
+ typeId: z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
192
+ id: z.ZodString;
193
+ version: z.ZodNumber;
194
+ }, z.core.$strip>]>;
179
195
  }, z.core.$strip>;
180
196
  export type PluginDesignTypesGetArgs = z.infer<typeof PluginDesignTypesGetArgs>;
181
197
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;;;;;;;;;;;;;;;OAkBG;aACa,IAAI,CAClB,IAAI,EAAE,sBAAsB,GAC3B,eAAe,CAAC,yBAAyB,EAAE,CAAC;IAE/C;;;;;;;;;;;;;;;;;;OAkBG;aACa,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,eAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC;CAChF;AAED,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB;;;;;;EAAuD,CAAA;AAC1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;iBAU1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;iBAMpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;iBAEpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,6GAA6G;AAC7G,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,kFAAkF;AAClF,eAAO,MAAM,cAAc;;;mBAA4D,CAAA;AACvF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D;;;;;;;;GAQG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;;;;;;;;;;;;;;;OAkBG;aACa,IAAI,CAClB,IAAI,EAAE,sBAAsB,GAC3B,eAAe,CAAC,yBAAyB,EAAE,CAAC;IAE/C;;;;;;;;;;;;;;;;;;OAkBG;aACa,GAAG,CAAC,MAAM,EAAE,cAAc,GAAG,eAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC;CACxF;AAED,8EAA8E;AAC9E,eAAO,MAAM,sBAAsB;;;;;;EAAuD,CAAA;AAC1F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe;;;;;;;;;iBAY1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBAQpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;iBAEpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;;;;iBAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA"}
@@ -4,7 +4,8 @@ import { ComponentHandle } from "../../../handles";
4
4
  import { PluginSpaceUpdateResult } from "../../entity/space";
5
5
  import { PluginDesignChangeResult } from "../lock";
6
6
  import { MassParametersPatch, type MassParametersRecord } from "../../../massParameters";
7
- import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeUpdateResult } from "../../entity/buildableEnvelope";
7
+ import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeUpdateResult, PluginSiteEdgePatch, PluginDesignUpdateSiteEdgeResult } from "../../entity/buildableEnvelope";
8
+ import { type PluginFamilyUpdates } from "../catalog";
8
9
  /**
9
10
  * Sparse property updates for a space. Only provided fields change.
10
11
  *
@@ -218,12 +219,16 @@ export type PluginDesignUpdateParametersArgs = z.infer<typeof PluginDesignUpdate
218
219
  * |---|---|---|
219
220
  * | `thickness` | `number`? | Wall thickness, engine units (> 0) |
220
221
  * | `height` | `number`? | Wall height, engine units (> 0) |
221
- * | `type` | `string`? | Convert the wall to another wall type — a name (or `wall:`-prefixed id) from `design.types.list("wall")` |
222
+ * | `type` | {@linkcode PluginWallType}? | Legacy name/id or exact authorized native `{ id, version }` pin from `design.types.list("wall")` |
222
223
  */
223
224
  export declare const PluginWallUpdates: z.ZodObject<{
224
225
  thickness: z.ZodOptional<z.ZodNumber>;
225
226
  height: z.ZodOptional<z.ZodNumber>;
226
- type: z.ZodOptional<z.ZodString>;
227
+ type: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
228
+ id: z.ZodString;
229
+ version: z.ZodNumber;
230
+ }, z.core.$strip>]>>;
231
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
227
232
  }, z.core.$strip>;
228
233
  export type PluginWallUpdates = z.infer<typeof PluginWallUpdates>;
229
234
  /**
@@ -243,6 +248,11 @@ export type PluginWallUpdates = z.infer<typeof PluginWallUpdates>;
243
248
  export declare const PluginSlabUpdates: z.ZodObject<{
244
249
  thickness: z.ZodOptional<z.ZodNumber>;
245
250
  overhang: z.ZodOptional<z.ZodNumber>;
251
+ type: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
252
+ id: z.ZodString;
253
+ version: z.ZodNumber;
254
+ }, z.core.$strict>, z.ZodString]>>;
255
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
246
256
  }, z.core.$strip>;
247
257
  export type PluginSlabUpdates = z.infer<typeof PluginSlabUpdates>;
248
258
  /** Arguments for {@linkcode PluginDesignUpdateApi.wall}. */
@@ -251,7 +261,11 @@ export declare const PluginDesignUpdateWallArgs: z.ZodObject<{
251
261
  updates: z.ZodObject<{
252
262
  thickness: z.ZodOptional<z.ZodNumber>;
253
263
  height: z.ZodOptional<z.ZodNumber>;
254
- type: z.ZodOptional<z.ZodString>;
264
+ type: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
265
+ id: z.ZodString;
266
+ version: z.ZodNumber;
267
+ }, z.core.$strip>]>>;
268
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
255
269
  }, z.core.$strip>;
256
270
  }, z.core.$strip>;
257
271
  export type PluginDesignUpdateWallArgs = z.infer<typeof PluginDesignUpdateWallArgs>;
@@ -264,6 +278,11 @@ export declare const PluginDesignUpdateSlabArgs: z.ZodObject<{
264
278
  updates: z.ZodObject<{
265
279
  thickness: z.ZodOptional<z.ZodNumber>;
266
280
  overhang: z.ZodOptional<z.ZodNumber>;
281
+ type: z.ZodOptional<z.ZodUnion<readonly [z.ZodObject<{
282
+ id: z.ZodString;
283
+ version: z.ZodNumber;
284
+ }, z.core.$strict>, z.ZodString]>>;
285
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
267
286
  }, z.core.$strip>;
268
287
  }, z.core.$strip>;
269
288
  export type PluginDesignUpdateSlabArgs = z.infer<typeof PluginDesignUpdateSlabArgs>;
@@ -373,6 +392,11 @@ export type PluginDesignUpdateGridArgs = z.infer<typeof PluginDesignUpdateGridAr
373
392
  *
374
393
  * Migrated from the removed `entity.space.{update, updateGeometryFromProfile, bulkUpdate}`.
375
394
  * Only provided fields change; each call is undoable. Failures throw (RPC rejects).
395
+ *
396
+ * Native family edits accept `type` and/or sparse `values` from `design.catalog`.
397
+ * Length overrides use mm; dimensional arguments use SU. Contours and axes stay unchanged.
398
+ * Shared/type overrides are refused. A thickness argument must agree with the layer values.
399
+ * Family roof overhang is unsupported; use the native slab path for family overhang edits.
376
400
  */
377
401
  export declare abstract class PluginDesignUpdateApi {
378
402
  constructor();
@@ -451,6 +475,8 @@ export declare abstract class PluginDesignUpdateApi {
451
475
  * @param space - The space to update
452
476
  * @param options - `properties` (sparse) and/or `geometry` ({ profile, extrudeHeight })
453
477
  * @returns the updated space's echoed {@linkcode PluginSpaceUpdateResult}
478
+ * @throws PRECONDITION_FAILED for a void (a hole cut with `design.create.void`): delete it and
479
+ * cut a new one
454
480
  *
455
481
  * @examplePrompt Rename this room to Office
456
482
  * @examplePrompt Change this space's room type to Meeting Room
@@ -480,6 +506,7 @@ export declare abstract class PluginDesignUpdateApi {
480
506
  *
481
507
  * @param items - One {@linkcode PluginUpdateSpaceItem} per space
482
508
  * @returns one {@linkcode PluginSpaceUpdateResult} per item, in input order
509
+ * @throws PRECONDITION_FAILED for a void, like {@linkcode space}
483
510
  *
484
511
  * @examplePrompt Label all the selected rooms as Bedrooms
485
512
  * @examplePrompt Change the room type of these five spaces at once
@@ -606,6 +633,9 @@ export declare abstract class PluginDesignUpdateApi {
606
633
  * chamfer (the kernel numbers its faces differently): send the twist/taper
607
634
  * keys with `operations: []` first (the message names them), re-select on
608
635
  * the new shape, then send `{ operations }` back.
636
+ * Graph-bound spaces accept amount-only extrusion edits. Footprint, twist,
637
+ * taper and operation edits require the owning boundary tools, so generated
638
+ * walls, junctions and hosted openings remain synchronized.
609
639
  * @throws VALIDATION for a key the kind does not have (the message lists the
610
640
  * kind's keys), `kind` or `version` in a partial patch, or a value outside
611
641
  * the constructor's own rules (torus tube ≥ ring, revolution angle ∉
@@ -789,6 +819,16 @@ export declare abstract class PluginDesignUpdateApi {
789
819
  * ```
790
820
  */
791
821
  abstract ceiling(component: ComponentHandle, updates: PluginSlabUpdates): PluginApiReturn<PluginDesignChangeResult>;
822
+ /** Replace a native beam family while preserving its authored axis. Values use mm/degrees.
823
+ * @param component Native beam. @param updates Saved family reference and optional instance values.
824
+ * @returns Affected component IDs. One undoable operation; unsupported geometry fails before mutation.
825
+ */
826
+ abstract beam(component: ComponentHandle, updates: PluginFamilyUpdates): PluginApiReturn<PluginDesignChangeResult>;
827
+ /** Replace a native column family while preserving its authored axis. Values use mm/degrees.
828
+ * @param component Native column. @param updates Saved family reference and optional instance values.
829
+ * @returns Affected component IDs. One undoable operation; unsupported geometry fails before mutation.
830
+ */
831
+ abstract column(component: ComponentHandle, updates: PluginFamilyUpdates): PluginApiReturn<PluginDesignChangeResult>;
792
832
  /**
793
833
  * Set a component's **absolute world elevation** — moves it vertically so its
794
834
  * base (the bounding-box bottom, world Y) lands at `elevation`. Composed over
@@ -934,6 +974,11 @@ export declare abstract class PluginDesignUpdateApi {
934
974
  * lot-coverage limits, keeping the same envelope id. Canonical home of the
935
975
  * update formerly at `entity.buildableEnvelope.update` (now deprecated).
936
976
  *
977
+ * Edge state is preserved, like the right panel: every edge's type
978
+ * (front/side/rear) is kept. For each type whose value changed (by more than
979
+ * 2 mm), the per-edge custom distances on edges of that type are cleared;
980
+ * custom distances on types whose value did not change are kept.
981
+ *
937
982
  * @param buildableEnvelopeId - Existing envelope ID to update; non-empty and
938
983
  * must match an existing envelope on the canvas.
939
984
  * @param sitePolygon - Site polygon vertices in `lengthUnit`; minimum 3 vertices.
@@ -944,9 +989,15 @@ export declare abstract class PluginDesignUpdateApi {
944
989
  * @param farRatio - Optional FAR value, positive when provided.
945
990
  * @param lotCoverageMaxPct - Optional lot coverage cap, `0..100`.
946
991
  * @returns A {@linkcode PluginBuildableEnvelopeUpdateResult} with the
947
- * `buildableEnvelopeId` of the updated envelope.
992
+ * `buildableEnvelopeId` of the updated envelope and `clearedEdgeSetbacks`,
993
+ * the `edgeIndex` of each edge that lost its custom distance (empty when
994
+ * none). Tell the user about any cleared edges.
948
995
  * @throws If validation fails, the envelope does not exist, or generation
949
- * produces no renderable geometry.
996
+ * produces no renderable geometry. Also throws `PRECONDITION_FAILED`
997
+ * (`details.reason: "STALE_EDGE_SETTINGS"`, nothing changes) when the site
998
+ * outline changed since the edge settings were made. Tell the user;
999
+ * editing any edge on the canvas setback pills resets the edge settings
1000
+ * to the new outline (dropping the old ones), after which you can retry.
950
1001
  *
951
1002
  * @examplePrompt Change the envelope's height limit to 175 feet
952
1003
  * @examplePrompt Update the setbacks on the buildable envelope
@@ -971,5 +1022,59 @@ export declare abstract class PluginDesignUpdateApi {
971
1022
  * ```
972
1023
  */
973
1024
  abstract buildableEnvelope(buildableEnvelopeId: string, sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeUpdateResult>;
1025
+ /**
1026
+ * Change one site edge's type (front / side / rear) and/or give that edge
1027
+ * its own setback distance, the same as editing a setback pill on the
1028
+ * canvas. One undo step; the pills and Site Analysis sheet refresh.
1029
+ *
1030
+ * Address the edge with `siteId` and `edgeIndex` from
1031
+ * `program.site.listEdges()`. Setting `role` clears that edge's own
1032
+ * distance. `setback: null` clears the edge's own distance and puts it back
1033
+ * on its type's distance. When `role` and a numeric `setback` are both
1034
+ * given, the role is applied first and then the setback, so the new distance
1035
+ * wins. On the only edge of its type, a numeric setback becomes that type's
1036
+ * value (like the canvas pills), so `null` afterwards has nothing to
1037
+ * clear; set the type's value instead. Only call this when the user asks to
1038
+ * change an edge.
1039
+ *
1040
+ * @param siteId - Site component id, from `program.site.listEdges()`.
1041
+ * @param edgeIndex - Edge index from `program.site.listEdges()`; nonnegative
1042
+ * integer, upper bound checked by the host.
1043
+ * @param patch - A {@linkcode PluginSiteEdgePatch}: `role`, `setback` (a
1044
+ * number in `lengthUnit`, or `null` to clear), and `lengthUnit` (required
1045
+ * with a numeric `setback`). Provide `role` and/or `setback`.
1046
+ * @returns The refreshed {@linkcode PluginDesignUpdateSiteEdgeResult} for the
1047
+ * site, as `program.site.listEdges()` returns it.
1048
+ * @throws
1049
+ * - `HANDLE_INVALID`: unknown `siteId` (invalid site handle).
1050
+ * - `VALIDATION`: `edgeIndex` is out of range or not a nonnegative
1051
+ * integer; when the index is out of range, `details` include `edgeCount`.
1052
+ * - `PRECONDITION_FAILED`, with `details.reason` one of:
1053
+ * - `NO_BUILDABLE_ENVELOPE`: the site has no envelope to store edge
1054
+ * settings on. Ask the user whether to create a default envelope with
1055
+ * `design.create.buildableEnvelopeFromSite(siteId)` or to create one
1056
+ * themselves; do not create one unasked.
1057
+ * - `MASSING_ENVELOPE`: the site's envelope is a massing envelope. Tell
1058
+ * the user; change nothing.
1059
+ * - `ENVELOPE_TRANSFORMED`: the envelope has been rotated or scaled, so
1060
+ * edge editing is unavailable. Tell the user.
1061
+ * - `STALE_EDGE_SETTINGS`: the site outline changed since the edge
1062
+ * settings were made. Tell the user; editing any edge on the canvas
1063
+ * setback pills resets the edge settings to the new outline (dropping
1064
+ * the old ones), after which you can retry.
1065
+ *
1066
+ * @examplePrompt Make edge 2 the front
1067
+ * @examplePrompt Set just the north edge setback to 8 m
1068
+ * @examplePrompt Remove the custom setback on edge 3
1069
+ *
1070
+ * # Example
1071
+ * ```ts
1072
+ * const [{ siteId }] = (await snaptrude.program.site.listEdges()).sites
1073
+ * await snaptrude.design.update.siteEdge(siteId, 2, { role: "front" })
1074
+ * await snaptrude.design.update.siteEdge(siteId, 3, { setback: 8, lengthUnit: "m" })
1075
+ * await snaptrude.design.update.siteEdge(siteId, 3, { setback: null })
1076
+ * ```
1077
+ */
1078
+ abstract siteEdge(siteId: string, edgeIndex: number, patch: PluginSiteEdgePatch): PluginApiReturn<PluginDesignUpdateSiteEdgeResult>;
974
1079
  }
975
1080
  //# sourceMappingURL=index.d.ts.map