@snaptrude/plugin-core 0.8.0 → 0.9.1
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.
- package/CHANGELOG.md +35 -1
- package/api-manifest.full.json +1350 -89
- package/api-manifest.json +1146 -48
- package/dist/api/analysis/daylight.d.ts +603 -0
- package/dist/api/analysis/daylight.d.ts.map +1 -0
- package/dist/api/analysis/heatmaps.d.ts +438 -14
- package/dist/api/analysis/heatmaps.d.ts.map +1 -1
- package/dist/api/analysis/index.d.ts +15 -0
- package/dist/api/analysis/index.d.ts.map +1 -1
- package/dist/api/analysis/solar.d.ts +249 -0
- package/dist/api/analysis/solar.d.ts.map +1 -0
- package/dist/api/analysis/weather.d.ts +193 -0
- package/dist/api/analysis/weather.d.ts.map +1 -0
- package/dist/api/core/camera/index.d.ts +37 -0
- package/dist/api/core/camera/index.d.ts.map +1 -1
- package/dist/api/core/geom/create/index.d.ts +318 -1
- package/dist/api/core/geom/create/index.d.ts.map +1 -1
- package/dist/api/core/index.d.ts +9 -0
- package/dist/api/core/index.d.ts.map +1 -1
- package/dist/api/core/io/export/index.d.ts +3 -1
- package/dist/api/core/io/export/index.d.ts.map +1 -1
- package/dist/api/core/io/import/index.d.ts +61 -0
- package/dist/api/core/io/import/index.d.ts.map +1 -1
- package/dist/api/core/io/terrain/index.d.ts +132 -0
- package/dist/api/core/io/terrain/index.d.ts.map +1 -1
- package/dist/api/core/mode/index.d.ts +99 -0
- package/dist/api/core/mode/index.d.ts.map +1 -0
- package/dist/api/core/storeys/index.d.ts +251 -0
- package/dist/api/core/storeys/index.d.ts.map +1 -0
- package/dist/api/core/tags.d.ts +24 -0
- package/dist/api/core/tags.d.ts.map +1 -1
- package/dist/api/core/zoom/index.d.ts +4 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -1
- package/dist/api/design/create/index.d.ts +115 -4
- package/dist/api/design/create/index.d.ts.map +1 -1
- package/dist/api/design/delete/index.d.ts +3 -0
- package/dist/api/design/delete/index.d.ts.map +1 -1
- package/dist/api/design/query/geometry/index.d.ts +112 -0
- package/dist/api/design/query/geometry/index.d.ts.map +1 -1
- package/dist/api/design/query/index.d.ts +4 -0
- package/dist/api/design/query/index.d.ts.map +1 -1
- package/dist/api/design/query/referenceLines.d.ts +45 -0
- package/dist/api/design/query/referenceLines.d.ts.map +1 -0
- package/dist/api/design/query/spaces.d.ts +173 -0
- package/dist/api/design/query/spaces.d.ts.map +1 -1
- package/dist/api/design/transform/index.d.ts +12 -0
- package/dist/api/design/transform/index.d.ts.map +1 -1
- package/dist/api/design/update/index.d.ts +51 -1
- package/dist/api/design/update/index.d.ts.map +1 -1
- package/dist/api/entity/buildableEnvelope.d.ts +4 -0
- package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
- package/dist/api/entity/referenceLine.d.ts +8 -0
- package/dist/api/entity/referenceLine.d.ts.map +1 -1
- package/dist/api/entity/story.d.ts +20 -0
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/annotate.d.ts +23 -4
- package/dist/api/presentation/annotate.d.ts.map +1 -1
- package/dist/api/presentation/diagrams.d.ts +64 -2
- package/dist/api/presentation/diagrams.d.ts.map +1 -1
- package/dist/api/presentation/export.d.ts +4 -0
- package/dist/api/presentation/export.d.ts.map +1 -1
- package/dist/api/presentation/import.d.ts +6 -0
- package/dist/api/presentation/import.d.ts.map +1 -1
- package/dist/api/presentation/index.d.ts +20 -1
- package/dist/api/presentation/index.d.ts.map +1 -1
- package/dist/api/presentation/placedViews.d.ts +1139 -0
- package/dist/api/presentation/placedViews.d.ts.map +1 -0
- package/dist/api/presentation/shapes.d.ts +481 -0
- package/dist/api/presentation/shapes.d.ts.map +1 -0
- package/dist/api/presentation/sheets.d.ts +42 -0
- package/dist/api/presentation/sheets.d.ts.map +1 -1
- package/dist/api/presentation/slideshow.d.ts +125 -0
- package/dist/api/presentation/slideshow.d.ts.map +1 -0
- package/dist/api/presentation/tables.d.ts +81 -0
- package/dist/api/presentation/tables.d.ts.map +1 -0
- package/dist/api/program/site.d.ts +260 -2
- package/dist/api/program/site.d.ts.map +1 -1
- package/dist/api/program/spreadsheet.d.ts +260 -28
- package/dist/api/program/spreadsheet.d.ts.map +1 -1
- package/dist/api/workspace/index.d.ts +505 -0
- package/dist/api/workspace/index.d.ts.map +1 -0
- package/dist/index.cjs +2904 -1761
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2762 -1761
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/scripts/generate-manifest.mjs +45 -0
- package/src/api/analysis/daylight.ts +470 -0
- package/src/api/analysis/heatmaps.ts +444 -17
- package/src/api/analysis/index.ts +15 -0
- package/src/api/analysis/solar.ts +237 -0
- package/src/api/analysis/weather.ts +179 -0
- package/src/api/core/camera/index.ts +39 -0
- package/src/api/core/geom/create/index.ts +344 -1
- package/src/api/core/index.ts +9 -0
- package/src/api/core/io/export/index.ts +3 -1
- package/src/api/core/io/import/index.ts +64 -0
- package/src/api/core/io/terrain/index.ts +143 -0
- package/src/api/core/mode/index.ts +96 -0
- package/src/api/core/storeys/index.ts +279 -0
- package/src/api/core/tags.ts +27 -0
- package/src/api/core/zoom/index.ts +4 -0
- package/src/api/design/create/index.ts +138 -1
- package/src/api/design/delete/index.ts +3 -0
- package/src/api/design/query/geometry/index.ts +125 -3
- package/src/api/design/query/index.ts +4 -0
- package/src/api/design/query/referenceLines.ts +52 -0
- package/src/api/design/query/spaces.ts +143 -0
- package/src/api/design/transform/index.ts +12 -0
- package/src/api/design/update/index.ts +66 -1
- package/src/api/entity/buildableEnvelope.ts +4 -0
- package/src/api/entity/referenceLine.ts +8 -0
- package/src/api/entity/story.ts +20 -0
- package/src/api/index.ts +5 -0
- package/src/api/presentation/annotate.ts +27 -2
- package/src/api/presentation/diagrams.ts +67 -2
- package/src/api/presentation/export.ts +4 -0
- package/src/api/presentation/import.ts +6 -0
- package/src/api/presentation/index.ts +20 -1
- package/src/api/presentation/placedViews.ts +1120 -0
- package/src/api/presentation/shapes.ts +274 -0
- package/src/api/presentation/sheets.ts +54 -0
- package/src/api/presentation/slideshow.ts +134 -0
- package/src/api/presentation/tables.ts +84 -0
- package/src/api/program/site.ts +205 -2
- package/src/api/program/spreadsheet.ts +251 -6
- package/src/api/workspace/index.ts +563 -0
|
@@ -66,6 +66,52 @@ export declare abstract class PluginDesignQuerySpacesApi {
|
|
|
66
66
|
* ```
|
|
67
67
|
*/
|
|
68
68
|
abstract getFootprint(space: ComponentHandle): PluginApiReturn<ContourHandle | null>;
|
|
69
|
+
/**
|
|
70
|
+
* Get the **enclosure** of a space — the floor and ceiling that cap it, the
|
|
71
|
+
* bounding walls around it (with each wall's door/window openings), and the
|
|
72
|
+
* neighbouring spaces it shares a boundary with.
|
|
73
|
+
*
|
|
74
|
+
* **Geometric v1 — best effort.** The engine has no persisted space→surface
|
|
75
|
+
* topology, so this read is derived purely from *plan geometry*: the space
|
|
76
|
+
* footprint is matched against the plan footprints/baselines of the slabs and
|
|
77
|
+
* walls on the same storey. Consequences a caller must account for:
|
|
78
|
+
*
|
|
79
|
+
* - `faceIndices` is **always `[]`**. The triangle→B-rep-face provenance that
|
|
80
|
+
* would populate it is a separate engine capability that does not exist yet;
|
|
81
|
+
* read a surface's full geometry via
|
|
82
|
+
* {@linkcode PluginDesignQueryGeometryApi.getBrep} on its `component` instead.
|
|
83
|
+
* - After heavy edits (move / stretch / boolean) or on imported models the plan
|
|
84
|
+
* match can miss or mis-attribute a surface — treat the result as advisory,
|
|
85
|
+
* not authoritative.
|
|
86
|
+
* - `adjacentSpaces` comes from the same adjacency data as
|
|
87
|
+
* {@linkcode PluginProgramAdjacencyApi.getMatrix} (so the two agree on which
|
|
88
|
+
* spaces neighbour). `sharedEdgeLength` is `0` because that data exposes no
|
|
89
|
+
* edge length, and `sharedSurface` is the common boundary wall only when one
|
|
90
|
+
* is found geometrically (else `null`).
|
|
91
|
+
*
|
|
92
|
+
* Read-only; never mutates the model.
|
|
93
|
+
*
|
|
94
|
+
* @param space - The space (room mass) to read
|
|
95
|
+
* @returns the {@linkcode PluginSpaceEnclosure}, or `null` when `space` is not a
|
|
96
|
+
* space (room mass) or has no extractable plan footprint
|
|
97
|
+
*
|
|
98
|
+
* @examplePrompt What walls, floor and ceiling enclose this room?
|
|
99
|
+
* @examplePrompt Which of this room's walls are external?
|
|
100
|
+
* @examplePrompt List the doors and windows around the selected space
|
|
101
|
+
* @examplePrompt Which spaces are adjacent to this room, and through which wall?
|
|
102
|
+
*
|
|
103
|
+
* # Example
|
|
104
|
+
* ```ts
|
|
105
|
+
* const [space] = await snaptrude.design.query.listSpaces()
|
|
106
|
+
* const enclosure = await snaptrude.design.query.spaces.getEnclosure(space)
|
|
107
|
+
* if (enclosure) {
|
|
108
|
+
* const walls = enclosure.surfaces.filter((s) => s.role === "wall")
|
|
109
|
+
* const external = walls.filter((s) => s.isExternal)
|
|
110
|
+
* console.log(`${walls.length} walls, ${external.length} external`)
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
abstract getEnclosure(space: ComponentHandle): PluginApiReturn<PluginSpaceEnclosure | null>;
|
|
69
115
|
}
|
|
70
116
|
/**
|
|
71
117
|
* Arguments for {@linkcode PluginDesignQuerySpacesApi.getFootprint}.
|
|
@@ -218,4 +264,131 @@ export declare const PluginDesignQuerySpacesGetResult: z.ZodObject<{
|
|
|
218
264
|
}, z.core.$strip>>>>;
|
|
219
265
|
}, z.core.$strip>;
|
|
220
266
|
export type PluginDesignQuerySpacesGetResult = z.infer<typeof PluginDesignQuerySpacesGetResult>;
|
|
267
|
+
/**
|
|
268
|
+
* Arguments for {@linkcode PluginDesignQuerySpacesApi.getEnclosure}.
|
|
269
|
+
*
|
|
270
|
+
* | Property | Type | Description |
|
|
271
|
+
* |---|---|---|
|
|
272
|
+
* | `space` | {@linkcode ComponentHandle} | The space (room mass) to read |
|
|
273
|
+
*/
|
|
274
|
+
export declare const PluginDesignQuerySpacesGetEnclosureArgs: z.ZodObject<{
|
|
275
|
+
space: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
276
|
+
}, z.core.$strip>;
|
|
277
|
+
export type PluginDesignQuerySpacesGetEnclosureArgs = z.infer<typeof PluginDesignQuerySpacesGetEnclosureArgs>;
|
|
278
|
+
/**
|
|
279
|
+
* The role a bounding surface plays in a {@linkcode PluginSpaceEnclosure}:
|
|
280
|
+
* `"floor"` (slab below), `"ceiling"` (slab/roof above), or `"wall"`.
|
|
281
|
+
*/
|
|
282
|
+
export declare const PluginEnclosureRole: z.ZodEnum<{
|
|
283
|
+
floor: "floor";
|
|
284
|
+
wall: "wall";
|
|
285
|
+
ceiling: "ceiling";
|
|
286
|
+
}>;
|
|
287
|
+
export type PluginEnclosureRole = z.infer<typeof PluginEnclosureRole>;
|
|
288
|
+
/** The kind of opening hosted in a bounding wall. */
|
|
289
|
+
export declare const PluginEnclosureOpeningKind: z.ZodEnum<{
|
|
290
|
+
void: "void";
|
|
291
|
+
door: "door";
|
|
292
|
+
window: "window";
|
|
293
|
+
}>;
|
|
294
|
+
export type PluginEnclosureOpeningKind = z.infer<typeof PluginEnclosureOpeningKind>;
|
|
295
|
+
/**
|
|
296
|
+
* One opening (door / window / void) in a bounding wall.
|
|
297
|
+
*
|
|
298
|
+
* | Property | Type | Description |
|
|
299
|
+
* |---|---|---|
|
|
300
|
+
* | `kind` | {@linkcode PluginEnclosureOpeningKind} | `"door"`, `"window"`, or `"void"` |
|
|
301
|
+
* | `component` | {@linkcode ComponentHandle} | The opening entity |
|
|
302
|
+
*/
|
|
303
|
+
export declare const PluginEnclosureOpening: z.ZodObject<{
|
|
304
|
+
kind: z.ZodEnum<{
|
|
305
|
+
void: "void";
|
|
306
|
+
door: "door";
|
|
307
|
+
window: "window";
|
|
308
|
+
}>;
|
|
309
|
+
component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
310
|
+
}, z.core.$strip>;
|
|
311
|
+
export type PluginEnclosureOpening = z.infer<typeof PluginEnclosureOpening>;
|
|
312
|
+
/**
|
|
313
|
+
* One bounding surface of a space's enclosure.
|
|
314
|
+
*
|
|
315
|
+
* | Property | Type | Description |
|
|
316
|
+
* |---|---|---|
|
|
317
|
+
* | `role` | {@linkcode PluginEnclosureRole} | `"floor"`, `"ceiling"`, or `"wall"` |
|
|
318
|
+
* | `component` | {@linkcode ComponentHandle} | The wall / slab / roof entity |
|
|
319
|
+
* | `faceIndices` | `number[]` | B-rep face indices facing the space. **Always `[]` in geometric v1** (no triangle→face provenance yet) |
|
|
320
|
+
* | `isExternal` | `boolean` | No space on the other side — for a wall, no other room bounds it; for a floor/ceiling, no room caps the storey below/above |
|
|
321
|
+
* | `openings` | {@linkcode PluginEnclosureOpening}`[]` | Doors/windows/voids in the surface (walls only; `[]` for floor/ceiling in v1) |
|
|
322
|
+
*/
|
|
323
|
+
export declare const PluginEnclosureSurface: z.ZodObject<{
|
|
324
|
+
role: z.ZodEnum<{
|
|
325
|
+
floor: "floor";
|
|
326
|
+
wall: "wall";
|
|
327
|
+
ceiling: "ceiling";
|
|
328
|
+
}>;
|
|
329
|
+
component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
330
|
+
faceIndices: z.ZodArray<z.ZodNumber>;
|
|
331
|
+
isExternal: z.ZodBoolean;
|
|
332
|
+
openings: z.ZodArray<z.ZodObject<{
|
|
333
|
+
kind: z.ZodEnum<{
|
|
334
|
+
void: "void";
|
|
335
|
+
door: "door";
|
|
336
|
+
window: "window";
|
|
337
|
+
}>;
|
|
338
|
+
component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
339
|
+
}, z.core.$strip>>;
|
|
340
|
+
}, z.core.$strip>;
|
|
341
|
+
export type PluginEnclosureSurface = z.infer<typeof PluginEnclosureSurface>;
|
|
342
|
+
/**
|
|
343
|
+
* A space that neighbours the queried space.
|
|
344
|
+
*
|
|
345
|
+
* | Property | Type | Description |
|
|
346
|
+
* |---|---|---|
|
|
347
|
+
* | `space` | {@linkcode ComponentHandle} | The neighbouring space |
|
|
348
|
+
* | `sharedSurface` | {@linkcode ComponentHandle}` \| null` | The common boundary wall when one is found geometrically, else `null` (e.g. an open-plan or non-physical adjacency) |
|
|
349
|
+
* | `sharedEdgeLength` | `number` | Plan-unit length of the shared boundary — **always `0` in geometric v1** (the adjacency data exposes no edge length) |
|
|
350
|
+
*/
|
|
351
|
+
export declare const PluginAdjacentSpace: z.ZodObject<{
|
|
352
|
+
space: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
353
|
+
sharedSurface: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
354
|
+
sharedEdgeLength: z.ZodNumber;
|
|
355
|
+
}, z.core.$strip>;
|
|
356
|
+
export type PluginAdjacentSpace = z.infer<typeof PluginAdjacentSpace>;
|
|
357
|
+
/**
|
|
358
|
+
* Result of {@linkcode PluginDesignQuerySpacesApi.getEnclosure} — the geometric
|
|
359
|
+
* v1 enclosure of a space.
|
|
360
|
+
*
|
|
361
|
+
* | Property | Type | Description |
|
|
362
|
+
* |---|---|---|
|
|
363
|
+
* | `space` | {@linkcode ComponentHandle} | The queried space |
|
|
364
|
+
* | `surfaces` | {@linkcode PluginEnclosureSurface}`[]` | Floor + ceiling + bounding walls, as a flat list (any of the three may be absent when no plan match is found) |
|
|
365
|
+
* | `adjacentSpaces` | {@linkcode PluginAdjacentSpace}`[]` | Neighbouring spaces from the adjacency data (`[]` when adjacency was never computed) |
|
|
366
|
+
*/
|
|
367
|
+
export declare const PluginSpaceEnclosure: z.ZodObject<{
|
|
368
|
+
space: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
369
|
+
surfaces: z.ZodArray<z.ZodObject<{
|
|
370
|
+
role: z.ZodEnum<{
|
|
371
|
+
floor: "floor";
|
|
372
|
+
wall: "wall";
|
|
373
|
+
ceiling: "ceiling";
|
|
374
|
+
}>;
|
|
375
|
+
component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
376
|
+
faceIndices: z.ZodArray<z.ZodNumber>;
|
|
377
|
+
isExternal: z.ZodBoolean;
|
|
378
|
+
openings: z.ZodArray<z.ZodObject<{
|
|
379
|
+
kind: z.ZodEnum<{
|
|
380
|
+
void: "void";
|
|
381
|
+
door: "door";
|
|
382
|
+
window: "window";
|
|
383
|
+
}>;
|
|
384
|
+
component: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
385
|
+
}, z.core.$strip>>;
|
|
386
|
+
}, z.core.$strip>>;
|
|
387
|
+
adjacentSpaces: z.ZodArray<z.ZodObject<{
|
|
388
|
+
space: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
389
|
+
sharedSurface: z.ZodNullable<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
|
|
390
|
+
sharedEdgeLength: z.ZodNumber;
|
|
391
|
+
}, z.core.$strip>>;
|
|
392
|
+
}, z.core.$strip>;
|
|
393
|
+
export type PluginSpaceEnclosure = z.infer<typeof PluginSpaceEnclosure>;
|
|
221
394
|
//# sourceMappingURL=spaces.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spaces.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/spaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAGjE;;;;;;;;;;;GAWG;AACH,8BAAsB,0BAA0B;;IAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;aACa,GAAG,CACjB,KAAK,EAAE,eAAe,EACtB,UAAU,EAAE,8BAA8B,CAAC,YAAY,CAAC,GACvD,eAAe,CAAC,gCAAgC,CAAC;IAEpD;;;;;;;;;;;;;;;;;;;OAmBG;aACa,YAAY,CAC1B,KAAK,EAAE,eAAe,GACrB,eAAe,CAAC,aAAa,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"spaces.d.ts","sourceRoot":"","sources":["../../../../src/api/design/query/spaces.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,9 @@ export declare abstract class PluginDesignTransformApi {
|
|
|
30
30
|
* @examplePrompt Translate the furniture block by (10, 0, 5)
|
|
31
31
|
* @examplePrompt Move these masses up one storey
|
|
32
32
|
*
|
|
33
|
+
* @performance Array API — one host round-trip for the whole set. Pass every target in a
|
|
34
|
+
* single call; never loop `design.transform.move` per entity.
|
|
35
|
+
*
|
|
33
36
|
* # Example
|
|
34
37
|
* ```ts
|
|
35
38
|
* const { vec3 } = snaptrude.core.math
|
|
@@ -60,6 +63,9 @@ export declare abstract class PluginDesignTransformApi {
|
|
|
60
63
|
* @examplePrompt Rotate these masses 30 degrees around the vertical axis
|
|
61
64
|
* @examplePrompt Rotate these walls 90 degrees about the origin
|
|
62
65
|
*
|
|
66
|
+
* @performance Array API — one host round-trip for the whole set. Pass every target in a
|
|
67
|
+
* single call; never loop `design.transform.rotate` per entity.
|
|
68
|
+
*
|
|
63
69
|
* # Example
|
|
64
70
|
* ```ts
|
|
65
71
|
* await snaptrude.design.transform.rotate(["space-id"], 90)
|
|
@@ -103,6 +109,9 @@ export declare abstract class PluginDesignTransformApi {
|
|
|
103
109
|
* @examplePrompt Align all the walls to the left edge of this reference wall
|
|
104
110
|
* @examplePrompt Snap the bottom edges of these spaces together
|
|
105
111
|
*
|
|
112
|
+
* @performance Array API — one host round-trip for the whole set. Pass every target in a
|
|
113
|
+
* single call; never loop `design.transform.align` per entity.
|
|
114
|
+
*
|
|
106
115
|
* # Example
|
|
107
116
|
* ```ts
|
|
108
117
|
* const rooms = await snaptrude.design.selection.get()
|
|
@@ -142,6 +151,9 @@ export declare abstract class PluginDesignTransformApi {
|
|
|
142
151
|
* @examplePrompt Flip the selected walls front to back
|
|
143
152
|
* @examplePrompt Create a mirror image of these masses about the z axis
|
|
144
153
|
*
|
|
154
|
+
* @performance Array API — one host round-trip for the whole set. Pass every target in a
|
|
155
|
+
* single call; never loop `design.transform.mirror` per entity.
|
|
156
|
+
*
|
|
145
157
|
* # Example
|
|
146
158
|
* ```ts
|
|
147
159
|
* const rooms = await snaptrude.design.selection.get()
|
|
@@ -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,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAElD;;;;;;;;;;GAUG;AACH,8BAAsB,wBAAwB;;IAG5C
|
|
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"}
|
|
@@ -3,6 +3,7 @@ import { PluginApiReturn } from "../../../types";
|
|
|
3
3
|
import { ComponentHandle } from "../../../handles";
|
|
4
4
|
import { PluginSpaceUpdateResult } from "../../entity/space";
|
|
5
5
|
import { PluginDesignChangeResult } from "../lock";
|
|
6
|
+
import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeUpdateResult } from "../../entity/buildableEnvelope";
|
|
6
7
|
/**
|
|
7
8
|
* Sparse property updates for a space. Only provided fields change.
|
|
8
9
|
*
|
|
@@ -340,6 +341,9 @@ export declare abstract class PluginDesignUpdateApi {
|
|
|
340
341
|
* @examplePrompt Move this space into the Circulation department
|
|
341
342
|
* @examplePrompt Exclude this room from the area calculations
|
|
342
343
|
*
|
|
344
|
+
* @performance For MORE THAN ONE space, call `design.update.spaces(items[])` — the whole
|
|
345
|
+
* batch is one host round-trip. Looping this single-space updater is N round-trips.
|
|
346
|
+
*
|
|
343
347
|
* # Example
|
|
344
348
|
* ```ts
|
|
345
349
|
* await snaptrude.design.update.space("space-id", { properties: { room_type: "Office" } })
|
|
@@ -366,6 +370,9 @@ export declare abstract class PluginDesignUpdateApi {
|
|
|
366
370
|
* @examplePrompt Bulk-assign these spaces to the Service department
|
|
367
371
|
* @examplePrompt Mark all of these rooms as excluded from area in one update
|
|
368
372
|
*
|
|
373
|
+
* @performance Bulk update — the whole batch is ONE host round-trip. Prefer over looping
|
|
374
|
+
* `design.update.space`: build the `items[]` array first, then make one call.
|
|
375
|
+
*
|
|
369
376
|
* # Example
|
|
370
377
|
* ```ts
|
|
371
378
|
* // Re-label every selected room and mark it NET area — one undoable bulk update
|
|
@@ -650,7 +657,7 @@ export declare abstract class PluginDesignUpdateApi {
|
|
|
650
657
|
* `storey` is an integer storey number in the `entity.story` convention
|
|
651
658
|
* (`1` is the ground storey, `-1` the first basement; `0` does not exist)
|
|
652
659
|
* and **must already exist** in each component's building — this call never
|
|
653
|
-
* creates storeys (use `
|
|
660
|
+
* creates storeys (use `core.storeys.create` first). Components already on
|
|
654
661
|
* the target storey are skipped (no-op) and are not echoed in `affected`.
|
|
655
662
|
*
|
|
656
663
|
* Throws when the target storey does not exist, when any component is
|
|
@@ -675,5 +682,48 @@ export declare abstract class PluginDesignUpdateApi {
|
|
|
675
682
|
* ```
|
|
676
683
|
*/
|
|
677
684
|
abstract setStorey(components: ComponentHandle[], storey: number): PluginApiReturn<PluginDesignChangeResult>;
|
|
685
|
+
/**
|
|
686
|
+
* Update an existing parametric buildable envelope — regenerate the zoning
|
|
687
|
+
* volume from a revised site polygon, setbacks, vertical cap, or FAR and
|
|
688
|
+
* lot-coverage limits, keeping the same envelope id. Canonical home of the
|
|
689
|
+
* update formerly at `entity.buildableEnvelope.update` (now deprecated).
|
|
690
|
+
*
|
|
691
|
+
* @param buildableEnvelopeId - Existing envelope ID to update; non-empty and
|
|
692
|
+
* must match an existing envelope on the canvas.
|
|
693
|
+
* @param sitePolygon - Site polygon vertices in `lengthUnit`; minimum 3 vertices.
|
|
694
|
+
* @param lengthUnit - Unit used by all length fields (`"ft" | "m"`).
|
|
695
|
+
* @param setbacks - Setback profile, ground tier first; minimum 1 tier.
|
|
696
|
+
* @param verticalCap - Maximum height or floor count.
|
|
697
|
+
* @param floorToFloor - Required floor-to-floor height in `lengthUnit`.
|
|
698
|
+
* @param farRatio - Optional FAR value, positive when provided.
|
|
699
|
+
* @param lotCoverageMaxPct - Optional lot coverage cap, `0..100`.
|
|
700
|
+
* @returns A {@linkcode PluginBuildableEnvelopeUpdateResult} with the
|
|
701
|
+
* `buildableEnvelopeId` of the updated envelope.
|
|
702
|
+
* @throws If validation fails, the envelope does not exist, or generation
|
|
703
|
+
* produces no renderable geometry.
|
|
704
|
+
*
|
|
705
|
+
* @examplePrompt Change the envelope's height limit to 175 feet
|
|
706
|
+
* @examplePrompt Update the setbacks on the buildable envelope
|
|
707
|
+
* @examplePrompt Regenerate the zoning envelope with a new site boundary
|
|
708
|
+
* @examplePrompt Increase the FAR on the buildable volume
|
|
709
|
+
*
|
|
710
|
+
* # Example
|
|
711
|
+
* ```ts
|
|
712
|
+
* const { buildableEnvelopeId } = await snaptrude.design.update.buildableEnvelope(
|
|
713
|
+
* existingId,
|
|
714
|
+
* [
|
|
715
|
+
* { x: 0, z: 0 },
|
|
716
|
+
* { x: 100, z: 0 },
|
|
717
|
+
* { x: 100, z: 80 },
|
|
718
|
+
* { x: 0, z: 80 },
|
|
719
|
+
* ],
|
|
720
|
+
* "ft",
|
|
721
|
+
* [{ aboveHeight: 0, front: 10, side: 5, rear: 10 }],
|
|
722
|
+
* { kind: "max_height", maxHeight: 175 },
|
|
723
|
+
* 12,
|
|
724
|
+
* )
|
|
725
|
+
* ```
|
|
726
|
+
*/
|
|
727
|
+
abstract buildableEnvelope(buildableEnvelopeId: string, sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeUpdateResult>;
|
|
678
728
|
}
|
|
679
729
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/update/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAKL,uBAAuB,EACxB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/update/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,8 @@ export declare abstract class PluginBuildableEnvelopeApi {
|
|
|
52
52
|
* 12,
|
|
53
53
|
* )
|
|
54
54
|
* ```
|
|
55
|
+
*
|
|
56
|
+
* @deprecated Use `design.create.buildableEnvelope`
|
|
55
57
|
*/
|
|
56
58
|
abstract create(sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeCreateResult>;
|
|
57
59
|
/**
|
|
@@ -95,6 +97,8 @@ export declare abstract class PluginBuildableEnvelopeApi {
|
|
|
95
97
|
* 12,
|
|
96
98
|
* )
|
|
97
99
|
* ```
|
|
100
|
+
*
|
|
101
|
+
* @deprecated Use `design.update.buildableEnvelope`
|
|
98
102
|
*/
|
|
99
103
|
abstract update(buildableEnvelopeId: string, sitePolygon: PluginBuildableEnvelopePolygonVertex[], lengthUnit: "ft" | "m", setbacks: PluginBuildableEnvelopeSetbackTier[], verticalCap: PluginBuildableEnvelopeVerticalCap, floorToFloor: number, farRatio?: number, lotCoverageMaxPct?: number): PluginApiReturn<PluginBuildableEnvelopeUpdateResult>;
|
|
100
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildableEnvelope.d.ts","sourceRoot":"","sources":["../../../src/api/entity/buildableEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;GASG;AACH,8BAAsB,0BAA0B;;IAG9C
|
|
1
|
+
{"version":3,"file":"buildableEnvelope.d.ts","sourceRoot":"","sources":["../../../src/api/entity/buildableEnvelope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C;;;;;;;;;GASG;AACH,8BAAsB,0BAA0B;;IAG9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,MAAM,CACpB,WAAW,EAAE,oCAAoC,EAAE,EACnD,UAAU,EAAE,IAAI,GAAG,GAAG,EACtB,QAAQ,EAAE,kCAAkC,EAAE,EAC9C,WAAW,EAAE,kCAAkC,EAC/C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,mCAAmC,CAAC;IAEvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2CG;aACa,MAAM,CACpB,mBAAmB,EAAE,MAAM,EAC3B,WAAW,EAAE,oCAAoC,EAAE,EACnD,UAAU,EAAE,IAAI,GAAG,GAAG,EACtB,QAAQ,EAAE,kCAAkC,EAAE,EAC9C,WAAW,EAAE,kCAAkC,EAC/C,YAAY,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,MAAM,EACjB,iBAAiB,CAAC,EAAE,MAAM,GACzB,eAAe,CAAC,mCAAmC,CAAC;CACxD;AAED;;;;;GAKG;AACH,eAAO,MAAM,oCAAoC;;;kEAG/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,kCAAkC;;;;;;4BAS7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,kCAAkC;;;;;kBAKpC,CAAA;AAEX,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AA+BD;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;kBAWZ,CAAA;AAElC,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;kBAErC,CAAA;AAEX,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;;;;;;;;;kBAYZ,CAAA;AAElC,MAAM,MAAM,iCAAiC,GAAG,CAAC,CAAC,KAAK,CACrD,OAAO,iCAAiC,CACzC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC;;kBAErC,CAAA;AAEX,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA"}
|
|
@@ -47,6 +47,8 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
47
47
|
*
|
|
48
48
|
* const { referenceLineIds } = await snaptrude.entity.referenceLine.createMulti(profile)
|
|
49
49
|
* ```
|
|
50
|
+
*
|
|
51
|
+
* @deprecated Use `design.create.referenceLines`
|
|
50
52
|
*/
|
|
51
53
|
abstract createMulti(profile: ProfileHandle): PluginApiReturn<PluginReferenceLineCreateMultiResult>;
|
|
52
54
|
/**
|
|
@@ -73,6 +75,8 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
73
75
|
* // result.curve is an opaque CurveHandle; a dedicated curve read API for its
|
|
74
76
|
* // coordinates is exposed separately via `snaptrude.core.geom.curve`.
|
|
75
77
|
* ```
|
|
78
|
+
*
|
|
79
|
+
* @deprecated Use `design.query.referenceLines.get`
|
|
76
80
|
*/
|
|
77
81
|
abstract get(referenceLineId: string, properties: z.infer<typeof PluginReferenceLineGetProperty>[]): PluginApiReturn<PluginReferenceLineGetResult>;
|
|
78
82
|
/**
|
|
@@ -95,6 +99,8 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
95
99
|
* const { referenceLineIds } = await snaptrude.entity.referenceLine.getAll()
|
|
96
100
|
* console.log(`Project has ${referenceLineIds.length} reference lines`)
|
|
97
101
|
* ```
|
|
102
|
+
*
|
|
103
|
+
* @deprecated Use `design.query.listReferenceLines`
|
|
98
104
|
*/
|
|
99
105
|
abstract getAll(): PluginApiReturn<PluginReferenceLineGetAllResult>;
|
|
100
106
|
/**
|
|
@@ -115,6 +121,8 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
115
121
|
* ```ts
|
|
116
122
|
* await snaptrude.entity.referenceLine.delete("some-ref-line-id")
|
|
117
123
|
* ```
|
|
124
|
+
*
|
|
125
|
+
* @deprecated Use `design.delete.entities`
|
|
118
126
|
*/
|
|
119
127
|
abstract delete(referenceLineId: string): PluginApiReturn<PluginReferenceLineDeleteResult>;
|
|
120
128
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceLine.d.ts","sourceRoot":"","sources":["../../../src/api/entity/referenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,sBAAsB;;IAG1C
|
|
1
|
+
{"version":3,"file":"referenceLine.d.ts","sourceRoot":"","sources":["../../../src/api/entity/referenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkCG;aACa,WAAW,CACzB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,GAAG,CACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,GAC3D,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC;IAE1E;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,MAAM,CACpB,eAAe,EAAE,MAAM,GACtB,eAAe,CAAC,+BAA+B,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC;;iBAE/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;EAEzC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAGrC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;iBAI7B,CAAA;AAEZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;iBAE1C,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;iBAExC,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,8FAA8F;AAC9F,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAA"}
|
|
@@ -39,6 +39,8 @@ export declare abstract class PluginStoryApi {
|
|
|
39
39
|
* const info = await snaptrude.entity.story.get(1, ["height", "name", "spacesCount"])
|
|
40
40
|
* console.log(info.name, info.height, info.spacesCount)
|
|
41
41
|
* ```
|
|
42
|
+
*
|
|
43
|
+
* @deprecated Use `core.storeys.get`
|
|
42
44
|
*/
|
|
43
45
|
abstract get(storyValue: number, properties: PluginStoryGetProperty[]): PluginApiReturn<PluginStoryGetResult>;
|
|
44
46
|
/**
|
|
@@ -62,6 +64,8 @@ export declare abstract class PluginStoryApi {
|
|
|
62
64
|
* console.log(`Story ${s.value}: ${s.name} (id: ${s.id})`)
|
|
63
65
|
* }
|
|
64
66
|
* ```
|
|
67
|
+
*
|
|
68
|
+
* @deprecated Use `core.storeys.list`
|
|
65
69
|
*/
|
|
66
70
|
abstract getAll(): PluginApiReturn<PluginStoryGetAllResult>;
|
|
67
71
|
/**
|
|
@@ -88,6 +92,8 @@ export declare abstract class PluginStoryApi {
|
|
|
88
92
|
* // Create a new third floor with custom height
|
|
89
93
|
* const { storyId } = await snaptrude.entity.story.create(3, 4.5)
|
|
90
94
|
* ```
|
|
95
|
+
*
|
|
96
|
+
* @deprecated Use `core.storeys.create`
|
|
91
97
|
*/
|
|
92
98
|
abstract create(storyValue: number, height?: number): PluginApiReturn<PluginStoryCreateResult>;
|
|
93
99
|
/**
|
|
@@ -136,6 +142,8 @@ export declare abstract class PluginStoryApi {
|
|
|
136
142
|
* // Rename only, leaving the height untouched.
|
|
137
143
|
* await snaptrude.entity.story.update(1, undefined, { name: "Lobby" })
|
|
138
144
|
* ```
|
|
145
|
+
*
|
|
146
|
+
* @deprecated Use `core.storeys.update`
|
|
139
147
|
*/
|
|
140
148
|
abstract update(storyValue: number, height?: number, options?: {
|
|
141
149
|
name?: string;
|
|
@@ -160,6 +168,8 @@ export declare abstract class PluginStoryApi {
|
|
|
160
168
|
* // Activate story 2, then draw a wall — it lands on story 2.
|
|
161
169
|
* await snaptrude.entity.story.setActive(2)
|
|
162
170
|
* ```
|
|
171
|
+
*
|
|
172
|
+
* @deprecated Use `core.storeys.setActive`
|
|
163
173
|
*/
|
|
164
174
|
abstract setActive(storyValue: number): PluginApiReturn<PluginStorySetActiveResult>;
|
|
165
175
|
/**
|
|
@@ -184,6 +194,8 @@ export declare abstract class PluginStoryApi {
|
|
|
184
194
|
* const { newActiveStory } = await snaptrude.entity.story.delete(3)
|
|
185
195
|
* console.log(`Deleted story 3; now on story ${newActiveStory}`)
|
|
186
196
|
* ```
|
|
197
|
+
*
|
|
198
|
+
* @deprecated Use `core.storeys.delete`
|
|
187
199
|
*/
|
|
188
200
|
abstract delete(storyValue: number): PluginApiReturn<PluginStoryDeleteResult>;
|
|
189
201
|
/**
|
|
@@ -220,6 +232,12 @@ export declare abstract class PluginStoryApi {
|
|
|
220
232
|
* @examplePrompt Repeat this level upwards with its own independent geometry
|
|
221
233
|
* @examplePrompt Duplicate just the selected walls onto the next floor up
|
|
222
234
|
*
|
|
235
|
+
* @performance For storeys that share a layout, duplicate the storey instead of recreating
|
|
236
|
+
* its contents floor by floor — this copies every eligible element in one call, and the
|
|
237
|
+
* default instanced copies keep the floors linked. To stack many identical floors, either
|
|
238
|
+
* call this per level or capture the storey's component ids and
|
|
239
|
+
* `design.create.copy(ids, oneFloorRise, { count })` to lay them all down in a single call.
|
|
240
|
+
*
|
|
223
241
|
* # Example
|
|
224
242
|
* ```ts
|
|
225
243
|
* // Duplicate the whole active story one level up (instanced copies).
|
|
@@ -228,6 +246,8 @@ export declare abstract class PluginStoryApi {
|
|
|
228
246
|
* console.log(`Copied ${created.length} elements onto story ${targetStories}`)
|
|
229
247
|
* if (skipped) console.log(`${skipped} elements were skipped`)
|
|
230
248
|
* ```
|
|
249
|
+
*
|
|
250
|
+
* @deprecated Use `core.storeys.copy`
|
|
231
251
|
*/
|
|
232
252
|
abstract duplicate(direction: "up" | "down", options?: {
|
|
233
253
|
components?: ComponentHandle[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/api/entity/story.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,8BAAsB,cAAc;;IAGlC
|
|
1
|
+
{"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/api/entity/story.ts"],"names":[],"mappings":"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"}
|
package/dist/api/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ import { PluginEntityApi } from "./entity";
|
|
|
4
4
|
import { PluginProgramApi } from "./program";
|
|
5
5
|
import { PluginPresentationApi } from "./presentation";
|
|
6
6
|
import { PluginAnalysisApi } from "./analysis";
|
|
7
|
+
import { PluginWorkspaceApi } from "./workspace";
|
|
7
8
|
/**
|
|
8
9
|
* Root API surface for Snaptrude plugins.
|
|
9
10
|
*
|
|
@@ -15,6 +16,7 @@ import { PluginAnalysisApi } from "./analysis";
|
|
|
15
16
|
* - {@linkcode PluginApi.program} — Program-mode planning reads (departments, metrics)
|
|
16
17
|
* - {@linkcode PluginApi.presentation} — Presentation preparation (views, AI Inspiration)
|
|
17
18
|
* - {@linkcode PluginApi.analysis} — Sustainability analysis (sunpath, shadows, sunlight/illuminance heatmaps)
|
|
19
|
+
* - {@linkcode PluginApi.workspace} — Dashboard surface: projects and teams
|
|
18
20
|
*/
|
|
19
21
|
export declare abstract class PluginApi {
|
|
20
22
|
/** Core math, geometry, history, and units primitives. See {@linkcode PluginCoreApi}. */
|
|
@@ -29,6 +31,8 @@ export declare abstract class PluginApi {
|
|
|
29
31
|
abstract presentation: PluginPresentationApi;
|
|
30
32
|
/** Sustainability analysis — sun & daylight studies. See {@linkcode PluginAnalysisApi}. */
|
|
31
33
|
abstract analysis: PluginAnalysisApi;
|
|
34
|
+
/** Dashboard surface — projects and teams. See {@linkcode PluginWorkspaceApi}. */
|
|
35
|
+
abstract workspace: PluginWorkspaceApi;
|
|
32
36
|
constructor();
|
|
33
37
|
}
|
|
34
38
|
export * from "./core";
|
|
@@ -37,4 +41,5 @@ export * from "./entity";
|
|
|
37
41
|
export * from "./program";
|
|
38
42
|
export * from "./presentation";
|
|
39
43
|
export * from "./analysis";
|
|
44
|
+
export * from "./workspace";
|
|
40
45
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,8BAAsB,SAAS;IAC7B,yFAAyF;IACzF,SAAgB,IAAI,EAAE,aAAa,CAAA;IACnC,0EAA0E;IAC1E,SAAgB,MAAM,EAAE,eAAe,CAAA;IACvC,8EAA8E;IAC9E,SAAgB,MAAM,EAAE,eAAe,CAAA;IACvC,oGAAoG;IACpG,SAAgB,OAAO,EAAE,gBAAgB,CAAA;IACzC,2FAA2F;IAC3F,SAAgB,YAAY,EAAE,qBAAqB,CAAA;IACnD,2FAA2F;IAC3F,SAAgB,QAAQ,EAAE,iBAAiB,CAAA;IAC3C,kFAAkF;IAClF,SAAgB,SAAS,EAAE,kBAAkB,CAAA;;CAG9C;AAED,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"}
|
|
@@ -24,12 +24,22 @@ export declare abstract class PluginPresentationAnnotateApi {
|
|
|
24
24
|
* Creates a text shape on the given sheet and returns the id of the created
|
|
25
25
|
* canvas shape. Requires Present mode to be open.
|
|
26
26
|
*
|
|
27
|
+
* Typography is optional: `fontFamily` takes a system family or any Google
|
|
28
|
+
* Font (loaded automatically, the same loader as the Present text panel);
|
|
29
|
+
* `fontWeight` is a numeric weight string like `"400"` or `"700"`,
|
|
30
|
+
* optionally with the `-italic` suffix (e.g. `"700-italic"`) — the Present
|
|
31
|
+
* text panel's value domain; a weight the chosen font does not provide
|
|
32
|
+
* falls back to regular. `fontSizePx` sets an exact pixel size, overriding
|
|
33
|
+
* the `size` preset when both are given (`size` alone keeps working).
|
|
34
|
+
*
|
|
27
35
|
* @param sheetId - The sheet to annotate.
|
|
28
36
|
* @param text - The label text.
|
|
29
37
|
* @param options - Optional `position` (`{ x, y }`, relative to the sheet's
|
|
30
38
|
* top-left, in canvas units — defaults to the sheet's top-left corner),
|
|
31
|
-
* `size` (`"s" | "m" | "l" | "xl"`, default `"m"`),
|
|
32
|
-
* palette color, default `"black"`)
|
|
39
|
+
* `size` (`"s" | "m" | "l" | "xl"`, default `"m"`), `color` (a named
|
|
40
|
+
* palette color, default `"black"`), and typography: `fontFamily`,
|
|
41
|
+
* `fontWeight` (numeric string, `-italic` suffix allowed), `fontSizePx`
|
|
42
|
+
* (positive px size overriding the `size` preset).
|
|
33
43
|
* @returns A {@linkcode PluginPresentationAnnotateTextResult} with the created
|
|
34
44
|
* `shapeId`.
|
|
35
45
|
* @throws If Present mode is not open or the sheet id is invalid.
|
|
@@ -55,6 +65,9 @@ export declare abstract class PluginPresentationAnnotateApi {
|
|
|
55
65
|
};
|
|
56
66
|
size?: PluginAnnotateTextSize;
|
|
57
67
|
color?: PluginAnnotateTextColor;
|
|
68
|
+
fontFamily?: string;
|
|
69
|
+
fontWeight?: string;
|
|
70
|
+
fontSizePx?: number;
|
|
58
71
|
}): PluginApiReturn<PluginPresentationAnnotateTextResult>;
|
|
59
72
|
/**
|
|
60
73
|
* Draw an arrow on a sheet.
|
|
@@ -214,6 +227,9 @@ export type PluginAnnotateTextColor = z.infer<typeof PluginAnnotateTextColor>;
|
|
|
214
227
|
* | `position` | `{ x: number; y: number } \| undefined` | Where to place it (relative to the sheet) |
|
|
215
228
|
* | `size` | {@linkcode PluginAnnotateTextSize}` \| undefined` | Text size preset |
|
|
216
229
|
* | `color` | {@linkcode PluginAnnotateTextColor}` \| undefined` | Text color |
|
|
230
|
+
* | `fontFamily` | `string \| undefined` | System family or any Google Font (loaded automatically) |
|
|
231
|
+
* | `fontWeight` | `string \| undefined` | Numeric weight like `"400"`/`"700"`, `-italic` suffix allowed |
|
|
232
|
+
* | `fontSizePx` | `number \| undefined` | Exact px size (overrides the `size` preset) |
|
|
217
233
|
*/
|
|
218
234
|
export declare const PluginPresentationAnnotateTextArgs: z.ZodObject<{
|
|
219
235
|
sheetId: z.ZodString;
|
|
@@ -243,6 +259,9 @@ export declare const PluginPresentationAnnotateTextArgs: z.ZodObject<{
|
|
|
243
259
|
red: "red";
|
|
244
260
|
white: "white";
|
|
245
261
|
}>>;
|
|
262
|
+
fontFamily: z.ZodOptional<z.ZodString>;
|
|
263
|
+
fontWeight: z.ZodOptional<z.ZodString>;
|
|
264
|
+
fontSizePx: z.ZodOptional<z.ZodNumber>;
|
|
246
265
|
}, z.core.$strip>;
|
|
247
266
|
export type PluginPresentationAnnotateTextArgs = z.infer<typeof PluginPresentationAnnotateTextArgs>;
|
|
248
267
|
/**
|
|
@@ -282,9 +301,9 @@ export type PluginAnnotateGeoKind = z.infer<typeof PluginAnnotateGeoKind>;
|
|
|
282
301
|
/** Fill style for geo shapes (the same fills as the Present-mode style panel). */
|
|
283
302
|
export declare const PluginAnnotateFill: z.ZodEnum<{
|
|
284
303
|
pattern: "pattern";
|
|
304
|
+
solid: "solid";
|
|
285
305
|
none: "none";
|
|
286
306
|
semi: "semi";
|
|
287
|
-
solid: "solid";
|
|
288
307
|
}>;
|
|
289
308
|
export type PluginAnnotateFill = z.infer<typeof PluginAnnotateFill>;
|
|
290
309
|
/**
|
|
@@ -426,9 +445,9 @@ export declare const PluginPresentationAnnotateShapeArgs: z.ZodObject<{
|
|
|
426
445
|
}>>;
|
|
427
446
|
fill: z.ZodOptional<z.ZodEnum<{
|
|
428
447
|
pattern: "pattern";
|
|
448
|
+
solid: "solid";
|
|
429
449
|
none: "none";
|
|
430
450
|
semi: "semi";
|
|
431
|
-
solid: "solid";
|
|
432
451
|
}>>;
|
|
433
452
|
}, z.core.$strip>;
|
|
434
453
|
export type PluginPresentationAnnotateShapeArgs = z.infer<typeof PluginPresentationAnnotateShapeArgs>;
|