@snaptrude/plugin-core 0.7.1 → 0.9.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.
Files changed (193) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/api-manifest.full.json +7703 -0
  3. package/api-manifest.json +2946 -259
  4. package/dist/api/analysis/daylight.d.ts +603 -0
  5. package/dist/api/analysis/daylight.d.ts.map +1 -0
  6. package/dist/api/analysis/heatmaps.d.ts +438 -14
  7. package/dist/api/analysis/heatmaps.d.ts.map +1 -1
  8. package/dist/api/analysis/index.d.ts +15 -0
  9. package/dist/api/analysis/index.d.ts.map +1 -1
  10. package/dist/api/analysis/solar.d.ts +249 -0
  11. package/dist/api/analysis/solar.d.ts.map +1 -0
  12. package/dist/api/analysis/weather.d.ts +193 -0
  13. package/dist/api/analysis/weather.d.ts.map +1 -0
  14. package/dist/api/core/camera/index.d.ts +245 -0
  15. package/dist/api/core/camera/index.d.ts.map +1 -0
  16. package/dist/api/core/comment/index.d.ts +105 -2
  17. package/dist/api/core/comment/index.d.ts.map +1 -1
  18. package/dist/api/core/geom/create/index.d.ts +331 -14
  19. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  20. package/dist/api/core/geom/delete/index.d.ts +8 -2
  21. package/dist/api/core/geom/delete/index.d.ts.map +1 -1
  22. package/dist/api/core/geom/query/arc.d.ts +5 -5
  23. package/dist/api/core/geom/query/brep.d.ts +18 -18
  24. package/dist/api/core/geom/query/circle.d.ts +18 -18
  25. package/dist/api/core/geom/query/contour.d.ts +20 -20
  26. package/dist/api/core/geom/query/curve.d.ts +49 -49
  27. package/dist/api/core/geom/query/edge.d.ts +5 -5
  28. package/dist/api/core/geom/query/face.d.ts +16 -16
  29. package/dist/api/core/geom/query/halfedge.d.ts +8 -8
  30. package/dist/api/core/geom/query/profile.d.ts +19 -19
  31. package/dist/api/core/geom/query/vertex.d.ts +8 -8
  32. package/dist/api/core/geom/update/contour.d.ts +14 -14
  33. package/dist/api/core/geom/update/curve.d.ts +7 -7
  34. package/dist/api/core/geom/update/profile.d.ts +16 -16
  35. package/dist/api/core/handles/index.d.ts +210 -0
  36. package/dist/api/core/handles/index.d.ts.map +1 -0
  37. package/dist/api/core/index.d.ts +24 -0
  38. package/dist/api/core/index.d.ts.map +1 -1
  39. package/dist/api/core/io/export/index.d.ts +134 -0
  40. package/dist/api/core/io/export/index.d.ts.map +1 -0
  41. package/dist/api/core/io/import/index.d.ts +62 -1
  42. package/dist/api/core/io/import/index.d.ts.map +1 -1
  43. package/dist/api/core/io/index.d.ts +5 -0
  44. package/dist/api/core/io/index.d.ts.map +1 -1
  45. package/dist/api/core/layers.d.ts +7 -7
  46. package/dist/api/core/mode/index.d.ts +99 -0
  47. package/dist/api/core/mode/index.d.ts.map +1 -0
  48. package/dist/api/core/proposals/index.d.ts +65 -9
  49. package/dist/api/core/proposals/index.d.ts.map +1 -1
  50. package/dist/api/core/storeys/index.d.ts +251 -0
  51. package/dist/api/core/storeys/index.d.ts.map +1 -0
  52. package/dist/api/core/tags.d.ts +24 -0
  53. package/dist/api/core/tags.d.ts.map +1 -1
  54. package/dist/api/core/user.d.ts +44 -0
  55. package/dist/api/core/user.d.ts.map +1 -0
  56. package/dist/api/core/zoom/index.d.ts +4 -0
  57. package/dist/api/core/zoom/index.d.ts.map +1 -1
  58. package/dist/api/design/boolean/index.d.ts +4 -4
  59. package/dist/api/design/create/index.d.ts +253 -47
  60. package/dist/api/design/create/index.d.ts.map +1 -1
  61. package/dist/api/design/delete/index.d.ts +3 -0
  62. package/dist/api/design/delete/index.d.ts.map +1 -1
  63. package/dist/api/design/doors/index.d.ts +36 -0
  64. package/dist/api/design/doors/index.d.ts.map +1 -1
  65. package/dist/api/design/edit/index.d.ts +1 -1
  66. package/dist/api/design/erase/index.d.ts +2 -2
  67. package/dist/api/design/furniture/index.d.ts +114 -3
  68. package/dist/api/design/furniture/index.d.ts.map +1 -1
  69. package/dist/api/design/index.d.ts +10 -0
  70. package/dist/api/design/index.d.ts.map +1 -1
  71. package/dist/api/design/materials/index.d.ts +111 -14
  72. package/dist/api/design/materials/index.d.ts.map +1 -1
  73. package/dist/api/design/query/geometry/index.d.ts +112 -0
  74. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  75. package/dist/api/design/query/index.d.ts +35 -1
  76. package/dist/api/design/query/index.d.ts.map +1 -1
  77. package/dist/api/design/query/referenceLines.d.ts +45 -0
  78. package/dist/api/design/query/referenceLines.d.ts.map +1 -0
  79. package/dist/api/design/query/spaces.d.ts +178 -5
  80. package/dist/api/design/query/spaces.d.ts.map +1 -1
  81. package/dist/api/design/transform/index.d.ts +95 -14
  82. package/dist/api/design/transform/index.d.ts.map +1 -1
  83. package/dist/api/design/types/index.d.ts +181 -0
  84. package/dist/api/design/types/index.d.ts.map +1 -0
  85. package/dist/api/design/update/index.d.ts +385 -2
  86. package/dist/api/design/update/index.d.ts.map +1 -1
  87. package/dist/api/design/visibility.d.ts +98 -0
  88. package/dist/api/design/visibility.d.ts.map +1 -0
  89. package/dist/api/entity/buildableEnvelope.d.ts +4 -0
  90. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  91. package/dist/api/entity/referenceLine.d.ts +10 -2
  92. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  93. package/dist/api/entity/space.d.ts +19 -19
  94. package/dist/api/entity/story.d.ts +148 -15
  95. package/dist/api/entity/story.d.ts.map +1 -1
  96. package/dist/api/index.d.ts +5 -0
  97. package/dist/api/index.d.ts.map +1 -1
  98. package/dist/api/presentation/annotate.d.ts +448 -0
  99. package/dist/api/presentation/annotate.d.ts.map +1 -0
  100. package/dist/api/presentation/diagrams.d.ts +49 -8
  101. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  102. package/dist/api/presentation/export.d.ts +108 -0
  103. package/dist/api/presentation/export.d.ts.map +1 -0
  104. package/dist/api/presentation/import.d.ts +6 -0
  105. package/dist/api/presentation/import.d.ts.map +1 -1
  106. package/dist/api/presentation/index.d.ts +47 -0
  107. package/dist/api/presentation/index.d.ts.map +1 -1
  108. package/dist/api/presentation/placedViews.d.ts +370 -0
  109. package/dist/api/presentation/placedViews.d.ts.map +1 -0
  110. package/dist/api/presentation/shapes.d.ts +481 -0
  111. package/dist/api/presentation/shapes.d.ts.map +1 -0
  112. package/dist/api/presentation/sheets.d.ts +410 -13
  113. package/dist/api/presentation/sheets.d.ts.map +1 -1
  114. package/dist/api/presentation/views.d.ts +165 -10
  115. package/dist/api/presentation/views.d.ts.map +1 -1
  116. package/dist/api/program/areas.d.ts +63 -3
  117. package/dist/api/program/areas.d.ts.map +1 -1
  118. package/dist/api/program/cores.d.ts +3 -99
  119. package/dist/api/program/cores.d.ts.map +1 -1
  120. package/dist/api/program/index.d.ts +2 -2
  121. package/dist/api/program/index.d.ts.map +1 -1
  122. package/dist/api/program/layout.d.ts +172 -12
  123. package/dist/api/program/layout.d.ts.map +1 -1
  124. package/dist/api/program/site.d.ts +105 -8
  125. package/dist/api/program/site.d.ts.map +1 -1
  126. package/dist/api/program/spreadsheet.d.ts +365 -41
  127. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  128. package/dist/api/workspace/index.d.ts +460 -0
  129. package/dist/api/workspace/index.d.ts.map +1 -0
  130. package/dist/handles.d.ts +64 -25
  131. package/dist/handles.d.ts.map +1 -1
  132. package/dist/index.cjs +3210 -1671
  133. package/dist/index.cjs.map +1 -1
  134. package/dist/index.js +3008 -1666
  135. package/dist/index.js.map +1 -1
  136. package/package.json +3 -2
  137. package/scripts/generate-manifest.mjs +45 -0
  138. package/src/api/analysis/daylight.ts +470 -0
  139. package/src/api/analysis/heatmaps.ts +444 -17
  140. package/src/api/analysis/index.ts +15 -0
  141. package/src/api/analysis/solar.ts +237 -0
  142. package/src/api/analysis/weather.ts +179 -0
  143. package/src/api/core/camera/index.ts +251 -0
  144. package/src/api/core/comment/index.ts +120 -2
  145. package/src/api/core/geom/create/index.ts +344 -1
  146. package/src/api/core/geom/delete/index.ts +6 -0
  147. package/src/api/core/handles/index.ts +233 -0
  148. package/src/api/core/index.ts +24 -0
  149. package/src/api/core/io/export/index.ts +126 -0
  150. package/src/api/core/io/import/index.ts +64 -0
  151. package/src/api/core/io/index.ts +5 -0
  152. package/src/api/core/mode/index.ts +96 -0
  153. package/src/api/core/proposals/index.ts +71 -11
  154. package/src/api/core/storeys/index.ts +279 -0
  155. package/src/api/core/tags.ts +27 -0
  156. package/src/api/core/user.ts +46 -0
  157. package/src/api/core/zoom/index.ts +4 -0
  158. package/src/api/design/create/index.ts +303 -36
  159. package/src/api/design/delete/index.ts +3 -0
  160. package/src/api/design/doors/index.ts +40 -0
  161. package/src/api/design/furniture/index.ts +127 -3
  162. package/src/api/design/index.ts +10 -0
  163. package/src/api/design/materials/index.ts +157 -30
  164. package/src/api/design/query/geometry/index.ts +125 -3
  165. package/src/api/design/query/index.ts +37 -7
  166. package/src/api/design/query/referenceLines.ts +52 -0
  167. package/src/api/design/query/spaces.ts +143 -0
  168. package/src/api/design/transform/index.ts +101 -12
  169. package/src/api/design/types/index.ts +156 -0
  170. package/src/api/design/update/index.ts +467 -6
  171. package/src/api/design/visibility.ts +109 -0
  172. package/src/api/entity/buildableEnvelope.ts +4 -0
  173. package/src/api/entity/referenceLine.ts +8 -0
  174. package/src/api/entity/story.ts +161 -15
  175. package/src/api/index.ts +5 -0
  176. package/src/api/presentation/annotate.ts +360 -0
  177. package/src/api/presentation/diagrams.ts +53 -8
  178. package/src/api/presentation/export.ts +108 -0
  179. package/src/api/presentation/import.ts +6 -0
  180. package/src/api/presentation/index.ts +55 -0
  181. package/src/api/presentation/placedViews.ts +363 -0
  182. package/src/api/presentation/shapes.ts +274 -0
  183. package/src/api/presentation/sheets.ts +346 -13
  184. package/src/api/presentation/views.ts +164 -12
  185. package/src/api/program/areas.ts +57 -6
  186. package/src/api/program/cores.ts +3 -91
  187. package/src/api/program/index.ts +2 -2
  188. package/src/api/program/layout.ts +182 -12
  189. package/src/api/program/site.ts +106 -8
  190. package/src/api/program/spreadsheet.ts +376 -35
  191. package/src/api/workspace/index.ts +516 -0
  192. package/src/handles.ts +77 -13
  193. package/tsconfig.json +7 -2
@@ -3,6 +3,7 @@ import { PluginApiReturn } from "../../../types";
3
3
  import { ComponentHandle } from "../../../handles";
4
4
  import { PluginSpaceUpdateResult } from "../../entity/space";
5
5
  import { PluginDesignChangeResult } from "../lock";
6
+ import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeUpdateResult } from "../../entity/buildableEnvelope";
6
7
  /**
7
8
  * Sparse property updates for a space. Only provided fields change.
8
9
  *
@@ -57,7 +58,7 @@ export declare const PluginSpacePropertyUpdates: z.ZodObject<{
57
58
  export type PluginSpacePropertyUpdates = z.infer<typeof PluginSpacePropertyUpdates>;
58
59
  /** Geometry replacement for a space — re-extrude a profile. */
59
60
  export declare const PluginSpaceGeometryUpdate: z.ZodObject<{
60
- profile: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
61
+ profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
61
62
  extrudeHeight: z.ZodNumber;
62
63
  }, z.core.$strip>;
63
64
  export type PluginSpaceGeometryUpdate = z.infer<typeof PluginSpaceGeometryUpdate>;
@@ -105,7 +106,7 @@ export declare const PluginUpdateSpaceItem: z.ZodObject<{
105
106
  }>, z.ZodUUID]>>;
106
107
  }, z.core.$strip>>;
107
108
  geometry: z.ZodOptional<z.ZodObject<{
108
- profile: z.ZodPipe<z.ZodString, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
109
+ profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
109
110
  extrudeHeight: z.ZodNumber;
110
111
  }, z.core.$strip>>;
111
112
  }, z.core.$strip>;
@@ -193,6 +194,90 @@ export declare const PluginDesignUpdateStaircaseArgs: z.ZodObject<{
193
194
  }, z.core.$strip>;
194
195
  }, z.core.$strip>;
195
196
  export type PluginDesignUpdateStaircaseArgs = z.infer<typeof PluginDesignUpdateStaircaseArgs>;
197
+ /**
198
+ * Sparse edits for a wall (all optional; at least one required). Only the
199
+ * fields you provide change. Dimensions are in **engine units** (the same
200
+ * convention as `design.doors.setWidth`). Consumed by
201
+ * {@linkcode PluginDesignUpdateApi.wall}.
202
+ *
203
+ * | Property | Type | Description |
204
+ * |---|---|---|
205
+ * | `thickness` | `number`? | Wall thickness, engine units (> 0) |
206
+ * | `height` | `number`? | Wall height, engine units (> 0) |
207
+ * | `type` | `string`? | Convert the wall to another wall type — a name (or `wall:`-prefixed id) from `design.types.list("wall")` |
208
+ */
209
+ export declare const PluginWallUpdates: z.ZodObject<{
210
+ thickness: z.ZodOptional<z.ZodNumber>;
211
+ height: z.ZodOptional<z.ZodNumber>;
212
+ type: z.ZodOptional<z.ZodString>;
213
+ }, z.core.$strip>;
214
+ export type PluginWallUpdates = z.infer<typeof PluginWallUpdates>;
215
+ /**
216
+ * Sparse dimension edits for a slab-family element (slab / floor / roof /
217
+ * ceiling). All values are engine units, the same convention as
218
+ * `design.doors.setWidth`. Consumed by {@linkcode PluginDesignUpdateApi.slab},
219
+ * `floor`, `roof`, and `ceiling`.
220
+ *
221
+ * `overhang` is only available on **slabs and roofs** (the panel's Overhang
222
+ * slider) — floors and ceilings reject it with `PRECONDITION_FAILED`.
223
+ *
224
+ * | Property | Type | Description |
225
+ * |---|---|---|
226
+ * | `thickness` | `number`? | Element thickness, engine units (> 0) |
227
+ * | `overhang` | `number`? | Absolute overhang offset, engine units (slab / roof only) |
228
+ */
229
+ export declare const PluginSlabUpdates: z.ZodObject<{
230
+ thickness: z.ZodOptional<z.ZodNumber>;
231
+ overhang: z.ZodOptional<z.ZodNumber>;
232
+ }, z.core.$strip>;
233
+ export type PluginSlabUpdates = z.infer<typeof PluginSlabUpdates>;
234
+ /** Arguments for {@linkcode PluginDesignUpdateApi.wall}. */
235
+ export declare const PluginDesignUpdateWallArgs: z.ZodObject<{
236
+ component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
237
+ updates: z.ZodObject<{
238
+ thickness: z.ZodOptional<z.ZodNumber>;
239
+ height: z.ZodOptional<z.ZodNumber>;
240
+ type: z.ZodOptional<z.ZodString>;
241
+ }, z.core.$strip>;
242
+ }, z.core.$strip>;
243
+ export type PluginDesignUpdateWallArgs = z.infer<typeof PluginDesignUpdateWallArgs>;
244
+ /**
245
+ * Arguments for the slab-family updaters —
246
+ * {@linkcode PluginDesignUpdateApi.slab}, `floor`, `roof`, `ceiling`.
247
+ */
248
+ export declare const PluginDesignUpdateSlabArgs: z.ZodObject<{
249
+ component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
250
+ updates: z.ZodObject<{
251
+ thickness: z.ZodOptional<z.ZodNumber>;
252
+ overhang: z.ZodOptional<z.ZodNumber>;
253
+ }, z.core.$strip>;
254
+ }, z.core.$strip>;
255
+ export type PluginDesignUpdateSlabArgs = z.infer<typeof PluginDesignUpdateSlabArgs>;
256
+ /** Arguments for {@linkcode PluginDesignUpdateApi.setElevation}. */
257
+ export declare const PluginDesignSetElevationArgs: z.ZodObject<{
258
+ component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
259
+ elevation: z.ZodNumber;
260
+ }, z.core.$strip>;
261
+ export type PluginDesignSetElevationArgs = z.infer<typeof PluginDesignSetElevationArgs>;
262
+ /** Arguments for {@linkcode PluginDesignUpdateApi.setBaseOffset}. */
263
+ export declare const PluginDesignSetBaseOffsetArgs: z.ZodObject<{
264
+ component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
265
+ offset: z.ZodNumber;
266
+ }, z.core.$strip>;
267
+ export type PluginDesignSetBaseOffsetArgs = z.infer<typeof PluginDesignSetBaseOffsetArgs>;
268
+ /**
269
+ * Arguments for {@linkcode PluginDesignUpdateApi.setStorey}.
270
+ *
271
+ * | Property | Type | Description |
272
+ * |---|---|---|
273
+ * | `components` | {@linkcode ComponentHandle}`[]` | The components to reassign |
274
+ * | `storey` | `number` | Target integer storey number (`entity.story` convention; must exist) |
275
+ */
276
+ export declare const PluginDesignSetStoreyArgs: z.ZodObject<{
277
+ components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
278
+ storey: z.ZodNumber;
279
+ }, z.core.$strip>;
280
+ export type PluginDesignSetStoreyArgs = z.infer<typeof PluginDesignSetStoreyArgs>;
196
281
  /**
197
282
  * `snaptrude.design.update` — edit existing scene entities (properties + geometry).
198
283
  *
@@ -256,6 +341,9 @@ export declare abstract class PluginDesignUpdateApi {
256
341
  * @examplePrompt Move this space into the Circulation department
257
342
  * @examplePrompt Exclude this room from the area calculations
258
343
  *
344
+ * @performance For MORE THAN ONE space, call `design.update.spaces(items[])` — the whole
345
+ * batch is one host round-trip. Looping this single-space updater is N round-trips.
346
+ *
259
347
  * # Example
260
348
  * ```ts
261
349
  * await snaptrude.design.update.space("space-id", { properties: { room_type: "Office" } })
@@ -282,6 +370,9 @@ export declare abstract class PluginDesignUpdateApi {
282
370
  * @examplePrompt Bulk-assign these spaces to the Service department
283
371
  * @examplePrompt Mark all of these rooms as excluded from area in one update
284
372
  *
373
+ * @performance Bulk update — the whole batch is ONE host round-trip. Prefer over looping
374
+ * `design.update.space`: build the `items[]` array first, then make one call.
375
+ *
285
376
  * # Example
286
377
  * ```ts
287
378
  * // Re-label every selected room and mark it NET area — one undoable bulk update
@@ -342,5 +433,297 @@ export declare abstract class PluginDesignUpdateApi {
342
433
  * ```
343
434
  */
344
435
  abstract staircase(staircases: ComponentHandle[], params: PluginStaircaseParamUpdates): PluginApiReturn<PluginDesignChangeResult>;
436
+ /**
437
+ * Edit a **wall** — its thickness and/or height (the same command the
438
+ * properties panel's Thickness/Height fields drive) and/or its **wall type**
439
+ * (the panel's Wall Types dropdown: converts the wall to another type,
440
+ * rebuilding its layer stack and materials). Sparse: only the fields you
441
+ * provide change. Undoable; the geometry rebuilds and any dimension lines
442
+ * refresh. Stacked-wall companions and hosted fenestration are handled
443
+ * exactly as the panel does.
444
+ *
445
+ * Thickness/height are in **engine units** (the same convention as
446
+ * `design.doors.setWidth`) and must be `> 0`. Shrinking a wall past its
447
+ * openings is rejected by the engine (the wall is skipped with no change).
448
+ * `type` accepts a type name from `design.types.list("wall")` (or its
449
+ * `wall:`-prefixed id); when combined with dimensions, the type conversion
450
+ * is applied first so an explicit thickness/height wins over the type's
451
+ * defaults. Re-applying the wall's current type is a no-op.
452
+ *
453
+ * Throws when the handle is not a wall, when the wall is locked, when the
454
+ * handle is gone/forged, when `type` names an unknown wall type, when the
455
+ * engine rejects the conversion (e.g. a curved wall thinner than the new
456
+ * type's minimum thickness), or when no field is provided.
457
+ *
458
+ * A type conversion (and a thickness edit on a parametric wall) REBUILDS the
459
+ * wall, replacing it with a new component: the input handle is then dead
460
+ * (further calls throw HANDLE_INVALID) and `affected[0]` carries the
461
+ * replacement's handle — use it for any follow-up calls.
462
+ *
463
+ * @param component - The wall to edit
464
+ * @param updates - Sparse {@linkcode PluginWallUpdates} (at least one field)
465
+ * @returns the affected wall — after a rebuild, the REPLACEMENT wall's handle
466
+ *
467
+ * @examplePrompt Make this wall 230mm thick
468
+ * @examplePrompt Set the selected wall's height to 3 metres
469
+ * @examplePrompt Thicken every exterior wall to 300
470
+ * @examplePrompt Change this wall to a Glass Wall
471
+ * @examplePrompt Convert all the partitions on this floor to Brick Wall
472
+ *
473
+ * # Example
474
+ * ```ts
475
+ * // Convert every wall on storey 1 to the first listed wall type
476
+ * const [wallType] = await snaptrude.design.types.list("wall")
477
+ * const walls = await snaptrude.design.query.listWalls({ storeys: [1] })
478
+ * for (const wall of walls) {
479
+ * await snaptrude.design.update.wall(wall, { type: wallType.id })
480
+ * }
481
+ * ```
482
+ */
483
+ abstract wall(component: ComponentHandle, updates: PluginWallUpdates): PluginApiReturn<PluginDesignChangeResult>;
484
+ /**
485
+ * Edit a **slab's** thickness and/or overhang — the same commands the
486
+ * properties panel's Thickness field and Overhang slider drive. Sparse: only
487
+ * the fields you provide change. Undoable; the slab rebuilds and dimension
488
+ * lines refresh. Both values are in **engine units** (the same convention as
489
+ * `design.doors.setWidth`); thickness must be `> 0`, overhang is an absolute
490
+ * offset (negative insets the slab) and re-applying the current overhang is
491
+ * a no-op.
492
+ *
493
+ * Throws when the handle is not a slab, when it is locked, when the handle is
494
+ * gone/forged, when `overhang` is set on a slab that has no overhang (plinth /
495
+ * basement slabs, or overhang disabled), or when no field is provided.
496
+ *
497
+ * @param component - The slab to edit
498
+ * @param updates - Sparse {@linkcode PluginSlabUpdates} (at least one field)
499
+ * @returns the affected slab
500
+ *
501
+ * @examplePrompt Set this slab's thickness to 250mm
502
+ * @examplePrompt Make the floor slab 300 thick
503
+ * @examplePrompt Give this slab a 200 overhang
504
+ * @examplePrompt Remove the overhang on every slab on level 2
505
+ *
506
+ * # Example
507
+ * ```ts
508
+ * const [slab] = await snaptrude.design.query.listSlabs()
509
+ * await snaptrude.design.update.slab(slab, { thickness: 250, overhang: 200 })
510
+ * ```
511
+ */
512
+ abstract slab(component: ComponentHandle, updates: PluginSlabUpdates): PluginApiReturn<PluginDesignChangeResult>;
513
+ /**
514
+ * Edit a **floor's** thickness — the slab-family updater for floors (shares
515
+ * the slab thickness command). Undoable. Thickness is in **engine units**
516
+ * (the `design.doors.setWidth` convention) and must be `> 0`. Floors have no
517
+ * Overhang control, so `overhang` is rejected with `PRECONDITION_FAILED`.
518
+ *
519
+ * Throws when the handle is not a floor, when it is locked, when the handle
520
+ * is gone/forged, when `overhang` is provided, or when no field is provided.
521
+ *
522
+ * @param component - The floor to edit
523
+ * @param updates - {@linkcode PluginSlabUpdates} (a `thickness`)
524
+ * @returns the affected floor
525
+ *
526
+ * @examplePrompt Make this floor 200mm thick
527
+ * @examplePrompt Set every floor to a 250 thickness
528
+ * @examplePrompt Thicken the ground floor slab to 300
529
+ *
530
+ * # Example
531
+ * ```ts
532
+ * const [floor] = await snaptrude.design.query.listFloors()
533
+ * await snaptrude.design.update.floor(floor, { thickness: 200 })
534
+ * ```
535
+ */
536
+ abstract floor(component: ComponentHandle, updates: PluginSlabUpdates): PluginApiReturn<PluginDesignChangeResult>;
537
+ /**
538
+ * Edit a **roof's** thickness and/or overhang — the same commands the roof
539
+ * panel's Thickness field and Overhang slider drive (shares the slab-family
540
+ * machinery). Sparse: only the fields you provide change. Undoable. Both
541
+ * values are in **engine units** (the `design.doors.setWidth` convention);
542
+ * thickness must be `> 0`, overhang is an absolute offset (negative insets
543
+ * the roof) and re-applying the current overhang is a no-op.
544
+ *
545
+ * Throws when the handle is not a roof, when it is locked, when the handle is
546
+ * gone/forged, when `overhang` is set on a roof whose overhang is disabled,
547
+ * or when no field is provided.
548
+ *
549
+ * @param component - The roof to edit
550
+ * @param updates - Sparse {@linkcode PluginSlabUpdates} (at least one field)
551
+ * @returns the affected roof
552
+ *
553
+ * @examplePrompt Make this roof 300mm thick
554
+ * @examplePrompt Set the roof slab thickness to 250
555
+ * @examplePrompt Give the roof a 600 overhang
556
+ * @examplePrompt Pull the roof overhang back to 0
557
+ *
558
+ * # Example
559
+ * ```ts
560
+ * const [roof] = await snaptrude.design.query.listRoofs()
561
+ * await snaptrude.design.update.roof(roof, { overhang: 600 })
562
+ * ```
563
+ */
564
+ abstract roof(component: ComponentHandle, updates: PluginSlabUpdates): PluginApiReturn<PluginDesignChangeResult>;
565
+ /**
566
+ * Edit a **ceiling's** thickness — the slab-family updater for ceilings
567
+ * (shares the slab thickness command). Undoable. Thickness is in **engine
568
+ * units** (the `design.doors.setWidth` convention) and must be `> 0`.
569
+ * Ceilings have no Overhang control, so `overhang` is rejected with
570
+ * `PRECONDITION_FAILED`.
571
+ *
572
+ * Throws when the handle is not a ceiling, when it is locked, when the handle
573
+ * is gone/forged, when `overhang` is provided, or when no field is provided.
574
+ *
575
+ * @param component - The ceiling to edit
576
+ * @param updates - {@linkcode PluginSlabUpdates} (a `thickness`)
577
+ * @returns the affected ceiling
578
+ *
579
+ * @examplePrompt Make this ceiling 150mm thick
580
+ * @examplePrompt Set every ceiling to a 100 thickness
581
+ * @examplePrompt Thicken the ceiling to 200
582
+ *
583
+ * # Example
584
+ * ```ts
585
+ * const [ceiling] = await snaptrude.design.query.listCeilings()
586
+ * await snaptrude.design.update.ceiling(ceiling, { thickness: 150 })
587
+ * ```
588
+ */
589
+ abstract ceiling(component: ComponentHandle, updates: PluginSlabUpdates): PluginApiReturn<PluginDesignChangeResult>;
590
+ /**
591
+ * Set a component's **absolute world elevation** — moves it vertically so its
592
+ * base (the bounding-box bottom, world Y) lands at `elevation`. Composed over
593
+ * the canonical command-backed move machinery, so it is undoable and persisted
594
+ * exactly like dragging the element up or down; per-type invariants (e.g. a
595
+ * staircase's base offset) stay in sync. `elevation` is in **engine units**
596
+ * (the `design.doors.setWidth` convention). Re-applying the current elevation
597
+ * is a no-op.
598
+ *
599
+ * Throws when the component is locked or the handle is gone/forged.
600
+ *
601
+ * @param component - The component to move vertically
602
+ * @param elevation - Target world elevation of the component's base (engine units)
603
+ * @returns the affected component
604
+ *
605
+ * @examplePrompt Set this element's elevation to 3000
606
+ * @examplePrompt Raise this mass so its base sits at 3 metres
607
+ * @examplePrompt Drop the selected slab to elevation 0
608
+ * @examplePrompt Put this staircase's base at 3200
609
+ *
610
+ * # Example
611
+ * ```ts
612
+ * // Sit the roof slab exactly at the top of a 3m storey
613
+ * const [roof] = await snaptrude.design.query.listRoofs()
614
+ * await snaptrude.design.update.setElevation(roof, 3000)
615
+ * ```
616
+ */
617
+ abstract setElevation(component: ComponentHandle, elevation: number): PluginApiReturn<PluginDesignChangeResult>;
618
+ /**
619
+ * Set a component's **base offset** — its vertical distance above its own
620
+ * storey's base level. Moves the component so its base lands at
621
+ * `storeyBase + offset`, composed over the same command-backed move machinery
622
+ * as {@linkcode setElevation} (undoable, persisted, per-type invariants kept
623
+ * in sync). Use this instead of {@linkcode setElevation} when you want an
624
+ * offset relative to the storey rather than an absolute world height.
625
+ * `offset` is in **engine units** (the `design.doors.setWidth` convention);
626
+ * `0` sits the base flush with the storey base. Re-applying the current
627
+ * offset is a no-op.
628
+ *
629
+ * Throws when the component is locked, when it has no storey to offset from,
630
+ * or when the handle is gone/forged.
631
+ *
632
+ * @param component - The component to offset
633
+ * @param offset - Distance of the component's base above its storey base (engine units)
634
+ * @returns the affected component
635
+ *
636
+ * @examplePrompt Lift this element 300 above its floor
637
+ * @examplePrompt Set this staircase's base offset to 0
638
+ * @examplePrompt Raise the selected mass 500 off the storey base
639
+ * @examplePrompt Offset this slab 150 above the floor level
640
+ *
641
+ * # Example
642
+ * ```ts
643
+ * const [stair] = await snaptrude.design.query.listStaircases()
644
+ * await snaptrude.design.update.setBaseOffset(stair, 0)
645
+ * ```
646
+ */
647
+ abstract setBaseOffset(component: ComponentHandle, offset: number): PluginApiReturn<PluginDesignChangeResult>;
648
+ /**
649
+ * Reassign one or more components to another **storey** — the same operation
650
+ * as the properties panel's Story dropdown, and it works across element kinds
651
+ * exactly like the panel (walls, slabs, masses, furniture, staircases, ...).
652
+ * Each component is moved vertically to the target storey's level (per-kind
653
+ * placement rules — e.g. a slab sits at the storey base, a wall on it) and
654
+ * its storey assignment, children, and dimension lines update together as
655
+ * **one undoable operation**.
656
+ *
657
+ * `storey` is an integer storey number in the `entity.story` convention
658
+ * (`1` is the ground storey, `-1` the first basement; `0` does not exist)
659
+ * and **must already exist** in each component's building — this call never
660
+ * creates storeys (use `core.storeys.create` first). Components already on
661
+ * the target storey are skipped (no-op) and are not echoed in `affected`.
662
+ *
663
+ * Throws when the target storey does not exist, when any component is
664
+ * locked, or when a handle is gone/forged — all before anything moves
665
+ * (all-or-nothing).
666
+ *
667
+ * @param components - The components to reassign
668
+ * @param storey - Target storey number (integer, `entity.story` convention)
669
+ * @returns the components actually reassigned
670
+ *
671
+ * @examplePrompt Move this sofa to storey 2
672
+ * @examplePrompt Put the selected walls on the first basement level
673
+ * @examplePrompt Send everything on this storey up one level
674
+ * @examplePrompt Reassign these slabs to storey 3
675
+ *
676
+ * # Example
677
+ * ```ts
678
+ * // Move the current selection up to storey 2
679
+ * const selection = await snaptrude.design.selection.get()
680
+ * const { affected } = await snaptrude.design.update.setStorey(selection, 2)
681
+ * console.log("moved", affected.length, "components")
682
+ * ```
683
+ */
684
+ abstract setStorey(components: ComponentHandle[], storey: number): PluginApiReturn<PluginDesignChangeResult>;
685
+ /**
686
+ * Update an existing parametric buildable envelope — regenerate the zoning
687
+ * volume from a revised site polygon, setbacks, vertical cap, or FAR and
688
+ * lot-coverage limits, keeping the same envelope id. Canonical home of the
689
+ * update formerly at `entity.buildableEnvelope.update` (now deprecated).
690
+ *
691
+ * @param buildableEnvelopeId - Existing envelope ID to update; non-empty and
692
+ * must match an existing envelope on the canvas.
693
+ * @param sitePolygon - Site polygon vertices in `lengthUnit`; minimum 3 vertices.
694
+ * @param lengthUnit - Unit used by all length fields (`"ft" | "m"`).
695
+ * @param setbacks - Setback profile, ground tier first; minimum 1 tier.
696
+ * @param verticalCap - Maximum height or floor count.
697
+ * @param floorToFloor - Required floor-to-floor height in `lengthUnit`.
698
+ * @param farRatio - Optional FAR value, positive when provided.
699
+ * @param lotCoverageMaxPct - Optional lot coverage cap, `0..100`.
700
+ * @returns A {@linkcode PluginBuildableEnvelopeUpdateResult} with the
701
+ * `buildableEnvelopeId` of the updated envelope.
702
+ * @throws If validation fails, the envelope does not exist, or generation
703
+ * produces no renderable geometry.
704
+ *
705
+ * @examplePrompt Change the envelope's height limit to 175 feet
706
+ * @examplePrompt Update the setbacks on the buildable envelope
707
+ * @examplePrompt Regenerate the zoning envelope with a new site boundary
708
+ * @examplePrompt Increase the FAR on the buildable volume
709
+ *
710
+ * # Example
711
+ * ```ts
712
+ * const { buildableEnvelopeId } = await snaptrude.design.update.buildableEnvelope(
713
+ * existingId,
714
+ * [
715
+ * { x: 0, z: 0 },
716
+ * { x: 100, z: 0 },
717
+ * { x: 100, z: 80 },
718
+ * { x: 0, z: 80 },
719
+ * ],
720
+ * "ft",
721
+ * [{ aboveHeight: 0, front: 10, side: 5, rear: 10 }],
722
+ * { kind: "max_height", maxHeight: 175 },
723
+ * 12,
724
+ * )
725
+ * ```
726
+ */
727
+ abstract buildableEnvelope(buildableEnvelopeId: string, sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeUpdateResult>;
345
728
  }
346
729
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAKL,uBAAuB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAMrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,+DAA+D;AAC/D,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAA;AAEjF,wEAAwE;AACxE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;iBAmBpC,CAAA;AACJ,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAA;AAErF;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;iBAG1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;GAKG;AACH,8BAAsB,qBAAqB;;IAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;aACa,QAAQ,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;IAE7F;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,KAAK,CACnB,KAAK,EAAE,eAAe,EACtB,OAAO,EAAE;QACP,UAAU,CAAC,EAAE,0BAA0B,CAAA;QACvC,QAAQ,CAAC,EAAE,yBAAyB,CAAA;KACrC,GACA,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;aACa,MAAM,CAAC,KAAK,EAAE,qBAAqB,EAAE,GAAG,eAAe,CAAC,uBAAuB,EAAE,CAAC;IAElG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;aACa,SAAS,CACvB,UAAU,EAAE,eAAe,EAAE,EAC7B,MAAM,EAAE,2BAA2B,GAClC,eAAe,CAAC,wBAAwB,CAAC;CAC7C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/update/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../types";
3
+ import { ComponentHandle } from "../../handles";
4
+ import { PluginDesignChangeResult } from "./lock";
5
+ /**
6
+ * `snaptrude.design.visibility.*` — hide, isolate, and reveal scene entities.
7
+ *
8
+ * Visibility is a per-component user flag (the same one the "Hide" / "Isolate" /
9
+ * "Show All" toolbar and right-click actions toggle). Every method here commits
10
+ * an undoable command and echoes the affected entities as
11
+ * {@linkcode PluginDesignChangeResult}.
12
+ *
13
+ * Accessed via `snaptrude.design.visibility`.
14
+ */
15
+ export declare abstract class PluginDesignVisibilityApi {
16
+ constructor();
17
+ /**
18
+ * Hide entities from the viewport — the same as the "Hide" action. Undoable.
19
+ * Hosted door/window/void children ride along with their wall. Already-hidden
20
+ * entities stay hidden.
21
+ *
22
+ * @param components Entities to hide
23
+ * @returns The affected entities (echoing the input handles)
24
+ *
25
+ * @examplePrompt Hide the selected walls
26
+ * @examplePrompt Conceal these masses so I can see behind them
27
+ * @examplePrompt Hide every column on this floor
28
+ * @examplePrompt Make this furniture disappear from view
29
+ *
30
+ * # Example
31
+ * ```ts
32
+ * const walls = await snaptrude.design.query.listWalls({ storeys: [1] })
33
+ * const { affected } = await snaptrude.design.visibility.hide(walls)
34
+ * ```
35
+ */
36
+ abstract hide(components: ComponentHandle[]): PluginApiReturn<PluginDesignChangeResult>;
37
+ /**
38
+ * Isolate entities — hide everything else so only the given entities remain
39
+ * visible (the "Isolate" / solo action). Undoable. Reverse it with
40
+ * {@linkcode PluginDesignVisibilityApi.showAll}.
41
+ *
42
+ * @param components Entities to keep visible; everything else is hidden
43
+ * @returns The isolated entities (echoing the input handles)
44
+ *
45
+ * @examplePrompt Isolate the selected room so I can focus on it
46
+ * @examplePrompt Show only these walls and hide the rest
47
+ * @examplePrompt Solo this mass
48
+ * @examplePrompt Hide everything except the staircase
49
+ *
50
+ * # Example
51
+ * ```ts
52
+ * const [room] = await snaptrude.design.selection.get()
53
+ * await snaptrude.design.visibility.isolate([room])
54
+ * ```
55
+ */
56
+ abstract isolate(components: ComponentHandle[]): PluginApiReturn<PluginDesignChangeResult>;
57
+ /**
58
+ * Reveal everything hidden on the active story — the "Show All" action, which
59
+ * also exits an isolate. Undoable.
60
+ *
61
+ * @returns The entities that were made visible
62
+ *
63
+ * @examplePrompt Show everything again
64
+ * @examplePrompt Unhide all the hidden objects
65
+ * @examplePrompt Exit isolate mode
66
+ * @examplePrompt Reveal everything I hid earlier
67
+ *
68
+ * # Example
69
+ * ```ts
70
+ * const { affected } = await snaptrude.design.visibility.showAll()
71
+ * console.log(`Revealed ${affected.length} entities`)
72
+ * ```
73
+ */
74
+ abstract showAll(): PluginApiReturn<PluginDesignChangeResult>;
75
+ }
76
+ /**
77
+ * Arguments for {@linkcode PluginDesignVisibilityApi.hide}.
78
+ *
79
+ * | Property | Type | Description |
80
+ * |---|---|---|
81
+ * | `components` | {@linkcode ComponentHandle}`[]` | Entities to hide |
82
+ */
83
+ export declare const PluginDesignVisibilityHideArgs: z.ZodObject<{
84
+ components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
85
+ }, z.core.$strip>;
86
+ export type PluginDesignVisibilityHideArgs = z.infer<typeof PluginDesignVisibilityHideArgs>;
87
+ /**
88
+ * Arguments for {@linkcode PluginDesignVisibilityApi.isolate}.
89
+ *
90
+ * | Property | Type | Description |
91
+ * |---|---|---|
92
+ * | `components` | {@linkcode ComponentHandle}`[]` | Entities to keep visible |
93
+ */
94
+ export declare const PluginDesignVisibilityIsolateArgs: z.ZodObject<{
95
+ components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
96
+ }, z.core.$strip>;
97
+ export type PluginDesignVisibilityIsolateArgs = z.infer<typeof PluginDesignVisibilityIsolateArgs>;
98
+ //# sourceMappingURL=visibility.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visibility.d.ts","sourceRoot":"","sources":["../../../src/api/design/visibility.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAA;AAEjD;;;;;;;;;GASG;AACH,8BAAsB,yBAAyB;;IAG7C;;;;;;;;;;;;;;;;;;OAkBG;aACa,IAAI,CAClB,UAAU,EAAE,eAAe,EAAE,GAC5B,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;OAkBG;aACa,OAAO,CACrB,UAAU,EAAE,eAAe,EAAE,GAC5B,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;OAgBG;aACa,OAAO,IAAI,eAAe,CAAC,wBAAwB,CAAC;CACrE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;iBAEzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAA;AAE3F;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC;;iBAE5C,CAAA;AACF,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA"}
@@ -52,6 +52,8 @@ export declare abstract class PluginBuildableEnvelopeApi {
52
52
  * 12,
53
53
  * )
54
54
  * ```
55
+ *
56
+ * @deprecated Use `design.create.buildableEnvelope`
55
57
  */
56
58
  abstract create(sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeCreateResult>;
57
59
  /**
@@ -95,6 +97,8 @@ export declare abstract class PluginBuildableEnvelopeApi {
95
97
  * 12,
96
98
  * )
97
99
  * ```
100
+ *
101
+ * @deprecated Use `design.update.buildableEnvelope`
98
102
  */
99
103
  abstract update(buildableEnvelopeId: string, sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeUpdateResult>;
100
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildableEnvelope.d.ts","sourceRoot":"","sources":["../../../src/api/entity/buildableEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;GASG;AACH,8BAAsB,0BAA0B;;IAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;aACa,MAAM,CACpB,WAAW,EAAE,oCAAoC,EAAE,EACnD,UAAU,EAAE,IAAI,GAAG,GAAG,EACtB,QAAQ,EAAE,kCAAkC,EAAE,EAC9C,WAAW,EAAE,kCAAkC,EAC/C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,mCAAmC,CAAC;IAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,MAAM,CACpB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,oCAAoC,EAAE,EACnD,UAAU,EAAE,IAAI,GAAG,GAAG,EACtB,QAAQ,EAAE,kCAAkC,EAAE,EAC9C,WAAW,EAAE,kCAAkC,EAC/C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,mCAAmC,CAAC;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC;;;kEAG/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC;;;;;;4BAS7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,kCAAkC;;;;;kBAKpC,CAAA;AAEX,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AA+BD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;kBAWZ,CAAA;AAElC,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;kBAErC,CAAA;AAEX,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;kBAYZ,CAAA;AAElC,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;kBAErC,CAAA;AAEX,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA"}
1
+ {"version":3,"file":"buildableEnvelope.d.ts","sourceRoot":"","sources":["../../../src/api/entity/buildableEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;GASG;AACH,8BAAsB,0BAA0B;;IAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,MAAM,CACpB,WAAW,EAAE,oCAAoC,EAAE,EACnD,UAAU,EAAE,IAAI,GAAG,GAAG,EACtB,QAAQ,EAAE,kCAAkC,EAAE,EAC9C,WAAW,EAAE,kCAAkC,EAC/C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,mCAAmC,CAAC;IAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;aACa,MAAM,CACpB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,oCAAoC,EAAE,EACnD,UAAU,EAAE,IAAI,GAAG,GAAG,EACtB,QAAQ,EAAE,kCAAkC,EAAE,EAC9C,WAAW,EAAE,kCAAkC,EAC/C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,mCAAmC,CAAC;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC;;;kEAG/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC;;;;;;4BAS7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,kCAAkC;;;;;kBAKpC,CAAA;AAEX,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AA+BD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;kBAWZ,CAAA;AAElC,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;kBAErC,CAAA;AAEX,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;kBAYZ,CAAA;AAElC,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;kBAErC,CAAA;AAEX,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA"}
@@ -47,6 +47,8 @@ export declare abstract class PluginReferenceLineApi {
47
47
  *
48
48
  * const { referenceLineIds } = await snaptrude.entity.referenceLine.createMulti(profile)
49
49
  * ```
50
+ *
51
+ * @deprecated Use `design.create.referenceLines`
50
52
  */
51
53
  abstract createMulti(profile: ProfileHandle): PluginApiReturn<PluginReferenceLineCreateMultiResult>;
52
54
  /**
@@ -73,6 +75,8 @@ export declare abstract class PluginReferenceLineApi {
73
75
  * // result.curve is an opaque CurveHandle; a dedicated curve read API for its
74
76
  * // coordinates is exposed separately via `snaptrude.core.geom.curve`.
75
77
  * ```
78
+ *
79
+ * @deprecated Use `design.query.referenceLines.get`
76
80
  */
77
81
  abstract get(referenceLineId: string, properties: z.infer<typeof PluginReferenceLineGetProperty>[]): PluginApiReturn<PluginReferenceLineGetResult>;
78
82
  /**
@@ -95,6 +99,8 @@ export declare abstract class PluginReferenceLineApi {
95
99
  * const { referenceLineIds } = await snaptrude.entity.referenceLine.getAll()
96
100
  * console.log(`Project has ${referenceLineIds.length} reference lines`)
97
101
  * ```
102
+ *
103
+ * @deprecated Use `design.query.listReferenceLines`
98
104
  */
99
105
  abstract getAll(): PluginApiReturn<PluginReferenceLineGetAllResult>;
100
106
  /**
@@ -115,6 +121,8 @@ export declare abstract class PluginReferenceLineApi {
115
121
  * ```ts
116
122
  * await snaptrude.entity.referenceLine.delete("some-ref-line-id")
117
123
  * ```
124
+ *
125
+ * @deprecated Use `design.delete.entities`
118
126
  */
119
127
  abstract delete(referenceLineId: string): PluginApiReturn<PluginReferenceLineDeleteResult>;
120
128
  }
@@ -126,7 +134,7 @@ export declare abstract class PluginReferenceLineApi {
126
134
  * | `profile` | {@linkcode ProfileHandle} | Profile handle whose curves define reference lines |
127
135
  */
128
136
  export declare const PluginReferenceLineCreateMultiArgs: z.ZodObject<{
129
- profile: z.ZodPipe<z.ZodString, z.ZodTransform<import("../..").Handle<"profile">, string>>;
137
+ profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>;
130
138
  }, z.core.$strip>;
131
139
  export type PluginReferenceLineCreateMultiArgs = z.infer<typeof PluginReferenceLineCreateMultiArgs>;
132
140
  /**
@@ -172,7 +180,7 @@ export type PluginReferenceLineGetArgs = z.infer<typeof PluginReferenceLineGetAr
172
180
  * {@linkcode PluginReferenceLineGetArgs.properties} will be present.
173
181
  */
174
182
  export declare const PluginReferenceLineGetResult: z.ZodObject<{
175
- curve: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("../..").Handle<"line">, string>>, z.ZodPipe<z.ZodString, z.ZodTransform<import("../..").Handle<"arc">, string>>]>>;
183
+ curve: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"line">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"arc">, string>>]>>;
176
184
  }, z.core.$strip>;
177
185
  export type PluginReferenceLineGetResult = z.infer<typeof PluginReferenceLineGetResult>;
178
186
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"referenceLine.d.ts","sourceRoot":"","sources":["../../../src/api/entity/referenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;aACa,WAAW,CACzB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,GAAG,CACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,GAC3D,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC;IAE1E;;;;;;;;;;;;;;;;;;OAkBG;aACa,MAAM,CACpB,eAAe,EAAE,MAAM,GACtB,eAAe,CAAC,+BAA+B,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC;;iBAE/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;EAEzC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAGrC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;iBAI7B,CAAA;AAEZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;iBAE1C,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;iBAExC,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,8FAA8F;AAC9F,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"referenceLine.d.ts","sourceRoot":"","sources":["../../../src/api/entity/referenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;aACa,WAAW,CACzB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,GAAG,CACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,GAC3D,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC;IAE1E;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,MAAM,CACpB,eAAe,EAAE,MAAM,GACtB,eAAe,CAAC,+BAA+B,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC;;iBAE/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;EAEzC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAGrC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;iBAI7B,CAAA;AAEZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;iBAE1C,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;iBAExC,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,8FAA8F;AAC9F,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAA"}