@snaptrude/plugin-core 0.0.3 → 0.0.5

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.
Files changed (53) hide show
  1. package/dist/api/core/geom/arc.d.ts +32 -0
  2. package/dist/api/core/geom/arc.d.ts.map +1 -0
  3. package/dist/api/core/geom/curve.d.ts +45 -0
  4. package/dist/api/core/geom/curve.d.ts.map +1 -0
  5. package/dist/api/core/geom/index.d.ts +16 -0
  6. package/dist/api/core/geom/index.d.ts.map +1 -0
  7. package/dist/api/core/geom/line.d.ts +22 -0
  8. package/dist/api/core/geom/line.d.ts.map +1 -0
  9. package/dist/api/core/geom/profile.d.ts +57 -0
  10. package/dist/api/core/geom/profile.d.ts.map +1 -0
  11. package/dist/api/core/index.d.ts +10 -0
  12. package/dist/api/core/index.d.ts.map +1 -0
  13. package/dist/api/core/math/index.d.ts +10 -0
  14. package/dist/api/core/math/index.d.ts.map +1 -0
  15. package/dist/api/core/math/quat.d.ts +46 -0
  16. package/dist/api/core/math/quat.d.ts.map +1 -0
  17. package/dist/api/core/math/vec3.d.ts +39 -0
  18. package/dist/api/core/math/vec3.d.ts.map +1 -0
  19. package/dist/api/entity/index.d.ts +3 -0
  20. package/dist/api/entity/index.d.ts.map +1 -1
  21. package/dist/api/entity/space.d.ts +137 -21
  22. package/dist/api/entity/space.d.ts.map +1 -1
  23. package/dist/api/entity/story.d.ts +73 -0
  24. package/dist/api/entity/story.d.ts.map +1 -0
  25. package/dist/api/index.d.ts +6 -0
  26. package/dist/api/index.d.ts.map +1 -1
  27. package/dist/api/tools/selection.d.ts +6 -4
  28. package/dist/api/tools/selection.d.ts.map +1 -1
  29. package/dist/api/tools/transform.d.ts +25 -10
  30. package/dist/api/tools/transform.d.ts.map +1 -1
  31. package/dist/api/units/index.d.ts +95 -0
  32. package/dist/api/units/index.d.ts.map +1 -0
  33. package/dist/index.cjs +547 -2
  34. package/dist/index.cjs.map +1 -1
  35. package/dist/index.js +493 -1
  36. package/dist/index.js.map +1 -1
  37. package/package.json +7 -1
  38. package/src/api/core/geom/arc.ts +21 -0
  39. package/src/api/core/geom/curve.ts +16 -0
  40. package/src/api/core/geom/index.ts +18 -0
  41. package/src/api/core/geom/line.ts +19 -0
  42. package/src/api/core/geom/profile.ts +30 -0
  43. package/src/api/core/index.ts +12 -0
  44. package/src/api/core/math/index.ts +12 -0
  45. package/src/api/core/math/quat.ts +154 -0
  46. package/src/api/core/math/vec3.ts +97 -0
  47. package/src/api/entity/index.ts +3 -0
  48. package/src/api/entity/space.ts +88 -26
  49. package/src/api/entity/story.ts +96 -0
  50. package/src/api/index.ts +6 -0
  51. package/src/api/tools/selection.ts +7 -4
  52. package/src/api/tools/transform.ts +16 -10
  53. package/src/api/units/index.ts +95 -0
@@ -1,17 +1,32 @@
1
+ import * as z from "zod";
1
2
  import { PluginApiReturn } from "../../types";
2
3
  export declare abstract class PluginTransformApi {
3
4
  constructor();
4
5
  abstract move({ componentIds, displacement, }: PluginMoveArgs): PluginApiReturn<void>;
5
6
  abstract rotate({ componentIds, angle, axis, pivot, }: PluginRotateArgs): PluginApiReturn<void>;
6
7
  }
7
- export type PluginMoveArgs = {
8
- componentIds: string[];
9
- displacement: [number, number, number];
10
- };
11
- export type PluginRotateArgs = {
12
- componentIds: string[];
13
- angle: number;
14
- axis: [number, number, number];
15
- pivot: [number, number, number];
16
- };
8
+ export declare const PluginMoveArgs: z.ZodObject<{
9
+ componentIds: z.ZodArray<z.ZodString>;
10
+ displacement: z.ZodObject<{
11
+ x: z.ZodNumber;
12
+ y: z.ZodNumber;
13
+ z: z.ZodNumber;
14
+ }, z.core.$strip>;
15
+ }, z.core.$strip>;
16
+ export type PluginMoveArgs = z.infer<typeof PluginMoveArgs>;
17
+ export declare const PluginRotateArgs: z.ZodObject<{
18
+ componentIds: z.ZodArray<z.ZodString>;
19
+ angle: z.ZodNumber;
20
+ axis: z.ZodObject<{
21
+ x: z.ZodNumber;
22
+ y: z.ZodNumber;
23
+ z: z.ZodNumber;
24
+ }, z.core.$strip>;
25
+ pivot: z.ZodObject<{
26
+ x: z.ZodNumber;
27
+ y: z.ZodNumber;
28
+ z: z.ZodNumber;
29
+ }, z.core.$strip>;
30
+ }, z.core.$strip>;
31
+ export type PluginRotateArgs = z.infer<typeof PluginRotateArgs>;
17
32
  //# sourceMappingURL=transform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/api/tools/transform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,8BAAsB,kBAAkB;;aAGtB,IAAI,CAAC,EACnB,YAAY,EACZ,YAAY,GACb,EAAE,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC;aAEzB,MAAM,CAAC,EACrB,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,KAAK,GACN,EAAE,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC;CAC5C;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAChC,CAAA"}
1
+ {"version":3,"file":"transform.d.ts","sourceRoot":"","sources":["../../../src/api/tools/transform.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAG7C,8BAAsB,kBAAkB;;aAGtB,IAAI,CAAC,EACnB,YAAY,EACZ,YAAY,GACb,EAAE,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC;aAEzB,MAAM,CAAC,EACrB,YAAY,EACZ,KAAK,EACL,IAAI,EACJ,KAAK,GACN,EAAE,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC;CAC5C;AAED,eAAO,MAAM,cAAc;;;;;;;iBAGzB,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAA;AAE3D,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;iBAK3B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
@@ -0,0 +1,95 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../types";
3
+ export declare abstract class PluginUnitsApi {
4
+ constructor();
5
+ /**
6
+ * Convert a value from the given unit to Snaptrude's internal (Babylon) units.
7
+ *
8
+ * Use this when you have a measurement in real-world units (e.g. meters, feet)
9
+ * and need to convert it to the coordinate system used by Snaptrude internally.
10
+ *
11
+ * @param args.unit - The source unit to convert from (e.g. `"meters"`, `"feet-inches"`)
12
+ * @param args.value - The numeric value in the source unit
13
+ * @returns An object containing the converted `value` in Snaptrude/Babylon units
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * const result = await snaptrude.units.convertFrom({ unit: "meters", value: 5 })
18
+ * // result.value is 5 meters expressed in Babylon units
19
+ * ```
20
+ */
21
+ abstract convertFrom(args: PluginUnitsConvertFromArgs): PluginApiReturn<PluginUnitsConvertFromResult>;
22
+ /**
23
+ * Convert a value from Snaptrude's internal (Babylon) units to the given unit.
24
+ *
25
+ * Use this when you have a value in Snaptrude's internal coordinate system
26
+ * and need to express it in real-world units (e.g. meters, feet).
27
+ *
28
+ * @param args.unit - The target unit to convert to (e.g. `"meters"`, `"feet-inches"`)
29
+ * @param args.value - The numeric value in Snaptrude/Babylon units
30
+ * @returns An object containing the converted `value` in the target unit
31
+ *
32
+ * @example
33
+ * ```ts
34
+ * const result = await snaptrude.units.convertTo({ unit: "feet-inches", value: 1.2 })
35
+ * // result.value is 1.2 Babylon units expressed in feet
36
+ * ```
37
+ */
38
+ abstract convertTo(args: PluginUnitsConvertToArgs): PluginApiReturn<PluginUnitsConvertToResult>;
39
+ }
40
+ /**
41
+ * Supported unit types for conversion.
42
+ *
43
+ * - `meters` — Metric meters
44
+ * - `feet-inches` — Imperial feet (1 foot = 12 inches)
45
+ * - `inches` — Imperial inches
46
+ * - `centimeters` — Metric centimeters
47
+ * - `millimeters` — Metric millimeters
48
+ * - `kilometers` — Metric kilometers
49
+ * - `miles` — Imperial miles
50
+ */
51
+ export declare const PUnitType: z.ZodEnum<{
52
+ meters: "meters";
53
+ "feet-inches": "feet-inches";
54
+ inches: "inches";
55
+ centimeters: "centimeters";
56
+ millimeters: "millimeters";
57
+ kilometers: "kilometers";
58
+ miles: "miles";
59
+ }>;
60
+ export type PUnitType = z.infer<typeof PUnitType>;
61
+ export declare const PluginUnitsConvertFromArgs: z.ZodObject<{
62
+ unit: z.ZodEnum<{
63
+ meters: "meters";
64
+ "feet-inches": "feet-inches";
65
+ inches: "inches";
66
+ centimeters: "centimeters";
67
+ millimeters: "millimeters";
68
+ kilometers: "kilometers";
69
+ miles: "miles";
70
+ }>;
71
+ value: z.ZodNumber;
72
+ }, z.core.$strip>;
73
+ export type PluginUnitsConvertFromArgs = z.infer<typeof PluginUnitsConvertFromArgs>;
74
+ export declare const PluginUnitsConvertFromResult: z.ZodObject<{
75
+ value: z.ZodNumber;
76
+ }, z.core.$strip>;
77
+ export type PluginUnitsConvertFromResult = z.infer<typeof PluginUnitsConvertFromResult>;
78
+ export declare const PluginUnitsConvertToArgs: z.ZodObject<{
79
+ unit: z.ZodEnum<{
80
+ meters: "meters";
81
+ "feet-inches": "feet-inches";
82
+ inches: "inches";
83
+ centimeters: "centimeters";
84
+ millimeters: "millimeters";
85
+ kilometers: "kilometers";
86
+ miles: "miles";
87
+ }>;
88
+ value: z.ZodNumber;
89
+ }, z.core.$strip>;
90
+ export type PluginUnitsConvertToArgs = z.infer<typeof PluginUnitsConvertToArgs>;
91
+ export declare const PluginUnitsConvertToResult: z.ZodObject<{
92
+ value: z.ZodNumber;
93
+ }, z.core.$strip>;
94
+ export type PluginUnitsConvertToResult = z.infer<typeof PluginUnitsConvertToResult>;
95
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/api/units/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAE7C,8BAAsB,cAAc;;IAGlC;;;;;;;;;;;;;;;OAeG;aACa,WAAW,CACzB,IAAI,EAAE,0BAA0B,GAC/B,eAAe,CAAC,4BAA4B,CAAC;IAEhD;;;;;;;;;;;;;;;OAeG;aACa,SAAS,CACvB,IAAI,EAAE,wBAAwB,GAC7B,eAAe,CAAC,0BAA0B,CAAC;CAC/C;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS;;;;;;;;EAQpB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AAEjD,eAAO,MAAM,0BAA0B;;;;;;;;;;;iBAGrC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF,eAAO,MAAM,4BAA4B;;iBAEvC,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAA;AAEvF,eAAO,MAAM,wBAAwB;;;;;;;;;;;iBAGnC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,0BAA0B;;iBAErC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA"}