brepjs 15.1.5 → 15.1.7

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":"intersectionSegments.d.ts","sourceRoot":"","sources":["../../../src/2d/blueprints/intersectionSegments.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAY5C,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAyJxE;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,oBAAoB,EAAE,OAAO,EAAE,EAAE,EACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,OAAO,GAClB,OAAO,CAQT;AAMD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,mBAAmB,EAAE,GAAG,IAAI,CAwE9B"}
1
+ {"version":3,"file":"intersectionSegments.d.ts","sourceRoot":"","sources":["../../../src/2d/blueprints/intersectionSegments.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAW,MAAM,mBAAmB,CAAC;AAG1D,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAC;AAY5C,OAAO,KAAK,EAAW,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AA2KxE;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,oBAAoB,EAAE,OAAO,EAAE,EAAE,EACjC,YAAY,EAAE,OAAO,EACrB,UAAU,EAAE,OAAO,GAClB,OAAO,CAQT;AAMD;;;;;;;GAOG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,GAChB,mBAAmB,EAAE,GAAG,IAAI,CAwE9B"}
package/dist/2d.cjs CHANGED
@@ -2,9 +2,9 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_shapeTypes = require("./shapeTypes-DoBHuzjo.cjs");
3
3
  const require_errors = require("./errors-9zQcQK1H.cjs");
4
4
  const require_faceFns = require("./faceFns-Z6uVCQfc.cjs");
5
- const require_boolean2D = require("./boolean2D-tui3MK0X.cjs");
5
+ const require_boolean2D = require("./boolean2D-C-2D1eJM.cjs");
6
6
  const require_blueprint = require("./blueprint-4w3i6ayW.cjs");
7
- const require_blueprintFns = require("./blueprintFns-C68xzLWi.cjs");
7
+ const require_blueprintFns = require("./blueprintFns-BfxfImfI.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-D3seZBe7.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-C-cgQA3w.js";
3
3
  import { B as kernelCallRaw } from "./faceFns-CBdCV-j8.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-CmdpCG5R.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-dM-8lArM.js";
5
5
  import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-xXn5kpyL.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-Dm3epW6I.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-Dh7aCCTB.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-9zQcQK1H.cjs");
2
- const require_boolean2D = require("./boolean2D-tui3MK0X.cjs");
2
+ const require_boolean2D = require("./boolean2D-C-2D1eJM.cjs");
3
3
  const require_blueprint = require("./blueprint-4w3i6ayW.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-C-cgQA3w.js";
2
- import { g as CompoundBlueprint } from "./boolean2D-CmdpCG5R.js";
2
+ import { g as CompoundBlueprint } from "./boolean2D-dM-8lArM.js";
3
3
  import { t as Blueprint } from "./blueprint-xXn5kpyL.js";
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
@@ -2046,6 +2046,10 @@ function* createSegmentOnPoints(curves, allIntersections, allCommonSegments) {
2046
2046
  };
2047
2047
  let currentCurves = [];
2048
2048
  for (const curve of curves) {
2049
+ if (samePoint(curve.firstPoint, curve.lastPoint)) {
2050
+ currentCurves.push(curve);
2051
+ continue;
2052
+ }
2049
2053
  const endsAtIntersection = matchesIntersection(curve.lastPoint);
2050
2054
  const isCommon = matchesCommonSegment(curve.firstPoint, curve.lastPoint);
2051
2055
  if (endsAtIntersection) {
@@ -2069,8 +2073,9 @@ function* createSegmentOnPoints(curves, allIntersections, allCommonSegments) {
2069
2073
  function removeNonCrossingPoints(allIntersections, segmentedCurve, blueprintToCheck) {
2070
2074
  return allIntersections.filter((intersection) => {
2071
2075
  const touching = segmentedCurve.filter((s) => samePoint(s.firstPoint, intersection) || samePoint(s.lastPoint, intersection));
2072
- if (touching.length % 2) require_errors.bug("removeNonCrossingPoints", "Odd number of segments at intersection point (expected even)");
2073
- const insideFlags = touching.map((segment) => blueprintToCheck.isInside(curveMidPoint(segment)));
2076
+ const effectiveTouching = touching.length % 2 ? touching.filter((s) => !(samePoint(s.firstPoint, intersection) && samePoint(s.lastPoint, intersection))) : touching;
2077
+ if (effectiveTouching.length === 0 || effectiveTouching.length % 2) return false;
2078
+ const insideFlags = effectiveTouching.map((segment) => blueprintToCheck.isInside(curveMidPoint(segment)));
2074
2079
  return !(insideFlags.every(Boolean) || insideFlags.every((f) => !f));
2075
2080
  });
2076
2081
  }
@@ -2046,6 +2046,10 @@ function* createSegmentOnPoints(curves, allIntersections, allCommonSegments) {
2046
2046
  };
2047
2047
  let currentCurves = [];
2048
2048
  for (const curve of curves) {
2049
+ if (samePoint(curve.firstPoint, curve.lastPoint)) {
2050
+ currentCurves.push(curve);
2051
+ continue;
2052
+ }
2049
2053
  const endsAtIntersection = matchesIntersection(curve.lastPoint);
2050
2054
  const isCommon = matchesCommonSegment(curve.firstPoint, curve.lastPoint);
2051
2055
  if (endsAtIntersection) {
@@ -2069,8 +2073,9 @@ function* createSegmentOnPoints(curves, allIntersections, allCommonSegments) {
2069
2073
  function removeNonCrossingPoints(allIntersections, segmentedCurve, blueprintToCheck) {
2070
2074
  return allIntersections.filter((intersection) => {
2071
2075
  const touching = segmentedCurve.filter((s) => samePoint(s.firstPoint, intersection) || samePoint(s.lastPoint, intersection));
2072
- if (touching.length % 2) bug("removeNonCrossingPoints", "Odd number of segments at intersection point (expected even)");
2073
- const insideFlags = touching.map((segment) => blueprintToCheck.isInside(curveMidPoint(segment)));
2076
+ const effectiveTouching = touching.length % 2 ? touching.filter((s) => !(samePoint(s.firstPoint, intersection) && samePoint(s.lastPoint, intersection))) : touching;
2077
+ if (effectiveTouching.length === 0 || effectiveTouching.length % 2) return false;
2078
+ const insideFlags = effectiveTouching.map((segment) => blueprintToCheck.isInside(curveMidPoint(segment)));
2074
2079
  return !(insideFlags.every(Boolean) || insideFlags.every((f) => !f));
2075
2080
  });
2076
2081
  }
@@ -54,8 +54,11 @@ function fuse(a, b, { optimisation = "none", simplify = false, signal, fuzzyValu
54
54
  fuzzyValue
55
55
  });
56
56
  if (diagnostics.hasErrors) {
57
- require_shapeTypes.getKernel().dispose(resultShape);
58
- return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors. The result may be invalid.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
57
+ if (require_shapeTypes.getKernel().isNull(resultShape)) {
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."));
60
+ }
61
+ console.warn("brepjs: fuse reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
59
62
  }
60
63
  const fuseResult = castToShape3D(resultShape, "FUSE_NOT_3D", "Fuse did not produce a 3D shape", "Common causes: overlapping coplanar faces, zero-thickness geometry, or non-manifold input. Try autoHeal() on inputs first.", diagnostics);
61
64
  if (fuseResult.ok) require_shapeFns.propagateAllMetadata(evolution, [a, b], fuseResult.value);
@@ -79,8 +82,11 @@ function cut(base, tool, { optimisation = "none", simplify = false, signal, fuzz
79
82
  fuzzyValue
80
83
  });
81
84
  if (diagnostics.hasErrors) {
82
- require_shapeTypes.getKernel().dispose(resultShape);
83
- return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors. The result may be invalid.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
85
+ if (require_shapeTypes.getKernel().isNull(resultShape)) {
86
+ 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."));
88
+ }
89
+ console.warn("brepjs: cut reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
84
90
  }
85
91
  const cutResult = castToShape3D(resultShape, "CUT_NOT_3D", "Cut did not produce a 3D shape", "Common causes: tool does not fully intersect the base, or produces a zero-thickness sliver. Ensure the tool extends through the shape.", diagnostics);
86
92
  if (cutResult.ok) require_shapeFns.propagateAllMetadata(evolution, [base, tool], cutResult.value);
@@ -102,8 +108,11 @@ function intersect(a, b, { simplify = false, signal, fuzzyValue, unsafe: _unsafe
102
108
  fuzzyValue
103
109
  });
104
110
  if (diagnostics.hasErrors) {
105
- require_shapeTypes.getKernel().dispose(resultShape);
106
- return require_errors.err(require_errors.kernelError(require_errors.BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors. The result may be invalid.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
111
+ if (require_shapeTypes.getKernel().isNull(resultShape)) {
112
+ 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."));
114
+ }
115
+ console.warn("brepjs: intersect reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
107
116
  }
108
117
  const intResult = castToShape3D(resultShape, "INTERSECT_NOT_3D", "Intersect did not produce a 3D shape", "Shapes may not overlap. Verify they share a common volume before intersecting.", diagnostics);
109
118
  if (intResult.ok) require_shapeFns.propagateAllMetadata(evolution, [a, b], intResult.value);
@@ -54,8 +54,11 @@ function fuse(a, b, { optimisation = "none", simplify = false, signal, fuzzyValu
54
54
  fuzzyValue
55
55
  });
56
56
  if (diagnostics.hasErrors) {
57
- getKernel().dispose(resultShape);
58
- return err(kernelError(BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors. The result may be invalid.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
57
+ if (getKernel().isNull(resultShape)) {
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."));
60
+ }
61
+ console.warn("brepjs: fuse reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
59
62
  }
60
63
  const fuseResult = castToShape3D(resultShape, "FUSE_NOT_3D", "Fuse did not produce a 3D shape", "Common causes: overlapping coplanar faces, zero-thickness geometry, or non-manifold input. Try autoHeal() on inputs first.", diagnostics);
61
64
  if (fuseResult.ok) propagateAllMetadata(evolution, [a, b], fuseResult.value);
@@ -79,8 +82,11 @@ function cut(base, tool, { optimisation = "none", simplify = false, signal, fuzz
79
82
  fuzzyValue
80
83
  });
81
84
  if (diagnostics.hasErrors) {
82
- getKernel().dispose(resultShape);
83
- return err(kernelError(BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors. The result may be invalid.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
85
+ if (getKernel().isNull(resultShape)) {
86
+ 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."));
88
+ }
89
+ console.warn("brepjs: cut reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
84
90
  }
85
91
  const cutResult = castToShape3D(resultShape, "CUT_NOT_3D", "Cut did not produce a 3D shape", "Common causes: tool does not fully intersect the base, or produces a zero-thickness sliver. Ensure the tool extends through the shape.", diagnostics);
86
92
  if (cutResult.ok) propagateAllMetadata(evolution, [base, tool], cutResult.value);
@@ -102,8 +108,11 @@ function intersect(a, b, { simplify = false, signal, fuzzyValue, unsafe: _unsafe
102
108
  fuzzyValue
103
109
  });
104
110
  if (diagnostics.hasErrors) {
105
- getKernel().dispose(resultShape);
106
- return err(kernelError(BrepErrorCode.BOOLEAN_HAS_ERRORS, "Boolean operation reported internal errors. The result may be invalid.", void 0, { diagnostics }, "Use checkBoolean() to pre-validate operands, or try autoHeal() on inputs."));
111
+ if (getKernel().isNull(resultShape)) {
112
+ 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."));
114
+ }
115
+ console.warn("brepjs: intersect reported OCCT warnings/errors but produced a shape. Continuing with result.", diagnostics);
107
116
  }
108
117
  const intResult = castToShape3D(resultShape, "INTERSECT_NOT_3D", "Intersect did not produce a 3D shape", "Shapes may not overlap. Verify they share a common volume before intersecting.", diagnostics);
109
118
  if (intResult.ok) propagateAllMetadata(evolution, [a, b], intResult.value);
package/dist/brepjs.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_drawFns = require("./drawFns-Fz0E1ioE.cjs");
2
+ const require_drawFns = require("./drawFns-ByjqoZ3q.cjs");
3
3
  const require_shapeTypes = require("./shapeTypes-DoBHuzjo.cjs");
4
4
  const require_errors = require("./errors-9zQcQK1H.cjs");
5
5
  const require_faceFns = require("./faceFns-Z6uVCQfc.cjs");
@@ -11,16 +11,16 @@ const require_curveFns = require("./curveFns-6oIwf4om.cjs");
11
11
  const require_meshFns = require("./meshFns-cz1MJEPV.cjs");
12
12
  const require_arrayAccess = require("./arrayAccess-DsvS2R9t.cjs");
13
13
  const require_surfaceBuilders = require("./surfaceBuilders-DpoOuVmz.cjs");
14
- const require_booleanFns = require("./booleanFns-BJtawwA0.cjs");
14
+ const require_booleanFns = require("./booleanFns-CtB8HSYZ.cjs");
15
15
  const require_primitiveFns = require("./primitiveFns-DIKm4sVE.cjs");
16
- const require_historyFns = require("./historyFns-CHcfaeHI.cjs");
17
- const require_boolean2D = require("./boolean2D-tui3MK0X.cjs");
16
+ const require_historyFns = require("./historyFns-C6pu-q9C.cjs");
17
+ const require_boolean2D = require("./boolean2D-C-2D1eJM.cjs");
18
18
  const require_helpers = require("./helpers-WtVQGyPq.cjs");
19
19
  const require_solidBuilders = require("./solidBuilders-CJLijwcy.cjs");
20
20
  const require_measureFns = require("./measureFns-Dw3gJxtW.cjs");
21
21
  const require_cornerFinder = require("./cornerFinder-D7Q8B0yg.cjs");
22
22
  const require_extrudeFns = require("./extrudeFns-Don0l4Wq.cjs");
23
- const require_blueprintFns = require("./blueprintFns-C68xzLWi.cjs");
23
+ const require_blueprintFns = require("./blueprintFns-BfxfImfI.cjs");
24
24
  const require_importFns = require("./importFns-CP0NNYks.cjs");
25
25
  const require_shapeRefFns = require("./shapeRefFns-BYkjUjgL.cjs");
26
26
  const require_workerHandler = require("./workerHandler-Dl5bx8Qj.cjs");
package/dist/brepjs.js CHANGED
@@ -9,17 +9,17 @@ import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrie
9
9
  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-DjQq5QKD.js";
10
10
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-E7Lh-LcJ.js";
11
11
  import { n as fill, r as makeFace } from "./surfaceBuilders-DewviEAb.js";
12
- 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-Dekoe2OM.js";
12
+ 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-rk8Xn7sF.js";
13
13
  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-C-Z7pzVe.js";
14
- 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-DEBKY9ZA.js";
15
- 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-CmdpCG5R.js";
14
+ 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-DAwbriEi.js";
15
+ 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-dM-8lArM.js";
16
16
  import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-Cko_0e9R.js";
17
- 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-BW4ImsKe.js";
17
+ 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-EKQejy-Y.js";
18
18
  import { r as makeCylinder } from "./solidBuilders-BIWD6a-a.js";
19
19
  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-Br7xFNAT.js";
20
20
  import { t as cornerFinder } from "./cornerFinder-C8VD-Eap.js";
21
21
  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-xBCFBG7e.js";
22
- 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-Dm3epW6I.js";
22
+ 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-Dh7aCCTB.js";
23
23
  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-M40taVnq.js";
24
24
  import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-C-h3UVLi.js";
25
25
  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-DHY0IzlP.js";
@@ -38,7 +38,7 @@ const require_planeOps = require("./planeOps-BXsq07La.cjs");
38
38
  const require_curveFns = require("./curveFns-6oIwf4om.cjs");
39
39
  const require_arrayAccess = require("./arrayAccess-DsvS2R9t.cjs");
40
40
  const require_surfaceBuilders = require("./surfaceBuilders-DpoOuVmz.cjs");
41
- const require_boolean2D = require("./boolean2D-tui3MK0X.cjs");
41
+ const require_boolean2D = require("./boolean2D-C-2D1eJM.cjs");
42
42
  const require_helpers = require("./helpers-WtVQGyPq.cjs");
43
43
  const require_blueprint = require("./blueprint-4w3i6ayW.cjs");
44
44
  const require_solidBuilders = require("./solidBuilders-CJLijwcy.cjs");
@@ -7,7 +7,7 @@ import { a as planeToWorld, o as resolvePlane } from "./planeOps-De5KoY28.js";
7
7
  import { m as offsetWire2D } from "./curveFns-JTh5okGu.js";
8
8
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-E7Lh-LcJ.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-DewviEAb.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-CmdpCG5R.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-dM-8lArM.js";
11
11
  import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-Cko_0e9R.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-xXn5kpyL.js";
13
13
  import { o as makeSolid, t as makeCompound } from "./solidBuilders-BIWD6a-a.js";
@@ -3,7 +3,7 @@ const require_errors = require("./errors-9zQcQK1H.cjs");
3
3
  const require_faceFns = require("./faceFns-Z6uVCQfc.cjs");
4
4
  const require_vecOps = require("./vecOps-EPq_YMgb.cjs");
5
5
  const require_shapeFns = require("./shapeFns-D5WE20WA.cjs");
6
- const require_booleanFns = require("./booleanFns-BJtawwA0.cjs");
6
+ const require_booleanFns = require("./booleanFns-CtB8HSYZ.cjs");
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 @@ import { A as ok, b as err, d as validationError, n as computationError, r as io
3
3
  import { F as fromBREP } from "./faceFns-CBdCV-j8.js";
4
4
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-DaF0LUsD.js";
5
5
  import { s as toBREP } from "./shapeFns-C_gFeOcq.js";
6
- import { a as fuseAll } from "./booleanFns-Dekoe2OM.js";
6
+ import { a as fuseAll } from "./booleanFns-rk8Xn7sF.js";
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-CHcfaeHI.cjs");
2
+ const require_historyFns = require("./historyFns-C6pu-q9C.cjs");
3
3
  const require_extrudeFns = require("./extrudeFns-Don0l4Wq.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-DEBKY9ZA.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-DAwbriEi.js";
2
2
  import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-xBCFBG7e.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-Fz0E1ioE.cjs");
3
- const require_boolean2D = require("./boolean2D-tui3MK0X.cjs");
2
+ const require_drawFns = require("./drawFns-ByjqoZ3q.cjs");
3
+ const require_boolean2D = require("./boolean2D-C-2D1eJM.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-CmdpCG5R.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-BW4ImsKe.js";
1
+ import { d as FaceSketcher, f as Sketch, l as BaseSketcher2d, u as BlueprintSketcher } from "./boolean2D-dM-8lArM.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-EKQejy-Y.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-Z6uVCQfc.cjs");
3
3
  const require_shapeFns = require("./shapeFns-D5WE20WA.cjs");
4
4
  const require_curveFns = require("./curveFns-6oIwf4om.cjs");
5
5
  const require_meshFns = require("./meshFns-cz1MJEPV.cjs");
6
- const require_booleanFns = require("./booleanFns-BJtawwA0.cjs");
6
+ const require_booleanFns = require("./booleanFns-CtB8HSYZ.cjs");
7
7
  const require_primitiveFns = require("./primitiveFns-DIKm4sVE.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-C_gFeOcq.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-JTh5okGu.js";
4
4
  import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-DjQq5QKD.js";
5
- import { a as fuseAll, r as cutAll } from "./booleanFns-Dekoe2OM.js";
5
+ import { a as fuseAll, r as cutAll } from "./booleanFns-rk8Xn7sF.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-C-Z7pzVe.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.5",
3
+ "version": "15.1.7",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",
@@ -225,7 +225,7 @@
225
225
  "husky": "9.1.7",
226
226
  "knip": "6.0.1",
227
227
  "lint-staged": "16.4.0",
228
- "occt-wasm": "0.1.1",
228
+ "occt-wasm": "1.1.0",
229
229
  "prettier": "3.8.1",
230
230
  "size-limit": "12.0.1",
231
231
  "typedoc": "0.28.17",
@@ -238,7 +238,7 @@
238
238
  "peerDependencies": {
239
239
  "brepjs-opencascade": "^0.5.1 || ^0.6.0 || ^0.7.0 || ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^0.14.0 || ^0.15.0",
240
240
  "brepkit-wasm": "^0.10.1 || ^1.0.0 || ^2.0.0",
241
- "occt-wasm": "^0.1.0"
241
+ "occt-wasm": "^0.1.0 || ^1.0.0"
242
242
  },
243
243
  "peerDependenciesMeta": {
244
244
  "brepjs-opencascade": {