brepjs 12.7.1 → 12.7.3

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 (61) hide show
  1. package/dist/2d.cjs +2 -2
  2. package/dist/2d.js +11 -11
  3. package/dist/{Blueprint-CtuUvzex.js → Blueprint-C3lWY1Jf.js} +21 -20
  4. package/dist/{Blueprint-CoFJDAQd.cjs → Blueprint-CnDVffSX.cjs} +3 -2
  5. package/dist/{boolean2D-x2irapGj.js → boolean2D-CwZAIJDS.js} +15 -17
  6. package/dist/{boolean2D-Dk-vLBdl.cjs → boolean2D-DyQJt8Na.cjs} +3 -5
  7. package/dist/{booleanFns-DtOkwLHI.js → booleanFns-CcNUsgI8.js} +3 -3
  8. package/dist/{booleanFns-BJjYqwJ5.cjs → booleanFns-D7HmkpYt.cjs} +2 -2
  9. package/dist/brepjs.cjs +99 -43
  10. package/dist/brepjs.js +1006 -950
  11. package/dist/core.cjs +1 -1
  12. package/dist/core.js +1 -1
  13. package/dist/{cornerFinder-BESZIitp.cjs → cornerFinder-3zfbQvXg.cjs} +1 -1
  14. package/dist/{cornerFinder-FY38t0zq.js → cornerFinder-BV-l1BCw.js} +1 -1
  15. package/dist/{curveFns-LRNGcHXh.js → curveFns-CloOqAQ_.js} +11 -11
  16. package/dist/{drawFns-D8QyY7cg.js → drawFns-5myJTgtX.js} +69 -325
  17. package/dist/{drawFns-BEeoD1yO.cjs → drawFns-CDNafQhv.cjs} +64 -320
  18. package/dist/{helpers-DNzVfe-Z.cjs → helpers-6kn30cSD.cjs} +1 -1
  19. package/dist/{helpers-DeFPsrcI.js → helpers-C9KvE1RW.js} +6 -6
  20. package/dist/index.d.ts +1 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/io.cjs +2 -2
  23. package/dist/io.js +2 -2
  24. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  25. package/dist/kernel/brepkitWasmTypes.d.ts +5 -1
  26. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  27. package/dist/{loft-DsVv4yxU.js → loft-BcZUCGKi.js} +1 -1
  28. package/dist/{meshFns-BU2l_yOm.cjs → meshFns-3gy0empP.cjs} +1 -1
  29. package/dist/{meshFns-HNwWuM4v.js → meshFns-DsLRd3tA.js} +1 -1
  30. package/dist/{operations-D-gTZNtM.cjs → operations-DLFzmdFX.cjs} +2 -2
  31. package/dist/{operations-D_3rrfrE.js → operations-Dcz6YlOt.js} +3 -3
  32. package/dist/operations.cjs +1 -1
  33. package/dist/operations.js +2 -2
  34. package/dist/query.cjs +2 -2
  35. package/dist/query.js +4 -4
  36. package/dist/{shapeFns-DHlLNHTn.cjs → shapeFns-D-MOoqJd.cjs} +4 -0
  37. package/dist/{shapeFns-CbXxLvV_.js → shapeFns-D2PlLFE6.js} +11 -7
  38. package/dist/sketching/Sketcher.d.ts +31 -77
  39. package/dist/sketching/Sketcher.d.ts.map +1 -1
  40. package/dist/sketching/Sketcher2d.d.ts +1 -1
  41. package/dist/sketching/Sketcher2d.d.ts.map +1 -1
  42. package/dist/sketching/draw.d.ts +2 -2
  43. package/dist/sketching/draw.d.ts.map +1 -1
  44. package/dist/sketching/sketcherlib.d.ts +32 -1
  45. package/dist/sketching/sketcherlib.d.ts.map +1 -1
  46. package/dist/sketching.cjs +2 -2
  47. package/dist/sketching.js +2 -2
  48. package/dist/{surfaceBuilders-D7ZH2QNS.js → surfaceBuilders-D6iDVPIM.js} +12 -12
  49. package/dist/topology/shapeFns.d.ts +5 -0
  50. package/dist/topology/shapeFns.d.ts.map +1 -1
  51. package/dist/{topology-BHnY7Szr.cjs → topology-CKtCGLmb.cjs} +3 -3
  52. package/dist/{topology-C1eZ86dI.js → topology-DxD58iQ6.js} +5 -5
  53. package/dist/topology.cjs +5 -4
  54. package/dist/topology.d.ts +1 -1
  55. package/dist/topology.d.ts.map +1 -1
  56. package/dist/topology.js +23 -22
  57. package/dist/{vectors-TlfO1hu2.cjs → vectors-BafmMf96.cjs} +0 -5
  58. package/dist/{vectors-cec8p8NQ.js → vectors-CESkzEm6.js} +1 -6
  59. package/dist/vectors.cjs +1 -1
  60. package/dist/vectors.js +1 -1
  61. package/package.json +2 -2
@@ -45,22 +45,22 @@ var __callDispose = (stack, error, hasError) => {
45
45
  return next();
46
46
  };
47
47
  const errors = require("./errors-9fDehDNc.cjs");
48
- const vectors = require("./vectors-TlfO1hu2.cjs");
48
+ const vectors = require("./vectors-BafmMf96.cjs");
49
49
  const types = require("./types-CA_xrgDq.cjs");
50
50
  const vecOps = require("./vecOps-CjRL1jau.cjs");
51
- const boolean2D = require("./boolean2D-Dk-vLBdl.cjs");
51
+ const boolean2D = require("./boolean2D-DyQJt8Na.cjs");
52
52
  const faceFns = require("./faceFns-BLTEPBKq.cjs");
53
53
  const curveFns = require("./curveFns-Ch87sD5O.cjs");
54
54
  const surfaceBuilders = require("./surfaceBuilders-Be_ENWSA.cjs");
55
55
  const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
56
- const Blueprint = require("./Blueprint-CoFJDAQd.cjs");
56
+ const Blueprint = require("./Blueprint-CnDVffSX.cjs");
57
57
  const result = require("./result.cjs");
58
- const helpers = require("./helpers-DNzVfe-Z.cjs");
59
- const shapeFns = require("./shapeFns-DHlLNHTn.cjs");
58
+ const helpers = require("./helpers-6kn30cSD.cjs");
59
+ const shapeFns = require("./shapeFns-D-MOoqJd.cjs");
60
60
  const solidBuilders = require("./solidBuilders-BzfRBizW.cjs");
61
61
  const loft = require("./loft-DR1UN5uN.cjs");
62
62
  const opentype = require("opentype.js");
63
- const cornerFinder = require("./cornerFinder-BESZIitp.cjs");
63
+ const cornerFinder = require("./cornerFinder-3zfbQvXg.cjs");
64
64
  const stitchCurves = (curves, precision = 1e-7) => {
65
65
  const startPoints = new boolean2D.Flatbush(curves.length);
66
66
  curves.forEach((c) => {
@@ -109,350 +109,94 @@ const stitchCurves = (curves, precision = 1e-7) => {
109
109
  });
110
110
  return stitchedCurves;
111
111
  };
112
- class Sketcher {
112
+ class Sketcher extends boolean2D.BaseSketcher2d {
113
113
  plane;
114
- pointer;
115
- firstPoint;
116
- pendingEdges;
117
- _mirrorWire;
118
114
  constructor(plane, origin) {
115
+ super();
119
116
  this.plane = plane && typeof plane !== "string" ? { ...plane } : vectors.resolvePlane(plane ?? "XY", origin);
120
- this.pointer = [...this.plane.origin];
121
- this.firstPoint = [...this.plane.origin];
122
- this.pendingEdges = [];
123
- this._mirrorWire = false;
124
117
  }
125
- /** Release all kernel edges held by this sketcher. */
118
+ /** Release resources held by this sketcher (lightweight — no kernel handles during drawing). */
126
119
  delete() {
127
- for (const edge of this.pendingEdges) {
128
- edge.delete();
129
- }
130
- this.pendingEdges = [];
131
- }
132
- _updatePointer(newPointer) {
133
- this.pointer = newPointer;
134
- }
135
- /** Move the pen to an absolute 2D position before drawing any edges. */
136
- movePointerTo([x, y]) {
137
- if (this.pendingEdges.length)
138
- result.bug("Sketcher.movePointerTo", "You can only move the pointer if there is no edge defined");
139
- this._updatePointer(vectors.planeToWorld(this.plane, [x, y]));
140
- this.firstPoint = this.pointer;
141
- return this;
142
- }
143
- /** Draw a straight line to an absolute 2D point on the sketch plane. */
144
- lineTo([x, y]) {
145
- const endPoint = vectors.planeToWorld(this.plane, [x, y]);
146
- this.pendingEdges.push(surfaceBuilders.makeLine(this.pointer, endPoint));
147
- this._updatePointer(endPoint);
148
- return this;
149
- }
150
- /** Draw a straight line by relative horizontal and vertical distances. */
151
- line(xDist, yDist) {
152
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
153
- return this.lineTo([xDist + px, yDist + py]);
154
- }
155
- /** Draw a vertical line of the given signed distance. */
156
- vLine(distance) {
157
- return this.line(0, distance);
158
- }
159
- /** Draw a horizontal line of the given signed distance. */
160
- hLine(distance) {
161
- return this.line(distance, 0);
162
- }
163
- /** Draw a vertical line to an absolute Y coordinate. */
164
- vLineTo(yPos) {
165
- const [px] = vectors.planeToLocal(this.plane, this.pointer);
166
- return this.lineTo([px, yPos]);
167
- }
168
- /** Draw a horizontal line to an absolute X coordinate. */
169
- hLineTo(xPos) {
170
- const [, py] = vectors.planeToLocal(this.plane, this.pointer);
171
- return this.lineTo([xPos, py]);
172
- }
173
- /** Draw a line in polar coordinates (distance and angle in degrees) from the current point. */
174
- polarLine(distance, angle) {
175
- const angleInRads = angle * vecOps.DEG2RAD;
176
- const [x, y] = helpers.polarToCartesian(distance, angleInRads);
177
- return this.line(x, y);
178
- }
179
- /** Draw a line to a point given in polar coordinates [r, theta] from the origin. */
180
- polarLineTo([r, theta]) {
181
- const angleInRads = theta * vecOps.DEG2RAD;
182
- const point = helpers.polarToCartesian(r, angleInRads);
183
- return this.lineTo(point);
184
- }
185
- /** Draw a line tangent to the previous edge, extending by the given distance. */
186
- tangentLine(distance) {
187
- const previousEdge = this.pendingEdges.length ? this.pendingEdges[this.pendingEdges.length - 1] : null;
188
- if (!previousEdge)
189
- result.bug("Sketcher.tangentLine", "You need a previous edge to create a tangent line");
190
- const tangent = curveFns.curveTangentAt(previousEdge, 1);
191
- const scaledTangent = vecOps.vecScale(vecOps.vecNormalize(tangent), distance);
192
- const endPoint = vecOps.vecAdd(scaledTangent, this.pointer);
193
- this.pendingEdges.push(surfaceBuilders.makeLine(this.pointer, endPoint));
194
- this._updatePointer(endPoint);
195
- return this;
196
- }
197
- /** Draw a circular arc passing through an inner point to an absolute end point. */
198
- threePointsArcTo(end, innerPoint) {
199
- const gpoint1 = vectors.planeToWorld(this.plane, innerPoint);
200
- const gpoint2 = vectors.planeToWorld(this.plane, end);
201
- this.pendingEdges.push(surfaceBuilders.makeThreePointArc(this.pointer, gpoint1, gpoint2));
202
- this._updatePointer(gpoint2);
203
- return this;
204
- }
205
- /** Draw a circular arc through a via-point to an end point, both given as relative distances. */
206
- threePointsArc(xDist, yDist, viaXDist, viaYDist) {
207
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
208
- return this.threePointsArcTo([px + xDist, py + yDist], [px + viaXDist, py + viaYDist]);
209
- }
210
- /** Draw a circular arc tangent to the previous edge, ending at an absolute point. */
211
- tangentArcTo(end) {
212
- const endPoint = vectors.planeToWorld(this.plane, end);
213
- const previousEdge = this.pendingEdges.length ? this.pendingEdges[this.pendingEdges.length - 1] : null;
214
- if (!previousEdge)
215
- result.bug("Sketcher.tangentArcTo", "You need a previous edge to create a tangent arc");
216
- const prevEnd = curveFns.curveEndPoint(previousEdge);
217
- const prevTangent = curveFns.curveTangentAt(previousEdge, 1);
218
- this.pendingEdges.push(surfaceBuilders.makeTangentArc(prevEnd, prevTangent, endPoint));
219
- this._updatePointer(endPoint);
220
- return this;
221
- }
222
- /** Draw a circular arc tangent to the previous edge, ending at a relative offset. */
223
- tangentArc(xDist, yDist) {
224
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
225
- return this.tangentArcTo([xDist + px, yDist + py]);
226
- }
227
- /** Draw a circular arc to an absolute end point, bulging by the given sagitta. */
120
+ this.pendingCurves = [];
121
+ }
122
+ /**
123
+ * Override to preserve the original Sketcher's sagitta direction convention.
124
+ *
125
+ * BaseSketcher2d computes the perpendicular as `[-dy, dx]` (counter-clockwise rotation),
126
+ * but the original Sketcher used `cross(diff, plane.zDir)` which produces `[dy, -dx]`
127
+ * (clockwise rotation) for standard planes. Negating the sagitta compensates for this,
128
+ * ensuring all sagitta/bulge arcs curve the same way as the original 3D implementation.
129
+ */
228
130
  sagittaArcTo(end, sagitta) {
229
- const startPoint = this.pointer;
230
- const endPoint = vectors.planeToWorld(this.plane, end);
231
- const sum = vecOps.vecAdd(endPoint, startPoint);
232
- const midPoint = vecOps.vecScale(sum, 0.5);
233
- const diff = vecOps.vecSub(endPoint, startPoint);
234
- const crossResult = vecOps.vecCross(diff, this.plane.zDir);
235
- const sagDirection = vecOps.vecNormalize(crossResult);
236
- const sagVector = vecOps.vecScale(sagDirection, sagitta);
237
- const sagPoint = vecOps.vecAdd(midPoint, sagVector);
238
- this.pendingEdges.push(surfaceBuilders.makeThreePointArc(this.pointer, sagPoint, endPoint));
239
- this._updatePointer(endPoint);
240
- return this;
241
- }
242
- /** Draw a circular arc to a relative end point, bulging by the given sagitta. */
243
- sagittaArc(xDist, yDist, sagitta) {
244
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
245
- return this.sagittaArcTo([xDist + px, yDist + py], sagitta);
246
- }
247
- /** Draw a vertical sagitta arc of the given distance and bulge. */
248
- vSagittaArc(distance, sagitta) {
249
- return this.sagittaArc(0, distance, sagitta);
250
- }
251
- /** Draw a horizontal sagitta arc of the given distance and bulge. */
252
- hSagittaArc(distance, sagitta) {
253
- return this.sagittaArc(distance, 0, sagitta);
254
- }
255
- /** Draw an arc to an absolute end point using a bulge factor (sagitta as fraction of half-chord). */
256
- bulgeArcTo(end, bulge) {
257
- if (!bulge) return this.lineTo(end);
258
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
259
- const halfChord = helpers.distance2d([px, py], end) / 2;
260
- const bulgeAsSagitta = -bulge * halfChord;
261
- return this.sagittaArcTo(end, bulgeAsSagitta);
262
- }
263
- /** Draw an arc to a relative end point using a bulge factor. */
264
- bulgeArc(xDist, yDist, bulge) {
265
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
266
- return this.bulgeArcTo([xDist + px, yDist + py], bulge);
267
- }
268
- /** Draw a vertical bulge arc of the given distance and bulge factor. */
269
- vBulgeArc(distance, bulge) {
270
- return this.bulgeArc(0, distance, bulge);
271
- }
272
- /** Draw a horizontal bulge arc of the given distance and bulge factor. */
273
- hBulgeArc(distance, bulge) {
274
- return this.bulgeArc(distance, 0, bulge);
275
- }
276
- /** Draw an elliptical arc to an absolute end point (SVG-style parameters). */
277
- ellipseTo(end, horizontalRadius, verticalRadius, rotation = 0, longAxis = false, sweep = false) {
278
- const [startX, startY] = vectors.planeToLocal(this.plane, this.pointer);
279
- let rotationAngle = rotation;
280
- let majorRadius = horizontalRadius;
281
- let minorRadius = verticalRadius;
282
- if (horizontalRadius < verticalRadius) {
283
- rotationAngle = rotation + 90;
284
- majorRadius = verticalRadius;
285
- minorRadius = horizontalRadius;
286
- }
287
- const { cx, cy, rx, ry, startAngle, endAngle, clockwise } = boolean2D.convertSvgEllipseParams(
288
- [startX, startY],
289
- end,
290
- majorRadius,
291
- minorRadius,
292
- rotationAngle * vecOps.DEG2RAD,
293
- longAxis,
294
- sweep
295
- );
296
- const xDir = vecOps.vecRotate(this.plane.xDir, this.plane.zDir, rotationAngle * vecOps.DEG2RAD);
297
- let arc = errors.unwrap(
298
- surfaceBuilders.makeEllipseArc(
299
- rx,
300
- ry,
301
- clockwise ? startAngle : endAngle,
302
- clockwise ? endAngle : startAngle,
303
- vectors.planeToWorld(this.plane, [cx, cy]),
304
- this.plane.zDir,
305
- xDir
306
- )
307
- );
308
- if (!clockwise) {
309
- arc = curveFns.flipOrientation(arc);
310
- }
311
- this.pendingEdges.push(arc);
312
- this._updatePointer(vectors.planeToWorld(this.plane, end));
313
- return this;
314
- }
315
- /** Draw an elliptical arc to a relative end point (SVG-style parameters). */
316
- ellipse(xDist, yDist, horizontalRadius, verticalRadius, rotation = 0, longAxis = false, sweep = false) {
317
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
318
- return this.ellipseTo(
319
- [xDist + px, yDist + py],
320
- horizontalRadius,
321
- verticalRadius,
322
- rotation,
323
- longAxis,
324
- sweep
325
- );
131
+ return super.sagittaArcTo(end, -sagitta);
326
132
  }
327
- /** Draw a half-ellipse arc to an absolute end point with a given minor radius. */
328
- halfEllipseTo(end, verticalRadius, sweep = false) {
329
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
330
- const start = [px, py];
331
- const angle = helpers.polarAngle2d(end, start);
332
- const distance = helpers.distance2d(end, start);
333
- return this.ellipseTo(end, distance / 2, verticalRadius, angle * vecOps.RAD2DEG, false, sweep);
334
- }
335
- /** Draw a half-ellipse arc to a relative end point with a given minor radius. */
336
- halfEllipse(xDist, yDist, verticalRadius, sweep = false) {
337
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
338
- return this.halfEllipseTo([xDist + px, yDist + py], verticalRadius, sweep);
339
- }
340
- /** Draw a Bezier curve to an absolute end point through one or more control points. */
341
- bezierCurveTo(end, controlPoints) {
342
- let cp;
343
- if (controlPoints.length === 2 && !Array.isArray(controlPoints[0])) {
344
- cp = [controlPoints];
345
- } else {
346
- cp = controlPoints;
347
- }
348
- const inWorldPoints = cp.map((p) => vectors.planeToWorld(this.plane, p));
349
- const endPoint = vectors.planeToWorld(this.plane, end);
350
- this.pendingEdges.push(errors.unwrap(surfaceBuilders.makeBezierCurve([this.pointer, ...inWorldPoints, endPoint])));
351
- this._updatePointer(endPoint);
352
- return this;
353
- }
354
- /** Draw a quadratic Bezier curve to an absolute end point with a single control point. */
355
- quadraticBezierCurveTo(end, controlPoint) {
356
- return this.bezierCurveTo(end, [controlPoint]);
357
- }
358
- /** Draw a cubic Bezier curve to an absolute end point with start and end control points. */
359
- cubicBezierCurveTo(end, startControlPoint, endControlPoint) {
360
- return this.bezierCurveTo(end, [startControlPoint, endControlPoint]);
361
- }
362
- /** Draw a smooth cubic Bezier spline to an absolute end point, blending tangent with the previous edge. */
363
- smoothSplineTo(end, config) {
133
+ buildWire() {
364
134
  var _stack = [];
365
135
  try {
366
- const _scope = __using(_stack, new shapeTypes.DisposalScope());
367
- const { endTangent, startTangent, startFactor, endFactor } = boolean2D.defaultsSplineOptions(config);
368
- const endPoint = vectors.planeToWorld(this.plane, end);
369
- const previousEdge = this.pendingEdges.length ? this.pendingEdges[this.pendingEdges.length - 1] : null;
370
- const diff = vecOps.vecSub(endPoint, this.pointer);
371
- const defaultDistance = vecOps.vecLength(diff) * 0.25;
372
- let startPoleDirection;
373
- if (startTangent) {
374
- startPoleDirection = vectors.planeToWorld(this.plane, startTangent);
375
- } else if (!previousEdge) {
376
- startPoleDirection = vectors.planeToWorld(this.plane, [1, 0]);
377
- } else if (curveFns.getCurveType(previousEdge) === "BEZIER_CURVE") {
378
- const previousPole = shapeTypes.getKernel().getBezierPenultimatePole(previousEdge.wrapped);
379
- if (previousPole) {
380
- startPoleDirection = vecOps.vecSub(this.pointer, previousPole);
381
- } else {
382
- startPoleDirection = curveFns.curveTangentAt(previousEdge, 1);
383
- }
384
- } else {
385
- startPoleDirection = curveFns.curveTangentAt(previousEdge, 1);
386
- }
387
- const poleDistance = vecOps.vecScale(vecOps.vecNormalize(startPoleDirection), startFactor * defaultDistance);
388
- const startControl = vecOps.vecAdd(this.pointer, poleDistance);
389
- let endPoleDirection;
390
- if (endTangent === "symmetric") {
391
- endPoleDirection = vecOps.vecScale(startPoleDirection, -1);
392
- } else {
393
- endPoleDirection = vectors.planeToWorld(this.plane, endTangent);
394
- }
395
- const endPoleDistance = vecOps.vecScale(vecOps.vecNormalize(endPoleDirection), endFactor * defaultDistance);
396
- const endControl = vecOps.vecSub(endPoint, endPoleDistance);
397
- this.pendingEdges.push(
398
- errors.unwrap(surfaceBuilders.makeBezierCurve([this.pointer, startControl, endControl, endPoint]))
136
+ if (!this.pendingCurves.length) result.bug("Sketcher.buildWire", "No lines to convert into a wire");
137
+ const scope = __using(_stack, new shapeTypes.DisposalScope());
138
+ const edges = Blueprint.curvesAsEdgesOnPlane(this.pendingCurves, this.plane).map(
139
+ (e) => scope.register(e)
399
140
  );
400
- this._updatePointer(endPoint);
401
- return this;
141
+ return errors.unwrap(surfaceBuilders.assembleWire(edges));
402
142
  } catch (_) {
403
143
  var _error = _, _hasError = true;
404
144
  } finally {
405
145
  __callDispose(_stack, _error, _hasError);
406
146
  }
407
147
  }
408
- /** Draw a smooth cubic Bezier spline to a relative end point, blending tangent with the previous edge. */
409
- smoothSpline(xDist, yDist, splineConfig = {}) {
410
- const [px, py] = vectors.planeToLocal(this.plane, this.pointer);
411
- return this.smoothSplineTo([xDist + px, yDist + py], splineConfig);
148
+ /** Finish drawing and return the open-wire Sketch (does not close the path). */
149
+ done() {
150
+ return new boolean2D.Sketch(this.buildWire(), {
151
+ defaultOrigin: this.plane.origin,
152
+ defaultDirection: this.plane.zDir
153
+ });
154
+ }
155
+ /** Close the path with a straight line to the start point and return the Sketch. */
156
+ close() {
157
+ this._closeSketch();
158
+ return this.done();
412
159
  }
413
- _mirrorWireOnStartEnd(wire) {
414
- const diff = vecOps.vecSub(this.pointer, this.firstPoint);
160
+ /**
161
+ * Close the path by mirroring all edges about the line from first to last point.
162
+ *
163
+ * Mirrors in 3D after assembling the partial wire to ensure exact endpoint
164
+ * matching across kernels.
165
+ */
166
+ closeWithMirror() {
167
+ if (helpers.samePoint(this.pointer, this.firstPoint))
168
+ result.bug(
169
+ "Sketcher.closeWithMirror",
170
+ "Cannot close with a mirror when the sketch is already closed"
171
+ );
172
+ const wire = this.buildWire();
173
+ const pointer3d = vectors.planeToWorld(this.plane, this.pointer);
174
+ const firstPoint3d = vectors.planeToWorld(this.plane, this.firstPoint);
175
+ const diff = vecOps.vecSub(pointer3d, firstPoint3d);
415
176
  const startToEndVector = vecOps.vecNormalize(diff);
416
177
  const normal = vecOps.vecCross(startToEndVector, this.plane.zDir);
417
178
  const clonedWrapped = errors.unwrap(faceFns.downcast(wire.wrapped));
418
- const mirroredRaw = Blueprint.mirror(clonedWrapped, normal, this.pointer);
179
+ const mirroredRaw = Blueprint.mirror(clonedWrapped, normal, pointer3d);
419
180
  const mirroredWrapped = errors.unwrap(faceFns.downcast(mirroredRaw));
420
181
  const mirroredWire = shapeTypes.createWire(mirroredWrapped);
421
182
  const combinedWire = errors.unwrap(surfaceBuilders.assembleWire([wire, mirroredWire]));
422
- return combinedWire;
423
- }
424
- buildWire() {
425
- if (!this.pendingEdges.length) result.bug("Sketcher.buildWire", "No lines to convert into a wire");
426
- let wire = errors.unwrap(surfaceBuilders.assembleWire(this.pendingEdges));
427
- if (this._mirrorWire) {
428
- wire = this._mirrorWireOnStartEnd(wire);
429
- }
430
- return wire;
431
- }
432
- _closeSketch() {
433
- if (!vecOps.vecEquals(this.pointer, this.firstPoint) && !this._mirrorWire) {
434
- const [endX, endY] = vectors.planeToLocal(this.plane, this.firstPoint);
435
- this.lineTo([endX, endY]);
436
- }
437
- }
438
- /** Finish drawing and return the open-wire Sketch (does not close the path). */
439
- done() {
440
- const sketch = new boolean2D.Sketch(this.buildWire(), {
183
+ return new boolean2D.Sketch(combinedWire, {
441
184
  defaultOrigin: this.plane.origin,
442
185
  defaultDirection: this.plane.zDir
443
186
  });
444
- return sketch;
445
187
  }
446
- /** Close the path with a straight line to the start point and return the Sketch. */
447
- close() {
188
+ /**
189
+ * Close the path and apply a custom corner treatment between the last and first segments.
190
+ *
191
+ * @param radius - Fillet/chamfer radius, or a custom corner function.
192
+ * @param mode - Corner treatment type.
193
+ * @returns The closed {@link Sketch}.
194
+ */
195
+ closeWithCustomCorner(radius, mode = "fillet") {
448
196
  this._closeSketch();
197
+ this._customCornerLastWithFirst(radius, mode);
449
198
  return this.done();
450
199
  }
451
- /** Close the path by mirroring all edges about the line from first to last point. */
452
- closeWithMirror() {
453
- this._mirrorWire = true;
454
- return this.close();
455
- }
456
200
  }
457
201
  const guessFaceFromWires = (wires) => {
458
202
  const wireShapes = wires.map((w) => w.wrapped);
@@ -4,7 +4,7 @@ const errors = require("./errors-9fDehDNc.cjs");
4
4
  const vecOps = require("./vecOps-CjRL1jau.cjs");
5
5
  const faceFns = require("./faceFns-BLTEPBKq.cjs");
6
6
  const measurement = require("./measurement-DoYXRaKI.cjs");
7
- const shapeFns = require("./shapeFns-DHlLNHTn.cjs");
7
+ const shapeFns = require("./shapeFns-D-MOoqJd.cjs");
8
8
  const PRECISION_INTERSECTION = 1e-9;
9
9
  const PRECISION_OFFSET = 1e-8;
10
10
  const PRECISION_POINT = 1e-6;
@@ -3,7 +3,7 @@ import { r as unwrap, e as err, q as queryError, o as ok } from "./errors-B7kgv0
3
3
  import { j as vecNormalize, d as vecDot, D as DEG2RAD } from "./vecOps-ZDdZWbwT.js";
4
4
  import { i as iterTopo, d as downcast, g as getSurfaceType, n as normalAt } from "./faceFns-B6ebRh5I.js";
5
5
  import { m as measureArea } from "./measurement-oWvhSVZG.js";
6
- import { f as getHashCode, i as isSameShape } from "./shapeFns-CbXxLvV_.js";
6
+ import { f as getHashCode, i as isSameShape } from "./shapeFns-D2PlLFE6.js";
7
7
  const PRECISION_INTERSECTION = 1e-9;
8
8
  const PRECISION_OFFSET = 1e-8;
9
9
  const PRECISION_POINT = 1e-6;
@@ -178,17 +178,17 @@ export {
178
178
  add2d as c,
179
179
  distance2d as d,
180
180
  subtract2d as e,
181
- polarToCartesian as f,
181
+ squareDistance2d as f,
182
182
  getSingleFace as g,
183
- squareDistance2d as h,
184
- crossProduct2d as i,
185
- cartesianToPolar as j,
183
+ crossProduct2d as h,
184
+ cartesianToPolar as i,
185
+ polarAngle2d as j,
186
186
  PRECISION_INTERSECTION as k,
187
187
  createTypedFinder as l,
188
188
  faceFinder as m,
189
189
  distanceFromPointFilter as n,
190
190
  resolveDir as o,
191
- polarAngle2d as p,
191
+ polarToCartesian as p,
192
192
  rotate2d as r,
193
193
  samePoint as s
194
194
  };
package/dist/index.d.ts CHANGED
@@ -62,7 +62,7 @@ export type { ShapeHandle, KernelHandle } from './core/disposal.js';
62
62
  export { createHandle, createKernelHandle, DisposalScope, withScope, withScopeResult, withScopeResultAsync, isLive, } from './core/disposal.js';
63
63
  export type { Plane, PlaneName, PlaneInput } from './core/planeTypes.js';
64
64
  export { createPlane, createNamedPlane, resolvePlane, translatePlane, pivotPlane, } from './core/planeOps.js';
65
- export { getHashCode, isSameShape, isEqualShape, getEdges, getFaces, getWires, getVertices, iterEdges, iterFaces, iterWires, iterVertices, getBounds, vertexPosition, setShapeOrigin, getFaceOrigins, resize, type Bounds3D, type ShapeDescription, } from './topology/shapeFns.js';
65
+ export { getHashCode, isSameShape, isEqualShape, getEdges, getFaces, getWires, getVertices, iterEdges, iterFaces, iterWires, iterVertices, getBounds, vertexPosition, invalidateShapeCache, setShapeOrigin, getFaceOrigins, resize, type Bounds3D, type ShapeDescription, } from './topology/shapeFns.js';
66
66
  export { tagFaces, findFacesByTag, getFaceTags, setTagMetadata, getTagMetadata, } from './topology/faceTagFns.js';
67
67
  export { colorFaces, colorShape, getFaceColor, getShapeColor } from './topology/colorFns.js';
68
68
  export type { Color, ColorInput } from './topology/colorFns.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/io.cjs CHANGED
@@ -2,8 +2,8 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const shapeTypes = require("./shapeTypes-7xEam9Ri.cjs");
4
4
  const errors = require("./errors-9fDehDNc.cjs");
5
- const meshFns = require("./meshFns-BU2l_yOm.cjs");
6
- const Blueprint = require("./Blueprint-CoFJDAQd.cjs");
5
+ const meshFns = require("./meshFns-3gy0empP.cjs");
6
+ const Blueprint = require("./Blueprint-CnDVffSX.cjs");
7
7
  function vec3At(arr, i) {
8
8
  const off = i * 3;
9
9
  return [arr[off], arr[off + 1], arr[off + 2]];
package/dist/io.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { B as getKernel, c as castShape } from "./shapeTypes-CpSaBLDv.js";
2
2
  import { e as err, i as ioError, o as ok } from "./errors-B7kgv0cd.js";
3
- import { e, d, f } from "./meshFns-HNwWuM4v.js";
4
- import { B as Blueprint, a as make2dSegmentCurve, l as make2dThreePointArc, r as make2dBezierCurve } from "./Blueprint-CtuUvzex.js";
3
+ import { e, d, f } from "./meshFns-DsLRd3tA.js";
4
+ import { B as Blueprint, a as make2dSegmentCurve, o as make2dThreePointArc, s as make2dBezierCurve } from "./Blueprint-C3lWY1Jf.js";
5
5
  function vec3At(arr, i) {
6
6
  const off = i * 3;
7
7
  return [arr[off], arr[off + 1], arr[off + 2]];