@snaptrude/plugin-core 1.0.2-plainpoint-20261026.2 → 1.0.2

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 (103) hide show
  1. package/AGENTS.md +1 -0
  2. package/CHANGELOG.md +12 -0
  3. package/api-manifest.json +60 -0
  4. package/dist/api/core/camera/index.d.ts +4 -12
  5. package/dist/api/core/camera/index.d.ts.map +1 -1
  6. package/dist/api/core/comment/index.d.ts +3 -7
  7. package/dist/api/core/comment/index.d.ts.map +1 -1
  8. package/dist/api/core/geom/create/index.d.ts +21 -69
  9. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  10. package/dist/api/core/geom/query/circle.d.ts +11 -31
  11. package/dist/api/core/geom/query/circle.d.ts.map +1 -1
  12. package/dist/api/core/geom/query/contour.d.ts +7 -19
  13. package/dist/api/core/geom/query/contour.d.ts.map +1 -1
  14. package/dist/api/core/geom/query/curve.d.ts +24 -72
  15. package/dist/api/core/geom/query/curve.d.ts.map +1 -1
  16. package/dist/api/core/geom/query/profile.d.ts +7 -19
  17. package/dist/api/core/geom/query/profile.d.ts.map +1 -1
  18. package/dist/api/core/geom/update/contour.d.ts +12 -36
  19. package/dist/api/core/geom/update/contour.d.ts.map +1 -1
  20. package/dist/api/core/geom/update/curve.d.ts +5 -13
  21. package/dist/api/core/geom/update/curve.d.ts.map +1 -1
  22. package/dist/api/core/geom/update/profile.d.ts +12 -36
  23. package/dist/api/core/geom/update/profile.d.ts.map +1 -1
  24. package/dist/api/core/io/import/index.d.ts +3 -7
  25. package/dist/api/core/io/import/index.d.ts.map +1 -1
  26. package/dist/api/core/math/quat.d.ts +2 -2
  27. package/dist/api/core/math/quat.d.ts.map +1 -1
  28. package/dist/api/core/math/vec3.d.ts +15 -15
  29. package/dist/api/core/math/vec3.d.ts.map +1 -1
  30. package/dist/api/design/boolean/index.d.ts +4 -20
  31. package/dist/api/design/boolean/index.d.ts.map +1 -1
  32. package/dist/api/design/create/bulk-items.d.ts +4 -20
  33. package/dist/api/design/create/bulk-items.d.ts.map +1 -1
  34. package/dist/api/design/create/index.d.ts +27 -67
  35. package/dist/api/design/create/index.d.ts.map +1 -1
  36. package/dist/api/design/delete/index.d.ts +7 -14
  37. package/dist/api/design/delete/index.d.ts.map +1 -1
  38. package/dist/api/design/dimensions.d.ts +4 -12
  39. package/dist/api/design/dimensions.d.ts.map +1 -1
  40. package/dist/api/design/edit/index.d.ts +3 -7
  41. package/dist/api/design/edit/index.d.ts.map +1 -1
  42. package/dist/api/design/erase/index.d.ts +2 -10
  43. package/dist/api/design/erase/index.d.ts.map +1 -1
  44. package/dist/api/design/family.d.ts +1 -5
  45. package/dist/api/design/family.d.ts.map +1 -1
  46. package/dist/api/design/index.d.ts +5 -0
  47. package/dist/api/design/index.d.ts.map +1 -1
  48. package/dist/api/design/lock.d.ts +0 -3
  49. package/dist/api/design/lock.d.ts.map +1 -1
  50. package/dist/api/design/text.d.ts +400 -0
  51. package/dist/api/design/text.d.ts.map +1 -0
  52. package/dist/api/design/transform/index.d.ts +8 -28
  53. package/dist/api/design/transform/index.d.ts.map +1 -1
  54. package/dist/api/entity/space.d.ts +6 -30
  55. package/dist/api/entity/space.d.ts.map +1 -1
  56. package/dist/api/presentation/drawings.d.ts +46 -1
  57. package/dist/api/presentation/drawings.d.ts.map +1 -1
  58. package/dist/api/presentation/graphics.d.ts +4 -0
  59. package/dist/api/presentation/graphics.d.ts.map +1 -1
  60. package/dist/api/presentation/placedViews.d.ts +29 -1
  61. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  62. package/dist/api/presentation/standards.d.ts +14 -0
  63. package/dist/api/presentation/standards.d.ts.map +1 -1
  64. package/dist/handles.d.ts +0 -8
  65. package/dist/handles.d.ts.map +1 -1
  66. package/dist/index.cjs +2281 -2188
  67. package/dist/index.cjs.map +1 -1
  68. package/dist/index.js +2269 -2187
  69. package/dist/index.js.map +1 -1
  70. package/package.json +13 -13
  71. package/src/api/core/camera/index.ts +5 -5
  72. package/src/api/core/comment/index.ts +3 -3
  73. package/src/api/core/geom/create/index.ts +25 -25
  74. package/src/api/core/geom/query/circle.ts +11 -11
  75. package/src/api/core/geom/query/contour.ts +6 -7
  76. package/src/api/core/geom/query/curve.ts +25 -25
  77. package/src/api/core/geom/query/profile.ts +6 -7
  78. package/src/api/core/geom/update/contour.ts +11 -12
  79. package/src/api/core/geom/update/curve.ts +5 -5
  80. package/src/api/core/geom/update/profile.ts +11 -12
  81. package/src/api/core/io/import/index.ts +2 -3
  82. package/src/api/core/math/quat.ts +2 -2
  83. package/src/api/core/math/vec3.ts +16 -16
  84. package/src/api/design/boolean/index.ts +2 -2
  85. package/src/api/design/create/bulk-items.ts +2 -3
  86. package/src/api/design/create/index.ts +26 -27
  87. package/src/api/design/delete/index.ts +7 -14
  88. package/src/api/design/dimensions.ts +4 -5
  89. package/src/api/design/edit/index.ts +3 -3
  90. package/src/api/design/erase/index.ts +2 -2
  91. package/src/api/design/family.ts +1 -2
  92. package/src/api/design/index.ts +5 -0
  93. package/src/api/design/lock.ts +0 -6
  94. package/src/api/design/text.ts +394 -0
  95. package/src/api/design/transform/index.ts +7 -15
  96. package/src/api/entity/space.ts +4 -5
  97. package/src/api/presentation/graphics.ts +4 -1
  98. package/src/api/presentation/placedViews.ts +12 -0
  99. package/src/api/presentation/standards.ts +6 -0
  100. package/src/handles.ts +0 -11
  101. package/test/designText.test.mjs +72 -0
  102. package/test/paperPensContract.test.mjs +39 -0
  103. package/test/handles.test.mjs +0 -36
@@ -8,9 +8,6 @@ import { ComponentHandle } from "../../handles";
8
8
  */
9
9
  export declare const PluginDesignChangeResult: z.ZodObject<{
10
10
  affected: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
11
- cascaded: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
12
- missing: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
13
- rejected: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
14
11
  }, z.core.$strip>;
15
12
  export type PluginDesignChangeResult = z.infer<typeof PluginDesignChangeResult>;
16
13
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/api/design/lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;;;;iBAQnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,eAAO,MAAM,sBAAsB;;iBAAuB,CAAA;AAC1D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,0BAA0B;;iBAA2B,CAAA;AAClE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;iBAEvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
1
+ {"version":3,"file":"lock.d.ts","sourceRoot":"","sources":["../../../src/api/design/lock.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,eAAO,MAAM,sBAAsB;;iBAAuB,CAAA;AAC1D,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,0BAA0B;;iBAA2B,CAAA;AAClE,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;iBAEvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA"}
@@ -0,0 +1,400 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../types";
3
+ import { ComponentHandle, Vec3Handle } from "../../handles";
4
+ /**
5
+ * Authored text — what the Text and Annotate tools place on a drawing.
6
+ *
7
+ * A text is a single line of words drawn flat in its drawing: a **plain text**
8
+ * is centred on its position; an **annotation** is the same text with a leader,
9
+ * a line from an arrowhead (the point it labels) to the text's position, then a
10
+ * short landing to where the words start. Texts are scene components, so their
11
+ * id is a {@linkcode ComponentHandle} and the generic component APIs work on
12
+ * them:
13
+ *
14
+ * - delete: `design.delete.entities`
15
+ * - move / rotate / mirror: `design.transform.*` (the leader travels with the text)
16
+ * - copy: `design.create.copy`
17
+ * - hide / show / isolate: `design.visibility.*`
18
+ * - lock / unlock: `design.lock` / `design.unlock`
19
+ * - select: `design.selection.*`
20
+ *
21
+ * **Where a text lives.** Plan text belongs to one storey and is drawn only in
22
+ * that storey's plan (never in 3D). Text placed while a section or elevation is
23
+ * open belongs to that drawing and is drawn only there. The record's `drawing`
24
+ * and `drawingId` say which.
25
+ *
26
+ * **Size and pens.** A text has no size of its own: every text draws at the
27
+ * project's Text size (Object Styles → Text, `presentation.standards`
28
+ * `annotation.Text.textMm`, paper mm) at the active view scale, and the leader
29
+ * draws with the Text category's projection pen
30
+ * (`presentation.graphics` / `presentation.standards` `objectStyles.Text`).
31
+ * Present sheets restyle all texts of a placed view at once through the
32
+ * `"Text"` and `"Annotation"` categories of
33
+ * `presentation.placedViews.updateStyles` (colour, font, leader visibility).
34
+ *
35
+ * **Fonts.** `fontFamily` is a Google Fonts family (`"Inter"`, `"Roboto"`,
36
+ * `"Open Sans"`, …) or one of the built-ins `"Arial"`, `"Helvetica"`,
37
+ * `"Times New Roman"`, `"Courier New"`, matched case-insensitively and stored
38
+ * in its canonical spelling; an unknown family is refused (`VALIDATION`). A
39
+ * font style the family does not have falls back to `"Regular"`, as in the
40
+ * Properties panel, so read back the style that applied.
41
+ *
42
+ * **Units.** Positions are world points in Babylon units (1 BU = 0.254 m).
43
+ *
44
+ * Every mutator here commits through the engine's command manager: one undo
45
+ * entry per call, autosaved, replayed to collaborators.
46
+ *
47
+ * Accessed via `snaptrude.design.text`.
48
+ */
49
+ export declare abstract class PluginDesignTextApi {
50
+ constructor();
51
+ /**
52
+ * Place a text, or an annotation when `options.arrowhead` is given.
53
+ *
54
+ * Where it goes:
55
+ * - `options.storey` given → plan text on that storey, at its floor level
56
+ * (the `y` of `position` is ignored).
57
+ * - otherwise, with a section or elevation open on the canvas → that
58
+ * drawing; `position` (and `arrowhead`) are projected onto its plane.
59
+ * - otherwise → plan text on the active storey.
60
+ *
61
+ * The text is created unrotated (it reads along +X in plan); rotate it with
62
+ * `design.transform.rotate`. The font style falls back to `"Regular"` when the
63
+ * family has no such style.
64
+ *
65
+ * @param position - World point the text is placed at: the centre of a plain
66
+ * text, or the leader's text end (where the landing starts) of an
67
+ * annotation.
68
+ * @param content - The words, one line (no line breaks), not blank.
69
+ * @param options - `arrowhead` (world point the leader points at; makes an
70
+ * annotation), `color` (`#rrggbb`, default `#000000`), `fontFamily`
71
+ * (see **Fonts** above, default `"Inter"`), `fontStyle` (default
72
+ * `"Regular"`), `storey` (plan text on this storey).
73
+ * @returns The new text's {@linkcode ComponentHandle}.
74
+ * @throws `VALIDATION` for malformed arguments, blank or multi-line
75
+ * `content`, an unknown `fontFamily`, or an `arrowhead` on top of
76
+ * `position`; `PRECONDITION_FAILED`
77
+ * when `storey` does not exist or the editor is not mounted;
78
+ * `METHOD_NOT_PERMITTED` when plugin writes are disabled.
79
+ *
80
+ * @examplePrompt Label the living room "LIVING" on the plan
81
+ * @examplePrompt Add an annotation pointing at this column saying "RCC 300x300"
82
+ * @examplePrompt Write "NORTH ENTRY" in red bold text at the entrance on level 2
83
+ *
84
+ * # Example
85
+ * ```ts
86
+ * const { design, core } = snaptrude
87
+ * const v = core.math.vec3
88
+ * // A plain label on storey 1.
89
+ * await design.text.create(await v.new(10, 0, 20), "LIVING", { storey: 1 })
90
+ * // An annotation whose leader points at a wall corner.
91
+ * await design.text.create(await v.new(30, 0, 40), "Shear wall", {
92
+ * arrowhead: await v.new(22, 0, 32),
93
+ * color: "#c62828",
94
+ * fontStyle: "Bold",
95
+ * })
96
+ * ```
97
+ */
98
+ abstract create(position: Vec3Handle, content: string, options?: {
99
+ arrowhead?: Vec3Handle;
100
+ color?: string;
101
+ fontFamily?: string;
102
+ fontStyle?: PluginTextFontStyle;
103
+ storey?: number;
104
+ }): PluginApiReturn<ComponentHandle>;
105
+ /**
106
+ * List the texts and annotations of every building in the active design
107
+ * option as full records (each carries its `buildingId`).
108
+ *
109
+ * Filters combine with AND: `storeys` keeps texts on those storeys (plan
110
+ * text, and texts of a section or elevation, carry the storey they were
111
+ * placed from), `kind` keeps only plain texts or only annotations,
112
+ * `isHidden` only the ones whose user Hide flag equals the value given.
113
+ *
114
+ * @param options - `storeys`, `kind`, `isHidden` filters (all optional,
115
+ * ANDed).
116
+ * @returns The matching {@linkcode PluginText} records (`[]` when nothing
117
+ * matches).
118
+ * @throws `VALIDATION` for malformed filters.
119
+ *
120
+ * @examplePrompt List all the text labels on level 1
121
+ * @examplePrompt Which annotations are in this model?
122
+ * @examplePrompt Find the text that says "LOBBY"
123
+ *
124
+ * @performance Array read — one host round-trip returns every record.
125
+ * Filter in one call rather than calling `get` per text.
126
+ *
127
+ * # Example
128
+ * ```ts
129
+ * const texts = await snaptrude.design.text.list({ storeys: [1] })
130
+ * const lobby = texts.find((t) => t.content === "LOBBY")
131
+ * ```
132
+ */
133
+ abstract list(options?: {
134
+ storeys?: number[];
135
+ kind?: PluginTextKind;
136
+ isHidden?: boolean;
137
+ }): PluginApiReturn<PluginText[]>;
138
+ /**
139
+ * Read one text by handle.
140
+ *
141
+ * Returns `null` — rather than throwing — when the id is not a live text
142
+ * (deleted, undone, or another kind of component), so a handle kept across a
143
+ * delete or an undo can be polled safely.
144
+ *
145
+ * @param text - The text to read.
146
+ * @returns Its {@linkcode PluginText} record, or `null`.
147
+ * @throws `VALIDATION` if `text` is not a non-empty id string.
148
+ *
149
+ * @examplePrompt What does this text say?
150
+ * @examplePrompt Read the annotation I just placed
151
+ *
152
+ * # Example
153
+ * ```ts
154
+ * const t = await snaptrude.design.text.get(handle)
155
+ * if (t?.leader) console.log(t.content, "points at", t.leader.arrowhead)
156
+ * ```
157
+ */
158
+ abstract get(text: ComponentHandle): PluginApiReturn<PluginText | null>;
159
+ /**
160
+ * Change the words, colour or font of one or more texts — the same edit as
161
+ * the Properties panel. Fields left out keep each text's own value. A font
162
+ * style the (new) family does not have falls back to `"Regular"`, as in the
163
+ * panel. One undo entry for the whole batch.
164
+ *
165
+ * @param texts - The texts to change (at least one).
166
+ * @param patch - `content`, `color`, `fontFamily`, `fontStyle` (at least
167
+ * one).
168
+ * @returns The texts that actually changed, as
169
+ * {@linkcode PluginTextChangeResult} — texts already matching the patch
170
+ * are omitted.
171
+ * @throws `VALIDATION` for malformed arguments, blank / multi-line
172
+ * `content` or an unknown `fontFamily`; `HANDLE_INVALID` if any handle
173
+ * is not a live text (the whole call rejects before anything changes);
174
+ * `PRECONDITION_FAILED` if any text is locked or outside the active
175
+ * design option; `METHOD_NOT_PERMITTED`
176
+ * when plugin writes are disabled.
177
+ *
178
+ * @examplePrompt Make all the room labels bold
179
+ * @examplePrompt Change this annotation to read "Fire exit"
180
+ * @examplePrompt Use Roboto in blue for every text on level 2
181
+ *
182
+ * @performance Array API — pass the whole set in one call (one host
183
+ * round-trip, one undo entry). Never loop this per text.
184
+ *
185
+ * # Example
186
+ * ```ts
187
+ * const text = snaptrude.design.text
188
+ * const level2 = await text.list({ storeys: [2] })
189
+ * await text.update(level2.map((t) => t.id), { fontFamily: "Roboto", color: "#1565c0" })
190
+ * ```
191
+ */
192
+ abstract update(texts: ComponentHandle[], patch: PluginTextPatch): PluginApiReturn<PluginTextChangeResult>;
193
+ /**
194
+ * Point a text's leader at a new place — the same edit as dragging an
195
+ * annotation's arrowhead with the Edit tool. Passing `null` removes the
196
+ * leader (the annotation becomes a plain text); giving a plain text an
197
+ * arrowhead turns it into an annotation. The text itself does not move. To
198
+ * move the text while its arrowhead stays put, move it with
199
+ * `design.transform.move`, then call this with the old `leader.arrowhead`.
200
+ *
201
+ * @param text - The text to change.
202
+ * @param arrowhead - World point the leader points at (projected onto the
203
+ * text's drawing plane), or `null` to remove the leader.
204
+ * @returns The updated {@linkcode PluginText} record.
205
+ * @throws `VALIDATION` for malformed arguments or an arrowhead on top of the
206
+ * text's position; `HANDLE_INVALID` if `text` is not a live text;
207
+ * `PRECONDITION_FAILED` if it is locked or outside the active design
208
+ * option; `METHOD_NOT_PERMITTED` when plugin writes are disabled.
209
+ *
210
+ * @examplePrompt Point this annotation at the door instead
211
+ * @examplePrompt Remove the leader from this label
212
+ *
213
+ * # Example
214
+ * ```ts
215
+ * const { design, core } = snaptrude
216
+ * await design.text.setLeader(handle, await core.math.vec3.new(12, 0, 8))
217
+ * ```
218
+ */
219
+ abstract setLeader(text: ComponentHandle, arrowhead: Vec3Handle | null): PluginApiReturn<PluginText>;
220
+ }
221
+ /** The four font styles a text can use (the Properties panel's Style list). */
222
+ export declare const PluginTextFontStyle: z.ZodEnum<{
223
+ Regular: "Regular";
224
+ Bold: "Bold";
225
+ Italic: "Italic";
226
+ "Bold Italic": "Bold Italic";
227
+ }>;
228
+ export type PluginTextFontStyle = z.infer<typeof PluginTextFontStyle>;
229
+ /** `"text"` — a plain text; `"annotation"` — a text with a leader. */
230
+ export declare const PluginTextKind: z.ZodEnum<{
231
+ text: "text";
232
+ annotation: "annotation";
233
+ }>;
234
+ export type PluginTextKind = z.infer<typeof PluginTextKind>;
235
+ /**
236
+ * The drawing a text belongs to: `"plan"` (its storey's plan), `"section"`,
237
+ * `"elevation"`, or `"view"` (a saved 2D view).
238
+ */
239
+ export declare const PluginTextDrawing: z.ZodEnum<{
240
+ elevation: "elevation";
241
+ view: "view";
242
+ plan: "plan";
243
+ section: "section";
244
+ }>;
245
+ export type PluginTextDrawing = z.infer<typeof PluginTextDrawing>;
246
+ /**
247
+ * One text or annotation. Positions are world points in Babylon units.
248
+ *
249
+ * | Property | Type | Description |
250
+ * |---|---|---|
251
+ * | `id` | {@linkcode ComponentHandle} | The text's handle |
252
+ * | `kind` | {@linkcode PluginTextKind} | `"text"` or `"annotation"` (has a leader) |
253
+ * | `content` | `string` | The words |
254
+ * | `color` | `string` | `#rrggbb` |
255
+ * | `fontFamily` | `string` | Font family |
256
+ * | `fontStyle` | {@linkcode PluginTextFontStyle} | Font style |
257
+ * | `position` | {@linkcode Vec3Components} | Centre of a plain text; the leader's text end of an annotation |
258
+ * | `rotation` | `number` | Rotation in its drawing in degrees, positive clockwise as seen on screen — in plan, the sense a positive `design.transform.rotate` angle turns it (0 = reads along +X) |
259
+ * | `leader` | `{ arrowhead: Vec3Components } \| null` | Where the leader points; `null` for plain text |
260
+ * | `storey` | `number` | Storey it belongs to |
261
+ * | `buildingId` | `string \| null` | Building it belongs to |
262
+ * | `drawing` | {@linkcode PluginTextDrawing} | The drawing it is drawn in |
263
+ * | `drawingId` | `string \| null` | The section id, elevation preset or view id; `null` for plan text |
264
+ * | `isHidden` | `boolean` | The user Hide flag (`design.visibility.hide` / `show`) |
265
+ * | `isLocked` | `boolean` | Locked against edits — its own lock (`design.lock` / `unlock`) or a locked group or design option, as `design.isLocked` reports |
266
+ */
267
+ export declare const PluginText: z.ZodObject<{
268
+ id: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
269
+ kind: z.ZodEnum<{
270
+ text: "text";
271
+ annotation: "annotation";
272
+ }>;
273
+ content: z.ZodString;
274
+ color: z.ZodString;
275
+ fontFamily: z.ZodString;
276
+ fontStyle: z.ZodEnum<{
277
+ Regular: "Regular";
278
+ Bold: "Bold";
279
+ Italic: "Italic";
280
+ "Bold Italic": "Bold Italic";
281
+ }>;
282
+ position: z.ZodObject<{
283
+ x: z.ZodNumber;
284
+ y: z.ZodNumber;
285
+ z: z.ZodNumber;
286
+ }, z.core.$strip>;
287
+ rotation: z.ZodNumber;
288
+ leader: z.ZodNullable<z.ZodObject<{
289
+ arrowhead: z.ZodObject<{
290
+ x: z.ZodNumber;
291
+ y: z.ZodNumber;
292
+ z: z.ZodNumber;
293
+ }, z.core.$strip>;
294
+ }, z.core.$strip>>;
295
+ storey: z.ZodNumber;
296
+ buildingId: z.ZodNullable<z.ZodString>;
297
+ drawing: z.ZodEnum<{
298
+ elevation: "elevation";
299
+ view: "view";
300
+ plan: "plan";
301
+ section: "section";
302
+ }>;
303
+ drawingId: z.ZodNullable<z.ZodString>;
304
+ isHidden: z.ZodBoolean;
305
+ isLocked: z.ZodBoolean;
306
+ }, z.core.$strip>;
307
+ export type PluginText = z.infer<typeof PluginText>;
308
+ /**
309
+ * A sparse edit for {@linkcode PluginDesignTextApi.update} — at least one
310
+ * field.
311
+ *
312
+ * | Property | Type | Description |
313
+ * |---|---|---|
314
+ * | `content` | `string`? | New words (one line, not blank) |
315
+ * | `color` | `string`? | `#rrggbb` |
316
+ * | `fontFamily` | `string`? | Google Fonts family (`"Inter"`, `"Roboto"`, …) or `"Arial"` / `"Helvetica"` / `"Times New Roman"` / `"Courier New"` |
317
+ * | `fontStyle` | {@linkcode PluginTextFontStyle}? | Falls back to `"Regular"` when the family lacks it |
318
+ */
319
+ export declare const PluginTextPatch: z.ZodObject<{
320
+ content: z.ZodOptional<z.ZodString>;
321
+ color: z.ZodOptional<z.ZodString>;
322
+ fontFamily: z.ZodOptional<z.ZodString>;
323
+ fontStyle: z.ZodOptional<z.ZodEnum<{
324
+ Regular: "Regular";
325
+ Bold: "Bold";
326
+ Italic: "Italic";
327
+ "Bold Italic": "Bold Italic";
328
+ }>>;
329
+ }, z.core.$strict>;
330
+ export type PluginTextPatch = z.infer<typeof PluginTextPatch>;
331
+ /**
332
+ * Result of {@linkcode PluginDesignTextApi.update}: the texts the call
333
+ * changed.
334
+ *
335
+ * | Property | Type | Description |
336
+ * |---|---|---|
337
+ * | `affected` | {@linkcode ComponentHandle}`[]` | The texts the call changed |
338
+ */
339
+ export declare const PluginTextChangeResult: z.ZodObject<{
340
+ affected: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
341
+ }, z.core.$strip>;
342
+ export type PluginTextChangeResult = z.infer<typeof PluginTextChangeResult>;
343
+ /**
344
+ * Arguments for {@linkcode PluginDesignTextApi.create} (options flattened).
345
+ *
346
+ * TRANSPORT: positional args — validated host-side as this object.
347
+ */
348
+ export declare const PluginDesignTextCreateArgs: z.ZodObject<{
349
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
350
+ content: z.ZodString;
351
+ arrowhead: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>>;
352
+ color: z.ZodOptional<z.ZodString>;
353
+ fontFamily: z.ZodOptional<z.ZodString>;
354
+ fontStyle: z.ZodOptional<z.ZodEnum<{
355
+ Regular: "Regular";
356
+ Bold: "Bold";
357
+ Italic: "Italic";
358
+ "Bold Italic": "Bold Italic";
359
+ }>>;
360
+ storey: z.ZodOptional<z.ZodNumber>;
361
+ }, z.core.$strip>;
362
+ export type PluginDesignTextCreateArgs = z.infer<typeof PluginDesignTextCreateArgs>;
363
+ /** Arguments for {@linkcode PluginDesignTextApi.list} (options flattened). */
364
+ export declare const PluginDesignTextListArgs: z.ZodObject<{
365
+ storeys: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
366
+ kind: z.ZodOptional<z.ZodEnum<{
367
+ text: "text";
368
+ annotation: "annotation";
369
+ }>>;
370
+ isHidden: z.ZodOptional<z.ZodBoolean>;
371
+ }, z.core.$strip>;
372
+ export type PluginDesignTextListArgs = z.infer<typeof PluginDesignTextListArgs>;
373
+ /** Arguments for {@linkcode PluginDesignTextApi.get}. */
374
+ export declare const PluginDesignTextGetArgs: z.ZodObject<{
375
+ text: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
376
+ }, z.core.$strip>;
377
+ export type PluginDesignTextGetArgs = z.infer<typeof PluginDesignTextGetArgs>;
378
+ /** Arguments for {@linkcode PluginDesignTextApi.update}. */
379
+ export declare const PluginDesignTextUpdateArgs: z.ZodObject<{
380
+ texts: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
381
+ patch: z.ZodObject<{
382
+ content: z.ZodOptional<z.ZodString>;
383
+ color: z.ZodOptional<z.ZodString>;
384
+ fontFamily: z.ZodOptional<z.ZodString>;
385
+ fontStyle: z.ZodOptional<z.ZodEnum<{
386
+ Regular: "Regular";
387
+ Bold: "Bold";
388
+ Italic: "Italic";
389
+ "Bold Italic": "Bold Italic";
390
+ }>>;
391
+ }, z.core.$strict>;
392
+ }, z.core.$strip>;
393
+ export type PluginDesignTextUpdateArgs = z.infer<typeof PluginDesignTextUpdateArgs>;
394
+ /** Arguments for {@linkcode PluginDesignTextApi.setLeader}. */
395
+ export declare const PluginDesignTextSetLeaderArgs: z.ZodObject<{
396
+ text: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
397
+ arrowhead: z.ZodNullable<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>>;
398
+ }, z.core.$strip>;
399
+ export type PluginDesignTextSetLeaderArgs = z.infer<typeof PluginDesignTextSetLeaderArgs>;
400
+ //# sourceMappingURL=text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../../src/api/design/text.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../../types";
3
- import { ComponentHandle, Vec3Input } from "../../../handles";
3
+ import { ComponentHandle, Vec3Handle } from "../../../handles";
4
4
  import { PluginDesignChangeResult } from "../lock";
5
5
  /**
6
6
  * `snaptrude.design.transform` — rigid transforms on scene entities.
@@ -20,17 +20,9 @@ export declare abstract class PluginDesignTransformApi {
20
20
  * component's absolute position as the anchor). Undoable.
21
21
  *
22
22
  * @param components - Entities to move
23
- * @param displacement - Relative translation as a {@linkcode Vec3Handle}. A displacement
24
- * shorter than 1e-6 is a no-op that succeeds (hosts before Oct 2026 throw
25
- * `OPERATION_FAILED` "No movement occurred" instead, so skip the call when nothing moves).
23
+ * @param displacement - Relative translation as a {@linkcode Vec3Handle}
26
24
  * @param options - `is2D`, `trackParentChange`
27
25
  * @returns {@linkcode PluginDesignChangeResult}
28
- * @throws `OPERATION_FAILED` when the engine drops the whole move. A single connected
29
- * parametric wall moves only across its own line: the vertical part and the part along
30
- * the line are dropped. Move the whole connected run in one call to lift walls; to slide
31
- * or lengthen one wall, delete it and create it again on the new line. Graph-bound walls
32
- * made by Sketch-to-BIM refuse `move` outright (`TOPOLOGY_ERROR` / `ZERO_MOVEMENT`):
33
- * adjust the room boundary that owns the wall instead.
34
26
  *
35
27
  * @examplePrompt Move the selected room 5 metres to the right
36
28
  * @examplePrompt Shift these walls 3m along the x axis
@@ -47,7 +39,7 @@ export declare abstract class PluginDesignTransformApi {
47
39
  * await snaptrude.design.transform.move(["space-id"], vec3.new(10, 0, 0))
48
40
  * ```
49
41
  */
50
- abstract move(components: ComponentHandle[], displacement: Vec3Input, options?: {
42
+ abstract move(components: ComponentHandle[], displacement: Vec3Handle, options?: {
51
43
  is2D?: boolean;
52
44
  trackParentChange?: boolean;
53
45
  }): PluginApiReturn<PluginDesignChangeResult>;
@@ -83,8 +75,8 @@ export declare abstract class PluginDesignTransformApi {
83
75
  * ```
84
76
  */
85
77
  abstract rotate(components: ComponentHandle[], angleInDegrees: number, options?: {
86
- axis?: Vec3Input;
87
- pivot?: Vec3Input;
78
+ axis?: Vec3Handle;
79
+ pivot?: Vec3Handle;
88
80
  is2D?: boolean;
89
81
  }): PluginApiReturn<PluginDesignChangeResult>;
90
82
  /**
@@ -200,11 +192,7 @@ export type PluginAlignEdge = z.infer<typeof PluginAlignEdge>;
200
192
  */
201
193
  export declare const PluginDesignMoveArgs: z.ZodObject<{
202
194
  components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
203
- displacement: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>, z.ZodObject<{
204
- x: z.ZodNumber;
205
- y: z.ZodNumber;
206
- z: z.ZodNumber;
207
- }, z.core.$strip>]>;
195
+ displacement: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
208
196
  is2D: z.ZodOptional<z.ZodBoolean>;
209
197
  trackParentChange: z.ZodOptional<z.ZodBoolean>;
210
198
  }, z.core.$strip>;
@@ -215,17 +203,9 @@ export type PluginDesignMoveArgs = z.infer<typeof PluginDesignMoveArgs>;
215
203
  export declare const PluginDesignRotateArgs: z.ZodObject<{
216
204
  components: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
217
205
  angleInDegrees: z.ZodNumber;
218
- axis: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>, z.ZodObject<{
219
- x: z.ZodNumber;
220
- y: z.ZodNumber;
221
- z: z.ZodNumber;
222
- }, z.core.$strip>]>>;
206
+ axis: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
223
207
  is2D: z.ZodOptional<z.ZodBoolean>;
224
- pivot: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>, z.ZodObject<{
225
- x: z.ZodNumber;
226
- y: z.ZodNumber;
227
- z: z.ZodNumber;
228
- }, z.core.$strip>]>>;
208
+ pivot: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
229
209
  }, z.core.$strip>;
230
210
  export type PluginDesignRotateArgs = z.infer<typeof PluginDesignRotateArgs>;
231
211
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/transform/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAc,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;;;;;;GAUG;AACH,8BAAsB,wBAAwB;;IAG5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+BG;aACa,IAAI,CAClB,UAAU,EAAE,eAAe,EAAE,EAC7B,YAAY,EAAE,SAAS,EACvB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GACxD,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;aACa,MAAM,CACpB,UAAU,EAAE,eAAe,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,SAAS,CAAC;QAAC,KAAK,CAAC,EAAE,SAAS,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAChE,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,KAAK,CACnB,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,GACxC,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;aACa,MAAM,CACpB,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,EAAE,yBAAyB,GAC9B,eAAe,CAAC,wBAAwB,CAAC;CAC7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;EAAqB,CAAA;AAC3D,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAK/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAMjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAGjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/transform/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;;;;;;GAUG;AACH,8BAAsB,wBAAwB;;IAG5C;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,IAAI,CAClB,UAAU,EAAE,eAAe,EAAE,EAC7B,YAAY,EAAE,UAAU,EACxB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,iBAAiB,CAAC,EAAE,OAAO,CAAA;KAAE,GACxD,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;aACa,MAAM,CACpB,UAAU,EAAE,eAAe,EAAE,EAC7B,cAAc,EAAE,MAAM,EACtB,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,UAAU,CAAC;QAAC,KAAK,CAAC,EAAE,UAAU,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAA;KAAE,GAClE,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,KAAK,CACnB,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,EAAE,eAAe,EACrB,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,eAAe,CAAA;KAAE,GACxC,eAAe,CAAC,wBAAwB,CAAC;IAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;aACa,MAAM,CACpB,UAAU,EAAE,eAAe,EAAE,EAC7B,IAAI,EAAE,yBAAyB,GAC9B,eAAe,CAAC,wBAAwB,CAAC;CAC7C;AAED;;;;;GAKG;AACH,eAAO,MAAM,yBAAyB;;;EAAqB,CAAA;AAC3D,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,eAAe;;;;;;;EAO1B,CAAA;AACF,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAMjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;iBAIhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;;;;iBAGjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA"}
@@ -8,11 +8,7 @@ import * as z from "zod";
8
8
  * | `dimensions` | `{ width, height, depth }` | Box dimensions in Babylon units |
9
9
  */
10
10
  export declare const PluginSpaceCreateRectangularArgs: z.ZodObject<{
11
- position: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>, z.ZodObject<{
12
- x: z.ZodNumber;
13
- y: z.ZodNumber;
14
- z: z.ZodNumber;
15
- }, z.core.$strip>]>;
11
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
16
12
  dimensions: z.ZodObject<{
17
13
  width: z.ZodNumber;
18
14
  height: z.ZodNumber;
@@ -45,11 +41,7 @@ export declare const PluginSpaceCreateFromProfileArgs: z.ZodObject<{
45
41
  profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>;
46
42
  innerProfiles: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>>>;
47
43
  extrudeHeight: z.ZodNumber;
48
- position: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>, z.ZodObject<{
49
- x: z.ZodNumber;
50
- y: z.ZodNumber;
51
- z: z.ZodNumber;
52
- }, z.core.$strip>]>;
44
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
53
45
  }, z.core.$strip>;
54
46
  export type PluginSpaceCreateFromProfileArgs = z.infer<typeof PluginSpaceCreateFromProfileArgs>;
55
47
  /**
@@ -506,11 +498,7 @@ export type PluginSpaceUpdateResult = z.infer<typeof PluginSpaceUpdateResult>;
506
498
  */
507
499
  export declare const PluginSpaceBulkCreateItem: z.ZodDiscriminatedUnion<[z.ZodObject<{
508
500
  kind: z.ZodLiteral<"rectangular">;
509
- position: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>, z.ZodObject<{
510
- x: z.ZodNumber;
511
- y: z.ZodNumber;
512
- z: z.ZodNumber;
513
- }, z.core.$strip>]>;
501
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
514
502
  dimensions: z.ZodObject<{
515
503
  width: z.ZodNumber;
516
504
  height: z.ZodNumber;
@@ -554,11 +542,7 @@ export declare const PluginSpaceBulkCreateItem: z.ZodDiscriminatedUnion<[z.ZodOb
554
542
  profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>;
555
543
  innerProfiles: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>>>;
556
544
  extrudeHeight: z.ZodNumber;
557
- position: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>, z.ZodObject<{
558
- x: z.ZodNumber;
559
- y: z.ZodNumber;
560
- z: z.ZodNumber;
561
- }, z.core.$strip>]>;
545
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
562
546
  room_type: z.ZodOptional<z.ZodString>;
563
547
  spaceType: z.ZodOptional<z.ZodEnum<{
564
548
  Room: "Room";
@@ -604,11 +588,7 @@ export type PluginSpaceBulkCreateItem = z.infer<typeof PluginSpaceBulkCreateItem
604
588
  export declare const PluginSpaceBulkCreateArgs: z.ZodObject<{
605
589
  items: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
606
590
  kind: z.ZodLiteral<"rectangular">;
607
- position: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>, z.ZodObject<{
608
- x: z.ZodNumber;
609
- y: z.ZodNumber;
610
- z: z.ZodNumber;
611
- }, z.core.$strip>]>;
591
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
612
592
  dimensions: z.ZodObject<{
613
593
  width: z.ZodNumber;
614
594
  height: z.ZodNumber;
@@ -652,11 +632,7 @@ export declare const PluginSpaceBulkCreateArgs: z.ZodObject<{
652
632
  profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>;
653
633
  innerProfiles: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"profile">, string>>>>;
654
634
  extrudeHeight: z.ZodNumber;
655
- position: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>, z.ZodObject<{
656
- x: z.ZodNumber;
657
- y: z.ZodNumber;
658
- z: z.ZodNumber;
659
- }, z.core.$strip>]>;
635
+ position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../..").Handle<"vec3">, string>>;
660
636
  room_type: z.ZodOptional<z.ZodString>;
661
637
  spaceType: z.ZodOptional<z.ZodEnum<{
662
638
  Room: "Room";
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/api/entity/space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/api/entity/space.ts"],"names":[],"mappings":"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"}