@snaptrude/plugin-core 0.9.2 → 0.9.3
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 +6 -0
- package/api-manifest.json +20 -1204
- package/dist/api/design/create/index.d.ts +103 -4
- package/dist/api/design/create/index.d.ts.map +1 -1
- package/dist/api/design/query/index.d.ts +10 -10
- package/dist/api/design/selection/index.d.ts +4 -4
- package/dist/api/program/index.d.ts +2 -2
- package/dist/api/program/index.d.ts.map +1 -1
- package/dist/api/program/site.d.ts +118 -7
- package/dist/api/program/site.d.ts.map +1 -1
- package/dist/handles.d.ts +2 -2
- package/dist/index.cjs +67 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +61 -2
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api/design/create/index.ts +119 -4
- package/src/api/program/index.ts +2 -2
- package/src/api/program/site.ts +131 -8
- package/src/handles.ts +2 -2
- package/api-manifest.full.json +0 -8112
|
@@ -320,9 +320,15 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
320
320
|
* Drives the wall's construction layers and default material, and — when
|
|
321
321
|
* `thickness` is omitted — its total layer thickness. Default: the engine's
|
|
322
322
|
* generic wall.
|
|
323
|
+
* @param storey - Target storey (integer: `1` ground, `2` first floor, `-1`
|
|
324
|
+
* basement — same convention as `design.create.space`). The walls are
|
|
325
|
+
* assigned to it and lifted to its base elevation, all inside the same
|
|
326
|
+
* single undo entry. The storey must already exist
|
|
327
|
+
* (`core.storeys.create` first). Default: geometry-derived — a profile
|
|
328
|
+
* drawn at y = 0 lands on storey 1; the ACTIVE storey is NOT consulted.
|
|
323
329
|
* @returns a {@linkcode ComponentHandle}`[]` (one per wall), in profile order
|
|
324
330
|
* @throws if the profile is empty, `wallType` names no wall type in the
|
|
325
|
-
* project, or wall creation fails
|
|
331
|
+
* project, `storey` does not exist, or wall creation fails
|
|
326
332
|
*
|
|
327
333
|
* @examplePrompt Draw walls along this centerline
|
|
328
334
|
* @examplePrompt Create 3m high, 200mm thick walls from these points
|
|
@@ -348,18 +354,23 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
348
354
|
* )
|
|
349
355
|
* ```
|
|
350
356
|
*/
|
|
351
|
-
abstract walls(profile: ProfileHandle, height?: number, thickness?: number, wallType?: string): PluginApiReturn<ComponentHandle[]>;
|
|
357
|
+
abstract walls(profile: ProfileHandle, height?: number, thickness?: number, wallType?: string, storey?: number): PluginApiReturn<ComponentHandle[]>;
|
|
352
358
|
/**
|
|
353
359
|
* Create a **staircase** from a parametric preset, placed at a point.
|
|
354
360
|
*
|
|
355
361
|
* Geometry is procedurally generated from the chosen `preset`; there is no
|
|
356
362
|
* footprint input. Placed on the active structure/story unless overridden.
|
|
363
|
+
* The promise resolves only after the staircase's asynchronous geometry union
|
|
364
|
+
* and creation-command capture settle; a union failure rejects the call.
|
|
357
365
|
*
|
|
358
366
|
* @param preset - The parametric preset to generate
|
|
359
367
|
* @param position - Placement point
|
|
360
368
|
* @param label - Optional label
|
|
361
369
|
* @param structureId - Target structure (default active)
|
|
362
370
|
* @param level - Target level name (default active/`"01"`)
|
|
371
|
+
* @param dimensions - Optional positive dimension overrides in Snaptrude engine
|
|
372
|
+
* units, plus a placement angle in 90-degree increments. Overrides are
|
|
373
|
+
* applied to the staircase parameters before the creation command runs.
|
|
363
374
|
* @returns the {@linkcode ComponentHandle} of the created staircase
|
|
364
375
|
* @throws if the preset is unknown or placement fails
|
|
365
376
|
*
|
|
@@ -377,7 +388,7 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
377
388
|
* )
|
|
378
389
|
* ```
|
|
379
390
|
*/
|
|
380
|
-
abstract staircase(preset: PluginStaircasePreset, position: Vec3Handle, label?: string, structureId?: string, level?: string): PluginApiReturn<ComponentHandle>;
|
|
391
|
+
abstract staircase(preset: PluginStaircasePreset, position: Vec3Handle, label?: string, structureId?: string, level?: string, dimensions?: PluginStaircaseDimensions): PluginApiReturn<ComponentHandle>;
|
|
381
392
|
/**
|
|
382
393
|
* Create **reference lines** from a profile — one reference line per curve in
|
|
383
394
|
* the profile's ordered chain. Returns a handle per created line.
|
|
@@ -428,7 +439,11 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
428
439
|
* entry). To rotate an existing instance instead, use `design.transform.rotate`.
|
|
429
440
|
*
|
|
430
441
|
* @param catalogId - Library id: team `_id` or general `fullName`
|
|
431
|
-
* @param position - Absolute world placement point
|
|
442
|
+
* @param position - Absolute world placement point. `position.y` is the REST
|
|
443
|
+
* elevation: the item is grounded so its bounding-box base sits exactly at
|
|
444
|
+
* `position.y` (the same surface-flush contract as interactive drag-drop) —
|
|
445
|
+
* pass the floor/storey elevation to stand furniture on it; never add half
|
|
446
|
+
* the item's height yourself.
|
|
432
447
|
* @param options - Optional placement options: `label` — instance name
|
|
433
448
|
* (default auto `${name}Ins${n}`); `createNewSourceMesh` — emit a
|
|
434
449
|
* source-mesh creation command (default `true`)
|
|
@@ -563,6 +578,40 @@ export declare abstract class PluginDesignCreateApi {
|
|
|
563
578
|
abstract window(catalogId: string, hostWall: ComponentHandle, position: Vec3Handle, options?: {
|
|
564
579
|
label?: string;
|
|
565
580
|
}, facing?: Vec3Handle): PluginApiReturn<ComponentHandle>;
|
|
581
|
+
/**
|
|
582
|
+
* Place a catalog **door or window** into a host wall with optional size overrides.
|
|
583
|
+
*
|
|
584
|
+
* The world `position` is projected onto the host wall to locate the opening.
|
|
585
|
+
* All supplied dimensions use Snaptrude engine units. Window `sillHeight` is
|
|
586
|
+
* measured from the host wall base to the bottom of the window, not to
|
|
587
|
+
* its center. Placement is asynchronous and committed as one undoable creation.
|
|
588
|
+
*
|
|
589
|
+
* @param options - Opening kind, catalog and host references, placement, and
|
|
590
|
+
* optional facing, label, and dimensions
|
|
591
|
+
* @returns the {@linkcode ComponentHandle} of the placed door or window
|
|
592
|
+
* @throws if the options are invalid, the catalog id is unknown, the host is
|
|
593
|
+
* not a wall, loading fails, or the opening cannot be placed on the host
|
|
594
|
+
*
|
|
595
|
+
* @examplePrompt Add a 1m wide door to this wall here
|
|
596
|
+
* @examplePrompt Place a window with a 0.9m sill height on the selected wall
|
|
597
|
+
*
|
|
598
|
+
* @performance Single-opening creator — use it for one hosted opening. A plural
|
|
599
|
+
* API is intentionally unavailable until host placement can be atomic.
|
|
600
|
+
*
|
|
601
|
+
* # Example
|
|
602
|
+
* ```ts
|
|
603
|
+
* const opening = await snaptrude.design.create.opening({
|
|
604
|
+
* kind: "window",
|
|
605
|
+
* catalogId: windowType.id,
|
|
606
|
+
* hostWall: wall,
|
|
607
|
+
* position: await snaptrude.core.math.vec3.new(3, 0, 5),
|
|
608
|
+
* width: 1.2,
|
|
609
|
+
* height: 1.5,
|
|
610
|
+
* sillHeight: 0.9,
|
|
611
|
+
* })
|
|
612
|
+
* ```
|
|
613
|
+
*/
|
|
614
|
+
abstract opening(options: PluginDesignCreateOpeningOptions): PluginApiReturn<ComponentHandle>;
|
|
566
615
|
/**
|
|
567
616
|
* Place a **smart layout** — clone an in-scene template cluster (walls,
|
|
568
617
|
* furniture, doors, windows, floors) into one or more target ROOM/DEPARTMENT
|
|
@@ -786,6 +835,19 @@ export declare const PluginStaircasePreset: z.ZodEnum<{
|
|
|
786
835
|
mezzanineFloorLShaped: "mezzanineFloorLShaped";
|
|
787
836
|
}>;
|
|
788
837
|
export type PluginStaircasePreset = z.infer<typeof PluginStaircasePreset>;
|
|
838
|
+
/**
|
|
839
|
+
* Optional staircase dimension overrides. Lengths use Snaptrude engine units
|
|
840
|
+
* and must be positive. `angleInDegrees` controls placement about the vertical
|
|
841
|
+
* axis and must be a multiple of 90 degrees.
|
|
842
|
+
*/
|
|
843
|
+
export declare const PluginStaircaseDimensions: z.ZodObject<{
|
|
844
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
845
|
+
tread: z.ZodOptional<z.ZodNumber>;
|
|
846
|
+
riser: z.ZodOptional<z.ZodNumber>;
|
|
847
|
+
landingWidth: z.ZodOptional<z.ZodNumber>;
|
|
848
|
+
angleInDegrees: z.ZodOptional<z.ZodNumber>;
|
|
849
|
+
}, z.core.$strict>;
|
|
850
|
+
export type PluginStaircaseDimensions = z.infer<typeof PluginStaircaseDimensions>;
|
|
789
851
|
/**
|
|
790
852
|
* Arguments for {@linkcode PluginDesignCreateApi.space}.
|
|
791
853
|
*
|
|
@@ -994,12 +1056,14 @@ export type PluginDesignCreateBeamArgs = z.infer<typeof PluginDesignCreateBeamAr
|
|
|
994
1056
|
* | `height` | `number`? | Wall height (default engine default) |
|
|
995
1057
|
* | `thickness` | `number`? | Wall thickness (default: `wallType`'s total layer thickness when given, else engine default) |
|
|
996
1058
|
* | `wallType` | `string`? | Wall type name from `design.types.list("wall")` — layers/material/thickness defaults (default generic) |
|
|
1059
|
+
* | `storey` | `number`? | Target storey (integer, must exist) — walls assigned + lifted to its base in the same undo entry (default: geometry-derived) |
|
|
997
1060
|
*/
|
|
998
1061
|
export declare const PluginDesignCreateWallsArgs: z.ZodObject<{
|
|
999
1062
|
profile: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"profile">, string>>;
|
|
1000
1063
|
height: z.ZodOptional<z.ZodNumber>;
|
|
1001
1064
|
thickness: z.ZodOptional<z.ZodNumber>;
|
|
1002
1065
|
wallType: z.ZodOptional<z.ZodString>;
|
|
1066
|
+
storey: z.ZodOptional<z.ZodNumber>;
|
|
1003
1067
|
}, z.core.$strip>;
|
|
1004
1068
|
export type PluginDesignCreateWallsArgs = z.infer<typeof PluginDesignCreateWallsArgs>;
|
|
1005
1069
|
/**
|
|
@@ -1012,6 +1076,7 @@ export type PluginDesignCreateWallsArgs = z.infer<typeof PluginDesignCreateWalls
|
|
|
1012
1076
|
* | `label` | `string`? | Optional label |
|
|
1013
1077
|
* | `structureId` | `string`? | Target structure (default active) |
|
|
1014
1078
|
* | `level` | `string`? | Target level name (default active/`"01"`) |
|
|
1079
|
+
* | `dimensions` | {@linkcode PluginStaircaseDimensions}? | Positive dimension overrides in engine units, applied before creation |
|
|
1015
1080
|
*/
|
|
1016
1081
|
export declare const PluginDesignCreateStaircaseArgs: z.ZodObject<{
|
|
1017
1082
|
preset: z.ZodEnum<{
|
|
@@ -1036,6 +1101,13 @@ export declare const PluginDesignCreateStaircaseArgs: z.ZodObject<{
|
|
|
1036
1101
|
label: z.ZodOptional<z.ZodString>;
|
|
1037
1102
|
structureId: z.ZodOptional<z.ZodString>;
|
|
1038
1103
|
level: z.ZodOptional<z.ZodString>;
|
|
1104
|
+
dimensions: z.ZodOptional<z.ZodObject<{
|
|
1105
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1106
|
+
tread: z.ZodOptional<z.ZodNumber>;
|
|
1107
|
+
riser: z.ZodOptional<z.ZodNumber>;
|
|
1108
|
+
landingWidth: z.ZodOptional<z.ZodNumber>;
|
|
1109
|
+
angleInDegrees: z.ZodOptional<z.ZodNumber>;
|
|
1110
|
+
}, z.core.$strict>>;
|
|
1039
1111
|
}, z.core.$strip>;
|
|
1040
1112
|
export type PluginDesignCreateStaircaseArgs = z.infer<typeof PluginDesignCreateStaircaseArgs>;
|
|
1041
1113
|
/**
|
|
@@ -1095,6 +1167,33 @@ export declare const PluginDesignCreateWindowArgs: z.ZodObject<{
|
|
|
1095
1167
|
facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
1096
1168
|
}, z.core.$strip>;
|
|
1097
1169
|
export type PluginDesignCreateWindowArgs = z.infer<typeof PluginDesignCreateWindowArgs>;
|
|
1170
|
+
/**
|
|
1171
|
+
* Options for {@linkcode PluginDesignCreateApi.opening}, discriminated by
|
|
1172
|
+
* `kind`. Width and height are positive Snaptrude engine-unit values.
|
|
1173
|
+
* `sillHeight` is available only for windows, is nonnegative, and is precisely
|
|
1174
|
+
* the distance from the host wall base to the bottom of the window.
|
|
1175
|
+
*/
|
|
1176
|
+
export declare const PluginDesignCreateOpeningOptions: z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
1177
|
+
catalogId: z.ZodString;
|
|
1178
|
+
hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
1179
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
1180
|
+
facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
1181
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1182
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1183
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1184
|
+
kind: z.ZodLiteral<"door">;
|
|
1185
|
+
}, z.core.$strict>, z.ZodObject<{
|
|
1186
|
+
sillHeight: z.ZodOptional<z.ZodNumber>;
|
|
1187
|
+
catalogId: z.ZodString;
|
|
1188
|
+
hostWall: z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>;
|
|
1189
|
+
position: z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>;
|
|
1190
|
+
facing: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
|
|
1191
|
+
label: z.ZodOptional<z.ZodString>;
|
|
1192
|
+
width: z.ZodOptional<z.ZodNumber>;
|
|
1193
|
+
height: z.ZodOptional<z.ZodNumber>;
|
|
1194
|
+
kind: z.ZodLiteral<"window">;
|
|
1195
|
+
}, z.core.$strict>], "kind">;
|
|
1196
|
+
export type PluginDesignCreateOpeningOptions = z.infer<typeof PluginDesignCreateOpeningOptions>;
|
|
1098
1197
|
/**
|
|
1099
1198
|
* Arguments for {@linkcode PluginDesignCreateApi.smartLayout}. Provide **exactly
|
|
1100
1199
|
* one** template source: `templateGroup` or a non-empty `templateComponents`.
|
|
@@ -1 +1 @@
|
|
|
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,aAAa,EACb,UAAU,EACX,MAAM,kBAAkB,CAAA;AACzB,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;;;;;;;;;;;;;;;;;;;;GAoBG;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,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,EACzB,QAAQ,CAAC,EAAE,cAAc,GACxB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,KAAK,CACnB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,UAAU,GACpB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,IAAI,CAClB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,GAChB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,OAAO,CACrB,OAAO,EAAE,aAAa,EACtB,SAAS,EAAE,MAAM,EACjB,eAAe,CAAC,EAAE,MAAM,GACvB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,MAAM,CACpB,QAAQ,EAAE,UAAU,EACpB,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,MAAM,EACd,WAAW,CAAC,EAAE,UAAU,GACvB,eAAe,CAAC,eAAe,CAAC;IAEnC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAuCG;aACa,IAAI,CAClB,OAAO,EAAE,aAAa,EACtB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,UAAU,GACrB,eAAe,CAAC,eAAe,CAAC;IAEnC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/design/create/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,10 +35,10 @@ export declare const PluginEntityType: z.ZodEnum<{
|
|
|
35
35
|
floor: "floor";
|
|
36
36
|
wall: "wall";
|
|
37
37
|
ceiling: "ceiling";
|
|
38
|
-
furniture: "furniture";
|
|
39
|
-
space: "space";
|
|
40
38
|
door: "door";
|
|
41
39
|
window: "window";
|
|
40
|
+
furniture: "furniture";
|
|
41
|
+
space: "space";
|
|
42
42
|
slab: "slab";
|
|
43
43
|
roof: "roof";
|
|
44
44
|
column: "column";
|
|
@@ -81,10 +81,10 @@ export declare const PluginEntityFilter: z.ZodObject<{
|
|
|
81
81
|
floor: "floor";
|
|
82
82
|
wall: "wall";
|
|
83
83
|
ceiling: "ceiling";
|
|
84
|
-
furniture: "furniture";
|
|
85
|
-
space: "space";
|
|
86
84
|
door: "door";
|
|
87
85
|
window: "window";
|
|
86
|
+
furniture: "furniture";
|
|
87
|
+
space: "space";
|
|
88
88
|
slab: "slab";
|
|
89
89
|
roof: "roof";
|
|
90
90
|
column: "column";
|
|
@@ -160,10 +160,10 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
|
|
|
160
160
|
floor: "floor";
|
|
161
161
|
wall: "wall";
|
|
162
162
|
ceiling: "ceiling";
|
|
163
|
-
furniture: "furniture";
|
|
164
|
-
space: "space";
|
|
165
163
|
door: "door";
|
|
166
164
|
window: "window";
|
|
165
|
+
furniture: "furniture";
|
|
166
|
+
space: "space";
|
|
167
167
|
slab: "slab";
|
|
168
168
|
roof: "roof";
|
|
169
169
|
column: "column";
|
|
@@ -232,10 +232,10 @@ export declare const PluginDesignQueryListByTypeArgs: z.ZodObject<{
|
|
|
232
232
|
floor: "floor";
|
|
233
233
|
wall: "wall";
|
|
234
234
|
ceiling: "ceiling";
|
|
235
|
-
furniture: "furniture";
|
|
236
|
-
space: "space";
|
|
237
235
|
door: "door";
|
|
238
236
|
window: "window";
|
|
237
|
+
furniture: "furniture";
|
|
238
|
+
space: "space";
|
|
239
239
|
slab: "slab";
|
|
240
240
|
roof: "roof";
|
|
241
241
|
column: "column";
|
|
@@ -295,10 +295,10 @@ export declare const PluginEntityProperties: z.ZodObject<{
|
|
|
295
295
|
floor: "floor";
|
|
296
296
|
wall: "wall";
|
|
297
297
|
ceiling: "ceiling";
|
|
298
|
-
furniture: "furniture";
|
|
299
|
-
space: "space";
|
|
300
298
|
door: "door";
|
|
301
299
|
window: "window";
|
|
300
|
+
furniture: "furniture";
|
|
301
|
+
space: "space";
|
|
302
302
|
slab: "slab";
|
|
303
303
|
roof: "roof";
|
|
304
304
|
column: "column";
|
|
@@ -44,10 +44,10 @@ export declare const PluginSelectionEntityType: z.ZodEnum<{
|
|
|
44
44
|
image: "image";
|
|
45
45
|
cad: "cad";
|
|
46
46
|
pdf: "pdf";
|
|
47
|
-
furniture: "furniture";
|
|
48
|
-
space: "space";
|
|
49
47
|
door: "door";
|
|
50
48
|
window: "window";
|
|
49
|
+
furniture: "furniture";
|
|
50
|
+
space: "space";
|
|
51
51
|
slab: "slab";
|
|
52
52
|
roof: "roof";
|
|
53
53
|
column: "column";
|
|
@@ -85,10 +85,10 @@ export declare const PluginSelectionFilter: z.ZodObject<{
|
|
|
85
85
|
image: "image";
|
|
86
86
|
cad: "cad";
|
|
87
87
|
pdf: "pdf";
|
|
88
|
-
furniture: "furniture";
|
|
89
|
-
space: "space";
|
|
90
88
|
door: "door";
|
|
91
89
|
window: "window";
|
|
90
|
+
furniture: "furniture";
|
|
91
|
+
space: "space";
|
|
92
92
|
slab: "slab";
|
|
93
93
|
roof: "roof";
|
|
94
94
|
column: "column";
|
|
@@ -22,7 +22,7 @@ import { PluginProgramAreasApi } from "./areas";
|
|
|
22
22
|
* - {@linkcode PluginProgramApi.metrics} — Read the area-program summary
|
|
23
23
|
* - {@linkcode PluginProgramApi.areas} — FAR / built-up-area rollup and groupings
|
|
24
24
|
* - {@linkcode PluginProgramApi.spreadsheet} — Render program data to sheets and read it back
|
|
25
|
-
* - {@linkcode PluginProgramApi.site} — Read
|
|
25
|
+
* - {@linkcode PluginProgramApi.site} — Read site/plot context and read/update Site Analysis
|
|
26
26
|
* - {@linkcode PluginProgramApi.cores} — Read & predicate vertical-circulation cores (reads only)
|
|
27
27
|
* - {@linkcode PluginProgramApi.classification} — Classification catalog + display tags
|
|
28
28
|
*
|
|
@@ -41,7 +41,7 @@ export declare abstract class PluginProgramApi {
|
|
|
41
41
|
abstract areas: PluginProgramAreasApi;
|
|
42
42
|
/** Spreadsheet reports — render tables to sheets, export, list, read back. See {@linkcode PluginProgramSpreadsheetApi}. */
|
|
43
43
|
abstract spreadsheet: PluginProgramSpreadsheetApi;
|
|
44
|
-
/** Site/plot
|
|
44
|
+
/** Site/plot context and persisted Site Analysis. See {@linkcode PluginProgramSiteApi}. */
|
|
45
45
|
abstract site: PluginProgramSiteApi;
|
|
46
46
|
/** Vertical-circulation cores — read & predicate (reads only). See {@linkcode PluginProgramCoresApi}. */
|
|
47
47
|
abstract cores: PluginProgramCoresApi;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,gBAAgB;IACpC,wHAAwH;IACxH,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,yBAAyB,CAAA;IACpD,sGAAsG;IACtG,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,iGAAiG;IACjG,SAAgB,OAAO,EAAE,uBAAuB,CAAA;IAChD,uFAAuF;IACvF,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,2HAA2H;IAC3H,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/program/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AACjD,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAA;AACnD,OAAO,EAAE,2BAA2B,EAAE,MAAM,eAAe,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAC/C,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AACjE,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAE/C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,8BAAsB,gBAAgB;IACpC,wHAAwH;IACxH,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,4GAA4G;IAC5G,SAAgB,SAAS,EAAE,yBAAyB,CAAA;IACpD,sGAAsG;IACtG,SAAgB,MAAM,EAAE,sBAAsB,CAAA;IAC9C,iGAAiG;IACjG,SAAgB,OAAO,EAAE,uBAAuB,CAAA;IAChD,uFAAuF;IACvF,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,2HAA2H;IAC3H,SAAgB,WAAW,EAAE,2BAA2B,CAAA;IACxD,2FAA2F;IAC3F,SAAgB,IAAI,EAAE,oBAAoB,CAAA;IAC1C,yGAAyG;IACzG,SAAgB,KAAK,EAAE,qBAAqB,CAAA;IAC5C,qHAAqH;IACrH,SAAgB,cAAc,EAAE,8BAA8B,CAAA;;CAG/D;AAED,cAAc,eAAe,CAAA;AAC7B,cAAc,aAAa,CAAA;AAC3B,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,eAAe,CAAA;AAC7B,cAAc,QAAQ,CAAA;AACtB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
|
|
@@ -8,14 +8,17 @@ import { PluginApiReturn } from "../../types";
|
|
|
8
8
|
* in Snaptrude units — the same plan space as a space's `planPoints`), and —
|
|
9
9
|
* when the project is geo-located on terrain — their geographic
|
|
10
10
|
* (latitude/longitude) rings. This is the program-planning view of the site;
|
|
11
|
-
* zoning numbers (FAR/FSI, height limits) live in the
|
|
12
|
-
* are
|
|
13
|
-
*
|
|
14
|
-
*
|
|
11
|
+
* zoning numbers (FAR/FSI, height limits) live in the Site Analysis sheet and
|
|
12
|
+
* are available through `getSiteAnalysis`, not the site-context reads. One
|
|
13
|
+
* context exception is `listEdges`: it reads each parcel's per-edge
|
|
14
|
+
* front/side/rear classification and effective base setbacks, the same
|
|
15
|
+
* resolution the buildable-envelope setback pills show on canvas.
|
|
15
16
|
*
|
|
16
|
-
*
|
|
17
|
-
* returns an empty snapshot (zero totals) when there is no site,
|
|
18
|
-
* methods return `[]`.
|
|
17
|
+
* Site context methods are total reads: they return plain records and never
|
|
18
|
+
* throw — `get` returns an empty snapshot (zero totals) when there is no site,
|
|
19
|
+
* and the `list` methods return `[]`. Site Analysis is the exception:
|
|
20
|
+
* `getSiteAnalysis` reads the active proposal's persisted analysis sheet and
|
|
21
|
+
* `updateSiteAnalysis` performs a safe merge/append write to that sheet.
|
|
19
22
|
*
|
|
20
23
|
* Accessed via `snaptrude.program.site`.
|
|
21
24
|
*/
|
|
@@ -267,7 +270,115 @@ export declare abstract class PluginProgramSiteApi {
|
|
|
267
270
|
* ```
|
|
268
271
|
*/
|
|
269
272
|
abstract getWeather(): PluginApiReturn<PluginProgramSiteWeatherResult>;
|
|
273
|
+
/**
|
|
274
|
+
* Read the persisted Site Analysis sheet for the active proposal.
|
|
275
|
+
*
|
|
276
|
+
* The read works without Program mode open. When a Program tab is open, the
|
|
277
|
+
* host first makes a best-effort attempt to flush its pending edits. The
|
|
278
|
+
* active proposal's sheet is preferred, with the base `"Site Analysis"`
|
|
279
|
+
* sheet as fallback. Returns `null` when no parseable sheet is persisted.
|
|
280
|
+
*
|
|
281
|
+
* @returns The persisted site location, polygon, and constraint rows, or
|
|
282
|
+
* `null` when no Site Analysis data exists. This read never throws.
|
|
283
|
+
*
|
|
284
|
+
* @examplePrompt Read the current Site Analysis sheet
|
|
285
|
+
* @examplePrompt What zoning constraints are recorded for this proposal?
|
|
286
|
+
*
|
|
287
|
+
* # Example
|
|
288
|
+
* ```ts
|
|
289
|
+
* const analysis = await snaptrude.program.site.getSiteAnalysis()
|
|
290
|
+
* if (analysis) console.log(analysis.sheetName, analysis.rows)
|
|
291
|
+
* ```
|
|
292
|
+
*/
|
|
293
|
+
abstract getSiteAnalysis(): PluginApiReturn<PluginProgramSiteAnalysisResult>;
|
|
294
|
+
/**
|
|
295
|
+
* Merge sourced site/zoning constraints into the active proposal's persisted
|
|
296
|
+
* Site Analysis sheet.
|
|
297
|
+
*
|
|
298
|
+
* Rows match by trimmed, case-insensitive Category + Description. Matched
|
|
299
|
+
* rows update only Quantity/Unit; unmatched rows append. Existing labels,
|
|
300
|
+
* formatting, and unrelated rows remain intact. There is deliberately no
|
|
301
|
+
* replace/reset mode — an appended duplicate row can NEVER be removed, so
|
|
302
|
+
* there is no "write now, fix later". Send only the rows that were actually
|
|
303
|
+
* sourced, ALWAYS call `getSiteAnalysis` first and reuse the sheet's exact
|
|
304
|
+
* labels, and never use `program.spreadsheet.setValues` for Site Analysis
|
|
305
|
+
* data — this method is the only correct writer. Check the result:
|
|
306
|
+
* `updatedRows` should account for every row that had a template match; an
|
|
307
|
+
* unexpected `appendedRows` usually means a label did not match the read's
|
|
308
|
+
* vocabulary.
|
|
309
|
+
*
|
|
310
|
+
* When Program mode is open, the host writes through the live sheet. Without
|
|
311
|
+
* a live tab it safely merges the persisted document. The call rejects rather
|
|
312
|
+
* than risk overwriting unflushed live edits or an unparseable existing sheet.
|
|
313
|
+
*
|
|
314
|
+
* @param rows - One or more sourced constraint rows to merge or append.
|
|
315
|
+
* @param options - Optional site location and JSON-encoded site polygon.
|
|
316
|
+
* @returns The target sheet name and merge counts.
|
|
317
|
+
* @throws PRECONDITION_FAILED when proposals exist but none is active, or
|
|
318
|
+
* when live Program edits cannot be flushed safely.
|
|
319
|
+
*
|
|
320
|
+
* @examplePrompt Save these zoning constraints to Site Analysis
|
|
321
|
+
* @examplePrompt Update the FAR and setbacks in the Site Analysis sheet
|
|
322
|
+
*
|
|
323
|
+
* # Example
|
|
324
|
+
* ```ts
|
|
325
|
+
* const result = await snaptrude.program.site.updateSiteAnalysis([
|
|
326
|
+
* { category: "FAR", description: "Floor Area Ratio", quantity: 3.5, unit: "ratio" },
|
|
327
|
+
* { category: "Set backs", description: "Front setbacks", quantity: 6, unit: "m" },
|
|
328
|
+
* ])
|
|
329
|
+
* console.log(result.sheetName, result.updatedRows, result.appendedRows)
|
|
330
|
+
* ```
|
|
331
|
+
*/
|
|
332
|
+
abstract updateSiteAnalysis(rows: PluginSiteAnalysisRow[], options?: PluginSiteAnalysisUpdateOptions): PluginApiReturn<PluginProgramSiteAnalysisUpdateResult>;
|
|
270
333
|
}
|
|
334
|
+
/**
|
|
335
|
+
* A constraint row stored in the Site Analysis sheet. A `quantity` of `"-"`
|
|
336
|
+
* means the value is not recorded yet — never echo `"-"` back as a sourced
|
|
337
|
+
* value.
|
|
338
|
+
*/
|
|
339
|
+
export declare const PluginSiteAnalysisRow: z.ZodObject<{
|
|
340
|
+
category: z.ZodString;
|
|
341
|
+
description: z.ZodString;
|
|
342
|
+
quantity: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
343
|
+
unit: z.ZodString;
|
|
344
|
+
}, z.core.$strip>;
|
|
345
|
+
export type PluginSiteAnalysisRow = z.infer<typeof PluginSiteAnalysisRow>;
|
|
346
|
+
/**
|
|
347
|
+
* Optional site context persisted alongside Site Analysis constraint rows.
|
|
348
|
+
* `null` and `undefined` are both accepted as "no options".
|
|
349
|
+
*/
|
|
350
|
+
export declare const PluginSiteAnalysisUpdateOptions: z.ZodOptional<z.ZodNullable<z.ZodObject<{
|
|
351
|
+
siteLocation: z.ZodOptional<z.ZodObject<{
|
|
352
|
+
lat: z.ZodNumber;
|
|
353
|
+
lng: z.ZodNumber;
|
|
354
|
+
}, z.core.$strip>>;
|
|
355
|
+
sitePolygon: z.ZodOptional<z.ZodString>;
|
|
356
|
+
}, z.core.$strip>>>;
|
|
357
|
+
export type PluginSiteAnalysisUpdateOptions = z.infer<typeof PluginSiteAnalysisUpdateOptions>;
|
|
358
|
+
/** Persisted Site Analysis data for the active proposal. */
|
|
359
|
+
export declare const PluginProgramSiteAnalysisResult: z.ZodNullable<z.ZodObject<{
|
|
360
|
+
sheetName: z.ZodString;
|
|
361
|
+
siteLocation: z.ZodNullable<z.ZodObject<{
|
|
362
|
+
lat: z.ZodNumber;
|
|
363
|
+
lng: z.ZodNumber;
|
|
364
|
+
}, z.core.$strip>>;
|
|
365
|
+
sitePolygon: z.ZodNullable<z.ZodString>;
|
|
366
|
+
rows: z.ZodArray<z.ZodObject<{
|
|
367
|
+
category: z.ZodString;
|
|
368
|
+
description: z.ZodString;
|
|
369
|
+
quantity: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
|
|
370
|
+
unit: z.ZodString;
|
|
371
|
+
}, z.core.$strip>>;
|
|
372
|
+
}, z.core.$strip>>;
|
|
373
|
+
export type PluginProgramSiteAnalysisResult = z.infer<typeof PluginProgramSiteAnalysisResult>;
|
|
374
|
+
/** Result of a merge/append Site Analysis write. */
|
|
375
|
+
export declare const PluginProgramSiteAnalysisUpdateResult: z.ZodObject<{
|
|
376
|
+
sheetName: z.ZodString;
|
|
377
|
+
rowCount: z.ZodNumber;
|
|
378
|
+
updatedRows: z.ZodNumber;
|
|
379
|
+
appendedRows: z.ZodNumber;
|
|
380
|
+
}, z.core.$strip>;
|
|
381
|
+
export type PluginProgramSiteAnalysisUpdateResult = z.infer<typeof PluginProgramSiteAnalysisUpdateResult>;
|
|
271
382
|
/**
|
|
272
383
|
* A 2D ground-plane point of a site parcel footprint, in world XZ plan
|
|
273
384
|
* coordinates (Snaptrude units) — the same plan space as a space's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/api/program/site.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C
|
|
1
|
+
{"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/api/program/site.ts"],"names":[],"mappings":"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"}
|
package/dist/handles.d.ts
CHANGED
|
@@ -16,7 +16,7 @@ import type { ArenaKind } from "./api/core/handles";
|
|
|
16
16
|
* handle eventually releases its host registry entry. Deterministic release is
|
|
17
17
|
* still preferred: `core.handles.release/releaseAll` or scopes.
|
|
18
18
|
*
|
|
19
|
-
* Crossing non-RPC boundaries (
|
|
19
|
+
* Crossing non-RPC boundaries (UI postMessage, persistence, logging):
|
|
20
20
|
* send {@linkcode Handle.id} — structured clone strips the class prototype.
|
|
21
21
|
*/
|
|
22
22
|
export declare class Handle<K extends string> {
|
|
@@ -148,7 +148,7 @@ export type BBoxComponents = {
|
|
|
148
148
|
* - the bare id string (the wire form — the client unwraps args to ids)
|
|
149
149
|
* - a live `Handle` instance (host-internal re-parse, direct host callers)
|
|
150
150
|
* - `{ __h: string }` (the tagged result form, echoed back as an arg)
|
|
151
|
-
* - `{ id: string }` (a Handle stripped by structured clone at the
|
|
151
|
+
* - `{ id: string }` (a Handle stripped by structured clone at the UI boundary)
|
|
152
152
|
* Shape checking stays prefix-only; existence, kind, and ownership are enforced
|
|
153
153
|
* host-side by the HandleRegistry (§9.7) — no existence oracle.
|
|
154
154
|
*/
|