@snaptrude/plugin-core 0.7.1 → 0.8.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 (130) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/api-manifest.full.json +6442 -0
  3. package/api-manifest.json +2029 -128
  4. package/dist/api/core/camera/index.d.ts +208 -0
  5. package/dist/api/core/camera/index.d.ts.map +1 -0
  6. package/dist/api/core/comment/index.d.ts +105 -2
  7. package/dist/api/core/comment/index.d.ts.map +1 -1
  8. package/dist/api/core/geom/create/index.d.ts +13 -13
  9. package/dist/api/core/geom/delete/index.d.ts +8 -2
  10. package/dist/api/core/geom/delete/index.d.ts.map +1 -1
  11. package/dist/api/core/geom/query/arc.d.ts +5 -5
  12. package/dist/api/core/geom/query/brep.d.ts +18 -18
  13. package/dist/api/core/geom/query/circle.d.ts +18 -18
  14. package/dist/api/core/geom/query/contour.d.ts +20 -20
  15. package/dist/api/core/geom/query/curve.d.ts +49 -49
  16. package/dist/api/core/geom/query/edge.d.ts +5 -5
  17. package/dist/api/core/geom/query/face.d.ts +16 -16
  18. package/dist/api/core/geom/query/halfedge.d.ts +8 -8
  19. package/dist/api/core/geom/query/profile.d.ts +19 -19
  20. package/dist/api/core/geom/query/vertex.d.ts +8 -8
  21. package/dist/api/core/geom/update/contour.d.ts +14 -14
  22. package/dist/api/core/geom/update/curve.d.ts +7 -7
  23. package/dist/api/core/geom/update/profile.d.ts +16 -16
  24. package/dist/api/core/handles/index.d.ts +210 -0
  25. package/dist/api/core/handles/index.d.ts.map +1 -0
  26. package/dist/api/core/index.d.ts +15 -0
  27. package/dist/api/core/index.d.ts.map +1 -1
  28. package/dist/api/core/io/export/index.d.ts +132 -0
  29. package/dist/api/core/io/export/index.d.ts.map +1 -0
  30. package/dist/api/core/io/import/index.d.ts +1 -1
  31. package/dist/api/core/io/index.d.ts +5 -0
  32. package/dist/api/core/io/index.d.ts.map +1 -1
  33. package/dist/api/core/layers.d.ts +7 -7
  34. package/dist/api/core/proposals/index.d.ts +65 -9
  35. package/dist/api/core/proposals/index.d.ts.map +1 -1
  36. package/dist/api/core/user.d.ts +44 -0
  37. package/dist/api/core/user.d.ts.map +1 -0
  38. package/dist/api/design/boolean/index.d.ts +4 -4
  39. package/dist/api/design/create/index.d.ts +139 -44
  40. package/dist/api/design/create/index.d.ts.map +1 -1
  41. package/dist/api/design/doors/index.d.ts +36 -0
  42. package/dist/api/design/doors/index.d.ts.map +1 -1
  43. package/dist/api/design/edit/index.d.ts +1 -1
  44. package/dist/api/design/erase/index.d.ts +2 -2
  45. package/dist/api/design/furniture/index.d.ts +114 -3
  46. package/dist/api/design/furniture/index.d.ts.map +1 -1
  47. package/dist/api/design/index.d.ts +10 -0
  48. package/dist/api/design/index.d.ts.map +1 -1
  49. package/dist/api/design/materials/index.d.ts +111 -14
  50. package/dist/api/design/materials/index.d.ts.map +1 -1
  51. package/dist/api/design/query/index.d.ts +31 -1
  52. package/dist/api/design/query/index.d.ts.map +1 -1
  53. package/dist/api/design/query/spaces.d.ts +5 -5
  54. package/dist/api/design/transform/index.d.ts +83 -14
  55. package/dist/api/design/transform/index.d.ts.map +1 -1
  56. package/dist/api/design/types/index.d.ts +181 -0
  57. package/dist/api/design/types/index.d.ts.map +1 -0
  58. package/dist/api/design/update/index.d.ts +335 -2
  59. package/dist/api/design/update/index.d.ts.map +1 -1
  60. package/dist/api/design/visibility.d.ts +98 -0
  61. package/dist/api/design/visibility.d.ts.map +1 -0
  62. package/dist/api/entity/referenceLine.d.ts +2 -2
  63. package/dist/api/entity/space.d.ts +19 -19
  64. package/dist/api/entity/story.d.ts +128 -15
  65. package/dist/api/entity/story.d.ts.map +1 -1
  66. package/dist/api/presentation/annotate.d.ts +448 -0
  67. package/dist/api/presentation/annotate.d.ts.map +1 -0
  68. package/dist/api/presentation/diagrams.d.ts +49 -8
  69. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  70. package/dist/api/presentation/export.d.ts +104 -0
  71. package/dist/api/presentation/export.d.ts.map +1 -0
  72. package/dist/api/presentation/index.d.ts +38 -0
  73. package/dist/api/presentation/index.d.ts.map +1 -1
  74. package/dist/api/presentation/sheets.d.ts +410 -13
  75. package/dist/api/presentation/sheets.d.ts.map +1 -1
  76. package/dist/api/presentation/views.d.ts +165 -10
  77. package/dist/api/presentation/views.d.ts.map +1 -1
  78. package/dist/api/program/areas.d.ts +63 -3
  79. package/dist/api/program/areas.d.ts.map +1 -1
  80. package/dist/api/program/cores.d.ts +3 -99
  81. package/dist/api/program/cores.d.ts.map +1 -1
  82. package/dist/api/program/index.d.ts +2 -2
  83. package/dist/api/program/index.d.ts.map +1 -1
  84. package/dist/api/program/layout.d.ts +172 -12
  85. package/dist/api/program/layout.d.ts.map +1 -1
  86. package/dist/api/program/site.d.ts +11 -8
  87. package/dist/api/program/site.d.ts.map +1 -1
  88. package/dist/api/program/spreadsheet.d.ts +105 -13
  89. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  90. package/dist/handles.d.ts +64 -25
  91. package/dist/handles.d.ts.map +1 -1
  92. package/dist/index.cjs +2316 -1644
  93. package/dist/index.cjs.map +1 -1
  94. package/dist/index.js +2224 -1639
  95. package/dist/index.js.map +1 -1
  96. package/package.json +1 -1
  97. package/src/api/core/camera/index.ts +212 -0
  98. package/src/api/core/comment/index.ts +120 -2
  99. package/src/api/core/geom/delete/index.ts +6 -0
  100. package/src/api/core/handles/index.ts +233 -0
  101. package/src/api/core/index.ts +15 -0
  102. package/src/api/core/io/export/index.ts +124 -0
  103. package/src/api/core/io/index.ts +5 -0
  104. package/src/api/core/proposals/index.ts +71 -11
  105. package/src/api/core/user.ts +46 -0
  106. package/src/api/design/create/index.ts +166 -36
  107. package/src/api/design/doors/index.ts +40 -0
  108. package/src/api/design/furniture/index.ts +127 -3
  109. package/src/api/design/index.ts +10 -0
  110. package/src/api/design/materials/index.ts +157 -30
  111. package/src/api/design/query/index.ts +33 -7
  112. package/src/api/design/transform/index.ts +89 -12
  113. package/src/api/design/types/index.ts +156 -0
  114. package/src/api/design/update/index.ts +402 -6
  115. package/src/api/design/visibility.ts +109 -0
  116. package/src/api/entity/story.ts +141 -15
  117. package/src/api/presentation/annotate.ts +360 -0
  118. package/src/api/presentation/diagrams.ts +53 -8
  119. package/src/api/presentation/export.ts +104 -0
  120. package/src/api/presentation/index.ts +46 -0
  121. package/src/api/presentation/sheets.ts +346 -13
  122. package/src/api/presentation/views.ts +164 -12
  123. package/src/api/program/areas.ts +57 -6
  124. package/src/api/program/cores.ts +3 -91
  125. package/src/api/program/index.ts +2 -2
  126. package/src/api/program/layout.ts +182 -12
  127. package/src/api/program/site.ts +11 -8
  128. package/src/api/program/spreadsheet.ts +125 -29
  129. package/src/handles.ts +77 -13
  130. package/tsconfig.json +7 -2
@@ -18,10 +18,21 @@ import { PluginApiReturn } from "../../types";
18
18
  * longer `"running"` — a run can take up to 20 minutes.
19
19
  * 3. {@linkcode PluginProgramLayoutApi.cancel} aborts an in-flight run.
20
20
  *
21
- * `arrange` produces several candidate layouts and **auto-commits the first
22
- * solution** as one undoable edit (there is no interactive solution-review
23
- * over the plugin boundary); `pack` re-shapes and applies its single result
24
- * directly. Both are **Pro-plan-gated**, matching the product UI.
21
+ * `arrange` produces several candidate layouts. By default it **auto-commits
22
+ * the first solution** as one undoable edit; pass `autoCommit: false` to hold
23
+ * the candidates for review instead `getState` then reports
24
+ * `status: "pendingReview"` with `totalSolutions`, and
25
+ * {@linkcode PluginProgramLayoutApi.applySolution} commits the one you pick
26
+ * (the headless counterpart of the product's "Solution N of M → Apply" bar).
27
+ * `pack` re-shapes and applies its single result directly. Both are
28
+ * **Pro-plan-gated**, matching the product UI.
29
+ *
30
+ * {@linkcode PluginProgramLayoutApi.stack} is the **cross-storey** action —
31
+ * the product's *Pack in envelope* / auto-stack. It splits the building
32
+ * envelope by storey and packs each storey's departments into its slice as one
33
+ * undoable edit. Unlike `arrange` / `pack`, it is **not** the async-job model:
34
+ * it resolves inline when the whole multi-storey pack is done (no `getState`
35
+ * polling) and returns the storeys it had to skip. It is Pro-gated too.
25
36
  *
26
37
  * Accessed via `snaptrude.program.layout`.
27
38
  */
@@ -33,9 +44,16 @@ export declare abstract class PluginProgramLayoutApi {
33
44
  * Starts the backend job and **returns immediately** — poll
34
45
  * {@linkcode PluginProgramLayoutApi.getState} until `status` leaves
35
46
  * `"running"` (a run can take up to 20 minutes). The solver produces
36
- * several candidate layouts; this **auto-commits the first solution** as one
37
- * undoable edit (no interactive review over the plugin boundary). Starting a
38
- * run while one is in flight replaces it.
47
+ * several candidate layouts; by default this **auto-commits the first
48
+ * solution** as one undoable edit. Pass `autoCommit: false` to review them
49
+ * instead: the run finishes with `status: "pendingReview"` and
50
+ * `totalSolutions` in `getState`, and
51
+ * {@linkcode PluginProgramLayoutApi.applySolution} commits the candidate you
52
+ * pick ({@linkcode PluginProgramLayoutApi.cancel} discards them). An
53
+ * arrange **without an envelope** applies directly (there is nothing to
54
+ * review) regardless of `autoCommit`. Starting a run while one is in flight
55
+ * replaces it; while solutions are pending review, new runs are refused —
56
+ * apply or cancel first.
39
57
  *
40
58
  * With no `options`, operates on the eligible Room/Department masses on the
41
59
  * active storey and auto-detects the single buildable envelope there.
@@ -51,11 +69,14 @@ export declare abstract class PluginProgramLayoutApi {
51
69
  * @throws When a `spaceId` / `departmentId` / `envelopeId` does not resolve.
52
70
  * @throws When more than one envelope is on the active storey and none was
53
71
  * given (ambiguous).
72
+ * @throws When arrange solutions are pending review (apply or cancel them
73
+ * first).
54
74
  * @throws When plugin writes are disabled.
55
75
  *
56
76
  * @examplePrompt Arrange the rooms in the envelope
57
77
  * @examplePrompt Lay out the departments inside the building envelope
58
78
  * @examplePrompt Auto-arrange the program spaces
79
+ * @examplePrompt Arrange the rooms but let me pick the solution
59
80
  *
60
81
  * # Example
61
82
  * ```ts
@@ -93,6 +114,8 @@ export declare abstract class PluginProgramLayoutApi {
93
114
  * @throws When a `spaceId` / `departmentId` / `envelopeId` does not resolve.
94
115
  * @throws When more than one envelope is on the active storey and none was
95
116
  * given (ambiguous).
117
+ * @throws When arrange solutions are pending review (apply or cancel them
118
+ * first).
96
119
  * @throws When plugin writes are disabled.
97
120
  *
98
121
  * @examplePrompt Pack the rooms into the envelope
@@ -110,6 +133,88 @@ export declare abstract class PluginProgramLayoutApi {
110
133
  * ```
111
134
  */
112
135
  abstract pack(options?: PluginProgramLayoutRunArgs): PluginApiReturn<PluginProgramLayoutRunResult>;
136
+ /**
137
+ * Apply one of the pending arrange solutions.
138
+ *
139
+ * The headless counterpart of the product's **"Solution N of M → Apply"**
140
+ * review bar: after an {@linkcode PluginProgramLayoutApi.arrange} run
141
+ * started with `autoCommit: false` finishes with `status: "pendingReview"`,
142
+ * this commits the candidate at `index` (0-based,
143
+ * `0 ≤ index < totalSolutions` from
144
+ * {@linkcode PluginProgramLayoutApi.getState}) as **one undoable edit** and
145
+ * discards the other candidates. `getState` then reports
146
+ * `status: "active"`.
147
+ *
148
+ * @param index - 0-based index of the pending solution to apply.
149
+ * @returns A {@linkcode PluginProgramLayoutApplyResult} —
150
+ * `{ success: true }` when the solution was applied.
151
+ * @throws When no arrange solutions are pending review (no
152
+ * `arrange({ autoCommit: false })` run has finished, or its solutions were
153
+ * already applied / cancelled).
154
+ * @throws When `index` is out of range for the pending solutions.
155
+ * @throws When plugin writes are disabled.
156
+ *
157
+ * @examplePrompt Apply the second arrange solution
158
+ * @examplePrompt Pick layout solution 3 and commit it
159
+ * @examplePrompt Apply the arrange solution I chose
160
+ *
161
+ * # Example
162
+ * ```ts
163
+ * await snaptrude.program.layout.arrange({ autoCommit: false })
164
+ * let job = await snaptrude.program.layout.getState()
165
+ * while (job?.status === "running") {
166
+ * await new Promise((r) => setTimeout(r, 5000))
167
+ * job = await snaptrude.program.layout.getState()
168
+ * }
169
+ * if (job?.status === "pendingReview") {
170
+ * console.log(`${job.totalSolutions} candidate layouts`)
171
+ * await snaptrude.program.layout.applySolution(1) // commit the second one
172
+ * }
173
+ * ```
174
+ */
175
+ abstract applySolution(index: number): PluginApiReturn<PluginProgramLayoutApplyResult>;
176
+ /**
177
+ * Stack the program across **every storey** of the building — the product's
178
+ * *Pack in envelope* / auto-stack.
179
+ *
180
+ * Splits the building envelope massing into per-storey envelope slices, then
181
+ * packs each storey's departments into its slice, applying the whole
182
+ * multi-storey result as **one undoable edit**.
183
+ *
184
+ * Unlike {@linkcode PluginProgramLayoutApi.arrange} /
185
+ * {@linkcode PluginProgramLayoutApi.pack}, this **is not** the async-job
186
+ * model: `await` it and it resolves when the stack is done — there is no
187
+ * `getState` polling. It operates on the whole active model (no id / envelope
188
+ * arguments): it auto-discovers the departments and envelope on each storey.
189
+ *
190
+ * Storeys that have departments but **no envelope** are reported in
191
+ * `skippedStoreys` (nothing was packed there). A storey's departments must
192
+ * already be on that storey — `stack` does not move departments between
193
+ * floors, it lays out each floor's program into that floor's envelope.
194
+ *
195
+ * @returns A {@linkcode PluginProgramLayoutStackResult} — `success: true`
196
+ * with the (possibly empty) `skippedStoreys` when the stack was applied, or
197
+ * `success: false` with an `error` when the run failed (e.g. the adjacency
198
+ * service was unreachable).
199
+ * @throws When the project is not on a Pro plan.
200
+ * @throws When plugin writes are disabled.
201
+ * @throws When an `arrange` / `pack` run, or another `stack`, is already in
202
+ * flight, or arrange solutions are pending review (finish, apply, or
203
+ * `cancel` first).
204
+ *
205
+ * @examplePrompt Stack the program across all floors
206
+ * @examplePrompt Auto-stack the departments into the envelope on every storey
207
+ * @examplePrompt Pack the whole building's program into its envelope
208
+ *
209
+ * # Example
210
+ * ```ts
211
+ * const { success, skippedStoreys, error } = await snaptrude.program.layout.stack()
212
+ * if (!success) throw new Error(error)
213
+ * if (skippedStoreys.length)
214
+ * console.warn(`No envelope on storeys: ${skippedStoreys.join(", ")}`)
215
+ * ```
216
+ */
217
+ abstract stack(): PluginApiReturn<PluginProgramLayoutStackResult>;
113
218
  /**
114
219
  * Get the state of the layout run.
115
220
  *
@@ -122,6 +227,10 @@ export declare abstract class PluginProgramLayoutApi {
122
227
  * | `"running"` | A run is in flight — keep polling |
123
228
  * | `"active"` | The run finished and its layout is applied to the model |
124
229
  * | `"inactive"` | A run finished without applying a layout (the solver failed or found no solution) |
230
+ * | `"pendingReview"` | An `arrange({ autoCommit: false })` run finished and its candidates await {@linkcode PluginProgramLayoutApi.applySolution} / {@linkcode PluginProgramLayoutApi.cancel} |
231
+ *
232
+ * While `status` is `"pendingReview"` the state also carries
233
+ * `totalSolutions` — the number of candidate layouts to pick from.
125
234
  *
126
235
  * @returns A {@linkcode PluginProgramLayoutStateResult} with the run
127
236
  * `status`, or `null` when no run result is available (never ran or was
@@ -141,11 +250,13 @@ export declare abstract class PluginProgramLayoutApi {
141
250
  /**
142
251
  * Cancel the in-flight layout run.
143
252
  *
144
- * Aborts the backend job and discards any pending solution. A no-op
145
- * (returns `false`) when nothing is running.
253
+ * Aborts the backend job and discards any pending solution. Also discards
254
+ * a finished run's **pending-review** solutions (after
255
+ * `arrange({ autoCommit: false })`) without applying one. A no-op (returns
256
+ * `false`) when nothing is running and nothing is pending.
146
257
  *
147
- * @returns `true` when a run was cancelled, `false` when nothing was
148
- * running.
258
+ * @returns `true` when a run was cancelled or pending solutions were
259
+ * discarded, `false` when there was nothing to cancel.
149
260
  * @throws When plugin writes are disabled.
150
261
  *
151
262
  * @examplePrompt Cancel the arrange
@@ -170,11 +281,13 @@ export declare abstract class PluginProgramLayoutApi {
170
281
  * | `spaceIds` | `string[] \| undefined` | Component ids of the Room masses to lay out |
171
282
  * | `departmentIds` | `string[] \| undefined` | Component ids of the Department masses to lay out |
172
283
  * | `envelopeId` | `string \| undefined` | The envelope to fit into — a mass component id or a buildable-envelope handle (`be_…`); omit to auto-detect the single envelope on the active storey |
284
+ * | `autoCommit` | `boolean \| undefined` | `arrange` only — `true` / omitted (default) auto-commits the first candidate solution; `false` holds the candidates for review via {@linkcode PluginProgramLayoutApi.applySolution}. Ignored by `pack` (it applies its single result directly) |
173
285
  */
174
286
  export declare const PluginProgramLayoutRunArgs: z.ZodObject<{
175
287
  spaceIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
176
288
  departmentIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
177
289
  envelopeId: z.ZodOptional<z.ZodString>;
290
+ autoCommit: z.ZodOptional<z.ZodBoolean>;
178
291
  }, z.core.$strip>;
179
292
  export type PluginProgramLayoutRunArgs = z.infer<typeof PluginProgramLayoutRunArgs>;
180
293
  /**
@@ -201,11 +314,13 @@ export type PluginProgramLayoutRunResult = z.infer<typeof PluginProgramLayoutRun
201
314
  * | `"running"` | A run is in flight — keep polling |
202
315
  * | `"active"` | The run finished and its layout is applied to the model |
203
316
  * | `"inactive"` | A run finished without applying a layout (the solver failed or found no solution) |
317
+ * | `"pendingReview"` | An `arrange({ autoCommit: false })` run finished and its candidate solutions await {@linkcode PluginProgramLayoutApi.applySolution} / {@linkcode PluginProgramLayoutApi.cancel} |
204
318
  */
205
319
  export declare const PluginProgramLayoutJobStatus: z.ZodEnum<{
206
320
  running: "running";
207
321
  active: "active";
208
322
  inactive: "inactive";
323
+ pendingReview: "pendingReview";
209
324
  }>;
210
325
  export type PluginProgramLayoutJobStatus = z.infer<typeof PluginProgramLayoutJobStatus>;
211
326
  /**
@@ -213,14 +328,17 @@ export type PluginProgramLayoutJobStatus = z.infer<typeof PluginProgramLayoutJob
213
328
  *
214
329
  * | Property | Type | Description |
215
330
  * |---|---|---|
216
- * | `status` | {@linkcode PluginProgramLayoutJobStatus} | `"running"` \| `"active"` \| `"inactive"` |
331
+ * | `status` | {@linkcode PluginProgramLayoutJobStatus} | `"running"` \| `"active"` \| `"inactive"` \| `"pendingReview"` |
332
+ * | `totalSolutions` | `number \| undefined` | Number of candidate solutions awaiting review — present only while `status` is `"pendingReview"` |
217
333
  */
218
334
  export declare const PluginProgramLayoutJobState: z.ZodObject<{
219
335
  status: z.ZodEnum<{
220
336
  running: "running";
221
337
  active: "active";
222
338
  inactive: "inactive";
339
+ pendingReview: "pendingReview";
223
340
  }>;
341
+ totalSolutions: z.ZodOptional<z.ZodNumber>;
224
342
  }, z.core.$strip>;
225
343
  export type PluginProgramLayoutJobState = z.infer<typeof PluginProgramLayoutJobState>;
226
344
  /**
@@ -232,7 +350,49 @@ export declare const PluginProgramLayoutStateResult: z.ZodNullable<z.ZodObject<{
232
350
  running: "running";
233
351
  active: "active";
234
352
  inactive: "inactive";
353
+ pendingReview: "pendingReview";
235
354
  }>;
355
+ totalSolutions: z.ZodOptional<z.ZodNumber>;
236
356
  }, z.core.$strip>>;
237
357
  export type PluginProgramLayoutStateResult = z.infer<typeof PluginProgramLayoutStateResult>;
358
+ /**
359
+ * Arguments for {@linkcode PluginProgramLayoutApi.applySolution}.
360
+ *
361
+ * | Property | Type | Description |
362
+ * |---|---|---|
363
+ * | `index` | `number` | 0-based index of the pending solution to apply (`0 ≤ index < totalSolutions`) |
364
+ */
365
+ export declare const PluginProgramLayoutApplySolutionArgs: z.ZodObject<{
366
+ index: z.ZodNumber;
367
+ }, z.core.$strip>;
368
+ export type PluginProgramLayoutApplySolutionArgs = z.infer<typeof PluginProgramLayoutApplySolutionArgs>;
369
+ /**
370
+ * Result of {@linkcode PluginProgramLayoutApi.applySolution}.
371
+ *
372
+ * | Property | Type | Description |
373
+ * |---|---|---|
374
+ * | `success` | `boolean` | Whether the chosen solution was applied |
375
+ * | `error` | `string \| undefined` | Failure reason when `success` is `false` |
376
+ */
377
+ export declare const PluginProgramLayoutApplyResult: z.ZodObject<{
378
+ success: z.ZodBoolean;
379
+ error: z.ZodOptional<z.ZodString>;
380
+ }, z.core.$strip>;
381
+ export type PluginProgramLayoutApplyResult = z.infer<typeof PluginProgramLayoutApplyResult>;
382
+ /**
383
+ * Result of {@linkcode PluginProgramLayoutApi.stack} — reports whether the
384
+ * cross-storey stack was applied and which storeys were skipped.
385
+ *
386
+ * | Property | Type | Description |
387
+ * |---|---|---|
388
+ * | `success` | `boolean` | Whether the stack was applied |
389
+ * | `skippedStoreys` | `number[]` | Storey values that had departments but no envelope, so nothing was packed there |
390
+ * | `error` | `string \| undefined` | Failure reason when `success` is `false` |
391
+ */
392
+ export declare const PluginProgramLayoutStackResult: z.ZodObject<{
393
+ success: z.ZodBoolean;
394
+ skippedStoreys: z.ZodArray<z.ZodNumber>;
395
+ error: z.ZodOptional<z.ZodString>;
396
+ }, z.core.$strip>;
397
+ export type PluginProgramLayoutStackResult = z.infer<typeof PluginProgramLayoutStackResult>;
238
398
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/api/program/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,OAAO,CACrB,OAAO,CAAC,EAAE,0BAA0B,GACnC,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;aACa,IAAI,CAClB,OAAO,CAAC,EAAE,0BAA0B,GACnC,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,QAAQ,IAAI,eAAe,CAAC,8BAA8B,CAAC;IAE3E;;;;;;;;;;;;;;;;;;OAkBG;aACa,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC;CACnD;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B;;;;EAIvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B;;;;;;iBAEtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;kBACH,CAAA;AACxC,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../../src/api/program/layout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmDG;aACa,OAAO,CACrB,OAAO,CAAC,EAAE,0BAA0B,GACnC,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;aACa,IAAI,CAClB,OAAO,CAAC,EAAE,0BAA0B,GACnC,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;aACa,aAAa,CAC3B,KAAK,EAAE,MAAM,GACZ,eAAe,CAAC,8BAA8B,CAAC;IAElD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAwCG;aACa,KAAK,IAAI,eAAe,CAAC,8BAA8B,CAAC;IAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;aACa,QAAQ,IAAI,eAAe,CAAC,8BAA8B,CAAC;IAE3E;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,MAAM,IAAI,eAAe,CAAC,OAAO,CAAC;CACnD;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAKrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B;;;iBAGvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B;;;;;EAKvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;iBAGtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;kBACH,CAAA;AACxC,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC;;iBAE/C,CAAA;AACF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B;;;iBAGzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,8BAA8B;;;;iBAIzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA"}
@@ -4,8 +4,9 @@ import { PluginApiReturn } from "../../types";
4
4
  * Program site — read the planning context of the project's site/plot.
5
5
  *
6
6
  * The **site** is the set of plot/parcel footprints the program is planned
7
- * against: their total area, per-parcel footprints (in scene XZ coordinates),
8
- * andwhen the project is geo-located on terrain their geographic
7
+ * against: their total area, per-parcel footprints (world XZ plan coordinates
8
+ * in Snaptrude units — the same plan space as a space's `planPoints`), and —
9
+ * when the project is geo-located on terrain — their geographic
9
10
  * (latitude/longitude) rings. This is the program-planning view of the site;
10
11
  * zoning numbers (setbacks, FAR/FSI, height limits) live in the site-analysis
11
12
  * sheet and are not read here.
@@ -59,7 +60,8 @@ export declare abstract class PluginProgramSiteApi {
59
60
  */
60
61
  abstract getArea(): PluginApiReturn<PluginProgramSiteAreaResult>;
61
62
  /**
62
- * List the site parcels with their footprints (in scene coordinates).
63
+ * List the site parcels with their footprints (world XZ plan coordinates,
64
+ * Snaptrude units).
63
65
  *
64
66
  * @returns A {@linkcode PluginProgramSiteListPolygonsResult} with each parcel's
65
67
  * id, area, label, and 2D footprint (XZ ground-plane points). Empty when the
@@ -82,7 +84,7 @@ export declare abstract class PluginProgramSiteApi {
82
84
  *
83
85
  * Only available when the project is geo-located on terrain; returns `[]` (no
84
86
  * rings) otherwise. Use {@linkcode PluginProgramSiteApi.listPolygons} for the
85
- * scene-coordinate footprints that are always available.
87
+ * world-coordinate footprints that are always available.
86
88
  *
87
89
  * @returns A {@linkcode PluginProgramSiteListGeoPolygonsResult} with one ring
88
90
  * of `{ lat, lng, alt }` points per parcel.
@@ -177,13 +179,14 @@ export declare abstract class PluginProgramSiteApi {
177
179
  abstract getNorthAngle(): PluginApiReturn<PluginProgramSiteNorthAngleResult>;
178
180
  }
179
181
  /**
180
- * A 2D ground-plane point of a site parcel footprint, in scene coordinates
181
- * (metres on the project's XZ plane).
182
+ * A 2D ground-plane point of a site parcel footprint, in world XZ plan
183
+ * coordinates (Snaptrude units) the same plan space as a space's
184
+ * `planPoints`, so site parcels overlay space footprints directly.
182
185
  *
183
186
  * | Property | Type | Description |
184
187
  * |---|---|---|
185
- * | `x` | `number` | X coordinate (scene metres) |
186
- * | `z` | `number` | Z coordinate (scene metres) |
188
+ * | `x` | `number` | X coordinate (world, Snaptrude units) |
189
+ * | `z` | `number` | Z coordinate (world, Snaptrude units) |
187
190
  */
188
191
  export declare const PluginSiteFootprintPoint: z.ZodObject<{
189
192
  x: z.ZodNumber;
@@ -1 +1 @@
1
- {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/api/program/site.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C;;;;;;;;;;;;;;;GAeG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;;;;;;;;;;;;;;;OAkBG;aACa,GAAG,IAAI,eAAe,CAAC,yBAAyB,CAAC;IAEjE;;;;;;;;;;;;;;;;;;OAkBG;aACa,OAAO,IAAI,eAAe,CAAC,2BAA2B,CAAC;IAEvE;;;;;;;;;;;;;;;;;OAiBG;aACa,YAAY,IAAI,eAAe,CAAC,mCAAmC,CAAC;IAEpF;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,eAAe,IAAI,eAAe,CAAC,sCAAsC,CAAC;IAE1F;;;;;;;;;;;;;;;;;;;OAmBG;aACa,UAAU,IAAI,eAAe,CAAC,8BAA8B,CAAC;IAE7E;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;aACa,WAAW,IAAI,eAAe,CAAC,+BAA+B,CAAC;IAE/E;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,aAAa,IAAI,eAAe,CAAC,iCAAiC,CAAC;CACpF;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB;;;;iBAI7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;iBAK5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBAKpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B;;;;;;iBAGtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;;;iBAG9C,CAAA;AACF,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,sCAAsC;;;;;;iBAEjD,CAAA;AACF,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAC1D,OAAO,sCAAsC,CAC9C,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;;;;;GASG;AACH,eAAO,MAAM,gBAAgB;;;;;iBAK3B,CAAA;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;;;;iBAGlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;iBAOnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;kBACN,CAAA;AACrC,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,yBAAyB;;;iBAGpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,+BAA+B;;;kBACN,CAAA;AACtC,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,+BAA+B,CACvC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,iCAAiC,4BAAwB,CAAA;AACtE,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA"}
1
+ {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/api/program/site.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,8 @@ import { PluginApiReturn } from "../../types";
21
21
  *
22
22
  * Plus dataset reads ({@linkcode PluginProgramSpreadsheetApi.getProgram} /
23
23
  * {@linkcode PluginProgramSpreadsheetApi.getTakeoff} — the data the render* methods
24
- * draw), sheet reads ({@linkcode PluginProgramSpreadsheetApi.listSheets} /
24
+ * draw and {@linkcode PluginProgramSpreadsheetApi.getMaterialTakeoff}, surface area
25
+ * per material), sheet reads ({@linkcode PluginProgramSpreadsheetApi.listSheets} /
25
26
  * {@linkcode PluginProgramSpreadsheetApi.getSheetData}), charts + emphasis
26
27
  * ({@linkcode PluginProgramSpreadsheetApi.addChart} /
27
28
  * {@linkcode PluginProgramSpreadsheetApi.highlightCells}), workbook file export
@@ -117,13 +118,15 @@ export declare abstract class PluginProgramSpreadsheetApi {
117
118
  * A specialization of the render* family: the **host pulls and projects the
118
119
  * current takeoff dataset itself** — the plugin supplies only the target
119
120
  * `sheetName`, an optional `title`, and an optional `filter`; there is **no
120
- * data argument**. Returns the same rendered-artifact record as
121
+ * data argument**. The `filter` is applied host-side to the projected rows
122
+ * before rendering. Returns the same rendered-artifact record as
121
123
  * {@linkcode PluginProgramSpreadsheetApi.render}.
122
124
  * _(Authored ahead — optional via the `spreadsheet?` mount until the host
123
125
  * round-trip is live.)_
124
126
  *
125
- * @param options - Optional `sheetName`, `title`, and `filter` (a
126
- * {@linkcode PluginProgramSpreadsheetRenderDatasetArgs}).
127
+ * @param options - Optional `sheetName`, `title`, and `filter` a
128
+ * case-insensitive substring kept when any of a row's cell values contains
129
+ * it (a {@linkcode PluginProgramSpreadsheetRenderDatasetArgs}).
127
130
  * @returns A {@linkcode PluginProgramSpreadsheetRenderResult} with the written
128
131
  * ranges and counts.
129
132
  * @throws If the takeoff cannot be rendered.
@@ -149,13 +152,15 @@ export declare abstract class PluginProgramSpreadsheetApi {
149
152
  * A specialization of the render* family: the **host pulls and projects the
150
153
  * current program dataset itself** (departments with area targets vs allocated)
151
154
  * — the plugin supplies only the target `sheetName`, an optional `title`, and an
152
- * optional `filter`; there is **no data argument**. Returns the same
155
+ * optional `filter`; there is **no data argument**. The `filter` is applied
156
+ * host-side to the projected rows before rendering. Returns the same
153
157
  * rendered-artifact record as {@linkcode PluginProgramSpreadsheetApi.render}.
154
158
  * _(Authored ahead — optional via the `spreadsheet?` mount until the host
155
159
  * round-trip is live.)_
156
160
  *
157
- * @param options - Optional `sheetName`, `title`, and `filter` (a
158
- * {@linkcode PluginProgramSpreadsheetRenderDatasetArgs}).
161
+ * @param options - Optional `sheetName`, `title`, and `filter` a
162
+ * case-insensitive substring kept when any of a row's cell values contains
163
+ * it (a {@linkcode PluginProgramSpreadsheetRenderDatasetArgs}).
159
164
  * @returns A {@linkcode PluginProgramSpreadsheetRenderResult} with the written
160
165
  * ranges and counts.
161
166
  * @throws If the program cannot be rendered.
@@ -176,15 +181,20 @@ export declare abstract class PluginProgramSpreadsheetApi {
176
181
  filter?: string;
177
182
  }): PluginApiReturn<PluginProgramSpreadsheetRenderResult>;
178
183
  /**
179
- * Export the whole report workbook to a file (xlsx, pdf, or csv).
184
+ * Export the report workbook to a file (xlsx, pdf, or csv).
180
185
  *
181
186
  * Returns the file content as base64 so the plugin can download, upload, or
182
187
  * attach it. This is the workbook **file** export; to read cell **values** back
183
188
  * as data, use {@linkcode PluginProgramSpreadsheetApi.getSheetData} instead.
184
189
  *
185
- * @param format - The file format to export the workbook to.
186
- * @param options - Optional `fileName` (without extension); a default is used
187
- * when omitted.
190
+ * `xlsx` and `pdf` export the **whole** workbook. `csv` is inherently
191
+ * single-sheet: it serializes one sheet's used range pass `options.sheetName`
192
+ * to choose which sheet, or omit it to serialize the active sheet.
193
+ *
194
+ * @param format - The file format to export to.
195
+ * @param options - Optional `fileName` (without extension; a default is used
196
+ * when omitted) and `sheetName` — the sheet to serialize for `csv`
197
+ * (ignored by `xlsx`/`pdf`, which always export the whole workbook).
188
198
  * @returns A {@linkcode PluginProgramSpreadsheetExportResult} with the file's
189
199
  * `fileName`, `mimeType`, and base64 `dataBase64`.
190
200
  * @throws If the workbook cannot be serialized to the requested format.
@@ -193,15 +203,20 @@ export declare abstract class PluginProgramSpreadsheetApi {
193
203
  * @examplePrompt Download the whole workbook as a PDF
194
204
  * @examplePrompt Export the program workbook to xlsx
195
205
  * @examplePrompt Save the report as a csv file
206
+ * @examplePrompt Export the Takeoff sheet as CSV
196
207
  *
197
208
  * # Example
198
209
  * ```ts
199
210
  * const file = await snaptrude.program.spreadsheet.export("xlsx")
200
211
  * // file.fileName, file.mimeType, file.dataBase64
212
+ *
213
+ * // CSV of a specific sheet:
214
+ * const csv = await snaptrude.program.spreadsheet.export("csv", { sheetName: "Takeoff" })
201
215
  * ```
202
216
  */
203
217
  abstract export(format: PluginSpreadsheetExportFormat, options?: {
204
218
  fileName?: string;
219
+ sheetName?: string;
205
220
  }): PluginApiReturn<PluginProgramSpreadsheetExportResult>;
206
221
  /**
207
222
  * List the sheets in the report workbook.
@@ -359,6 +374,37 @@ export declare abstract class PluginProgramSpreadsheetApi {
359
374
  * ```
360
375
  */
361
376
  abstract getTakeoff(): PluginApiReturn<PluginProgramSpreadsheetGetTakeoffResult>;
377
+ /**
378
+ * Read the material take-off dataset (surface area per material, per element type).
379
+ *
380
+ * The native "Material Take-Off" quantities — the same figures the BIM Take-Off's
381
+ * *Material Take-Off* sheet lists — as render-ready rows: for each material applied
382
+ * to a wall/floor/ceiling/slab/roof family, its rolled-up **surface area** in the
383
+ * project's display units. This is the material-centric complement to
384
+ * {@linkcode PluginProgramSpreadsheetApi.getTakeoff} (which rolls up by element
385
+ * family). A read only — nothing is written and no file is downloaded.
386
+ *
387
+ * When no materials are applied (or the model is empty) the result is simply an
388
+ * empty `rows` array — not an error.
389
+ *
390
+ * @returns A {@linkcode PluginProgramSpreadsheetGetMaterialTakeoffResult} with the
391
+ * material take-off `rows`, a `rowCount`, and the `generatedAt` timestamp.
392
+ *
393
+ * @examplePrompt Get the material take-off
394
+ * @examplePrompt How much of each material is used?
395
+ * @examplePrompt Read the surface area by material
396
+ * @examplePrompt Give me the material quantities before I render them
397
+ * @examplePrompt What's in the material take-off right now?
398
+ *
399
+ * # Example
400
+ * ```ts
401
+ * const mto = await snaptrude.program.spreadsheet.getMaterialTakeoff()
402
+ * for (const row of mto.rows) {
403
+ * console.log(row.objectType, row.family, row.material, row.quantity, row.unit)
404
+ * }
405
+ * ```
406
+ */
407
+ abstract getMaterialTakeoff(): PluginApiReturn<PluginProgramSpreadsheetGetMaterialTakeoffResult>;
362
408
  /**
363
409
  * Create (or reuse/replace) a named sheet in the report workbook.
364
410
  *
@@ -916,7 +962,7 @@ export type PluginProgramSpreadsheetRenderResult = z.infer<typeof PluginProgramS
916
962
  * |---|---|---|
917
963
  * | `sheetName` | `string?` | Target sheet name (a default is used when omitted) |
918
964
  * | `title` | `string?` | Optional title rendered above the table |
919
- * | `filter` | `string?` | Optional dataset-filter expression to narrow the rows |
965
+ * | `filter` | `string?` | Case-insensitive substring a row is kept when any of its cell values contains it (blank/omitted keeps every row). Not a query language. |
920
966
  */
921
967
  export declare const PluginProgramSpreadsheetRenderDatasetArgs: z.ZodObject<{
922
968
  sheetName: z.ZodOptional<z.ZodString>;
@@ -936,8 +982,9 @@ export type PluginSpreadsheetExportFormat = z.infer<typeof PluginSpreadsheetExpo
936
982
  *
937
983
  * | Property | Type | Description |
938
984
  * |---|---|---|
939
- * | `format` | `"xlsx" \| "pdf" \| "csv"` | The file format to export the workbook to |
985
+ * | `format` | `"xlsx" \| "pdf" \| "csv"` | The file format to export to |
940
986
  * | `fileName` | `string?` | Desired file name (without extension); a default is used when omitted |
987
+ * | `sheetName` | `string?` | For `csv`: the sheet to serialize (the active sheet when omitted). Ignored by `xlsx`/`pdf`. |
941
988
  */
942
989
  export declare const PluginProgramSpreadsheetExportArgs: z.ZodObject<{
943
990
  format: z.ZodEnum<{
@@ -946,6 +993,7 @@ export declare const PluginProgramSpreadsheetExportArgs: z.ZodObject<{
946
993
  csv: "csv";
947
994
  }>;
948
995
  fileName: z.ZodOptional<z.ZodString>;
996
+ sheetName: z.ZodOptional<z.ZodString>;
949
997
  }, z.core.$strip>;
950
998
  export type PluginProgramSpreadsheetExportArgs = z.infer<typeof PluginProgramSpreadsheetExportArgs>;
951
999
  /**
@@ -1218,6 +1266,50 @@ export declare const PluginProgramSpreadsheetGetTakeoffResult: z.ZodObject<{
1218
1266
  generatedAt: z.ZodString;
1219
1267
  }, z.core.$strip>;
1220
1268
  export type PluginProgramSpreadsheetGetTakeoffResult = z.infer<typeof PluginProgramSpreadsheetGetTakeoffResult>;
1269
+ /**
1270
+ * One row in the material take-off dataset. The take-off is grouped by element
1271
+ * object type + family + applied material, so each row is a rolled-up surface
1272
+ * area for that material on that family.
1273
+ *
1274
+ * | Property | Type | Description |
1275
+ * |---|---|---|
1276
+ * | `objectType` | `string` | Element object type the material sits on (`"wall"`, `"floor"`, `"ceiling"`, `"slab"`, `"roof"`) |
1277
+ * | `family` | `string` | Element family the quantity is aggregated under |
1278
+ * | `material` | `string` | Applied material name |
1279
+ * | `quantity` | `number` | Rolled-up surface area in `unit` |
1280
+ * | `unit` | `string` | Area unit (e.g. `"sq.ft"` or `"sq.m"`) |
1281
+ */
1282
+ export declare const PluginSpreadsheetMaterialTakeoffRow: z.ZodObject<{
1283
+ objectType: z.ZodString;
1284
+ family: z.ZodString;
1285
+ material: z.ZodString;
1286
+ quantity: z.ZodNumber;
1287
+ unit: z.ZodString;
1288
+ }, z.core.$strip>;
1289
+ export type PluginSpreadsheetMaterialTakeoffRow = z.infer<typeof PluginSpreadsheetMaterialTakeoffRow>;
1290
+ /**
1291
+ * Result of {@linkcode PluginProgramSpreadsheetApi.getMaterialTakeoff} — the native
1292
+ * material take-off dataset (surface area per material). Empty when no materials are
1293
+ * applied.
1294
+ *
1295
+ * | Property | Type | Description |
1296
+ * |---|---|---|
1297
+ * | `rows` | {@linkcode PluginSpreadsheetMaterialTakeoffRow}`[]` | One row per object-type/family/material group |
1298
+ * | `rowCount` | `number` | Number of rows |
1299
+ * | `generatedAt` | `string` | ISO timestamp of when the dataset was read |
1300
+ */
1301
+ export declare const PluginProgramSpreadsheetGetMaterialTakeoffResult: z.ZodObject<{
1302
+ rows: z.ZodArray<z.ZodObject<{
1303
+ objectType: z.ZodString;
1304
+ family: z.ZodString;
1305
+ material: z.ZodString;
1306
+ quantity: z.ZodNumber;
1307
+ unit: z.ZodString;
1308
+ }, z.core.$strip>>;
1309
+ rowCount: z.ZodNumber;
1310
+ generatedAt: z.ZodString;
1311
+ }, z.core.$strip>;
1312
+ export type PluginProgramSpreadsheetGetMaterialTakeoffResult = z.infer<typeof PluginProgramSpreadsheetGetMaterialTakeoffResult>;
1221
1313
  /** Behaviour when {@linkcode PluginProgramSpreadsheetApi.createSheet} targets an existing sheet name. */
1222
1314
  export declare const PluginSpreadsheetWhenExists: z.ZodEnum<{
1223
1315
  error: "error";
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheet.d.ts","sourceRoot":"","sources":["../../../src/api/program/spreadsheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spreadsheet.d.ts","sourceRoot":"","sources":["../../../src/api/program/spreadsheet.ts"],"names":[],"mappings":"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"}