@snaptrude/plugin-core 0.2.0 → 0.2.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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # @snaptrude/plugin-core
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - 62c32ee: exposed space geometry and get profile api
8
+
3
9
  ## 0.2.0
4
10
 
5
11
  ### Minor Changes
@@ -1,7 +1,7 @@
1
1
  import * as z from "zod";
2
2
  import { PluginApiReturn } from "../../types";
3
3
  /**
4
- * Space (room/mass) management — create, query, and delete spaces.
4
+ * Space (room/mass) management — create, query, update, and delete spaces.
5
5
  *
6
6
  * A **space** is a 3D volume representing a room or mass in the
7
7
  * Snaptrude scene. Spaces live on a particular story and carry
@@ -85,6 +85,56 @@ export declare abstract class PluginSpaceApi {
85
85
  * ```
86
86
  */
87
87
  abstract createFromProfile({ profile, extrudeHeight, position, }: PluginSpaceCreateFromProfileArgs): PluginApiReturn<PluginSpaceCreateFromProfileResult>;
88
+ /**
89
+ * Update a space's BRep and mesh geometry by extruding a 2D profile.
90
+ *
91
+ * The {@linkcode PluginSpaceUpdateGeometryFromProfileArgs.profile profile} is
92
+ * extruded upward (along the Y axis) by
93
+ * {@linkcode PluginSpaceUpdateGeometryFromProfileArgs.extrudeHeight extrudeHeight}
94
+ * and applied to the existing space. The space keeps the same `spaceId`,
95
+ * metadata, department, and transform; only its geometry is replaced.
96
+ *
97
+ * Profile points are interpreted in scene coordinates. Profiles returned by
98
+ * {@linkcode PluginSpaceApi.get} with `"profile"` can be passed back directly;
99
+ * `"planPoints"` can be used to construct line-only profiles in the same X/Z
100
+ * plan coordinate space.
101
+ *
102
+ * Use {@linkcode PluginProfileApi.fromLinePoints} to quickly build a profile
103
+ * from a list of points.
104
+ *
105
+ * @param args - An object containing:
106
+ * - {@linkcode PluginSpaceUpdateGeometryFromProfileArgs.spaceId args.spaceId} —
107
+ * The unique space ID to update
108
+ * - {@linkcode PluginSpaceUpdateGeometryFromProfileArgs.profile args.profile} —
109
+ * A closed {@linkcode PProfile} defining the new floor shape
110
+ * - {@linkcode PluginSpaceUpdateGeometryFromProfileArgs.extrudeHeight
111
+ * args.extrudeHeight} — New extrusion height in Babylon units
112
+ * @returns A {@linkcode PluginSpaceUpdateGeometryFromProfileResult} with the
113
+ * `spaceId` of the updated space
114
+ * @throws If the space does not exist, the component is not a space/mass, the
115
+ * height is not positive, or the profile cannot create valid geometry
116
+ *
117
+ * # Example
118
+ * ```ts
119
+ * const { vec3 } = snaptrude.core.math
120
+ *
121
+ * const profile = await snaptrude.core.geom.profile.fromLinePoints({
122
+ * points: [
123
+ * vec3.new(0, 0, 0),
124
+ * vec3.new(12, 0, 0),
125
+ * vec3.new(12, 0, 6),
126
+ * vec3.new(0, 0, 6),
127
+ * ],
128
+ * })
129
+ *
130
+ * const { spaceId } = await snaptrude.entity.space.updateGeometryFromProfile({
131
+ * spaceId: "some-space-id",
132
+ * profile,
133
+ * extrudeHeight: 4,
134
+ * })
135
+ * ```
136
+ */
137
+ abstract updateGeometryFromProfile({ spaceId, profile, extrudeHeight, }: PluginSpaceUpdateGeometryFromProfileArgs): PluginApiReturn<PluginSpaceUpdateGeometryFromProfileResult>;
88
138
  /**
89
139
  * Get the IDs of all spaces in the current project.
90
140
  *
@@ -272,6 +322,68 @@ export declare const PluginSpaceCreateFromProfileResult: z.ZodObject<{
272
322
  spaceId: z.ZodString;
273
323
  }, z.core.$strip>;
274
324
  export type PluginSpaceCreateFromProfileResult = z.infer<typeof PluginSpaceCreateFromProfileResult>;
325
+ /**
326
+ * Arguments for {@linkcode PluginSpaceApi.updateGeometryFromProfile}.
327
+ *
328
+ * | Property | Type | Description |
329
+ * |---|---|---|
330
+ * | `spaceId` | `string` | Space to update |
331
+ * | `profile` | {@linkcode PProfile} | Closed 2D profile defining the new floor shape |
332
+ * | `extrudeHeight` | `number` | New extrusion height in Babylon units |
333
+ */
334
+ export declare const PluginSpaceUpdateGeometryFromProfileArgs: z.ZodObject<{
335
+ spaceId: z.ZodString;
336
+ profile: z.ZodObject<{
337
+ curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
338
+ curveType: z.ZodLiteral<"Line">;
339
+ startPoint: z.ZodObject<{
340
+ x: z.ZodNumber;
341
+ y: z.ZodNumber;
342
+ z: z.ZodNumber;
343
+ }, z.core.$strip>;
344
+ endPoint: z.ZodObject<{
345
+ x: z.ZodNumber;
346
+ y: z.ZodNumber;
347
+ z: z.ZodNumber;
348
+ }, z.core.$strip>;
349
+ }, z.core.$strip>, z.ZodObject<{
350
+ curveType: z.ZodLiteral<"Arc">;
351
+ startPoint: z.ZodObject<{
352
+ x: z.ZodNumber;
353
+ y: z.ZodNumber;
354
+ z: z.ZodNumber;
355
+ }, z.core.$strip>;
356
+ endPoint: z.ZodObject<{
357
+ x: z.ZodNumber;
358
+ y: z.ZodNumber;
359
+ z: z.ZodNumber;
360
+ }, z.core.$strip>;
361
+ centrePoint: z.ZodObject<{
362
+ x: z.ZodNumber;
363
+ y: z.ZodNumber;
364
+ z: z.ZodNumber;
365
+ }, z.core.$strip>;
366
+ axis: z.ZodObject<{
367
+ x: z.ZodNumber;
368
+ y: z.ZodNumber;
369
+ z: z.ZodNumber;
370
+ }, z.core.$strip>;
371
+ }, z.core.$strip>], "curveType">>;
372
+ }, z.core.$strip>;
373
+ extrudeHeight: z.ZodNumber;
374
+ }, z.core.$strip>;
375
+ export type PluginSpaceUpdateGeometryFromProfileArgs = z.infer<typeof PluginSpaceUpdateGeometryFromProfileArgs>;
376
+ /**
377
+ * Result of {@linkcode PluginSpaceApi.updateGeometryFromProfile}.
378
+ *
379
+ * | Property | Type | Description |
380
+ * |---|---|---|
381
+ * | `spaceId` | `string` | Unique ID of the updated space |
382
+ */
383
+ export declare const PluginSpaceUpdateGeometryFromProfileResult: z.ZodObject<{
384
+ spaceId: z.ZodString;
385
+ }, z.core.$strip>;
386
+ export type PluginSpaceUpdateGeometryFromProfileResult = z.infer<typeof PluginSpaceUpdateGeometryFromProfileResult>;
275
387
  /**
276
388
  * Available properties that can be queried on a space.
277
389
  *
@@ -309,11 +421,13 @@ export type PluginSpaceCreateFromProfileResult = z.infer<typeof PluginSpaceCreat
309
421
  * | Value | Return Type | Description |
310
422
  * |---|---|---|
311
423
  * | `"planPoints"` | {@linkcode PVec3}`[]` | Bottom outer profile points in world space with `y = 0` (2D plan). No closing duplicate point. |
424
+ * | `"profile"` | {@linkcode PProfile} | Bottom outer profile in world space, preserving line/arc curve data. |
312
425
  */
313
426
  export declare const PluginSpaceGetProperty: z.ZodEnum<{
314
427
  name: "name";
315
428
  departmentId: "departmentId";
316
429
  id: "id";
430
+ profile: "profile";
317
431
  position: "position";
318
432
  height: "height";
319
433
  depth: "depth";
@@ -345,6 +459,7 @@ export declare const PluginSpaceGetArgs: z.ZodObject<{
345
459
  name: "name";
346
460
  departmentId: "departmentId";
347
461
  id: "id";
462
+ profile: "profile";
348
463
  position: "position";
349
464
  height: "height";
350
465
  depth: "depth";
@@ -452,6 +567,43 @@ export declare const PluginSpaceGetResult: z.ZodObject<{
452
567
  y: z.ZodNumber;
453
568
  z: z.ZodNumber;
454
569
  }, z.core.$strip>>>;
570
+ profile: z.ZodOptional<z.ZodObject<{
571
+ curves: z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
572
+ curveType: z.ZodLiteral<"Line">;
573
+ startPoint: z.ZodObject<{
574
+ x: z.ZodNumber;
575
+ y: z.ZodNumber;
576
+ z: z.ZodNumber;
577
+ }, z.core.$strip>;
578
+ endPoint: z.ZodObject<{
579
+ x: z.ZodNumber;
580
+ y: z.ZodNumber;
581
+ z: z.ZodNumber;
582
+ }, z.core.$strip>;
583
+ }, z.core.$strip>, z.ZodObject<{
584
+ curveType: z.ZodLiteral<"Arc">;
585
+ startPoint: z.ZodObject<{
586
+ x: z.ZodNumber;
587
+ y: z.ZodNumber;
588
+ z: z.ZodNumber;
589
+ }, z.core.$strip>;
590
+ endPoint: z.ZodObject<{
591
+ x: z.ZodNumber;
592
+ y: z.ZodNumber;
593
+ z: z.ZodNumber;
594
+ }, z.core.$strip>;
595
+ centrePoint: z.ZodObject<{
596
+ x: z.ZodNumber;
597
+ y: z.ZodNumber;
598
+ z: z.ZodNumber;
599
+ }, z.core.$strip>;
600
+ axis: z.ZodObject<{
601
+ x: z.ZodNumber;
602
+ y: z.ZodNumber;
603
+ z: z.ZodNumber;
604
+ }, z.core.$strip>;
605
+ }, z.core.$strip>], "curveType">>;
606
+ }, z.core.$strip>>;
455
607
  }, z.core.$strip>;
456
608
  export type PluginSpaceGetResult = z.infer<typeof PluginSpaceGetResult>;
457
609
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/api/entity/space.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/api/entity/space.ts"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -84,6 +84,8 @@ __export(index_exports, {
84
84
  PluginSpaceGetResult: () => PluginSpaceGetResult,
85
85
  PluginSpaceType: () => PluginSpaceType,
86
86
  PluginSpaceUpdateArgs: () => PluginSpaceUpdateArgs,
87
+ PluginSpaceUpdateGeometryFromProfileArgs: () => PluginSpaceUpdateGeometryFromProfileArgs,
88
+ PluginSpaceUpdateGeometryFromProfileResult: () => PluginSpaceUpdateGeometryFromProfileResult,
87
89
  PluginSpaceUpdateResult: () => PluginSpaceUpdateResult,
88
90
  PluginStoryApi: () => PluginStoryApi,
89
91
  PluginStoryCreateArgs: () => PluginStoryCreateArgs,
@@ -762,6 +764,14 @@ var PluginSpaceCreateFromProfileArgs = z9.object({
762
764
  var PluginSpaceCreateFromProfileResult = z9.object({
763
765
  spaceId: z9.string()
764
766
  });
767
+ var PluginSpaceUpdateGeometryFromProfileArgs = z9.object({
768
+ spaceId: z9.string(),
769
+ profile: PProfile,
770
+ extrudeHeight: z9.number()
771
+ });
772
+ var PluginSpaceUpdateGeometryFromProfileResult = z9.object({
773
+ spaceId: z9.string()
774
+ });
765
775
  var PluginSpaceGetProperty = z9.enum([
766
776
  // Basic
767
777
  "id",
@@ -785,7 +795,8 @@ var PluginSpaceGetProperty = z9.enum([
785
795
  "rotation",
786
796
  "rotationQuaternion",
787
797
  // Derived from brep
788
- "planPoints"
798
+ "planPoints",
799
+ "profile"
789
800
  ]);
790
801
  var PluginSpaceGetArgs = z9.object({
791
802
  spaceId: z9.string(),
@@ -826,7 +837,8 @@ var PluginSpaceGetResult = z9.object({
826
837
  rotation: PVec3,
827
838
  rotationQuaternion: PQuat.nullable(),
828
839
  // Derived from brep
829
- planPoints: z9.array(PVec3)
840
+ planPoints: z9.array(PVec3),
841
+ profile: PProfile
830
842
  }).partial();
831
843
  var PluginSpaceGetAllResult = z9.object({
832
844
  spacesIds: z9.array(z9.string())
@@ -1088,6 +1100,8 @@ var PluginApi = class {
1088
1100
  PluginSpaceGetResult,
1089
1101
  PluginSpaceType,
1090
1102
  PluginSpaceUpdateArgs,
1103
+ PluginSpaceUpdateGeometryFromProfileArgs,
1104
+ PluginSpaceUpdateGeometryFromProfileResult,
1091
1105
  PluginSpaceUpdateResult,
1092
1106
  PluginStoryApi,
1093
1107
  PluginStoryCreateArgs,