@snaptrude/plugin-core 0.10.0 → 1.0.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 (229) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +187 -3
  3. package/api-manifest.json +929 -25
  4. package/dist/api/analysis/daylight.d.ts +5 -5
  5. package/dist/api/analysis/solar.d.ts +2 -2
  6. package/dist/api/core/camera/index.d.ts +463 -0
  7. package/dist/api/core/camera/index.d.ts.map +1 -1
  8. package/dist/api/core/geom/create/index.d.ts +942 -101
  9. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  10. package/dist/api/core/geom/query/brep.d.ts +59 -2
  11. package/dist/api/core/geom/query/brep.d.ts.map +1 -1
  12. package/dist/api/core/geom/query/curve.d.ts +59 -35
  13. package/dist/api/core/geom/query/curve.d.ts.map +1 -1
  14. package/dist/api/core/geom/query/edge.d.ts +2 -2
  15. package/dist/api/core/geom/query/face.d.ts +105 -0
  16. package/dist/api/core/geom/query/face.d.ts.map +1 -1
  17. package/dist/api/core/geom/update/contour.d.ts +10 -2
  18. package/dist/api/core/geom/update/contour.d.ts.map +1 -1
  19. package/dist/api/core/geom/update/curve.d.ts +5 -5
  20. package/dist/api/core/geom/update/profile.d.ts +3 -1
  21. package/dist/api/core/geom/update/profile.d.ts.map +1 -1
  22. package/dist/api/core/handles/index.d.ts +4 -2
  23. package/dist/api/core/handles/index.d.ts.map +1 -1
  24. package/dist/api/core/index.d.ts +4 -4
  25. package/dist/api/core/index.d.ts.map +1 -1
  26. package/dist/api/core/io/import/index.d.ts +3 -1
  27. package/dist/api/core/io/import/index.d.ts.map +1 -1
  28. package/dist/api/core/layers.d.ts +377 -255
  29. package/dist/api/core/layers.d.ts.map +1 -1
  30. package/dist/api/core/mode/index.d.ts +19 -7
  31. package/dist/api/core/mode/index.d.ts.map +1 -1
  32. package/dist/api/core/project/index.d.ts +68 -1
  33. package/dist/api/core/project/index.d.ts.map +1 -1
  34. package/dist/api/core/proposals/index.d.ts +4 -3
  35. package/dist/api/core/proposals/index.d.ts.map +1 -1
  36. package/dist/api/core/storeys/index.d.ts +31 -2
  37. package/dist/api/core/storeys/index.d.ts.map +1 -1
  38. package/dist/api/core/storeys/layers.d.ts +408 -0
  39. package/dist/api/core/storeys/layers.d.ts.map +1 -0
  40. package/dist/api/core/tags.d.ts +84 -3
  41. package/dist/api/core/tags.d.ts.map +1 -1
  42. package/dist/api/core/zoom/index.d.ts +13 -0
  43. package/dist/api/core/zoom/index.d.ts.map +1 -1
  44. package/dist/api/design/bim.d.ts +299 -0
  45. package/dist/api/design/bim.d.ts.map +1 -0
  46. package/dist/api/design/boolean/index.d.ts +2 -0
  47. package/dist/api/design/boolean/index.d.ts.map +1 -1
  48. package/dist/api/design/catalog.d.ts +320 -0
  49. package/dist/api/design/catalog.d.ts.map +1 -0
  50. package/dist/api/design/create/bulk-items.d.ts +269 -0
  51. package/dist/api/design/create/bulk-items.d.ts.map +1 -0
  52. package/dist/api/design/create/grids.d.ts +132 -0
  53. package/dist/api/design/create/grids.d.ts.map +1 -0
  54. package/dist/api/design/create/index.d.ts +752 -78
  55. package/dist/api/design/create/index.d.ts.map +1 -1
  56. package/dist/api/design/create/opening-fields.d.ts +38 -0
  57. package/dist/api/design/create/opening-fields.d.ts.map +1 -0
  58. package/dist/api/design/delete/index.d.ts +5 -0
  59. package/dist/api/design/delete/index.d.ts.map +1 -1
  60. package/dist/api/design/dimensions.d.ts +427 -0
  61. package/dist/api/design/dimensions.d.ts.map +1 -0
  62. package/dist/api/design/doors/index.d.ts +24 -23
  63. package/dist/api/design/doors/index.d.ts.map +1 -1
  64. package/dist/api/design/family.d.ts +1446 -0
  65. package/dist/api/design/family.d.ts.map +1 -0
  66. package/dist/api/design/furniture/index.d.ts +33 -0
  67. package/dist/api/design/furniture/index.d.ts.map +1 -1
  68. package/dist/api/design/grids.d.ts +237 -0
  69. package/dist/api/design/grids.d.ts.map +1 -0
  70. package/dist/api/design/index.d.ts +30 -0
  71. package/dist/api/design/index.d.ts.map +1 -1
  72. package/dist/api/design/networks.d.ts +1703 -0
  73. package/dist/api/design/networks.d.ts.map +1 -0
  74. package/dist/api/design/query/geometry/index.d.ts +33 -5
  75. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  76. package/dist/api/design/query/grids.d.ts +287 -0
  77. package/dist/api/design/query/grids.d.ts.map +1 -0
  78. package/dist/api/design/query/index.d.ts +143 -34
  79. package/dist/api/design/query/index.d.ts.map +1 -1
  80. package/dist/api/design/query/spaces.d.ts +5 -5
  81. package/dist/api/design/selection/index.d.ts +12 -12
  82. package/dist/api/design/types/index.d.ts +40 -24
  83. package/dist/api/design/types/index.d.ts.map +1 -1
  84. package/dist/api/design/update/index.d.ts +412 -8
  85. package/dist/api/design/update/index.d.ts.map +1 -1
  86. package/dist/api/design/visibility.d.ts +28 -0
  87. package/dist/api/design/visibility.d.ts.map +1 -1
  88. package/dist/api/design/windows/index.d.ts +8 -8
  89. package/dist/api/design/windows/index.d.ts.map +1 -1
  90. package/dist/api/entity/buildableEnvelope.d.ts +84 -2
  91. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  92. package/dist/api/entity/referenceLine.d.ts +13 -1
  93. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  94. package/dist/api/entity/space.d.ts +12 -12
  95. package/dist/api/entity/story.d.ts +4 -4
  96. package/dist/api/presentation/aiInspiration.d.ts +24 -24
  97. package/dist/api/presentation/annotate.d.ts +38 -22
  98. package/dist/api/presentation/annotate.d.ts.map +1 -1
  99. package/dist/api/presentation/camera.d.ts +265 -0
  100. package/dist/api/presentation/camera.d.ts.map +1 -0
  101. package/dist/api/presentation/drawingContract.d.ts +32 -0
  102. package/dist/api/presentation/drawingContract.d.ts.map +1 -0
  103. package/dist/api/presentation/drawings.d.ts +3523 -0
  104. package/dist/api/presentation/drawings.d.ts.map +1 -0
  105. package/dist/api/presentation/export.d.ts +23 -5
  106. package/dist/api/presentation/export.d.ts.map +1 -1
  107. package/dist/api/presentation/graphics.d.ts +419 -0
  108. package/dist/api/presentation/graphics.d.ts.map +1 -0
  109. package/dist/api/presentation/index.d.ts +66 -12
  110. package/dist/api/presentation/index.d.ts.map +1 -1
  111. package/dist/api/presentation/placedViews.d.ts +116 -16
  112. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  113. package/dist/api/presentation/sections.d.ts +461 -0
  114. package/dist/api/presentation/sections.d.ts.map +1 -0
  115. package/dist/api/presentation/shapes.d.ts +2 -2
  116. package/dist/api/presentation/sheets.d.ts +175 -19
  117. package/dist/api/presentation/sheets.d.ts.map +1 -1
  118. package/dist/api/presentation/standards.d.ts +590 -0
  119. package/dist/api/presentation/standards.d.ts.map +1 -0
  120. package/dist/api/presentation/viewPresets.d.ts +222 -0
  121. package/dist/api/presentation/viewPresets.d.ts.map +1 -0
  122. package/dist/api/presentation/views.d.ts +144 -9
  123. package/dist/api/presentation/views.d.ts.map +1 -1
  124. package/dist/api/presentation/walkthroughs.d.ts +1350 -0
  125. package/dist/api/presentation/walkthroughs.d.ts.map +1 -0
  126. package/dist/api/program/departments.d.ts +58 -2
  127. package/dist/api/program/departments.d.ts.map +1 -1
  128. package/dist/api/program/index.d.ts +16 -6
  129. package/dist/api/program/index.d.ts.map +1 -1
  130. package/dist/api/program/labels.d.ts +355 -0
  131. package/dist/api/program/labels.d.ts.map +1 -0
  132. package/dist/api/program/metadata.d.ts +328 -0
  133. package/dist/api/program/metadata.d.ts.map +1 -0
  134. package/dist/api/program/site.d.ts +4 -4
  135. package/dist/api/program/spreadsheet.d.ts +267 -4
  136. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  137. package/dist/api/workspace/index.d.ts +49 -2
  138. package/dist/api/workspace/index.d.ts.map +1 -1
  139. package/dist/errors/codes.d.ts +3 -1
  140. package/dist/errors/codes.d.ts.map +1 -1
  141. package/dist/handles.d.ts +32 -3
  142. package/dist/handles.d.ts.map +1 -1
  143. package/dist/index.cjs +6539 -2804
  144. package/dist/index.cjs.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +6121 -2801
  148. package/dist/index.js.map +1 -1
  149. package/dist/massParameters.d.ts +287 -0
  150. package/dist/massParameters.d.ts.map +1 -0
  151. package/dist/massParameters.ops.d.ts +138 -0
  152. package/dist/massParameters.ops.d.ts.map +1 -0
  153. package/package.json +14 -13
  154. package/scripts/check-dist-fresh.mjs +22 -0
  155. package/scripts/generate-manifest.mjs +5 -0
  156. package/scripts/generate-manifest.test.mjs +14 -3
  157. package/src/api/core/camera/index.ts +446 -1
  158. package/src/api/core/geom/create/index.ts +1037 -102
  159. package/src/api/core/geom/query/brep.ts +60 -2
  160. package/src/api/core/geom/query/curve.ts +26 -2
  161. package/src/api/core/geom/query/edge.ts +2 -2
  162. package/src/api/core/geom/query/face.ts +109 -4
  163. package/src/api/core/geom/update/contour.ts +10 -2
  164. package/src/api/core/geom/update/profile.ts +2 -0
  165. package/src/api/core/handles/index.ts +3 -2
  166. package/src/api/core/index.ts +4 -4
  167. package/src/api/core/io/import/index.ts +11 -3
  168. package/src/api/core/layers.ts +380 -173
  169. package/src/api/core/mode/index.ts +19 -7
  170. package/src/api/core/project/index.ts +62 -1
  171. package/src/api/core/proposals/index.ts +4 -3
  172. package/src/api/core/storeys/index.ts +34 -2
  173. package/src/api/core/storeys/layers.ts +339 -0
  174. package/src/api/core/tags.ts +76 -0
  175. package/src/api/core/zoom/index.ts +13 -0
  176. package/src/api/design/bim.ts +210 -0
  177. package/src/api/design/boolean/index.ts +2 -0
  178. package/src/api/design/catalog.ts +203 -0
  179. package/src/api/design/create/bulk-items.ts +294 -0
  180. package/src/api/design/create/grids.ts +137 -0
  181. package/src/api/design/create/index.ts +823 -114
  182. package/src/api/design/create/opening-fields.ts +40 -0
  183. package/src/api/design/delete/index.ts +5 -0
  184. package/src/api/design/dimensions.ts +453 -0
  185. package/src/api/design/doors/index.ts +64 -41
  186. package/src/api/design/family.ts +1342 -0
  187. package/src/api/design/furniture/index.ts +34 -0
  188. package/src/api/design/grids.ts +237 -0
  189. package/src/api/design/index.ts +49 -4
  190. package/src/api/design/networks.ts +607 -0
  191. package/src/api/design/query/geometry/index.ts +35 -4
  192. package/src/api/design/query/grids.ts +197 -0
  193. package/src/api/design/query/index.ts +105 -3
  194. package/src/api/design/types/index.ts +31 -24
  195. package/src/api/design/update/index.ts +398 -4
  196. package/src/api/design/visibility.ts +34 -0
  197. package/src/api/design/windows/index.ts +40 -22
  198. package/src/api/entity/buildableEnvelope.ts +77 -2
  199. package/src/api/entity/referenceLine.ts +25 -12
  200. package/src/api/presentation/annotate.ts +90 -58
  201. package/src/api/presentation/camera.ts +289 -0
  202. package/src/api/presentation/drawingContract.ts +70 -0
  203. package/src/api/presentation/drawings.ts +1179 -0
  204. package/src/api/presentation/export.ts +32 -6
  205. package/src/api/presentation/graphics.ts +324 -0
  206. package/src/api/presentation/index.ts +73 -14
  207. package/src/api/presentation/placedViews.ts +119 -28
  208. package/src/api/presentation/sections.ts +420 -0
  209. package/src/api/presentation/sheets.ts +181 -20
  210. package/src/api/presentation/standards.ts +445 -0
  211. package/src/api/presentation/viewPresets.ts +241 -0
  212. package/src/api/presentation/views.ts +81 -10
  213. package/src/api/presentation/walkthroughs.ts +1201 -0
  214. package/src/api/program/departments.ts +54 -2
  215. package/src/api/program/index.ts +16 -6
  216. package/src/api/program/labels.ts +332 -0
  217. package/src/api/program/metadata.ts +364 -0
  218. package/src/api/program/spreadsheet.ts +282 -0
  219. package/src/api/workspace/index.ts +51 -2
  220. package/src/errors/codes.ts +7 -0
  221. package/src/handles.ts +42 -3
  222. package/src/index.ts +2 -0
  223. package/src/massParameters.ops.ts +246 -0
  224. package/src/massParameters.ts +427 -0
  225. package/test/drawingContract.test.mjs +288 -0
  226. package/test/errors.test.mjs +1 -0
  227. package/test/massParameters.test.mjs +952 -0
  228. package/test/paperPensContract.test.mjs +75 -0
  229. package/test/presentationViewSettings.test.mjs +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/api/design/networks.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ import { ComponentHandle, BrepHandle, ContourHandle, CurveHandle } from "../../.
13
13
  * {@linkcode PluginDesignQueryGeometryApi.getCenterline} mints a
14
14
  * {@linkcode CurveHandle} for a wall's core curve.
15
15
  * {@linkcode PluginDesignQueryGeometryApi.getTriangulatedMeshes} is the
16
- * handle-free exception: it returns the triangulated render meshes as plain
17
- * world-space arrays.
16
+ * handle-free exception: it returns `{ meshes }` — the triangulated render
17
+ * meshes as plain world-space arrays, wrapped in an object, never bare.
18
18
  *
19
19
  * Returned handles are session-ephemeral and go stale on undo/redo/re-topologize
20
20
  * — re-fetch a fresh one after edits.
@@ -27,10 +27,26 @@ export declare abstract class PluginDesignQueryGeometryApi {
27
27
  * scene entity, as a reusable {@linkcode BrepHandle} for the
28
28
  * `core.geom.query.brep.*` reads.
29
29
  *
30
+ * **Frame.** By default the brep comes back in the component's own LOCAL frame
31
+ * (its vertices are relative to the mesh origin, exactly as stored). This is
32
+ * the long-standing default, and existing callers rely on it. Pass
33
+ * `{ frame: "world" }` to get the same solid placed where it sits in the
34
+ * scene (world coordinates, like
35
+ * `getBottomContour` / `getTriangulatedMeshes` and every `design.query.measure`
36
+ * read). Use `"world"` whenever the handle will be COMBINED with other scene
37
+ * geometry or committed back beside its source: booleans between two scene
38
+ * masses, `brepFromFillet` / `brepFromShell` / `brepFromOffset` /
39
+ * `brepFromChamfer` on a scene mass followed by `massFromBrep`, or comparing
40
+ * its vertices with a bounding box. A world-frame handle from a parametrically
41
+ * live mass also carries that mass's recipe, so an operation result keeps an
42
+ * editable record.
43
+ *
30
44
  * @param component - The scene component to read
31
- * @returns The brep as a {@linkcode BrepHandle}, or `null` if the component has no brep geometry
45
+ * @param options - `frame`: `"local"` (default, mesh-local coordinates) or `"world"` (scene coordinates)
46
+ * @returns The brep as a {@linkcode BrepHandle}, or `null` if the component has no brep geometry — also `null` for a parametric family: read `design.family.getParameters({ component }).parts[].brep`
32
47
  *
33
48
  * @examplePrompt Get the 3D solid geometry of the selected wall
49
+ * @examplePrompt Round the top rim of this column and put it back where it is
34
50
  * @examplePrompt How many faces does this mass have?
35
51
  * @examplePrompt Inspect the mesh of this slab so I can look at its faces and edges
36
52
  * @examplePrompt Read the vertices of the selected column's geometry
@@ -41,9 +57,14 @@ export declare abstract class PluginDesignQueryGeometryApi {
41
57
  * if (brep) {
42
58
  * const faces = await snaptrude.core.geom.query.brep.listFaces(brep)
43
59
  * }
60
+ *
61
+ * // Operate on a scene mass and commit the result where the mass sits:
62
+ * const placed = await snaptrude.design.query.geometry.getBrep(mass, { frame: "world" })
63
+ * const rounded = await snaptrude.core.geom.create.brepFromFillet(placed, edges, 0.2)
64
+ * await snaptrude.design.create.massFromBrep(rounded, "Rounded")
44
65
  * ```
45
66
  */
46
- abstract getBrep(component: ComponentHandle): PluginApiReturn<BrepHandle | null>;
67
+ abstract getBrep(component: ComponentHandle, options?: PluginDesignQueryGeometryGetBrepOptions): PluginApiReturn<BrepHandle | null>;
47
68
  /**
48
69
  * Get the **bottom-face contour** of a component — the footprint outline (outer
49
70
  * profile + holes) of its lowest horizontal face, as a reusable
@@ -110,7 +131,8 @@ export declare abstract class PluginDesignQueryGeometryApi {
110
131
  * Get the **triangulated render meshes** of scene components as plain,
111
132
  * serializable arrays — flat world-space vertex `positions` (`[x0, y0, z0,
112
133
  * x1, …]`) and triangle `indices` (three per triangle), one record per
113
- * requested component.
134
+ * requested component. The result is `{ meshes }`, not a bare array —
135
+ * destructure it before iterating.
114
136
  *
115
137
  * Unlike the other `geometry.*` reads this does NOT mint kernel handles — the
116
138
  * raw arrays cross the boundary directly, ready for export, custom analysis,
@@ -169,8 +191,14 @@ export declare abstract class PluginDesignQueryGeometryApi {
169
191
  * |---|---|---|
170
192
  * | `component` | {@linkcode ComponentHandle} | The scene component to read |
171
193
  */
194
+ /** Options for {@linkcode PluginDesignQueryGeometryApi.getBrep}: `frame` defaults to `"local"`. */
195
+ export type PluginDesignQueryGeometryGetBrepOptions = {
196
+ frame?: "local" | "world";
197
+ };
198
+ export declare const PluginDesignQueryGeometryGetBrepOptions: z.ZodType<PluginDesignQueryGeometryGetBrepOptions, PluginDesignQueryGeometryGetBrepOptions>;
172
199
  export declare const PluginDesignQueryGeometryGetBrepArgs: z.ZodObject<{
173
200
  component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
201
+ options: z.ZodOptional<z.ZodType<PluginDesignQueryGeometryGetBrepOptions, PluginDesignQueryGeometryGetBrepOptions, z.core.$ZodTypeInternals<PluginDesignQueryGeometryGetBrepOptions, PluginDesignQueryGeometryGetBrepOptions>>>;
174
202
  }, z.core.$strip>;
175
203
  export type PluginDesignQueryGeometryGetBrepArgs = z.infer<typeof PluginDesignQueryGeometryGetBrepArgs>;
176
204
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/design/query/geometry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,4BAA4B;;IAGhD;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,OAAO,CACrB,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;aACa,gBAAgB,CAC9B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;aACa,aAAa,CAC3B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqDG;aACa,qBAAqB,CACnC,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,CAAC,EAAE,kDAAkD,CAAC,SAAS,CAAC,GACtE,eAAe,CAAC,oDAAoD,CAAC;CACzE;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC;;iBAE/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6CAA6C;;iBAExD,CAAA;AAEF,MAAM,MAAM,6CAA6C,GAAG,CAAC,CAAC,KAAK,CACjE,OAAO,6CAA6C,CACrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0CAA0C;;iBAErD,CAAA;AAEF,MAAM,MAAM,0CAA0C,GAAG,CAAC,CAAC,KAAK,CAC9D,OAAO,0CAA0C,CAClD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,kDAAkD;;;;;;iBAQ7D,CAAA;AAEF,MAAM,MAAM,kDAAkD,GAAG,CAAC,CAAC,KAAK,CACtE,OAAO,kDAAkD,CAC1D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oDAAoD;;;;;;;;iBAE/D,CAAA;AAEF,MAAM,MAAM,oDAAoD,GAAG,CAAC,CAAC,KAAK,CACxE,OAAO,oDAAoD,CAC5D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/api/design/query/geometry/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EACL,eAAe,EACf,UAAU,EACV,aAAa,EACb,WAAW,EACZ,MAAM,qBAAqB,CAAA;AAE5B;;;;;;;;;;;;;;;;;GAiBG;AACH,8BAAsB,4BAA4B;;IAGhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,OAAO,CACrB,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,uCAAuC,GAChD,eAAe,CAAC,UAAU,GAAG,IAAI,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;aACa,gBAAgB,CAC9B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;aACa,aAAa,CAC3B,SAAS,EAAE,eAAe,GACzB,eAAe,CAAC,WAAW,GAAG,IAAI,CAAC;IAEtC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsDG;aACa,qBAAqB,CACnC,UAAU,EAAE,eAAe,EAAE,EAC7B,OAAO,CAAC,EAAE,kDAAkD,CAAC,SAAS,CAAC,GACtE,eAAe,CAAC,oDAAoD,CAAC;CACzE;AAED;;;;;;GAMG;AACH,mGAAmG;AACnG,MAAM,MAAM,uCAAuC,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,CAAA;AACnF,eAAO,MAAM,uCAAuC,EAAE,CAAC,CAAC,OAAO,CAC7D,uCAAuC,EACvC,uCAAuC,CACqB,CAAA;AAE9D,eAAO,MAAM,oCAAoC;;;iBAG/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,6CAA6C;;iBAExD,CAAA;AAEF,MAAM,MAAM,6CAA6C,GAAG,CAAC,CAAC,KAAK,CACjE,OAAO,6CAA6C,CACrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0CAA0C;;iBAErD,CAAA;AAEF,MAAM,MAAM,0CAA0C,GAAG,CAAC,CAAC,KAAK,CAC9D,OAAO,0CAA0C,CAClD,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,kDAAkD;;;;;;iBAQ7D,CAAA;AAEF,MAAM,MAAM,kDAAkD,GAAG,CAAC,CAAC,KAAK,CACtE,OAAO,kDAAkD,CAC1D,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oDAAoD;;;;;;;;iBAE/D,CAAA;AAEF,MAAM,MAAM,oDAAoD,GAAG,CAAC,CAAC,KAAK,CACxE,OAAO,oDAAoD,CAC5D,CAAA"}
@@ -0,0 +1,287 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../../types";
3
+ /**
4
+ * Visual properties of grid lines — the group's defaults and any per-line
5
+ * overrides share this shape (values mirror the engine's `GridLineProps`).
6
+ *
7
+ * | Property | Type | Description |
8
+ * |---|---|---|
9
+ * | `style` | {@linkcode PluginReferenceLineStyle} | Line style (`"SOLID"` \| `"DASHED"` \| `"DOT_DASH"`) |
10
+ * | `weight` | `number` | Line weight |
11
+ * | `color` | `string` | Line color as a `#rrggbb` hex string |
12
+ * | `showStart` | `boolean` | Whether the start-end tag bubble is shown |
13
+ * | `showEnd` | `boolean` | Whether the end-end tag bubble is shown |
14
+ */
15
+ export declare const PluginGridLineProps: z.ZodObject<{
16
+ style: z.ZodEnum<{
17
+ SOLID: "SOLID";
18
+ DASHED: "DASHED";
19
+ DOT_DASH: "DOT_DASH";
20
+ }>;
21
+ weight: z.ZodNumber;
22
+ color: z.ZodString;
23
+ showStart: z.ZodBoolean;
24
+ showEnd: z.ZodBoolean;
25
+ }, z.core.$strip>;
26
+ export type PluginGridLineProps = z.infer<typeof PluginGridLineProps>;
27
+ /**
28
+ * One grid line within a wing.
29
+ *
30
+ * | Property | Type | Description |
31
+ * |---|---|---|
32
+ * | `curve` | {@linkcode CurveHandle} | The line's geometry in **world space** (a line or arc; read coordinates via `core.geom.curve`) |
33
+ * | `tag` | `string` | The line's grid tag (e.g. `"A"`, `"3"`) |
34
+ * | `visible` | `boolean` | Persisted per-line visibility |
35
+ * | `props` | {@linkcode PluginGridLineProps} | **Effective** visual properties (group defaults merged with this line's overrides) |
36
+ * | `overrides` | `Partial<`{@linkcode PluginGridLineProps}`>`? | This line's raw overrides, when any exist |
37
+ */
38
+ export declare const PluginGridLineRecord: z.ZodObject<{
39
+ curve: 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>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"spline">, string>>]>;
40
+ tag: z.ZodString;
41
+ visible: z.ZodBoolean;
42
+ props: z.ZodObject<{
43
+ style: z.ZodEnum<{
44
+ SOLID: "SOLID";
45
+ DASHED: "DASHED";
46
+ DOT_DASH: "DOT_DASH";
47
+ }>;
48
+ weight: z.ZodNumber;
49
+ color: z.ZodString;
50
+ showStart: z.ZodBoolean;
51
+ showEnd: z.ZodBoolean;
52
+ }, z.core.$strip>;
53
+ overrides: z.ZodOptional<z.ZodObject<{
54
+ style: z.ZodOptional<z.ZodEnum<{
55
+ SOLID: "SOLID";
56
+ DASHED: "DASHED";
57
+ DOT_DASH: "DOT_DASH";
58
+ }>>;
59
+ weight: z.ZodOptional<z.ZodNumber>;
60
+ color: z.ZodOptional<z.ZodString>;
61
+ showStart: z.ZodOptional<z.ZodBoolean>;
62
+ showEnd: z.ZodOptional<z.ZodBoolean>;
63
+ }, z.core.$strip>>;
64
+ }, z.core.$strip>;
65
+ export type PluginGridLineRecord = z.infer<typeof PluginGridLineRecord>;
66
+ /**
67
+ * One wing of a grid — a family of parallel lines sharing a local frame.
68
+ * `spacing` and `span` are measured along the wing's local axes in
69
+ * Snaptrude units; line addresses used by mutating APIs are
70
+ * `{ wing, line }` index pairs into these arrays.
71
+ *
72
+ * | Property | Type | Description |
73
+ * |---|---|---|
74
+ * | `spacing` | `number` | Nominal spacing between adjacent lines (Snaptrude units) |
75
+ * | `tagStart` | `string` | First tag of the wing's deterministic tag sequence |
76
+ * | `span` | `{ min: number; max: number }`? | Explicit family length along the wing's line axis, when baked |
77
+ * | `lines` | {@linkcode PluginGridLineRecord}`[]` | The wing's lines, in wing order (index = the `line` address) |
78
+ */
79
+ export declare const PluginGridWingRecord: z.ZodObject<{
80
+ spacing: z.ZodNumber;
81
+ tagStart: z.ZodString;
82
+ span: z.ZodOptional<z.ZodObject<{
83
+ min: z.ZodNumber;
84
+ max: z.ZodNumber;
85
+ }, z.core.$strip>>;
86
+ lines: z.ZodArray<z.ZodObject<{
87
+ curve: 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>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"spline">, string>>]>;
88
+ tag: z.ZodString;
89
+ visible: z.ZodBoolean;
90
+ props: z.ZodObject<{
91
+ style: z.ZodEnum<{
92
+ SOLID: "SOLID";
93
+ DASHED: "DASHED";
94
+ DOT_DASH: "DOT_DASH";
95
+ }>;
96
+ weight: z.ZodNumber;
97
+ color: z.ZodString;
98
+ showStart: z.ZodBoolean;
99
+ showEnd: z.ZodBoolean;
100
+ }, z.core.$strip>;
101
+ overrides: z.ZodOptional<z.ZodObject<{
102
+ style: z.ZodOptional<z.ZodEnum<{
103
+ SOLID: "SOLID";
104
+ DASHED: "DASHED";
105
+ DOT_DASH: "DOT_DASH";
106
+ }>>;
107
+ weight: z.ZodOptional<z.ZodNumber>;
108
+ color: z.ZodOptional<z.ZodString>;
109
+ showStart: z.ZodOptional<z.ZodBoolean>;
110
+ showEnd: z.ZodOptional<z.ZodBoolean>;
111
+ }, z.core.$strip>>;
112
+ }, z.core.$strip>>;
113
+ }, z.core.$strip>;
114
+ export type PluginGridWingRecord = z.infer<typeof PluginGridWingRecord>;
115
+ /**
116
+ * Per-storey 2D-plan visibility of a grid.
117
+ *
118
+ * | Property | Type | Description |
119
+ * |---|---|---|
120
+ * | `activeStorey` | `number` | The storey the grid belongs to |
121
+ * | `disabledOnStoreys` | `number[]` | Storeys on whose 2D plan the grid is hidden |
122
+ */
123
+ export declare const PluginGridStoreyVisibility: z.ZodObject<{
124
+ activeStorey: z.ZodNumber;
125
+ disabledOnStoreys: z.ZodArray<z.ZodNumber>;
126
+ }, z.core.$strip>;
127
+ export type PluginGridStoreyVisibility = z.infer<typeof PluginGridStoreyVisibility>;
128
+ /**
129
+ * Property names readable via {@linkcode PluginDesignQueryGridsApi.get}.
130
+ *
131
+ * | Value | Description |
132
+ * |---|---|
133
+ * | `"angle"` | World rotation about +Y, in **degrees** |
134
+ * | `"props"` | Group-level default line properties |
135
+ * | `"storeyVisibility"` | Active storey + storeys where the grid is hidden in 2D |
136
+ * | `"wings"` | Full wing/line structure with world-space curve handles |
137
+ * | `"bounds"` | World-space axis-aligned bounding box of the grid geometry |
138
+ */
139
+ export declare const PluginGridGetProperty: z.ZodEnum<{
140
+ angle: "angle";
141
+ bounds: "bounds";
142
+ props: "props";
143
+ storeyVisibility: "storeyVisibility";
144
+ wings: "wings";
145
+ }>;
146
+ export type PluginGridGetProperty = z.infer<typeof PluginGridGetProperty>;
147
+ /**
148
+ * Arguments for {@linkcode PluginDesignQueryGridsApi.get}.
149
+ *
150
+ * | Property | Type | Description |
151
+ * |---|---|---|
152
+ * | `gridId` | `string` | The grid group ID to query |
153
+ * | `properties` | {@linkcode PluginGridGetProperty}`[]` | Properties to retrieve |
154
+ */
155
+ export declare const PluginGridGetArgs: z.ZodObject<{
156
+ gridId: z.ZodString;
157
+ properties: z.ZodArray<z.ZodEnum<{
158
+ angle: "angle";
159
+ bounds: "bounds";
160
+ props: "props";
161
+ storeyVisibility: "storeyVisibility";
162
+ wings: "wings";
163
+ }>>;
164
+ }, z.core.$strip>;
165
+ export type PluginGridGetArgs = z.infer<typeof PluginGridGetArgs>;
166
+ /**
167
+ * Result of {@linkcode PluginDesignQueryGridsApi.get} — only the requested
168
+ * properties are present.
169
+ */
170
+ export declare const PluginGridGetResult: z.ZodObject<{
171
+ angle: z.ZodOptional<z.ZodNumber>;
172
+ props: z.ZodOptional<z.ZodObject<{
173
+ style: z.ZodEnum<{
174
+ SOLID: "SOLID";
175
+ DASHED: "DASHED";
176
+ DOT_DASH: "DOT_DASH";
177
+ }>;
178
+ weight: z.ZodNumber;
179
+ color: z.ZodString;
180
+ showStart: z.ZodBoolean;
181
+ showEnd: z.ZodBoolean;
182
+ }, z.core.$strip>>;
183
+ storeyVisibility: z.ZodOptional<z.ZodObject<{
184
+ activeStorey: z.ZodNumber;
185
+ disabledOnStoreys: z.ZodArray<z.ZodNumber>;
186
+ }, z.core.$strip>>;
187
+ wings: z.ZodOptional<z.ZodArray<z.ZodObject<{
188
+ spacing: z.ZodNumber;
189
+ tagStart: z.ZodString;
190
+ span: z.ZodOptional<z.ZodObject<{
191
+ min: z.ZodNumber;
192
+ max: z.ZodNumber;
193
+ }, z.core.$strip>>;
194
+ lines: z.ZodArray<z.ZodObject<{
195
+ curve: 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>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"spline">, string>>]>;
196
+ tag: z.ZodString;
197
+ visible: z.ZodBoolean;
198
+ props: z.ZodObject<{
199
+ style: z.ZodEnum<{
200
+ SOLID: "SOLID";
201
+ DASHED: "DASHED";
202
+ DOT_DASH: "DOT_DASH";
203
+ }>;
204
+ weight: z.ZodNumber;
205
+ color: z.ZodString;
206
+ showStart: z.ZodBoolean;
207
+ showEnd: z.ZodBoolean;
208
+ }, z.core.$strip>;
209
+ overrides: z.ZodOptional<z.ZodObject<{
210
+ style: z.ZodOptional<z.ZodEnum<{
211
+ SOLID: "SOLID";
212
+ DASHED: "DASHED";
213
+ DOT_DASH: "DOT_DASH";
214
+ }>>;
215
+ weight: z.ZodOptional<z.ZodNumber>;
216
+ color: z.ZodOptional<z.ZodString>;
217
+ showStart: z.ZodOptional<z.ZodBoolean>;
218
+ showEnd: z.ZodOptional<z.ZodBoolean>;
219
+ }, z.core.$strip>>;
220
+ }, z.core.$strip>>;
221
+ }, z.core.$strip>>>;
222
+ bounds: z.ZodOptional<z.ZodObject<{
223
+ min: z.ZodObject<{
224
+ x: z.ZodNumber;
225
+ y: z.ZodNumber;
226
+ z: z.ZodNumber;
227
+ }, z.core.$strip>;
228
+ max: z.ZodObject<{
229
+ x: z.ZodNumber;
230
+ y: z.ZodNumber;
231
+ z: z.ZodNumber;
232
+ }, z.core.$strip>;
233
+ }, z.core.$strip>>;
234
+ }, z.core.$strip>;
235
+ export type PluginGridGetResult = z.infer<typeof PluginGridGetResult>;
236
+ /**
237
+ * `design.query.grids.*` — structural-grid-specific reads.
238
+ *
239
+ * A **grid** (grid group) is a structural/documentation grid: one or more
240
+ * *wings* (families of parallel lines with a shared local frame), each holding
241
+ * tagged grid *lines* (straight lines, or a lone arc). Enumerate grids with
242
+ * `design.query.listGrids`; read an individual grid's structure here.
243
+ *
244
+ * Lines have no stable identity of their own — mutating APIs address them
245
+ * positionally as `{ wing, line }` index pairs into the `wings` arrays
246
+ * returned by {@linkcode get}. Structural edits (adding/removing lines,
247
+ * count changes) re-index lines; re-query after mutating.
248
+ *
249
+ * Accessed via `snaptrude.design.query.grids`.
250
+ */
251
+ export declare abstract class PluginDesignQueryGridsApi {
252
+ constructor();
253
+ /**
254
+ * Get properties of a grid by its ID.
255
+ *
256
+ * Only the properties listed in `properties` are returned — unlisted
257
+ * properties will be `undefined` in the result. `wings` is the heavy
258
+ * read (it registers a world-space {@linkcode CurveHandle} per line);
259
+ * request it only when the geometry is needed.
260
+ *
261
+ * Units: `angle` is in **degrees** (positive = CCW about +Y); `spacing`,
262
+ * `span`, `bounds`, and curve coordinates are in **Snaptrude units**,
263
+ * world space.
264
+ *
265
+ * @param gridId - The unique grid group ID
266
+ * @param properties - Array of property names to retrieve. See
267
+ * {@linkcode PluginGridGetProperty}.
268
+ * @returns A partial {@linkcode PluginGridGetResult} containing only the
269
+ * requested properties
270
+ * @throws If the grid does not exist
271
+ *
272
+ * @examplePrompt What is the spacing of this grid?
273
+ * @examplePrompt Read the grid line tags on this structural grid
274
+ * @examplePrompt Get the geometry of every line in this grid
275
+ * @examplePrompt Which storeys is this grid hidden on?
276
+ *
277
+ * # Example
278
+ * ```ts
279
+ * const [grid] = await snaptrude.design.query.listGrids()
280
+ * const { wings } = await snaptrude.design.query.grids.get(grid, ["wings"])
281
+ * // wings[0].lines[0].curve is an opaque CurveHandle in world space;
282
+ * // read its coordinates via `snaptrude.core.geom.curve`.
283
+ * ```
284
+ */
285
+ abstract get(gridId: string, properties: z.infer<typeof PluginGridGetProperty>[]): PluginApiReturn<PluginGridGetResult>;
286
+ }
287
+ //# sourceMappingURL=grids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grids.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/grids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAQhD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;iBAM9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;iBAM/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAK/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAMnF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;;EAMhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;iBAG5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQpB,CAAA;AACZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAMrE;;;;;;;;;;;;;;GAcG;AACH,8BAAsB,yBAAyB;;IAG7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;aACa,GAAG,CACjB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,EAAE,GAClD,eAAe,CAAC,mBAAmB,CAAC;CACxC"}