@snaptrude/plugin-core 0.9.9 → 0.9.11

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 (34) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/api-manifest.json +76 -390
  3. package/dist/api/core/mode/index.d.ts +19 -7
  4. package/dist/api/core/mode/index.d.ts.map +1 -1
  5. package/dist/api/design/create/grids.d.ts +132 -0
  6. package/dist/api/design/create/grids.d.ts.map +1 -0
  7. package/dist/api/design/create/index.d.ts +109 -1
  8. package/dist/api/design/create/index.d.ts.map +1 -1
  9. package/dist/api/design/grids.d.ts +237 -0
  10. package/dist/api/design/grids.d.ts.map +1 -0
  11. package/dist/api/design/index.d.ts +4 -0
  12. package/dist/api/design/index.d.ts.map +1 -1
  13. package/dist/api/design/query/grids.d.ts +287 -0
  14. package/dist/api/design/query/grids.d.ts.map +1 -0
  15. package/dist/api/design/query/index.d.ts +29 -0
  16. package/dist/api/design/query/index.d.ts.map +1 -1
  17. package/dist/api/design/update/index.d.ts +74 -0
  18. package/dist/api/design/update/index.d.ts.map +1 -1
  19. package/dist/api/workspace/index.d.ts +49 -2
  20. package/dist/api/workspace/index.d.ts.map +1 -1
  21. package/dist/index.cjs +2163 -1968
  22. package/dist/index.cjs.map +1 -1
  23. package/dist/index.js +2143 -1973
  24. package/dist/index.js.map +1 -1
  25. package/package.json +13 -13
  26. package/src/api/core/mode/index.ts +19 -7
  27. package/src/api/design/create/grids.ts +137 -0
  28. package/src/api/design/create/index.ts +131 -0
  29. package/src/api/design/grids.ts +237 -0
  30. package/src/api/design/index.ts +5 -0
  31. package/src/api/design/query/grids.ts +197 -0
  32. package/src/api/design/query/index.ts +27 -0
  33. package/src/api/design/update/index.ts +53 -0
  34. package/src/api/workspace/index.ts +51 -2
@@ -34,10 +34,14 @@ export interface PluginCoreModeSetResult {
34
34
  * Not to be confused with the viewport's 2D/3D camera mode
35
35
  * (`core.camera.setMode`) or saved presentation views (`presentation.views`).
36
36
  *
37
- * `set` covers `design`, `bim`, and `present` — in-page switches.
38
- * `program` opens in its own browser tab in the product, which a plugin worker
39
- * cannot do, so `set("program")` fails with `PRECONDITION_FAILED`; `get()`
40
- * still reports `"program"` for code running in the Program tab.
37
+ * `set` covers `design`, `bim`, and `present` — in-page switches — and
38
+ * `program`, which opens the Program tab (a paired browser window) through the
39
+ * same path as the top bar's Program button. Because the open happens outside a
40
+ * user gesture the browser may block the pop-up; the editor then shows its
41
+ * "Allow pop-up to continue" modal and the tab opens when the user confirms.
42
+ * `get()` reports `"program"` only for code running in the Program tab itself.
43
+ * Prefer {@linkcode PluginWorkspaceApi.openProgramMode} when you need to know
44
+ * the tab is ready before calling `program.spreadsheet.*`.
41
45
  */
42
46
  export declare abstract class PluginCoreModeApi {
43
47
  constructor();
@@ -76,16 +80,24 @@ export declare abstract class PluginCoreModeApi {
76
80
  * Switch the editor to another application mode — the same action as
77
81
  * clicking that tab in the top menu bar.
78
82
  *
79
- * Supported: `"design"`, `"bim"`, `"present"`. Switching to
80
- * `"program"` is rejected with `PRECONDITION_FAILED` (the Program surface
81
- * opens in its own browser tab in the product; a plugin cannot open one).
83
+ * `"design"`, `"bim"` and `"present"` switch in place. `"program"` opens
84
+ * the Program tab (a paired browser window) exactly as the top bar's Program
85
+ * button does, and resolves once that tab has connected to the editor (up to
86
+ * ~90s — the browser may block the pop-up, in which case the editor shows an
87
+ * "Allow pop-up to continue" modal and waits for the user to confirm).
88
+ * Idempotent when the Program tab is already open. Note `get()` in the model
89
+ * tab keeps reporting the model tab's own mode afterwards; the Program tab is
90
+ * a separate window.
82
91
  *
83
92
  * @param mode - Target mode token from {@linkcode PluginAppMode}
84
93
  * @returns The committed `{ mode }` after the switch.
94
+ * @throws `PRECONDITION_FAILED` for `"program"` when the user dismisses the
95
+ * pop-up modal or the tab does not connect within the timeout.
85
96
  *
86
97
  * @examplePrompt Switch to present mode
87
98
  * @examplePrompt Open BIM mode
88
99
  * @examplePrompt Go back to design mode
100
+ * @examplePrompt Open program mode
89
101
  *
90
102
  * # Example
91
103
  * ```ts
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/mode/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;EAAkD,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,qBAAqB;;;;;;;iBAEhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAA;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,8BAAsB,iBAAiB;;IAGrC;;;;;;;;;;;;;OAaG;aACa,IAAI,IAAI,eAAe,CAAC,wBAAwB,CAAC;IAEjE;;;;;;;;;;;;;;OAcG;aACa,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAAC,uBAAuB,CAAC;CACnF"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/mode/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;EAAkD,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,qBAAqB;;;;;;;iBAEhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAA;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,8BAAsB,iBAAiB;;IAGrC;;;;;;;;;;;;;OAaG;aACa,IAAI,IAAI,eAAe,CAAC,wBAAwB,CAAC;IAEjE;;;;;;;;;;;;;;OAcG;aACa,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;aACa,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAAC,uBAAuB,CAAC;CACnF"}
@@ -0,0 +1,132 @@
1
+ import * as z from "zod";
2
+ import { ComponentHandle } from "../../../handles";
3
+ /**
4
+ * Grid line style (mirrors the engine `LineMode` values verbatim — the same
5
+ * vocabulary as {@linkcode PluginReferenceLineStyle}).
6
+ */
7
+ export declare const PluginGridLineStyle: z.ZodEnum<{
8
+ SOLID: "SOLID";
9
+ DASHED: "DASHED";
10
+ DOT_DASH: "DOT_DASH";
11
+ }>;
12
+ export type PluginGridLineStyle = z.infer<typeof PluginGridLineStyle>;
13
+ /**
14
+ * Optional visual styling shared by every grid creator (and reused as the
15
+ * patch shape by `design.update.grid`). All fields optional; engine defaults
16
+ * apply when omitted.
17
+ *
18
+ * | Property | Type | Description |
19
+ * |---|---|---|
20
+ * | `style` | {@linkcode PluginGridLineStyle}? | Line style |
21
+ * | `weight` | `number`? | Line weight (> 0) |
22
+ * | `color` | `string`? | Line color as a `#rrggbb` hex string |
23
+ * | `showStart` | `boolean`? | Show the start-end tag bubble |
24
+ * | `showEnd` | `boolean`? | Show the end-end tag bubble |
25
+ */
26
+ export declare const PluginGridStyleOptions: z.ZodObject<{
27
+ style: z.ZodOptional<z.ZodEnum<{
28
+ SOLID: "SOLID";
29
+ DASHED: "DASHED";
30
+ DOT_DASH: "DOT_DASH";
31
+ }>>;
32
+ weight: z.ZodOptional<z.ZodNumber>;
33
+ color: z.ZodOptional<z.ZodString>;
34
+ showStart: z.ZodOptional<z.ZodBoolean>;
35
+ showEnd: z.ZodOptional<z.ZodBoolean>;
36
+ }, z.core.$strip>;
37
+ export type PluginGridStyleOptions = z.infer<typeof PluginGridStyleOptions>;
38
+ /**
39
+ * Arguments for {@linkcode PluginDesignCreateApi.grid}.
40
+ *
41
+ * | Property | Type | Description |
42
+ * |---|---|---|
43
+ * | `linesX` | `number` | Line count of the first family (integer ≥ 1) |
44
+ * | `linesY` | `number` | Line count of the second family (integer ≥ 1) |
45
+ * | `spacingX` | `number` | Spacing of the first family (Snaptrude units, > 0) |
46
+ * | `spacingY` | `number` | Spacing of the second family (Snaptrude units, > 0) |
47
+ * | `angle` | `number`? | Rotation in degrees, CCW about +Y (default 0) |
48
+ * | `center` | {@linkcode Vec3Handle}? | Placement centre; defaults to the native viewport-centre behavior |
49
+ * | …style | {@linkcode PluginGridStyleOptions} | Optional line styling |
50
+ */
51
+ export declare const PluginDesignCreateGridArgs: z.ZodObject<{
52
+ linesX: z.ZodNumber;
53
+ linesY: z.ZodNumber;
54
+ spacingX: z.ZodNumber;
55
+ spacingY: z.ZodNumber;
56
+ angle: z.ZodOptional<z.ZodNumber>;
57
+ center: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
58
+ style: z.ZodOptional<z.ZodEnum<{
59
+ SOLID: "SOLID";
60
+ DASHED: "DASHED";
61
+ DOT_DASH: "DOT_DASH";
62
+ }>>;
63
+ weight: z.ZodOptional<z.ZodNumber>;
64
+ color: z.ZodOptional<z.ZodString>;
65
+ showStart: z.ZodOptional<z.ZodBoolean>;
66
+ showEnd: z.ZodOptional<z.ZodBoolean>;
67
+ }, z.core.$strip>;
68
+ export type PluginDesignCreateGridArgs = z.infer<typeof PluginDesignCreateGridArgs>;
69
+ /**
70
+ * Arguments for {@linkcode PluginDesignCreateApi.gridFromCurve}.
71
+ *
72
+ * | Property | Type | Description |
73
+ * |---|---|---|
74
+ * | `curve` | {@linkcode CurveHandle} | The grid line's geometry — a line or arc (circles are rejected) |
75
+ * | `tag` | `string`? | The line's grid tag (defaults to the draw tool's next tag) |
76
+ * | …style | {@linkcode PluginGridStyleOptions} | Optional line styling |
77
+ */
78
+ export declare const PluginDesignCreateGridFromCurveArgs: z.ZodObject<{
79
+ curve: z.ZodUnion<readonly [z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"line">, string>>, z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"arc">, string>>]>;
80
+ tag: z.ZodOptional<z.ZodString>;
81
+ style: z.ZodOptional<z.ZodEnum<{
82
+ SOLID: "SOLID";
83
+ DASHED: "DASHED";
84
+ DOT_DASH: "DOT_DASH";
85
+ }>>;
86
+ weight: z.ZodOptional<z.ZodNumber>;
87
+ color: z.ZodOptional<z.ZodString>;
88
+ showStart: z.ZodOptional<z.ZodBoolean>;
89
+ showEnd: z.ZodOptional<z.ZodBoolean>;
90
+ }, z.core.$strip>;
91
+ export type PluginDesignCreateGridFromCurveArgs = z.infer<typeof PluginDesignCreateGridFromCurveArgs>;
92
+ /**
93
+ * Arguments for {@linkcode PluginDesignCreateApi.gridsFromMasses}.
94
+ *
95
+ * | Property | Type | Description |
96
+ * |---|---|---|
97
+ * | `masses` | {@linkcode ComponentHandle}`[]` | Masses whose footprints seat the grids |
98
+ * | `spacingX` | `number` | First-family spacing (Snaptrude units, > 0) |
99
+ * | `spacingY` | `number` | Second-family spacing (Snaptrude units, > 0) |
100
+ * | …style | {@linkcode PluginGridStyleOptions} | Optional line styling |
101
+ */
102
+ export declare const PluginDesignCreateGridsFromMassesArgs: z.ZodObject<{
103
+ masses: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
104
+ spacingX: z.ZodNumber;
105
+ spacingY: z.ZodNumber;
106
+ style: z.ZodOptional<z.ZodEnum<{
107
+ SOLID: "SOLID";
108
+ DASHED: "DASHED";
109
+ DOT_DASH: "DOT_DASH";
110
+ }>>;
111
+ weight: z.ZodOptional<z.ZodNumber>;
112
+ color: z.ZodOptional<z.ZodString>;
113
+ showStart: z.ZodOptional<z.ZodBoolean>;
114
+ showEnd: z.ZodOptional<z.ZodBoolean>;
115
+ }, z.core.$strip>;
116
+ export type PluginDesignCreateGridsFromMassesArgs = z.infer<typeof PluginDesignCreateGridsFromMassesArgs>;
117
+ /**
118
+ * Arguments for {@linkcode PluginDesignCreateApi.columnsFromGrids}.
119
+ *
120
+ * | Property | Type | Description |
121
+ * |---|---|---|
122
+ * | `grids` | {@linkcode ComponentHandle}`[]` | Grid groups whose line intersections seat the columns |
123
+ * | `width` | `number` | Column width (Snaptrude units, > 0) |
124
+ * | `depth` | `number` | Column depth (Snaptrude units, > 0) |
125
+ */
126
+ export declare const PluginDesignCreateColumnsFromGridsArgs: z.ZodObject<{
127
+ grids: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
128
+ width: z.ZodNumber;
129
+ depth: z.ZodNumber;
130
+ }, z.core.$strip>;
131
+ export type PluginDesignCreateColumnsFromGridsArgs = z.infer<typeof PluginDesignCreateColumnsFromGridsArgs>;
132
+ //# sourceMappingURL=grids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grids.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/grids.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAA2B,MAAM,kBAAkB,CAAA;AAM3E;;;GAGG;AACH,eAAO,MAAM,mBAAmB;;;;EAA0C,CAAA;AAC1E,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;iBASjC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAM3E;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;iBASP,CAAA;AAChC,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAMnF;;;;;;;;GAQG;AACH,eAAO,MAAM,mCAAmC;;;;;;;;;;;;iBAKhB,CAAA;AAChC,MAAM,MAAM,mCAAmC,GAAG,CAAC,CAAC,KAAK,CACvD,OAAO,mCAAmC,CAC3C,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,qCAAqC;;;;;;;;;;;;;iBAMlB,CAAA;AAChC,MAAM,MAAM,qCAAqC,GAAG,CAAC,CAAC,KAAK,CACzD,OAAO,qCAAqC,CAC7C,CAAA;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,sCAAsC;;;;iBAIjD,CAAA;AACF,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAC1D,OAAO,sCAAsC,CAC9C,CAAA"}
@@ -1,6 +1,7 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../../types";
3
- import { BrepHandle, ComponentHandle, ContourHandle, ProfileHandle, Vec3Handle } from "../../../handles";
3
+ import { BrepHandle, ComponentHandle, ContourHandle, CurveHandle, ProfileHandle, Vec3Handle } from "../../../handles";
4
+ import { PluginGridStyleOptions } from "./grids";
4
5
  import { PluginSpaceType, PluginMassType, PluginDepartmentId } from "../../entity/space";
5
6
  import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeCreateResult } from "../../entity/buildableEnvelope";
6
7
  import type { PluginCreateDoorItem, PluginCreateFloorItem, PluginCreateFurnitureItem, PluginCreateWallRunItem, PluginCreateWindowItem } from "./bulk-items";
@@ -524,6 +525,112 @@ export declare abstract class PluginDesignCreateApi {
524
525
  * ```
525
526
  */
526
527
  abstract referenceLines(profile: ProfileHandle, color?: string, thickness?: number, style?: PluginReferenceLineStyle, gridTag?: string): PluginApiReturn<ComponentHandle[]>;
528
+ /**
529
+ * Create a free rectangular **structural grid** — one grid group with two
530
+ * perpendicular line families (`linesX` lines spaced `spacingX` apart, and
531
+ * `linesY` lines spaced `spacingY` apart) on the active storey. One undoable
532
+ * creation.
533
+ *
534
+ * Units: spacings in Snaptrude units; `angle` in degrees (CCW about +Y,
535
+ * default 0). Without `center` the grid is centred on the current viewport
536
+ * (the native tool's behavior) — pass `center` for deterministic placement.
537
+ *
538
+ * @param linesX - Line count of the first family (integer ≥ 1)
539
+ * @param linesY - Line count of the second family (integer ≥ 1)
540
+ * @param spacingX - First-family spacing (Snaptrude units, > 0)
541
+ * @param spacingY - Second-family spacing (Snaptrude units, > 0)
542
+ * @param options - `angle`, `center`, and {@linkcode PluginGridStyleOptions}
543
+ * @returns the created grid group's {@linkcode ComponentHandle}
544
+ *
545
+ * @examplePrompt Create a 5 by 8 structural grid with 6 metre spacing
546
+ * @examplePrompt Add a column grid rotated 30 degrees
547
+ * @examplePrompt Set up a structural grid at the site origin
548
+ *
549
+ * # Example
550
+ * ```ts
551
+ * const centre = await snaptrude.core.math.vec3.new(0, 0, 0)
552
+ * const grid = await snaptrude.design.create.grid(5, 8, 6, 6, { center: centre })
553
+ * ```
554
+ */
555
+ abstract grid(linesX: number, linesY: number, spacingX: number, spacingY: number, options?: {
556
+ angle?: number;
557
+ center?: Vec3Handle;
558
+ } & PluginGridStyleOptions): PluginApiReturn<ComponentHandle>;
559
+ /**
560
+ * Create a **structural grid from a single curve** — one grid group holding
561
+ * one wing with one line (the draw tool's output). The curve may be a line
562
+ * or an arc; circles are rejected with `VALIDATION`. Undoable.
563
+ *
564
+ * @param curve - The grid line's geometry ({@linkcode CurveHandle}, world space)
565
+ * @param options - `tag` (defaults to the draw tool's next tag) and
566
+ * {@linkcode PluginGridStyleOptions}
567
+ * @returns the created grid group's {@linkcode ComponentHandle}
568
+ *
569
+ * @examplePrompt Draw a grid line from A to B
570
+ * @examplePrompt Add a curved grid line through these points
571
+ * @examplePrompt Create grid line "C" along this wall
572
+ *
573
+ * # Example
574
+ * ```ts
575
+ * const { vec3 } = snaptrude.core.math
576
+ * const from = await vec3.new(0, 0, 0)
577
+ * const to = await vec3.new(30, 0, 0)
578
+ * const curve = await snaptrude.core.geom.create.line(from, to)
579
+ * const grid = await snaptrude.design.create.gridFromCurve(curve, { tag: "A" })
580
+ * ```
581
+ */
582
+ abstract gridFromCurve(curve: CurveHandle, options?: {
583
+ tag?: string;
584
+ } & PluginGridStyleOptions): PluginApiReturn<ComponentHandle>;
585
+ /**
586
+ * Generate **structural grids fitted to mass footprints** — one grid group
587
+ * per footprint cluster, with counts and orientation derived from each
588
+ * footprint's geometry and the given spacings. All created groups commit as
589
+ * ONE undoable unit.
590
+ *
591
+ * Lenient like the native tool: masses without an extractable footprint
592
+ * (no B-rep, degenerate top face) are skipped; throws `VALIDATION` only when
593
+ * NONE of the given masses yields a footprint.
594
+ *
595
+ * @param masses - Masses whose footprints seat the grids
596
+ * @param spacingX - First-family spacing (Snaptrude units, > 0)
597
+ * @param spacingY - Second-family spacing (Snaptrude units, > 0)
598
+ * @param options - {@linkcode PluginGridStyleOptions}
599
+ * @returns the created grid groups' {@linkcode ComponentHandle}`[]`
600
+ *
601
+ * @examplePrompt Generate grids for the selected masses
602
+ * @examplePrompt Auto-generate a 6m structural grid on this building
603
+ * @examplePrompt Fit column grids to every mass on this storey
604
+ *
605
+ * # Example
606
+ * ```ts
607
+ * const masses = await snaptrude.design.query.listMasses({ storeys: [1] })
608
+ * const grids = await snaptrude.design.create.gridsFromMasses(masses, 6, 6)
609
+ * ```
610
+ */
611
+ abstract gridsFromMasses(masses: ComponentHandle[], spacingX: number, spacingY: number, options?: PluginGridStyleOptions): PluginApiReturn<ComponentHandle[]>;
612
+ /**
613
+ * Create **columns at every grid-line intersection** of the given grid
614
+ * groups, sized `width` × `depth` and oriented to the grid axes, on the
615
+ * grids' storey. All columns commit as ONE undoable unit.
616
+ *
617
+ * @param grids - Grid groups whose intersections seat the columns
618
+ * @param width - Column width (Snaptrude units, > 0)
619
+ * @param depth - Column depth (Snaptrude units, > 0)
620
+ * @returns the created columns' {@linkcode ComponentHandle}`[]`
621
+ * @throws `VALIDATION` when an id does not resolve to a grid group;
622
+ * `OPERATION_FAILED` when the grids have no line intersections
623
+ *
624
+ * @examplePrompt Generate columns on this grid
625
+ * @examplePrompt Place 450mm square columns at every grid intersection
626
+ *
627
+ * # Example
628
+ * ```ts
629
+ * const grids = await snaptrude.design.query.listGrids()
630
+ * const columns = await snaptrude.design.create.columnsFromGrids(grids, 0.45, 0.45)
631
+ * ```
632
+ */
633
+ abstract columnsFromGrids(grids: ComponentHandle[], width: number, depth: number): PluginApiReturn<ComponentHandle[]>;
527
634
  /**
528
635
  * Place a **furniture** item from the project library at a world position.
529
636
  *
@@ -1636,4 +1743,5 @@ export declare const PluginCreateSpaceItem: z.ZodObject<{
1636
1743
  export type PluginCreateSpaceItem = z.infer<typeof PluginCreateSpaceItem>;
1637
1744
  export * from "./opening-fields";
1638
1745
  export * from "./bulk-items";
1746
+ export * from "./grids";
1639
1747
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,237 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../types";
3
+ import { ComponentHandle } from "../../handles";
4
+ /**
5
+ * Tag policy for structural line removal (mirrors the engine
6
+ * `GridLineTagPolicy` values verbatim): `"rewrite"` renumbers each affected
7
+ * wing's tag sequence after removal; `"preserve"` keeps the surviving lines'
8
+ * tags unchanged.
9
+ */
10
+ export declare const PluginGridLineTagPolicy: z.ZodEnum<{
11
+ preserve: "preserve";
12
+ rewrite: "rewrite";
13
+ }>;
14
+ export type PluginGridLineTagPolicy = z.infer<typeof PluginGridLineTagPolicy>;
15
+ /** A positional grid-line address — indices into `design.query.grids.get`'s `wings` arrays. */
16
+ export declare const PluginGridLineAddress: z.ZodObject<{
17
+ wing: z.ZodNumber;
18
+ line: z.ZodNumber;
19
+ }, z.core.$strip>;
20
+ export type PluginGridLineAddress = z.infer<typeof PluginGridLineAddress>;
21
+ /**
22
+ * One per-wing entry of {@linkcode PluginDesignGridsApi.updateWings} —
23
+ * addressed by wing index. `spanMin`/`spanMax` move the family's length
24
+ * handles (Snaptrude units).
25
+ */
26
+ export declare const PluginGridWingEntry: z.ZodObject<{
27
+ wing: z.ZodNumber;
28
+ spacing: z.ZodOptional<z.ZodNumber>;
29
+ count: z.ZodOptional<z.ZodNumber>;
30
+ spanMin: z.ZodOptional<z.ZodNumber>;
31
+ spanMax: z.ZodOptional<z.ZodNumber>;
32
+ }, z.core.$strip>;
33
+ export type PluginGridWingEntry = z.infer<typeof PluginGridWingEntry>;
34
+ /** Arguments for {@linkcode PluginDesignGridsApi.updateWings}. */
35
+ export declare const PluginDesignGridsUpdateWingsArgs: z.ZodObject<{
36
+ grid: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
37
+ wings: z.ZodArray<z.ZodObject<{
38
+ wing: z.ZodNumber;
39
+ spacing: z.ZodOptional<z.ZodNumber>;
40
+ count: z.ZodOptional<z.ZodNumber>;
41
+ spanMin: z.ZodOptional<z.ZodNumber>;
42
+ spanMax: z.ZodOptional<z.ZodNumber>;
43
+ }, z.core.$strip>>;
44
+ }, z.core.$strip>;
45
+ export type PluginDesignGridsUpdateWingsArgs = z.infer<typeof PluginDesignGridsUpdateWingsArgs>;
46
+ /**
47
+ * One per-line entry of {@linkcode PluginDesignGridsApi.updateLines} —
48
+ * addressed positionally by `{ wing, line }` indices (invalidated by
49
+ * structural edits; re-query after mutating). `distanceToPrevious` /
50
+ * `distanceToNext` set the typed distance to the adjacent line on that side
51
+ * and are mutually exclusive.
52
+ *
53
+ * `visible` is **hide-only** (`false`), mirroring the product: per-line show
54
+ * does not exist — showing the GROUP (`design.visibility.show`) restores all
55
+ * of its lines, exactly like the native Show All.
56
+ */
57
+ export declare const PluginGridLineEntry: z.ZodObject<{
58
+ wing: z.ZodNumber;
59
+ line: z.ZodNumber;
60
+ tag: z.ZodOptional<z.ZodString>;
61
+ distanceToPrevious: z.ZodOptional<z.ZodNumber>;
62
+ distanceToNext: z.ZodOptional<z.ZodNumber>;
63
+ props: z.ZodOptional<z.ZodObject<{
64
+ style: z.ZodOptional<z.ZodEnum<{
65
+ SOLID: "SOLID";
66
+ DASHED: "DASHED";
67
+ DOT_DASH: "DOT_DASH";
68
+ }>>;
69
+ weight: z.ZodOptional<z.ZodNumber>;
70
+ color: z.ZodOptional<z.ZodString>;
71
+ showStart: z.ZodOptional<z.ZodBoolean>;
72
+ showEnd: z.ZodOptional<z.ZodBoolean>;
73
+ }, z.core.$strip>>;
74
+ visible: z.ZodOptional<z.ZodLiteral<false>>;
75
+ }, z.core.$strip>;
76
+ export type PluginGridLineEntry = z.infer<typeof PluginGridLineEntry>;
77
+ /** Arguments for {@linkcode PluginDesignGridsApi.updateLines}. */
78
+ export declare const PluginDesignGridsUpdateLinesArgs: z.ZodObject<{
79
+ grid: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
80
+ lines: z.ZodArray<z.ZodObject<{
81
+ wing: z.ZodNumber;
82
+ line: z.ZodNumber;
83
+ tag: z.ZodOptional<z.ZodString>;
84
+ distanceToPrevious: z.ZodOptional<z.ZodNumber>;
85
+ distanceToNext: z.ZodOptional<z.ZodNumber>;
86
+ props: z.ZodOptional<z.ZodObject<{
87
+ style: z.ZodOptional<z.ZodEnum<{
88
+ SOLID: "SOLID";
89
+ DASHED: "DASHED";
90
+ DOT_DASH: "DOT_DASH";
91
+ }>>;
92
+ weight: z.ZodOptional<z.ZodNumber>;
93
+ color: z.ZodOptional<z.ZodString>;
94
+ showStart: z.ZodOptional<z.ZodBoolean>;
95
+ showEnd: z.ZodOptional<z.ZodBoolean>;
96
+ }, z.core.$strip>>;
97
+ visible: z.ZodOptional<z.ZodLiteral<false>>;
98
+ }, z.core.$strip>>;
99
+ }, z.core.$strip>;
100
+ export type PluginDesignGridsUpdateLinesArgs = z.infer<typeof PluginDesignGridsUpdateLinesArgs>;
101
+ /** Arguments for {@linkcode PluginDesignGridsApi.addLine}. */
102
+ export declare const PluginDesignGridsAddLineArgs: z.ZodObject<{
103
+ grid: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
104
+ wing: z.ZodNumber;
105
+ position: z.ZodNumber;
106
+ }, z.core.$strip>;
107
+ export type PluginDesignGridsAddLineArgs = z.infer<typeof PluginDesignGridsAddLineArgs>;
108
+ /** Arguments for {@linkcode PluginDesignGridsApi.removeLines}. */
109
+ export declare const PluginDesignGridsRemoveLinesArgs: z.ZodObject<{
110
+ grid: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
111
+ lines: z.ZodArray<z.ZodObject<{
112
+ wing: z.ZodNumber;
113
+ line: z.ZodNumber;
114
+ }, z.core.$strip>>;
115
+ tagPolicy: z.ZodOptional<z.ZodEnum<{
116
+ preserve: "preserve";
117
+ rewrite: "rewrite";
118
+ }>>;
119
+ }, z.core.$strip>;
120
+ export type PluginDesignGridsRemoveLinesArgs = z.infer<typeof PluginDesignGridsRemoveLinesArgs>;
121
+ /**
122
+ * `design.grids.*` — structural edits on a grid's line structure (the
123
+ * entity-family home for grid-specific operations, like `design.doors`).
124
+ *
125
+ * Lines are addressed positionally as `{ wing, line }` index pairs into the
126
+ * `wings` arrays returned by `design.query.grids.get`. Adding, removing, or
127
+ * re-counting lines re-indexes the wing — re-query after every structural edit.
128
+ *
129
+ * Group-level edits (default styling, angle, storey visibility) live on
130
+ * `design.update.grid`; creation lives on `design.create.grid*`.
131
+ *
132
+ * Accessed via `snaptrude.design.grids`.
133
+ */
134
+ export declare abstract class PluginDesignGridsApi {
135
+ constructor();
136
+ /**
137
+ * Update one or more **wings** of a grid with sparse per-wing entries —
138
+ * `spacing` (uniform re-space), `count` (grow/truncate + tag renumber),
139
+ * `spanMin`/`spanMax` (family length handles). Every change routes through
140
+ * the exact setters the native panel uses — each changed field commits its
141
+ * own undoable command, identical to editing that field in the panel.
142
+ *
143
+ * A `count` change re-indexes the wing's lines — positional `{ wing, line }`
144
+ * addresses held from before the call are stale afterwards; re-query.
145
+ *
146
+ * @param grid - The grid group
147
+ * @param wings - Sparse {@linkcode PluginGridWingEntry} entries (≥ 1)
148
+ * @returns `true` once applied
149
+ *
150
+ * @examplePrompt Change this grid's spacing to 8 metres
151
+ * @examplePrompt Make this grid 10 by 12 lines
152
+ *
153
+ * # Example
154
+ * ```ts
155
+ * await snaptrude.design.grids.updateWings(grid, [{ wing: 0, spacing: 8, count: 10 }])
156
+ * ```
157
+ */
158
+ abstract updateWings(grid: ComponentHandle, wings: PluginGridWingEntry[]): PluginApiReturn<boolean>;
159
+ /**
160
+ * Update one or more **lines** of a grid with sparse per-line entries —
161
+ * `tag`, `distanceToPrevious`/`distanceToNext` (typed distance to the
162
+ * neighbour on that side; mutually exclusive), `props` (per-line style
163
+ * overrides), and `visible: false` (hide). Every change routes through the
164
+ * exact setters the native panel uses — each changed field commits its own
165
+ * undoable command, identical to editing that field in the panel.
166
+ *
167
+ * Visibility mirrors the product exactly: `visible` accepts only `false` —
168
+ * per-line show does not exist. Hiding lines that would leave NO visible
169
+ * line hides the whole GROUP instead (the native last-line rule; those line
170
+ * flags stay untouched). To bring hidden lines back, show the group
171
+ * (`design.visibility.show([grid])`) — it restores ALL of its lines, like
172
+ * the native Show All.
173
+ *
174
+ * @param grid - The grid group
175
+ * @param lines - Sparse {@linkcode PluginGridLineEntry} entries (≥ 1)
176
+ * @returns `true` once applied
177
+ *
178
+ * @examplePrompt Rename grid line 2 to "B"
179
+ * @examplePrompt Move this grid line 4 metres from its neighbour
180
+ * @examplePrompt Hide grid line 3 on this grid
181
+ *
182
+ * # Example
183
+ * ```ts
184
+ * await snaptrude.design.grids.updateLines(grid, [
185
+ * { wing: 0, line: 1, tag: "B", distanceToPrevious: 4 },
186
+ * ])
187
+ * ```
188
+ */
189
+ abstract updateLines(grid: ComponentHandle, lines: PluginGridLineEntry[]): PluginApiReturn<boolean>;
190
+ /**
191
+ * Insert a parallel grid line into a wing at an explicit position along the
192
+ * wing's spacing axis (Snaptrude units, wing-local — line 0's position can
193
+ * be read from its curve). Sibling lines do not shift; the wing's tag
194
+ * sequence is renumbered. Undoable.
195
+ *
196
+ * @param grid - The grid group
197
+ * @param wing - Wing index
198
+ * @param position - Position along the wing's spacing axis (Snaptrude units)
199
+ * @returns `true` once inserted
200
+ * @throws `VALIDATION` on a bad wing index or non-finite position
201
+ *
202
+ * @examplePrompt Add a grid line between lines 2 and 3
203
+ * @examplePrompt Insert an extra grid line 4 metres from line A
204
+ *
205
+ * # Example
206
+ * ```ts
207
+ * await snaptrude.design.grids.addLine(grid, 0, 12.5)
208
+ * ```
209
+ */
210
+ abstract addLine(grid: ComponentHandle, wing: number, position: number): PluginApiReturn<boolean>;
211
+ /**
212
+ * Remove grid lines by positional address, as ONE undoable step. With
213
+ * `tagPolicy: "rewrite"` (default) each affected wing renumbers its tag
214
+ * sequence; `"preserve"` keeps surviving tags unchanged. A wing emptied of
215
+ * lines is dropped from the group.
216
+ *
217
+ * Removing EVERY line of the group is rejected — delete the group instead
218
+ * (`design.delete.entities`).
219
+ *
220
+ * @param grid - The grid group
221
+ * @param lines - Positional addresses to remove (see `design.query.grids.get`)
222
+ * @param tagPolicy - `"rewrite"` (default) or `"preserve"`
223
+ * @returns `true` once removed
224
+ * @throws `VALIDATION` on out-of-range addresses; `OPERATION_FAILED` when the
225
+ * removal would delete the group's last line
226
+ *
227
+ * @examplePrompt Delete grid line B
228
+ * @examplePrompt Remove the last two lines of this grid without renumbering
229
+ *
230
+ * # Example
231
+ * ```ts
232
+ * await snaptrude.design.grids.removeLines(grid, [{ wing: 0, line: 2 }], "preserve")
233
+ * ```
234
+ */
235
+ abstract removeLines(grid: ComponentHandle, lines: PluginGridLineAddress[], tagPolicy?: PluginGridLineTagPolicy): PluginApiReturn<boolean>;
236
+ }
237
+ //# sourceMappingURL=grids.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grids.d.ts","sourceRoot":"","sources":["../../../src/api/design/grids.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;AAG/C;;;;;GAKG;AACH,eAAO,MAAM,uBAAuB;;;EAAkC,CAAA;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,+FAA+F;AAC/F,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAA;AACF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,kEAAkE;AAClE,eAAO,MAAM,gCAAgC;;;;;;;;;iBAG3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACpD,OAAO,gCAAgC,CACxC,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;iBAkB5B,CAAA;AACJ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AAErE,kEAAkE;AAClE,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;iBAG3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACpD,OAAO,gCAAgC,CACxC,CAAA;AAED,8DAA8D;AAC9D,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF,kEAAkE;AAClE,eAAO,MAAM,gCAAgC;;;;;;;;;;iBAI3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACpD,OAAO,gCAAgC,CACxC,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,WAAW,CACzB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;aACa,WAAW,CACzB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,mBAAmB,EAAE,GAC3B,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;OAmBG;aACa,OAAO,CACrB,IAAI,EAAE,eAAe,EACrB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,WAAW,CACzB,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,qBAAqB,EAAE,EAC9B,SAAS,CAAC,EAAE,uBAAuB,GAClC,eAAe,CAAC,OAAO,CAAC;CAC5B"}
@@ -16,6 +16,7 @@ import { PluginDesignUpdateApi } from "./update";
16
16
  import { PluginDesignVisibilityApi } from "./visibility";
17
17
  import { PluginDesignDimensionsApi } from "./dimensions";
18
18
  import { PluginDesignTypesApi } from "./types";
19
+ import { PluginDesignGridsApi } from "./grids";
19
20
  import { PluginDesignChangeResult } from "./lock";
20
21
  /**
21
22
  * `snaptrude.design.*` — author, query & edit BIM geometry.
@@ -70,6 +71,8 @@ export declare abstract class PluginDesignApi {
70
71
  abstract dimensions: PluginDesignDimensionsApi;
71
72
  /** Read-only building type / assembly reference. See {@linkcode PluginDesignTypesApi}. */
72
73
  abstract types: PluginDesignTypesApi;
74
+ /** Structural edits on a grid's line structure. See {@linkcode PluginDesignGridsApi}. */
75
+ abstract grids: PluginDesignGridsApi;
73
76
  /**
74
77
  * Lock entities so they cannot be edited. Undoable. Cascades to void/door/window
75
78
  * children, stacked-wall companions, and terrain neighborhood; skips
@@ -248,4 +251,5 @@ export * from "./update";
248
251
  export * from "./visibility";
249
252
  export * from "./dimensions";
250
253
  export * from "./types";
254
+ export * from "./grids";
251
255
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/design/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/design/index.ts"],"names":[],"mappings":"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"}