@snaptrude/plugin-core 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/api/entity/space.d.ts +674 -0
- package/dist/api/entity/space.d.ts.map +1 -1
- package/dist/index.cjs +71 -0
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +63 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api/entity/space.ts +270 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# @snaptrude/plugin-core
|
|
2
2
|
|
|
3
|
+
## 0.2.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- c17d287: Add bulk space APIs: `space.bulkCreate`, `space.bulkUpdate`, and `space.bulkDelete`. Each batches its work into a single undo/redo step. All items are validated up front and the call throws if any item is invalid (nothing is applied), consistent with the single-item space methods. `bulkCreate` supports `spaceType`/`massType`/`departmentId` per item and returns `{ spaceIds }`; `bulkUpdate` takes geometry (`profile`+`extrudeHeight`) and/or nested `properties` per item and returns `{ spaces }` (one echoed result per item, like `update`); `bulkDelete` returns `{ deletedSpaceIds }`.
|
|
8
|
+
- 0683194: bulk apis
|
|
9
|
+
|
|
3
10
|
## 0.2.5
|
|
4
11
|
|
|
5
12
|
### Patch Changes
|
|
@@ -236,6 +236,103 @@ export declare abstract class PluginSpaceApi {
|
|
|
236
236
|
* ```
|
|
237
237
|
*/
|
|
238
238
|
abstract update(args: PluginSpaceUpdateArgs): PluginApiReturn<PluginSpaceUpdateResult>;
|
|
239
|
+
/**
|
|
240
|
+
* Create many spaces in a single undoable operation.
|
|
241
|
+
*
|
|
242
|
+
* Each item is either a rectangular box (`kind: "rectangular"`) or an
|
|
243
|
+
* extruded profile (`kind: "profile"`), and may optionally set `room_type`,
|
|
244
|
+
* `spaceType`, `massType`, and `departmentId`. All creations — and the
|
|
245
|
+
* optional property assignments — are batched into **one** command, so the
|
|
246
|
+
* entire batch is undone/redone in a single step.
|
|
247
|
+
*
|
|
248
|
+
* All items are validated first; if any item is invalid the call **throws**
|
|
249
|
+
* and no spaces are created (nothing is applied) — consistent with the
|
|
250
|
+
* single-item create methods.
|
|
251
|
+
*
|
|
252
|
+
* @param args - {@linkcode PluginSpaceBulkCreateArgs} with an `items` array
|
|
253
|
+
* @returns A {@linkcode PluginSpaceBulkCreateResult} with the `spaceIds` of
|
|
254
|
+
* the created spaces, in input order
|
|
255
|
+
* @throws If any item has invalid dimensions, height, or profile
|
|
256
|
+
*
|
|
257
|
+
* # Example
|
|
258
|
+
* ```ts
|
|
259
|
+
* const { vec3 } = snaptrude.core.math
|
|
260
|
+
*
|
|
261
|
+
* const { spaceIds } = await snaptrude.entity.space.bulkCreate({
|
|
262
|
+
* items: [
|
|
263
|
+
* {
|
|
264
|
+
* kind: "rectangular",
|
|
265
|
+
* position: vec3.new(0, 0, 0),
|
|
266
|
+
* dimensions: { width: 5, height: 3, depth: 4 },
|
|
267
|
+
* spaceType: "Room",
|
|
268
|
+
* departmentId: "CORE",
|
|
269
|
+
* },
|
|
270
|
+
* {
|
|
271
|
+
* kind: "profile",
|
|
272
|
+
* profile: await snaptrude.core.geom.profile.fromLinePoints({
|
|
273
|
+
* points: [vec3.new(0, 0, 0), vec3.new(8, 0, 0), vec3.new(8, 0, 6), vec3.new(0, 0, 6)],
|
|
274
|
+
* }),
|
|
275
|
+
* extrudeHeight: 3,
|
|
276
|
+
* position: vec3.new(10, 0, 0),
|
|
277
|
+
* massType: "Room",
|
|
278
|
+
* },
|
|
279
|
+
* ],
|
|
280
|
+
* })
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
abstract bulkCreate(args: PluginSpaceBulkCreateArgs): PluginApiReturn<PluginSpaceBulkCreateResult>;
|
|
284
|
+
/**
|
|
285
|
+
* Update many existing spaces in a single undoable operation.
|
|
286
|
+
*
|
|
287
|
+
* Each item targets an existing space by `spaceId` and may change its
|
|
288
|
+
* geometry (`profile` + `extrudeHeight`, which must be supplied together) and/or
|
|
289
|
+
* its `properties` (`room_type`, `massType`, `spaceType`, `departmentId` —
|
|
290
|
+
* nested under `properties`, mirroring {@linkcode PluginSpaceApi.update}). All
|
|
291
|
+
* changes are batched into **one** command, so the entire batch is
|
|
292
|
+
* undone/redone in a single step.
|
|
293
|
+
*
|
|
294
|
+
* All items are validated first; if any item is invalid — an unknown
|
|
295
|
+
* `spaceId`, a non-positive height, or supplying only one of
|
|
296
|
+
* `profile`/`extrudeHeight` — the call **throws** and no changes are applied.
|
|
297
|
+
*
|
|
298
|
+
* @param args - {@linkcode PluginSpaceBulkUpdateArgs} with an `items` array
|
|
299
|
+
* @returns A {@linkcode PluginSpaceBulkUpdateResult} echoing one
|
|
300
|
+
* {@linkcode PluginSpaceUpdateResult} per item in `spaces`, in input order
|
|
301
|
+
* @throws If any item targets an unknown space, has a non-positive height, or
|
|
302
|
+
* supplies only one of `profile`/`extrudeHeight`
|
|
303
|
+
*
|
|
304
|
+
* # Example
|
|
305
|
+
* ```ts
|
|
306
|
+
* const { spaces } = await snaptrude.entity.space.bulkUpdate({
|
|
307
|
+
* items: [
|
|
308
|
+
* { spaceId: "space-a", properties: { room_type: "Kitchen", spaceType: "Room" } },
|
|
309
|
+
* { spaceId: "space-b", profile, extrudeHeight: 4 },
|
|
310
|
+
* ],
|
|
311
|
+
* })
|
|
312
|
+
* ```
|
|
313
|
+
*/
|
|
314
|
+
abstract bulkUpdate(args: PluginSpaceBulkUpdateArgs): PluginApiReturn<PluginSpaceBulkUpdateResult>;
|
|
315
|
+
/**
|
|
316
|
+
* Delete many spaces in a single undoable operation.
|
|
317
|
+
*
|
|
318
|
+
* All deletions are batched into **one** command, so the entire batch is
|
|
319
|
+
* undone/redone in a single step.
|
|
320
|
+
*
|
|
321
|
+
* All IDs are validated first; if any ID is unknown or is not a space the
|
|
322
|
+
* call **throws** and no spaces are deleted — consistent with the single-item
|
|
323
|
+
* {@linkcode PluginSpaceApi.delete}.
|
|
324
|
+
*
|
|
325
|
+
* @param args - {@linkcode PluginSpaceBulkDeleteArgs} with a `spaceIds` array
|
|
326
|
+
* @returns A {@linkcode PluginSpaceBulkDeleteResult} with `deletedSpaceIds`
|
|
327
|
+
* (the removed IDs, in input order)
|
|
328
|
+
* @throws If any ID does not resolve to an existing space
|
|
329
|
+
*
|
|
330
|
+
* # Example
|
|
331
|
+
* ```ts
|
|
332
|
+
* await snaptrude.entity.space.bulkDelete({ spaceIds: ["space-a", "space-b"] })
|
|
333
|
+
* ```
|
|
334
|
+
*/
|
|
335
|
+
abstract bulkDelete(args: PluginSpaceBulkDeleteArgs): PluginApiReturn<PluginSpaceBulkDeleteResult>;
|
|
239
336
|
}
|
|
240
337
|
/**
|
|
241
338
|
* Arguments for {@linkcode PluginSpaceApi.createRectangular}.
|
|
@@ -813,4 +910,581 @@ export declare const PluginSpaceUpdateResult: z.ZodObject<{
|
|
|
813
910
|
departmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
814
911
|
}, z.core.$strip>;
|
|
815
912
|
export type PluginSpaceUpdateResult = z.infer<typeof PluginSpaceUpdateResult>;
|
|
913
|
+
/**
|
|
914
|
+
* A single item for {@linkcode PluginSpaceApi.bulkCreate}.
|
|
915
|
+
*
|
|
916
|
+
* Discriminated on `kind`:
|
|
917
|
+
* - `"rectangular"` — a box defined by `position` + `dimensions` (mirrors
|
|
918
|
+
* {@linkcode PluginSpaceCreateRectangularArgs})
|
|
919
|
+
* - `"profile"` — an extruded `profile` (with optional `innerProfiles`) by
|
|
920
|
+
* `extrudeHeight` at `position` (mirrors {@linkcode PluginSpaceCreateFromProfileArgs})
|
|
921
|
+
*
|
|
922
|
+
* Every item may optionally set `room_type`, `spaceType`, `massType`, and
|
|
923
|
+
* `departmentId`; these are applied within the same single undo step as the
|
|
924
|
+
* creation.
|
|
925
|
+
*/
|
|
926
|
+
export declare const PluginSpaceBulkCreateItem: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
927
|
+
kind: z.ZodLiteral<"rectangular">;
|
|
928
|
+
position: z.ZodObject<{
|
|
929
|
+
x: z.ZodNumber;
|
|
930
|
+
y: z.ZodNumber;
|
|
931
|
+
z: z.ZodNumber;
|
|
932
|
+
}, z.core.$strip>;
|
|
933
|
+
dimensions: z.ZodObject<{
|
|
934
|
+
width: z.ZodNumber;
|
|
935
|
+
height: z.ZodNumber;
|
|
936
|
+
depth: z.ZodNumber;
|
|
937
|
+
}, z.core.$strip>;
|
|
938
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
939
|
+
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
940
|
+
Room: "Room";
|
|
941
|
+
"Program Block": "Program Block";
|
|
942
|
+
Balcony: "Balcony";
|
|
943
|
+
Road: "Road";
|
|
944
|
+
Garden: "Garden";
|
|
945
|
+
Deck: "Deck";
|
|
946
|
+
Pool: "Pool";
|
|
947
|
+
Walkway: "Walkway";
|
|
948
|
+
Envelope: "Envelope";
|
|
949
|
+
Parking: "Parking";
|
|
950
|
+
}>>;
|
|
951
|
+
massType: z.ZodOptional<z.ZodEnum<{
|
|
952
|
+
Room: "Room";
|
|
953
|
+
Plinth: "Plinth";
|
|
954
|
+
Void: "Void";
|
|
955
|
+
Pergola: "Pergola";
|
|
956
|
+
Furniture: "Furniture";
|
|
957
|
+
"Facade element": "Facade element";
|
|
958
|
+
"Generic mass": "Generic mass";
|
|
959
|
+
Department: "Department";
|
|
960
|
+
Building: "Building";
|
|
961
|
+
"Revit Import": "Revit Import";
|
|
962
|
+
Mass: "Mass";
|
|
963
|
+
Site: "Site";
|
|
964
|
+
}>>;
|
|
965
|
+
departmentId: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
966
|
+
DEFAULT: "DEFAULT";
|
|
967
|
+
SITE: "SITE";
|
|
968
|
+
ENVELOPE: "ENVELOPE";
|
|
969
|
+
CORE: "CORE";
|
|
970
|
+
}>, z.ZodUUID]>>;
|
|
971
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
972
|
+
kind: z.ZodLiteral<"profile">;
|
|
973
|
+
profile: z.ZodObject<{
|
|
974
|
+
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
975
|
+
curveType: z.ZodLiteral<"Line">;
|
|
976
|
+
startPoint: z.ZodObject<{
|
|
977
|
+
x: z.ZodNumber;
|
|
978
|
+
y: z.ZodNumber;
|
|
979
|
+
z: z.ZodNumber;
|
|
980
|
+
}, z.core.$strip>;
|
|
981
|
+
endPoint: z.ZodObject<{
|
|
982
|
+
x: z.ZodNumber;
|
|
983
|
+
y: z.ZodNumber;
|
|
984
|
+
z: z.ZodNumber;
|
|
985
|
+
}, z.core.$strip>;
|
|
986
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
987
|
+
curveType: z.ZodLiteral<"Arc">;
|
|
988
|
+
startPoint: z.ZodObject<{
|
|
989
|
+
x: z.ZodNumber;
|
|
990
|
+
y: z.ZodNumber;
|
|
991
|
+
z: z.ZodNumber;
|
|
992
|
+
}, z.core.$strip>;
|
|
993
|
+
endPoint: z.ZodObject<{
|
|
994
|
+
x: z.ZodNumber;
|
|
995
|
+
y: z.ZodNumber;
|
|
996
|
+
z: z.ZodNumber;
|
|
997
|
+
}, z.core.$strip>;
|
|
998
|
+
centrePoint: z.ZodObject<{
|
|
999
|
+
x: z.ZodNumber;
|
|
1000
|
+
y: z.ZodNumber;
|
|
1001
|
+
z: z.ZodNumber;
|
|
1002
|
+
}, z.core.$strip>;
|
|
1003
|
+
axis: z.ZodObject<{
|
|
1004
|
+
x: z.ZodNumber;
|
|
1005
|
+
y: z.ZodNumber;
|
|
1006
|
+
z: z.ZodNumber;
|
|
1007
|
+
}, z.core.$strip>;
|
|
1008
|
+
}, z.core.$strip>], "curveType">>;
|
|
1009
|
+
}, z.core.$strip>;
|
|
1010
|
+
innerProfiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1011
|
+
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1012
|
+
curveType: z.ZodLiteral<"Line">;
|
|
1013
|
+
startPoint: z.ZodObject<{
|
|
1014
|
+
x: z.ZodNumber;
|
|
1015
|
+
y: z.ZodNumber;
|
|
1016
|
+
z: z.ZodNumber;
|
|
1017
|
+
}, z.core.$strip>;
|
|
1018
|
+
endPoint: z.ZodObject<{
|
|
1019
|
+
x: z.ZodNumber;
|
|
1020
|
+
y: z.ZodNumber;
|
|
1021
|
+
z: z.ZodNumber;
|
|
1022
|
+
}, z.core.$strip>;
|
|
1023
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1024
|
+
curveType: z.ZodLiteral<"Arc">;
|
|
1025
|
+
startPoint: z.ZodObject<{
|
|
1026
|
+
x: z.ZodNumber;
|
|
1027
|
+
y: z.ZodNumber;
|
|
1028
|
+
z: z.ZodNumber;
|
|
1029
|
+
}, z.core.$strip>;
|
|
1030
|
+
endPoint: z.ZodObject<{
|
|
1031
|
+
x: z.ZodNumber;
|
|
1032
|
+
y: z.ZodNumber;
|
|
1033
|
+
z: z.ZodNumber;
|
|
1034
|
+
}, z.core.$strip>;
|
|
1035
|
+
centrePoint: z.ZodObject<{
|
|
1036
|
+
x: z.ZodNumber;
|
|
1037
|
+
y: z.ZodNumber;
|
|
1038
|
+
z: z.ZodNumber;
|
|
1039
|
+
}, z.core.$strip>;
|
|
1040
|
+
axis: z.ZodObject<{
|
|
1041
|
+
x: z.ZodNumber;
|
|
1042
|
+
y: z.ZodNumber;
|
|
1043
|
+
z: z.ZodNumber;
|
|
1044
|
+
}, z.core.$strip>;
|
|
1045
|
+
}, z.core.$strip>], "curveType">>;
|
|
1046
|
+
}, z.core.$strip>>>;
|
|
1047
|
+
extrudeHeight: z.ZodNumber;
|
|
1048
|
+
position: z.ZodObject<{
|
|
1049
|
+
x: z.ZodNumber;
|
|
1050
|
+
y: z.ZodNumber;
|
|
1051
|
+
z: z.ZodNumber;
|
|
1052
|
+
}, z.core.$strip>;
|
|
1053
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
1054
|
+
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
1055
|
+
Room: "Room";
|
|
1056
|
+
"Program Block": "Program Block";
|
|
1057
|
+
Balcony: "Balcony";
|
|
1058
|
+
Road: "Road";
|
|
1059
|
+
Garden: "Garden";
|
|
1060
|
+
Deck: "Deck";
|
|
1061
|
+
Pool: "Pool";
|
|
1062
|
+
Walkway: "Walkway";
|
|
1063
|
+
Envelope: "Envelope";
|
|
1064
|
+
Parking: "Parking";
|
|
1065
|
+
}>>;
|
|
1066
|
+
massType: z.ZodOptional<z.ZodEnum<{
|
|
1067
|
+
Room: "Room";
|
|
1068
|
+
Plinth: "Plinth";
|
|
1069
|
+
Void: "Void";
|
|
1070
|
+
Pergola: "Pergola";
|
|
1071
|
+
Furniture: "Furniture";
|
|
1072
|
+
"Facade element": "Facade element";
|
|
1073
|
+
"Generic mass": "Generic mass";
|
|
1074
|
+
Department: "Department";
|
|
1075
|
+
Building: "Building";
|
|
1076
|
+
"Revit Import": "Revit Import";
|
|
1077
|
+
Mass: "Mass";
|
|
1078
|
+
Site: "Site";
|
|
1079
|
+
}>>;
|
|
1080
|
+
departmentId: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1081
|
+
DEFAULT: "DEFAULT";
|
|
1082
|
+
SITE: "SITE";
|
|
1083
|
+
ENVELOPE: "ENVELOPE";
|
|
1084
|
+
CORE: "CORE";
|
|
1085
|
+
}>, z.ZodUUID]>>;
|
|
1086
|
+
}, z.core.$strip>], "kind">;
|
|
1087
|
+
export type PluginSpaceBulkCreateItem = z.infer<typeof PluginSpaceBulkCreateItem>;
|
|
1088
|
+
/**
|
|
1089
|
+
* Arguments for {@linkcode PluginSpaceApi.bulkCreate}.
|
|
1090
|
+
*
|
|
1091
|
+
* | Property | Type | Description |
|
|
1092
|
+
* |---|---|---|
|
|
1093
|
+
* | `items` | {@linkcode PluginSpaceBulkCreateItem}`[]` | Spaces to create |
|
|
1094
|
+
*/
|
|
1095
|
+
export declare const PluginSpaceBulkCreateArgs: z.ZodObject<{
|
|
1096
|
+
items: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1097
|
+
kind: z.ZodLiteral<"rectangular">;
|
|
1098
|
+
position: z.ZodObject<{
|
|
1099
|
+
x: z.ZodNumber;
|
|
1100
|
+
y: z.ZodNumber;
|
|
1101
|
+
z: z.ZodNumber;
|
|
1102
|
+
}, z.core.$strip>;
|
|
1103
|
+
dimensions: z.ZodObject<{
|
|
1104
|
+
width: z.ZodNumber;
|
|
1105
|
+
height: z.ZodNumber;
|
|
1106
|
+
depth: z.ZodNumber;
|
|
1107
|
+
}, z.core.$strip>;
|
|
1108
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
1109
|
+
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
1110
|
+
Room: "Room";
|
|
1111
|
+
"Program Block": "Program Block";
|
|
1112
|
+
Balcony: "Balcony";
|
|
1113
|
+
Road: "Road";
|
|
1114
|
+
Garden: "Garden";
|
|
1115
|
+
Deck: "Deck";
|
|
1116
|
+
Pool: "Pool";
|
|
1117
|
+
Walkway: "Walkway";
|
|
1118
|
+
Envelope: "Envelope";
|
|
1119
|
+
Parking: "Parking";
|
|
1120
|
+
}>>;
|
|
1121
|
+
massType: z.ZodOptional<z.ZodEnum<{
|
|
1122
|
+
Room: "Room";
|
|
1123
|
+
Plinth: "Plinth";
|
|
1124
|
+
Void: "Void";
|
|
1125
|
+
Pergola: "Pergola";
|
|
1126
|
+
Furniture: "Furniture";
|
|
1127
|
+
"Facade element": "Facade element";
|
|
1128
|
+
"Generic mass": "Generic mass";
|
|
1129
|
+
Department: "Department";
|
|
1130
|
+
Building: "Building";
|
|
1131
|
+
"Revit Import": "Revit Import";
|
|
1132
|
+
Mass: "Mass";
|
|
1133
|
+
Site: "Site";
|
|
1134
|
+
}>>;
|
|
1135
|
+
departmentId: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1136
|
+
DEFAULT: "DEFAULT";
|
|
1137
|
+
SITE: "SITE";
|
|
1138
|
+
ENVELOPE: "ENVELOPE";
|
|
1139
|
+
CORE: "CORE";
|
|
1140
|
+
}>, z.ZodUUID]>>;
|
|
1141
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1142
|
+
kind: z.ZodLiteral<"profile">;
|
|
1143
|
+
profile: z.ZodObject<{
|
|
1144
|
+
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1145
|
+
curveType: z.ZodLiteral<"Line">;
|
|
1146
|
+
startPoint: z.ZodObject<{
|
|
1147
|
+
x: z.ZodNumber;
|
|
1148
|
+
y: z.ZodNumber;
|
|
1149
|
+
z: z.ZodNumber;
|
|
1150
|
+
}, z.core.$strip>;
|
|
1151
|
+
endPoint: z.ZodObject<{
|
|
1152
|
+
x: z.ZodNumber;
|
|
1153
|
+
y: z.ZodNumber;
|
|
1154
|
+
z: z.ZodNumber;
|
|
1155
|
+
}, z.core.$strip>;
|
|
1156
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1157
|
+
curveType: z.ZodLiteral<"Arc">;
|
|
1158
|
+
startPoint: z.ZodObject<{
|
|
1159
|
+
x: z.ZodNumber;
|
|
1160
|
+
y: z.ZodNumber;
|
|
1161
|
+
z: z.ZodNumber;
|
|
1162
|
+
}, z.core.$strip>;
|
|
1163
|
+
endPoint: z.ZodObject<{
|
|
1164
|
+
x: z.ZodNumber;
|
|
1165
|
+
y: z.ZodNumber;
|
|
1166
|
+
z: z.ZodNumber;
|
|
1167
|
+
}, z.core.$strip>;
|
|
1168
|
+
centrePoint: z.ZodObject<{
|
|
1169
|
+
x: z.ZodNumber;
|
|
1170
|
+
y: z.ZodNumber;
|
|
1171
|
+
z: z.ZodNumber;
|
|
1172
|
+
}, z.core.$strip>;
|
|
1173
|
+
axis: z.ZodObject<{
|
|
1174
|
+
x: z.ZodNumber;
|
|
1175
|
+
y: z.ZodNumber;
|
|
1176
|
+
z: z.ZodNumber;
|
|
1177
|
+
}, z.core.$strip>;
|
|
1178
|
+
}, z.core.$strip>], "curveType">>;
|
|
1179
|
+
}, z.core.$strip>;
|
|
1180
|
+
innerProfiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
1181
|
+
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1182
|
+
curveType: z.ZodLiteral<"Line">;
|
|
1183
|
+
startPoint: z.ZodObject<{
|
|
1184
|
+
x: z.ZodNumber;
|
|
1185
|
+
y: z.ZodNumber;
|
|
1186
|
+
z: z.ZodNumber;
|
|
1187
|
+
}, z.core.$strip>;
|
|
1188
|
+
endPoint: z.ZodObject<{
|
|
1189
|
+
x: z.ZodNumber;
|
|
1190
|
+
y: z.ZodNumber;
|
|
1191
|
+
z: z.ZodNumber;
|
|
1192
|
+
}, z.core.$strip>;
|
|
1193
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1194
|
+
curveType: z.ZodLiteral<"Arc">;
|
|
1195
|
+
startPoint: z.ZodObject<{
|
|
1196
|
+
x: z.ZodNumber;
|
|
1197
|
+
y: z.ZodNumber;
|
|
1198
|
+
z: z.ZodNumber;
|
|
1199
|
+
}, z.core.$strip>;
|
|
1200
|
+
endPoint: z.ZodObject<{
|
|
1201
|
+
x: z.ZodNumber;
|
|
1202
|
+
y: z.ZodNumber;
|
|
1203
|
+
z: z.ZodNumber;
|
|
1204
|
+
}, z.core.$strip>;
|
|
1205
|
+
centrePoint: z.ZodObject<{
|
|
1206
|
+
x: z.ZodNumber;
|
|
1207
|
+
y: z.ZodNumber;
|
|
1208
|
+
z: z.ZodNumber;
|
|
1209
|
+
}, z.core.$strip>;
|
|
1210
|
+
axis: z.ZodObject<{
|
|
1211
|
+
x: z.ZodNumber;
|
|
1212
|
+
y: z.ZodNumber;
|
|
1213
|
+
z: z.ZodNumber;
|
|
1214
|
+
}, z.core.$strip>;
|
|
1215
|
+
}, z.core.$strip>], "curveType">>;
|
|
1216
|
+
}, z.core.$strip>>>;
|
|
1217
|
+
extrudeHeight: z.ZodNumber;
|
|
1218
|
+
position: z.ZodObject<{
|
|
1219
|
+
x: z.ZodNumber;
|
|
1220
|
+
y: z.ZodNumber;
|
|
1221
|
+
z: z.ZodNumber;
|
|
1222
|
+
}, z.core.$strip>;
|
|
1223
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
1224
|
+
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
1225
|
+
Room: "Room";
|
|
1226
|
+
"Program Block": "Program Block";
|
|
1227
|
+
Balcony: "Balcony";
|
|
1228
|
+
Road: "Road";
|
|
1229
|
+
Garden: "Garden";
|
|
1230
|
+
Deck: "Deck";
|
|
1231
|
+
Pool: "Pool";
|
|
1232
|
+
Walkway: "Walkway";
|
|
1233
|
+
Envelope: "Envelope";
|
|
1234
|
+
Parking: "Parking";
|
|
1235
|
+
}>>;
|
|
1236
|
+
massType: z.ZodOptional<z.ZodEnum<{
|
|
1237
|
+
Room: "Room";
|
|
1238
|
+
Plinth: "Plinth";
|
|
1239
|
+
Void: "Void";
|
|
1240
|
+
Pergola: "Pergola";
|
|
1241
|
+
Furniture: "Furniture";
|
|
1242
|
+
"Facade element": "Facade element";
|
|
1243
|
+
"Generic mass": "Generic mass";
|
|
1244
|
+
Department: "Department";
|
|
1245
|
+
Building: "Building";
|
|
1246
|
+
"Revit Import": "Revit Import";
|
|
1247
|
+
Mass: "Mass";
|
|
1248
|
+
Site: "Site";
|
|
1249
|
+
}>>;
|
|
1250
|
+
departmentId: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1251
|
+
DEFAULT: "DEFAULT";
|
|
1252
|
+
SITE: "SITE";
|
|
1253
|
+
ENVELOPE: "ENVELOPE";
|
|
1254
|
+
CORE: "CORE";
|
|
1255
|
+
}>, z.ZodUUID]>>;
|
|
1256
|
+
}, z.core.$strip>], "kind">>;
|
|
1257
|
+
}, z.core.$strip>;
|
|
1258
|
+
export type PluginSpaceBulkCreateArgs = z.infer<typeof PluginSpaceBulkCreateArgs>;
|
|
1259
|
+
/**
|
|
1260
|
+
* Result of {@linkcode PluginSpaceApi.bulkCreate}.
|
|
1261
|
+
*
|
|
1262
|
+
* | Property | Type | Description |
|
|
1263
|
+
* |---|---|---|
|
|
1264
|
+
* | `spaceIds` | `string[]` | IDs of the created spaces, in input order |
|
|
1265
|
+
*/
|
|
1266
|
+
export declare const PluginSpaceBulkCreateResult: z.ZodObject<{
|
|
1267
|
+
spaceIds: z.ZodArray<z.ZodString>;
|
|
1268
|
+
}, z.core.$strip>;
|
|
1269
|
+
export type PluginSpaceBulkCreateResult = z.infer<typeof PluginSpaceBulkCreateResult>;
|
|
1270
|
+
/**
|
|
1271
|
+
* A single item for {@linkcode PluginSpaceApi.bulkUpdate}.
|
|
1272
|
+
*
|
|
1273
|
+
* Targets an existing space by `spaceId`. Geometry fields `profile` and
|
|
1274
|
+
* `extrudeHeight` must be supplied **together** (mirrors
|
|
1275
|
+
* {@linkcode PluginSpaceUpdateGeometryFromProfileArgs}). Property changes are
|
|
1276
|
+
* nested under `properties`, mirroring {@linkcode PluginSpaceUpdateArgs}.
|
|
1277
|
+
*
|
|
1278
|
+
* | Property | Type | Description |
|
|
1279
|
+
* |---|---|---|
|
|
1280
|
+
* | `spaceId` | `string` | The space to update |
|
|
1281
|
+
* | `profile` | {@linkcode PProfile}`?` | New floor shape (requires `extrudeHeight`) |
|
|
1282
|
+
* | `extrudeHeight` | `number?` | New extrusion height (requires `profile`) |
|
|
1283
|
+
* | `properties` | `object?` | Property changes (same shape as {@linkcode PluginSpaceUpdateArgs.properties}) |
|
|
1284
|
+
*/
|
|
1285
|
+
export declare const PluginSpaceBulkUpdateItem: z.ZodObject<{
|
|
1286
|
+
spaceId: z.ZodString;
|
|
1287
|
+
profile: z.ZodOptional<z.ZodObject<{
|
|
1288
|
+
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1289
|
+
curveType: z.ZodLiteral<"Line">;
|
|
1290
|
+
startPoint: z.ZodObject<{
|
|
1291
|
+
x: z.ZodNumber;
|
|
1292
|
+
y: z.ZodNumber;
|
|
1293
|
+
z: z.ZodNumber;
|
|
1294
|
+
}, z.core.$strip>;
|
|
1295
|
+
endPoint: z.ZodObject<{
|
|
1296
|
+
x: z.ZodNumber;
|
|
1297
|
+
y: z.ZodNumber;
|
|
1298
|
+
z: z.ZodNumber;
|
|
1299
|
+
}, z.core.$strip>;
|
|
1300
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1301
|
+
curveType: z.ZodLiteral<"Arc">;
|
|
1302
|
+
startPoint: z.ZodObject<{
|
|
1303
|
+
x: z.ZodNumber;
|
|
1304
|
+
y: z.ZodNumber;
|
|
1305
|
+
z: z.ZodNumber;
|
|
1306
|
+
}, z.core.$strip>;
|
|
1307
|
+
endPoint: z.ZodObject<{
|
|
1308
|
+
x: z.ZodNumber;
|
|
1309
|
+
y: z.ZodNumber;
|
|
1310
|
+
z: z.ZodNumber;
|
|
1311
|
+
}, z.core.$strip>;
|
|
1312
|
+
centrePoint: z.ZodObject<{
|
|
1313
|
+
x: z.ZodNumber;
|
|
1314
|
+
y: z.ZodNumber;
|
|
1315
|
+
z: z.ZodNumber;
|
|
1316
|
+
}, z.core.$strip>;
|
|
1317
|
+
axis: z.ZodObject<{
|
|
1318
|
+
x: z.ZodNumber;
|
|
1319
|
+
y: z.ZodNumber;
|
|
1320
|
+
z: z.ZodNumber;
|
|
1321
|
+
}, z.core.$strip>;
|
|
1322
|
+
}, z.core.$strip>], "curveType">>;
|
|
1323
|
+
}, z.core.$strip>>;
|
|
1324
|
+
extrudeHeight: z.ZodOptional<z.ZodNumber>;
|
|
1325
|
+
properties: z.ZodOptional<z.ZodObject<{
|
|
1326
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
1327
|
+
massType: z.ZodOptional<z.ZodEnum<{
|
|
1328
|
+
Room: "Room";
|
|
1329
|
+
Plinth: "Plinth";
|
|
1330
|
+
Void: "Void";
|
|
1331
|
+
Pergola: "Pergola";
|
|
1332
|
+
Furniture: "Furniture";
|
|
1333
|
+
"Facade element": "Facade element";
|
|
1334
|
+
"Generic mass": "Generic mass";
|
|
1335
|
+
Department: "Department";
|
|
1336
|
+
Building: "Building";
|
|
1337
|
+
"Revit Import": "Revit Import";
|
|
1338
|
+
Mass: "Mass";
|
|
1339
|
+
Site: "Site";
|
|
1340
|
+
}>>;
|
|
1341
|
+
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
1342
|
+
Room: "Room";
|
|
1343
|
+
"Program Block": "Program Block";
|
|
1344
|
+
Balcony: "Balcony";
|
|
1345
|
+
Road: "Road";
|
|
1346
|
+
Garden: "Garden";
|
|
1347
|
+
Deck: "Deck";
|
|
1348
|
+
Pool: "Pool";
|
|
1349
|
+
Walkway: "Walkway";
|
|
1350
|
+
Envelope: "Envelope";
|
|
1351
|
+
Parking: "Parking";
|
|
1352
|
+
}>>;
|
|
1353
|
+
departmentId: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1354
|
+
DEFAULT: "DEFAULT";
|
|
1355
|
+
SITE: "SITE";
|
|
1356
|
+
ENVELOPE: "ENVELOPE";
|
|
1357
|
+
CORE: "CORE";
|
|
1358
|
+
}>, z.ZodUUID]>>;
|
|
1359
|
+
}, z.core.$strip>>;
|
|
1360
|
+
}, z.core.$strip>;
|
|
1361
|
+
export type PluginSpaceBulkUpdateItem = z.infer<typeof PluginSpaceBulkUpdateItem>;
|
|
1362
|
+
/**
|
|
1363
|
+
* Arguments for {@linkcode PluginSpaceApi.bulkUpdate}.
|
|
1364
|
+
*
|
|
1365
|
+
* | Property | Type | Description |
|
|
1366
|
+
* |---|---|---|
|
|
1367
|
+
* | `items` | {@linkcode PluginSpaceBulkUpdateItem}`[]` | Spaces to update |
|
|
1368
|
+
*/
|
|
1369
|
+
export declare const PluginSpaceBulkUpdateArgs: z.ZodObject<{
|
|
1370
|
+
items: z.ZodArray<z.ZodObject<{
|
|
1371
|
+
spaceId: z.ZodString;
|
|
1372
|
+
profile: z.ZodOptional<z.ZodObject<{
|
|
1373
|
+
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1374
|
+
curveType: z.ZodLiteral<"Line">;
|
|
1375
|
+
startPoint: z.ZodObject<{
|
|
1376
|
+
x: z.ZodNumber;
|
|
1377
|
+
y: z.ZodNumber;
|
|
1378
|
+
z: z.ZodNumber;
|
|
1379
|
+
}, z.core.$strip>;
|
|
1380
|
+
endPoint: z.ZodObject<{
|
|
1381
|
+
x: z.ZodNumber;
|
|
1382
|
+
y: z.ZodNumber;
|
|
1383
|
+
z: z.ZodNumber;
|
|
1384
|
+
}, z.core.$strip>;
|
|
1385
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
1386
|
+
curveType: z.ZodLiteral<"Arc">;
|
|
1387
|
+
startPoint: z.ZodObject<{
|
|
1388
|
+
x: z.ZodNumber;
|
|
1389
|
+
y: z.ZodNumber;
|
|
1390
|
+
z: z.ZodNumber;
|
|
1391
|
+
}, z.core.$strip>;
|
|
1392
|
+
endPoint: z.ZodObject<{
|
|
1393
|
+
x: z.ZodNumber;
|
|
1394
|
+
y: z.ZodNumber;
|
|
1395
|
+
z: z.ZodNumber;
|
|
1396
|
+
}, z.core.$strip>;
|
|
1397
|
+
centrePoint: z.ZodObject<{
|
|
1398
|
+
x: z.ZodNumber;
|
|
1399
|
+
y: z.ZodNumber;
|
|
1400
|
+
z: z.ZodNumber;
|
|
1401
|
+
}, z.core.$strip>;
|
|
1402
|
+
axis: z.ZodObject<{
|
|
1403
|
+
x: z.ZodNumber;
|
|
1404
|
+
y: z.ZodNumber;
|
|
1405
|
+
z: z.ZodNumber;
|
|
1406
|
+
}, z.core.$strip>;
|
|
1407
|
+
}, z.core.$strip>], "curveType">>;
|
|
1408
|
+
}, z.core.$strip>>;
|
|
1409
|
+
extrudeHeight: z.ZodOptional<z.ZodNumber>;
|
|
1410
|
+
properties: z.ZodOptional<z.ZodObject<{
|
|
1411
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
1412
|
+
massType: z.ZodOptional<z.ZodEnum<{
|
|
1413
|
+
Room: "Room";
|
|
1414
|
+
Plinth: "Plinth";
|
|
1415
|
+
Void: "Void";
|
|
1416
|
+
Pergola: "Pergola";
|
|
1417
|
+
Furniture: "Furniture";
|
|
1418
|
+
"Facade element": "Facade element";
|
|
1419
|
+
"Generic mass": "Generic mass";
|
|
1420
|
+
Department: "Department";
|
|
1421
|
+
Building: "Building";
|
|
1422
|
+
"Revit Import": "Revit Import";
|
|
1423
|
+
Mass: "Mass";
|
|
1424
|
+
Site: "Site";
|
|
1425
|
+
}>>;
|
|
1426
|
+
spaceType: z.ZodOptional<z.ZodEnum<{
|
|
1427
|
+
Room: "Room";
|
|
1428
|
+
"Program Block": "Program Block";
|
|
1429
|
+
Balcony: "Balcony";
|
|
1430
|
+
Road: "Road";
|
|
1431
|
+
Garden: "Garden";
|
|
1432
|
+
Deck: "Deck";
|
|
1433
|
+
Pool: "Pool";
|
|
1434
|
+
Walkway: "Walkway";
|
|
1435
|
+
Envelope: "Envelope";
|
|
1436
|
+
Parking: "Parking";
|
|
1437
|
+
}>>;
|
|
1438
|
+
departmentId: z.ZodOptional<z.ZodUnion<readonly [z.ZodEnum<{
|
|
1439
|
+
DEFAULT: "DEFAULT";
|
|
1440
|
+
SITE: "SITE";
|
|
1441
|
+
ENVELOPE: "ENVELOPE";
|
|
1442
|
+
CORE: "CORE";
|
|
1443
|
+
}>, z.ZodUUID]>>;
|
|
1444
|
+
}, z.core.$strip>>;
|
|
1445
|
+
}, z.core.$strip>>;
|
|
1446
|
+
}, z.core.$strip>;
|
|
1447
|
+
export type PluginSpaceBulkUpdateArgs = z.infer<typeof PluginSpaceBulkUpdateArgs>;
|
|
1448
|
+
/**
|
|
1449
|
+
* Result of {@linkcode PluginSpaceApi.bulkUpdate}.
|
|
1450
|
+
*
|
|
1451
|
+
* Echoes one {@linkcode PluginSpaceUpdateResult} per item, in input order —
|
|
1452
|
+
* the same per-space shape returned by {@linkcode PluginSpaceApi.update}.
|
|
1453
|
+
*
|
|
1454
|
+
* | Property | Type | Description |
|
|
1455
|
+
* |---|---|---|
|
|
1456
|
+
* | `spaces` | {@linkcode PluginSpaceUpdateResult}`[]` | Per-item updated values, in input order |
|
|
1457
|
+
*/
|
|
1458
|
+
export declare const PluginSpaceBulkUpdateResult: z.ZodObject<{
|
|
1459
|
+
spaces: z.ZodArray<z.ZodObject<{
|
|
1460
|
+
spaceId: z.ZodString;
|
|
1461
|
+
room_type: z.ZodOptional<z.ZodString>;
|
|
1462
|
+
massType: z.ZodOptional<z.ZodString>;
|
|
1463
|
+
spaceType: z.ZodOptional<z.ZodString>;
|
|
1464
|
+
departmentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
1465
|
+
}, z.core.$strip>>;
|
|
1466
|
+
}, z.core.$strip>;
|
|
1467
|
+
export type PluginSpaceBulkUpdateResult = z.infer<typeof PluginSpaceBulkUpdateResult>;
|
|
1468
|
+
/**
|
|
1469
|
+
* Arguments for {@linkcode PluginSpaceApi.bulkDelete}.
|
|
1470
|
+
*
|
|
1471
|
+
* | Property | Type | Description |
|
|
1472
|
+
* |---|---|---|
|
|
1473
|
+
* | `spaceIds` | `string[]` | The space IDs to delete |
|
|
1474
|
+
*/
|
|
1475
|
+
export declare const PluginSpaceBulkDeleteArgs: z.ZodObject<{
|
|
1476
|
+
spaceIds: z.ZodArray<z.ZodString>;
|
|
1477
|
+
}, z.core.$strip>;
|
|
1478
|
+
export type PluginSpaceBulkDeleteArgs = z.infer<typeof PluginSpaceBulkDeleteArgs>;
|
|
1479
|
+
/**
|
|
1480
|
+
* Result of {@linkcode PluginSpaceApi.bulkDelete}.
|
|
1481
|
+
*
|
|
1482
|
+
* | Property | Type | Description |
|
|
1483
|
+
* |---|---|---|
|
|
1484
|
+
* | `deletedSpaceIds` | `string[]` | The space IDs that were removed |
|
|
1485
|
+
*/
|
|
1486
|
+
export declare const PluginSpaceBulkDeleteResult: z.ZodObject<{
|
|
1487
|
+
deletedSpaceIds: z.ZodArray<z.ZodString>;
|
|
1488
|
+
}, z.core.$strip>;
|
|
1489
|
+
export type PluginSpaceBulkDeleteResult = z.infer<typeof PluginSpaceBulkDeleteResult>;
|
|
816
1490
|
//# sourceMappingURL=space.d.ts.map
|