@snaptrude/plugin-core 0.3.0 → 0.6.0
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 +130 -48
- package/CHANGELOG.md +163 -0
- package/api-manifest.full.json +5600 -0
- package/api-manifest.json +5502 -0
- package/dist/api/analysis/heatmaps.d.ts +234 -0
- package/dist/api/analysis/heatmaps.d.ts.map +1 -0
- package/dist/api/analysis/illuminance.d.ts +145 -0
- package/dist/api/analysis/illuminance.d.ts.map +1 -0
- package/dist/api/analysis/index.d.ts +44 -0
- package/dist/api/analysis/index.d.ts.map +1 -0
- package/dist/api/analysis/shadows.d.ts +165 -0
- package/dist/api/analysis/shadows.d.ts.map +1 -0
- package/dist/api/analysis/sunlightHours.d.ts +208 -0
- package/dist/api/analysis/sunlightHours.d.ts.map +1 -0
- package/dist/api/analysis/sunpath.d.ts +80 -0
- package/dist/api/analysis/sunpath.d.ts.map +1 -0
- package/dist/api/core/buildings.d.ts +427 -0
- package/dist/api/core/buildings.d.ts.map +1 -0
- package/dist/api/core/comment/index.d.ts +230 -0
- package/dist/api/core/comment/index.d.ts.map +1 -0
- package/dist/api/core/geom/create/index.d.ts +247 -0
- package/dist/api/core/geom/create/index.d.ts.map +1 -0
- package/dist/api/core/geom/delete/index.d.ts +72 -0
- package/dist/api/core/geom/delete/index.d.ts.map +1 -0
- package/dist/api/core/geom/index.d.ts +24 -23
- package/dist/api/core/geom/index.d.ts.map +1 -1
- package/dist/api/core/geom/query/arc.d.ts +169 -0
- package/dist/api/core/geom/query/arc.d.ts.map +1 -0
- package/dist/api/core/geom/query/brep.d.ts +402 -0
- package/dist/api/core/geom/query/brep.d.ts.map +1 -0
- package/dist/api/core/geom/query/circle.d.ts +378 -0
- package/dist/api/core/geom/query/circle.d.ts.map +1 -0
- package/dist/api/core/geom/query/contour.d.ts +450 -0
- package/dist/api/core/geom/query/contour.d.ts.map +1 -0
- package/dist/api/core/geom/query/curve.d.ts +918 -0
- package/dist/api/core/geom/query/curve.d.ts.map +1 -0
- package/dist/api/core/geom/query/edge.d.ts +128 -0
- package/dist/api/core/geom/query/edge.d.ts.map +1 -0
- package/dist/api/core/geom/query/face.d.ts +363 -0
- package/dist/api/core/geom/query/face.d.ts.map +1 -0
- package/dist/api/core/geom/query/halfedge.d.ts +206 -0
- package/dist/api/core/geom/query/halfedge.d.ts.map +1 -0
- package/dist/api/core/geom/query/index.d.ts +61 -0
- package/dist/api/core/geom/query/index.d.ts.map +1 -0
- package/dist/api/core/geom/query/profile.d.ts +410 -0
- package/dist/api/core/geom/query/profile.d.ts.map +1 -0
- package/dist/api/core/geom/query/vertex.d.ts +187 -0
- package/dist/api/core/geom/query/vertex.d.ts.map +1 -0
- package/dist/api/core/geom/update/contour.d.ts +272 -0
- package/dist/api/core/geom/update/contour.d.ts.map +1 -0
- package/dist/api/core/geom/update/curve.d.ts +180 -0
- package/dist/api/core/geom/update/curve.d.ts.map +1 -0
- package/dist/api/core/geom/update/index.d.ts +27 -0
- package/dist/api/core/geom/update/index.d.ts.map +1 -0
- package/dist/api/core/geom/update/profile.d.ts +329 -0
- package/dist/api/core/geom/update/profile.d.ts.map +1 -0
- package/dist/api/core/groups.d.ts +485 -0
- package/dist/api/core/groups.d.ts.map +1 -0
- package/dist/api/core/history/index.d.ts +78 -0
- package/dist/api/core/history/index.d.ts.map +1 -0
- package/dist/api/core/index.d.ts +51 -1
- package/dist/api/core/index.d.ts.map +1 -1
- package/dist/api/core/io/import/index.d.ts +392 -0
- package/dist/api/core/io/import/index.d.ts.map +1 -0
- package/dist/api/core/io/index.d.ts +35 -0
- package/dist/api/core/io/index.d.ts.map +1 -0
- package/dist/api/core/io/job/index.d.ts +139 -0
- package/dist/api/core/io/job/index.d.ts.map +1 -0
- package/dist/api/core/io/query/index.d.ts +74 -0
- package/dist/api/core/io/query/index.d.ts.map +1 -0
- package/dist/api/core/io/terrain/index.d.ts +206 -0
- package/dist/api/core/io/terrain/index.d.ts.map +1 -0
- package/dist/api/core/io/underlay/index.d.ts +286 -0
- package/dist/api/core/io/underlay/index.d.ts.map +1 -0
- package/dist/api/core/layers.d.ts +402 -0
- package/dist/api/core/layers.d.ts.map +1 -0
- package/dist/api/core/math/quat.d.ts +111 -128
- package/dist/api/core/math/quat.d.ts.map +1 -1
- package/dist/api/core/math/vec3.d.ts +120 -102
- package/dist/api/core/math/vec3.d.ts.map +1 -1
- package/dist/api/core/project/index.d.ts +399 -0
- package/dist/api/core/project/index.d.ts.map +1 -0
- package/dist/api/core/tags.d.ts +755 -0
- package/dist/api/core/tags.d.ts.map +1 -0
- package/dist/api/core/units/index.d.ts +175 -0
- package/dist/api/core/units/index.d.ts.map +1 -0
- package/dist/api/core/zoom/index.d.ts +45 -0
- package/dist/api/core/zoom/index.d.ts.map +1 -0
- package/dist/api/design/boolean/index.d.ts +168 -0
- package/dist/api/design/boolean/index.d.ts.map +1 -0
- package/dist/api/design/create/index.d.ts +837 -0
- package/dist/api/design/create/index.d.ts.map +1 -0
- package/dist/api/design/delete/index.d.ts +63 -0
- package/dist/api/design/delete/index.d.ts.map +1 -0
- package/dist/api/design/doors/index.d.ts +268 -0
- package/dist/api/design/doors/index.d.ts.map +1 -0
- package/dist/api/design/edit/index.d.ts +49 -0
- package/dist/api/design/edit/index.d.ts.map +1 -0
- package/dist/api/design/erase/index.d.ts +160 -0
- package/dist/api/design/erase/index.d.ts.map +1 -0
- package/dist/api/design/furniture/index.d.ts +123 -0
- package/dist/api/design/furniture/index.d.ts.map +1 -0
- package/dist/api/design/index.d.ts +153 -0
- package/dist/api/design/index.d.ts.map +1 -0
- package/dist/api/design/lock.d.ts +41 -0
- package/dist/api/design/lock.d.ts.map +1 -0
- package/dist/api/design/materials/index.d.ts +297 -0
- package/dist/api/design/materials/index.d.ts.map +1 -0
- package/dist/api/design/query/geometry/index.d.ts +140 -0
- package/dist/api/design/query/geometry/index.d.ts.map +1 -0
- package/dist/api/design/query/index.d.ts +1011 -0
- package/dist/api/design/query/index.d.ts.map +1 -0
- package/dist/api/design/query/spaces.d.ts +221 -0
- package/dist/api/design/query/spaces.d.ts.map +1 -0
- package/dist/api/design/selection/index.d.ts +282 -0
- package/dist/api/design/selection/index.d.ts.map +1 -0
- package/dist/api/design/shared.d.ts +38 -0
- package/dist/api/design/shared.d.ts.map +1 -0
- package/dist/api/design/transform/index.d.ts +87 -0
- package/dist/api/design/transform/index.d.ts.map +1 -0
- package/dist/api/design/update/index.d.ts +178 -0
- package/dist/api/design/update/index.d.ts.map +1 -0
- package/dist/api/design/windows/index.d.ts +189 -0
- package/dist/api/design/windows/index.d.ts.map +1 -0
- package/dist/api/entity/buildableEnvelope.d.ts +261 -0
- package/dist/api/entity/buildableEnvelope.d.ts.map +1 -0
- package/dist/api/entity/department.d.ts +0 -98
- package/dist/api/entity/department.d.ts.map +1 -1
- package/dist/api/entity/index.d.ts +9 -9
- package/dist/api/entity/index.d.ts.map +1 -1
- package/dist/api/entity/referenceLine.d.ts +49 -106
- package/dist/api/entity/referenceLine.d.ts.map +1 -1
- package/dist/api/entity/space.d.ts +484 -251
- package/dist/api/entity/space.d.ts.map +1 -1
- package/dist/api/entity/story.d.ts +49 -39
- package/dist/api/entity/story.d.ts.map +1 -1
- package/dist/api/index.d.ts +22 -12
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/presentation/aiInspiration.d.ts +440 -0
- package/dist/api/presentation/aiInspiration.d.ts.map +1 -0
- package/dist/api/presentation/diagrams.d.ts +81 -0
- package/dist/api/presentation/diagrams.d.ts.map +1 -0
- package/dist/api/presentation/import.d.ts +113 -0
- package/dist/api/presentation/import.d.ts.map +1 -0
- package/dist/api/presentation/index.d.ts +46 -0
- package/dist/api/presentation/index.d.ts.map +1 -0
- package/dist/api/presentation/sheets.d.ts +176 -0
- package/dist/api/presentation/sheets.d.ts.map +1 -0
- package/dist/api/presentation/views.d.ts +296 -0
- package/dist/api/presentation/views.d.ts.map +1 -0
- package/dist/api/program/adjacency.d.ts +155 -0
- package/dist/api/program/adjacency.d.ts.map +1 -0
- package/dist/api/program/areas.d.ts +360 -0
- package/dist/api/program/areas.d.ts.map +1 -0
- package/dist/api/program/classification.d.ts +135 -0
- package/dist/api/program/classification.d.ts.map +1 -0
- package/dist/api/program/cores.d.ts +174 -0
- package/dist/api/program/cores.d.ts.map +1 -0
- package/dist/api/program/departments.d.ts +431 -0
- package/dist/api/program/departments.d.ts.map +1 -0
- package/dist/api/program/index.d.ts +69 -0
- package/dist/api/program/index.d.ts.map +1 -0
- package/dist/api/program/layout.d.ts +63 -0
- package/dist/api/program/layout.d.ts.map +1 -0
- package/dist/api/program/metrics.d.ts +108 -0
- package/dist/api/program/metrics.d.ts.map +1 -0
- package/dist/api/program/site.d.ts +451 -0
- package/dist/api/program/site.d.ts.map +1 -0
- package/dist/api/program/spreadsheet.d.ts +2041 -0
- package/dist/api/program/spreadsheet.d.ts.map +1 -0
- package/dist/handles.d.ts +171 -0
- package/dist/handles.d.ts.map +1 -0
- package/dist/host-utils.d.ts +7 -5
- package/dist/host-utils.d.ts.map +1 -1
- package/dist/index.cjs +4344 -899
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3682 -865
- package/dist/index.js.map +1 -1
- package/package.json +6 -2
- package/scripts/generate-manifest.mjs +193 -0
- package/scripts/generate-manifest.test.mjs +215 -0
- package/src/api/analysis/heatmaps.ts +256 -0
- package/src/api/analysis/illuminance.ts +155 -0
- package/src/api/analysis/index.ts +46 -0
- package/src/api/analysis/shadows.ts +183 -0
- package/src/api/analysis/sunlightHours.ts +211 -0
- package/src/api/analysis/sunpath.ts +83 -0
- package/src/api/core/buildings.ts +485 -0
- package/src/api/core/comment/index.ts +258 -0
- package/src/api/core/geom/create/index.ts +293 -0
- package/src/api/core/geom/delete/index.ts +78 -0
- package/src/api/core/geom/index.ts +24 -23
- package/src/api/core/geom/query/arc.ts +169 -0
- package/src/api/core/geom/query/brep.ts +444 -0
- package/src/api/core/geom/query/circle.ts +404 -0
- package/src/api/core/geom/query/contour.ts +540 -0
- package/src/api/core/geom/query/curve.ts +1078 -0
- package/src/api/core/geom/query/edge.ts +130 -0
- package/src/api/core/geom/query/face.ts +403 -0
- package/src/api/core/geom/query/halfedge.ts +210 -0
- package/src/api/core/geom/query/index.ts +63 -0
- package/src/api/core/geom/query/profile.ts +473 -0
- package/src/api/core/geom/query/vertex.ts +205 -0
- package/src/api/core/geom/update/contour.ts +315 -0
- package/src/api/core/geom/update/curve.ts +209 -0
- package/src/api/core/geom/update/index.ts +29 -0
- package/src/api/core/geom/update/profile.ts +377 -0
- package/src/api/core/groups.ts +521 -0
- package/src/api/core/history/index.ts +84 -0
- package/src/api/core/index.ts +51 -1
- package/src/api/core/io/import/index.ts +432 -0
- package/src/api/core/io/index.ts +37 -0
- package/src/api/core/io/job/index.ts +140 -0
- package/src/api/core/io/query/index.ts +71 -0
- package/src/api/core/io/terrain/index.ts +214 -0
- package/src/api/core/io/underlay/index.ts +295 -0
- package/src/api/core/layers.ts +333 -0
- package/src/api/core/math/quat.ts +112 -235
- package/src/api/core/math/vec3.ts +124 -159
- package/src/api/core/project/index.ts +418 -0
- package/src/api/core/tags.ts +808 -0
- package/src/api/core/units/index.ts +164 -0
- package/src/api/core/zoom/index.ts +47 -0
- package/src/api/design/boolean/index.ts +179 -0
- package/src/api/design/create/index.ts +895 -0
- package/src/api/design/delete/index.ts +67 -0
- package/src/api/design/doors/index.ts +285 -0
- package/src/api/design/edit/index.ts +54 -0
- package/src/api/design/erase/index.ts +151 -0
- package/src/api/design/furniture/index.ts +130 -0
- package/src/api/design/index.ts +162 -0
- package/src/api/design/lock.ts +42 -0
- package/src/api/design/materials/index.ts +301 -0
- package/src/api/design/query/geometry/index.ts +166 -0
- package/src/api/design/query/index.ts +937 -0
- package/src/api/design/query/spaces.ts +132 -0
- package/src/api/design/selection/index.ts +273 -0
- package/src/api/design/shared.ts +40 -0
- package/src/api/design/transform/index.ts +93 -0
- package/src/api/design/update/index.ts +117 -0
- package/src/api/design/windows/index.ts +207 -0
- package/src/api/entity/buildableEnvelope.ts +318 -0
- package/src/api/entity/department.ts +0 -113
- package/src/api/entity/index.ts +9 -9
- package/src/api/entity/referenceLine.ts +50 -38
- package/src/api/entity/space.ts +285 -226
- package/src/api/entity/story.ts +53 -42
- package/src/api/index.ts +22 -12
- package/src/api/presentation/aiInspiration.ts +362 -0
- package/src/api/presentation/diagrams.ts +84 -0
- package/src/api/presentation/import.ts +112 -0
- package/src/api/presentation/index.ts +48 -0
- package/src/api/presentation/sheets.ts +198 -0
- package/src/api/presentation/views.ts +303 -0
- package/src/api/program/adjacency.ts +164 -0
- package/src/api/program/areas.ts +335 -0
- package/src/api/program/classification.ts +138 -0
- package/src/api/program/cores.ts +171 -0
- package/src/api/program/departments.ts +465 -0
- package/src/api/program/index.ts +71 -0
- package/src/api/program/layout.ts +68 -0
- package/src/api/program/metrics.ts +120 -0
- package/src/api/program/site.ts +419 -0
- package/src/api/program/spreadsheet.ts +2075 -0
- package/src/handles.ts +194 -0
- package/src/host-utils.ts +10 -6
- package/src/index.ts +1 -0
- package/dist/api/core/geom/arc.d.ts +0 -81
- package/dist/api/core/geom/arc.d.ts.map +0 -1
- package/dist/api/core/geom/curve.d.ts +0 -70
- package/dist/api/core/geom/curve.d.ts.map +0 -1
- package/dist/api/core/geom/line.d.ts +0 -56
- package/dist/api/core/geom/line.d.ts.map +0 -1
- package/dist/api/core/geom/profile.d.ts +0 -121
- package/dist/api/core/geom/profile.d.ts.map +0 -1
- package/dist/api/tools/copy.d.ts +0 -59
- package/dist/api/tools/copy.d.ts.map +0 -1
- package/dist/api/tools/index.d.ts +0 -33
- package/dist/api/tools/index.d.ts.map +0 -1
- package/dist/api/tools/material.d.ts +0 -51
- package/dist/api/tools/material.d.ts.map +0 -1
- package/dist/api/tools/offset.d.ts +0 -43
- package/dist/api/tools/offset.d.ts.map +0 -1
- package/dist/api/tools/selection.d.ts +0 -48
- package/dist/api/tools/selection.d.ts.map +0 -1
- package/dist/api/tools/transform.d.ts +0 -114
- package/dist/api/tools/transform.d.ts.map +0 -1
- package/dist/api/units/index.d.ts +0 -163
- package/dist/api/units/index.d.ts.map +0 -1
- package/src/api/core/geom/arc.ts +0 -70
- package/src/api/core/geom/curve.ts +0 -41
- package/src/api/core/geom/line.ts +0 -53
- package/src/api/core/geom/profile.ts +0 -94
- package/src/api/tools/copy.ts +0 -55
- package/src/api/tools/index.ts +0 -39
- package/src/api/tools/material.ts +0 -49
- package/src/api/tools/offset.ts +0 -43
- package/src/api/tools/selection.ts +0 -51
- package/src/api/tools/transform.ts +0 -117
- package/src/api/units/index.ts +0 -163
|
@@ -1,99 +1 @@
|
|
|
1
|
-
import * as z from "zod";
|
|
2
|
-
import { PluginApiReturn } from "../../types";
|
|
3
|
-
/**
|
|
4
|
-
* Department management — create and query departments.
|
|
5
|
-
*
|
|
6
|
-
* A **department** is a named, colored grouping applied to spaces.
|
|
7
|
-
* Departments are used to categorize spaces by function (e.g. "FOH",
|
|
8
|
-
* "Emergency", "Residential") and control their visual appearance.
|
|
9
|
-
*
|
|
10
|
-
* Accessed via `snaptrude.entity.department`.
|
|
11
|
-
*/
|
|
12
|
-
export declare abstract class PluginDepartmentApi {
|
|
13
|
-
constructor();
|
|
14
|
-
/**
|
|
15
|
-
* Create a new department.
|
|
16
|
-
*
|
|
17
|
-
* @param args - An object containing:
|
|
18
|
-
* - {@linkcode PluginDepartmentCreateArgs.name args.name} — Display name
|
|
19
|
-
* - {@linkcode PluginDepartmentCreateArgs.color args.color} — CSS hex color string (e.g. `"#b5e1dc"`)
|
|
20
|
-
* @returns A {@linkcode PluginDepartmentCreateResult} with the `departmentId`
|
|
21
|
-
* of the created department
|
|
22
|
-
* @throws If department creation fails
|
|
23
|
-
*
|
|
24
|
-
* # Example
|
|
25
|
-
* ```ts
|
|
26
|
-
* const { departmentId } = await snaptrude.entity.department.create({
|
|
27
|
-
* name: "Emergency",
|
|
28
|
-
* color: "#f5e68b",
|
|
29
|
-
* })
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
abstract create(args: PluginDepartmentCreateArgs): PluginApiReturn<PluginDepartmentCreateResult>;
|
|
33
|
-
/**
|
|
34
|
-
* Get all departments in the current project.
|
|
35
|
-
*
|
|
36
|
-
* Returns every department including well-known ones (Default, Site, etc.)
|
|
37
|
-
* and user-created departments.
|
|
38
|
-
*
|
|
39
|
-
* @returns A {@linkcode PluginDepartmentGetAllResult} with a `departments` array
|
|
40
|
-
*
|
|
41
|
-
* # Example
|
|
42
|
-
* ```ts
|
|
43
|
-
* const { departments } = await snaptrude.entity.department.getAll()
|
|
44
|
-
* for (const dept of departments) {
|
|
45
|
-
* console.log(dept.id, dept.name, dept.color)
|
|
46
|
-
* }
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
abstract getAll(): PluginApiReturn<PluginDepartmentGetAllResult>;
|
|
50
|
-
}
|
|
51
|
-
/**
|
|
52
|
-
* Arguments for {@linkcode PluginDepartmentApi.create}.
|
|
53
|
-
*
|
|
54
|
-
* | Property | Type | Description |
|
|
55
|
-
* |---|---|---|
|
|
56
|
-
* | `name` | `string` | Display name of the department |
|
|
57
|
-
* | `color` | `string` | CSS hex color string (e.g. `"#b5e1dc"`) |
|
|
58
|
-
*/
|
|
59
|
-
export declare const PluginDepartmentCreateArgs: z.ZodObject<{
|
|
60
|
-
name: z.ZodString;
|
|
61
|
-
color: z.ZodString;
|
|
62
|
-
}, z.core.$strip>;
|
|
63
|
-
export type PluginDepartmentCreateArgs = z.infer<typeof PluginDepartmentCreateArgs>;
|
|
64
|
-
/**
|
|
65
|
-
* Result of {@linkcode PluginDepartmentApi.create}.
|
|
66
|
-
*
|
|
67
|
-
* | Property | Type | Description |
|
|
68
|
-
* |---|---|---|
|
|
69
|
-
* | `departmentId` | `string` | Unique ID of the created department |
|
|
70
|
-
*/
|
|
71
|
-
export declare const PluginDepartmentCreateResult: z.ZodObject<{
|
|
72
|
-
departmentId: z.ZodString;
|
|
73
|
-
}, z.core.$strip>;
|
|
74
|
-
export type PluginDepartmentCreateResult = z.infer<typeof PluginDepartmentCreateResult>;
|
|
75
|
-
/**
|
|
76
|
-
* A single department entry returned by {@linkcode PluginDepartmentApi.getAll}.
|
|
77
|
-
*/
|
|
78
|
-
export declare const PluginDepartmentEntry: z.ZodObject<{
|
|
79
|
-
id: z.ZodString;
|
|
80
|
-
name: z.ZodString;
|
|
81
|
-
color: z.ZodString;
|
|
82
|
-
}, z.core.$strip>;
|
|
83
|
-
export type PluginDepartmentEntry = z.infer<typeof PluginDepartmentEntry>;
|
|
84
|
-
/**
|
|
85
|
-
* Result of {@linkcode PluginDepartmentApi.getAll}.
|
|
86
|
-
*
|
|
87
|
-
* | Property | Type | Description |
|
|
88
|
-
* |---|---|---|
|
|
89
|
-
* | `departments` | {@linkcode PluginDepartmentEntry}`[]` | All departments in the project |
|
|
90
|
-
*/
|
|
91
|
-
export declare const PluginDepartmentGetAllResult: z.ZodObject<{
|
|
92
|
-
departments: z.ZodArray<z.ZodObject<{
|
|
93
|
-
id: z.ZodString;
|
|
94
|
-
name: z.ZodString;
|
|
95
|
-
color: z.ZodString;
|
|
96
|
-
}, z.core.$strip>>;
|
|
97
|
-
}, z.core.$strip>;
|
|
98
|
-
export type PluginDepartmentGetAllResult = z.infer<typeof PluginDepartmentGetAllResult>;
|
|
99
1
|
//# sourceMappingURL=department.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"department.d.ts","sourceRoot":"","sources":["../../../src/api/entity/department.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"department.d.ts","sourceRoot":"","sources":["../../../src/api/entity/department.ts"],"names":[],"mappings":""}
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PluginBuildableEnvelopeApi } from "./buildableEnvelope";
|
|
2
2
|
import { PluginReferenceLineApi } from "./referenceLine";
|
|
3
|
-
import { PluginSpaceApi } from "./space";
|
|
4
3
|
import { PluginStoryApi } from "./story";
|
|
5
4
|
/**
|
|
6
5
|
* CRUD operations on Snaptrude building entities.
|
|
7
6
|
*
|
|
8
|
-
* - {@linkcode PluginEntityApi.space} — Create, query, and delete spaces (rooms/masses)
|
|
9
7
|
* - {@linkcode PluginEntityApi.story} — Create, query, and update stories (floors)
|
|
10
8
|
* - {@linkcode PluginEntityApi.referenceLine} — Create, query, and delete reference lines
|
|
11
|
-
* - {@linkcode PluginEntityApi.
|
|
9
|
+
* - {@linkcode PluginEntityApi.buildableEnvelope} — Create or update parametric buildable envelopes
|
|
10
|
+
*
|
|
11
|
+
* Space operations moved to `design.create.spaces` / `design.update.*` /
|
|
12
|
+
* `design.query.*` / `design.delete.entities` (the `entity.space` API was removed);
|
|
13
|
+
* `./space` still exports the shared space value types.
|
|
12
14
|
*/
|
|
13
15
|
export declare abstract class PluginEntityApi {
|
|
14
|
-
/** Space (room/mass) operations. See {@linkcode PluginSpaceApi}. */
|
|
15
|
-
abstract space: PluginSpaceApi;
|
|
16
16
|
/** Story (floor/storey) operations. See {@linkcode PluginStoryApi}. */
|
|
17
17
|
abstract story: PluginStoryApi;
|
|
18
18
|
/** Reference line operations. See {@linkcode PluginReferenceLineApi}. */
|
|
19
19
|
abstract referenceLine: PluginReferenceLineApi;
|
|
20
|
-
/**
|
|
21
|
-
abstract
|
|
20
|
+
/** Buildable Envelope operations. See {@linkcode PluginBuildableEnvelopeApi}. */
|
|
21
|
+
abstract buildableEnvelope: PluginBuildableEnvelopeApi;
|
|
22
22
|
constructor();
|
|
23
23
|
}
|
|
24
|
-
export * from "./
|
|
24
|
+
export * from "./buildableEnvelope";
|
|
25
25
|
export * from "./referenceLine";
|
|
26
26
|
export * from "./space";
|
|
27
27
|
export * from "./story";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/entity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/entity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;;;;;;GAUG;AACH,8BAAsB,eAAe;IACnC,uEAAuE;IACvE,SAAgB,KAAK,EAAE,cAAc,CAAA;IACrC,yEAAyE;IACzE,SAAgB,aAAa,EAAE,sBAAsB,CAAA;IACrD,iFAAiF;IACjF,SAAgB,iBAAiB,EAAE,0BAA0B,CAAA;;CAG9D;AAED,cAAc,qBAAqB,CAAA;AACnC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import * as z from "zod";
|
|
2
2
|
import { PluginApiReturn } from "../../types";
|
|
3
|
+
import { ProfileHandle } from "../../handles";
|
|
3
4
|
/**
|
|
4
5
|
* Reference line management — create, query, and delete reference lines.
|
|
5
6
|
*
|
|
@@ -17,57 +18,63 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
17
18
|
/**
|
|
18
19
|
* Create multiple reference lines from a profile.
|
|
19
20
|
*
|
|
20
|
-
* Each
|
|
21
|
+
* Each curve in the given {@linkcode ProfileHandle} becomes
|
|
21
22
|
* a separate reference line. Uses `ReferenceLineConstructor.createFromProfile`
|
|
22
23
|
* internally.
|
|
23
24
|
*
|
|
24
|
-
* @param
|
|
25
|
-
*
|
|
26
|
-
* {@linkcode PProfile} whose curves define the reference lines to create
|
|
25
|
+
* @param profile - A {@linkcode ProfileHandle} whose curves define the
|
|
26
|
+
* reference lines to create
|
|
27
27
|
* @returns A {@linkcode PluginReferenceLineCreateMultiResult} with the
|
|
28
28
|
* `referenceLineIds` of the created reference lines
|
|
29
29
|
* @throws If reference line creation fails
|
|
30
30
|
*
|
|
31
|
+
* @examplePrompt Draw grid lines across the site
|
|
32
|
+
* @examplePrompt Create reference lines from these curves
|
|
33
|
+
* @examplePrompt Add alignment guides along the building edge
|
|
34
|
+
* @examplePrompt Set up a structural grid using guide lines
|
|
35
|
+
* @examplePrompt Turn this profile into reference lines
|
|
36
|
+
*
|
|
31
37
|
* # Example
|
|
32
38
|
* ```ts
|
|
33
39
|
* const { vec3 } = snaptrude.core.math
|
|
34
40
|
*
|
|
35
|
-
* const
|
|
36
|
-
* const
|
|
37
|
-
* const
|
|
41
|
+
* const start = await vec3.new(0, 0, 0)
|
|
42
|
+
* const mid = await vec3.new(10, 0, 0)
|
|
43
|
+
* const end = await vec3.new(10, 0, 10)
|
|
44
|
+
* const l1 = await snaptrude.core.geom.create.line(start, mid)
|
|
45
|
+
* const l2 = await snaptrude.core.geom.create.line(mid, end)
|
|
46
|
+
* const profile = await snaptrude.core.geom.create.profileFromCurves([l1, l2])
|
|
38
47
|
*
|
|
39
|
-
* const { referenceLineIds } = await snaptrude.entity.referenceLine.createMulti(
|
|
40
|
-
* profile,
|
|
41
|
-
* })
|
|
48
|
+
* const { referenceLineIds } = await snaptrude.entity.referenceLine.createMulti(profile)
|
|
42
49
|
* ```
|
|
43
50
|
*/
|
|
44
|
-
abstract createMulti(
|
|
51
|
+
abstract createMulti(profile: ProfileHandle): PluginApiReturn<PluginReferenceLineCreateMultiResult>;
|
|
45
52
|
/**
|
|
46
53
|
* Get properties of a reference line by its ID.
|
|
47
54
|
*
|
|
48
|
-
* Only the properties listed in
|
|
49
|
-
*
|
|
50
|
-
* in the result.
|
|
55
|
+
* Only the properties listed in `properties` are returned — unlisted
|
|
56
|
+
* properties will be `undefined` in the result.
|
|
51
57
|
*
|
|
52
|
-
* @param
|
|
53
|
-
*
|
|
54
|
-
*
|
|
55
|
-
* - {@linkcode PluginReferenceLineGetArgs.properties args.properties} — Array of
|
|
56
|
-
* property names to retrieve. See {@linkcode PluginReferenceLineGetProperty}.
|
|
58
|
+
* @param referenceLineId - The unique reference line ID
|
|
59
|
+
* @param properties - Array of property names to retrieve. See
|
|
60
|
+
* {@linkcode PluginReferenceLineGetProperty}.
|
|
57
61
|
* @returns A partial {@linkcode PluginReferenceLineGetResult} containing only the
|
|
58
62
|
* requested properties
|
|
59
63
|
* @throws If the reference line does not exist
|
|
60
64
|
*
|
|
65
|
+
* @examplePrompt Get the curve geometry of this reference line
|
|
66
|
+
* @examplePrompt Where does this grid line run?
|
|
67
|
+
* @examplePrompt Read the geometry of a guide line by its id
|
|
68
|
+
* @examplePrompt Look up the curve of the selected reference line
|
|
69
|
+
*
|
|
61
70
|
* # Example
|
|
62
71
|
* ```ts
|
|
63
|
-
* const result = await snaptrude.entity.referenceLine.get(
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* })
|
|
67
|
-
* console.log(result.curve) // PCurve
|
|
72
|
+
* const result = await snaptrude.entity.referenceLine.get("some-ref-line-id", ["curve"])
|
|
73
|
+
* // result.curve is an opaque CurveHandle; a dedicated curve read API for its
|
|
74
|
+
* // coordinates is exposed separately via `snaptrude.core.geom.curve`.
|
|
68
75
|
* ```
|
|
69
76
|
*/
|
|
70
|
-
abstract get(
|
|
77
|
+
abstract get(referenceLineId: string, properties: z.infer<typeof PluginReferenceLineGetProperty>[]): PluginApiReturn<PluginReferenceLineGetResult>;
|
|
71
78
|
/**
|
|
72
79
|
* Get the IDs of all reference lines in the current project.
|
|
73
80
|
*
|
|
@@ -78,6 +85,11 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
78
85
|
* @returns A {@linkcode PluginReferenceLineGetAllResult} with a
|
|
79
86
|
* `referenceLineIds` array
|
|
80
87
|
*
|
|
88
|
+
* @examplePrompt How many grid lines are in the project?
|
|
89
|
+
* @examplePrompt List all the reference lines in my model
|
|
90
|
+
* @examplePrompt Show every guide line in the file
|
|
91
|
+
* @examplePrompt Do I have any reference lines in this project?
|
|
92
|
+
*
|
|
81
93
|
* # Example
|
|
82
94
|
* ```ts
|
|
83
95
|
* const { referenceLineIds } = await snaptrude.entity.referenceLine.getAll()
|
|
@@ -91,65 +103,30 @@ export declare abstract class PluginReferenceLineApi {
|
|
|
91
103
|
* Permanently removes the reference line and its associated mesh from
|
|
92
104
|
* the scene. This operation is undoable via Snaptrude's command system.
|
|
93
105
|
*
|
|
94
|
-
* @param
|
|
95
|
-
* - {@linkcode PluginReferenceLineDeleteArgs.referenceLineId args.referenceLineId} —
|
|
96
|
-
* The unique reference line ID to delete
|
|
106
|
+
* @param referenceLineId - The unique reference line ID to delete
|
|
97
107
|
* @throws If the reference line does not exist
|
|
98
108
|
*
|
|
109
|
+
* @examplePrompt Delete this reference line
|
|
110
|
+
* @examplePrompt Remove the grid line I just drew
|
|
111
|
+
* @examplePrompt Get rid of the alignment guide on the left
|
|
112
|
+
* @examplePrompt Erase a reference line by its id
|
|
113
|
+
*
|
|
99
114
|
* # Example
|
|
100
115
|
* ```ts
|
|
101
|
-
* await snaptrude.entity.referenceLine.delete(
|
|
102
|
-
* referenceLineId: "some-ref-line-id",
|
|
103
|
-
* })
|
|
116
|
+
* await snaptrude.entity.referenceLine.delete("some-ref-line-id")
|
|
104
117
|
* ```
|
|
105
118
|
*/
|
|
106
|
-
abstract delete(
|
|
119
|
+
abstract delete(referenceLineId: string): PluginApiReturn<PluginReferenceLineDeleteResult>;
|
|
107
120
|
}
|
|
108
121
|
/**
|
|
109
122
|
* Arguments for {@linkcode PluginReferenceLineApi.createMulti}.
|
|
110
123
|
*
|
|
111
124
|
* | Property | Type | Description |
|
|
112
125
|
* |---|---|---|
|
|
113
|
-
* | `profile` | {@linkcode
|
|
126
|
+
* | `profile` | {@linkcode ProfileHandle} | Profile handle whose curves define reference lines |
|
|
114
127
|
*/
|
|
115
128
|
export declare const PluginReferenceLineCreateMultiArgs: z.ZodObject<{
|
|
116
|
-
profile: z.
|
|
117
|
-
curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
|
|
118
|
-
curveType: z.ZodLiteral<"Line">;
|
|
119
|
-
startPoint: z.ZodObject<{
|
|
120
|
-
x: z.ZodNumber;
|
|
121
|
-
y: z.ZodNumber;
|
|
122
|
-
z: z.ZodNumber;
|
|
123
|
-
}, z.core.$strip>;
|
|
124
|
-
endPoint: z.ZodObject<{
|
|
125
|
-
x: z.ZodNumber;
|
|
126
|
-
y: z.ZodNumber;
|
|
127
|
-
z: z.ZodNumber;
|
|
128
|
-
}, z.core.$strip>;
|
|
129
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
130
|
-
curveType: z.ZodLiteral<"Arc">;
|
|
131
|
-
startPoint: z.ZodObject<{
|
|
132
|
-
x: z.ZodNumber;
|
|
133
|
-
y: z.ZodNumber;
|
|
134
|
-
z: z.ZodNumber;
|
|
135
|
-
}, z.core.$strip>;
|
|
136
|
-
endPoint: z.ZodObject<{
|
|
137
|
-
x: z.ZodNumber;
|
|
138
|
-
y: z.ZodNumber;
|
|
139
|
-
z: z.ZodNumber;
|
|
140
|
-
}, z.core.$strip>;
|
|
141
|
-
centrePoint: z.ZodObject<{
|
|
142
|
-
x: z.ZodNumber;
|
|
143
|
-
y: z.ZodNumber;
|
|
144
|
-
z: z.ZodNumber;
|
|
145
|
-
}, z.core.$strip>;
|
|
146
|
-
axis: z.ZodObject<{
|
|
147
|
-
x: z.ZodNumber;
|
|
148
|
-
y: z.ZodNumber;
|
|
149
|
-
z: z.ZodNumber;
|
|
150
|
-
}, z.core.$strip>;
|
|
151
|
-
}, z.core.$strip>], "curveType">>;
|
|
152
|
-
}, z.core.$strip>;
|
|
129
|
+
profile: z.ZodPipe<z.ZodString, z.ZodTransform<import("../..").Handle<"profile">, string>>;
|
|
153
130
|
}, z.core.$strip>;
|
|
154
131
|
export type PluginReferenceLineCreateMultiArgs = z.infer<typeof PluginReferenceLineCreateMultiArgs>;
|
|
155
132
|
/**
|
|
@@ -168,7 +145,7 @@ export type PluginReferenceLineCreateMultiResult = z.infer<typeof PluginReferenc
|
|
|
168
145
|
*
|
|
169
146
|
* | Value | Return Type | Description |
|
|
170
147
|
* |---|---|---|
|
|
171
|
-
* | `"curve"` | {@linkcode
|
|
148
|
+
* | `"curve"` | {@linkcode CurveHandle} | The curve geometry of the reference line, as an opaque handle |
|
|
172
149
|
*/
|
|
173
150
|
export declare const PluginReferenceLineGetProperty: z.ZodEnum<{
|
|
174
151
|
curve: "curve";
|
|
@@ -195,41 +172,7 @@ export type PluginReferenceLineGetArgs = z.infer<typeof PluginReferenceLineGetAr
|
|
|
195
172
|
* {@linkcode PluginReferenceLineGetArgs.properties} will be present.
|
|
196
173
|
*/
|
|
197
174
|
export declare const PluginReferenceLineGetResult: z.ZodObject<{
|
|
198
|
-
curve: z.ZodOptional<z.
|
|
199
|
-
curveType: z.ZodLiteral<"Line">;
|
|
200
|
-
startPoint: z.ZodObject<{
|
|
201
|
-
x: z.ZodNumber;
|
|
202
|
-
y: z.ZodNumber;
|
|
203
|
-
z: z.ZodNumber;
|
|
204
|
-
}, z.core.$strip>;
|
|
205
|
-
endPoint: z.ZodObject<{
|
|
206
|
-
x: z.ZodNumber;
|
|
207
|
-
y: z.ZodNumber;
|
|
208
|
-
z: z.ZodNumber;
|
|
209
|
-
}, z.core.$strip>;
|
|
210
|
-
}, z.core.$strip>, z.ZodObject<{
|
|
211
|
-
curveType: z.ZodLiteral<"Arc">;
|
|
212
|
-
startPoint: z.ZodObject<{
|
|
213
|
-
x: z.ZodNumber;
|
|
214
|
-
y: z.ZodNumber;
|
|
215
|
-
z: z.ZodNumber;
|
|
216
|
-
}, z.core.$strip>;
|
|
217
|
-
endPoint: z.ZodObject<{
|
|
218
|
-
x: z.ZodNumber;
|
|
219
|
-
y: z.ZodNumber;
|
|
220
|
-
z: z.ZodNumber;
|
|
221
|
-
}, z.core.$strip>;
|
|
222
|
-
centrePoint: z.ZodObject<{
|
|
223
|
-
x: z.ZodNumber;
|
|
224
|
-
y: z.ZodNumber;
|
|
225
|
-
z: z.ZodNumber;
|
|
226
|
-
}, z.core.$strip>;
|
|
227
|
-
axis: z.ZodObject<{
|
|
228
|
-
x: z.ZodNumber;
|
|
229
|
-
y: z.ZodNumber;
|
|
230
|
-
z: z.ZodNumber;
|
|
231
|
-
}, z.core.$strip>;
|
|
232
|
-
}, z.core.$strip>], "curveType">>;
|
|
175
|
+
curve: z.ZodOptional<z.ZodUnion<readonly [z.ZodPipe<z.ZodString, z.ZodTransform<import("../..").Handle<"line">, string>>, z.ZodPipe<z.ZodString, z.ZodTransform<import("../..").Handle<"arc">, string>>]>>;
|
|
233
176
|
}, z.core.$strip>;
|
|
234
177
|
export type PluginReferenceLineGetResult = z.infer<typeof PluginReferenceLineGetResult>;
|
|
235
178
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"referenceLine.d.ts","sourceRoot":"","sources":["../../../src/api/entity/referenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"referenceLine.d.ts","sourceRoot":"","sources":["../../../src/api/entity/referenceLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,aAAa,EAAe,MAAM,eAAe,CAAA;AAE1D;;;;;;;;;;;GAWG;AACH,8BAAsB,sBAAsB;;IAG1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;aACa,WAAW,CACzB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,oCAAoC,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,GAAG,CACjB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,EAAE,GAC3D,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,MAAM,IAAI,eAAe,CAAC,+BAA+B,CAAC;IAE1E;;;;;;;;;;;;;;;;;;OAkBG;aACa,MAAM,CACpB,eAAe,EAAE,MAAM,GACtB,eAAe,CAAC,+BAA+B,CAAC;CACpD;AAED;;;;;;GAMG;AACH,eAAO,MAAM,kCAAkC;;iBAE7C,CAAA;AAEF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kCAAkC,CAAC,CAAA;AAEnG;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC;;iBAE/C,CAAA;AAEF,MAAM,MAAM,oCAAoC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oCAAoC,CAAC,CAAA;AAEvG;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B;;EAEzC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAGrC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B;;iBAI7B,CAAA;AAEZ,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;iBAE1C,CAAA;AAEF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,+BAA+B,CAAC,CAAA;AAE7F;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;iBAExC,CAAA;AAEF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAA;AAEzF,8FAA8F;AAC9F,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAAA"}
|