@snaptrude/plugin-core 0.9.16 → 0.9.18-edgesetbacks-20261021.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 -402
- package/CLAUDE.md +11 -11
- package/api-manifest.json +1510 -701
- 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/storeys/index.d.ts +5 -2
- package/dist/api/core/storeys/index.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 +299 -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 +299 -100
- 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 +813 -35
- 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 +1703 -0
- package/dist/api/design/networks.d.ts.map +1 -0
- package/dist/api/design/query/grids.d.ts +2 -2
- 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 +111 -6
- 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/entity/buildableEnvelope.d.ts +84 -2
- package/dist/api/entity/buildableEnvelope.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 +41 -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/sections.d.ts +461 -0
- package/dist/api/presentation/sections.d.ts.map +1 -0
- 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 +141 -8
- 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 +3883 -2385
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3744 -2385
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- 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 +311 -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 +210 -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 +2178 -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 +1342 -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 +607 -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 +1096 -983
- package/src/api/design/visibility.ts +143 -143
- package/src/api/design/windows/index.ts +351 -333
- package/src/api/entity/buildableEnvelope.ts +397 -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 -126
- package/src/api/presentation/placedViews.ts +1211 -1120
- package/src/api/presentation/sections.ts +420 -0
- 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 +742 -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/test/presentationViewSettings.test.mjs +85 -0
- package/tsconfig.json +22 -22
- package/tsup.config.ts +12 -12
|
@@ -1,143 +1,143 @@
|
|
|
1
|
-
import * as z from "zod"
|
|
2
|
-
import { PluginApiReturn } from "../../types"
|
|
3
|
-
import { ComponentHandle } from "../../handles"
|
|
4
|
-
import { PluginDesignChangeResult } from "./lock"
|
|
5
|
-
|
|
6
|
-
/**
|
|
7
|
-
* `snaptrude.design.visibility.*` — hide, isolate, and reveal scene entities.
|
|
8
|
-
*
|
|
9
|
-
* Visibility is a per-component user flag (the same one the "Hide" / "Isolate" /
|
|
10
|
-
* "Show All" toolbar and right-click actions toggle). Every method here commits
|
|
11
|
-
* an undoable command and echoes the affected entities as
|
|
12
|
-
* {@linkcode PluginDesignChangeResult}.
|
|
13
|
-
*
|
|
14
|
-
* Accessed via `snaptrude.design.visibility`.
|
|
15
|
-
*/
|
|
16
|
-
export abstract class PluginDesignVisibilityApi {
|
|
17
|
-
constructor() {}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Hide entities from the viewport — the same as the "Hide" action. Undoable.
|
|
21
|
-
* Hosted door/window/void children ride along with their wall. Already-hidden
|
|
22
|
-
* entities stay hidden.
|
|
23
|
-
*
|
|
24
|
-
* @param components Entities to hide
|
|
25
|
-
* @returns The affected entities (echoing the input handles)
|
|
26
|
-
*
|
|
27
|
-
* @examplePrompt Hide the selected walls
|
|
28
|
-
* @examplePrompt Conceal these masses so I can see behind them
|
|
29
|
-
* @examplePrompt Hide every column on this floor
|
|
30
|
-
* @examplePrompt Make this furniture disappear from view
|
|
31
|
-
*
|
|
32
|
-
* # Example
|
|
33
|
-
* ```ts
|
|
34
|
-
* const walls = await snaptrude.design.query.listWalls({ storeys: [1] })
|
|
35
|
-
* const { affected } = await snaptrude.design.visibility.hide(walls)
|
|
36
|
-
* ```
|
|
37
|
-
*/
|
|
38
|
-
public abstract hide(
|
|
39
|
-
components: ComponentHandle[],
|
|
40
|
-
): PluginApiReturn<PluginDesignChangeResult>
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Reveal specific hidden components — the inverse of
|
|
44
|
-
* {@linkcode PluginDesignVisibilityApi.hide}. Use
|
|
45
|
-
* {@linkcode PluginDesignVisibilityApi.showAll} to reveal everything.
|
|
46
|
-
*
|
|
47
|
-
* @param components - The components to reveal.
|
|
48
|
-
* @returns A {@linkcode PluginDesignChangeResult} echoing the components shown.
|
|
49
|
-
*
|
|
50
|
-
* @examplePrompt Show these walls again
|
|
51
|
-
* @examplePrompt Unhide the selected furniture
|
|
52
|
-
*
|
|
53
|
-
* # Example
|
|
54
|
-
* ```ts
|
|
55
|
-
* await snaptrude.design.visibility.show([wall])
|
|
56
|
-
* ```
|
|
57
|
-
*/
|
|
58
|
-
public abstract show(
|
|
59
|
-
components: ComponentHandle[],
|
|
60
|
-
): PluginApiReturn<PluginDesignChangeResult>
|
|
61
|
-
|
|
62
|
-
/**
|
|
63
|
-
* Isolate entities — hide everything else so only the given entities remain
|
|
64
|
-
* visible (the "Isolate" / solo action). Undoable. Reverse it with
|
|
65
|
-
* {@linkcode PluginDesignVisibilityApi.showAll}.
|
|
66
|
-
*
|
|
67
|
-
* @param components Entities to keep visible; everything else is hidden
|
|
68
|
-
* @returns The isolated entities (echoing the input handles)
|
|
69
|
-
*
|
|
70
|
-
* @examplePrompt Isolate the selected room so I can focus on it
|
|
71
|
-
* @examplePrompt Show only these walls and hide the rest
|
|
72
|
-
* @examplePrompt Solo this mass
|
|
73
|
-
* @examplePrompt Hide everything except the staircase
|
|
74
|
-
*
|
|
75
|
-
* # Example
|
|
76
|
-
* ```ts
|
|
77
|
-
* const [room] = await snaptrude.design.selection.get()
|
|
78
|
-
* await snaptrude.design.visibility.isolate([room])
|
|
79
|
-
* ```
|
|
80
|
-
*/
|
|
81
|
-
public abstract isolate(
|
|
82
|
-
components: ComponentHandle[],
|
|
83
|
-
): PluginApiReturn<PluginDesignChangeResult>
|
|
84
|
-
|
|
85
|
-
/**
|
|
86
|
-
* Reveal everything hidden on the active story — the "Show All" action, which
|
|
87
|
-
* also exits an isolate. Undoable.
|
|
88
|
-
*
|
|
89
|
-
* @returns The entities that were made visible
|
|
90
|
-
*
|
|
91
|
-
* @examplePrompt Show everything again
|
|
92
|
-
* @examplePrompt Unhide all the hidden objects
|
|
93
|
-
* @examplePrompt Exit isolate mode
|
|
94
|
-
* @examplePrompt Reveal everything I hid earlier
|
|
95
|
-
*
|
|
96
|
-
* # Example
|
|
97
|
-
* ```ts
|
|
98
|
-
* const { affected } = await snaptrude.design.visibility.showAll()
|
|
99
|
-
* console.log(`Revealed ${affected.length} entities`)
|
|
100
|
-
* ```
|
|
101
|
-
*/
|
|
102
|
-
public abstract showAll(): PluginApiReturn<PluginDesignChangeResult>
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Arguments for {@linkcode PluginDesignVisibilityApi.hide}.
|
|
107
|
-
*
|
|
108
|
-
* | Property | Type | Description |
|
|
109
|
-
* |---|---|---|
|
|
110
|
-
* | `components` | {@linkcode ComponentHandle}`[]` | Entities to hide |
|
|
111
|
-
*/
|
|
112
|
-
export const PluginDesignVisibilityHideArgs = z.object({
|
|
113
|
-
components: z.array(ComponentHandle),
|
|
114
|
-
})
|
|
115
|
-
export type PluginDesignVisibilityHideArgs = z.infer<typeof PluginDesignVisibilityHideArgs>
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Arguments for {@linkcode PluginDesignVisibilityApi.show}.
|
|
119
|
-
*
|
|
120
|
-
* | Property | Type | Description |
|
|
121
|
-
* |---|---|---|
|
|
122
|
-
* | `components` | {@linkcode ComponentHandle}`[]` | Entities to reveal |
|
|
123
|
-
*/
|
|
124
|
-
export const PluginDesignVisibilityShowArgs = z.object({
|
|
125
|
-
components: z.array(ComponentHandle),
|
|
126
|
-
})
|
|
127
|
-
export type PluginDesignVisibilityShowArgs = z.infer<
|
|
128
|
-
typeof PluginDesignVisibilityShowArgs
|
|
129
|
-
>
|
|
130
|
-
|
|
131
|
-
/**
|
|
132
|
-
* Arguments for {@linkcode PluginDesignVisibilityApi.isolate}.
|
|
133
|
-
*
|
|
134
|
-
* | Property | Type | Description |
|
|
135
|
-
* |---|---|---|
|
|
136
|
-
* | `components` | {@linkcode ComponentHandle}`[]` | Entities to keep visible |
|
|
137
|
-
*/
|
|
138
|
-
export const PluginDesignVisibilityIsolateArgs = z.object({
|
|
139
|
-
components: z.array(ComponentHandle),
|
|
140
|
-
})
|
|
141
|
-
export type PluginDesignVisibilityIsolateArgs = z.infer<
|
|
142
|
-
typeof PluginDesignVisibilityIsolateArgs
|
|
143
|
-
>
|
|
1
|
+
import * as z from "zod"
|
|
2
|
+
import { PluginApiReturn } from "../../types"
|
|
3
|
+
import { ComponentHandle } from "../../handles"
|
|
4
|
+
import { PluginDesignChangeResult } from "./lock"
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* `snaptrude.design.visibility.*` — hide, isolate, and reveal scene entities.
|
|
8
|
+
*
|
|
9
|
+
* Visibility is a per-component user flag (the same one the "Hide" / "Isolate" /
|
|
10
|
+
* "Show All" toolbar and right-click actions toggle). Every method here commits
|
|
11
|
+
* an undoable command and echoes the affected entities as
|
|
12
|
+
* {@linkcode PluginDesignChangeResult}.
|
|
13
|
+
*
|
|
14
|
+
* Accessed via `snaptrude.design.visibility`.
|
|
15
|
+
*/
|
|
16
|
+
export abstract class PluginDesignVisibilityApi {
|
|
17
|
+
constructor() {}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Hide entities from the viewport — the same as the "Hide" action. Undoable.
|
|
21
|
+
* Hosted door/window/void children ride along with their wall. Already-hidden
|
|
22
|
+
* entities stay hidden.
|
|
23
|
+
*
|
|
24
|
+
* @param components Entities to hide
|
|
25
|
+
* @returns The affected entities (echoing the input handles)
|
|
26
|
+
*
|
|
27
|
+
* @examplePrompt Hide the selected walls
|
|
28
|
+
* @examplePrompt Conceal these masses so I can see behind them
|
|
29
|
+
* @examplePrompt Hide every column on this floor
|
|
30
|
+
* @examplePrompt Make this furniture disappear from view
|
|
31
|
+
*
|
|
32
|
+
* # Example
|
|
33
|
+
* ```ts
|
|
34
|
+
* const walls = await snaptrude.design.query.listWalls({ storeys: [1] })
|
|
35
|
+
* const { affected } = await snaptrude.design.visibility.hide(walls)
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
public abstract hide(
|
|
39
|
+
components: ComponentHandle[],
|
|
40
|
+
): PluginApiReturn<PluginDesignChangeResult>
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Reveal specific hidden components — the inverse of
|
|
44
|
+
* {@linkcode PluginDesignVisibilityApi.hide}. Use
|
|
45
|
+
* {@linkcode PluginDesignVisibilityApi.showAll} to reveal everything.
|
|
46
|
+
*
|
|
47
|
+
* @param components - The components to reveal.
|
|
48
|
+
* @returns A {@linkcode PluginDesignChangeResult} echoing the components shown.
|
|
49
|
+
*
|
|
50
|
+
* @examplePrompt Show these walls again
|
|
51
|
+
* @examplePrompt Unhide the selected furniture
|
|
52
|
+
*
|
|
53
|
+
* # Example
|
|
54
|
+
* ```ts
|
|
55
|
+
* await snaptrude.design.visibility.show([wall])
|
|
56
|
+
* ```
|
|
57
|
+
*/
|
|
58
|
+
public abstract show(
|
|
59
|
+
components: ComponentHandle[],
|
|
60
|
+
): PluginApiReturn<PluginDesignChangeResult>
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Isolate entities — hide everything else so only the given entities remain
|
|
64
|
+
* visible (the "Isolate" / solo action). Undoable. Reverse it with
|
|
65
|
+
* {@linkcode PluginDesignVisibilityApi.showAll}.
|
|
66
|
+
*
|
|
67
|
+
* @param components Entities to keep visible; everything else is hidden
|
|
68
|
+
* @returns The isolated entities (echoing the input handles)
|
|
69
|
+
*
|
|
70
|
+
* @examplePrompt Isolate the selected room so I can focus on it
|
|
71
|
+
* @examplePrompt Show only these walls and hide the rest
|
|
72
|
+
* @examplePrompt Solo this mass
|
|
73
|
+
* @examplePrompt Hide everything except the staircase
|
|
74
|
+
*
|
|
75
|
+
* # Example
|
|
76
|
+
* ```ts
|
|
77
|
+
* const [room] = await snaptrude.design.selection.get()
|
|
78
|
+
* await snaptrude.design.visibility.isolate([room])
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
public abstract isolate(
|
|
82
|
+
components: ComponentHandle[],
|
|
83
|
+
): PluginApiReturn<PluginDesignChangeResult>
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Reveal everything hidden on the active story — the "Show All" action, which
|
|
87
|
+
* also exits an isolate. Undoable.
|
|
88
|
+
*
|
|
89
|
+
* @returns The entities that were made visible
|
|
90
|
+
*
|
|
91
|
+
* @examplePrompt Show everything again
|
|
92
|
+
* @examplePrompt Unhide all the hidden objects
|
|
93
|
+
* @examplePrompt Exit isolate mode
|
|
94
|
+
* @examplePrompt Reveal everything I hid earlier
|
|
95
|
+
*
|
|
96
|
+
* # Example
|
|
97
|
+
* ```ts
|
|
98
|
+
* const { affected } = await snaptrude.design.visibility.showAll()
|
|
99
|
+
* console.log(`Revealed ${affected.length} entities`)
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
public abstract showAll(): PluginApiReturn<PluginDesignChangeResult>
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Arguments for {@linkcode PluginDesignVisibilityApi.hide}.
|
|
107
|
+
*
|
|
108
|
+
* | Property | Type | Description |
|
|
109
|
+
* |---|---|---|
|
|
110
|
+
* | `components` | {@linkcode ComponentHandle}`[]` | Entities to hide |
|
|
111
|
+
*/
|
|
112
|
+
export const PluginDesignVisibilityHideArgs = z.object({
|
|
113
|
+
components: z.array(ComponentHandle),
|
|
114
|
+
})
|
|
115
|
+
export type PluginDesignVisibilityHideArgs = z.infer<typeof PluginDesignVisibilityHideArgs>
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Arguments for {@linkcode PluginDesignVisibilityApi.show}.
|
|
119
|
+
*
|
|
120
|
+
* | Property | Type | Description |
|
|
121
|
+
* |---|---|---|
|
|
122
|
+
* | `components` | {@linkcode ComponentHandle}`[]` | Entities to reveal |
|
|
123
|
+
*/
|
|
124
|
+
export const PluginDesignVisibilityShowArgs = z.object({
|
|
125
|
+
components: z.array(ComponentHandle),
|
|
126
|
+
})
|
|
127
|
+
export type PluginDesignVisibilityShowArgs = z.infer<
|
|
128
|
+
typeof PluginDesignVisibilityShowArgs
|
|
129
|
+
>
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Arguments for {@linkcode PluginDesignVisibilityApi.isolate}.
|
|
133
|
+
*
|
|
134
|
+
* | Property | Type | Description |
|
|
135
|
+
* |---|---|---|
|
|
136
|
+
* | `components` | {@linkcode ComponentHandle}`[]` | Entities to keep visible |
|
|
137
|
+
*/
|
|
138
|
+
export const PluginDesignVisibilityIsolateArgs = z.object({
|
|
139
|
+
components: z.array(ComponentHandle),
|
|
140
|
+
})
|
|
141
|
+
export type PluginDesignVisibilityIsolateArgs = z.infer<
|
|
142
|
+
typeof PluginDesignVisibilityIsolateArgs
|
|
143
|
+
>
|