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

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 +3620 -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 +349 -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 +282 -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 +4582 -1422
  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 +4171 -1411
  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 +388 -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 +217 -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
@@ -34,15 +35,15 @@ export declare const PluginEntityType: z.ZodEnum<{
34
35
  floor: "floor";
35
36
  wall: "wall";
36
37
  ceiling: "ceiling";
37
- space: "space";
38
38
  door: "door";
39
39
  window: "window";
40
+ furniture: "furniture";
41
+ space: "space";
40
42
  slab: "slab";
41
43
  roof: "roof";
42
44
  column: "column";
43
45
  beam: "beam";
44
46
  staircase: "staircase";
45
- furniture: "furniture";
46
47
  referenceLine: "referenceLine";
47
48
  curtainWall: "curtainWall";
48
49
  mullion: "mullion";
@@ -80,15 +81,15 @@ export declare const PluginEntityFilter: z.ZodObject<{
80
81
  floor: "floor";
81
82
  wall: "wall";
82
83
  ceiling: "ceiling";
83
- space: "space";
84
84
  door: "door";
85
85
  window: "window";
86
+ furniture: "furniture";
87
+ space: "space";
86
88
  slab: "slab";
87
89
  roof: "roof";
88
90
  column: "column";
89
91
  beam: "beam";
90
92
  staircase: "staircase";
91
- furniture: "furniture";
92
93
  referenceLine: "referenceLine";
93
94
  curtainWall: "curtainWall";
94
95
  mullion: "mullion";
@@ -159,15 +160,15 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
159
160
  floor: "floor";
160
161
  wall: "wall";
161
162
  ceiling: "ceiling";
162
- space: "space";
163
163
  door: "door";
164
164
  window: "window";
165
+ furniture: "furniture";
166
+ space: "space";
165
167
  slab: "slab";
166
168
  roof: "roof";
167
169
  column: "column";
168
170
  beam: "beam";
169
171
  staircase: "staircase";
170
- furniture: "furniture";
171
172
  referenceLine: "referenceLine";
172
173
  curtainWall: "curtainWall";
173
174
  mullion: "mullion";
@@ -231,15 +232,15 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
231
232
  floor: "floor";
232
233
  wall: "wall";
233
234
  ceiling: "ceiling";
234
- space: "space";
235
235
  door: "door";
236
236
  window: "window";
237
+ furniture: "furniture";
238
+ space: "space";
237
239
  slab: "slab";
238
240
  roof: "roof";
239
241
  column: "column";
240
242
  beam: "beam";
241
243
  staircase: "staircase";
242
- furniture: "furniture";
243
244
  referenceLine: "referenceLine";
244
245
  curtainWall: "curtainWall";
245
246
  mullion: "mullion";
@@ -280,6 +281,7 @@ export type PluginDesignQueryComponentsArgs = z.infer<typeof PluginDesignQueryCo
280
281
  * | `spaceType` | {@linkcode PluginSpaceType} | Space-type (spaces only) |
281
282
  * | `areaClass` | {@linkcode PluginAreaClass} | Area classification (spaces only) |
282
283
  * | `departmentId` | `string` | Department (masses only) |
284
+ * | `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
285
  * | `isLocked` | `boolean` | Lock flag |
284
286
  * | `isHidden` | `boolean` | User-hidden flag |
285
287
  * | `isSelected` | `boolean` | Current selection state |
@@ -293,15 +295,15 @@ export declare const PluginEntityProperties: z.ZodObject<{
293
295
  floor: "floor";
294
296
  wall: "wall";
295
297
  ceiling: "ceiling";
296
- space: "space";
297
298
  door: "door";
298
299
  window: "window";
300
+ furniture: "furniture";
301
+ space: "space";
299
302
  slab: "slab";
300
303
  roof: "roof";
301
304
  column: "column";
302
305
  beam: "beam";
303
306
  staircase: "staircase";
304
- furniture: "furniture";
305
307
  referenceLine: "referenceLine";
306
308
  curtainWall: "curtainWall";
307
309
  mullion: "mullion";
@@ -330,6 +332,7 @@ export declare const PluginEntityProperties: z.ZodObject<{
330
332
  EXCLUDED: "EXCLUDED";
331
333
  }>>;
332
334
  departmentId: z.ZodOptional<z.ZodString>;
335
+ buildingType: z.ZodOptional<z.ZodString>;
333
336
  isLocked: z.ZodOptional<z.ZodBoolean>;
334
337
  isHidden: z.ZodOptional<z.ZodBoolean>;
335
338
  isSelected: z.ZodOptional<z.ZodBoolean>;
@@ -357,17 +360,28 @@ export type PluginEntityProperties = z.infer<typeof PluginEntityProperties>;
357
360
  * entity's type computes them (area: floors/masses/slabs/roofs/beams/columns;
358
361
  * volume: all; length: walls/beams).
359
362
  *
363
+ * `thickness` and `height` are the Object Properties panel's dimension reads
364
+ * (the same engine source `design.update.wall` / `design.update.slab` etc.
365
+ * write through), in engine units. `thickness`: walls (the plan thickness —
366
+ * present only for straight orthogonal walls, exactly when the panel shows it)
367
+ * and slabs/floors/roofs/ceilings (the vertical extent the panel calls
368
+ * Thickness). `height`: walls only.
369
+ *
360
370
  * | Property | Type | Description |
361
371
  * |---|---|---|
362
372
  * | `area` | `number`? | Bottom-face area |
363
373
  * | `volume` | `number`? | Solid volume |
364
374
  * | `length` | `number`? | Running length (linear elements) |
375
+ * | `thickness` | `number`? | Panel Thickness — walls (straight orthogonal only) and the slab family |
376
+ * | `height` | `number`? | Panel Height — walls only |
365
377
  * | `boundingBox` | {@linkcode BBoxComponents} | World-space AABB (always present) |
366
378
  */
367
379
  export declare const PluginEntityMeasurements: z.ZodObject<{
368
380
  area: z.ZodOptional<z.ZodNumber>;
369
381
  volume: z.ZodOptional<z.ZodNumber>;
370
382
  length: z.ZodOptional<z.ZodNumber>;
383
+ thickness: z.ZodOptional<z.ZodNumber>;
384
+ height: z.ZodOptional<z.ZodNumber>;
371
385
  boundingBox: z.ZodObject<{
372
386
  min: z.ZodObject<{
373
387
  x: z.ZodNumber;
@@ -382,6 +396,89 @@ export declare const PluginEntityMeasurements: z.ZodObject<{
382
396
  }, z.core.$strip>;
383
397
  }, z.core.$strip>;
384
398
  export type PluginEntityMeasurements = z.infer<typeof PluginEntityMeasurements>;
399
+ /**
400
+ * The parametric properties of a staircase — the same editable fields the
401
+ * staircase properties panel exposes. Returned by
402
+ * {@linkcode PluginDesignQueryApi.getStaircaseParams}; the write side is
403
+ * `design.update.staircase`. Engine internals (block schema, min well size,
404
+ * square-well padding) are deliberately excluded.
405
+ *
406
+ * All dimensions are in **engine units** (the same convention as
407
+ * `design.doors.getWidth`); `steps` is a unitless count. The invariant
408
+ * `staircaseHeight = steps × riser` is governed by the two lock booleans — see
409
+ * `design.update.staircase`. Type-specific fields (`wellSize`, `landingWidth`,
410
+ * `flightStartDistAfterTurn`) are present only when the preset uses them.
411
+ *
412
+ * | Property | Type | Description |
413
+ * |---|---|---|
414
+ * | `staircaseType` | {@linkcode PluginStaircasePreset} | Base staircase type |
415
+ * | `staircasePreset` | {@linkcode PluginStaircasePreset} | Named parametric preset |
416
+ * | `staircaseHeight` | `number` | Total rise (engine units) |
417
+ * | `steps` | `number` | Step count (unitless) |
418
+ * | `riser` | `number` | Riser height (engine units) |
419
+ * | `tread` | `number` | Tread depth (engine units) |
420
+ * | `width` | `number` | Flight width (engine units) |
421
+ * | `depth` | `number` | Slab/waist thickness (engine units) |
422
+ * | `wellSize` | `number`? | Stairwell gap (dogLegged / openWell / square) |
423
+ * | `landingWidth` | `number`? | Landing depth (straight / dogLegged) |
424
+ * | `flightStartDistAfterTurn` | `number`? | Flight offset after a turn (dogLegged / lShaped / square) |
425
+ * | `baseOffset` | `number` | Vertical offset from the storey base (engine units) |
426
+ * | `isStoreyHeightUnlocked` | `boolean` | When `false`, height is tied to the storey height |
427
+ * | `isStaircaseHeightUnlocked` | `boolean` | When `false`, height recomputes from steps × riser |
428
+ * | `storey` | `number` | Storey/floor level the staircase sits on |
429
+ */
430
+ export declare const PluginStaircaseParams: z.ZodObject<{
431
+ staircaseType: z.ZodEnum<{
432
+ custom: "custom";
433
+ straight: "straight";
434
+ straightWoLanding: "straightWoLanding";
435
+ straightFlightWoMidLanding: "straightFlightWoMidLanding";
436
+ dogLegged: "dogLegged";
437
+ openWell: "openWell";
438
+ lShaped: "lShaped";
439
+ "3StepLShaped": "3StepLShaped";
440
+ square: "square";
441
+ singleStep: "singleStep";
442
+ plinthLevel: "plinthLevel";
443
+ amphitheatre: "amphitheatre";
444
+ connectingStepsToAmphitheatre: "connectingStepsToAmphitheatre";
445
+ mezzanineFloorStraight: "mezzanineFloorStraight";
446
+ mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
447
+ mezzanineFloorLShaped: "mezzanineFloorLShaped";
448
+ }>;
449
+ staircasePreset: z.ZodEnum<{
450
+ custom: "custom";
451
+ straight: "straight";
452
+ straightWoLanding: "straightWoLanding";
453
+ straightFlightWoMidLanding: "straightFlightWoMidLanding";
454
+ dogLegged: "dogLegged";
455
+ openWell: "openWell";
456
+ lShaped: "lShaped";
457
+ "3StepLShaped": "3StepLShaped";
458
+ square: "square";
459
+ singleStep: "singleStep";
460
+ plinthLevel: "plinthLevel";
461
+ amphitheatre: "amphitheatre";
462
+ connectingStepsToAmphitheatre: "connectingStepsToAmphitheatre";
463
+ mezzanineFloorStraight: "mezzanineFloorStraight";
464
+ mezzanineFloorDogLegged: "mezzanineFloorDogLegged";
465
+ mezzanineFloorLShaped: "mezzanineFloorLShaped";
466
+ }>;
467
+ staircaseHeight: z.ZodNumber;
468
+ steps: z.ZodNumber;
469
+ riser: z.ZodNumber;
470
+ tread: z.ZodNumber;
471
+ width: z.ZodNumber;
472
+ depth: z.ZodNumber;
473
+ wellSize: z.ZodOptional<z.ZodNumber>;
474
+ landingWidth: z.ZodOptional<z.ZodNumber>;
475
+ flightStartDistAfterTurn: z.ZodOptional<z.ZodNumber>;
476
+ baseOffset: z.ZodNumber;
477
+ isStoreyHeightUnlocked: z.ZodBoolean;
478
+ isStaircaseHeightUnlocked: z.ZodBoolean;
479
+ storey: z.ZodNumber;
480
+ }, z.core.$strip>;
481
+ export type PluginStaircaseParams = z.infer<typeof PluginStaircaseParams>;
385
482
  /**
386
483
  * `design.query.*` — read-only enumeration + inspection of scene-committed BIM
387
484
  * entities (all-handle model, §11). No query mutates the scene.
@@ -400,6 +497,8 @@ export declare abstract class PluginDesignQueryApi {
400
497
  abstract geometry: PluginDesignQueryGeometryApi;
401
498
  /** Space-specific reads (footprint, …). See {@linkcode PluginDesignQuerySpacesApi}. */
402
499
  abstract spaces: PluginDesignQuerySpacesApi;
500
+ /** Reference-line-specific reads. See {@linkcode PluginDesignQueryReferenceLinesApi}. */
501
+ abstract referenceLines: PluginDesignQueryReferenceLinesApi;
403
502
  constructor();
404
503
  /**
405
504
  * List **all** BIM entities in the project matching the filter.
@@ -928,13 +1027,16 @@ export declare abstract class PluginDesignQueryApi {
928
1027
  * Read an entity's common properties as a {@linkcode PluginEntityProperties}
929
1028
  * record (only applicable fields are present). For spaces/masses this includes
930
1029
  * `adjacency` — the per-entity adjacency read (bulk form:
931
- * `program.adjacency.getMatrix`).
1030
+ * `program.adjacency.getMatrix`). For walls and the slab family (slab / floor
1031
+ * / roof / ceiling) this includes `buildingType` — the assigned building type
1032
+ * NAME the panel's type dropdown shows, matching `design.types.list(kind)`.
932
1033
  *
933
1034
  * @param component - the entity's {@linkcode ComponentHandle}
934
1035
  * @returns the property record
935
1036
  *
936
1037
  * @examplePrompt Show me all the details of the selected object
937
1038
  * @examplePrompt What storey is this wall on?
1039
+ * @examplePrompt Which wall type is assigned to this wall?
938
1040
  * @examplePrompt Which department does this room belong to?
939
1041
  * @examplePrompt Is this element locked or hidden?
940
1042
  * @examplePrompt Get the adjacencies of this space
@@ -961,11 +1063,20 @@ export declare abstract class PluginDesignQueryApi {
961
1063
  * Measure an entity — read its area, volume, and/or running length (whichever
962
1064
  * its type supports) together with its world-space bounding box in one call.
963
1065
  *
1066
+ * For walls and the slab family this also carries the Object Properties
1067
+ * panel's dimension reads in engine units: `thickness` (walls — straight
1068
+ * orthogonal only, exactly when the panel shows it; slabs / floors / roofs /
1069
+ * ceilings — the vertical extent the panel calls Thickness) and `height`
1070
+ * (walls). These are the read side of `design.update.wall` /
1071
+ * `design.update.slab` / `.floor` / `.roof` / `.ceiling`.
1072
+ *
964
1073
  * @param component - the entity's {@linkcode ComponentHandle}
965
1074
  * @returns a {@linkcode PluginEntityMeasurements}, or `null` if the entity is gone
966
1075
  *
967
1076
  * @examplePrompt What's the area of this room?
968
1077
  * @examplePrompt How long is the selected wall?
1078
+ * @examplePrompt How thick is this wall?
1079
+ * @examplePrompt Get the thickness of the slab on level 2
969
1080
  * @examplePrompt Get the volume of this mass
970
1081
  * @examplePrompt Give me the dimensions of the selected element
971
1082
  * @examplePrompt What's the floor area of the kitchen?
@@ -975,9 +1086,41 @@ export declare abstract class PluginDesignQueryApi {
975
1086
  * const [space] = await snaptrude.design.query.listSpaces()
976
1087
  * const m = await snaptrude.design.query.measure(space)
977
1088
  * console.log(m?.area, m?.volume)
1089
+ *
1090
+ * // wall dimensions — the panel's Thickness / Height, in engine units
1091
+ * const [wall] = await snaptrude.design.query.listWalls()
1092
+ * const wm = await snaptrude.design.query.measure(wall)
1093
+ * console.log(wm?.thickness, wm?.height)
978
1094
  * ```
979
1095
  */
980
1096
  abstract measure(component: ComponentHandle): PluginApiReturn<PluginEntityMeasurements | null>;
1097
+ /**
1098
+ * Read a staircase's parametric properties — its preset, dimensions, step
1099
+ * count, base offset, and height-lock state — as a
1100
+ * {@linkcode PluginStaircaseParams} record. The paired write is
1101
+ * `design.update.staircase`.
1102
+ *
1103
+ * All dimensions are in **engine units** (the same convention as
1104
+ * `design.doors.getWidth`); `steps` is a unitless count. A read — never
1105
+ * throws: returns `null` for a handle that is not a staircase or no longer
1106
+ * resolves.
1107
+ *
1108
+ * @param staircase - the staircase's {@linkcode ComponentHandle}
1109
+ * @returns the {@linkcode PluginStaircaseParams} record, or `null`
1110
+ *
1111
+ * @examplePrompt What's the riser height of this staircase?
1112
+ * @examplePrompt How many steps does the selected stair have?
1113
+ * @examplePrompt Show me the tread and width of this staircase
1114
+ * @examplePrompt Read all the parameters of the stairs on level 1
1115
+ *
1116
+ * # Example
1117
+ * ```ts
1118
+ * const [stair] = await snaptrude.design.query.listStaircases({ isSelected: true })
1119
+ * const params = stair ? await snaptrude.design.query.getStaircaseParams(stair) : null
1120
+ * if (params) console.log(params.steps, params.riser, params.tread)
1121
+ * ```
1122
+ */
1123
+ abstract getStaircaseParams(staircase: ComponentHandle): PluginApiReturn<PluginStaircaseParams | null>;
981
1124
  /**
982
1125
  * Get the **union** axis-aligned bounding box enclosing a set of entities.
983
1126
  *
@@ -1005,7 +1148,135 @@ export declare abstract class PluginDesignQueryApi {
1005
1148
  * ```
1006
1149
  */
1007
1150
  abstract getBoundingBox(components: ComponentHandle[]): PluginApiReturn<BBoxComponents | null>;
1151
+ /**
1152
+ * Compute the plan **outline of what is built on a storey** — the union of
1153
+ * the storey's wall (by default) footprints as polygons-with-holes. This is
1154
+ * the footprint-from-the-built-model query: by the time slabs are needed the
1155
+ * walls exist, and the engine's own solids (snapped, joined and mitred at
1156
+ * creation) are the cleanest wall network available — no CAD re-tracing.
1157
+ *
1158
+ * Semantics: the union of wall solids is the wall *material* — a ring-shaped
1159
+ * polygon. The **outer ring is the OUTSIDE wall face** (the slab boundary);
1160
+ * every enclosed region — rooms AND courtyards — appears as a hole. When the
1161
+ * largest hole is ~zero the walls don't enclose anything: the footprint
1162
+ * reports `enclosed: false` (an open wall network), never a garbage outline.
1163
+ * Detached buildings come back as separate footprints.
1164
+ *
1165
+ * A read — nothing is created. Feed a footprint's `outline` to
1166
+ * `core.geom.create.profileFromLinePoints` → `design.create.slab` to build
1167
+ * the floor/roof plate. Coordinates are world-space plan (x, z) in Snaptrude
1168
+ * internal units; `areaSq` values are in squared internal units.
1169
+ *
1170
+ * @param options - storey / included kinds / debris filter; see
1171
+ * {@linkcode PluginStoreyOutlineOptions}.
1172
+ * @returns the storey's footprints (possibly several for detached buildings)
1173
+ * plus pieces discarded by `minArea` (`footprints: []` when nothing matches).
1174
+ *
1175
+ * @examplePrompt What is the building footprint on the ground floor?
1176
+ * @examplePrompt Create a floor slab covering the whole storey
1177
+ * @examplePrompt Get the outline of the walls on storey 1
1178
+ * @examplePrompt How much area do the ground-floor walls enclose?
1179
+ *
1180
+ * # Example
1181
+ * ```ts
1182
+ * const r = await snaptrude.design.query.storeyOutline({ storey: 1 })
1183
+ * const main = r.footprints.find((f) => f.enclosed)
1184
+ * if (main) {
1185
+ * const profile = await snaptrude.core.geom.create.profileFromLinePoints(
1186
+ * main.outline.map((p) => ({ x: p.x, y: 0, z: p.z })),
1187
+ * )
1188
+ * // → design.create.slab with the profile's contour
1189
+ * }
1190
+ * ```
1191
+ */
1192
+ abstract storeyOutline(options?: PluginStoreyOutlineOptions): PluginApiReturn<PluginStoreyOutlineResult>;
1008
1193
  }
1194
+ /** A point in the world-space plan (x, z) projection, Snaptrude internal units. */
1195
+ export declare const PluginOutlinePlanPoint: z.ZodObject<{
1196
+ x: z.ZodNumber;
1197
+ z: z.ZodNumber;
1198
+ }, z.core.$strip>;
1199
+ export type PluginOutlinePlanPoint = z.infer<typeof PluginOutlinePlanPoint>;
1200
+ /**
1201
+ * Options for {@link PluginDesignQueryApi.storeyOutline}.
1202
+ *
1203
+ * | Property | Type | Description |
1204
+ * |---|---|---|
1205
+ * | `storey` | `number`? | Only components on this storey (default: all storeys) |
1206
+ * | `include` | {@link PluginEntityType}`[]`? | Component kinds to union (default `["wall"]`) |
1207
+ * | `minArea` | `number`? | Drop union pieces below this plan area, squared internal units (default `1`) |
1208
+ */
1209
+ export declare const PluginStoreyOutlineOptions: z.ZodObject<{
1210
+ storey: z.ZodOptional<z.ZodNumber>;
1211
+ include: z.ZodDefault<z.ZodArray<z.ZodEnum<{
1212
+ mass: "mass";
1213
+ floor: "floor";
1214
+ wall: "wall";
1215
+ ceiling: "ceiling";
1216
+ door: "door";
1217
+ window: "window";
1218
+ furniture: "furniture";
1219
+ space: "space";
1220
+ slab: "slab";
1221
+ roof: "roof";
1222
+ column: "column";
1223
+ beam: "beam";
1224
+ staircase: "staircase";
1225
+ referenceLine: "referenceLine";
1226
+ curtainWall: "curtainWall";
1227
+ mullion: "mullion";
1228
+ panel: "panel";
1229
+ }>>>;
1230
+ minArea: z.ZodDefault<z.ZodNumber>;
1231
+ }, z.core.$strip>;
1232
+ export type PluginStoreyOutlineOptions = z.input<typeof PluginStoreyOutlineOptions>;
1233
+ /**
1234
+ * One connected footprint from {@link PluginDesignQueryApi.storeyOutline}.
1235
+ * `outline` traces the OUTSIDE wall face; `holes` are the enclosed regions
1236
+ * (rooms and courtyards). `enclosed` is `false` when the wall network does not
1237
+ * close around any region (open C-shape) — don't slab an unenclosed outline
1238
+ * without checking it.
1239
+ */
1240
+ export declare const PluginStoreyFootprint: z.ZodObject<{
1241
+ outline: z.ZodArray<z.ZodObject<{
1242
+ x: z.ZodNumber;
1243
+ z: z.ZodNumber;
1244
+ }, z.core.$strip>>;
1245
+ holes: z.ZodArray<z.ZodObject<{
1246
+ ring: z.ZodArray<z.ZodObject<{
1247
+ x: z.ZodNumber;
1248
+ z: z.ZodNumber;
1249
+ }, z.core.$strip>>;
1250
+ areaSq: z.ZodNumber;
1251
+ }, z.core.$strip>>;
1252
+ areaSq: z.ZodNumber;
1253
+ enclosed: z.ZodBoolean;
1254
+ }, z.core.$strip>;
1255
+ export type PluginStoreyFootprint = z.infer<typeof PluginStoreyFootprint>;
1256
+ /** Result of {@link PluginDesignQueryApi.storeyOutline}. */
1257
+ export declare const PluginStoreyOutlineResult: z.ZodObject<{
1258
+ footprints: z.ZodArray<z.ZodObject<{
1259
+ outline: z.ZodArray<z.ZodObject<{
1260
+ x: z.ZodNumber;
1261
+ z: z.ZodNumber;
1262
+ }, z.core.$strip>>;
1263
+ holes: z.ZodArray<z.ZodObject<{
1264
+ ring: z.ZodArray<z.ZodObject<{
1265
+ x: z.ZodNumber;
1266
+ z: z.ZodNumber;
1267
+ }, z.core.$strip>>;
1268
+ areaSq: z.ZodNumber;
1269
+ }, z.core.$strip>>;
1270
+ areaSq: z.ZodNumber;
1271
+ enclosed: z.ZodBoolean;
1272
+ }, z.core.$strip>>;
1273
+ discarded: z.ZodArray<z.ZodObject<{
1274
+ areaSq: z.ZodNumber;
1275
+ reason: z.ZodString;
1276
+ }, z.core.$strip>>;
1277
+ }, z.core.$strip>;
1278
+ export type PluginStoreyOutlineResult = z.infer<typeof PluginStoreyOutlineResult>;
1009
1279
  export * from "./geometry";
1010
1280
  export * from "./spaces";
1281
+ export * from "./referenceLines";
1011
1282
  //# 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":"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"}
@@ -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"}