@snaptrude/plugin-core 0.9.17 → 0.9.18-networks-20261016.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/AGENTS.md +231 -231
- package/CHANGELOG.md +408 -408
- package/CLAUDE.md +11 -11
- package/dist/api/analysis/daylight.d.ts +5 -5
- package/dist/api/analysis/solar.d.ts +2 -2
- package/dist/api/core/camera/index.d.ts +29 -0
- package/dist/api/core/camera/index.d.ts.map +1 -1
- package/dist/api/core/geom/create/index.d.ts +7 -1
- package/dist/api/core/geom/create/index.d.ts.map +1 -1
- package/dist/api/core/geom/update/contour.d.ts +8 -2
- package/dist/api/core/geom/update/contour.d.ts.map +1 -1
- package/dist/api/core/zoom/index.d.ts +13 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -1
- package/dist/api/design/bim.d.ts +209 -0
- package/dist/api/design/bim.d.ts.map +1 -0
- package/dist/api/design/boolean/index.d.ts +2 -0
- package/dist/api/design/boolean/index.d.ts.map +1 -1
- package/dist/api/design/catalog.d.ts +320 -0
- package/dist/api/design/catalog.d.ts.map +1 -0
- package/dist/api/design/create/bulk-items.d.ts +65 -25
- package/dist/api/design/create/bulk-items.d.ts.map +1 -1
- package/dist/api/design/create/index.d.ts +272 -99
- package/dist/api/design/create/index.d.ts.map +1 -1
- package/dist/api/design/create/opening-fields.d.ts +13 -12
- package/dist/api/design/create/opening-fields.d.ts.map +1 -1
- package/dist/api/design/delete/index.d.ts +1 -0
- package/dist/api/design/delete/index.d.ts.map +1 -1
- package/dist/api/design/doors/index.d.ts +18 -24
- package/dist/api/design/doors/index.d.ts.map +1 -1
- package/dist/api/design/family.d.ts +797 -27
- package/dist/api/design/family.d.ts.map +1 -1
- package/dist/api/design/index.d.ts +16 -0
- package/dist/api/design/index.d.ts.map +1 -1
- package/dist/api/design/networks.d.ts +1763 -0
- package/dist/api/design/networks.d.ts.map +1 -0
- package/dist/api/design/query/index.d.ts +42 -32
- package/dist/api/design/query/index.d.ts.map +1 -1
- package/dist/api/design/selection/index.d.ts +10 -10
- package/dist/api/design/types/index.d.ts +40 -24
- package/dist/api/design/types/index.d.ts.map +1 -1
- package/dist/api/design/update/index.d.ts +43 -3
- package/dist/api/design/update/index.d.ts.map +1 -1
- package/dist/api/design/windows/index.d.ts +8 -8
- package/dist/api/design/windows/index.d.ts.map +1 -1
- package/dist/api/presentation/aiInspiration.d.ts +10 -10
- package/dist/api/presentation/annotate.d.ts +38 -22
- package/dist/api/presentation/annotate.d.ts.map +1 -1
- package/dist/api/presentation/drawingContract.d.ts +32 -0
- package/dist/api/presentation/drawingContract.d.ts.map +1 -0
- package/dist/api/presentation/drawings.d.ts +3523 -0
- package/dist/api/presentation/drawings.d.ts.map +1 -0
- package/dist/api/presentation/export.d.ts +23 -5
- package/dist/api/presentation/export.d.ts.map +1 -1
- package/dist/api/presentation/index.d.ts +32 -12
- package/dist/api/presentation/index.d.ts.map +1 -1
- package/dist/api/presentation/placedViews.d.ts +106 -6
- package/dist/api/presentation/placedViews.d.ts.map +1 -1
- package/dist/api/presentation/shapes.d.ts +2 -2
- package/dist/api/presentation/sheets.d.ts +175 -19
- package/dist/api/presentation/sheets.d.ts.map +1 -1
- package/dist/api/presentation/viewPresets.d.ts +222 -0
- package/dist/api/presentation/viewPresets.d.ts.map +1 -0
- package/dist/api/presentation/views.d.ts +103 -5
- package/dist/api/presentation/views.d.ts.map +1 -1
- package/dist/api/presentation/walkthroughs.d.ts +6 -6
- package/dist/errors/codes.d.ts +3 -1
- package/dist/errors/codes.d.ts.map +1 -1
- package/dist/index.cjs +3732 -2383
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3607 -2383
- package/dist/index.js.map +1 -1
- package/package.json +42 -42
- package/scripts/check-dist-fresh.mjs +22 -22
- package/scripts/generate-manifest.mjs +243 -238
- package/scripts/generate-manifest.test.mjs +303 -303
- package/src/api/analysis/daylight.ts +470 -470
- package/src/api/analysis/heatmaps.ts +683 -683
- package/src/api/analysis/illuminance.ts +155 -155
- package/src/api/analysis/index.ts +61 -61
- package/src/api/analysis/shadows.ts +183 -183
- package/src/api/analysis/solar.ts +237 -237
- package/src/api/analysis/sunlightHours.ts +211 -211
- package/src/api/analysis/sunpath.ts +83 -83
- package/src/api/analysis/weather.ts +179 -179
- package/src/api/core/buildings.ts +485 -485
- package/src/api/core/camera/index.ts +696 -667
- package/src/api/core/comment/index.ts +376 -376
- package/src/api/core/geom/create/index.ts +2139 -2133
- package/src/api/core/geom/delete/index.ts +84 -84
- package/src/api/core/geom/index.ts +35 -35
- package/src/api/core/geom/query/arc.ts +169 -169
- package/src/api/core/geom/query/brep.ts +621 -621
- package/src/api/core/geom/query/circle.ts +404 -404
- package/src/api/core/geom/query/contour.ts +540 -540
- package/src/api/core/geom/query/curve.ts +1102 -1102
- package/src/api/core/geom/query/edge.ts +130 -130
- package/src/api/core/geom/query/face.ts +508 -508
- package/src/api/core/geom/query/halfedge.ts +210 -210
- package/src/api/core/geom/query/index.ts +63 -63
- package/src/api/core/geom/query/profile.ts +473 -473
- package/src/api/core/geom/query/vertex.ts +205 -205
- package/src/api/core/geom/update/contour.ts +323 -317
- package/src/api/core/geom/update/curve.ts +209 -209
- package/src/api/core/geom/update/index.ts +29 -29
- package/src/api/core/geom/update/profile.ts +379 -379
- package/src/api/core/groups.ts +521 -521
- package/src/api/core/handles/index.ts +234 -234
- package/src/api/core/history/index.ts +84 -84
- package/src/api/core/index.ts +99 -99
- package/src/api/core/io/export/index.ts +126 -126
- package/src/api/core/io/import/index.ts +504 -504
- package/src/api/core/io/index.ts +42 -42
- package/src/api/core/io/job/index.ts +140 -140
- package/src/api/core/io/query/index.ts +71 -71
- package/src/api/core/io/terrain/index.ts +360 -360
- package/src/api/core/io/underlay/index.ts +705 -705
- package/src/api/core/layers.ts +540 -540
- package/src/api/core/math/index.ts +20 -20
- package/src/api/core/math/quat.ts +172 -172
- package/src/api/core/math/vec3.ts +179 -179
- package/src/api/core/mode/index.ts +108 -108
- package/src/api/core/project/index.ts +479 -479
- package/src/api/core/proposals/index.ts +570 -570
- package/src/api/core/storeys/index.ts +308 -308
- package/src/api/core/storeys/layers.ts +339 -339
- package/src/api/core/tags.ts +911 -911
- package/src/api/core/units/index.ts +164 -164
- package/src/api/core/user.ts +46 -46
- package/src/api/core/zoom/index.ts +64 -51
- package/src/api/design/bim.ts +121 -0
- package/src/api/design/boolean/index.ts +181 -179
- package/src/api/design/catalog.ts +203 -0
- package/src/api/design/create/bulk-items.ts +294 -254
- package/src/api/design/create/grids.ts +137 -137
- package/src/api/design/create/index.ts +2148 -1980
- package/src/api/design/create/opening-fields.ts +40 -37
- package/src/api/design/delete/index.ts +75 -74
- package/src/api/design/dimensions.ts +453 -453
- package/src/api/design/doors/index.ts +516 -500
- package/src/api/design/edit/index.ts +54 -54
- package/src/api/design/erase/index.ts +151 -151
- package/src/api/design/family.ts +1334 -704
- package/src/api/design/furniture/index.ts +319 -319
- package/src/api/design/grids.ts +237 -237
- package/src/api/design/index.ts +304 -274
- package/src/api/design/lock.ts +69 -69
- package/src/api/design/materials/index.ts +608 -608
- package/src/api/design/networks.ts +667 -0
- package/src/api/design/query/geometry/index.ts +319 -319
- package/src/api/design/query/grids.ts +197 -197
- package/src/api/design/query/index.ts +1236 -1226
- package/src/api/design/query/referenceLines.ts +52 -52
- package/src/api/design/query/spaces.ts +275 -275
- package/src/api/design/selection/index.ts +273 -273
- package/src/api/design/shared.ts +40 -40
- package/src/api/design/transform/index.ts +254 -254
- package/src/api/design/types/index.ts +163 -156
- package/src/api/design/update/index.ts +1024 -983
- package/src/api/design/visibility.ts +143 -143
- package/src/api/design/windows/index.ts +351 -333
- package/src/api/entity/buildableEnvelope.ts +322 -322
- package/src/api/entity/index.ts +30 -30
- package/src/api/entity/referenceLine.ts +235 -235
- package/src/api/entity/space.ts +612 -612
- package/src/api/entity/story.ts +517 -517
- package/src/api/index.ts +47 -47
- package/src/api/presentation/aiInspiration.ts +1116 -1116
- package/src/api/presentation/annotate.ts +417 -385
- package/src/api/presentation/camera.ts +289 -289
- package/src/api/presentation/diagrams.ts +194 -194
- package/src/api/presentation/drawingContract.ts +70 -0
- package/src/api/presentation/drawings.ts +1179 -0
- package/src/api/presentation/export.ts +134 -108
- package/src/api/presentation/import.ts +159 -159
- package/src/api/presentation/index.ts +160 -135
- package/src/api/presentation/placedViews.ts +1211 -1120
- package/src/api/presentation/sections.ts +420 -420
- package/src/api/presentation/shapes.ts +274 -274
- package/src/api/presentation/sheets.ts +746 -585
- package/src/api/presentation/slideshow.ts +134 -134
- package/src/api/presentation/tables.ts +84 -84
- package/src/api/presentation/viewPresets.ts +241 -0
- package/src/api/presentation/views.ts +713 -673
- package/src/api/presentation/walkthroughs.ts +1201 -1201
- package/src/api/program/adjacency.ts +164 -164
- package/src/api/program/areas.ts +408 -408
- package/src/api/program/classification.ts +138 -138
- package/src/api/program/cores.ts +83 -83
- package/src/api/program/departments.ts +517 -517
- package/src/api/program/index.ts +73 -73
- package/src/api/program/labels.ts +332 -332
- package/src/api/program/layout.ts +422 -422
- package/src/api/program/metadata.ts +364 -364
- package/src/api/program/metrics.ts +120 -120
- package/src/api/program/site.ts +748 -748
- package/src/api/program/spreadsheet.ts +2698 -2698
- package/src/api/workspace/index.ts +612 -612
- package/src/errors/codes.ts +143 -136
- package/src/errors/envelope.ts +75 -75
- package/src/errors/index.ts +21 -21
- package/src/errors/plugin-error.ts +134 -134
- package/src/handles.ts +297 -297
- package/src/host-utils.ts +67 -67
- package/src/index.ts +7 -7
- package/src/massParameters.ops.ts +246 -246
- package/src/massParameters.ts +427 -427
- package/src/types.ts +16 -16
- package/test/drawingContract.test.mjs +288 -0
- package/test/errors.test.mjs +185 -184
- package/test/massParameters.test.mjs +952 -952
- package/tsconfig.json +22 -22
- package/tsup.config.ts +12 -12
- package/api-manifest.json +0 -9711
|
@@ -1,156 +1,163 @@
|
|
|
1
|
-
import * as z from "zod"
|
|
2
|
-
import { PluginApiReturn } from "../../../types"
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
* @
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* @
|
|
34
|
-
*
|
|
35
|
-
* @examplePrompt
|
|
36
|
-
* @examplePrompt
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* @
|
|
56
|
-
*
|
|
57
|
-
* @examplePrompt What
|
|
58
|
-
* @examplePrompt
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
* |
|
|
80
|
-
*
|
|
81
|
-
* | `
|
|
82
|
-
* | `
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
.
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* |
|
|
105
|
-
*
|
|
106
|
-
* | `
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
*
|
|
125
|
-
*
|
|
126
|
-
* |
|
|
127
|
-
*
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
1
|
+
import * as z from "zod"
|
|
2
|
+
import { PluginApiReturn } from "../../../types"
|
|
3
|
+
|
|
4
|
+
/** An exact saved native wall family. Access is checked on every use; Draw selection is not registration. */
|
|
5
|
+
export const PluginNativeWallType = z.object({
|
|
6
|
+
id: z.string().min(1),
|
|
7
|
+
version: z.number().int().positive(),
|
|
8
|
+
})
|
|
9
|
+
export type PluginNativeWallType = z.infer<typeof PluginNativeWallType>
|
|
10
|
+
|
|
11
|
+
/** Legacy project type name/id, or an exact authorized native wall family pin. */
|
|
12
|
+
export const PluginWallType = z.union([z.string().trim().min(1), PluginNativeWallType])
|
|
13
|
+
export type PluginWallType = z.infer<typeof PluginWallType>
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Read-only project assemblies and authorized saved native wall families.
|
|
17
|
+
* Legacy ids use `"<kind>:<name>"`. Native wall records carry `nativeFamily`:
|
|
18
|
+
* pass that exact `{ id, version }` pin to get, create.walls, create.wallRuns,
|
|
19
|
+
* or update.wall. Labels and bare definition ids do not select native families.
|
|
20
|
+
* Native lengths use Snaptrude units (1 SU = 254 mm).
|
|
21
|
+
* Missing ids return null; catalog/network failures reject rather than return
|
|
22
|
+
* an incomplete catalog. Author native families with design.family.
|
|
23
|
+
*/
|
|
24
|
+
export abstract class PluginDesignTypesApi {
|
|
25
|
+
constructor() {}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* List the building types of one `kind` (wall / slab / floor / ceiling / roof)
|
|
29
|
+
* — the built-in defaults plus any team/user-added types. Returns lightweight
|
|
30
|
+
* summaries; call {@linkcode PluginDesignTypesApi.get} for the full layer stack.
|
|
31
|
+
*
|
|
32
|
+
* @param kind Which family of types to list
|
|
33
|
+
* @returns The type summaries as {@linkcode PluginBuildingTypeSummary}`[]` (`[]` when none)
|
|
34
|
+
*
|
|
35
|
+
* @examplePrompt What wall types does this project have?
|
|
36
|
+
* @examplePrompt List the available slab assemblies
|
|
37
|
+
* @examplePrompt Show me every roof type in the project
|
|
38
|
+
* @examplePrompt Which floor types can I use?
|
|
39
|
+
*
|
|
40
|
+
* # Example
|
|
41
|
+
* ```ts
|
|
42
|
+
* const wallTypes = await snaptrude.design.types.list("wall")
|
|
43
|
+
* for (const t of wallTypes) console.log(t.id, t.label, t.thickness)
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
public abstract list(
|
|
47
|
+
kind: PluginBuildingTypeKind
|
|
48
|
+
): PluginApiReturn<PluginBuildingTypeSummary[]>
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* Get one building type by its legacy id or exact native wall pin — its labelled layer stack
|
|
52
|
+
* (each layer's role, thickness and material) plus the summed total thickness.
|
|
53
|
+
*
|
|
54
|
+
* @param typeId The legacy id or nativeFamily pin from {@linkcode PluginDesignTypesApi.list}
|
|
55
|
+
* @returns The full type, or `null` if no type matches
|
|
56
|
+
*
|
|
57
|
+
* @examplePrompt What layers make up this wall type?
|
|
58
|
+
* @examplePrompt Show the construction of the exposed-concrete wall
|
|
59
|
+
* @examplePrompt What's the total thickness of this slab type?
|
|
60
|
+
* @examplePrompt Which materials are in this roof assembly?
|
|
61
|
+
*
|
|
62
|
+
* # Example
|
|
63
|
+
* ```ts
|
|
64
|
+
* const [first] = await snaptrude.design.types.list("wall")
|
|
65
|
+
* const type = await snaptrude.design.types.get(first.nativeFamily ?? first.id)
|
|
66
|
+
* if (type) for (const layer of type.layers) console.log(layer.name, layer.thickness)
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
69
|
+
public abstract get(typeId: PluginWallType): PluginApiReturn<PluginBuildingType | null>
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/** The building-type families exposed by {@linkcode PluginDesignTypesApi}. */
|
|
73
|
+
export const PluginBuildingTypeKind = z.enum(["wall", "slab", "floor", "ceiling", "roof"])
|
|
74
|
+
export type PluginBuildingTypeKind = z.infer<typeof PluginBuildingTypeKind>
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* One layer of a building type's assembly.
|
|
78
|
+
*
|
|
79
|
+
* | Property | Type | Description |
|
|
80
|
+
* |---|---|---|
|
|
81
|
+
* | `name` | `string` | Layer name (e.g. `"RCC"`, `"Paint"`) |
|
|
82
|
+
* | `role` | `string` | Layer role (e.g. `"Structure"`, `"Finish"`) |
|
|
83
|
+
* | `thickness` | `number` | Layer thickness in engine units (project's active unit mode) |
|
|
84
|
+
* | `material` | `object`? | Layer material — `{ name, type }` (optional) |
|
|
85
|
+
*/
|
|
86
|
+
export const PluginTypeLayer = z.object({
|
|
87
|
+
name: z.string(),
|
|
88
|
+
role: z.string(),
|
|
89
|
+
thickness: z.number(),
|
|
90
|
+
/** Native authored core membership. Never inferred from material or layer name. */
|
|
91
|
+
isCore: z.boolean().optional(),
|
|
92
|
+
material: z
|
|
93
|
+
.object({
|
|
94
|
+
name: z.string(),
|
|
95
|
+
type: z.string(),
|
|
96
|
+
})
|
|
97
|
+
.optional(),
|
|
98
|
+
})
|
|
99
|
+
export type PluginTypeLayer = z.infer<typeof PluginTypeLayer>
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* A lightweight building-type summary (no layer stack).
|
|
103
|
+
*
|
|
104
|
+
* | Property | Type | Description |
|
|
105
|
+
* |---|---|---|
|
|
106
|
+
* | `id` | `string` | Legacy `"<kind>:<name>"` token or native definition id; native lookups use `nativeFamily` |
|
|
107
|
+
* | `kind` | {@linkcode PluginBuildingTypeKind} | Which family it belongs to |
|
|
108
|
+
* | `label` | `string` | Human-readable label |
|
|
109
|
+
* | `isDefault` | `boolean` | `true` for a built-in type, `false` for a team/user type |
|
|
110
|
+
* | `thickness` | `number` | Summed layer thickness in engine units |
|
|
111
|
+
*/
|
|
112
|
+
export const PluginBuildingTypeSummary = z.object({
|
|
113
|
+
id: z.string(),
|
|
114
|
+
kind: PluginBuildingTypeKind,
|
|
115
|
+
label: z.string(),
|
|
116
|
+
isDefault: z.boolean(),
|
|
117
|
+
thickness: z.number(),
|
|
118
|
+
/** Present for native walls. Pass the whole pin to get/create/update, not its label or bare id. */
|
|
119
|
+
nativeFamily: PluginNativeWallType.optional(),
|
|
120
|
+
})
|
|
121
|
+
export type PluginBuildingTypeSummary = z.infer<typeof PluginBuildingTypeSummary>
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* A full building type — a {@linkcode PluginBuildingTypeSummary} plus its layer stack.
|
|
125
|
+
*
|
|
126
|
+
* | Property | Type | Description |
|
|
127
|
+
* |---|---|---|
|
|
128
|
+
* | `id` | `string` | Legacy type token or native definition id |
|
|
129
|
+
* | `kind` | {@linkcode PluginBuildingTypeKind} | Which family it belongs to |
|
|
130
|
+
* | `label` | `string` | Human-readable label |
|
|
131
|
+
* | `isDefault` | `boolean` | `true` for a built-in type |
|
|
132
|
+
* | `thickness` | `number` | Summed layer thickness in engine units |
|
|
133
|
+
* | `layers` | {@linkcode PluginTypeLayer}`[]` | The ordered layer stack |
|
|
134
|
+
*/
|
|
135
|
+
export const PluginBuildingType = PluginBuildingTypeSummary.extend({
|
|
136
|
+
layers: z.array(PluginTypeLayer),
|
|
137
|
+
})
|
|
138
|
+
export type PluginBuildingType = z.infer<typeof PluginBuildingType>
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Arguments for {@linkcode PluginDesignTypesApi.list}.
|
|
142
|
+
*
|
|
143
|
+
* | Property | Type | Description |
|
|
144
|
+
* |---|---|---|
|
|
145
|
+
* | `kind` | {@linkcode PluginBuildingTypeKind} | Which family of types to list |
|
|
146
|
+
*/
|
|
147
|
+
export const PluginDesignTypesListArgs = z.object({
|
|
148
|
+
kind: PluginBuildingTypeKind,
|
|
149
|
+
})
|
|
150
|
+
export type PluginDesignTypesListArgs = z.infer<typeof PluginDesignTypesListArgs>
|
|
151
|
+
|
|
152
|
+
/**
|
|
153
|
+
* Arguments for {@linkcode PluginDesignTypesApi.get}.
|
|
154
|
+
*
|
|
155
|
+
* | Property | Type | Description |
|
|
156
|
+
* |---|---|---|
|
|
157
|
+
* | `typeId` | {@linkcode PluginWallType} | A legacy `"<kind>:<name>"` id or exact `nativeFamily` pin from `design.types.list` |
|
|
158
|
+
*/
|
|
159
|
+
export const PluginDesignTypesGetArgs = z.object({
|
|
160
|
+
// Preserve legacy lookup behavior: malformed string ids return null in the host.
|
|
161
|
+
typeId: z.union([z.string(), PluginNativeWallType]),
|
|
162
|
+
})
|
|
163
|
+
export type PluginDesignTypesGetArgs = z.infer<typeof PluginDesignTypesGetArgs>
|