@snaptrude/plugin-core 0.1.3 → 0.3.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/dist/api/index.d.ts +2 -2
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/tools/copy.d.ts +59 -0
- package/dist/api/tools/copy.d.ts.map +1 -0
- package/dist/api/tools/index.d.ts +11 -0
- package/dist/api/tools/index.d.ts.map +1 -1
- package/dist/api/tools/offset.d.ts +43 -0
- package/dist/api/tools/offset.d.ts.map +1 -0
- package/dist/index.cjs +67 -32
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +62 -32
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/api/index.ts +2 -2
- package/src/api/tools/copy.ts +55 -0
- package/src/api/tools/index.ts +15 -0
- package/src/api/tools/offset.ts +43 -0
package/dist/api/index.d.ts
CHANGED
|
@@ -9,13 +9,13 @@ import { PluginUnitsApi } from "./units";
|
|
|
9
9
|
*
|
|
10
10
|
* - {@linkcode PluginApi.core} — Math and geometry primitives
|
|
11
11
|
* - {@linkcode PluginApi.entity} — CRUD operations on Snaptrude entities (spaces, stories)
|
|
12
|
-
* - {@linkcode PluginApi.tools} —
|
|
12
|
+
* - {@linkcode PluginApi.tools} — Copy, offset, selection, material and transform tools
|
|
13
13
|
* - {@linkcode PluginApi.units} — Unit conversion utilities
|
|
14
14
|
*/
|
|
15
15
|
export declare abstract class PluginApi {
|
|
16
16
|
/** Core math and geometry primitives. See {@linkcode PluginCoreApi}. */
|
|
17
17
|
abstract core: PluginCoreApi;
|
|
18
|
-
/**
|
|
18
|
+
/** Copy, offset, selection, material and transform tools. See {@linkcode PluginToolsApi}. */
|
|
19
19
|
abstract tools: PluginToolsApi;
|
|
20
20
|
/** CRUD operations on Snaptrude entities. See {@linkcode PluginEntityApi}. */
|
|
21
21
|
abstract entity: PluginEntityApi;
|
package/dist/api/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;;;;;GASG;AACH,8BAAsB,SAAS;IAC7B,wEAAwE;IACxE,SAAgB,IAAI,EAAE,aAAa,CAAA;IACnC
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAExC;;;;;;;;;GASG;AACH,8BAAsB,SAAS;IAC7B,wEAAwE;IACxE,SAAgB,IAAI,EAAE,aAAa,CAAA;IACnC,6FAA6F;IAC7F,SAAgB,KAAK,EAAE,cAAc,CAAA;IACrC,8EAA8E;IAC9E,SAAgB,MAAM,EAAE,eAAe,CAAA;IACvC,iEAAiE;IACjE,SAAgB,KAAK,EAAE,cAAc,CAAA;;CAGtC;AAED,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import type { ComponentId } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* Copy mode for `snaptrude.tools.copy`.
|
|
5
|
+
*
|
|
6
|
+
* | Value | Description |
|
|
7
|
+
* |---|---|
|
|
8
|
+
* | `"instance"` | Create instanced copies where possible |
|
|
9
|
+
* | `"unique"` | Create independent geometry copies |
|
|
10
|
+
*/
|
|
11
|
+
export declare const PluginCopyMode: z.ZodEnum<{
|
|
12
|
+
instance: "instance";
|
|
13
|
+
unique: "unique";
|
|
14
|
+
}>;
|
|
15
|
+
export type PluginCopyMode = z.infer<typeof PluginCopyMode>;
|
|
16
|
+
/**
|
|
17
|
+
* Arguments for `snaptrude.tools.copy`.
|
|
18
|
+
*
|
|
19
|
+
* Creates one or more copies for each component in `componentIds`. Copy `i` is
|
|
20
|
+
* offset by `displacement * i`, where `i` starts at `1`. Source positions are
|
|
21
|
+
* preserved. In `"instance"` mode, a unique source mesh can be replaced by an
|
|
22
|
+
* instance at the same position so the source and copied objects remain in the
|
|
23
|
+
* same instance family. The created copy stack becomes the active editor
|
|
24
|
+
* selection, matching the native paste workflow.
|
|
25
|
+
*
|
|
26
|
+
* | Property | Type | Description |
|
|
27
|
+
* |---|---|---|
|
|
28
|
+
* | `componentIds` | `string[]` | Component IDs to copy |
|
|
29
|
+
* | `displacement` | {@linkcode PVec3} | Offset applied to each copy in Babylon units |
|
|
30
|
+
* | `count` | `number` | Number of copies per component. Defaults to `1` |
|
|
31
|
+
* | `copyMode` | {@linkcode PluginCopyMode} | `"instance"` or `"unique"`. Defaults to `"instance"` |
|
|
32
|
+
*/
|
|
33
|
+
export declare const PluginCopyArgs: z.ZodObject<{
|
|
34
|
+
componentIds: z.ZodArray<z.ZodString>;
|
|
35
|
+
displacement: z.ZodObject<{
|
|
36
|
+
x: z.ZodNumber;
|
|
37
|
+
y: z.ZodNumber;
|
|
38
|
+
z: z.ZodNumber;
|
|
39
|
+
}, z.core.$strip>;
|
|
40
|
+
count: z.ZodOptional<z.ZodNumber>;
|
|
41
|
+
copyMode: z.ZodOptional<z.ZodEnum<{
|
|
42
|
+
instance: "instance";
|
|
43
|
+
unique: "unique";
|
|
44
|
+
}>>;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
export type PluginCopyArgs = z.infer<typeof PluginCopyArgs>;
|
|
47
|
+
/**
|
|
48
|
+
* Result of `snaptrude.tools.copy`.
|
|
49
|
+
*
|
|
50
|
+
* Returned IDs are Snaptrude component IDs for the newly created copies, not
|
|
51
|
+
* Babylon mesh IDs.
|
|
52
|
+
*/
|
|
53
|
+
export declare const PluginCopyResult: z.ZodObject<{
|
|
54
|
+
copiedIds: z.ZodArray<z.ZodString>;
|
|
55
|
+
}, z.core.$strip>;
|
|
56
|
+
export type PluginCopyResult = {
|
|
57
|
+
copiedIds: ComponentId[];
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=copy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"copy.d.ts","sourceRoot":"","sources":["../../../src/api/tools/copy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc;;;EAAiC,CAAA;AAE5D,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;iBAKzB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB;;iBAE3B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,WAAW,EAAE,CAAA;CACzB,CAAA"}
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { PluginMaterialApi } from "./material";
|
|
2
2
|
import { PluginSelectionApi } from "./selection";
|
|
3
3
|
import { PluginTransformApi } from "./transform";
|
|
4
|
+
import type { PluginApiReturn } from "../../types";
|
|
5
|
+
import type { PluginCopyArgs, PluginCopyResult } from "./copy";
|
|
6
|
+
import type { PluginOffsetArgs, PluginOffsetResult } from "./offset";
|
|
4
7
|
/**
|
|
5
8
|
* Snaptrude editor tools for querying and manipulating scene components.
|
|
6
9
|
*
|
|
7
10
|
* - {@linkcode PluginToolsApi.selection} — Query the current user selection
|
|
8
11
|
* - {@linkcode PluginToolsApi.transform} — Move and rotate components
|
|
12
|
+
* - {@linkcode PluginToolsApi.copy} — Copy components
|
|
13
|
+
* - {@linkcode PluginToolsApi.offset} — Offset or split component profiles
|
|
9
14
|
*/
|
|
10
15
|
export declare abstract class PluginToolsApi {
|
|
11
16
|
/** Query the current selection. See {@linkcode PluginSelectionApi}. */
|
|
@@ -14,8 +19,14 @@ export declare abstract class PluginToolsApi {
|
|
|
14
19
|
abstract transform: PluginTransformApi;
|
|
15
20
|
/** Apply materials to the current user selection in the Snaptrude editor or passed component ids if any. See {@linkcode PluginMaterialApi}. */
|
|
16
21
|
abstract material: PluginMaterialApi;
|
|
22
|
+
/** Copy components by ID. See {@linkcode PluginCopyArgs}. */
|
|
23
|
+
abstract copy(args: PluginCopyArgs): PluginApiReturn<PluginCopyResult>;
|
|
24
|
+
/** Offset or split a component profile. See {@linkcode PluginOffsetArgs}. */
|
|
25
|
+
abstract offset(args: PluginOffsetArgs): PluginApiReturn<PluginOffsetResult>;
|
|
17
26
|
constructor();
|
|
18
27
|
}
|
|
28
|
+
export * from "./copy";
|
|
29
|
+
export * from "./offset";
|
|
19
30
|
export * from "./selection";
|
|
20
31
|
export * from "./transform";
|
|
21
32
|
export * from "./material";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAChD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAEpE;;;;;;;GAOG;AACH,8BAAsB,cAAc;IAClC,uEAAuE;IACvE,SAAgB,SAAS,EAAE,kBAAkB,CAAA;IAC7C,sEAAsE;IACtE,SAAgB,SAAS,EAAE,kBAAkB,CAAA;IAC7C,+IAA+I;IAC/I,SAAgB,QAAQ,EAAE,iBAAiB,CAAA;IAE3C,6DAA6D;aAC7C,IAAI,CAAC,IAAI,EAAE,cAAc,GAAG,eAAe,CAAC,gBAAgB,CAAC;IAE7E,6EAA6E;aAC7D,MAAM,CACpB,IAAI,EAAE,gBAAgB,GACrB,eAAe,CAAC,kBAAkB,CAAC;;CAGvC;AAED,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,YAAY,CAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import * as z from "zod";
|
|
2
|
+
import type { ComponentId } from "../../types";
|
|
3
|
+
/**
|
|
4
|
+
* Arguments for `snaptrude.tools.offset`.
|
|
5
|
+
*
|
|
6
|
+
* Runs Snaptrude's offset/split operation on the top profile of a scene
|
|
7
|
+
* component. A positive distance offsets outward from the selected profile;
|
|
8
|
+
* a negative distance offsets inward. If `profilePickPoint` is omitted, the
|
|
9
|
+
* outer top profile is used. If `profilePickPoint` is provided, the nearest top
|
|
10
|
+
* contour profile to that point is used, matching the interactive offset tool's
|
|
11
|
+
* pick behavior.
|
|
12
|
+
*
|
|
13
|
+
* | Property | Type | Description |
|
|
14
|
+
* |---|---|---|
|
|
15
|
+
* | `componentId` | `string` | Component ID to offset |
|
|
16
|
+
* | `distance` | `number` | Signed offset distance in Snaptrude units |
|
|
17
|
+
* | `profilePickPoint` | {@linkcode PVec3} | Optional point used to choose a top contour profile |
|
|
18
|
+
*/
|
|
19
|
+
export declare const PluginOffsetArgs: z.ZodObject<{
|
|
20
|
+
componentId: z.ZodString;
|
|
21
|
+
distance: z.ZodNumber;
|
|
22
|
+
profilePickPoint: z.ZodOptional<z.ZodObject<{
|
|
23
|
+
x: z.ZodNumber;
|
|
24
|
+
y: z.ZodNumber;
|
|
25
|
+
z: z.ZodNumber;
|
|
26
|
+
}, z.core.$strip>>;
|
|
27
|
+
}, z.core.$strip>;
|
|
28
|
+
export type PluginOffsetArgs = z.infer<typeof PluginOffsetArgs>;
|
|
29
|
+
/**
|
|
30
|
+
* Result of `snaptrude.tools.offset`.
|
|
31
|
+
*
|
|
32
|
+
* `createdIds` are the components created by the offset operation. `deletedIds`
|
|
33
|
+
* are components removed by split-style offsets.
|
|
34
|
+
*/
|
|
35
|
+
export declare const PluginOffsetResult: z.ZodObject<{
|
|
36
|
+
createdIds: z.ZodArray<z.ZodString>;
|
|
37
|
+
deletedIds: z.ZodArray<z.ZodString>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export type PluginOffsetResult = {
|
|
40
|
+
createdIds: ComponentId[];
|
|
41
|
+
deletedIds: ComponentId[];
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=offset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offset.d.ts","sourceRoot":"","sources":["../../../src/api/tools/offset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAG9C;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;iBAI3B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB;;;iBAG7B,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,WAAW,EAAE,CAAA;IACzB,UAAU,EAAE,WAAW,EAAE,CAAA;CAC1B,CAAA"}
|
package/dist/index.cjs
CHANGED
|
@@ -39,6 +39,9 @@ __export(index_exports, {
|
|
|
39
39
|
PVec3: () => PVec3,
|
|
40
40
|
PluginApi: () => PluginApi,
|
|
41
41
|
PluginArcApi: () => PluginArcApi,
|
|
42
|
+
PluginCopyArgs: () => PluginCopyArgs,
|
|
43
|
+
PluginCopyMode: () => PluginCopyMode,
|
|
44
|
+
PluginCopyResult: () => PluginCopyResult,
|
|
42
45
|
PluginCoreApi: () => PluginCoreApi,
|
|
43
46
|
PluginCurveApi: () => PluginCurveApi,
|
|
44
47
|
PluginDepartmentApi: () => PluginDepartmentApi,
|
|
@@ -55,6 +58,8 @@ __export(index_exports, {
|
|
|
55
58
|
PluginMaterialArgs: () => PluginMaterialArgs,
|
|
56
59
|
PluginMathApi: () => PluginMathApi,
|
|
57
60
|
PluginMoveArgs: () => PluginMoveArgs,
|
|
61
|
+
PluginOffsetArgs: () => PluginOffsetArgs,
|
|
62
|
+
PluginOffsetResult: () => PluginOffsetResult,
|
|
58
63
|
PluginProfileApi: () => PluginProfileApi,
|
|
59
64
|
PluginProfileFromLinePointsArgs: () => PluginProfileFromLinePointsArgs,
|
|
60
65
|
PluginQuatApi: () => PluginQuatApi,
|
|
@@ -122,8 +127,8 @@ var PluginVec3Api = class {
|
|
|
122
127
|
* // { x: 1, y: 2, z: 3 }
|
|
123
128
|
* ```
|
|
124
129
|
*/
|
|
125
|
-
new(x, y,
|
|
126
|
-
return { x, y, z:
|
|
130
|
+
new(x, y, z17) {
|
|
131
|
+
return { x, y, z: z17 };
|
|
127
132
|
}
|
|
128
133
|
/**
|
|
129
134
|
* Add two vectors component-wise.
|
|
@@ -301,8 +306,8 @@ var PluginQuatApi = class {
|
|
|
301
306
|
* @param w - The W (scalar) component
|
|
302
307
|
* @returns A new {@linkcode PQuat}
|
|
303
308
|
*/
|
|
304
|
-
new(x, y,
|
|
305
|
-
return { x, y, z:
|
|
309
|
+
new(x, y, z17, w) {
|
|
310
|
+
return { x, y, z: z17, w };
|
|
306
311
|
}
|
|
307
312
|
/**
|
|
308
313
|
* Create an identity quaternion representing no rotation.
|
|
@@ -346,13 +351,13 @@ var PluginQuatApi = class {
|
|
|
346
351
|
* @param z - Rotation around Z axis in **radians**
|
|
347
352
|
* @returns A new {@linkcode PQuat}
|
|
348
353
|
*/
|
|
349
|
-
fromEuler(x, y,
|
|
354
|
+
fromEuler(x, y, z17) {
|
|
350
355
|
const cx = Math.cos(x / 2);
|
|
351
356
|
const sx = Math.sin(x / 2);
|
|
352
357
|
const cy = Math.cos(y / 2);
|
|
353
358
|
const sy = Math.sin(y / 2);
|
|
354
|
-
const cz = Math.cos(
|
|
355
|
-
const sz = Math.sin(
|
|
359
|
+
const cz = Math.cos(z17 / 2);
|
|
360
|
+
const sz = Math.sin(z17 / 2);
|
|
356
361
|
return {
|
|
357
362
|
x: sx * cy * cz + cx * sy * sz,
|
|
358
363
|
y: cx * sy * cz - sx * cy * sz,
|
|
@@ -934,35 +939,60 @@ var PluginEntityApi = class {
|
|
|
934
939
|
}
|
|
935
940
|
};
|
|
936
941
|
|
|
937
|
-
// src/api/tools/
|
|
942
|
+
// src/api/tools/copy.ts
|
|
938
943
|
var z11 = __toESM(require("zod"), 1);
|
|
944
|
+
var PluginCopyMode = z11.enum(["instance", "unique"]);
|
|
945
|
+
var PluginCopyArgs = z11.object({
|
|
946
|
+
componentIds: z11.array(z11.string()).min(1),
|
|
947
|
+
displacement: PVec3,
|
|
948
|
+
count: z11.number().int().positive().optional(),
|
|
949
|
+
copyMode: PluginCopyMode.optional()
|
|
950
|
+
});
|
|
951
|
+
var PluginCopyResult = z11.object({
|
|
952
|
+
copiedIds: z11.array(z11.string())
|
|
953
|
+
});
|
|
954
|
+
|
|
955
|
+
// src/api/tools/offset.ts
|
|
956
|
+
var z12 = __toESM(require("zod"), 1);
|
|
957
|
+
var PluginOffsetArgs = z12.object({
|
|
958
|
+
componentId: z12.string().min(1),
|
|
959
|
+
distance: z12.number(),
|
|
960
|
+
profilePickPoint: PVec3.optional()
|
|
961
|
+
});
|
|
962
|
+
var PluginOffsetResult = z12.object({
|
|
963
|
+
createdIds: z12.array(z12.string()),
|
|
964
|
+
deletedIds: z12.array(z12.string())
|
|
965
|
+
});
|
|
966
|
+
|
|
967
|
+
// src/api/tools/selection.ts
|
|
968
|
+
var z13 = __toESM(require("zod"), 1);
|
|
939
969
|
var PluginSelectionApi = class {
|
|
940
970
|
constructor() {
|
|
941
971
|
}
|
|
942
972
|
};
|
|
943
|
-
var PluginSelectionGetResult =
|
|
944
|
-
selected:
|
|
973
|
+
var PluginSelectionGetResult = z13.object({
|
|
974
|
+
selected: z13.array(z13.string())
|
|
945
975
|
});
|
|
946
976
|
|
|
947
977
|
// src/api/tools/transform.ts
|
|
948
|
-
var
|
|
978
|
+
var z14 = __toESM(require("zod"), 1);
|
|
949
979
|
var PluginTransformApi = class {
|
|
950
980
|
constructor() {
|
|
951
981
|
}
|
|
952
982
|
};
|
|
953
|
-
var PluginMoveArgs =
|
|
954
|
-
componentIds:
|
|
983
|
+
var PluginMoveArgs = z14.object({
|
|
984
|
+
componentIds: z14.array(z14.string()),
|
|
955
985
|
displacement: PVec3
|
|
956
986
|
});
|
|
957
|
-
var PluginRotateArgs =
|
|
958
|
-
componentIds:
|
|
959
|
-
angle:
|
|
987
|
+
var PluginRotateArgs = z14.object({
|
|
988
|
+
componentIds: z14.array(z14.string()),
|
|
989
|
+
angle: z14.number(),
|
|
960
990
|
axis: PVec3,
|
|
961
991
|
pivot: PVec3
|
|
962
992
|
});
|
|
963
993
|
|
|
964
994
|
// src/api/tools/material.ts
|
|
965
|
-
var
|
|
995
|
+
var z15 = __toESM(require("zod"), 1);
|
|
966
996
|
var PluginMaterialApi = class {
|
|
967
997
|
constructor() {
|
|
968
998
|
}
|
|
@@ -977,9 +1007,9 @@ var DEFAULT_MATERIALS = /* @__PURE__ */ ((DEFAULT_MATERIALS2) => {
|
|
|
977
1007
|
DEFAULT_MATERIALS2["BRICK"] = "brick";
|
|
978
1008
|
return DEFAULT_MATERIALS2;
|
|
979
1009
|
})(DEFAULT_MATERIALS || {});
|
|
980
|
-
var PluginMaterialArgs =
|
|
981
|
-
materialName:
|
|
982
|
-
componentIds:
|
|
1010
|
+
var PluginMaterialArgs = z15.object({
|
|
1011
|
+
materialName: z15.enum(Object.values(DEFAULT_MATERIALS)),
|
|
1012
|
+
componentIds: z15.array(z15.string())
|
|
983
1013
|
});
|
|
984
1014
|
|
|
985
1015
|
// src/api/tools/index.ts
|
|
@@ -989,12 +1019,12 @@ var PluginToolsApi = class {
|
|
|
989
1019
|
};
|
|
990
1020
|
|
|
991
1021
|
// src/api/units/index.ts
|
|
992
|
-
var
|
|
1022
|
+
var z16 = __toESM(require("zod"), 1);
|
|
993
1023
|
var PluginUnitsApi = class {
|
|
994
1024
|
constructor() {
|
|
995
1025
|
}
|
|
996
1026
|
};
|
|
997
|
-
var PUnitType =
|
|
1027
|
+
var PUnitType = z16.enum([
|
|
998
1028
|
"meters",
|
|
999
1029
|
"feet-inches",
|
|
1000
1030
|
"inches",
|
|
@@ -1003,21 +1033,21 @@ var PUnitType = z14.enum([
|
|
|
1003
1033
|
"kilometers",
|
|
1004
1034
|
"miles"
|
|
1005
1035
|
]);
|
|
1006
|
-
var PluginUnitsConvertFromArgs =
|
|
1036
|
+
var PluginUnitsConvertFromArgs = z16.object({
|
|
1007
1037
|
unit: PUnitType,
|
|
1008
|
-
value:
|
|
1009
|
-
degree:
|
|
1038
|
+
value: z16.number(),
|
|
1039
|
+
degree: z16.number().int().min(1).max(3).optional()
|
|
1010
1040
|
});
|
|
1011
|
-
var PluginUnitsConvertFromResult =
|
|
1012
|
-
value:
|
|
1041
|
+
var PluginUnitsConvertFromResult = z16.object({
|
|
1042
|
+
value: z16.number()
|
|
1013
1043
|
});
|
|
1014
|
-
var PluginUnitsConvertToArgs =
|
|
1044
|
+
var PluginUnitsConvertToArgs = z16.object({
|
|
1015
1045
|
unit: PUnitType,
|
|
1016
|
-
value:
|
|
1017
|
-
degree:
|
|
1046
|
+
value: z16.number(),
|
|
1047
|
+
degree: z16.number().int().min(1).max(3).optional()
|
|
1018
1048
|
});
|
|
1019
|
-
var PluginUnitsConvertToResult =
|
|
1020
|
-
value:
|
|
1049
|
+
var PluginUnitsConvertToResult = z16.object({
|
|
1050
|
+
value: z16.number()
|
|
1021
1051
|
});
|
|
1022
1052
|
|
|
1023
1053
|
// src/api/index.ts
|
|
@@ -1036,6 +1066,9 @@ var PluginApi = class {
|
|
|
1036
1066
|
PVec3,
|
|
1037
1067
|
PluginApi,
|
|
1038
1068
|
PluginArcApi,
|
|
1069
|
+
PluginCopyArgs,
|
|
1070
|
+
PluginCopyMode,
|
|
1071
|
+
PluginCopyResult,
|
|
1039
1072
|
PluginCoreApi,
|
|
1040
1073
|
PluginCurveApi,
|
|
1041
1074
|
PluginDepartmentApi,
|
|
@@ -1052,6 +1085,8 @@ var PluginApi = class {
|
|
|
1052
1085
|
PluginMaterialArgs,
|
|
1053
1086
|
PluginMathApi,
|
|
1054
1087
|
PluginMoveArgs,
|
|
1088
|
+
PluginOffsetArgs,
|
|
1089
|
+
PluginOffsetResult,
|
|
1055
1090
|
PluginProfileApi,
|
|
1056
1091
|
PluginProfileFromLinePointsArgs,
|
|
1057
1092
|
PluginQuatApi,
|