brepjs 15.1.10 → 15.1.11

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.
@@ -1 +1 @@
1
- {"version":3,"file":"segmentAssembly.d.ts","sourceRoot":"","sources":["../../../src/2d/blueprints/segmentAssembly.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAU9C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CA6BzD;AAMD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,UAAU,GACV,IAAI,GACJ,eAAe,GACf,oBAAoB,CAAC;AAMzB,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1C;AAmGD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC7B,sBAAsB,CAkExB"}
1
+ {"version":3,"file":"segmentAssembly.d.ts","sourceRoot":"","sources":["../../../src/2d/blueprints/segmentAssembly.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAkE9C;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,EAAE,CA6BzD;AAMD,UAAU,oBAAoB;IAC5B,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC;IAC1B,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;CACtC;AAED,UAAU,eAAe;IACvB,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC;CAC1B;AAED,MAAM,MAAM,sBAAsB,GAC9B,SAAS,GACT,UAAU,GACV,IAAI,GACJ,eAAe,GACf,oBAAoB,CAAC;AAMzB,UAAU,sBAAsB;IAC9B,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,QAAQ,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ,CAAC;CAC1C;AAmGD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,sBAAsB,GAC7B,sBAAsB,CAmExB"}
package/dist/2d.cjs CHANGED
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_shapeTypes = require("./shapeTypes-Cs7uihz8.cjs");
3
3
  const require_errors = require("./errors-CXRNVCec.cjs");
4
4
  const require_faceFns = require("./faceFns-B8y0xqpK.cjs");
5
- const require_boolean2D = require("./boolean2D-CQE7rswO.cjs");
5
+ const require_boolean2D = require("./boolean2D-Cpk3Ieie.cjs");
6
6
  const require_blueprint = require("./blueprint-BvUKWbkE.cjs");
7
- const require_blueprintFns = require("./blueprintFns-DFLtehf-.cjs");
7
+ const require_blueprintFns = require("./blueprintFns-CXdRmpJv.cjs");
8
8
  //#region src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
package/dist/2d.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { B as createKernelHandle, Z as getKernel2D, a as createEdge } from "./shapeTypes-Qh4ErtGx.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DboJwVCf.js";
3
3
  import { B as kernelCallRaw } from "./faceFns-wSgaAQrJ.js";
4
- import { _ as Blueprints, a as fuseBlueprints, c as roundedRectangleBlueprint, g as CompoundBlueprint, h as organiseBlueprints, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CpSRx5_U.js";
4
+ import { _ as Blueprints, a as fuseBlueprints, c as roundedRectangleBlueprint, g as CompoundBlueprint, h as organiseBlueprints, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BtmgEhzg.js";
5
5
  import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-DD20bL3n.js";
6
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DLDx4XFc.js";
6
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DgUIqFgy.js";
7
7
  //#region src/core/curve2dHandle.ts
8
8
  /**
9
9
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -1,5 +1,5 @@
1
1
  const require_errors = require("./errors-CXRNVCec.cjs");
2
- const require_boolean2D = require("./boolean2D-CQE7rswO.cjs");
2
+ const require_boolean2D = require("./boolean2D-Cpk3Ieie.cjs");
3
3
  const require_blueprint = require("./blueprint-BvUKWbkE.cjs");
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
1
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DboJwVCf.js";
2
- import { g as CompoundBlueprint } from "./boolean2D-CpSRx5_U.js";
2
+ import { g as CompoundBlueprint } from "./boolean2D-BtmgEhzg.js";
3
3
  import { t as Blueprint } from "./blueprint-DD20bL3n.js";
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
@@ -2202,6 +2202,43 @@ function blueprintsIntersectionSegments(first, second) {
2202
2202
  //#endregion
2203
2203
  //#region src/2d/blueprints/segmentAssembly.ts
2204
2204
  /**
2205
+ * Merge adjacent collinear line segments into single segments.
2206
+ *
2207
+ * Boolean operations can split a line at intersection points that lie on the
2208
+ * line itself (e.g. when a cut rectangle's edge is collinear with the
2209
+ * profile's edge). The extra split creates a C0 discontinuity in swept
2210
+ * surfaces. Merging eliminates unnecessary vertices.
2211
+ */
2212
+ function mergeCollinearSegments(curves) {
2213
+ if (curves.length < 2) return curves;
2214
+ const result = [];
2215
+ let i = 0;
2216
+ while (i < curves.length) {
2217
+ const current = curves[i];
2218
+ if (current.geomType !== "LINE") {
2219
+ result.push(current);
2220
+ i++;
2221
+ continue;
2222
+ }
2223
+ let endPoint = current.lastPoint;
2224
+ let j = i + 1;
2225
+ while (j < curves.length) {
2226
+ const next = curves[j];
2227
+ if (next.geomType !== "LINE") break;
2228
+ if (!samePoint(endPoint, next.firstPoint)) break;
2229
+ const dir1 = subtract2d(endPoint, current.firstPoint);
2230
+ const dir2 = subtract2d(next.lastPoint, next.firstPoint);
2231
+ if (Math.abs(crossProduct2d(dir1, dir2)) > 1e-9) break;
2232
+ endPoint = next.lastPoint;
2233
+ j++;
2234
+ }
2235
+ if (j > i + 1) result.push(make2dSegmentCurve(current.firstPoint, endPoint));
2236
+ else result.push(current);
2237
+ i = j;
2238
+ }
2239
+ return result;
2240
+ }
2241
+ /**
2205
2242
  * Split an array of curves into separate continuous paths. A discontinuity
2206
2243
  * occurs where one curve's lastPoint does not match the next curve's
2207
2244
  * firstPoint.
@@ -2307,7 +2344,7 @@ function booleanOperation(first, second, config) {
2307
2344
  });
2308
2345
  const finalLastWasSame = lastWasSame;
2309
2346
  if (finalLastWasSame !== null && segmentsIn === 1) assembledCurves = [...finalLastWasSame, ...assembledCurves];
2310
- const paths = splitPaths(assembledCurves).filter((b) => b.length > 0).map((b) => new Blueprint(b));
2347
+ const paths = splitPaths(mergeCollinearSegments(assembledCurves)).filter((b) => b.length > 0).map((b) => new Blueprint(b));
2311
2348
  if (paths.length === 0) return null;
2312
2349
  if (paths.length === 1) {
2313
2350
  const single = paths[0];
@@ -2202,6 +2202,43 @@ function blueprintsIntersectionSegments(first, second) {
2202
2202
  //#endregion
2203
2203
  //#region src/2d/blueprints/segmentAssembly.ts
2204
2204
  /**
2205
+ * Merge adjacent collinear line segments into single segments.
2206
+ *
2207
+ * Boolean operations can split a line at intersection points that lie on the
2208
+ * line itself (e.g. when a cut rectangle's edge is collinear with the
2209
+ * profile's edge). The extra split creates a C0 discontinuity in swept
2210
+ * surfaces. Merging eliminates unnecessary vertices.
2211
+ */
2212
+ function mergeCollinearSegments(curves) {
2213
+ if (curves.length < 2) return curves;
2214
+ const result = [];
2215
+ let i = 0;
2216
+ while (i < curves.length) {
2217
+ const current = curves[i];
2218
+ if (current.geomType !== "LINE") {
2219
+ result.push(current);
2220
+ i++;
2221
+ continue;
2222
+ }
2223
+ let endPoint = current.lastPoint;
2224
+ let j = i + 1;
2225
+ while (j < curves.length) {
2226
+ const next = curves[j];
2227
+ if (next.geomType !== "LINE") break;
2228
+ if (!samePoint(endPoint, next.firstPoint)) break;
2229
+ const dir1 = require_helpers.subtract2d(endPoint, current.firstPoint);
2230
+ const dir2 = require_helpers.subtract2d(next.lastPoint, next.firstPoint);
2231
+ if (Math.abs(require_helpers.crossProduct2d(dir1, dir2)) > 1e-9) break;
2232
+ endPoint = next.lastPoint;
2233
+ j++;
2234
+ }
2235
+ if (j > i + 1) result.push(require_blueprint.make2dSegmentCurve(current.firstPoint, endPoint));
2236
+ else result.push(current);
2237
+ i = j;
2238
+ }
2239
+ return result;
2240
+ }
2241
+ /**
2205
2242
  * Split an array of curves into separate continuous paths. A discontinuity
2206
2243
  * occurs where one curve's lastPoint does not match the next curve's
2207
2244
  * firstPoint.
@@ -2307,7 +2344,7 @@ function booleanOperation(first, second, config) {
2307
2344
  });
2308
2345
  const finalLastWasSame = lastWasSame;
2309
2346
  if (finalLastWasSame !== null && segmentsIn === 1) assembledCurves = [...finalLastWasSame, ...assembledCurves];
2310
- const paths = splitPaths(assembledCurves).filter((b) => b.length > 0).map((b) => new require_blueprint.Blueprint(b));
2347
+ const paths = splitPaths(mergeCollinearSegments(assembledCurves)).filter((b) => b.length > 0).map((b) => new require_blueprint.Blueprint(b));
2311
2348
  if (paths.length === 0) return null;
2312
2349
  if (paths.length === 1) {
2313
2350
  const single = paths[0];
@@ -56,7 +56,12 @@ function fuse(a, b, { optimisation = "none", simplify = false, signal, fuzzyValu
56
56
  if (diagnostics.hasErrors) {
57
57
  if (require_shapeTypes.getKernel().isNull(resultShape)) {
58
58
  require_shapeTypes.getKernel().dispose(resultShape);
59
- return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors and produced no result.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
59
+ console.warn("brepjs: fuse history path produced null result; retrying without evolution tracking.", diagnostics);
60
+ return castToShape3D(require_shapeTypes.getKernel().fuse(a.wrapped, b.wrapped, {
61
+ optimisation,
62
+ simplify,
63
+ fuzzyValue
64
+ }), "FUSE_NOT_3D", "Fuse did not produce a 3D shape");
60
65
  }
61
66
  console.warn("brepjs: fuse reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
62
67
  }
@@ -84,7 +89,12 @@ function cut(base, tool, { optimisation = "none", simplify = false, signal, fuzz
84
89
  if (diagnostics.hasErrors) {
85
90
  if (require_shapeTypes.getKernel().isNull(resultShape)) {
86
91
  require_shapeTypes.getKernel().dispose(resultShape);
87
- return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors and produced no result.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
92
+ console.warn("brepjs: cut history path produced null result; retrying without evolution tracking.", diagnostics);
93
+ return castToShape3D(require_shapeTypes.getKernel().cut(base.wrapped, tool.wrapped, {
94
+ optimisation,
95
+ simplify,
96
+ fuzzyValue
97
+ }), "CUT_NOT_3D", "Cut did not produce a 3D shape");
88
98
  }
89
99
  console.warn("brepjs: cut reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
90
100
  }
@@ -110,7 +120,11 @@ function intersect(a, b, { simplify = false, signal, fuzzyValue, unsafe: _unsafe
110
120
  if (diagnostics.hasErrors) {
111
121
  if (require_shapeTypes.getKernel().isNull(resultShape)) {
112
122
  require_shapeTypes.getKernel().dispose(resultShape);
113
- return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors and produced no result.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
123
+ console.warn("brepjs: intersect history path produced null result; retrying without evolution tracking.", diagnostics);
124
+ return castToShape3D(require_shapeTypes.getKernel().intersect(a.wrapped, b.wrapped, {
125
+ simplify,
126
+ fuzzyValue
127
+ }), "INTERSECT_NOT_3D", "Intersect did not produce a 3D shape");
114
128
  }
115
129
  console.warn("brepjs: intersect reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
116
130
  }
@@ -56,7 +56,12 @@ function fuse(a, b, { optimisation = "none", simplify = false, signal, fuzzyValu
56
56
  if (diagnostics.hasErrors) {
57
57
  if (getKernel().isNull(resultShape)) {
58
58
  getKernel().dispose(resultShape);
59
- return err(kernelError(BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors and produced no result.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
59
+ console.warn("brepjs: fuse history path produced null result; retrying without evolution tracking.", diagnostics);
60
+ return castToShape3D(getKernel().fuse(a.wrapped, b.wrapped, {
61
+ optimisation,
62
+ simplify,
63
+ fuzzyValue
64
+ }), "FUSE_NOT_3D", "Fuse did not produce a 3D shape");
60
65
  }
61
66
  console.warn("brepjs: fuse reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
62
67
  }
@@ -84,7 +89,12 @@ function cut(base, tool, { optimisation = "none", simplify = false, signal, fuzz
84
89
  if (diagnostics.hasErrors) {
85
90
  if (getKernel().isNull(resultShape)) {
86
91
  getKernel().dispose(resultShape);
87
- return err(kernelError(BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors and produced no result.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
92
+ console.warn("brepjs: cut history path produced null result; retrying without evolution tracking.", diagnostics);
93
+ return castToShape3D(getKernel().cut(base.wrapped, tool.wrapped, {
94
+ optimisation,
95
+ simplify,
96
+ fuzzyValue
97
+ }), "CUT_NOT_3D", "Cut did not produce a 3D shape");
88
98
  }
89
99
  console.warn("brepjs: cut reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
90
100
  }
@@ -110,7 +120,11 @@ function intersect(a, b, { simplify = false, signal, fuzzyValue, unsafe: _unsafe
110
120
  if (diagnostics.hasErrors) {
111
121
  if (getKernel().isNull(resultShape)) {
112
122
  getKernel().dispose(resultShape);
113
- return err(kernelError(BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors and produced no result.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
123
+ console.warn("brepjs: intersect history path produced null result; retrying without evolution tracking.", diagnostics);
124
+ return castToShape3D(getKernel().intersect(a.wrapped, b.wrapped, {
125
+ simplify,
126
+ fuzzyValue
127
+ }), "INTERSECT_NOT_3D", "Intersect did not produce a 3D shape");
114
128
  }
115
129
  console.warn("brepjs: intersect reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
116
130
  }
package/dist/brepjs.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-Bk5q5z-m.cjs");
2
+ const require_drawFns = require("./drawFns-PktTJbzy.cjs");
3
3
  const require_shapeTypes = require("./shapeTypes-Cs7uihz8.cjs");
4
4
  const require_occtWasmAdapter = require("./occtWasmAdapter-DcGOi3MQ.cjs");
5
5
  const require_errors = require("./errors-CXRNVCec.cjs");
@@ -12,16 +12,16 @@ const require_curveFns = require("./curveFns-BErRtKDj.cjs");
12
12
  const require_meshFns = require("./meshFns-rMEka_pV.cjs");
13
13
  const require_arrayAccess = require("./arrayAccess-CmulMesb.cjs");
14
14
  const require_surfaceBuilders = require("./surfaceBuilders-Bgc5TlIe.cjs");
15
- const require_booleanFns = require("./booleanFns-D3wX7_qO.cjs");
15
+ const require_booleanFns = require("./booleanFns-8kJL7byz.cjs");
16
16
  const require_primitiveFns = require("./primitiveFns-B1R8RWjt.cjs");
17
- const require_historyFns = require("./historyFns-DAY8a7Ss.cjs");
18
- const require_boolean2D = require("./boolean2D-CQE7rswO.cjs");
17
+ const require_historyFns = require("./historyFns-DbUJQAXI.cjs");
18
+ const require_boolean2D = require("./boolean2D-Cpk3Ieie.cjs");
19
19
  const require_helpers = require("./helpers-CpCe09zS.cjs");
20
20
  const require_solidBuilders = require("./solidBuilders-BMv6UQUY.cjs");
21
21
  const require_measureFns = require("./measureFns-vgnbVhDc.cjs");
22
22
  const require_cornerFinder = require("./cornerFinder-BybcZVxL.cjs");
23
23
  const require_extrudeFns = require("./extrudeFns-7_WDVoEg.cjs");
24
- const require_blueprintFns = require("./blueprintFns-DFLtehf-.cjs");
24
+ const require_blueprintFns = require("./blueprintFns-CXdRmpJv.cjs");
25
25
  const require_importFns = require("./importFns-B-5chCzB.cjs");
26
26
  const require_shapeRefFns = require("./shapeRefFns-MA4_U4Fn.cjs");
27
27
  const require_workerHandler = require("./workerHandler-C-7OUJsa.cjs");
package/dist/brepjs.js CHANGED
@@ -10,17 +10,17 @@ import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrie
10
10
  import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-CA6fJ-Z0.js";
11
11
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-xxcB3YNq.js";
12
12
  import { n as fill, r as makeFace } from "./surfaceBuilders-CL8MJABt.js";
13
- import { a as fuseAll, c as sectionToFace$1, i as fuse$1, l as slice$1, n as cut$1, o as intersect$1, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-C-IpkYUW.js";
13
+ import { a as fuseAll, c as sectionToFace$1, i as fuse$1, l as slice$1, n as cut$1, o as intersect$1, r as cutAll, s as section$1, t as booleanPipeline, u as split$1 } from "./booleanFns-BmOsJHAY.js";
14
14
  import { $ as getNurbsSurfaceData, A as fixShape, B as offset$1, C as threePointArc, D as wireLoop, E as wire, F as isValid$1, G as chamferWithEvolution, H as thicken$1, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, L as chamfer$1, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, R as draft$1, S as tangentArc, T as vertex, U as variableFillet, V as shell$1, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, j as heal$1, k as fixSelfIntersection, l as ellipse, lt as toLODGeometryData, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, ut as toLineGeometryData, v as sewShells, w as torus, x as subFace, y as solid, z as fillet$1 } from "./primitiveFns-DtfUR91z.js";
15
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-s3knhOiM.js";
16
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, f as Sketch, h as organiseBlueprints, i as cutBlueprints, m as loftAll, n as fuse2D, o as intersectBlueprints, p as loft$1, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CpSRx5_U.js";
15
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, f as serializeHistory, g as addChild, h as undoLast, i as deserializeHistory, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-B3d7YiP9.js";
16
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, f as Sketch, h as organiseBlueprints, i as cutBlueprints, m as loftAll, n as fuse2D, o as intersectBlueprints, p as loft$1, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BtmgEhzg.js";
17
17
  import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DsVYL2Ri.js";
18
- import { $ as sketchFaceOffset, B as drawSingleCircle, C as cameraFromPlane, D as makeProjectedEdges, E as projectEdges, F as drawParametricFunction, G as loadFont, H as drawText, I as drawPointsInterpolation, J as textMetrics, K as sketchText, L as drawPolysides, M as draw, N as drawCircle, O as isProjectionPlane, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, T as createCamera, U as fontMetrics, V as drawSingleEllipse, W as getFont, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, q as textBlueprints, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, w as cameraLookAt, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-tyuGCCqm.js";
18
+ import { $ as sketchFaceOffset, B as drawSingleCircle, C as cameraFromPlane, D as makeProjectedEdges, E as projectEdges, F as drawParametricFunction, G as loadFont, H as drawText, I as drawPointsInterpolation, J as textMetrics, K as sketchText, L as drawPolysides, M as draw, N as drawCircle, O as isProjectionPlane, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, T as createCamera, U as fontMetrics, V as drawSingleEllipse, W as getFont, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, q as textBlueprints, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, w as cameraLookAt, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-Rn-dEfBR.js";
19
19
  import { r as makeCylinder } from "./solidBuilders-CHvrwtLL.js";
20
20
  import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-gRr84qGk.js";
21
21
  import { t as cornerFinder } from "./cornerFinder-C7k0yipe.js";
22
22
  import { a as guidedSweep, c as sweep, i as complexExtrude, l as twistExtrude, n as extrudeAll, o as multiSectionSweep, r as revolve$1, s as supportExtrude, t as extrude$1 } from "./extrudeFns-pjrR5ECA.js";
23
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DLDx4XFc.js";
23
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DgUIqFgy.js";
24
24
  import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-C0Edyiov.js";
25
25
  import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-DjWRttT2.js";
26
26
  import { a as createTaskQueue, c as isEmpty$1, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-o2xzAfFk.js";
@@ -38,7 +38,7 @@ const require_planeOps = require("./planeOps-DoTESDTM.cjs");
38
38
  const require_curveFns = require("./curveFns-BErRtKDj.cjs");
39
39
  const require_arrayAccess = require("./arrayAccess-CmulMesb.cjs");
40
40
  const require_surfaceBuilders = require("./surfaceBuilders-Bgc5TlIe.cjs");
41
- const require_boolean2D = require("./boolean2D-CQE7rswO.cjs");
41
+ const require_boolean2D = require("./boolean2D-Cpk3Ieie.cjs");
42
42
  const require_helpers = require("./helpers-CpCe09zS.cjs");
43
43
  const require_blueprint = require("./blueprint-BvUKWbkE.cjs");
44
44
  const require_solidBuilders = require("./solidBuilders-BMv6UQUY.cjs");
@@ -7,7 +7,7 @@ import { a as planeToWorld, o as resolvePlane } from "./planeOps-C94s53Ia.js";
7
7
  import { m as offsetWire2D } from "./curveFns-DbIakl9J.js";
8
8
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-xxcB3YNq.js";
9
9
  import { c as makeBSplineApproximation, d as makeEllipse, p as makeHelix, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeCircle } from "./surfaceBuilders-CL8MJABt.js";
10
- import { S as Flatbush, _ as Blueprints, b as make2dOffset, c as roundedRectangleBlueprint, f as Sketch, g as CompoundBlueprint, h as organiseBlueprints, l as BaseSketcher2d, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D, u as BlueprintSketcher, v as chamferCurves, x as intersectCurves, y as filletCurves } from "./boolean2D-CpSRx5_U.js";
10
+ import { S as Flatbush, _ as Blueprints, b as make2dOffset, c as roundedRectangleBlueprint, f as Sketch, g as CompoundBlueprint, h as organiseBlueprints, l as BaseSketcher2d, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D, u as BlueprintSketcher, v as chamferCurves, x as intersectCurves, y as filletCurves } from "./boolean2D-BtmgEhzg.js";
11
11
  import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-DsVYL2Ri.js";
12
12
  import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-DD20bL3n.js";
13
13
  import { o as makeSolid, t as makeCompound } from "./solidBuilders-CHvrwtLL.js";
@@ -3,7 +3,7 @@ import { A as ok, b as err, d as validationError, n as computationError, r as io
3
3
  import { F as fromBREP } from "./faceFns-wSgaAQrJ.js";
4
4
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-D9etjPgV.js";
5
5
  import { s as toBREP } from "./shapeFns-ClKIHb3P.js";
6
- import { a as fuseAll } from "./booleanFns-C-IpkYUW.js";
6
+ import { a as fuseAll } from "./booleanFns-BmOsJHAY.js";
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -3,7 +3,7 @@ const require_errors = require("./errors-CXRNVCec.cjs");
3
3
  const require_faceFns = require("./faceFns-B8y0xqpK.cjs");
4
4
  const require_vecOps = require("./vecOps-BXvBYIor.cjs");
5
5
  const require_shapeFns = require("./shapeFns-BtGq6ZqD.cjs");
6
- const require_booleanFns = require("./booleanFns-D3wX7_qO.cjs");
6
+ const require_booleanFns = require("./booleanFns-8kJL7byz.cjs");
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_historyFns = require("./historyFns-DAY8a7Ss.cjs");
2
+ const require_historyFns = require("./historyFns-DbUJQAXI.cjs");
3
3
  const require_extrudeFns = require("./extrudeFns-7_WDVoEg.cjs");
4
4
  exports.addChild = require_historyFns.addChild;
5
5
  exports.addStep = require_historyFns.addStep;
@@ -1,3 +1,3 @@
1
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-s3knhOiM.js";
1
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-B3d7YiP9.js";
2
2
  import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-pjrR5ECA.js";
3
3
  export { addChild, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, exportAssemblySTEP, findNode, findStep, getShape as getHistoryShape, gridPattern, linearPattern, modifyStep, registerOperation, registerShape, removeChild, replayFrom, replayHistory, stepCount, stepsFrom, supportExtrude, sweep, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-Bk5q5z-m.cjs");
3
- const require_boolean2D = require("./boolean2D-CQE7rswO.cjs");
2
+ const require_drawFns = require("./drawFns-PktTJbzy.cjs");
3
+ const require_boolean2D = require("./boolean2D-Cpk3Ieie.cjs");
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
package/dist/sketching.js CHANGED
@@ -1,5 +1,5 @@
1
- import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-CpSRx5_U.js";
2
- import { $ as sketchFaceOffset, A as DrawingPen, B as drawSingleCircle, F as drawParametricFunction, H as drawText, I as drawPointsInterpolation, L as drawPolysides, M as draw, N as drawCircle, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, V as drawSingleEllipse, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, at as Sketcher, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, k as Drawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-tyuGCCqm.js";
1
+ import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-BtmgEhzg.js";
2
+ import { $ as sketchFaceOffset, A as DrawingPen, B as drawSingleCircle, F as drawParametricFunction, H as drawText, I as drawPointsInterpolation, L as drawPolysides, M as draw, N as drawCircle, P as drawEllipse, Q as sketchEllipse, R as drawRectangle, S as drawProjection, V as drawSingleEllipse, X as polysideInnerRadius, Y as makeBaseBox, Z as sketchCircle, _ as sketchLoft, a as drawingIntersect, at as Sketcher, b as sketchWires, c as rotateDrawing, d as compoundSketchExtrude, et as sketchHelix, f as compoundSketchFace, g as sketchFace, h as sketchExtrude, i as drawingFuse, it as sketchRoundedRectangle, j as deserializeDrawing, k as Drawing, l as scaleDrawing, m as compoundSketchRevolve, n as drawingCut, nt as sketchPolysides, o as drawingToSketchOnPlane, ot as Sketches, p as compoundSketchLoft, r as drawingFillet, rt as sketchRectangle, s as mirrorDrawing, st as CompoundSketch, t as drawingChamfer, tt as sketchParametricFunction, u as translateDrawing, v as sketchRevolve, x as drawFaceOutline, y as sketchSweep, z as drawRoundedRectangle } from "./drawFns-Rn-dEfBR.js";
3
3
  //#region src/sketching.ts
4
4
  /**
5
5
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1 +1 @@
1
- {"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"booleanFns.d.ts","sourceRoot":"","sources":["../../src/topology/booleanFns.ts"],"names":[],"mappings":"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"}
package/dist/topology.cjs CHANGED
@@ -3,7 +3,7 @@ const require_faceFns = require("./faceFns-B8y0xqpK.cjs");
3
3
  const require_shapeFns = require("./shapeFns-BtGq6ZqD.cjs");
4
4
  const require_curveFns = require("./curveFns-BErRtKDj.cjs");
5
5
  const require_meshFns = require("./meshFns-rMEka_pV.cjs");
6
- const require_booleanFns = require("./booleanFns-D3wX7_qO.cjs");
6
+ const require_booleanFns = require("./booleanFns-8kJL7byz.cjs");
7
7
  const require_primitiveFns = require("./primitiveFns-B1R8RWjt.cjs");
8
8
  exports.addHoles = require_primitiveFns.addHoles;
9
9
  exports.adjacentFaces = require_primitiveFns.adjacentFaces;
package/dist/topology.js CHANGED
@@ -2,6 +2,6 @@ import { A as vertexPosition, C as getVertices, D as iterFaces, E as iterEdges,
2
2
  import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-ClKIHb3P.js";
3
3
  import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-DbIakl9J.js";
4
4
  import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-CA6fJ-Z0.js";
5
- import { a as fuseAll, r as cutAll } from "./booleanFns-C-IpkYUW.js";
5
+ import { a as fuseAll, r as cutAll } from "./booleanFns-BmOsJHAY.js";
6
6
  import { $ as getNurbsSurfaceData, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as getNurbsCurveData, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as wiresOfFace, b as sphere, c as cylinder, ct as toGroupedBufferGeometryData, d as ellipsoid, et as adjacentFaces, f as face, g as offsetFace, h as line, i as bsplineApprox, it as verticesOfEdge, k as fixSelfIntersection, l as ellipse, m as helix, n as bezier, nt as facesOfEdge, o as compound, ot as chamferDistAngle, p as filledFace, q as filletWithEvolution, r as box, rt as sharedEdges, s as cone, st as toBufferGeometryData, t as addHoles, tt as edgesOfFace, u as ellipseArc, ut as toLineGeometryData, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-DtfUR91z.js";
7
7
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "15.1.10",
3
+ "version": "15.1.11",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",