brepjs 9.6.4 → 10.0.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.
Files changed (133) hide show
  1. package/dist/2d/blueprints/Blueprint.d.ts +3 -3
  2. package/dist/2d/blueprints/Blueprint.d.ts.map +1 -1
  3. package/dist/2d/blueprints/Blueprints.d.ts +3 -3
  4. package/dist/2d/blueprints/Blueprints.d.ts.map +1 -1
  5. package/dist/2d/blueprints/CompoundBlueprint.d.ts +3 -3
  6. package/dist/2d/blueprints/CompoundBlueprint.d.ts.map +1 -1
  7. package/dist/2d.cjs +2 -2
  8. package/dist/2d.js +3 -3
  9. package/dist/{Blueprint-D73qryz7.cjs → Blueprint-B6UDSVJN.cjs} +5 -5
  10. package/dist/{Blueprint-DebTNazC.js → Blueprint-QlgNyzP7.js} +5 -5
  11. package/dist/{boolean2D-Die5sMjA.cjs → boolean2D-DZxTrl9x.cjs} +7 -7
  12. package/dist/{boolean2D-Dg9wSxP6.js → boolean2D-Gr-OYFsO.js} +7 -7
  13. package/dist/{booleanFns-D3QHXA3L.js → booleanFns-BEIrQNUH.js} +3 -3
  14. package/dist/{booleanFns-uwsn5G2P.cjs → booleanFns-CR6vk8qv.cjs} +3 -3
  15. package/dist/brepjs.cjs +22 -17
  16. package/dist/brepjs.js +47 -42
  17. package/dist/core/shapeTypes.d.ts +84 -33
  18. package/dist/core/shapeTypes.d.ts.map +1 -1
  19. package/dist/core/typeErrors.d.ts +17 -0
  20. package/dist/core/typeErrors.d.ts.map +1 -0
  21. package/dist/core.cjs +1 -1
  22. package/dist/core.js +1 -1
  23. package/dist/{cornerFinder-DvYYBvKj.js → cornerFinder-Bh_jsF_w.js} +1 -1
  24. package/dist/{cornerFinder-BcA7Chiv.cjs → cornerFinder-DlwI0iHu.cjs} +1 -1
  25. package/dist/{curveFns-DY55OAr3.js → curveFns-CNkC51il.js} +1 -1
  26. package/dist/{curveFns-BAXBhYiR.cjs → curveFns-jnEgxP5N.cjs} +1 -1
  27. package/dist/{drawFns-a74YTSws.cjs → drawFns-D0Wg1cy7.cjs} +10 -10
  28. package/dist/{drawFns-Diysw_m4.js → drawFns-Ex_DyuI1.js} +10 -10
  29. package/dist/{faceFns-CjRZGka6.cjs → faceFns-B10DQksf.cjs} +1 -1
  30. package/dist/{faceFns-BQ26A_zd.js → faceFns-DKkW12_x.js} +1 -1
  31. package/dist/{helpers-D2N1HNiK.cjs → helpers-4kc7odPn.cjs} +4 -4
  32. package/dist/{helpers-TF7WTmKB.js → helpers-BPzEhlP8.js} +4 -4
  33. package/dist/index.d.ts +3 -2
  34. package/dist/index.d.ts.map +1 -1
  35. package/dist/io/importFns.d.ts +4 -4
  36. package/dist/io/importFns.d.ts.map +1 -1
  37. package/dist/io/objImportFns.d.ts +2 -2
  38. package/dist/io/objImportFns.d.ts.map +1 -1
  39. package/dist/io/threemfImportFns.d.ts +2 -2
  40. package/dist/io/threemfImportFns.d.ts.map +1 -1
  41. package/dist/io.cjs +3 -3
  42. package/dist/io.js +3 -3
  43. package/dist/{loft-C55d1XrF.cjs → loft-ByirrIHz.cjs} +3 -3
  44. package/dist/{loft-DK0_xi5M.js → loft-CfNUe13X.js} +3 -3
  45. package/dist/measurement/interferenceFns.d.ts +3 -3
  46. package/dist/measurement/interferenceFns.d.ts.map +1 -1
  47. package/dist/measurement/measureFns.d.ts +10 -10
  48. package/dist/measurement/measureFns.d.ts.map +1 -1
  49. package/dist/{measurement-DQWf2-IP.js → measurement-BMfzcJ2H.js} +2 -2
  50. package/dist/{measurement-BF_JvjuA.cjs → measurement-CpWygrRd.cjs} +2 -2
  51. package/dist/measurement.cjs +1 -1
  52. package/dist/measurement.js +1 -1
  53. package/dist/{meshFns-CmZM1bAd.js → meshFns-CbuZpQmE.js} +2 -2
  54. package/dist/{meshFns-DYdC0ztK.cjs → meshFns-DRZcKqgZ.cjs} +2 -2
  55. package/dist/operations/api.d.ts +4 -4
  56. package/dist/operations/api.d.ts.map +1 -1
  57. package/dist/operations/exporterFns.d.ts +2 -2
  58. package/dist/operations/exporterFns.d.ts.map +1 -1
  59. package/dist/operations/exporters.d.ts +2 -2
  60. package/dist/operations/exporters.d.ts.map +1 -1
  61. package/dist/operations/extrudeFns.d.ts +7 -7
  62. package/dist/operations/extrudeFns.d.ts.map +1 -1
  63. package/dist/operations/guidedSweepFns.d.ts +2 -2
  64. package/dist/operations/guidedSweepFns.d.ts.map +1 -1
  65. package/dist/operations/historyFns.d.ts +6 -6
  66. package/dist/operations/historyFns.d.ts.map +1 -1
  67. package/dist/operations/loftFns.d.ts +2 -2
  68. package/dist/operations/loftFns.d.ts.map +1 -1
  69. package/dist/operations/multiSweepFns.d.ts +3 -3
  70. package/dist/operations/multiSweepFns.d.ts.map +1 -1
  71. package/dist/operations/roofFns.d.ts +2 -2
  72. package/dist/operations/roofFns.d.ts.map +1 -1
  73. package/dist/{operations-CMcb2KJ3.cjs → operations-DAt3B8iS.cjs} +5 -5
  74. package/dist/{operations-DhgY338f.js → operations-DBJ9dkjD.js} +5 -5
  75. package/dist/operations.cjs +2 -2
  76. package/dist/operations.js +2 -2
  77. package/dist/query/finderCore.d.ts +5 -5
  78. package/dist/query/finderCore.d.ts.map +1 -1
  79. package/dist/query/helpers.d.ts +2 -2
  80. package/dist/query/helpers.d.ts.map +1 -1
  81. package/dist/query/shapeDistanceFilter.d.ts +2 -2
  82. package/dist/query/shapeDistanceFilter.d.ts.map +1 -1
  83. package/dist/query/vertexFinder.d.ts.map +1 -1
  84. package/dist/query.cjs +4 -4
  85. package/dist/query.js +5 -5
  86. package/dist/{shapeFns-DBSqO7QJ.js → shapeFns-BrfVnd9Q.js} +2 -2
  87. package/dist/{shapeFns-D6qzq_Cu.cjs → shapeFns-vPR93KGT.cjs} +2 -2
  88. package/dist/{shapeTypes-BHy5rqqk.cjs → shapeTypes-BxAzFSfl.cjs} +25 -1
  89. package/dist/{shapeTypes-1WVcBBn_.js → shapeTypes-C1z8HWJf.js} +29 -5
  90. package/dist/sketching/CompoundSketch.d.ts +1 -1
  91. package/dist/sketching/draw.d.ts +3 -3
  92. package/dist/sketching/draw.d.ts.map +1 -1
  93. package/dist/sketching.cjs +2 -2
  94. package/dist/sketching.js +2 -2
  95. package/dist/{surfaceBuilders-C_UpU97c.js → surfaceBuilders-B-yoDL2e.js} +2 -2
  96. package/dist/{surfaceBuilders-DU6Pq2ju.cjs → surfaceBuilders-BkTPbZFl.cjs} +2 -2
  97. package/dist/topology/adjacencyFns.d.ts +7 -7
  98. package/dist/topology/adjacencyFns.d.ts.map +1 -1
  99. package/dist/topology/api.d.ts +24 -24
  100. package/dist/topology/api.d.ts.map +1 -1
  101. package/dist/topology/apiTypes.d.ts +7 -7
  102. package/dist/topology/apiTypes.d.ts.map +1 -1
  103. package/dist/topology/booleanFns.d.ts +7 -7
  104. package/dist/topology/booleanFns.d.ts.map +1 -1
  105. package/dist/topology/cast.d.ts +6 -6
  106. package/dist/topology/cast.d.ts.map +1 -1
  107. package/dist/topology/colorFns.d.ts +7 -7
  108. package/dist/topology/colorFns.d.ts.map +1 -1
  109. package/dist/topology/curveFns.d.ts +14 -14
  110. package/dist/topology/curveFns.d.ts.map +1 -1
  111. package/dist/topology/faceTagFns.d.ts +8 -8
  112. package/dist/topology/faceTagFns.d.ts.map +1 -1
  113. package/dist/topology/healingFns.d.ts +7 -7
  114. package/dist/topology/healingFns.d.ts.map +1 -1
  115. package/dist/topology/hullFns.d.ts +2 -2
  116. package/dist/topology/hullFns.d.ts.map +1 -1
  117. package/dist/topology/meshFns.d.ts +6 -6
  118. package/dist/topology/meshFns.d.ts.map +1 -1
  119. package/dist/topology/primitiveFns.d.ts +2 -2
  120. package/dist/topology/primitiveFns.d.ts.map +1 -1
  121. package/dist/topology/shapeFns.d.ts +29 -29
  122. package/dist/topology/shapeFns.d.ts.map +1 -1
  123. package/dist/topology/shapeUtils.d.ts +2 -2
  124. package/dist/topology/shapeUtils.d.ts.map +1 -1
  125. package/dist/topology/solidBuilders.d.ts +2 -2
  126. package/dist/topology/solidBuilders.d.ts.map +1 -1
  127. package/dist/topology/surfaceBuilders.d.ts +5 -5
  128. package/dist/topology/surfaceBuilders.d.ts.map +1 -1
  129. package/dist/{topology-B-UCQkll.js → topology-Bt4qS8pS.js} +6 -6
  130. package/dist/{topology-BrCU7nI6.cjs → topology-CBZcJ5pS.cjs} +6 -6
  131. package/dist/topology.cjs +6 -6
  132. package/dist/topology.js +6 -6
  133. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import { Vec3 } from '../core/types.js';
2
- import { AnyShape } from '../core/shapeTypes.js';
2
+ import { AnyShape, Dimension } from '../core/shapeTypes.js';
3
3
  import { Result } from '../core/result.js';
4
4
  /** Result of a pairwise interference check between two shapes. */
5
5
  export interface InterferenceResult {
@@ -41,7 +41,7 @@ export interface InterferencePair {
41
41
  * }
42
42
  * ```
43
43
  */
44
- export declare function checkInterference(shape1: AnyShape, shape2: AnyShape, tolerance?: number): Result<InterferenceResult>;
44
+ export declare function checkInterference(shape1: AnyShape<Dimension>, shape2: AnyShape<Dimension>, tolerance?: number): Result<InterferenceResult>;
45
45
  /**
46
46
  * Check all pairs in an array of shapes for interference.
47
47
  *
@@ -58,5 +58,5 @@ export declare function checkInterference(shape1: AnyShape, shape2: AnyShape, to
58
58
  * collisions.forEach(({ i, j }) => console.log(`Shape ${i} hits shape ${j}`));
59
59
  * ```
60
60
  */
61
- export declare function checkAllInterferences(shapes: ReadonlyArray<AnyShape>, tolerance?: number): InterferencePair[];
61
+ export declare function checkAllInterferences(shapes: ReadonlyArray<AnyShape<Dimension>>, tolerance?: number): InterferencePair[];
62
62
  //# sourceMappingURL=interferenceFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interferenceFns.d.ts","sourceRoot":"","sources":["../../src/measurement/interferenceFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAQjE,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;CAC9B;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,EAChB,MAAM,EAAE,QAAQ,EAChB,SAAS,SAAO,GACf,MAAM,CAAC,kBAAkB,CAAC,CAyB5B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,SAAS,SAAO,GACf,gBAAgB,EAAE,CAmBpB"}
1
+ {"version":3,"file":"interferenceFns.d.ts","sourceRoot":"","sources":["../../src/measurement/interferenceFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAQjE,kEAAkE;AAClE,MAAM,WAAW,kBAAkB;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,eAAe,EAAE,OAAO,CAAC;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,qDAAqD;IACrD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;IAC7B,sDAAsD;IACtD,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC;CAC9B;AAED,2EAA2E;AAC3E,MAAM,WAAW,gBAAgB;IAC/B,mDAAmD;IACnD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,oDAAoD;IACpD,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,EAAE,kBAAkB,CAAC;CACrC;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC3B,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAC3B,SAAS,SAAO,GACf,MAAM,CAAC,kBAAkB,CAAC,CAyB5B;AAMD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAC1C,SAAS,SAAO,GACf,gBAAgB,EAAE,CAmBpB"}
@@ -1,5 +1,5 @@
1
1
  import { Vec3 } from '../core/types.js';
2
- import { AnyShape, Face, Shape3D } from '../core/shapeTypes.js';
2
+ import { AnyShape, Dimension, Face, Shape3D } from '../core/shapeTypes.js';
3
3
  import { CurvatureResult } from '../kernel/measureOps.js';
4
4
  /** Base physical properties returned by BRepGProp measurements. */
5
5
  export interface PhysicalProps {
@@ -41,7 +41,7 @@ export declare function measureVolumeProps(shape: Shape3D): VolumeProps;
41
41
  * @returns Surface area, center of mass, and raw mass property.
42
42
  * @see {@link measureArea} for a shorthand that returns only the area number.
43
43
  */
44
- export declare function measureSurfaceProps(shape: Face | Shape3D): SurfaceProps;
44
+ export declare function measureSurfaceProps(shape: Face<Dimension> | Shape3D): SurfaceProps;
45
45
  /**
46
46
  * Measure linear properties of any shape.
47
47
  *
@@ -52,7 +52,7 @@ export declare function measureSurfaceProps(shape: Face | Shape3D): SurfaceProps
52
52
  * @returns Length, center of mass, and raw mass property.
53
53
  * @see {@link measureLength} for a shorthand that returns only the length number.
54
54
  */
55
- export declare function measureLinearProps(shape: AnyShape): LinearProps;
55
+ export declare function measureLinearProps(shape: AnyShape<Dimension>): LinearProps;
56
56
  /**
57
57
  * Get the volume of a 3D shape.
58
58
  *
@@ -64,13 +64,13 @@ export declare function measureVolume(shape: Shape3D): number;
64
64
  *
65
65
  * @see {@link measureSurfaceProps} for the full property set including center of mass.
66
66
  */
67
- export declare function measureArea(shape: Face | Shape3D): number;
67
+ export declare function measureArea(shape: Face<Dimension> | Shape3D): number;
68
68
  /**
69
69
  * Get the arc length of a shape.
70
70
  *
71
71
  * @see {@link measureLinearProps} for the full property set including center of mass.
72
72
  */
73
- export declare function measureLength(shape: AnyShape): number;
73
+ export declare function measureLength(shape: AnyShape<Dimension>): number;
74
74
  /**
75
75
  * Measure the minimum distance between two shapes.
76
76
  *
@@ -79,7 +79,7 @@ export declare function measureLength(shape: AnyShape): number;
79
79
  * const gap = measureDistance(boxA, boxB);
80
80
  * ```
81
81
  */
82
- export declare function measureDistance(shape1: AnyShape, shape2: AnyShape): number;
82
+ export declare function measureDistance(shape1: AnyShape<Dimension>, shape2: AnyShape<Dimension>): number;
83
83
  /**
84
84
  * Create a reusable distance query from a reference shape.
85
85
  *
@@ -99,8 +99,8 @@ export declare function measureDistance(shape1: AnyShape, shape2: AnyShape): num
99
99
  * query.dispose();
100
100
  * ```
101
101
  */
102
- export declare function createDistanceQuery(referenceShape: AnyShape): {
103
- distanceTo: (other: AnyShape) => number;
102
+ export declare function createDistanceQuery(referenceShape: AnyShape<Dimension>): {
103
+ distanceTo: (other: AnyShape<Dimension>) => number;
104
104
  dispose: () => void;
105
105
  };
106
106
  /** Re-export of the kernel curvature result type. */
@@ -121,7 +121,7 @@ export type { CurvatureResult } from '../kernel/measureOps.js';
121
121
  * console.log(curv.meanCurvature, curv.gaussianCurvature);
122
122
  * ```
123
123
  */
124
- export declare function measureCurvatureAt(face: Face, u: number, v: number): CurvatureResult;
124
+ export declare function measureCurvatureAt(face: Face<Dimension>, u: number, v: number): CurvatureResult;
125
125
  /**
126
126
  * Measure surface curvature at the mid-point of a face's UV bounds.
127
127
  *
@@ -131,5 +131,5 @@ export declare function measureCurvatureAt(face: Face, u: number, v: number): Cu
131
131
  * @param face - The face to evaluate at its parametric center.
132
132
  * @see {@link measureCurvatureAt} to evaluate at an arbitrary (u, v) point.
133
133
  */
134
- export declare function measureCurvatureAtMid(face: Face): CurvatureResult;
134
+ export declare function measureCurvatureAtMid(face: Face<Dimension>): CurvatureResult;
135
135
  //# sourceMappingURL=measureFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"measureFns.d.ts","sourceRoot":"","sources":["../../src/measurement/measureFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAiB/D,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAsB9D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,YAAY,CAevE;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAe/D;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,GAAG,OAAO,GAAG,MAAM,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAErD;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM,CAI1E;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,QAAQ,GAAG;IAC7D,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAaA;AAMD,qDAAqD;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAWpF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,eAAe,CAcjE"}
1
+ {"version":3,"file":"measureFns.d.ts","sourceRoot":"","sources":["../../src/measurement/measureFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAiB/D,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,gGAAgG;IAChG,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4CAA4C;IAC5C,QAAQ,CAAC,YAAY,EAAE,IAAI,CAAC;CAC7B;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,8DAA8D;AAC9D,MAAM,WAAW,YAAa,SAAQ,aAAa;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,+DAA+D;AAC/D,MAAM,WAAW,WAAY,SAAQ,aAAa;IAChD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,WAAW,CAsB9D;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,YAAY,CAelF;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,WAAW,CAe1E;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEpD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,GAAG,MAAM,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAEhE;AAMD;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAIhG;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG;IACxE,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC;IACnD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAaA;AAMD,qDAAqD;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,eAAe,CAW/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,eAAe,CAc5E"}
@@ -1,5 +1,5 @@
1
- import { q as getKernel } from "./shapeTypes-1WVcBBn_.js";
2
- import { u as uvBounds } from "./faceFns-BQ26A_zd.js";
1
+ import { q as getKernel } from "./shapeTypes-C1z8HWJf.js";
2
+ import { u as uvBounds } from "./faceFns-DKkW12_x.js";
3
3
  let cache = /* @__PURE__ */ new WeakMap();
4
4
  function getCachedMeasurement(shape, key) {
5
5
  return cache.get(shape)?.get(key);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-BHy5rqqk.cjs");
3
- const faceFns = require("./faceFns-CjRZGka6.cjs");
2
+ const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
3
+ const faceFns = require("./faceFns-B10DQksf.cjs");
4
4
  let cache = /* @__PURE__ */ new WeakMap();
5
5
  function getCachedMeasurement(shape, key) {
6
6
  return cache.get(shape)?.get(key);
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const measurement = require("./measurement-BF_JvjuA.cjs");
3
+ const measurement = require("./measurement-CpWygrRd.cjs");
4
4
  exports.createDistanceQuery = measurement.createDistanceQuery;
5
5
  exports.measureArea = measurement.measureArea;
6
6
  exports.measureDistance = measurement.measureDistance;
@@ -1,4 +1,4 @@
1
- import { d, m, g, h, i, a, c, b } from "./measurement-DQWf2-IP.js";
1
+ import { d, m, g, h, i, a, c, b } from "./measurement-BMfzcJ2H.js";
2
2
  export {
3
3
  d as createDistanceQuery,
4
4
  m as measureArea,
@@ -1,6 +1,6 @@
1
- import { q as getKernel } from "./shapeTypes-1WVcBBn_.js";
1
+ import { q as getKernel } from "./shapeTypes-C1z8HWJf.js";
2
2
  import { o as ok, e as err, i as ioError } from "./errors-lBwyc8YG.js";
3
- import { g as getFaceOrigins } from "./shapeFns-DBSqO7QJ.js";
3
+ import { g as getFaceOrigins } from "./shapeFns-BrfVnd9Q.js";
4
4
  function buildMeshCacheKey(tolerance, angularTolerance, skipNormals, includeUVs = false) {
5
5
  return `${tolerance}:${angularTolerance}:${skipNormals}:${includeUVs}`;
6
6
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-BHy5rqqk.cjs");
2
+ const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
3
3
  const errors = require("./errors-DiTn5EoC.cjs");
4
- const shapeFns = require("./shapeFns-D6qzq_Cu.cjs");
4
+ const shapeFns = require("./shapeFns-vPR93KGT.cjs");
5
5
  function buildMeshCacheKey(tolerance, angularTolerance, skipNormals, includeUVs = false) {
6
6
  return `${tolerance}:${angularTolerance}:${skipNormals}:${includeUVs}`;
7
7
  }
@@ -1,5 +1,5 @@
1
1
  import { Vec3 } from '../core/types.js';
2
- import { Face, Wire, Shape3D, Solid } from '../core/shapeTypes.js';
2
+ import { Dimension, Face, Wire, Shape3D, Solid } from '../core/shapeTypes.js';
3
3
  import { Result } from '../core/result.js';
4
4
  import { Shapeable } from '../topology/apiTypes.js';
5
5
  import * as lofting from './loftFns.js';
@@ -12,7 +12,7 @@ export type { SweepOptions } from './extrudeFns.js';
12
12
  * @param height - A number for Z-direction extrusion, or a Vec3 direction vector.
13
13
  * @returns `Result` containing the extruded solid, or an error if validation or operation fails.
14
14
  */
15
- export declare function extrude(face: Shapeable<Face>, height: number | Vec3): Result<Solid>;
15
+ export declare function extrude(face: Shapeable<Face<Dimension>>, height: number | Vec3): Result<Solid>;
16
16
  /** Options for {@link revolve}. */
17
17
  export interface RevolveOptions {
18
18
  /** Rotation axis. Default: [0, 0, 1] (Z). */
@@ -25,9 +25,9 @@ export interface RevolveOptions {
25
25
  /**
26
26
  * Revolve a face around an axis to create a solid of revolution.
27
27
  */
28
- export declare function revolve(face: Shapeable<Face>, options?: RevolveOptions): Result<Shape3D>;
28
+ export declare function revolve(face: Shapeable<Face<Dimension>>, options?: RevolveOptions): Result<Shape3D>;
29
29
  /**
30
30
  * Loft through a set of wire profiles to create a 3D shape.
31
31
  */
32
- export declare function loft(wires: Shapeable<Wire>[], options?: lofting.LoftOptions): Result<Shape3D>;
32
+ export declare function loft(wires: Shapeable<Wire<Dimension>>[], options?: lofting.LoftOptions): Result<Shape3D>;
33
33
  //# sourceMappingURL=api.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/operations/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAInF;AAMD,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,uCAAuC;IACvC,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC,CAQxF;AAMD;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAG7F"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/operations/api.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACnF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAMpD;;;;;;GAMG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAI9F;AAMD,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,6CAA6C;IAC7C,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,uCAAuC;IACvC,EAAE,CAAC,EAAE,IAAI,CAAC;IACV,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,MAAM,CAAC,OAAO,CAAC,CAQjB;AAMD;;GAEG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EACnC,OAAO,CAAC,EAAE,OAAO,CAAC,WAAW,GAC5B,MAAM,CAAC,OAAO,CAAC,CAGjB"}
@@ -1,11 +1,11 @@
1
- import { AnyShape } from '../core/shapeTypes.js';
1
+ import { AnyShape, Dimension } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  import { SupportedUnit } from './exporterUtils.js';
4
4
  export type { SupportedUnit } from './exporterUtils.js';
5
5
  /** Configuration for a single shape within a functional assembly export. */
6
6
  export interface ShapeOptions {
7
7
  /** The branded shape to include in the assembly. */
8
- shape: AnyShape;
8
+ shape: AnyShape<Dimension>;
9
9
  /** Hex color string (e.g. `'#ff0000'`). Defaults to red. */
10
10
  color?: string;
11
11
  /** Opacity from 0 (transparent) to 1 (opaque). Defaults to 1. */
@@ -1 +1 @@
1
- {"version":3,"file":"exporterFns.d.ts","sourceRoot":"","sources":["../../src/operations/exporterFns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,KAAK,EAAE,QAAQ,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,YAAY,EAAO,EAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CAAO,GAC5E,MAAM,CAAC,IAAI,CAAC,CAgCd"}
1
+ {"version":3,"file":"exporterFns.d.ts","sourceRoot":"","sources":["../../src/operations/exporterFns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMxD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,GAAE,YAAY,EAAO,EAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CAAO,GAC5E,MAAM,CAAC,IAAI,CAAC,CAgCd"}
@@ -1,6 +1,6 @@
1
1
  import { KernelType } from '../kernel/types.js';
2
2
  import { KernelHandle } from '../core/disposal.js';
3
- import { AnyShape } from '../core/shapeTypes.js';
3
+ import { AnyShape, Dimension } from '../core/shapeTypes.js';
4
4
  import { Result } from '../core/result.js';
5
5
  import { SupportedUnit } from './exporterUtils.js';
6
6
  export type { SupportedUnit } from './exporterUtils.js';
@@ -9,7 +9,7 @@ export type AssemblyExporter = KernelHandle<KernelType>;
9
9
  /** Configuration for a single shape within an assembly export. */
10
10
  export type ShapeOptions = {
11
11
  /** The shape to include in the assembly. */
12
- shape: AnyShape;
12
+ shape: AnyShape<Dimension>;
13
13
  /** Hex color string (e.g. `'#ff0000'`). Defaults to red. */
14
14
  color?: string;
15
15
  /** Opacity from 0 (transparent) to 1 (opaque). Defaults to 1. */
@@ -1 +1 @@
1
- {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../src/operations/exporters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAExD,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IACzB,4CAA4C;IAC5C,KAAK,EAAE,QAAQ,CAAC;IAChB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,GAAE,YAAY,EAAO,GAAG,gBAAgB,CAkB5E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CACxB,MAAM,GAAE,YAAY,EAAO,EAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CAAO,GAC5E,MAAM,CAAC,IAAI,CAAC,CAYd"}
1
+ {"version":3,"file":"exporters.d.ts","sourceRoot":"","sources":["../../src/operations/exporters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,KAAK,YAAY,EAAsB,MAAM,qBAAqB,CAAC;AAE5E,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,YAAY,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAExD,kEAAkE;AAClE,MAAM,MAAM,YAAY,GAAG;IACzB,4CAA4C;IAC5C,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC3B,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uEAAuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,MAAM,GAAE,YAAY,EAAO,GAAG,gBAAgB,CAkB5E;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,UAAU,CACxB,MAAM,GAAE,YAAY,EAAO,EAC3B,EAAE,IAAI,EAAE,SAAS,EAAE,GAAE;IAAE,IAAI,CAAC,EAAE,aAAa,CAAC;IAAC,SAAS,CAAC,EAAE,aAAa,CAAA;CAAO,GAC5E,MAAM,CAAC,IAAI,CAAC,CAYd"}
@@ -1,5 +1,5 @@
1
1
  import { Vec3 } from '../core/types.js';
2
- import { Face, Wire, Shape3D, Solid } from '../core/shapeTypes.js';
2
+ import { Dimension, Face, Wire, Shape3D, Solid } from '../core/shapeTypes.js';
3
3
  import { Result } from '../core/result.js';
4
4
  import { ExtrusionProfile, SweepOptions } from './extrudeUtils.js';
5
5
  /**
@@ -23,7 +23,7 @@ export type { ExtrusionProfile, SweepOptions } from './extrudeUtils.js';
23
23
  *
24
24
  * @see {@link extrude!basicFaceExtrusion | basicFaceExtrusion} for the OOP API equivalent.
25
25
  */
26
- export declare function extrude(face: Face, extrusionVec: Vec3): Result<Solid>;
26
+ export declare function extrude(face: Face<Dimension>, extrusionVec: Vec3): Result<Solid>;
27
27
  /**
28
28
  * Revolve a face around an axis to create a solid of revolution.
29
29
  *
@@ -35,7 +35,7 @@ export declare function extrude(face: Face, extrusionVec: Vec3): Result<Solid>;
35
35
  *
36
36
  * @see {@link extrude!revolution | revolution} for the OOP API equivalent.
37
37
  */
38
- export declare function revolve(face: Face, center?: Vec3, direction?: Vec3, angle?: number): Result<Shape3D>;
38
+ export declare function revolve(face: Face<Dimension>, center?: Vec3, direction?: Vec3, angle?: number): Result<Shape3D>;
39
39
  /**
40
40
  * Sweep a wire profile along a spine wire to create a 3D shape.
41
41
  *
@@ -54,7 +54,7 @@ export declare function revolve(face: Face, center?: Vec3, direction?: Vec3, ang
54
54
  *
55
55
  * @see {@link extrude!genericSweep | genericSweep} for the OOP API equivalent.
56
56
  */
57
- export declare function sweep(wire: Wire, spine: Wire, config?: SweepOptions, shellMode?: boolean): Result<Shape3D | [Shape3D, Wire, Wire]>;
57
+ export declare function sweep(wire: Wire<Dimension>, spine: Wire<Dimension>, config?: SweepOptions, shellMode?: boolean): Result<Shape3D | [Shape3D, Wire, Wire]>;
58
58
  /**
59
59
  * Extrude a wire along a normal constrained to a support surface.
60
60
  *
@@ -69,7 +69,7 @@ export declare function sweep(wire: Wire, spine: Wire, config?: SweepOptions, sh
69
69
  *
70
70
  * @see {@link extrude!supportExtrude | supportExtrude (OOP)} for the class-based equivalent.
71
71
  */
72
- export declare function supportExtrude(wire: Wire, center: Vec3, normal: Vec3, support: KernelType): Result<Shape3D>;
72
+ export declare function supportExtrude(wire: Wire<Dimension>, center: Vec3, normal: Vec3, support: KernelType): Result<Shape3D>;
73
73
  /**
74
74
  * Extrude a wire along a normal with optional profile scaling.
75
75
  *
@@ -93,7 +93,7 @@ export declare function supportExtrude(wire: Wire, center: Vec3, normal: Vec3, s
93
93
  *
94
94
  * @see {@link extrude!complexExtrude | complexExtrude (OOP)} for the class-based equivalent.
95
95
  */
96
- export declare function complexExtrude(wire: Wire, center: Vec3, normal: Vec3, profileShape?: ExtrusionProfile, shellMode?: boolean): Result<Shape3D | [Shape3D, Wire, Wire]>;
96
+ export declare function complexExtrude(wire: Wire<Dimension>, center: Vec3, normal: Vec3, profileShape?: ExtrusionProfile, shellMode?: boolean): Result<Shape3D | [Shape3D, Wire, Wire]>;
97
97
  /**
98
98
  * Extrude a wire along a normal with helical twist and optional profile scaling.
99
99
  *
@@ -111,5 +111,5 @@ export declare function complexExtrude(wire: Wire, center: Vec3, normal: Vec3, p
111
111
  *
112
112
  * @see {@link extrude!twistExtrude | twistExtrude (OOP)} for the class-based equivalent.
113
113
  */
114
- export declare function twistExtrude(wire: Wire, angleDegrees: number, center: Vec3, normal: Vec3, profileShape?: ExtrusionProfile, shellMode?: boolean): Result<Shape3D | [Shape3D, Wire, Wire]>;
114
+ export declare function twistExtrude(wire: Wire<Dimension>, angleDegrees: number, center: Vec3, normal: Vec3, profileShape?: ExtrusionProfile, shellMode?: boolean): Result<Shape3D | [Shape3D, Wire, Wire]>;
115
115
  //# sourceMappingURL=extrudeFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"extrudeFns.d.ts","sourceRoot":"","sources":["../../src/operations/extrudeFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,KAAK,UAAU,GAAG,GAAG,CAAC;AAGtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElG,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+BxE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAwBrE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,IAAI,EACV,MAAM,GAAE,IAAgB,EACxB,SAAS,GAAE,IAAgB,EAC3B,KAAK,SAAM,GACV,MAAM,CAAC,OAAO,CAAC,CAajB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,IAAI,EACV,KAAK,EAAE,IAAI,EACX,MAAM,GAAE,YAAiB,EACzB,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmEzC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,OAAO,CAAC,CAIjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAWzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmBzC"}
1
+ {"version":3,"file":"extrudeFns.d.ts","sourceRoot":"","sources":["../../src/operations/extrudeFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,KAAK,UAAU,GAAG,GAAG,CAAC;AAGtB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE7C,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEnF,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAuB,KAAK,gBAAgB,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElG,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AA+BxE;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,CAwBhF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,GAAE,IAAgB,EACxB,SAAS,GAAE,IAAgB,EAC3B,KAAK,SAAM,GACV,MAAM,CAAC,OAAO,CAAC,CAajB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EACtB,MAAM,GAAE,YAAiB,EACzB,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmEzC;AAMD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,UAAU,GAClB,MAAM,CAAC,OAAO,CAAC,CAIjB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAWzC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,IAAI,EACZ,MAAM,EAAE,IAAI,EACZ,YAAY,CAAC,EAAE,gBAAgB,EAC/B,SAAS,UAAQ,GAChB,MAAM,CAAC,OAAO,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAmBzC"}
@@ -1,4 +1,4 @@
1
- import { Wire, Solid, Shell } from '../core/shapeTypes.js';
1
+ import { Dimension, Wire, Solid, Shell } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  /** Options for guide curve sweep. */
4
4
  export interface GuidedSweepOptions {
@@ -21,5 +21,5 @@ export interface GuidedSweepOptions {
21
21
  * @param options - Sweep configuration.
22
22
  * @returns Result containing the swept Solid or Shell.
23
23
  */
24
- export declare function guidedSweep(profile: Wire, spine: Wire, guides: ReadonlyArray<Wire>, options?: GuidedSweepOptions): Result<Solid | Shell>;
24
+ export declare function guidedSweep(profile: Wire<Dimension>, spine: Wire<Dimension>, guides: ReadonlyArray<Wire<Dimension>>, options?: GuidedSweepOptions): Result<Solid | Shell>;
25
25
  //# sourceMappingURL=guidedSweepFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"guidedSweepFns.d.ts","sourceRoot":"","sources":["../../src/operations/guidedSweepFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAGzD,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;IAC/C,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,IAAI,EACb,KAAK,EAAE,IAAI,EACX,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,EAC3B,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CA2BvB"}
1
+ {"version":3,"file":"guidedSweepFns.d.ts","sourceRoot":"","sources":["../../src/operations/guidedSweepFns.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAGzD,qCAAqC;AACrC,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,UAAU,CAAC,EAAE,aAAa,GAAG,OAAO,GAAG,OAAO,CAAC;IAC/C,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,EACxB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EACtB,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EACtC,OAAO,GAAE,kBAAuB,GAC/B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CA2BvB"}
@@ -1,4 +1,4 @@
1
- import { AnyShape } from '../core/shapeTypes.js';
1
+ import { AnyShape, Dimension } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  export interface OperationStep {
4
4
  readonly id: string;
@@ -11,26 +11,26 @@ export interface OperationStep {
11
11
  }
12
12
  export interface ModelHistory {
13
13
  readonly steps: ReadonlyArray<OperationStep>;
14
- readonly shapes: ReadonlyMap<string, AnyShape>;
14
+ readonly shapes: ReadonlyMap<string, AnyShape<Dimension>>;
15
15
  }
16
16
  /** Create a new empty history. */
17
17
  export declare function createHistory(): ModelHistory;
18
18
  /** Add a step and its output shape. Returns a new history. */
19
- export declare function addStep(history: ModelHistory, step: Omit<OperationStep, 'timestamp'>, outputShape: AnyShape): ModelHistory;
19
+ export declare function addStep(history: ModelHistory, step: Omit<OperationStep, 'timestamp'>, outputShape: AnyShape<Dimension>): ModelHistory;
20
20
  /** Remove the last step and clean up orphaned shapes. Returns a new history. */
21
21
  export declare function undoLast(history: ModelHistory): ModelHistory;
22
22
  /** Find a step by its ID. */
23
23
  export declare function findStep(history: ModelHistory, stepId: string): OperationStep | undefined;
24
24
  /** Retrieve a shape by its ID. */
25
- export declare function getShape(history: ModelHistory, shapeId: string): AnyShape | undefined;
25
+ export declare function getShape(history: ModelHistory, shapeId: string): AnyShape<Dimension> | undefined;
26
26
  /** Return the number of steps in the history. */
27
27
  export declare function stepCount(history: ModelHistory): number;
28
28
  /** Return all steps from a given step ID onwards (inclusive). */
29
29
  export declare function stepsFrom(history: ModelHistory, stepId: string): ReadonlyArray<OperationStep>;
30
30
  /** Register an initial shape without an operation step. Returns a new history. */
31
- export declare function registerShape(history: ModelHistory, id: string, shape: AnyShape): ModelHistory;
31
+ export declare function registerShape(history: ModelHistory, id: string, shape: AnyShape<Dimension>): ModelHistory;
32
32
  /** A function that executes a modelling operation. */
33
- export type OperationFn = (inputs: AnyShape[], params: Record<string, unknown>) => AnyShape;
33
+ export type OperationFn = (inputs: AnyShape<Dimension>[], params: Record<string, unknown>) => AnyShape<Dimension>;
34
34
  /** An immutable registry of named operations. */
35
35
  export interface OperationRegistry {
36
36
  readonly operations: ReadonlyMap<string, OperationFn>;
@@ -1 +1 @@
1
- {"version":3,"file":"historyFns.d.ts","sourceRoot":"","sources":["../../src/operations/historyFns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"historyFns.d.ts","sourceRoot":"","sources":["../../src/operations/historyFns.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { PointInput } from '../core/types.js';
2
- import { Wire, Shape3D } from '../core/shapeTypes.js';
2
+ import { Dimension, Wire, Shape3D } from '../core/shapeTypes.js';
3
3
  import { Result } from '../core/result.js';
4
4
  /** Configuration for the functional loft operation. */
5
5
  export interface LoftOptions {
@@ -31,5 +31,5 @@ export interface LoftOptions {
31
31
  *
32
32
  * @see {@link loft!loft | loft} for the OOP API equivalent.
33
33
  */
34
- export declare function loft(wires: Wire[], { ruled, startPoint, endPoint, tolerance }?: LoftOptions, returnShell?: boolean): Result<Shape3D>;
34
+ export declare function loft(wires: Wire<Dimension>[], { ruled, startPoint, endPoint, tolerance }?: LoftOptions, returnShell?: boolean): Result<Shape3D>;
35
35
  //# sourceMappingURL=loftFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loftFns.d.ts","sourceRoot":"","sources":["../../src/operations/loftFns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAE3D,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAGzD,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,IAAI,EAAE,EACb,EAAE,KAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAgB,EAAE,GAAE,WAAgB,EAC1E,WAAW,UAAQ,GAClB,MAAM,CAAC,OAAO,CAAC,CA8BjB"}
1
+ {"version":3,"file":"loftFns.d.ts","sourceRoot":"","sources":["../../src/operations/loftFns.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEtE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAGzD,uDAAuD;AACvD,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,2DAA2D;IAC3D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qEAAqE;IACrE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,IAAI,CAClB,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,EACxB,EAAE,KAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAgB,EAAE,GAAE,WAAgB,EAC1E,WAAW,UAAQ,GAClB,MAAM,CAAC,OAAO,CAAC,CA8BjB"}
@@ -1,9 +1,9 @@
1
- import { Wire, Solid, Shell } from '../core/shapeTypes.js';
1
+ import { Dimension, Wire, Solid, Shell } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  /** Configuration for a single sweep section (profile wire + optional location). */
4
4
  export interface SweepSectionConfig {
5
5
  /** The profile wire for this section. */
6
- wire: Wire;
6
+ wire: Wire<Dimension>;
7
7
  /** Location along the spine as a parameter in [0.0, 1.0]. Auto-distributed if omitted. */
8
8
  location?: number;
9
9
  }
@@ -28,5 +28,5 @@ export interface MultiSweepOptions {
28
28
  * @param options - Sweep configuration.
29
29
  * @returns Result containing the swept Solid or Shell.
30
30
  */
31
- export declare function multiSectionSweep(sections: ReadonlyArray<SweepSectionConfig>, spine: Wire, options?: MultiSweepOptions): Result<Solid | Shell>;
31
+ export declare function multiSectionSweep(sections: ReadonlyArray<SweepSectionConfig>, spine: Wire<Dimension>, options?: MultiSweepOptions): Result<Solid | Shell>;
32
32
  //# sourceMappingURL=multiSweepFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multiSweepFns.d.ts","sourceRoot":"","sources":["../../src/operations/multiSweepFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEhE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAGzD,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,IAAI,EAAE,IAAI,CAAC;IACX,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC3C,KAAK,EAAE,IAAI,EACX,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CA+EvB"}
1
+ {"version":3,"file":"multiSweepFns.d.ts","sourceRoot":"","sources":["../../src/operations/multiSweepFns.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAGzD,mFAAmF;AACnF,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qDAAqD;AACrD,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,aAAa,CAAC,kBAAkB,CAAC,EAC3C,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,EACtB,OAAO,CAAC,EAAE,iBAAiB,GAC1B,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,CA+EvB"}
@@ -1,4 +1,4 @@
1
- import { Wire, Solid } from '../core/shapeTypes.js';
1
+ import { Dimension, Wire, Solid } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  export interface RoofOptions {
4
4
  /** Roof slope angle in degrees (default: 45). */
@@ -12,5 +12,5 @@ export interface RoofOptions {
12
12
  * @param options - Optional angle (degrees) for the roof slope
13
13
  * @returns A Result containing the roof Solid, or an error
14
14
  */
15
- export declare function roof(w: Wire, options?: RoofOptions): Result<Solid>;
15
+ export declare function roof(w: Wire<Dimension>, options?: RoofOptions): Result<Solid>;
16
16
  //# sourceMappingURL=roofFns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"roofFns.d.ts","sourceRoot":"","sources":["../../src/operations/roofFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAWzD,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA+HD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAoGlE"}
1
+ {"version":3,"file":"roofFns.d.ts","sourceRoot":"","sources":["../../src/operations/roofFns.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAEpE,OAAO,EAAE,KAAK,MAAM,EAAW,MAAM,mBAAmB,CAAC;AAWzD,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AA+HD;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAoG7E"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
- const shapeTypes = require("./shapeTypes-BHy5rqqk.cjs");
2
+ const shapeTypes = require("./shapeTypes-BxAzFSfl.cjs");
3
3
  const vecOps = require("./vecOps-CjRL1jau.cjs");
4
4
  const errors = require("./errors-DiTn5EoC.cjs");
5
- const loft = require("./loft-C55d1XrF.cjs");
6
- const booleanFns = require("./booleanFns-uwsn5G2P.cjs");
7
- const shapeFns = require("./shapeFns-D6qzq_Cu.cjs");
8
- const faceFns = require("./faceFns-CjRZGka6.cjs");
5
+ const loft = require("./loft-ByirrIHz.cjs");
6
+ const booleanFns = require("./booleanFns-CR6vk8qv.cjs");
7
+ const shapeFns = require("./shapeFns-vPR93KGT.cjs");
8
+ const faceFns = require("./faceFns-B10DQksf.cjs");
9
9
  function uuidv() {
10
10
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
11
11
  /[018]/g,
@@ -1,10 +1,10 @@
1
- import { q as getKernel, b as createKernelHandle, c as castShape, j as isShape3D, n as isWire, x as createSolid } from "./shapeTypes-1WVcBBn_.js";
1
+ import { q as getKernel, b as createKernelHandle, c as castShape, j as isShape3D, n as isWire, x as createSolid } from "./shapeTypes-C1z8HWJf.js";
2
2
  import { g as vecLength, v as vecAdd, j as vecNormalize, f as vecIsZero } from "./vecOps-ZDdZWbwT.js";
3
3
  import { e as err, x as validationError, u as unwrap, p as typeCastError, o as ok, B as BrepErrorCode, k as kernelError, i as ioError, b as computationError } from "./errors-lBwyc8YG.js";
4
- import { n as buildLawFromProfile } from "./loft-DK0_xi5M.js";
5
- import { j as fuseAll } from "./booleanFns-D3QHXA3L.js";
6
- import { q as toBREP } from "./shapeFns-DBSqO7QJ.js";
7
- import { j as fromBREP } from "./faceFns-BQ26A_zd.js";
4
+ import { n as buildLawFromProfile } from "./loft-CfNUe13X.js";
5
+ import { j as fuseAll } from "./booleanFns-BEIrQNUH.js";
6
+ import { q as toBREP } from "./shapeFns-BrfVnd9Q.js";
7
+ import { j as fromBREP } from "./faceFns-DKkW12_x.js";
8
8
  function uuidv() {
9
9
  return (String([1e7]) + String(-1e3) + String(-4e3) + String(-8e3) + String(-1e11)).replace(
10
10
  /[018]/g,
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
- const operations = require("./operations-CMcb2KJ3.cjs");
4
- const loft = require("./loft-C55d1XrF.cjs");
3
+ const operations = require("./operations-DAt3B8iS.cjs");
4
+ const loft = require("./loft-ByirrIHz.cjs");
5
5
  exports.addChild = operations.addChild;
6
6
  exports.addStep = operations.addStep;
7
7
  exports.circularPattern = operations.circularPattern;
@@ -1,5 +1,5 @@
1
- import { a, b, c, d, f, g, h, i, j, k, n, o, p, q, H, l, t, u, v, x, y, z, B, C, D, s, E, F, G, w } from "./operations-DhgY338f.js";
2
- import { b as b2, g as g2, l as l2, r } from "./loft-DK0_xi5M.js";
1
+ import { a, b, c, d, f, g, h, i, j, k, n, o, p, q, H, l, t, u, v, x, y, z, B, C, D, s, E, F, G, w } from "./operations-DBJ9dkjD.js";
2
+ import { b as b2, g as g2, l as l2, r } from "./loft-CfNUe13X.js";
3
3
  export {
4
4
  a as addChild,
5
5
  b as addStep,
@@ -1,8 +1,8 @@
1
- import { AnyShape } from '../core/shapeTypes.js';
1
+ import { AnyShape, Dimension } from '../core/shapeTypes.js';
2
2
  import { Result } from '../core/result.js';
3
3
  export type Predicate<T> = (element: T) => boolean;
4
4
  export type TopoKind = 'edge' | 'face' | 'wire' | 'vertex';
5
- export interface ShapeFinder<T extends AnyShape> {
5
+ export interface ShapeFinder<T extends AnyShape<Dimension>> {
6
6
  /** Add a custom predicate filter. Returns new finder. */
7
7
  readonly when: (predicate: Predicate<T>) => ShapeFinder<T>;
8
8
  /** Filter to elements in a list. Returns new finder. */
@@ -12,9 +12,9 @@ export interface ShapeFinder<T extends AnyShape> {
12
12
  /** Combine filters with OR. Returns new finder. */
13
13
  readonly either: (fns: ((f: ShapeFinder<T>) => ShapeFinder<T>)[]) => ShapeFinder<T>;
14
14
  /** Find all matching elements from a shape. */
15
- readonly findAll: (shape: AnyShape) => T[];
15
+ readonly findAll: (shape: AnyShape<Dimension>) => T[];
16
16
  /** Find exactly one matching element. Returns error if 0 or more than 1 match. */
17
- readonly findUnique: (shape: AnyShape) => Result<T>;
17
+ readonly findUnique: (shape: AnyShape<Dimension>) => Result<T>;
18
18
  /** Check if an element passes all filters. */
19
19
  readonly shouldKeep: (element: T) => boolean;
20
20
  readonly _filters: ReadonlyArray<Predicate<T>>;
@@ -31,5 +31,5 @@ export interface ShapeFinder<T extends AnyShape> {
31
31
  * @param rebuild - reconstruct the typed finder from a new filter list
32
32
  * @param extend - attach domain-specific methods onto the base finder
33
33
  */
34
- export declare function createTypedFinder<T extends AnyShape, F extends ShapeFinder<T>>(topoKind: TopoKind, filters: ReadonlyArray<Predicate<T>>, rebuild: (newFilters: ReadonlyArray<Predicate<T>>) => F, extend: (base: ShapeFinder<T>, withFilter: (pred: Predicate<T>) => F) => Omit<F, keyof ShapeFinder<T>>): F;
34
+ export declare function createTypedFinder<T extends AnyShape<Dimension>, F extends ShapeFinder<T>>(topoKind: TopoKind, filters: ReadonlyArray<Predicate<T>>, rebuild: (newFilters: ReadonlyArray<Predicate<T>>) => F, extend: (base: ShapeFinder<T>, withFilter: (pred: Predicate<T>) => F) => Omit<F, keyof ShapeFinder<T>>): F;
35
35
  //# sourceMappingURL=finderCore.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"finderCore.d.ts","sourceRoot":"","sources":["../../src/query/finderCore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAEtD,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AASjE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;AAMnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAM3D,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ;IAC7C,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACnF,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACpF,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,CAAC,EAAE,CAAC;IAC3C,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IACpD,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;IAG7C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;CAC9B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EAC5E,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACvD,MAAM,EAAE,CACN,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAClC,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,CAgFH"}
1
+ {"version":3,"file":"finderCore.d.ts","sourceRoot":"","sources":["../../src/query/finderCore.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEjE,OAAO,EAAE,KAAK,MAAM,EAAmB,MAAM,mBAAmB,CAAC;AASjE,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;AAMnD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAM3D,MAAM,WAAW,WAAW,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC;IACxD,yDAAyD;IACzD,QAAQ,CAAC,IAAI,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IAC3D,wDAAwD;IACxD,QAAQ,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,2CAA2C;IAC3C,QAAQ,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACnF,mDAAmD;IACnD,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC;IACpF,+CAA+C;IAC/C,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;IACtD,kFAAkF;IAClF,QAAQ,CAAC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/D,8CAA8C;IAC9C,QAAQ,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,OAAO,CAAC;IAG7C,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC;CAC9B;AAMD;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,WAAW,CAAC,CAAC,CAAC,EACvF,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EACpC,OAAO,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EACvD,MAAM,EAAE,CACN,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAClC,IAAI,CAAC,CAAC,EAAE,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,GACjC,CAAC,CAgFH"}
@@ -1,4 +1,4 @@
1
- import { AnyShape, Face } from '../core/shapeTypes.js';
1
+ import { AnyShape, Dimension, Face } from '../core/shapeTypes.js';
2
2
  import { FaceFinderFn } from './finderFns.js';
3
3
  import { Result } from '../core/result.js';
4
4
  /**
@@ -7,5 +7,5 @@ import { Result } from '../core/result.js';
7
7
  */
8
8
  export type SingleFace = Face | FaceFinderFn | ((f: FaceFinderFn) => FaceFinderFn);
9
9
  /** Resolve a {@link SingleFace} input to a concrete Face from the given shape. */
10
- export declare function getSingleFace(f: SingleFace, shape: AnyShape): Result<Face>;
10
+ export declare function getSingleFace(f: SingleFace, shape: AnyShape<Dimension>): Result<Face>;
11
11
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/query/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,KAAK,MAAM,EAAM,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC,CAAC;AAEnF,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,CAY1E"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/query/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAc,KAAK,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,KAAK,MAAM,EAAM,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC,EAAE,YAAY,KAAK,YAAY,CAAC,CAAC;AAEnF,kFAAkF;AAClF,wBAAgB,aAAa,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,CAYrF"}