@snaptrude/plugin-core 0.0.0-dev-20260708130115 → 0.0.0-dev-20260827194031

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 (261) hide show
  1. package/CHANGELOG.md +152 -1
  2. package/api-manifest.json +3643 -276
  3. package/dist/api/analysis/daylight.d.ts +603 -0
  4. package/dist/api/analysis/daylight.d.ts.map +1 -0
  5. package/dist/api/analysis/heatmaps.d.ts +658 -0
  6. package/dist/api/analysis/heatmaps.d.ts.map +1 -0
  7. package/dist/api/analysis/illuminance.d.ts +145 -0
  8. package/dist/api/analysis/illuminance.d.ts.map +1 -0
  9. package/dist/api/analysis/index.d.ts +59 -0
  10. package/dist/api/analysis/index.d.ts.map +1 -0
  11. package/dist/api/analysis/shadows.d.ts +165 -0
  12. package/dist/api/analysis/shadows.d.ts.map +1 -0
  13. package/dist/api/analysis/solar.d.ts +249 -0
  14. package/dist/api/analysis/solar.d.ts.map +1 -0
  15. package/dist/api/analysis/sunlightHours.d.ts +208 -0
  16. package/dist/api/analysis/sunlightHours.d.ts.map +1 -0
  17. package/dist/api/analysis/sunpath.d.ts +80 -0
  18. package/dist/api/analysis/sunpath.d.ts.map +1 -0
  19. package/dist/api/analysis/weather.d.ts +193 -0
  20. package/dist/api/analysis/weather.d.ts.map +1 -0
  21. package/dist/api/core/camera/index.d.ts +261 -0
  22. package/dist/api/core/camera/index.d.ts.map +1 -0
  23. package/dist/api/core/comment/index.d.ts +105 -2
  24. package/dist/api/core/comment/index.d.ts.map +1 -1
  25. package/dist/api/core/geom/create/index.d.ts +840 -14
  26. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  27. package/dist/api/core/geom/delete/index.d.ts +8 -2
  28. package/dist/api/core/geom/delete/index.d.ts.map +1 -1
  29. package/dist/api/core/geom/query/arc.d.ts +5 -5
  30. package/dist/api/core/geom/query/brep.d.ts +130 -18
  31. package/dist/api/core/geom/query/brep.d.ts.map +1 -1
  32. package/dist/api/core/geom/query/circle.d.ts +18 -18
  33. package/dist/api/core/geom/query/contour.d.ts +20 -20
  34. package/dist/api/core/geom/query/curve.d.ts +49 -49
  35. package/dist/api/core/geom/query/edge.d.ts +5 -5
  36. package/dist/api/core/geom/query/face.d.ts +16 -16
  37. package/dist/api/core/geom/query/halfedge.d.ts +8 -8
  38. package/dist/api/core/geom/query/profile.d.ts +19 -19
  39. package/dist/api/core/geom/query/vertex.d.ts +8 -8
  40. package/dist/api/core/geom/update/contour.d.ts +14 -14
  41. package/dist/api/core/geom/update/curve.d.ts +7 -7
  42. package/dist/api/core/geom/update/profile.d.ts +16 -16
  43. package/dist/api/core/handles/index.d.ts +210 -0
  44. package/dist/api/core/handles/index.d.ts.map +1 -0
  45. package/dist/api/core/index.d.ts +34 -0
  46. package/dist/api/core/index.d.ts.map +1 -1
  47. package/dist/api/core/io/export/index.d.ts +134 -0
  48. package/dist/api/core/io/export/index.d.ts.map +1 -0
  49. package/dist/api/core/io/import/index.d.ts +453 -0
  50. package/dist/api/core/io/import/index.d.ts.map +1 -0
  51. package/dist/api/core/io/index.d.ts +40 -0
  52. package/dist/api/core/io/index.d.ts.map +1 -0
  53. package/dist/api/core/io/job/index.d.ts +139 -0
  54. package/dist/api/core/io/job/index.d.ts.map +1 -0
  55. package/dist/api/core/io/query/index.d.ts +74 -0
  56. package/dist/api/core/io/query/index.d.ts.map +1 -0
  57. package/dist/api/core/io/terrain/index.d.ts +341 -0
  58. package/dist/api/core/io/terrain/index.d.ts.map +1 -0
  59. package/dist/api/core/io/underlay/index.d.ts +805 -0
  60. package/dist/api/core/io/underlay/index.d.ts.map +1 -0
  61. package/dist/api/core/layers.d.ts +7 -7
  62. package/dist/api/core/mode/index.d.ts +99 -0
  63. package/dist/api/core/mode/index.d.ts.map +1 -0
  64. package/dist/api/core/project/index.d.ts +68 -1
  65. package/dist/api/core/project/index.d.ts.map +1 -1
  66. package/dist/api/core/proposals/index.d.ts +531 -0
  67. package/dist/api/core/proposals/index.d.ts.map +1 -0
  68. package/dist/api/core/storeys/index.d.ts +265 -0
  69. package/dist/api/core/storeys/index.d.ts.map +1 -0
  70. package/dist/api/core/tags.d.ts +24 -0
  71. package/dist/api/core/tags.d.ts.map +1 -1
  72. package/dist/api/core/user.d.ts +44 -0
  73. package/dist/api/core/user.d.ts.map +1 -0
  74. package/dist/api/core/zoom/index.d.ts +4 -0
  75. package/dist/api/core/zoom/index.d.ts.map +1 -1
  76. package/dist/api/design/boolean/index.d.ts +4 -4
  77. package/dist/api/design/create/index.d.ts +568 -45
  78. package/dist/api/design/create/index.d.ts.map +1 -1
  79. package/dist/api/design/delete/index.d.ts +3 -0
  80. package/dist/api/design/delete/index.d.ts.map +1 -1
  81. package/dist/api/design/doors/index.d.ts +195 -0
  82. package/dist/api/design/doors/index.d.ts.map +1 -1
  83. package/dist/api/design/edit/index.d.ts +1 -1
  84. package/dist/api/design/erase/index.d.ts +2 -2
  85. package/dist/api/design/family.d.ts +493 -0
  86. package/dist/api/design/family.d.ts.map +1 -0
  87. package/dist/api/design/furniture/index.d.ts +181 -8
  88. package/dist/api/design/furniture/index.d.ts.map +1 -1
  89. package/dist/api/design/index.d.ts +98 -0
  90. package/dist/api/design/index.d.ts.map +1 -1
  91. package/dist/api/design/lock.d.ts +26 -0
  92. package/dist/api/design/lock.d.ts.map +1 -1
  93. package/dist/api/design/materials/index.d.ts +270 -16
  94. package/dist/api/design/materials/index.d.ts.map +1 -1
  95. package/dist/api/design/query/geometry/index.d.ts +112 -0
  96. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  97. package/dist/api/design/query/index.d.ts +289 -11
  98. package/dist/api/design/query/index.d.ts.map +1 -1
  99. package/dist/api/design/query/referenceLines.d.ts +45 -0
  100. package/dist/api/design/query/referenceLines.d.ts.map +1 -0
  101. package/dist/api/design/query/spaces.d.ts +181 -8
  102. package/dist/api/design/query/spaces.d.ts.map +1 -1
  103. package/dist/api/design/selection/index.d.ts +144 -0
  104. package/dist/api/design/selection/index.d.ts.map +1 -1
  105. package/dist/api/design/transform/index.d.ts +172 -10
  106. package/dist/api/design/transform/index.d.ts.map +1 -1
  107. package/dist/api/design/types/index.d.ts +181 -0
  108. package/dist/api/design/types/index.d.ts.map +1 -0
  109. package/dist/api/design/update/index.d.ts +553 -2
  110. package/dist/api/design/update/index.d.ts.map +1 -1
  111. package/dist/api/design/visibility.d.ts +126 -0
  112. package/dist/api/design/visibility.d.ts.map +1 -0
  113. package/dist/api/design/windows/index.d.ts +113 -2
  114. package/dist/api/design/windows/index.d.ts.map +1 -1
  115. package/dist/api/entity/buildableEnvelope.d.ts +4 -0
  116. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  117. package/dist/api/entity/referenceLine.d.ts +10 -2
  118. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  119. package/dist/api/entity/space.d.ts +21 -21
  120. package/dist/api/entity/story.d.ts +242 -15
  121. package/dist/api/entity/story.d.ts.map +1 -1
  122. package/dist/api/index.d.ts +10 -0
  123. package/dist/api/index.d.ts.map +1 -1
  124. package/dist/api/presentation/aiInspiration.d.ts +25 -25
  125. package/dist/api/presentation/annotate.d.ts +467 -0
  126. package/dist/api/presentation/annotate.d.ts.map +1 -0
  127. package/dist/api/presentation/diagrams.d.ts +111 -8
  128. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  129. package/dist/api/presentation/export.d.ts +108 -0
  130. package/dist/api/presentation/export.d.ts.map +1 -0
  131. package/dist/api/presentation/import.d.ts +55 -4
  132. package/dist/api/presentation/import.d.ts.map +1 -1
  133. package/dist/api/presentation/index.d.ts +58 -1
  134. package/dist/api/presentation/index.d.ts.map +1 -1
  135. package/dist/api/presentation/placedViews.d.ts +1139 -0
  136. package/dist/api/presentation/placedViews.d.ts.map +1 -0
  137. package/dist/api/presentation/shapes.d.ts +481 -0
  138. package/dist/api/presentation/shapes.d.ts.map +1 -0
  139. package/dist/api/presentation/sheets.d.ts +452 -13
  140. package/dist/api/presentation/sheets.d.ts.map +1 -1
  141. package/dist/api/presentation/slideshow.d.ts +125 -0
  142. package/dist/api/presentation/slideshow.d.ts.map +1 -0
  143. package/dist/api/presentation/tables.d.ts +81 -0
  144. package/dist/api/presentation/tables.d.ts.map +1 -0
  145. package/dist/api/presentation/views.d.ts +367 -7
  146. package/dist/api/presentation/views.d.ts.map +1 -1
  147. package/dist/api/program/areas.d.ts +102 -12
  148. package/dist/api/program/areas.d.ts.map +1 -1
  149. package/dist/api/program/cores.d.ts +3 -99
  150. package/dist/api/program/cores.d.ts.map +1 -1
  151. package/dist/api/program/index.d.ts +7 -15
  152. package/dist/api/program/index.d.ts.map +1 -1
  153. package/dist/api/program/layout.d.ts +346 -11
  154. package/dist/api/program/layout.d.ts.map +1 -1
  155. package/dist/api/program/site.d.ts +469 -13
  156. package/dist/api/program/site.d.ts.map +1 -1
  157. package/dist/api/program/spreadsheet.d.ts +365 -41
  158. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  159. package/dist/api/workspace/index.d.ts +505 -0
  160. package/dist/api/workspace/index.d.ts.map +1 -0
  161. package/dist/errors/codes.d.ts +34 -0
  162. package/dist/errors/codes.d.ts.map +1 -0
  163. package/dist/errors/envelope.d.ts +56 -0
  164. package/dist/errors/envelope.d.ts.map +1 -0
  165. package/dist/errors/index.d.ts +6 -0
  166. package/dist/errors/index.d.ts.map +1 -0
  167. package/dist/errors/plugin-error.d.ts +69 -0
  168. package/dist/errors/plugin-error.d.ts.map +1 -0
  169. package/dist/handles.d.ts +97 -25
  170. package/dist/handles.d.ts.map +1 -1
  171. package/dist/host-utils.d.ts +4 -0
  172. package/dist/host-utils.d.ts.map +1 -1
  173. package/dist/index.cjs +4605 -1423
  174. package/dist/index.cjs.map +1 -1
  175. package/dist/index.d.ts +1 -0
  176. package/dist/index.d.ts.map +1 -1
  177. package/dist/index.js +4191 -1412
  178. package/dist/index.js.map +1 -1
  179. package/package.json +4 -2
  180. package/scripts/generate-manifest.mjs +45 -0
  181. package/scripts/generate-manifest.test.mjs +103 -4
  182. package/src/api/analysis/daylight.ts +470 -0
  183. package/src/api/analysis/heatmaps.ts +683 -0
  184. package/src/api/analysis/illuminance.ts +155 -0
  185. package/src/api/analysis/index.ts +61 -0
  186. package/src/api/analysis/shadows.ts +183 -0
  187. package/src/api/analysis/solar.ts +237 -0
  188. package/src/api/analysis/sunlightHours.ts +211 -0
  189. package/src/api/analysis/sunpath.ts +83 -0
  190. package/src/api/analysis/weather.ts +179 -0
  191. package/src/api/core/camera/index.ts +268 -0
  192. package/src/api/core/comment/index.ts +120 -2
  193. package/src/api/core/geom/create/index.ts +912 -1
  194. package/src/api/core/geom/delete/index.ts +6 -0
  195. package/src/api/core/geom/query/brep.ts +119 -0
  196. package/src/api/core/handles/index.ts +233 -0
  197. package/src/api/core/index.ts +34 -0
  198. package/src/api/core/io/export/index.ts +126 -0
  199. package/src/api/core/io/import/index.ts +496 -0
  200. package/src/api/core/io/index.ts +42 -0
  201. package/src/api/core/io/job/index.ts +140 -0
  202. package/src/api/core/io/query/index.ts +71 -0
  203. package/src/api/core/io/terrain/index.ts +360 -0
  204. package/src/api/core/io/underlay/index.ts +705 -0
  205. package/src/api/core/mode/index.ts +96 -0
  206. package/src/api/core/project/index.ts +62 -1
  207. package/src/api/core/proposals/index.ts +569 -0
  208. package/src/api/core/storeys/index.ts +294 -0
  209. package/src/api/core/tags.ts +27 -0
  210. package/src/api/core/user.ts +46 -0
  211. package/src/api/core/zoom/index.ts +4 -0
  212. package/src/api/design/create/index.ts +670 -30
  213. package/src/api/design/delete/index.ts +3 -0
  214. package/src/api/design/doors/index.ts +208 -0
  215. package/src/api/design/erase/index.ts +1 -1
  216. package/src/api/design/family.ts +544 -0
  217. package/src/api/design/furniture/index.ts +197 -8
  218. package/src/api/design/index.ts +102 -0
  219. package/src/api/design/lock.ts +27 -0
  220. package/src/api/design/materials/index.ts +334 -27
  221. package/src/api/design/query/geometry/index.ts +125 -3
  222. package/src/api/design/query/index.ts +219 -7
  223. package/src/api/design/query/referenceLines.ts +52 -0
  224. package/src/api/design/query/spaces.ts +143 -0
  225. package/src/api/design/selection/index.ts +129 -0
  226. package/src/api/design/transform/index.ts +170 -9
  227. package/src/api/design/types/index.ts +156 -0
  228. package/src/api/design/update/index.ts +631 -3
  229. package/src/api/design/visibility.ts +143 -0
  230. package/src/api/design/windows/index.ts +128 -2
  231. package/src/api/entity/buildableEnvelope.ts +4 -0
  232. package/src/api/entity/referenceLine.ts +8 -0
  233. package/src/api/entity/story.ts +259 -15
  234. package/src/api/index.ts +10 -0
  235. package/src/api/presentation/annotate.ts +385 -0
  236. package/src/api/presentation/diagrams.ts +118 -8
  237. package/src/api/presentation/export.ts +108 -0
  238. package/src/api/presentation/import.ts +51 -4
  239. package/src/api/presentation/index.ts +66 -1
  240. package/src/api/presentation/placedViews.ts +1120 -0
  241. package/src/api/presentation/shapes.ts +274 -0
  242. package/src/api/presentation/sheets.ts +400 -13
  243. package/src/api/presentation/slideshow.ts +134 -0
  244. package/src/api/presentation/tables.ts +84 -0
  245. package/src/api/presentation/views.ts +376 -8
  246. package/src/api/program/areas.ts +88 -15
  247. package/src/api/program/cores.ts +3 -91
  248. package/src/api/program/index.ts +7 -15
  249. package/src/api/program/layout.ts +365 -11
  250. package/src/api/program/site.ts +435 -13
  251. package/src/api/program/spreadsheet.ts +376 -35
  252. package/src/api/workspace/index.ts +563 -0
  253. package/src/errors/codes.ts +136 -0
  254. package/src/errors/envelope.ts +75 -0
  255. package/src/errors/index.ts +21 -0
  256. package/src/errors/plugin-error.ts +134 -0
  257. package/src/handles.ts +123 -13
  258. package/src/host-utils.ts +4 -0
  259. package/src/index.ts +1 -0
  260. package/test/errors.test.mjs +184 -0
  261. package/tsconfig.json +7 -2
@@ -3,6 +3,7 @@ import { PluginApiReturn } from "../../../types";
3
3
  import { ComponentHandle, BBoxComponents } from "../../../handles";
4
4
  import { PluginDesignQueryGeometryApi } from "./geometry";
5
5
  import { PluginDesignQuerySpacesApi } from "./spaces";
6
+ import { PluginDesignQueryReferenceLinesApi } from "./referenceLines";
6
7
  /**
7
8
  * The kind of a BIM entity — the discovery/filter vocabulary for the whole
8
9
  * `design.query.*` surface. Values are clean `lowerCamel` tokens; the host maps
@@ -28,25 +29,27 @@ import { PluginDesignQuerySpacesApi } from "./spaces";
28
29
  * | `"curtainWall"` | Parametric curtain wall |
29
30
  * | `"mullion"` | Curtain-wall mullion |
30
31
  * | `"panel"` | Curtain-wall panel |
32
+ * | `"parametricComponent"` | A placed parametric family instance (native or Revit-imported). Its geometry is rebuilt from `design.family` parameters, so read and drive it through `design.family.getParameters` / `setParameters` rather than editing its meshes. |
31
33
  */
32
34
  export declare const PluginEntityType: z.ZodEnum<{
33
35
  mass: "mass";
34
36
  floor: "floor";
35
37
  wall: "wall";
36
38
  ceiling: "ceiling";
37
- space: "space";
38
39
  door: "door";
39
40
  window: "window";
41
+ furniture: "furniture";
42
+ space: "space";
40
43
  slab: "slab";
41
44
  roof: "roof";
42
45
  column: "column";
43
46
  beam: "beam";
44
47
  staircase: "staircase";
45
- furniture: "furniture";
46
48
  referenceLine: "referenceLine";
47
49
  curtainWall: "curtainWall";
48
50
  mullion: "mullion";
49
51
  panel: "panel";
52
+ parametricComponent: "parametricComponent";
50
53
  }>;
51
54
  export type PluginEntityType = z.infer<typeof PluginEntityType>;
52
55
  /**
@@ -80,19 +83,20 @@ export declare const PluginEntityFilter: z.ZodObject<{
80
83
  floor: "floor";
81
84
  wall: "wall";
82
85
  ceiling: "ceiling";
83
- space: "space";
84
86
  door: "door";
85
87
  window: "window";
88
+ furniture: "furniture";
89
+ space: "space";
86
90
  slab: "slab";
87
91
  roof: "roof";
88
92
  column: "column";
89
93
  beam: "beam";
90
94
  staircase: "staircase";
91
- furniture: "furniture";
92
95
  referenceLine: "referenceLine";
93
96
  curtainWall: "curtainWall";
94
97
  mullion: "mullion";
95
98
  panel: "panel";
99
+ parametricComponent: "parametricComponent";
96
100
  }>>>;
97
101
  storeys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
98
102
  buildingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -159,19 +163,20 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
159
163
  floor: "floor";
160
164
  wall: "wall";
161
165
  ceiling: "ceiling";
162
- space: "space";
163
166
  door: "door";
164
167
  window: "window";
168
+ furniture: "furniture";
169
+ space: "space";
165
170
  slab: "slab";
166
171
  roof: "roof";
167
172
  column: "column";
168
173
  beam: "beam";
169
174
  staircase: "staircase";
170
- furniture: "furniture";
171
175
  referenceLine: "referenceLine";
172
176
  curtainWall: "curtainWall";
173
177
  mullion: "mullion";
174
178
  panel: "panel";
179
+ parametricComponent: "parametricComponent";
175
180
  }>>>;
176
181
  storeys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
177
182
  buildingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
@@ -231,19 +236,20 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
231
236
  floor: "floor";
232
237
  wall: "wall";
233
238
  ceiling: "ceiling";
234
- space: "space";
235
239
  door: "door";
236
240
  window: "window";
241
+ furniture: "furniture";
242
+ space: "space";
237
243
  slab: "slab";
238
244
  roof: "roof";
239
245
  column: "column";
240
246
  beam: "beam";
241
247
  staircase: "staircase";
242
- furniture: "furniture";
243
248
  referenceLine: "referenceLine";
244
249
  curtainWall: "curtainWall";
245
250
  mullion: "mullion";
246
251
  panel: "panel";
252
+ parametricComponent: "parametricComponent";
247
253
  }>;
248
254
  }, z.core.$strip>;
249
255
  export type PluginDesignQueryListByTypeArgs = z.infer<typeof PluginDesignQueryListByTypeArgs>;
@@ -280,6 +286,7 @@ export type PluginDesignQueryComponentsArgs = z.infer<typeof PluginDesignQueryCo
280
286
  * | `spaceType` | {@linkcode PluginSpaceType} | Space-type (spaces only) |
281
287
  * | `areaClass` | {@linkcode PluginAreaClass} | Area classification (spaces only) |
282
288
  * | `departmentId` | `string` | Department (masses only) |
289
+ * | `buildingType` | `string` | Assigned building type NAME (walls / slabs / floors / roofs / ceilings only) — the Object Properties panel's Wall/Slab/Floor/Roof/Ceiling Type dropdown value, matching the names from `design.types.list(kind)` |
283
290
  * | `isLocked` | `boolean` | Lock flag |
284
291
  * | `isHidden` | `boolean` | User-hidden flag |
285
292
  * | `isSelected` | `boolean` | Current selection state |
@@ -293,19 +300,20 @@ export declare const PluginEntityProperties: z.ZodObject<{
293
300
  floor: "floor";
294
301
  wall: "wall";
295
302
  ceiling: "ceiling";
296
- space: "space";
297
303
  door: "door";
298
304
  window: "window";
305
+ furniture: "furniture";
306
+ space: "space";
299
307
  slab: "slab";
300
308
  roof: "roof";
301
309
  column: "column";
302
310
  beam: "beam";
303
311
  staircase: "staircase";
304
- furniture: "furniture";
305
312
  referenceLine: "referenceLine";
306
313
  curtainWall: "curtainWall";
307
314
  mullion: "mullion";
308
315
  panel: "panel";
316
+ parametricComponent: "parametricComponent";
309
317
  }>>;
310
318
  label: z.ZodOptional<z.ZodString>;
311
319
  storey: z.ZodOptional<z.ZodNumber>;
@@ -330,6 +338,7 @@ export declare const PluginEntityProperties: z.ZodObject<{
330
338
  EXCLUDED: "EXCLUDED";
331
339
  }>>;
332
340
  departmentId: z.ZodOptional<z.ZodString>;
341
+ buildingType: z.ZodOptional<z.ZodString>;
333
342
  isLocked: z.ZodOptional<z.ZodBoolean>;
334
343
  isHidden: z.ZodOptional<z.ZodBoolean>;
335
344
  isSelected: z.ZodOptional<z.ZodBoolean>;
@@ -357,17 +366,28 @@ export type PluginEntityProperties = z.infer<typeof PluginEntityProperties>;
357
366
  * entity's type computes them (area: floors/masses/slabs/roofs/beams/columns;
358
367
  * volume: all; length: walls/beams).
359
368
  *
369
+ * `thickness` and `height` are the Object Properties panel's dimension reads
370
+ * (the same engine source `design.update.wall` / `design.update.slab` etc.
371
+ * write through), in engine units. `thickness`: walls (the plan thickness —
372
+ * present only for straight orthogonal walls, exactly when the panel shows it)
373
+ * and slabs/floors/roofs/ceilings (the vertical extent the panel calls
374
+ * Thickness). `height`: walls only.
375
+ *
360
376
  * | Property | Type | Description |
361
377
  * |---|---|---|
362
378
  * | `area` | `number`? | Bottom-face area |
363
379
  * | `volume` | `number`? | Solid volume |
364
380
  * | `length` | `number`? | Running length (linear elements) |
381
+ * | `thickness` | `number`? | Panel Thickness — walls (straight orthogonal only) and the slab family |
382
+ * | `height` | `number`? | Panel Height — walls only |
365
383
  * | `boundingBox` | {@linkcode BBoxComponents} | World-space AABB (always present) |
366
384
  */
367
385
  export declare const PluginEntityMeasurements: z.ZodObject<{
368
386
  area: z.ZodOptional<z.ZodNumber>;
369
387
  volume: z.ZodOptional<z.ZodNumber>;
370
388
  length: z.ZodOptional<z.ZodNumber>;
389
+ thickness: z.ZodOptional<z.ZodNumber>;
390
+ height: z.ZodOptional<z.ZodNumber>;
371
391
  boundingBox: z.ZodObject<{
372
392
  min: z.ZodObject<{
373
393
  x: z.ZodNumber;
@@ -382,6 +402,89 @@ export declare const PluginEntityMeasurements: z.ZodObject<{
382
402
  }, z.core.$strip>;
383
403
  }, z.core.$strip>;
384
404
  export type PluginEntityMeasurements = z.infer<typeof PluginEntityMeasurements>;
405
+ /**
406
+ * The parametric properties of a staircase — the same editable fields the
407
+ * staircase properties panel exposes. Returned by
408
+ * {@linkcode PluginDesignQueryApi.getStaircaseParams}; the write side is
409
+ * `design.update.staircase`. Engine internals (block schema, min well size,
410
+ * square-well padding) are deliberately excluded.
411
+ *
412
+ * All dimensions are in **engine units** (the same convention as
413
+ * `design.doors.getWidth`); `steps` is a unitless count. The invariant
414
+ * `staircaseHeight = steps × riser` is governed by the two lock booleans — see
415
+ * `design.update.staircase`. Type-specific fields (`wellSize`, `landingWidth`,
416
+ * `flightStartDistAfterTurn`) are present only when the preset uses them.
417
+ *
418
+ * | Property | Type | Description |
419
+ * |---|---|---|
420
+ * | `staircaseType` | {@linkcode PluginStaircasePreset} | Base staircase type |
421
+ * | `staircasePreset` | {@linkcode PluginStaircasePreset} | Named parametric preset |
422
+ * | `staircaseHeight` | `number` | Total rise (engine units) |
423
+ * | `steps` | `number` | Step count (unitless) |
424
+ * | `riser` | `number` | Riser height (engine units) |
425
+ * | `tread` | `number` | Tread depth (engine units) |
426
+ * | `width` | `number` | Flight width (engine units) |
427
+ * | `depth` | `number` | Slab/waist thickness (engine units) |
428
+ * | `wellSize` | `number`? | Stairwell gap (dogLegged / openWell / square) |
429
+ * | `landingWidth` | `number`? | Landing depth (straight / dogLegged) |
430
+ * | `flightStartDistAfterTurn` | `number`? | Flight offset after a turn (dogLegged / lShaped / square) |
431
+ * | `baseOffset` | `number` | Vertical offset from the storey base (engine units) |
432
+ * | `isStoreyHeightUnlocked` | `boolean` | When `false`, height is tied to the storey height |
433
+ * | `isStaircaseHeightUnlocked` | `boolean` | When `false`, height recomputes from steps × riser |
434
+ * | `storey` | `number` | Storey/floor level the staircase sits on |
435
+ */
436
+ export declare const PluginStaircaseParams: z.ZodObject<{
437
+ staircaseType: z.ZodEnum<{
438
+ custom: "custom";
439
+ straight: "straight";
440
+ straightWoLanding: "straightWoLanding";
441
+ straightFlightWoMidLanding: "straightFlightWoMidLanding";
442
+ dogLegged: "dogLegged";
443
+ openWell: "openWell";
444
+ lShaped: "lShaped";
445
+ "3StepLShaped": "3StepLShaped";
446
+ square: "square";
447
+ singleStep: "singleStep";
448
+ plinthLevel: "plinthLevel";
449
+ amphitheatre: "amphitheatre";
450
+ connectingStepsToAmphitheatre: "connectingStepsToAmphitheatre";
451
+ mezzanineFloorStraight: "mezzanineFloorStraight";
452
+ mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
453
+ mezzanineFloorLShaped: "mezzanineFloorLShaped";
454
+ }>;
455
+ staircasePreset: z.ZodEnum<{
456
+ custom: "custom";
457
+ straight: "straight";
458
+ straightWoLanding: "straightWoLanding";
459
+ straightFlightWoMidLanding: "straightFlightWoMidLanding";
460
+ dogLegged: "dogLegged";
461
+ openWell: "openWell";
462
+ lShaped: "lShaped";
463
+ "3StepLShaped": "3StepLShaped";
464
+ square: "square";
465
+ singleStep: "singleStep";
466
+ plinthLevel: "plinthLevel";
467
+ amphitheatre: "amphitheatre";
468
+ connectingStepsToAmphitheatre: "connectingStepsToAmphitheatre";
469
+ mezzanineFloorStraight: "mezzanineFloorStraight";
470
+ mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
471
+ mezzanineFloorLShaped: "mezzanineFloorLShaped";
472
+ }>;
473
+ staircaseHeight: z.ZodNumber;
474
+ steps: z.ZodNumber;
475
+ riser: z.ZodNumber;
476
+ tread: z.ZodNumber;
477
+ width: z.ZodNumber;
478
+ depth: z.ZodNumber;
479
+ wellSize: z.ZodOptional<z.ZodNumber>;
480
+ landingWidth: z.ZodOptional<z.ZodNumber>;
481
+ flightStartDistAfterTurn: z.ZodOptional<z.ZodNumber>;
482
+ baseOffset: z.ZodNumber;
483
+ isStoreyHeightUnlocked: z.ZodBoolean;
484
+ isStaircaseHeightUnlocked: z.ZodBoolean;
485
+ storey: z.ZodNumber;
486
+ }, z.core.$strip>;
487
+ export type PluginStaircaseParams = z.infer<typeof PluginStaircaseParams>;
385
488
  /**
386
489
  * `design.query.*` — read-only enumeration + inspection of scene-committed BIM
387
490
  * entities (all-handle model, §11). No query mutates the scene.
@@ -400,6 +503,8 @@ export declare abstract class PluginDesignQueryApi {
400
503
  abstract geometry: PluginDesignQueryGeometryApi;
401
504
  /** Space-specific reads (footprint, …). See {@linkcode PluginDesignQuerySpacesApi}. */
402
505
  abstract spaces: PluginDesignQuerySpacesApi;
506
+ /** Reference-line-specific reads. See {@linkcode PluginDesignQueryReferenceLinesApi}. */
507
+ abstract referenceLines: PluginDesignQueryReferenceLinesApi;
403
508
  constructor();
404
509
  /**
405
510
  * List **all** BIM entities in the project matching the filter.
@@ -928,13 +1033,16 @@ export declare abstract class PluginDesignQueryApi {
928
1033
  * Read an entity's common properties as a {@linkcode PluginEntityProperties}
929
1034
  * record (only applicable fields are present). For spaces/masses this includes
930
1035
  * `adjacency` — the per-entity adjacency read (bulk form:
931
- * `program.adjacency.getMatrix`).
1036
+ * `program.adjacency.getMatrix`). For walls and the slab family (slab / floor
1037
+ * / roof / ceiling) this includes `buildingType` — the assigned building type
1038
+ * NAME the panel's type dropdown shows, matching `design.types.list(kind)`.
932
1039
  *
933
1040
  * @param component - the entity's {@linkcode ComponentHandle}
934
1041
  * @returns the property record
935
1042
  *
936
1043
  * @examplePrompt Show me all the details of the selected object
937
1044
  * @examplePrompt What storey is this wall on?
1045
+ * @examplePrompt Which wall type is assigned to this wall?
938
1046
  * @examplePrompt Which department does this room belong to?
939
1047
  * @examplePrompt Is this element locked or hidden?
940
1048
  * @examplePrompt Get the adjacencies of this space
@@ -961,11 +1069,20 @@ export declare abstract class PluginDesignQueryApi {
961
1069
  * Measure an entity — read its area, volume, and/or running length (whichever
962
1070
  * its type supports) together with its world-space bounding box in one call.
963
1071
  *
1072
+ * For walls and the slab family this also carries the Object Properties
1073
+ * panel's dimension reads in engine units: `thickness` (walls — straight
1074
+ * orthogonal only, exactly when the panel shows it; slabs / floors / roofs /
1075
+ * ceilings — the vertical extent the panel calls Thickness) and `height`
1076
+ * (walls). These are the read side of `design.update.wall` /
1077
+ * `design.update.slab` / `.floor` / `.roof` / `.ceiling`.
1078
+ *
964
1079
  * @param component - the entity's {@linkcode ComponentHandle}
965
1080
  * @returns a {@linkcode PluginEntityMeasurements}, or `null` if the entity is gone
966
1081
  *
967
1082
  * @examplePrompt What's the area of this room?
968
1083
  * @examplePrompt How long is the selected wall?
1084
+ * @examplePrompt How thick is this wall?
1085
+ * @examplePrompt Get the thickness of the slab on level 2
969
1086
  * @examplePrompt Get the volume of this mass
970
1087
  * @examplePrompt Give me the dimensions of the selected element
971
1088
  * @examplePrompt What's the floor area of the kitchen?
@@ -975,9 +1092,41 @@ export declare abstract class PluginDesignQueryApi {
975
1092
  * const [space] = await snaptrude.design.query.listSpaces()
976
1093
  * const m = await snaptrude.design.query.measure(space)
977
1094
  * console.log(m?.area, m?.volume)
1095
+ *
1096
+ * // wall dimensions — the panel's Thickness / Height, in engine units
1097
+ * const [wall] = await snaptrude.design.query.listWalls()
1098
+ * const wm = await snaptrude.design.query.measure(wall)
1099
+ * console.log(wm?.thickness, wm?.height)
978
1100
  * ```
979
1101
  */
980
1102
  abstract measure(component: ComponentHandle): PluginApiReturn<PluginEntityMeasurements | null>;
1103
+ /**
1104
+ * Read a staircase's parametric properties — its preset, dimensions, step
1105
+ * count, base offset, and height-lock state — as a
1106
+ * {@linkcode PluginStaircaseParams} record. The paired write is
1107
+ * `design.update.staircase`.
1108
+ *
1109
+ * All dimensions are in **engine units** (the same convention as
1110
+ * `design.doors.getWidth`); `steps` is a unitless count. A read — never
1111
+ * throws: returns `null` for a handle that is not a staircase or no longer
1112
+ * resolves.
1113
+ *
1114
+ * @param staircase - the staircase's {@linkcode ComponentHandle}
1115
+ * @returns the {@linkcode PluginStaircaseParams} record, or `null`
1116
+ *
1117
+ * @examplePrompt What's the riser height of this staircase?
1118
+ * @examplePrompt How many steps does the selected stair have?
1119
+ * @examplePrompt Show me the tread and width of this staircase
1120
+ * @examplePrompt Read all the parameters of the stairs on level 1
1121
+ *
1122
+ * # Example
1123
+ * ```ts
1124
+ * const [stair] = await snaptrude.design.query.listStaircases({ isSelected: true })
1125
+ * const params = stair ? await snaptrude.design.query.getStaircaseParams(stair) : null
1126
+ * if (params) console.log(params.steps, params.riser, params.tread)
1127
+ * ```
1128
+ */
1129
+ abstract getStaircaseParams(staircase: ComponentHandle): PluginApiReturn<PluginStaircaseParams | null>;
981
1130
  /**
982
1131
  * Get the **union** axis-aligned bounding box enclosing a set of entities.
983
1132
  *
@@ -1005,7 +1154,136 @@ export declare abstract class PluginDesignQueryApi {
1005
1154
  * ```
1006
1155
  */
1007
1156
  abstract getBoundingBox(components: ComponentHandle[]): PluginApiReturn<BBoxComponents | null>;
1157
+ /**
1158
+ * Compute the plan **outline of what is built on a storey** — the union of
1159
+ * the storey's wall (by default) footprints as polygons-with-holes. This is
1160
+ * the footprint-from-the-built-model query: by the time slabs are needed the
1161
+ * walls exist, and the engine's own solids (snapped, joined and mitred at
1162
+ * creation) are the cleanest wall network available — no CAD re-tracing.
1163
+ *
1164
+ * Semantics: the union of wall solids is the wall *material* — a ring-shaped
1165
+ * polygon. The **outer ring is the OUTSIDE wall face** (the slab boundary);
1166
+ * every enclosed region — rooms AND courtyards — appears as a hole. When the
1167
+ * largest hole is ~zero the walls don't enclose anything: the footprint
1168
+ * reports `enclosed: false` (an open wall network), never a garbage outline.
1169
+ * Detached buildings come back as separate footprints.
1170
+ *
1171
+ * A read — nothing is created. Feed a footprint's `outline` to
1172
+ * `core.geom.create.profileFromLinePoints` → `design.create.slab` to build
1173
+ * the floor/roof plate. Coordinates are world-space plan (x, z) in Snaptrude
1174
+ * internal units; `areaSq` values are in squared internal units.
1175
+ *
1176
+ * @param options - storey / included kinds / debris filter; see
1177
+ * {@linkcode PluginStoreyOutlineOptions}.
1178
+ * @returns the storey's footprints (possibly several for detached buildings)
1179
+ * plus pieces discarded by `minArea` (`footprints: []` when nothing matches).
1180
+ *
1181
+ * @examplePrompt What is the building footprint on the ground floor?
1182
+ * @examplePrompt Create a floor slab covering the whole storey
1183
+ * @examplePrompt Get the outline of the walls on storey 1
1184
+ * @examplePrompt How much area do the ground-floor walls enclose?
1185
+ *
1186
+ * # Example
1187
+ * ```ts
1188
+ * const r = await snaptrude.design.query.storeyOutline({ storey: 1 })
1189
+ * const main = r.footprints.find((f) => f.enclosed)
1190
+ * if (main) {
1191
+ * const profile = await snaptrude.core.geom.create.profileFromLinePoints(
1192
+ * main.outline.map((p) => ({ x: p.x, y: 0, z: p.z })),
1193
+ * )
1194
+ * // → design.create.slab with the profile's contour
1195
+ * }
1196
+ * ```
1197
+ */
1198
+ abstract storeyOutline(options?: PluginStoreyOutlineOptions): PluginApiReturn<PluginStoreyOutlineResult>;
1008
1199
  }
1200
+ /** A point in the world-space plan (x, z) projection, Snaptrude internal units. */
1201
+ export declare const PluginOutlinePlanPoint: z.ZodObject<{
1202
+ x: z.ZodNumber;
1203
+ z: z.ZodNumber;
1204
+ }, z.core.$strip>;
1205
+ export type PluginOutlinePlanPoint = z.infer<typeof PluginOutlinePlanPoint>;
1206
+ /**
1207
+ * Options for {@link PluginDesignQueryApi.storeyOutline}.
1208
+ *
1209
+ * | Property | Type | Description |
1210
+ * |---|---|---|
1211
+ * | `storey` | `number`? | Only components on this storey (default: all storeys) |
1212
+ * | `include` | {@link PluginEntityType}`[]`? | Component kinds to union (default `["wall"]`) |
1213
+ * | `minArea` | `number`? | Drop union pieces below this plan area, squared internal units (default `1`) |
1214
+ */
1215
+ export declare const PluginStoreyOutlineOptions: z.ZodObject<{
1216
+ storey: z.ZodOptional<z.ZodNumber>;
1217
+ include: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1218
+ mass: "mass";
1219
+ floor: "floor";
1220
+ wall: "wall";
1221
+ ceiling: "ceiling";
1222
+ door: "door";
1223
+ window: "window";
1224
+ furniture: "furniture";
1225
+ space: "space";
1226
+ slab: "slab";
1227
+ roof: "roof";
1228
+ column: "column";
1229
+ beam: "beam";
1230
+ staircase: "staircase";
1231
+ referenceLine: "referenceLine";
1232
+ curtainWall: "curtainWall";
1233
+ mullion: "mullion";
1234
+ panel: "panel";
1235
+ parametricComponent: "parametricComponent";
1236
+ }>>>;
1237
+ minArea: z.ZodDefault<z.ZodNumber>;
1238
+ }, z.core.$strip>;
1239
+ export type PluginStoreyOutlineOptions = z.input<typeof PluginStoreyOutlineOptions>;
1240
+ /**
1241
+ * One connected footprint from {@link PluginDesignQueryApi.storeyOutline}.
1242
+ * `outline` traces the OUTSIDE wall face; `holes` are the enclosed regions
1243
+ * (rooms and courtyards). `enclosed` is `false` when the wall network does not
1244
+ * close around any region (open C-shape) — don't slab an unenclosed outline
1245
+ * without checking it.
1246
+ */
1247
+ export declare const PluginStoreyFootprint: z.ZodObject<{
1248
+ outline: z.ZodArray<z.ZodObject<{
1249
+ x: z.ZodNumber;
1250
+ z: z.ZodNumber;
1251
+ }, z.core.$strip>>;
1252
+ holes: z.ZodArray<z.ZodObject<{
1253
+ ring: z.ZodArray<z.ZodObject<{
1254
+ x: z.ZodNumber;
1255
+ z: z.ZodNumber;
1256
+ }, z.core.$strip>>;
1257
+ areaSq: z.ZodNumber;
1258
+ }, z.core.$strip>>;
1259
+ areaSq: z.ZodNumber;
1260
+ enclosed: z.ZodBoolean;
1261
+ }, z.core.$strip>;
1262
+ export type PluginStoreyFootprint = z.infer<typeof PluginStoreyFootprint>;
1263
+ /** Result of {@link PluginDesignQueryApi.storeyOutline}. */
1264
+ export declare const PluginStoreyOutlineResult: z.ZodObject<{
1265
+ footprints: z.ZodArray<z.ZodObject<{
1266
+ outline: z.ZodArray<z.ZodObject<{
1267
+ x: z.ZodNumber;
1268
+ z: z.ZodNumber;
1269
+ }, z.core.$strip>>;
1270
+ holes: z.ZodArray<z.ZodObject<{
1271
+ ring: z.ZodArray<z.ZodObject<{
1272
+ x: z.ZodNumber;
1273
+ z: z.ZodNumber;
1274
+ }, z.core.$strip>>;
1275
+ areaSq: z.ZodNumber;
1276
+ }, z.core.$strip>>;
1277
+ areaSq: z.ZodNumber;
1278
+ enclosed: z.ZodBoolean;
1279
+ }, z.core.$strip>>;
1280
+ discarded: z.ZodArray<z.ZodObject<{
1281
+ areaSq: z.ZodNumber;
1282
+ reason: z.ZodString;
1283
+ }, z.core.$strip>>;
1284
+ }, z.core.$strip>;
1285
+ export type PluginStoreyOutlineResult = z.infer<typeof PluginStoreyOutlineResult>;
1009
1286
  export * from "./geometry";
1010
1287
  export * from "./spaces";
1288
+ export * from "./referenceLines";
1011
1289
  //# sourceMappingURL=index.d.ts.map
@@ -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":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAQlE,OAAO,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAA;AAMrE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;EAmB3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAM/D;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAe7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAE1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,+BAA+B,CACvC,CAAA;AAMD,qFAAqF;AACrF,eAAO,MAAM,8BAA8B;;iBAEzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED,0DAA0D;AAC1D,eAAO,MAAM,uBAAuB;;iBAElC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,kFAAkF;AAClF,eAAO,MAAM,+BAA+B;;iBAE1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,+BAA+B,CACvC,CAAA;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmBvB,CAAA;AACZ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;iBAOnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAgBhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAMzE;;;;;;;;;;;;GAYG;AACH,8BAAsB,oBAAoB;IACxC,kGAAkG;IAClG,SAAgB,QAAQ,EAAE,4BAA4B,CAAA;IACtD,uFAAuF;IACvF,SAAgB,MAAM,EAAE,0BAA0B,CAAA;IAClD,yFAAyF;IACzF,SAAgB,cAAc,EAAE,kCAAkC,CAAA;;IAMlE;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;aACa,YAAY,CAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,UAAU,CACxB,IAAI,EAAE,gBAAgB,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;OAmBG;aACa,SAAS,CACvB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;aACa,UAAU,CACxB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;OAmBG;aACa,UAAU,CACxB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,SAAS,CACvB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,WAAW,CACzB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,UAAU,CACxB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,SAAS,CACvB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,SAAS,CACvB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,WAAW,CACzB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,SAAS,CACvB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,YAAY,CAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,cAAc,CAC5B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,aAAa,CAC3B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,kBAAkB,CAChC,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;OAgBG;aACa,YAAY,CAC1B,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAIrC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,OAAO,CACrB,EAAE,EAAE,eAAe,GAClB,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC;IAE1C;;;;;;;;;;;;;;;;;;OAkBG;aACa,MAAM,CAAC,EAAE,EAAE,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC;IAErE;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,aAAa,CAC3B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,QAAQ,CAAC,SAAS,EAAE,eAAe,GAAG,eAAe,CAAC,MAAM,CAAC;IAE7E;;;;;;;;;;;;;;;;;;OAkBG;aACa,YAAY,CAC1B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,YAAY,CAC1B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,OAAO,CACrB,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,eAAe,GAAG,IAAI,CAAC;IAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;aACa,aAAa,CAC3B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,sBAAsB,CAAC;IAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;aACa,OAAO,CACrB,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,wBAAwB,GAAG,IAAI,CAAC;IAEnD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;aACa,kBAAkB,CAChC,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;aACa,cAAc,CAC5B,UAAU,EAAE,eAAe,EAAE,GAC5B,eAAe,CAAC,cAAc,GAAG,IAAI,CAAC;IAEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;aACa,aAAa,CAC3B,OAAO,CAAC,EAAE,0BAA0B,GACnC,eAAe,CAAC,yBAAyB,CAAC;CAC9C;AAGD,mFAAmF;AACnF,eAAO,MAAM,sBAAsB;;;iBAA6C,CAAA;AAChF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;iBAIrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;iBAUhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,4DAA4D;AAC5D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;iBAKpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,45 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../../types";
3
+ import { PluginReferenceLineGetProperty, PluginReferenceLineGetResult } from "../../entity/referenceLine";
4
+ /**
5
+ * `design.query.referenceLines.*` — reference-line-specific reads.
6
+ *
7
+ * A **reference line** is a 2D guide line (or arc) in the scene, typically used
8
+ * for grid lines and alignment guides. Enumerate reference lines with
9
+ * `design.query.listReferenceLines`; read an individual line's properties here.
10
+ * This is the canonical home of the read formerly at `entity.referenceLine.get`
11
+ * (now deprecated).
12
+ *
13
+ * Accessed via `snaptrude.design.query.referenceLines`.
14
+ */
15
+ export declare abstract class PluginDesignQueryReferenceLinesApi {
16
+ constructor();
17
+ /**
18
+ * Get properties of a reference line by its ID.
19
+ *
20
+ * Only the properties listed in `properties` are returned — unlisted
21
+ * properties will be `undefined` in the result.
22
+ *
23
+ * @param referenceLineId - The unique reference line ID
24
+ * @param properties - Array of property names to retrieve. See
25
+ * {@linkcode PluginReferenceLineGetProperty}.
26
+ * @returns A partial {@linkcode PluginReferenceLineGetResult} containing only the
27
+ * requested properties
28
+ * @throws If the reference line does not exist
29
+ *
30
+ * @examplePrompt Get the curve geometry of this reference line
31
+ * @examplePrompt Where does this grid line run?
32
+ * @examplePrompt Read the geometry of a guide line by its id
33
+ * @examplePrompt Look up the curve of the selected reference line
34
+ *
35
+ * # Example
36
+ * ```ts
37
+ * const [refLine] = await snaptrude.design.query.listReferenceLines()
38
+ * const result = await snaptrude.design.query.referenceLines.get(refLine, ["curve"])
39
+ * // result.curve is an opaque CurveHandle; read its coordinates via
40
+ * // `snaptrude.core.geom.curve`.
41
+ * ```
42
+ */
43
+ abstract get(referenceLineId: string, properties: z.infer<typeof PluginReferenceLineGetProperty>[]): PluginApiReturn<PluginReferenceLineGetResult>;
44
+ }
45
+ //# sourceMappingURL=referenceLines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceLines.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/referenceLines.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EACL,8BAA8B,EAC9B,4BAA4B,EAC7B,MAAM,4BAA4B,CAAA;AAEnC;;;;;;;;;;GAUG;AACH,8BAAsB,kCAAkC;;IAGtD;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;aACa,GAAG,CACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,GAC3D,eAAe,CAAC,4BAA4B,CAAC;CACjD"}