@snaptrude/plugin-core 0.11.0-rc.1 → 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 (226) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +176 -14
  3. package/api-manifest.json +872 -49
  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 +447 -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/proposals/index.d.ts +4 -3
  33. package/dist/api/core/proposals/index.d.ts.map +1 -1
  34. package/dist/api/core/storeys/index.d.ts +17 -2
  35. package/dist/api/core/storeys/index.d.ts.map +1 -1
  36. package/dist/api/core/storeys/layers.d.ts +408 -0
  37. package/dist/api/core/storeys/layers.d.ts.map +1 -0
  38. package/dist/api/core/tags.d.ts +84 -3
  39. package/dist/api/core/tags.d.ts.map +1 -1
  40. package/dist/api/core/zoom/index.d.ts +13 -0
  41. package/dist/api/core/zoom/index.d.ts.map +1 -1
  42. package/dist/api/design/bim.d.ts +299 -0
  43. package/dist/api/design/bim.d.ts.map +1 -0
  44. package/dist/api/design/boolean/index.d.ts +2 -0
  45. package/dist/api/design/boolean/index.d.ts.map +1 -1
  46. package/dist/api/design/catalog.d.ts +320 -0
  47. package/dist/api/design/catalog.d.ts.map +1 -0
  48. package/dist/api/design/create/bulk-items.d.ts +269 -0
  49. package/dist/api/design/create/bulk-items.d.ts.map +1 -0
  50. package/dist/api/design/create/grids.d.ts +132 -0
  51. package/dist/api/design/create/grids.d.ts.map +1 -0
  52. package/dist/api/design/create/index.d.ts +753 -102
  53. package/dist/api/design/create/index.d.ts.map +1 -1
  54. package/dist/api/design/create/opening-fields.d.ts +38 -0
  55. package/dist/api/design/create/opening-fields.d.ts.map +1 -0
  56. package/dist/api/design/delete/index.d.ts +7 -20
  57. package/dist/api/design/delete/index.d.ts.map +1 -1
  58. package/dist/api/design/dimensions.d.ts +427 -0
  59. package/dist/api/design/dimensions.d.ts.map +1 -0
  60. package/dist/api/design/doors/index.d.ts +24 -23
  61. package/dist/api/design/doors/index.d.ts.map +1 -1
  62. package/dist/api/design/family.d.ts +1446 -0
  63. package/dist/api/design/family.d.ts.map +1 -0
  64. package/dist/api/design/grids.d.ts +237 -0
  65. package/dist/api/design/grids.d.ts.map +1 -0
  66. package/dist/api/design/index.d.ts +30 -0
  67. package/dist/api/design/index.d.ts.map +1 -1
  68. package/dist/api/design/networks.d.ts +1703 -0
  69. package/dist/api/design/networks.d.ts.map +1 -0
  70. package/dist/api/design/query/geometry/index.d.ts +33 -5
  71. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  72. package/dist/api/design/query/grids.d.ts +287 -0
  73. package/dist/api/design/query/grids.d.ts.map +1 -0
  74. package/dist/api/design/query/index.d.ts +143 -36
  75. package/dist/api/design/query/index.d.ts.map +1 -1
  76. package/dist/api/design/query/spaces.d.ts +5 -66
  77. package/dist/api/design/query/spaces.d.ts.map +1 -1
  78. package/dist/api/design/selection/index.d.ts +12 -12
  79. package/dist/api/design/types/index.d.ts +40 -24
  80. package/dist/api/design/types/index.d.ts.map +1 -1
  81. package/dist/api/design/update/index.d.ts +412 -8
  82. package/dist/api/design/update/index.d.ts.map +1 -1
  83. package/dist/api/design/windows/index.d.ts +8 -8
  84. package/dist/api/design/windows/index.d.ts.map +1 -1
  85. package/dist/api/entity/buildableEnvelope.d.ts +84 -2
  86. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  87. package/dist/api/entity/referenceLine.d.ts +13 -1
  88. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  89. package/dist/api/entity/space.d.ts +12 -15
  90. package/dist/api/entity/space.d.ts.map +1 -1
  91. package/dist/api/entity/story.d.ts +4 -4
  92. package/dist/api/presentation/aiInspiration.d.ts +24 -24
  93. package/dist/api/presentation/annotate.d.ts +38 -22
  94. package/dist/api/presentation/annotate.d.ts.map +1 -1
  95. package/dist/api/presentation/camera.d.ts +265 -0
  96. package/dist/api/presentation/camera.d.ts.map +1 -0
  97. package/dist/api/presentation/drawingContract.d.ts +32 -0
  98. package/dist/api/presentation/drawingContract.d.ts.map +1 -0
  99. package/dist/api/presentation/drawings.d.ts +3523 -0
  100. package/dist/api/presentation/drawings.d.ts.map +1 -0
  101. package/dist/api/presentation/export.d.ts +23 -5
  102. package/dist/api/presentation/export.d.ts.map +1 -1
  103. package/dist/api/presentation/graphics.d.ts +419 -0
  104. package/dist/api/presentation/graphics.d.ts.map +1 -0
  105. package/dist/api/presentation/index.d.ts +66 -12
  106. package/dist/api/presentation/index.d.ts.map +1 -1
  107. package/dist/api/presentation/placedViews.d.ts +117 -51
  108. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  109. package/dist/api/presentation/sections.d.ts +461 -0
  110. package/dist/api/presentation/sections.d.ts.map +1 -0
  111. package/dist/api/presentation/shapes.d.ts +2 -2
  112. package/dist/api/presentation/sheets.d.ts +175 -37
  113. package/dist/api/presentation/sheets.d.ts.map +1 -1
  114. package/dist/api/presentation/standards.d.ts +590 -0
  115. package/dist/api/presentation/standards.d.ts.map +1 -0
  116. package/dist/api/presentation/viewPresets.d.ts +222 -0
  117. package/dist/api/presentation/viewPresets.d.ts.map +1 -0
  118. package/dist/api/presentation/views.d.ts +144 -9
  119. package/dist/api/presentation/views.d.ts.map +1 -1
  120. package/dist/api/presentation/walkthroughs.d.ts +1350 -0
  121. package/dist/api/presentation/walkthroughs.d.ts.map +1 -0
  122. package/dist/api/program/departments.d.ts +58 -2
  123. package/dist/api/program/departments.d.ts.map +1 -1
  124. package/dist/api/program/index.d.ts +16 -6
  125. package/dist/api/program/index.d.ts.map +1 -1
  126. package/dist/api/program/labels.d.ts +355 -0
  127. package/dist/api/program/labels.d.ts.map +1 -0
  128. package/dist/api/program/metadata.d.ts +328 -0
  129. package/dist/api/program/metadata.d.ts.map +1 -0
  130. package/dist/api/program/site.d.ts +4 -4
  131. package/dist/api/program/spreadsheet.d.ts +267 -4
  132. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  133. package/dist/api/workspace/index.d.ts +49 -2
  134. package/dist/api/workspace/index.d.ts.map +1 -1
  135. package/dist/errors/codes.d.ts +5 -8
  136. package/dist/errors/codes.d.ts.map +1 -1
  137. package/dist/handles.d.ts +32 -3
  138. package/dist/handles.d.ts.map +1 -1
  139. package/dist/index.cjs +6534 -2865
  140. package/dist/index.cjs.map +1 -1
  141. package/dist/index.d.ts +2 -0
  142. package/dist/index.d.ts.map +1 -1
  143. package/dist/index.js +6118 -2857
  144. package/dist/index.js.map +1 -1
  145. package/dist/massParameters.d.ts +287 -0
  146. package/dist/massParameters.d.ts.map +1 -0
  147. package/dist/massParameters.ops.d.ts +138 -0
  148. package/dist/massParameters.ops.d.ts.map +1 -0
  149. package/package.json +2 -1
  150. package/scripts/check-dist-fresh.mjs +22 -0
  151. package/scripts/generate-manifest.mjs +5 -0
  152. package/scripts/generate-manifest.test.mjs +14 -3
  153. package/src/api/core/camera/index.ts +429 -1
  154. package/src/api/core/geom/create/index.ts +1037 -102
  155. package/src/api/core/geom/query/brep.ts +60 -2
  156. package/src/api/core/geom/query/curve.ts +26 -2
  157. package/src/api/core/geom/query/edge.ts +2 -2
  158. package/src/api/core/geom/query/face.ts +109 -4
  159. package/src/api/core/geom/update/contour.ts +10 -2
  160. package/src/api/core/geom/update/profile.ts +2 -0
  161. package/src/api/core/handles/index.ts +3 -2
  162. package/src/api/core/index.ts +4 -4
  163. package/src/api/core/io/import/index.ts +11 -3
  164. package/src/api/core/layers.ts +380 -173
  165. package/src/api/core/mode/index.ts +19 -7
  166. package/src/api/core/proposals/index.ts +4 -3
  167. package/src/api/core/storeys/index.ts +19 -2
  168. package/src/api/core/storeys/layers.ts +339 -0
  169. package/src/api/core/tags.ts +76 -0
  170. package/src/api/core/zoom/index.ts +13 -0
  171. package/src/api/design/bim.ts +210 -0
  172. package/src/api/design/boolean/index.ts +2 -0
  173. package/src/api/design/catalog.ts +203 -0
  174. package/src/api/design/create/bulk-items.ts +294 -0
  175. package/src/api/design/create/grids.ts +137 -0
  176. package/src/api/design/create/index.ts +824 -141
  177. package/src/api/design/create/opening-fields.ts +40 -0
  178. package/src/api/design/delete/index.ts +6 -20
  179. package/src/api/design/dimensions.ts +453 -0
  180. package/src/api/design/doors/index.ts +64 -41
  181. package/src/api/design/family.ts +1342 -0
  182. package/src/api/design/grids.ts +237 -0
  183. package/src/api/design/index.ts +49 -4
  184. package/src/api/design/networks.ts +607 -0
  185. package/src/api/design/query/geometry/index.ts +35 -4
  186. package/src/api/design/query/grids.ts +197 -0
  187. package/src/api/design/query/index.ts +105 -5
  188. package/src/api/design/query/spaces.ts +0 -68
  189. package/src/api/design/types/index.ts +31 -24
  190. package/src/api/design/update/index.ts +398 -4
  191. package/src/api/design/windows/index.ts +40 -22
  192. package/src/api/entity/buildableEnvelope.ts +77 -2
  193. package/src/api/entity/referenceLine.ts +25 -12
  194. package/src/api/entity/space.ts +0 -2
  195. package/src/api/presentation/annotate.ts +90 -58
  196. package/src/api/presentation/camera.ts +289 -0
  197. package/src/api/presentation/drawingContract.ts +70 -0
  198. package/src/api/presentation/drawings.ts +1179 -0
  199. package/src/api/presentation/export.ts +32 -6
  200. package/src/api/presentation/graphics.ts +324 -0
  201. package/src/api/presentation/index.ts +73 -14
  202. package/src/api/presentation/placedViews.ts +120 -57
  203. package/src/api/presentation/sections.ts +420 -0
  204. package/src/api/presentation/sheets.ts +182 -37
  205. package/src/api/presentation/standards.ts +445 -0
  206. package/src/api/presentation/viewPresets.ts +241 -0
  207. package/src/api/presentation/views.ts +81 -10
  208. package/src/api/presentation/walkthroughs.ts +1201 -0
  209. package/src/api/program/departments.ts +54 -2
  210. package/src/api/program/index.ts +16 -6
  211. package/src/api/program/labels.ts +332 -0
  212. package/src/api/program/metadata.ts +364 -0
  213. package/src/api/program/spreadsheet.ts +282 -0
  214. package/src/api/workspace/index.ts +51 -2
  215. package/src/errors/codes.ts +9 -30
  216. package/src/handles.ts +42 -3
  217. package/src/index.ts +2 -0
  218. package/src/massParameters.ops.ts +246 -0
  219. package/src/massParameters.ts +427 -0
  220. package/test/drawingContract.test.mjs +288 -0
  221. package/test/errors.test.mjs +1 -4
  222. package/test/massParameters.test.mjs +952 -0
  223. package/test/paperPensContract.test.mjs +75 -0
  224. package/test/presentationViewSettings.test.mjs +85 -0
  225. package/api-manifest.full.json +0 -6928
  226. package/snaptrude-plugin-core-0.11.0.tgz +0 -0
@@ -8,16 +8,15 @@ import { PluginDesignChangeResult } from "../lock"
8
8
  * `design.create.door`; generic reads (`listDoors`/`getHost`/`getProperties`) live at
9
9
  * `design.query.*`. Door targets are {@linkcode ComponentHandle}s.
10
10
  *
11
- * `getSwingDirection` is a DERIVED read (no persisted field) — computed from the door
12
- * mesh reflection state. `mirror` reflects the door across an axis (undoable, one
13
- * command); `setType` is intentionally absent (the engine has no in-place re-type —
14
- * it would require delete+recreate).
11
+ * PC-only: dimensions read the evaluated opening. Setters write declared width/height
12
+ * parameters, never mesh scale. Missing or derived controls reject. Linked copies follow
13
+ * the shared edit. Use design.family.setParameters for other parameters.
14
+ * getSwingDirection reads hand. mirror changes declared swing or hand controls.
15
15
  *
16
16
  * The **catalog** reads (`listCatalogGroups`/`listCatalog`/`getCatalogItem`/`exists`)
17
- * browse the placeable door library — plain value records keyed by a library id
18
- * (team `_id` or general `fullName`), NOT handles — and feed `design.create.door`.
19
- * They are network-backed but carry no `Async` suffix (§6.6) and never throw
20
- * (`[]`/`null`). The {@linkcode PluginObjectCatalogGroup} / {@linkcode PluginObjectCatalogItem}
17
+ * browse saved hosted door families, keyed by definition ID, and feed design.create.door.
18
+ * They reject if saved definitions cannot be loaded completely. A missing item returns null.
19
+ * The {@linkcode PluginObjectCatalogGroup} / {@linkcode PluginObjectCatalogItem}
21
20
  * DTOs are shared with `design.windows`.
22
21
  */
23
22
  export abstract class PluginDesignDoorsApi {
@@ -63,7 +62,9 @@ export abstract class PluginDesignDoorsApi {
63
62
  * if (family) console.log("family:", family)
64
63
  * ```
65
64
  */
66
- public abstract getFamily(door: ComponentHandle): PluginApiReturn<string | null>
65
+ public abstract getFamily(
66
+ door: ComponentHandle,
67
+ ): PluginApiReturn<string | null>
67
68
 
68
69
  /**
69
70
  * Get the width of a door — how wide its opening is along the host wall.
@@ -83,7 +84,9 @@ export abstract class PluginDesignDoorsApi {
83
84
  * if (width !== null) console.log("door width:", width)
84
85
  * ```
85
86
  */
86
- public abstract getWidth(door: ComponentHandle): PluginApiReturn<number | null>
87
+ public abstract getWidth(
88
+ door: ComponentHandle,
89
+ ): PluginApiReturn<number | null>
87
90
 
88
91
  /**
89
92
  * Get the height of a door — how tall its opening is from base to head.
@@ -103,12 +106,13 @@ export abstract class PluginDesignDoorsApi {
103
106
  * if (height !== null) console.log("door height:", height)
104
107
  * ```
105
108
  */
106
- public abstract getHeight(door: ComponentHandle): PluginApiReturn<number | null>
109
+ public abstract getHeight(
110
+ door: ComponentHandle,
111
+ ): PluginApiReturn<number | null>
107
112
 
108
113
  /**
109
- * Get a door's full dimensions in one call — width along the wall, vertical
110
- * height, and thickness through the wall — measured in the door's local
111
- * oriented space. Parity with {@linkcode PluginDesignWindowsApi.getDimensions}.
114
+ * Get evaluated opening width/height and host thickness, in Snaptrude units.
115
+ * The opening can include allowances beyond the width/height input parameters.
112
116
  *
113
117
  * @param door The door to query
114
118
  * @returns The dimensions, or `null`
@@ -126,12 +130,12 @@ export abstract class PluginDesignDoorsApi {
126
130
  * ```
127
131
  */
128
132
  public abstract getDimensions(
129
- door: ComponentHandle
133
+ door: ComponentHandle,
130
134
  ): PluginApiReturn<PluginDoorDimensions | null>
131
135
 
132
136
  /**
133
- * Get the floor a door is hosted on — the storey/level component that
134
- * supports the door.
137
+ * Returns null for recipe doors. Room floors own doorway infill; there is
138
+ * no separate support-floor entity.
135
139
  *
136
140
  * @param door The door to query
137
141
  * @returns The support floor {@linkcode ComponentHandle}, or `null`
@@ -151,12 +155,13 @@ export abstract class PluginDesignDoorsApi {
151
155
  * }
152
156
  * ```
153
157
  */
154
- public abstract getSupportFloor(door: ComponentHandle): PluginApiReturn<ComponentHandle | null>
158
+ public abstract getSupportFloor(
159
+ door: ComponentHandle,
160
+ ): PluginApiReturn<ComponentHandle | null>
155
161
 
156
162
  /**
157
- * Get a door's swing (hinge) handedness — whether it opens as a left-hand or
158
- * right-hand door. Derived from the door mesh's reflection state, not a
159
- * persisted field.
163
+ * Read the saved hand parameter. left means local -X; right means local +X.
164
+ * Returns null when the recipe does not declare that control.
160
165
  *
161
166
  * @param door The door to query
162
167
  * @returns `'left'` / `'right'`, or `null` if indeterminate
@@ -174,15 +179,18 @@ export abstract class PluginDesignDoorsApi {
174
179
  * ```
175
180
  */
176
181
  public abstract getSwingDirection(
177
- door: ComponentHandle
182
+ door: ComponentHandle,
178
183
  ): PluginApiReturn<"left" | "right" | null>
179
184
 
180
185
  /**
181
- * Mirror a door across an axis, flipping its swing so it opens from the
182
- * other side. Undoable as a single command.
186
+ * Change authored controls in one undo step: x (default) toggles swing
187
+ * front/back; z toggles hand left/right. The recipe must declare these enums.
188
+ * Axis y rejects. No mesh reflection occurs. Recipes use outputs.swingSide
189
+ * (1 or -1) for the adjoining room's floor ownership. A door between two
190
+ * room floors requires this output; a missing or invalid report rejects the cut.
183
191
  *
184
192
  * @param door The door to mirror
185
- * @param axis Reflection axis (optional; default `'x'` — the swing-flip axis)
193
+ * @param axis Reflection axis (optional; default `'x'` — the swing-flip axis; `'z'` — the hinge-jamb axis)
186
194
  * @returns The affected door(s)
187
195
  *
188
196
  * @examplePrompt Flip this door's swing
@@ -193,15 +201,16 @@ export abstract class PluginDesignDoorsApi {
193
201
  *
194
202
  * # Example
195
203
  * ```ts
196
- * // Flip the selected door's swing — axis defaults to "x" (the swing-flip
197
- * // axis); pass "y" or "z" to reflect across a different axis
204
+ * // Flip the selected door's swing side — axis defaults to "x"
198
205
  * const [door] = await snaptrude.design.query.listDoors({ isSelected: true })
199
206
  * const { affected } = await snaptrude.design.doors.mirror(door)
207
+ * // …or swap the hinged jamb instead (keeps the swing side)
208
+ * await snaptrude.design.doors.mirror(door, "z")
200
209
  * ```
201
210
  */
202
211
  public abstract mirror(
203
212
  door: ComponentHandle,
204
- axis?: PluginMirrorAxis
213
+ axis?: PluginMirrorAxis,
205
214
  ): PluginApiReturn<PluginDesignChangeResult>
206
215
 
207
216
  /**
@@ -228,7 +237,7 @@ export abstract class PluginDesignDoorsApi {
228
237
  */
229
238
  public abstract setWidth(
230
239
  doors: ComponentHandle[],
231
- width: number
240
+ width: number,
232
241
  ): PluginApiReturn<PluginDesignChangeResult>
233
242
 
234
243
  /**
@@ -253,7 +262,7 @@ export abstract class PluginDesignDoorsApi {
253
262
  */
254
263
  public abstract setHeight(
255
264
  doors: ComponentHandle[],
256
- height: number
265
+ height: number,
257
266
  ): PluginApiReturn<PluginDesignChangeResult>
258
267
 
259
268
  /**
@@ -273,7 +282,9 @@ export abstract class PluginDesignDoorsApi {
273
282
  * for (const g of groups) console.log(g.dbType, g.label, g.source)
274
283
  * ```
275
284
  */
276
- public abstract listCatalogGroups(): PluginApiReturn<PluginObjectCatalogGroup[]>
285
+ public abstract listCatalogGroups(): PluginApiReturn<
286
+ PluginObjectCatalogGroup[]
287
+ >
277
288
 
278
289
  /**
279
290
  * List the placeable door catalog (team + general libraries), optionally
@@ -295,7 +306,7 @@ export abstract class PluginDesignDoorsApi {
295
306
  * ```
296
307
  */
297
308
  public abstract listCatalog(
298
- group?: string
309
+ group?: string,
299
310
  ): PluginApiReturn<PluginObjectCatalogItem[]>
300
311
 
301
312
  /**
@@ -317,7 +328,7 @@ export abstract class PluginDesignDoorsApi {
317
328
  * ```
318
329
  */
319
330
  public abstract getCatalogItem(
320
- id: string
331
+ id: string,
321
332
  ): PluginApiReturn<PluginObjectCatalogItem | null>
322
333
 
323
334
  /**
@@ -369,7 +380,7 @@ export const PluginDoorDimensions = z.object({
369
380
  })
370
381
  export type PluginDoorDimensions = z.infer<typeof PluginDoorDimensions>
371
382
 
372
- /** Mirror axis — tokens mirror the engine `FlipDirection` verbatim (§6.1). */
383
+ /** Mirror axis — tokens mirror the engine `FlipDirection` verbatim: `'x'` flips the swing side, `'z'` swaps the hinged jamb, `'y'` turns the door upside down. */
373
384
  export const PluginMirrorAxis = z.enum(["x", "y", "z"])
374
385
  export type PluginMirrorAxis = z.infer<typeof PluginMirrorAxis>
375
386
 
@@ -379,13 +390,15 @@ export type PluginMirrorAxis = z.infer<typeof PluginMirrorAxis>
379
390
  * | Property | Type | Description |
380
391
  * |---|---|---|
381
392
  * | `door` | {@linkcode ComponentHandle} | The door to mirror |
382
- * | `axis` | {@linkcode PluginMirrorAxis} | Reflection axis (optional; default `'x'` — the swing-flip axis) |
393
+ * | `axis` | {@linkcode PluginMirrorAxis} | Reflection axis (optional; default `'x'` — the swing-flip axis; `'z'` — the hinge-jamb axis) |
383
394
  */
384
395
  export const PluginDesignDoorMirrorArgs = z.object({
385
396
  door: ComponentHandle,
386
397
  axis: PluginMirrorAxis.optional(),
387
398
  })
388
- export type PluginDesignDoorMirrorArgs = z.infer<typeof PluginDesignDoorMirrorArgs>
399
+ export type PluginDesignDoorMirrorArgs = z.infer<
400
+ typeof PluginDesignDoorMirrorArgs
401
+ >
389
402
 
390
403
  /**
391
404
  * Arguments for {@linkcode PluginDesignDoorsApi.setWidth}.
@@ -399,7 +412,9 @@ export const PluginDesignDoorSetWidthArgs = z.object({
399
412
  doors: z.array(ComponentHandle),
400
413
  width: z.number(),
401
414
  })
402
- export type PluginDesignDoorSetWidthArgs = z.infer<typeof PluginDesignDoorSetWidthArgs>
415
+ export type PluginDesignDoorSetWidthArgs = z.infer<
416
+ typeof PluginDesignDoorSetWidthArgs
417
+ >
403
418
 
404
419
  /**
405
420
  * Arguments for {@linkcode PluginDesignDoorsApi.setHeight}.
@@ -413,7 +428,9 @@ export const PluginDesignDoorSetHeightArgs = z.object({
413
428
  doors: z.array(ComponentHandle),
414
429
  height: z.number(),
415
430
  })
416
- export type PluginDesignDoorSetHeightArgs = z.infer<typeof PluginDesignDoorSetHeightArgs>
431
+ export type PluginDesignDoorSetHeightArgs = z.infer<
432
+ typeof PluginDesignDoorSetHeightArgs
433
+ >
417
434
 
418
435
  // ---------------------------------------------------------------------------
419
436
  // catalog (shared by doors + windows)
@@ -475,7 +492,9 @@ export type PluginObjectCatalogItem = z.infer<typeof PluginObjectCatalogItem>
475
492
  export const PluginDesignDoorListCatalogArgs = z.object({
476
493
  group: z.string().optional(),
477
494
  })
478
- export type PluginDesignDoorListCatalogArgs = z.infer<typeof PluginDesignDoorListCatalogArgs>
495
+ export type PluginDesignDoorListCatalogArgs = z.infer<
496
+ typeof PluginDesignDoorListCatalogArgs
497
+ >
479
498
 
480
499
  /**
481
500
  * Arguments for {@linkcode PluginDesignDoorsApi.getCatalogItem} / {@linkcode PluginDesignDoorsApi.exists}.
@@ -487,7 +506,11 @@ export type PluginDesignDoorListCatalogArgs = z.infer<typeof PluginDesignDoorLis
487
506
  export const PluginDesignDoorGetCatalogItemArgs = z.object({
488
507
  id: z.string(),
489
508
  })
490
- export type PluginDesignDoorGetCatalogItemArgs = z.infer<typeof PluginDesignDoorGetCatalogItemArgs>
509
+ export type PluginDesignDoorGetCatalogItemArgs = z.infer<
510
+ typeof PluginDesignDoorGetCatalogItemArgs
511
+ >
491
512
 
492
513
  export const PluginDesignDoorExistsArgs = PluginDesignDoorGetCatalogItemArgs
493
- export type PluginDesignDoorExistsArgs = z.infer<typeof PluginDesignDoorExistsArgs>
514
+ export type PluginDesignDoorExistsArgs = z.infer<
515
+ typeof PluginDesignDoorExistsArgs
516
+ >