@snaptrude/plugin-core 0.9.15 → 0.9.16-networks-20261009.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.
Files changed (59) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/api/analysis/daylight.d.ts +5 -5
  3. package/dist/api/analysis/solar.d.ts +2 -2
  4. package/dist/api/core/camera/index.d.ts +418 -0
  5. package/dist/api/core/camera/index.d.ts.map +1 -1
  6. package/dist/api/design/bim.d.ts +209 -0
  7. package/dist/api/design/bim.d.ts.map +1 -0
  8. package/dist/api/design/catalog.d.ts +242 -0
  9. package/dist/api/design/catalog.d.ts.map +1 -0
  10. package/dist/api/design/create/bulk-items.d.ts +40 -21
  11. package/dist/api/design/create/bulk-items.d.ts.map +1 -1
  12. package/dist/api/design/create/index.d.ts +120 -97
  13. package/dist/api/design/create/index.d.ts.map +1 -1
  14. package/dist/api/design/create/opening-fields.d.ts +13 -12
  15. package/dist/api/design/create/opening-fields.d.ts.map +1 -1
  16. package/dist/api/design/doors/index.d.ts +18 -24
  17. package/dist/api/design/doors/index.d.ts.map +1 -1
  18. package/dist/api/design/family.d.ts +576 -12
  19. package/dist/api/design/family.d.ts.map +1 -1
  20. package/dist/api/design/index.d.ts +16 -0
  21. package/dist/api/design/index.d.ts.map +1 -1
  22. package/dist/api/design/networks.d.ts +1703 -0
  23. package/dist/api/design/networks.d.ts.map +1 -0
  24. package/dist/api/design/query/index.d.ts +30 -30
  25. package/dist/api/design/selection/index.d.ts +10 -10
  26. package/dist/api/design/types/index.d.ts +40 -24
  27. package/dist/api/design/types/index.d.ts.map +1 -1
  28. package/dist/api/design/update/index.d.ts +40 -3
  29. package/dist/api/design/update/index.d.ts.map +1 -1
  30. package/dist/api/design/windows/index.d.ts +8 -8
  31. package/dist/api/design/windows/index.d.ts.map +1 -1
  32. package/dist/api/presentation/aiInspiration.d.ts +10 -10
  33. package/dist/api/presentation/index.d.ts +9 -0
  34. package/dist/api/presentation/index.d.ts.map +1 -1
  35. package/dist/api/presentation/walkthroughs.d.ts +1350 -0
  36. package/dist/api/presentation/walkthroughs.d.ts.map +1 -0
  37. package/dist/index.cjs +3262 -2185
  38. package/dist/index.cjs.map +1 -1
  39. package/dist/index.js +3153 -2185
  40. package/dist/index.js.map +1 -1
  41. package/package.json +1 -1
  42. package/scripts/generate-manifest.mjs +5 -0
  43. package/src/api/core/camera/index.ts +400 -1
  44. package/src/api/design/bim.ts +121 -0
  45. package/src/api/design/catalog.ts +128 -0
  46. package/src/api/design/create/bulk-items.ts +23 -16
  47. package/src/api/design/create/index.ts +129 -119
  48. package/src/api/design/create/opening-fields.ts +15 -12
  49. package/src/api/design/doors/index.ts +58 -42
  50. package/src/api/design/family.ts +470 -17
  51. package/src/api/design/index.ts +34 -4
  52. package/src/api/design/networks.ts +607 -0
  53. package/src/api/design/types/index.ts +31 -24
  54. package/src/api/design/update/index.ts +41 -3
  55. package/src/api/design/windows/index.ts +40 -22
  56. package/src/api/presentation/index.ts +9 -0
  57. package/src/api/presentation/walkthroughs.ts +1201 -0
  58. package/api-manifest.full.json +0 -8930
  59. package/api-manifest.json +0 -9318
@@ -1,11 +1,13 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../../types";
3
- import { BrepHandle, ComponentHandle, ContourHandle, CurveHandle, ProfileHandle, Vec3Handle } from "../../../handles";
3
+ import { BrepHandle, ComponentHandle, ContourHandle, LineHandle, CurveHandle, ProfileHandle, Vec3Handle } from "../../../handles";
4
4
  import { PluginGridStyleOptions } from "./grids";
5
5
  import { PluginSpaceType, PluginMassType, PluginDepartmentId } from "../../entity/space";
6
6
  import { PluginBuildableEnvelopePolygonVertex, PluginBuildableEnvelopeSetbackTier, PluginBuildableEnvelopeVerticalCap, PluginBuildableEnvelopeCreateResult } from "../../entity/buildableEnvelope";
7
7
  import type { PluginCreateDoorItem, PluginCreateFloorItem, PluginCreateFurnitureItem, PluginCreateWallRunItem, PluginCreateWindowItem } from "./bulk-items";
8
8
  import { PluginWallTopProfile } from "./bulk-items";
9
+ import { PluginWallType } from "../types";
10
+ import { PluginFamilyPlacement, PluginFamilyFloorOptions, PluginFamilySlabOptions, PluginFamilyCeilingOptions, PluginFamilyValues } from "../catalog";
9
11
  /**
10
12
  * `design.create.*` — author new scene-committed BIM entities.
11
13
  *
@@ -19,7 +21,13 @@ import { PluginWallTopProfile } from "./bulk-items";
19
21
  * Footprint objects take a {@linkcode ContourHandle} (outer profile + holes);
20
22
  * build one with `snaptrude.core.geom.create.contourFromProfile(s)`.
21
23
  *
22
- * `door`/`window` place a catalog item into a host wall (the world point is
24
+ * Family overloads take `{ type, values? }` from `design.catalog`. The family supplies
25
+ * construction; the contour or axis supplies instance geometry. Geometry uses SU,
26
+ * while family length overrides use mm and angles use degrees. Omitted parameters
27
+ * retain family defaults; shared/type, formula and geometry-bound overrides are refused.
28
+ * Placement never publishes a definition. Unsupported references or geometry fail before mutation.
29
+ *
30
+ * `door`/`window` place a parametric family into a host wall (the world point is
23
31
  * projected onto the wall face to locate the opening; the wall is re-cut in one
24
32
  * undo entry) and throw if the point projects outside the wall. `smartLayout` is
25
33
  * the one creator returning a grouped {@linkcode PluginSmartLayoutResult} rather
@@ -172,15 +180,25 @@ export declare abstract class PluginDesignCreateApi {
172
180
  * const slab = await snaptrude.design.create.slab(contour, 0.15, "down", "Plinth")
173
181
  * ```
174
182
  */
175
- abstract slab(contour: ContourHandle, thickness: number, direction?: "up" | "down", slabType?: PluginSlabType): PluginApiReturn<ComponentHandle>;
183
+ abstract slab(...args: [
184
+ contour: ContourHandle,
185
+ thickness: number,
186
+ direction?: "up" | "down",
187
+ slabType?: PluginSlabType
188
+ ] | [contour: ContourHandle, options: PluginFamilySlabOptions]): PluginApiReturn<ComponentHandle>;
176
189
  /**
177
190
  * Create a **floor** by extruding a footprint contour by `thickness`
178
191
  * (extruded upward).
179
192
  *
193
+ * The native family overload takes `{ type, values?, position? }`. Contour
194
+ * geometry uses SU; family values use mm. The family supplies layer thickness.
195
+ * PG2 can split or merge the footprint, so both overloads return an array.
196
+ * A merge into an existing floor can return no newly created handles.
197
+ *
180
198
  * @param contour - Footprint (outer + holes)
181
199
  * @param thickness - Floor thickness (> 0)
182
200
  * @param position - Offset from origin
183
- * @returns the {@linkcode ComponentHandle} of the created floor
201
+ * @returns Newly created {@linkcode ComponentHandle}s; an empty array after a merge
184
202
  * @throws if the contour is invalid or the thickness is not positive
185
203
  *
186
204
  * @examplePrompt Create a floor from this room outline
@@ -195,11 +213,11 @@ export declare abstract class PluginDesignCreateApi {
195
213
  * const floor = await snaptrude.design.create.floor(contour, 0.1)
196
214
  * ```
197
215
  *
198
- * @performance For MORE THAN ONE floor, call `design.create.floors(items[])` — one
199
- * host round-trip and ONE undo entry for the whole batch. Looping this single-floor
200
- * creator is N round-trips and N undo entries.
216
+ * @performance For dimensional floors, `design.create.floors(items[])` uses one
217
+ * host round-trip and one undo entry. That bulk method does not accept native
218
+ * family options; use this method for a family-backed floor.
201
219
  */
202
- abstract floor(contour: ContourHandle, thickness: number, position?: Vec3Handle): PluginApiReturn<ComponentHandle>;
220
+ abstract floor(...args: [contour: ContourHandle, thickness: number, position?: Vec3Handle] | [contour: ContourHandle, options: PluginFamilyFloorOptions]): PluginApiReturn<ComponentHandle[]>;
203
221
  /**
204
222
  * Create **many floors** in one undoable operation (bulk plural of
205
223
  * {@linkcode floor}). Each item extrudes its own footprint contour (outer
@@ -258,7 +276,7 @@ export declare abstract class PluginDesignCreateApi {
258
276
  * const roof = await snaptrude.design.create.roof(contour, 0.2)
259
277
  * ```
260
278
  */
261
- abstract roof(contour: ContourHandle, thickness: number): PluginApiReturn<ComponentHandle>;
279
+ abstract roof(contour: ContourHandle, thickness: number | PluginFamilyPlacement): PluginApiReturn<ComponentHandle>;
262
280
  /**
263
281
  * Create a **ceiling** by extruding a footprint contour by `thickness`, lifted
264
282
  * `heightFromFloor` above the floor.
@@ -281,7 +299,7 @@ export declare abstract class PluginDesignCreateApi {
281
299
  * const ceiling = await snaptrude.design.create.ceiling(contour, 0.05, 2.8)
282
300
  * ```
283
301
  */
284
- abstract ceiling(contour: ContourHandle, thickness: number, heightFromFloor?: number): PluginApiReturn<ComponentHandle>;
302
+ abstract ceiling(...args: [contour: ContourHandle, thickness: number, heightFromFloor?: number] | [contour: ContourHandle, options: PluginFamilyCeilingOptions]): PluginApiReturn<ComponentHandle>;
285
303
  /**
286
304
  * Create a **column** by extruding a cross-section contour upward by `height`
287
305
  * from a base `position`. The column is built to EXACTLY `height` — unlike
@@ -309,7 +327,12 @@ export declare abstract class PluginDesignCreateApi {
309
327
  * const column = await snaptrude.design.create.column(base, crossSection, 3)
310
328
  * ```
311
329
  */
312
- abstract column(position: Vec3Handle, crossSection: ContourHandle, height: number, directionUp?: Vec3Handle): PluginApiReturn<ComponentHandle>;
330
+ abstract column(...args: [
331
+ position: Vec3Handle,
332
+ crossSection: ContourHandle,
333
+ height: number,
334
+ directionUp?: Vec3Handle
335
+ ] | [axis: LineHandle, options: PluginFamilyPlacement]): PluginApiReturn<ComponentHandle>;
313
336
  /**
314
337
  * Create a **beam** by extruding a cross-section contour along `direction` by
315
338
  * `length`. Matches the Snaptrude beam tool's semantics: the beam body hangs
@@ -350,7 +373,7 @@ export declare abstract class PluginDesignCreateApi {
350
373
  * const beam = await snaptrude.design.create.beam(section, 6, alongX)
351
374
  * ```
352
375
  */
353
- abstract beam(section: ContourHandle, length: number, direction?: Vec3Handle): PluginApiReturn<ComponentHandle>;
376
+ abstract beam(...args: [section: ContourHandle, length: number, direction?: Vec3Handle] | [axis: LineHandle, options: PluginFamilyPlacement]): PluginApiReturn<ComponentHandle>;
354
377
  /**
355
378
  * Create a connected run of **walls** from a profile — one wall per curve in
356
379
  * the profile's chain, with mitred corners at shared endpoints.
@@ -359,12 +382,12 @@ export declare abstract class PluginDesignCreateApi {
359
382
  * @param height - Wall height (default engine default)
360
383
  * @param thickness - Wall thickness (default: the `wallType`'s total layer
361
384
  * thickness when `wallType` is given, else the engine default)
362
- * @param wallType - Wall type to build with — the same searchable list the
363
- * Draw tab's Wall Type dropdown offers. Pass a name from
364
- * `design.types.list("wall")` (the summary's `label`, or its `"wall:…"` id).
365
- * Drives the wall's construction layers and default material, and — when
366
- * `thickness` is omitted — its total layer thickness. Default: the engine's
367
- * generic wall.
385
+ * @param wallType - Legacy label/`wall:` id, or the exact `nativeFamily`
386
+ * `{ id, version }` pin from `design.types.list("wall")`. Native pins are
387
+ * authorized on every use; selecting a family in Draw is not registration.
388
+ * Native pins support straight horizontal centerlines and flat tops only.
389
+ * Omit thickness for native pins; a conflicting explicit thickness rejects.
390
+ * Default: the engine's generic wall.
368
391
  * @param storey - Target storey (integer: `1` ground, `2` first floor, `-1`
369
392
  * basement — same convention as `design.create.space`). The walls are
370
393
  * assigned to it and lifted to its base elevation, all inside the same
@@ -419,7 +442,7 @@ export declare abstract class PluginDesignCreateApi {
419
442
  * host round-trip and ONE undo entry for every run in the batch. Looping this
420
443
  * single-run creator is N round-trips and N undo entries.
421
444
  */
422
- abstract walls(profile: ProfileHandle, height?: number, thickness?: number, wallType?: string, storey?: number, topProfiles?: (PluginWallTopProfile | null)[]): PluginApiReturn<ComponentHandle[]>;
445
+ abstract walls(profile: ProfileHandle, height?: number, thickness?: number, wallType?: PluginWallType, storey?: number, topProfiles?: (PluginWallTopProfile | null)[], values?: PluginFamilyValues): PluginApiReturn<ComponentHandle[]>;
423
446
  /**
424
447
  * Create **many wall runs** in one undoable operation (bulk plural of
425
448
  * {@linkcode walls}). Each item is one full run — a wall per curve in that
@@ -761,30 +784,23 @@ export declare abstract class PluginDesignCreateApi {
761
784
  */
762
785
  abstract furnitureItems(items: PluginCreateFurnitureItem[]): PluginApiReturn<ComponentHandle[]>;
763
786
  /**
764
- * Place a **door** from the catalog into a host wall.
787
+ * Place a parametric **door** family into a host wall.
765
788
  *
766
- * Identified by a **catalog (library) id** — the team object's stable `_id`
767
- * or the general library's `fullName`. Discover ids with
789
+ * Identified by a saved **family definition id**. Discover ids with
768
790
  * {@linkcode PluginDesignDoorsApi.listCatalog}. The world `position` is
769
791
  * projected onto the host wall's face to locate the opening; the wall is
770
792
  * re-cut and the door hosted in a single undo entry. Placement is
771
- * asynchronous (the source mesh is fetched if not cached).
793
+ * asynchronous. Values and host bindings are evaluated before the first cut.
772
794
  *
773
- * @param catalogId - Library id: team `_id` or general `fullName`
795
+ * @param familyId - Hosted door definition ID; legacy mesh catalog IDs are not accepted
774
796
  * @param hostWall - The wall to host the door
775
797
  * @param position - World point projected onto the wall to locate the opening
776
- * @param options - Optional placement options: `label` — instance name;
777
- * `hinge` — world point near the jamb the door is hinged on (the door is
778
- * reflected along the wall so its hinged jamb is the one nearer this
779
- * point; default the catalog item's authored hinge side)
780
- * @param facing - World point on the side of the wall the door swings open
781
- * to (the room it opens into — where the plan symbol draws the swing arc).
782
- * Any point clearly on that side works (e.g. the room's center). Default:
783
- * the engine picks a side (nondeterministic when `position` sits on the
784
- * wall centerline).
798
+ * @param options - `version` pins the definition. `values` sets authored parameters
799
+ * (numeric lengths in SU, or unit strings). `label` names the instance.
800
+ * `hinge` selects the declared `hand` enum: local -X is left, +X is right.
801
+ * @param facing - World point selecting local +Z; omitted uses the picked face
785
802
  * @returns the {@linkcode ComponentHandle} of the placed door
786
- * @throws if the catalog id is unknown, the host is not a wall, the source
787
- * mesh fails to load, or the projected point falls **outside** the host wall
803
+ * @throws if the family/category/parameters are invalid, or placement or cutting fails
788
804
  *
789
805
  * @examplePrompt Add a door to this wall here
790
806
  * @examplePrompt Place a sliding door on the selected wall
@@ -826,23 +842,22 @@ export declare abstract class PluginDesignCreateApi {
826
842
  * round-trip and ONE undo entry, with each host wall re-cut once per opening inside
827
843
  * that single call. Looping this single-door creator is N round-trips.
828
844
  */
829
- abstract door(catalogId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
845
+ abstract door(familyId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
830
846
  label?: string;
831
847
  hinge?: Vec3Handle;
848
+ version?: number;
849
+ values?: Record<string, number | string>;
832
850
  }, facing?: Vec3Handle): PluginApiReturn<ComponentHandle>;
833
851
  /**
834
852
  * Place **many doors** into host walls in one undoable operation (bulk plural
835
- * of {@linkcode door}). Each item carries its own catalog id, host wall,
853
+ * of {@linkcode door}). Each item carries its own family id, host wall,
836
854
  * world position, and optional `facing`, `label`, `width` and `height` — the
837
855
  * same fields as a `"door"` {@linkcode PluginDesignCreateOpeningOptions}.
838
856
  * Validate-all-or-throw; one command.
839
857
  *
840
- * As with the singular creator, placing an opening **re-cuts its host wall**:
841
- * the wall you passed as `hostWall` stops resolving once the call returns.
842
- * Several items MAY name the same original wall handle in one call — the host
843
- * chains the re-cuts internally — but after the call recover the surviving
844
- * wall with `design.query.getHost(opening)`, never by reusing the handle you
845
- * passed in.
858
+ * The wall keeps its identity. Several items may use the same host.
859
+ * Width and height set named recipe parameters, not mesh scale. The recipe's
860
+ * evaluated hole can include frame allowances. A failed item rolls back the batch.
846
861
  *
847
862
  * @param items - One {@linkcode PluginCreateDoorItem} per door to place
848
863
  * (≥1, ≤1000)
@@ -850,10 +865,9 @@ export declare abstract class PluginDesignCreateApi {
850
865
  * @throws `VALIDATION` if the items fail the schema (empty array, more than
851
866
  * 1000 items, unknown fields, a non-positive `width`/`height`);
852
867
  * `HANDLE_INVALID` if a `position`, `facing` or `hinge` handle is unknown
853
- * or released; `PRECONDITION_FAILED` if a catalog id is unknown, a `hostWall`
854
- * is not a wall / is locked / is not in the active proposal, the projected
855
- * point falls outside its host wall, or a door tool is active;
856
- * `OPERATION_FAILED` if a source mesh fails to load or placement fails
868
+ * or released; `PRECONDITION_FAILED` if the family cannot be resolved or saved,
869
+ * or a host is locked / is not in the active proposal;
870
+ * `OPERATION_FAILED` if placement, containment, overlap checks or cutting fail
857
871
  * (nothing is created — `details.itemIndex` is the failing item);
858
872
  * `METHOD_NOT_PERMITTED` if the plugin may not write.
859
873
  *
@@ -864,7 +878,7 @@ export declare abstract class PluginDesignCreateApi {
864
878
  * @examplePrompt Add all the doors for this floor plan together
865
879
  *
866
880
  * @performance Bulk creator — the whole batch is ONE host round-trip and ONE undo
867
- * entry, and each distinct catalog source loads once. Always prefer this over
881
+ * entry. Always prefer this over
868
882
  * calling `design.create.door` in a loop: build the full `items[]` array first
869
883
  * (all host walls and points up front), then make one call.
870
884
  *
@@ -874,38 +888,30 @@ export declare abstract class PluginDesignCreateApi {
874
888
  * const [wall] = await snaptrude.design.query.listWalls({ isSelected: true })
875
889
  * const [entry] = await snaptrude.design.doors.listCatalog()
876
890
  * const [front, side] = await snaptrude.design.create.doors([
877
- * { catalogId: entry.id, hostWall: wall, position: await v.new(2, 0, 5), label: "D-01" },
878
- * { catalogId: entry.id, hostWall: wall, position: await v.new(6, 0, 5), width: 1.2 },
891
+ * { familyId: entry.id, hostWall: wall, position: await v.new(2, 0, 5), label: "D-01" },
892
+ * { familyId: entry.id, hostWall: wall, position: await v.new(6, 0, 5), values: { width: "1200mm" } },
879
893
  * ])
880
- * // `wall` was re-cut twice and no longer resolves — ask the opening for its host:
894
+ * // The host still resolves after both cuts:
881
895
  * const currentWall = await snaptrude.design.query.getHost(front)
882
896
  * ```
883
897
  */
884
898
  abstract doors(items: PluginCreateDoorItem[]): PluginApiReturn<ComponentHandle[]>;
885
899
  /**
886
- * Place a **window** from the catalog into a host wall.
900
+ * Place a parametric **window** family into a host wall.
887
901
  *
888
- * Identified by a **catalog (library) id** — the team object's stable `_id`
889
- * or the general library's `fullName`. Discover ids with
902
+ * Identified by a saved **family definition id**. Discover ids with
890
903
  * {@linkcode PluginDesignWindowsApi.listCatalog}. The world `position` is
891
904
  * projected onto the host wall's face to locate the opening; the wall is
892
905
  * re-cut and the window hosted in a single undo entry. Placement is
893
- * asynchronous (the source mesh is fetched if not cached).
906
+ * asynchronous. The sill parameter determines elevation; position Y is ignored.
894
907
  *
895
- * @param catalogId - Library id: team `_id` or general `fullName`
908
+ * @param familyId - Hosted window definition ID; legacy mesh catalog IDs are not accepted
896
909
  * @param hostWall - The wall to host the window
897
910
  * @param position - World point projected onto the wall to locate the opening
898
- * @param options - Optional placement options: `label` — instance name;
899
- * `hinge` — world point near the jamb the window is hinged on (same rule
900
- * as {@linkcode PluginDesignCreateApi.door}; default the catalog item's
901
- * authored side)
902
- * @param facing - World point on the side of the wall the window opens to
903
- * (matters for asymmetric windows, e.g. casement swing) — same convention
904
- * as {@linkcode PluginDesignCreateApi.door}. Default: the engine picks a
905
- * side (nondeterministic when `position` sits on the centerline).
911
+ * @param options - `version`, `values`, `label`, and parameter-driven `hinge`, as for door
912
+ * @param facing - World point selecting local +Z; omitted uses the picked face
906
913
  * @returns the {@linkcode ComponentHandle} of the placed window
907
- * @throws if the catalog id is unknown, the host is not a wall, the source
908
- * mesh fails to load, or the projected point falls **outside** the host wall
914
+ * @throws if the family/category/parameters are invalid, or placement or cutting fails
909
915
  *
910
916
  * @examplePrompt Add a window to this wall here
911
917
  * @examplePrompt Place a casement window on the selected wall
@@ -930,25 +936,23 @@ export declare abstract class PluginDesignCreateApi {
930
936
  * host round-trip and ONE undo entry, with each host wall re-cut once per opening
931
937
  * inside that single call. Looping this single-window creator is N round-trips.
932
938
  */
933
- abstract window(catalogId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
939
+ abstract window(familyId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
934
940
  label?: string;
935
941
  hinge?: Vec3Handle;
942
+ version?: number;
943
+ values?: Record<string, number | string>;
936
944
  }, facing?: Vec3Handle): PluginApiReturn<ComponentHandle>;
937
945
  /**
938
946
  * Place **many windows** into host walls in one undoable operation (bulk
939
- * plural of {@linkcode window}). Each item carries its own catalog id, host
947
+ * plural of {@linkcode window}). Each item carries its own family id, host
940
948
  * wall, world position, and optional `facing`, `label`, `width`, `height` and
941
949
  * `sillHeight` — the same fields as a `"window"`
942
950
  * {@linkcode PluginDesignCreateOpeningOptions}. `sillHeight` is measured from
943
951
  * the host wall base to the BOTTOM of the window. Validate-all-or-throw; one
944
952
  * command.
945
953
  *
946
- * As with the singular creator, placing an opening **re-cuts its host wall**:
947
- * the wall you passed as `hostWall` stops resolving once the call returns.
948
- * Several items MAY name the same original wall handle in one call — the host
949
- * chains the re-cuts internally — but after the call recover the surviving
950
- * wall with `design.query.getHost(opening)`, never by reusing the handle you
951
- * passed in.
954
+ * Hosts keep their identity. Width, height and sillHeight set the declared
955
+ * width, height and sill parameters before the first cut. No mesh scaling occurs.
952
956
  *
953
957
  * @param items - One {@linkcode PluginCreateWindowItem} per window to place
954
958
  * (≥1, ≤1000)
@@ -956,10 +960,9 @@ export declare abstract class PluginDesignCreateApi {
956
960
  * @throws `VALIDATION` if the items fail the schema (empty array, more than
957
961
  * 1000 items, unknown fields, a non-positive `width`/`height`, a negative
958
962
  * `sillHeight`); `HANDLE_INVALID` if a `position`, `facing` or `hinge`
959
- * handle is unknown or released; `PRECONDITION_FAILED` if a catalog id is unknown, a
960
- * `hostWall` is not a wall / is locked / is not in the active proposal, the
961
- * projected point falls outside its host wall, or a window tool is active;
962
- * `OPERATION_FAILED` if a source mesh fails to load or placement fails
963
+ * handle is unknown or released; `PRECONDITION_FAILED` if the family cannot be
964
+ * resolved or saved, or a host is locked / is not in the active proposal;
965
+ * `OPERATION_FAILED` if placement, containment, overlap checks or cutting fail
963
966
  * (nothing is created — `details.itemIndex` is the failing item);
964
967
  * `METHOD_NOT_PERMITTED` if the plugin may not write.
965
968
  *
@@ -970,7 +973,7 @@ export declare abstract class PluginDesignCreateApi {
970
973
  * @examplePrompt Add all the windows with a 0.9m sill height together
971
974
  *
972
975
  * @performance Bulk creator — the whole batch is ONE host round-trip and ONE undo
973
- * entry, and each distinct catalog source loads once. Always prefer this over
976
+ * entry. Always prefer this over
974
977
  * calling `design.create.window` in a loop: build the full `items[]` array first
975
978
  * (all host walls and points up front), then make one call.
976
979
  *
@@ -980,25 +983,25 @@ export declare abstract class PluginDesignCreateApi {
980
983
  * const [wall] = await snaptrude.design.query.listWalls({ isSelected: true })
981
984
  * const [casement] = await snaptrude.design.windows.listCatalog()
982
985
  * const placed = await snaptrude.design.create.windows([
983
- * { catalogId: casement.id, hostWall: wall, position: await v.new(2, 0, 5), sillHeight: 0.9 },
984
- * { catalogId: casement.id, hostWall: wall, position: await v.new(5, 0, 5), sillHeight: 0.9 },
986
+ * { familyId: casement.id, hostWall: wall, position: await v.new(2, 0, 5), values: { sill: "900mm" } },
987
+ * { familyId: casement.id, hostWall: wall, position: await v.new(5, 0, 5), values: { sill: "900mm" } },
985
988
  * ])
986
989
  * const currentWall = await snaptrude.design.query.getHost(placed[0])
987
990
  * ```
988
991
  */
989
992
  abstract windows(items: PluginCreateWindowItem[]): PluginApiReturn<ComponentHandle[]>;
990
993
  /**
991
- * Place a catalog **door or window** into a host wall with optional size overrides.
994
+ * Place a parametric **door or window** into a host wall with parameter overrides.
992
995
  *
993
996
  * The world `position` is projected onto the host wall to locate the opening.
994
997
  * All supplied dimensions use Snaptrude engine units. Window `sillHeight` is
995
998
  * measured from the host wall base to the bottom of the window, not to
996
999
  * its center. Placement is asynchronous and committed as one undoable creation.
997
1000
  *
998
- * @param options - Opening kind, catalog and host references, placement, and
1001
+ * @param options - Opening kind, family and host references, placement, and
999
1002
  * optional facing (swing side), hinge (hinged jamb), label, and dimensions
1000
1003
  * @returns the {@linkcode ComponentHandle} of the placed door or window
1001
- * @throws if the options are invalid, the catalog id is unknown, the host is
1004
+ * @throws if the options are invalid, the family id is unknown, the host is
1002
1005
  * not a wall, loading fails, or the opening cannot be placed on the host
1003
1006
  *
1004
1007
  * @examplePrompt Add a 1m wide door to this wall here
@@ -1012,7 +1015,7 @@ export declare abstract class PluginDesignCreateApi {
1012
1015
  * ```ts
1013
1016
  * const opening = await snaptrude.design.create.opening({
1014
1017
  * kind: "window",
1015
- * catalogId: windowType.id,
1018
+ * familyId: windowType.id,
1016
1019
  * hostWall: wall,
1017
1020
  * position: await snaptrude.core.math.vec3.new(3, 0, 5),
1018
1021
  * width: 1.2,
@@ -1465,7 +1468,7 @@ export type PluginDesignCreateBeamArgs = z.infer<typeof PluginDesignCreateBeamAr
1465
1468
  * | `profile` | {@linkcode ProfileHandle} | Ordered curve chain (wall centerlines) |
1466
1469
  * | `height` | `number`? | Wall height (default engine default) |
1467
1470
  * | `thickness` | `number`? | Wall thickness (default: `wallType`'s total layer thickness when given, else engine default) |
1468
- * | `wallType` | `string`? | Wall type name from `design.types.list("wall")` — layers/material/thickness defaults (default generic) |
1471
+ * | `wallType` | {@linkcode PluginWallType}? | Legacy name/id or exact native `{ id, version }` pin from `design.types.list("wall")` (default generic) |
1469
1472
  * | `storey` | `number`? | Target storey (integer, must exist) — walls assigned + lifted to its base in the same undo entry (default: geometry-derived) |
1470
1473
  * | `topProfiles` | ({@linkcode PluginWallTopProfile} \| `null`)[]? | Top edge per curve (same order); `null`/missing = flat at `height`. Straight curves only |
1471
1474
  */
@@ -1473,12 +1476,16 @@ export declare const PluginDesignCreateWallsArgs: z.ZodObject<{
1473
1476
  profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
1474
1477
  height: z.ZodOptional<z.ZodNumber>;
1475
1478
  thickness: z.ZodOptional<z.ZodNumber>;
1476
- wallType: z.ZodOptional<z.ZodString>;
1479
+ wallType: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
1480
+ id: z.ZodString;
1481
+ version: z.ZodNumber;
1482
+ }, z.core.$strip>]>>;
1477
1483
  storey: z.ZodOptional<z.ZodNumber>;
1478
1484
  topProfiles: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodArray<z.ZodObject<{
1479
1485
  along: z.ZodNumber;
1480
1486
  height: z.ZodNumber;
1481
1487
  }, z.core.$strip>>>>>;
1488
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodBoolean]>>>;
1482
1489
  }, z.core.$strip>;
1483
1490
  export type PluginDesignCreateWallsArgs = z.infer<typeof PluginDesignCreateWallsArgs>;
1484
1491
  /**
@@ -1549,20 +1556,26 @@ export type PluginDesignCreateFurnitureArgs = z.infer<typeof PluginDesignCreateF
1549
1556
  *
1550
1557
  * | Property | Type | Description |
1551
1558
  * |---|---|---|
1552
- * | `catalogId` | `string` | Library id: team `_id` or general `fullName` |
1559
+ * | `familyId` | `string` | Hosted door family definition ID |
1560
+ * | `version` | `number`? | Exact version; newest known by default |
1561
+ * | `values` | `Record<string, number \| string>`? | Parameters; numeric lengths use SU |
1553
1562
  * | `hostWall` | {@linkcode ComponentHandle} | The wall to host the door |
1554
1563
  * | `position` | {@linkcode Vec3Handle} | World point projected onto the wall |
1555
1564
  * | `label` | `string`? | Instance name (optional) |
1556
1565
  * | `facing` | {@linkcode Vec3Handle}? | World point on the side of the wall the door swings open to (default engine-chosen) |
1557
- * | `hinge` | {@linkcode Vec3Handle}? | World point near the jamb the door is hinged on (default the catalog item's authored side) |
1566
+ * | `hinge` | {@linkcode Vec3Handle}? | World point near the hinged jamb; requires hand control |
1558
1567
  */
1559
1568
  export declare const PluginDesignCreateDoorArgs: z.ZodObject<{
1560
- catalogId: z.ZodString;
1569
+ familyId: z.ZodString;
1570
+ version: z.ZodOptional<z.ZodNumber>;
1571
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
1561
1572
  hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
1562
1573
  position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
1563
- label: z.ZodOptional<z.ZodString>;
1564
1574
  facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
1565
1575
  hinge: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
1576
+ label: z.ZodOptional<z.ZodString>;
1577
+ width: z.ZodOptional<z.ZodNumber>;
1578
+ height: z.ZodOptional<z.ZodNumber>;
1566
1579
  }, z.core.$strip>;
1567
1580
  export type PluginDesignCreateDoorArgs = z.infer<typeof PluginDesignCreateDoorArgs>;
1568
1581
  /**
@@ -1570,20 +1583,26 @@ export type PluginDesignCreateDoorArgs = z.infer<typeof PluginDesignCreateDoorAr
1570
1583
  *
1571
1584
  * | Property | Type | Description |
1572
1585
  * |---|---|---|
1573
- * | `catalogId` | `string` | Library id: team `_id` or general `fullName` |
1586
+ * | `familyId` | `string` | Hosted window family definition ID |
1587
+ * | `version` | `number`? | Exact version; newest known by default |
1588
+ * | `values` | `Record<string, number \| string>`? | Parameters; numeric lengths use SU |
1574
1589
  * | `hostWall` | {@linkcode ComponentHandle} | The wall to host the window |
1575
1590
  * | `position` | {@linkcode Vec3Handle} | World point projected onto the wall |
1576
1591
  * | `label` | `string`? | Instance name (optional) |
1577
1592
  * | `facing` | {@linkcode Vec3Handle}? | World point on the side of the wall the window opens to (default engine-chosen) |
1578
- * | `hinge` | {@linkcode Vec3Handle}? | World point near the jamb the window is hinged on (default the catalog item's authored side) |
1593
+ * | `hinge` | {@linkcode Vec3Handle}? | World point near the hinged jamb; requires hand control |
1579
1594
  */
1580
1595
  export declare const PluginDesignCreateWindowArgs: z.ZodObject<{
1581
- catalogId: z.ZodString;
1596
+ familyId: z.ZodString;
1597
+ version: z.ZodOptional<z.ZodNumber>;
1598
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
1582
1599
  hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
1583
1600
  position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
1584
- label: z.ZodOptional<z.ZodString>;
1585
1601
  facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
1586
1602
  hinge: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
1603
+ label: z.ZodOptional<z.ZodString>;
1604
+ width: z.ZodOptional<z.ZodNumber>;
1605
+ height: z.ZodOptional<z.ZodNumber>;
1587
1606
  }, z.core.$strip>;
1588
1607
  export type PluginDesignCreateWindowArgs = z.infer<typeof PluginDesignCreateWindowArgs>;
1589
1608
  /**
@@ -1593,7 +1612,9 @@ export type PluginDesignCreateWindowArgs = z.infer<typeof PluginDesignCreateWind
1593
1612
  * the distance from the host wall base to the bottom of the window.
1594
1613
  */
1595
1614
  export declare const PluginDesignCreateOpeningOptions: z.ZodDiscriminatedUnion<[z.ZodObject<{
1596
- catalogId: z.ZodString;
1615
+ familyId: z.ZodString;
1616
+ version: z.ZodOptional<z.ZodNumber>;
1617
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
1597
1618
  hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
1598
1619
  position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
1599
1620
  facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
@@ -1604,7 +1625,9 @@ export declare const PluginDesignCreateOpeningOptions: z.ZodDiscriminatedUnion<[
1604
1625
  kind: z.ZodLiteral<"door">;
1605
1626
  }, z.core.$strict>, z.ZodObject<{
1606
1627
  sillHeight: z.ZodOptional<z.ZodNumber>;
1607
- catalogId: z.ZodString;
1628
+ familyId: z.ZodString;
1629
+ version: z.ZodOptional<z.ZodNumber>;
1630
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
1608
1631
  hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
1609
1632
  position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
1610
1633
  facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
@@ -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":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EACL,UAAU,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,WAAW,EACX,aAAa,EACb,UAAU,EACX,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAChD,OAAO,EACL,eAAe,EACf,cAAc,EACd,kBAAkB,EACnB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,oCAAoC,EACpC,kCAAkC,EAClC,kCAAkC,EAClC,mCAAmC,EACpC,MAAM,gCAAgC,CAAA;AAEvC,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,sBAAsB,EACvB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AACzC,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EACnB,MAAM,YAAY,CAAA;AAEnB;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,8BAAsB,qBAAqB;;IAGzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;aACa,KAAK,CACnB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,UAAU,EACrB,SAAS,CAAC,EAAE,eAAe,EAC3B,QAAQ,CAAC,EAAE,cAAc,EACzB,YAAY,CAAC,EAAE,kBAAkB,EACjC,MAAM,CAAC,EAAE,MAAM,GACd,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,IAAI,CAClB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,UAAU,EACrB,QAAQ,CAAC,EAAE,cAAc,GACxB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;aACa,YAAY,CAC1B,IAAI,EAAE,UAAU,EAChB,KAAK,CAAC,EAAE,MAAM,GACb,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,IAAI,CAClB,GAAG,IAAI,EACH;QACE,OAAO,EAAE,aAAa;QACtB,SAAS,EAAE,MAAM;QACjB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM;QACzB,QAAQ,CAAC,EAAE,cAAc;KAC1B,GACD,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,uBAAuB,CAAC,GAC7D,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;aACa,KAAK,CACnB,GAAG,IAAI,EACH,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,UAAU,CAAC,GAClE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,wBAAwB,CAAC,GAC9D,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;aACa,MAAM,CACpB,KAAK,EAAE,qBAAqB,EAAE,GAC7B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,IAAI,CAClB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAAG,qBAAqB,GACxC,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,OAAO,CACrB,GAAG,IAAI,EACH,CAAC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,CAAC,GACrE,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,0BAA0B,CAAC,GAChE,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,MAAM,CACpB,GAAG,IAAI,EACH;QACE,QAAQ,EAAE,UAAU;QACpB,YAAY,EAAE,aAAa;QAC3B,MAAM,EAAE,MAAM;QACd,WAAW,CAAC,EAAE,UAAU;KACzB,GACD,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,CAAC,GACrD,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;aACa,IAAI,CAClB,GAAG,IAAI,EACH,CAAC,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,GAChE,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,qBAAqB,CAAC,GACrD,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmEG;aACa,KAAK,CACnB,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,cAAc,EACzB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,EAC7C,MAAM,CAAC,EAAE,kBAAkB,GAC1B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuDG;aACa,QAAQ,CACtB,KAAK,EAAE,uBAAuB,EAAE,GAC/B,eAAe,CAAC,eAAe,EAAE,EAAE,CAAC;IAEvC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;aACa,SAAS,CACvB,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,UAAU,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,yBAAyB,GACrC,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;aACa,cAAc,CAC5B,OAAO,EAAE,aAAa,EACtB,KAAK,CAAC,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,KAAK,CAAC,EAAE,wBAAwB,EAChC,OAAO,CAAC,EAAE,MAAM,GACf,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,MAAM,CAAC,EAAE,UAAU,CAAA;KACpB,GAAG,sBAAsB,GACzB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,aAAa,CAC3B,KAAK,EAAE,WAAW,EAClB,OAAO,CAAC,EAAE;QACR,GAAG,CAAC,EAAE,MAAM,CAAA;KACb,GAAG,sBAAsB,GACzB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;aACa,eAAe,CAC7B,MAAM,EAAE,eAAe,EAAE,EACzB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,sBAAsB,GAC/B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EAAE,EACxB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,GACZ,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;aACa,SAAS,CACvB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,EAC3D,cAAc,CAAC,EAAE,MAAM,GACtB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,cAAc,CAC5B,KAAK,EAAE,yBAAyB,EAAE,GACjC,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0DG;aACa,IAAI,CAClB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,UAAU,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;KACzC,EACD,MAAM,CAAC,EAAE,UAAU,GAClB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;aACa,KAAK,CACnB,KAAK,EAAE,oBAAoB,EAAE,GAC5B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;aACa,MAAM,CACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,UAAU,EACpB,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,UAAU,CAAA;QAClB,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,CAAA;KACzC,EACD,MAAM,CAAC,EAAE,UAAU,GAClB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8CG;aACa,OAAO,CACrB,KAAK,EAAE,sBAAsB,EAAE,GAC9B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;aACa,OAAO,CACrB,OAAO,EAAE,gCAAgC,GACxC,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;aACa,WAAW,CACzB,OAAO,EAAE,qBAAqB,GAC7B,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;aACa,IAAI,CAClB,UAAU,EAAE,eAAe,EAAE,EAC7B,YAAY,EAAE,UAAU,EACxB,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,cAAc,CAAA;KAAE,GAClD,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAiCG;aACa,MAAM,CACpB,KAAK,EAAE,qBAAqB,EAAE,GAC7B,eAAe,CAAC,eAAe,EAAE,CAAC;IAErC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,iBAAiB,CAC/B,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;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;EAA0C,CAAA;AAC/E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc;;;;;EAKzB,CAAA;AACF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D;;;;GAIG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;EAiBhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;GAIG;AACH,eAAO,MAAM,yBAAyB;;;;;;kBAQ3B,CAAA;AACX,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAMD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAStC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAQD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;iBAMrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,kCAAkC;;;iBAG7C,CAAA;AACF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;iBAKrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B;;;;iBAItC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;iBAGrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,6BAA6B;;;;iBAIxC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,6BAA6B,CACrC,CAAA;AAMD;;;;;;;;;GASG;AACH,eAAO,MAAM,4BAA4B;;;;;iBAKvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAMD;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B;;;;iBAIrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAMD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;iBAQtC,CAAA;AACF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA;AAQD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAO1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,+BAA+B,CACvC,CAAA;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,+BAA+B;;;;;;iBAM1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,+BAA+B,CACvC,CAAA;AAQD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAErC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAQD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;iBAEvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAQD;;;;;GAKG;AACH,eAAO,MAAM,gCAAgC;;;;;;;;;;;;;;;;;;;;;;;;;4BAc3C,CAAA;AACF,MAAM,MAAM,gCAAgC,GAAG,CAAC,CAAC,KAAK,CACpD,OAAO,gCAAgC,CACxC,CAAA;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB;;;;;iBAc/B,CAAA;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;iBASlC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAM7E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oCAAoC;;;;;;;;;;iBAM/C,CAAA;AACF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CACxD,OAAO,oCAAoC,CAC5C,CAAA;AAMD;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;EAAiC,CAAA;AAC5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D;;;;;;;;;GASG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;iBAKrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAQD;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAShC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,SAAS,CAAA"}
@@ -5,27 +5,28 @@ import { ComponentHandle } from "../../../handles";
5
5
  * {@linkcode PluginDesignCreateOpeningOptions} and by the bulk item schemas in
6
6
  * `bulk-items.ts`, so singular and plural openings validate identically.
7
7
  *
8
- * `facing` and `hinge` are WORLD POINTS, not directions: `facing` sits on the
9
- * side of the wall the leaf swings open to (where the plan symbol draws the
10
- * swing arc); `hinge` sits near the jamb the leaf is hinged on — the item is
11
- * reflected along the wall so its hinged jamb is the one nearer that point.
12
- * Either may be omitted (engine-chosen side / the catalog item's authored
13
- * hinge side). Neither has a visible effect on symmetric items such as
14
- * sliders or fixed windows.
8
+ * PC-only placement. The family recipe owns dimensions and geometry. Overrides
9
+ * are applied before fit checks and cutting, never by scaling generated meshes.
10
+ * `facing` selects the host frame's +Z side. `hinge` selects the declared
11
+ * `hand` parameter (left/right); families without that control reject it.
15
12
  *
16
13
  * | Property | Type | Description |
17
14
  * |---|---|---|
18
- * | `catalogId` | `string` | Library id: team `_id` or general `fullName` |
15
+ * | `familyId` | `string` | Hosted parametric definition ID, not a mesh catalog ID |
16
+ * | `version` | `number`? | Exact family version; newest known by default |
17
+ * | `values` | `Record<string, number \| string>`? | Authored instance parameters; numeric lengths use Snaptrude units |
19
18
  * | `hostWall` | {@linkcode ComponentHandle} | The wall to host the opening |
20
19
  * | `position` | {@linkcode Vec3Handle} | World point projected onto the wall |
21
20
  * | `facing` | {@linkcode Vec3Handle}? | World point on the side of the wall the opening swings open to (default engine-chosen) |
22
- * | `hinge` | {@linkcode Vec3Handle}? | World point near the jamb the opening is hinged on (default the catalog item's authored side) |
21
+ * | `hinge` | {@linkcode Vec3Handle}? | World point near the hinged jamb; requires the recipe's hand parameter |
23
22
  * | `label` | `string`? | Instance name (optional) |
24
- * | `width` | `number`? | Width override (Snaptrude units, > 0; default the catalog item's) |
25
- * | `height` | `number`? | Height override (Snaptrude units, > 0; default the catalog item's) |
23
+ * | `width` | `number`? | Sets the declared width parameter, not the opening's evaluated envelope |
24
+ * | `height` | `number`? | Sets the declared height parameter |
26
25
  */
27
26
  export declare const PluginOpeningBaseOptions: {
28
- catalogId: z.ZodString;
27
+ familyId: z.ZodString;
28
+ version: z.ZodOptional<z.ZodNumber>;
29
+ values: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>>;
29
30
  hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
30
31
  position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
31
32
  facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
@@ -1 +1 @@
1
- {"version":3,"file":"opening-fields.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/opening-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAc,MAAM,kBAAkB,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;CASpC,CAAA"}
1
+ {"version":3,"file":"opening-fields.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/opening-fields.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAc,MAAM,kBAAkB,CAAA;AAE9D;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,wBAAwB;;;;;;;;;;;CAapC,CAAA"}