brepjs 20.12.13 → 20.12.15

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 (106) hide show
  1. package/dist/2d/blueprints/blueprintFns.d.ts +2 -0
  2. package/dist/2d.cjs +6 -6
  3. package/dist/2d.js +6 -6
  4. package/dist/{adjacencyFns-Djv832MP.cjs → adjacencyFns-BHdJW5pd.cjs} +3 -3
  5. package/dist/{adjacencyFns-DBN26xm_.js → adjacencyFns-C4yjxKu4.js} +3 -3
  6. package/dist/{blueprint-nVQsEilp.cjs → blueprint-D4juQWXs.cjs} +5 -5
  7. package/dist/{blueprint-BTccTqFy.js → blueprint-ku_wYIZl.js} +5 -5
  8. package/dist/{blueprintFns-DFDOgqqe.cjs → blueprintFns-8obtvMEn.cjs} +4 -5
  9. package/dist/{blueprintFns-DX7yLZpR.js → blueprintFns-B0cqtoFB.js} +4 -5
  10. package/dist/{blueprintSketcher-CoGp1dM9.cjs → blueprintSketcher-CRFpnZAS.cjs} +3 -3
  11. package/dist/{blueprintSketcher-rk64lh8e.js → blueprintSketcher-Dpdgf5aR.js} +3 -3
  12. package/dist/{boolean2D-Dv-57m9d.js → boolean2D-CnCDsRJ4.js} +4 -4
  13. package/dist/{boolean2D-DP2DiMfT.cjs → boolean2D-D3jxohLZ.cjs} +4 -4
  14. package/dist/{booleanFns-CjIZaNBh.js → booleanFns-CItcObM_.js} +5 -5
  15. package/dist/{booleanFns-ewBwy7V_.cjs → booleanFns-GBPAGQ5g.cjs} +5 -5
  16. package/dist/brepjs.cjs +59 -61
  17. package/dist/brepjs.js +59 -61
  18. package/dist/{cameraFns-D0JDXxwO.js → cameraFns-B6ujpyKy.js} +3 -3
  19. package/dist/{cameraFns-DmIQsPIr.cjs → cameraFns-C2XhSqrr.cjs} +3 -3
  20. package/dist/core/shapeTypes.d.ts +8 -4
  21. package/dist/core.cjs +2 -2
  22. package/dist/core.js +2 -2
  23. package/dist/{cornerFinder-CZ1XbVx7.cjs → cornerFinder-CqHx_Itj.cjs} +1 -1
  24. package/dist/{cornerFinder-Df7ajnlz.js → cornerFinder-D3nBhdfi.js} +1 -1
  25. package/dist/{curveFns-DK5eG57I.cjs → curveFns-BQjw0VBB.cjs} +1 -1
  26. package/dist/{curveFns-CUrIF9LG.js → curveFns-nAwtilbz.js} +1 -1
  27. package/dist/{drawFns-BKKWQ4JW.js → drawFns-D9q4Hxc_.js} +12 -12
  28. package/dist/{drawFns-B2CPxqd1.cjs → drawFns-hFjTvdw4.cjs} +12 -12
  29. package/dist/{faceFns-C1Ii1MJ-.cjs → faceFns-DdMpocg9.cjs} +2 -2
  30. package/dist/{faceFns-B3vblI_s.js → faceFns-Dodcduw8.js} +2 -2
  31. package/dist/{healingFns-sfguIlrW.cjs → healingFns-Cdpu44d0.cjs} +5 -5
  32. package/dist/{healingFns-CqiHrJcx.js → healingFns-GNF1rFuw.js} +5 -5
  33. package/dist/{helpers-Dy1moMMd.js → helpers-CoVtL5c9.js} +6 -6
  34. package/dist/{helpers-CTxyRIoE.cjs → helpers-TWIfnyto.cjs} +6 -6
  35. package/dist/{importFns-BXiAHbyn.js → importFns-C9TUFscx.js} +479 -57
  36. package/dist/{importFns-C3ILnGTv.cjs → importFns-P-TcOJ1G.cjs} +479 -57
  37. package/dist/io/importFns.d.ts +6 -4
  38. package/dist/io/ioUtils.d.ts +23 -5
  39. package/dist/io/meshNesting.d.ts +25 -4
  40. package/dist/io/meshTopology.d.ts +33 -0
  41. package/dist/io/stlTriangles.d.ts +10 -0
  42. package/dist/io/threemfImportFns.d.ts +9 -6
  43. package/dist/io.cjs +2 -2
  44. package/dist/io.js +2 -2
  45. package/dist/kernel/capabilities.d.ts +9 -1
  46. package/dist/kernel/interfaces/evolutionOps.d.ts +1 -0
  47. package/dist/kernel/interfaces/transformOps.d.ts +7 -2
  48. package/dist/kernel/occt/transformOps.d.ts +1 -1
  49. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  50. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  51. package/dist/{loftFns-BJqF1p_f.js → loftFns-DVsWk-9v.js} +19 -52
  52. package/dist/{loftFns-CzERU_TY.cjs → loftFns-Uq6BhPVL.cjs} +19 -52
  53. package/dist/{measureFns-DN5YMfKZ.cjs → measureFns-B0Cy7GcQ.cjs} +3 -3
  54. package/dist/{measureFns-CT2TRojo.js → measureFns-DoUWDfAP.js} +3 -3
  55. package/dist/measurement.cjs +2 -2
  56. package/dist/measurement.js +2 -2
  57. package/dist/{meshFns-Cp8uEpVt.js → meshFns-BpBgKIIE.js} +4 -4
  58. package/dist/{meshFns-BDn_nIVv.cjs → meshFns-Bz9PPZWP.cjs} +4 -4
  59. package/dist/{occtWasmAdapter-C-Qi-jxS.js → occtWasmAdapter-DeVQrL5n.js} +4 -3
  60. package/dist/{occtWasmAdapter-BK--kx4R.cjs → occtWasmAdapter-DzxyXpLG.cjs} +4 -3
  61. package/dist/operations/instanceFns.d.ts +3 -2
  62. package/dist/operations/sweepFns.d.ts +15 -3
  63. package/dist/operations.cjs +2 -2
  64. package/dist/operations.js +2 -2
  65. package/dist/{primitiveFns-BzJi89Y6.js → primitiveFns-Crqsdby_.js} +5 -5
  66. package/dist/{primitiveFns-1FcmvZ6Y.cjs → primitiveFns-DE1RROq-.cjs} +5 -5
  67. package/dist/{principalBoxFns-DT4ngNuy.cjs → principalBoxFns-CzEBI6tC.cjs} +3 -3
  68. package/dist/{principalBoxFns-farY7tvh.js → principalBoxFns-DwitCsif.js} +3 -3
  69. package/dist/projection.cjs +1 -1
  70. package/dist/projection.js +1 -1
  71. package/dist/query.cjs +2 -2
  72. package/dist/query.js +2 -2
  73. package/dist/{refResolveFns-dNAt7W9t.js → refResolveFns-BJz9UvXM.js} +6 -6
  74. package/dist/{refResolveFns-By31fyEv.cjs → refResolveFns-DgM_B9WU.cjs} +6 -6
  75. package/dist/{shapeFns-DhTfkxbN.cjs → shapeFns-B9LB54_t.cjs} +2 -2
  76. package/dist/{shapeFns-381QqZ8n.js → shapeFns-Ddh0M4Iz.js} +2 -2
  77. package/dist/shapeRef.cjs +1 -1
  78. package/dist/shapeRef.js +1 -1
  79. package/dist/{shapeTypes-C0NcoN5g.cjs → shapeTypes-C1Ljs72p.cjs} +20 -18
  80. package/dist/{shapeTypes-DfBx__EF.js → shapeTypes-DiCMRU6Z.js} +20 -18
  81. package/dist/sketching/compoundSketch.d.ts +3 -2
  82. package/dist/sketching/sketch.d.ts +5 -4
  83. package/dist/sketching/sketches.d.ts +3 -2
  84. package/dist/sketching.cjs +3 -3
  85. package/dist/sketching.js +3 -3
  86. package/dist/{solidBuilders-VPkj5ChQ.cjs → solidBuilders-C6_6tZXG.cjs} +3 -3
  87. package/dist/{solidBuilders-BZ1qXlFZ.js → solidBuilders-Dzhk5L6w.js} +3 -3
  88. package/dist/{surfaceBuilders-DQre19g8.cjs → surfaceBuilders-CU_vd71e.cjs} +3 -3
  89. package/dist/{surfaceBuilders-sBre5aYy.js → surfaceBuilders-Idshk6C3.js} +3 -3
  90. package/dist/text.cjs +2 -2
  91. package/dist/text.js +2 -2
  92. package/dist/{textBlueprints-ChDNr0L4.cjs → textBlueprints-BmIxy1fi.cjs} +8 -8
  93. package/dist/{textBlueprints-DCorV4gM.js → textBlueprints-DyT-kfxc.js} +8 -8
  94. package/dist/{textMetrics-C0qTX3sH.cjs → textMetrics-CbDASt0r.cjs} +1 -1
  95. package/dist/{textMetrics-ByzyMC1I.js → textMetrics-DuzBLY9z.js} +1 -1
  96. package/dist/{threadFns-AJP69FU6.js → threadFns-CN1R3YKa.js} +7 -7
  97. package/dist/{threadFns-CzWqzDN_.cjs → threadFns-YPn7KF9u.cjs} +7 -7
  98. package/dist/topology/apiTypes.d.ts +3 -3
  99. package/dist/topology/wrapperFns.d.ts +11 -2
  100. package/dist/topology.cjs +9 -9
  101. package/dist/topology.js +9 -9
  102. package/dist/{topologyQueryFns-svM8Yfsk.cjs → topologyQueryFns-0Ycw298Y.cjs} +1 -1
  103. package/dist/{topologyQueryFns-CTCsQIH_.js → topologyQueryFns-CNOqc1rB.js} +1 -1
  104. package/dist/{validityTypes-BCUWXQNA.cjs → validityTypes-CXnc46WG.cjs} +1 -1
  105. package/dist/{validityTypes-DrWg6_qM.js → validityTypes-rUpnumpL.js} +1 -1
  106. package/package.json +1 -1
@@ -34,6 +34,8 @@ export declare function isInside2D(bp: Blueprint, point: Point2D): boolean;
34
34
  export declare function toSVGPathD(bp: Blueprint): string;
35
35
  /** Translate a 2D blueprint by the given x and y distances. */
36
36
  export declare function translate2D(bp: Blueprint, dx: number, dy: number): Blueprint;
37
+ /** Translate a 2D blueprint by a vector. */
38
+ export declare function translate2D(bp: Blueprint, vector: Point2D): Blueprint;
37
39
  /** Rotate a 2D blueprint by the given angle in degrees. */
38
40
  export declare function rotate2D(bp: Blueprint, angle: number, center?: Point2D): Blueprint;
39
41
  /** Uniformly scale a 2D blueprint by a factor around a center point. */
package/dist/2d.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-CoGp1dM9.cjs");
6
- const require_blueprint = require("./blueprint-nVQsEilp.cjs");
7
- const require_boolean2D = require("./boolean2D-DP2DiMfT.cjs");
8
- const require_blueprintFns = require("./blueprintFns-DFDOgqqe.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-CRFpnZAS.cjs");
6
+ const require_blueprint = require("./blueprint-D4juQWXs.cjs");
7
+ const require_boolean2D = require("./boolean2D-D3jxohLZ.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-8obtvMEn.cjs");
9
9
  // src/core/curve2dHandle.ts
10
10
  /**
11
11
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
package/dist/2d.js CHANGED
@@ -1,10 +1,10 @@
1
- import { F as createKernelHandle, J as getKernel2D, c as createEdge } from "./shapeTypes-DfBx__EF.js";
1
+ import { F as createKernelHandle, J as getKernel2D, c as createEdge } from "./shapeTypes-DiCMRU6Z.js";
2
2
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { E as kernelCallRaw } from "./topologyQueryFns-CTCsQIH_.js";
4
- import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-rk64lh8e.js";
5
- import { t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-BTccTqFy.js";
6
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-Dv-57m9d.js";
7
- 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-DX7yLZpR.js";
3
+ import { E as kernelCallRaw } from "./topologyQueryFns-CNOqc1rB.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-Dpdgf5aR.js";
5
+ import { t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-ku_wYIZl.js";
6
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-CnCDsRJ4.js";
7
+ 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-B0cqtoFB.js";
8
8
  // src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
2
- const require_occtWasmAdapter = require("./occtWasmAdapter-BK--kx4R.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
2
+ const require_occtWasmAdapter = require("./occtWasmAdapter-DzxyXpLG.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  // src/topology/adjacencyFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { E as GeometryCleanupError, K as getActiveKernelId, q as getKernel, r as castResultShapeWithKnownType, t as borrowShapeWithKnownType } from "./shapeTypes-DfBx__EF.js";
2
- import { j as isUnsupportedKernelOperationError } from "./occtWasmAdapter-C-Qi-jxS.js";
3
- import { c as getFaces, f as getVertices, l as getOrCreateCache, s as getEdges } from "./topologyQueryFns-CTCsQIH_.js";
1
+ import { E as GeometryCleanupError, K as getActiveKernelId, q as getKernel, r as castResultShapeWithKnownType, t as borrowShapeWithKnownType } from "./shapeTypes-DiCMRU6Z.js";
2
+ import { j as isUnsupportedKernelOperationError } from "./occtWasmAdapter-DeVQrL5n.js";
3
+ import { c as getFaces, f as getVertices, l as getOrCreateCache, s as getEdges } from "./topologyQueryFns-CNOqc1rB.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
5
  // src/topology/adjacencyFns.ts
6
6
  /**
@@ -1,14 +1,14 @@
1
- const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_types = require("./types-CjF9Rofr.cjs");
6
6
  const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
7
- const require_faceFns = require("./faceFns-C1Ii1MJ-.cjs");
8
- const require_curveFns = require("./curveFns-DK5eG57I.cjs");
7
+ const require_faceFns = require("./faceFns-DdMpocg9.cjs");
8
+ const require_curveFns = require("./curveFns-BQjw0VBB.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-DQre19g8.cjs");
11
- const require_helpers = require("./helpers-CTxyRIoE.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-CU_vd71e.cjs");
11
+ const require_helpers = require("./helpers-TWIfnyto.cjs");
12
12
  // src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,14 +1,14 @@
1
- import { B as unregisterFromCleanup, J as getKernel2D, R as registerForCleanup, c as createEdge, p as createWire, q as getKernel } from "./shapeTypes-DfBx__EF.js";
1
+ import { B as unregisterFromCleanup, J as getKernel2D, R as registerForCleanup, c as createEdge, p as createWire, q as getKernel } from "./shapeTypes-DiCMRU6Z.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
3
3
  import { E as ok, P as unwrap, d as validationError, g as err, n as computationError } from "./errors-BTccWbtE.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { r as toVec3 } from "./types-CKXsIm9-.js";
6
6
  import { r as makePlane } from "./planeOps-D3yDuMux.js";
7
- import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-B3vblI_s.js";
8
- import { p as getOrientation } from "./curveFns-CUrIF9LG.js";
7
+ import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-Dodcduw8.js";
8
+ import { p as getOrientation } from "./curveFns-nAwtilbz.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
10
- import { r as makeFace } from "./surfaceBuilders-sBre5aYy.js";
11
- import { l as add2d, m as normalize2d$1, p as distance2d, t as getSingleFace, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-Dy1moMMd.js";
10
+ import { r as makeFace } from "./surfaceBuilders-Idshk6C3.js";
11
+ import { l as add2d, m as normalize2d$1, p as distance2d, t as getSingleFace, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-CoVtL5c9.js";
12
12
  // src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,6 +1,6 @@
1
1
  const require_errors = require("./errors-O_blYTWT.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-CoGp1dM9.cjs");
3
- const require_blueprint = require("./blueprint-nVQsEilp.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-CRFpnZAS.cjs");
3
+ const require_blueprint = require("./blueprint-D4juQWXs.cjs");
4
4
  // src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -103,9 +103,8 @@ function isInside2D(bp, point) {
103
103
  function toSVGPathD(bp) {
104
104
  return bp.toSVGPathD();
105
105
  }
106
- /** Translate a 2D blueprint by the given x and y distances. */
107
- function translate2D(bp, dx, dy) {
108
- return bp.translate(dx, dy);
106
+ function translate2D(bp, dxOrVector, dy = 0) {
107
+ return typeof dxOrVector === "number" ? bp.translate(dxOrVector, dy) : bp.translate(dxOrVector);
109
108
  }
110
109
  /** Rotate a 2D blueprint by the given angle in degrees. */
111
110
  function rotate2D(bp, angle, center) {
@@ -1,6 +1,6 @@
1
1
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-rk64lh8e.js";
3
- import { t as Blueprint } from "./blueprint-BTccTqFy.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-Dpdgf5aR.js";
3
+ import { t as Blueprint } from "./blueprint-ku_wYIZl.js";
4
4
  // src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -103,9 +103,8 @@ function isInside2D(bp, point) {
103
103
  function toSVGPathD(bp) {
104
104
  return bp.toSVGPathD();
105
105
  }
106
- /** Translate a 2D blueprint by the given x and y distances. */
107
- function translate2D(bp, dx, dy) {
108
- return bp.translate(dx, dy);
106
+ function translate2D(bp, dxOrVector, dy = 0) {
107
+ return typeof dxOrVector === "number" ? bp.translate(dxOrVector, dy) : bp.translate(dxOrVector);
109
108
  }
110
109
  /** Rotate a 2D blueprint by the given angle in degrees. */
111
110
  function rotate2D(bp, angle, center) {
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
6
- const require_helpers = require("./helpers-CTxyRIoE.cjs");
7
- const require_blueprint = require("./blueprint-nVQsEilp.cjs");
6
+ const require_helpers = require("./helpers-TWIfnyto.cjs");
7
+ const require_blueprint = require("./blueprint-D4juQWXs.cjs");
8
8
  // node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
- import { J as getKernel2D, q as getKernel } from "./shapeTypes-DfBx__EF.js";
1
+ import { J as getKernel2D, q as getKernel } from "./shapeTypes-DiCMRU6Z.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
3
3
  import { E as ok, P as unwrap, g as err, n as computationError, s as safeIndex, x as isOk } from "./errors-BTccWbtE.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
6
- import { _ as rotate2d, b as squareDistance2d, d as cartesianToPolar, f as crossProduct2d, g as polarToCartesian, h as polarAngle2d, l as add2d, p as distance2d, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-Dy1moMMd.js";
7
- import { C as isPoint2D, b as normalize2d, c as make2dBezierCurve, d as make2dEllipseArc, g as approximateAsBSpline, h as make2dThreePointArc, l as make2dCircle, m as make2dTangentArc, n as asSVG, p as make2dSegmentCurve, r as viewbox, s as make2dArcFromCenter, t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-BTccTqFy.js";
6
+ import { _ as rotate2d, b as squareDistance2d, d as cartesianToPolar, f as crossProduct2d, g as polarToCartesian, h as polarAngle2d, l as add2d, p as distance2d, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-CoVtL5c9.js";
7
+ import { C as isPoint2D, b as normalize2d, c as make2dBezierCurve, d as make2dEllipseArc, g as approximateAsBSpline, h as make2dThreePointArc, l as make2dCircle, m as make2dTangentArc, n as asSVG, p as make2dSegmentCurve, r as viewbox, s as make2dArcFromCenter, t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-ku_wYIZl.js";
8
8
  // node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
1
  import { i as wasmIndex, n as bug } from "./bug-ClMTAJhe.js";
2
2
  import { P as unwrap, s as safeIndex } from "./errors-BTccWbtE.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-BpgouNir.js";
4
- import { v as zip } from "./surfaceBuilders-sBre5aYy.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-rk64lh8e.js";
6
- import { f as crossProduct2d, o as PRECISION_INTERSECTION, v as samePoint$1, x as subtract2d } from "./helpers-Dy1moMMd.js";
7
- import { S as removeDuplicatePoints, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-BTccTqFy.js";
4
+ import { v as zip } from "./surfaceBuilders-Idshk6C3.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-Dpdgf5aR.js";
6
+ import { f as crossProduct2d, o as PRECISION_INTERSECTION, v as samePoint$1, x as subtract2d } from "./helpers-CoVtL5c9.js";
7
+ import { S as removeDuplicatePoints, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-ku_wYIZl.js";
8
8
  // src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
@@ -1,10 +1,10 @@
1
1
  const require_bug = require("./bug-CBcpIPuf.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
4
- const require_surfaceBuilders = require("./surfaceBuilders-DQre19g8.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-CoGp1dM9.cjs");
6
- const require_helpers = require("./helpers-CTxyRIoE.cjs");
7
- const require_blueprint = require("./blueprint-nVQsEilp.cjs");
4
+ const require_surfaceBuilders = require("./surfaceBuilders-CU_vd71e.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-CRFpnZAS.cjs");
6
+ const require_helpers = require("./helpers-TWIfnyto.cjs");
7
+ const require_blueprint = require("./blueprint-D4juQWXs.cjs");
8
8
  // src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
@@ -1,14 +1,14 @@
1
- import { D as getShapeKind, E as GeometryCleanupError, G as _usingCtx, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-DfBx__EF.js";
1
+ import { D as getShapeKind, E as GeometryCleanupError, G as _usingCtx, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-DiCMRU6Z.js";
2
2
  import { E as ok, P as unwrap, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { C as subShapeHashes, c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CTCsQIH_.js";
3
+ import { C as subShapeHashes, c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-CNOqc1rB.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
5
  import { a as vecDot, g as vecSub, h as vecScale, t as vecAdd } from "./vecOps-S-m9H_fe.js";
6
6
  import { o as resolvePlane } from "./planeOps-D3yDuMux.js";
7
- import { d as getFaceOrigins, f as propagateOriginsByHash, p as propagateOriginsFromEvolution } from "./solidBuilders-BZ1qXlFZ.js";
7
+ import { d as getFaceOrigins, f as propagateOriginsByHash, p as propagateOriginsFromEvolution } from "./solidBuilders-Dzhk5L6w.js";
8
8
  import { n as hasFaceRoles, r as propagateFaceRolesFromEvolution } from "./faceRoleFns-BPxzQF-n.js";
9
- import { t as clone } from "./shapeFns-381QqZ8n.js";
9
+ import { t as clone } from "./shapeFns-Ddh0M4Iz.js";
10
10
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
11
- import { r as makeFace } from "./surfaceBuilders-sBre5aYy.js";
11
+ import { r as makeFace } from "./surfaceBuilders-Idshk6C3.js";
12
12
  // src/topology/metadata/faceTagFns.ts
13
13
  var shapeTagStore = /* @__PURE__ */ new WeakMap();
14
14
  var tagMetadataStore = /* @__PURE__ */ new WeakMap();
@@ -1,14 +1,14 @@
1
- const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
6
  const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
7
- const require_solidBuilders = require("./solidBuilders-VPkj5ChQ.cjs");
7
+ const require_solidBuilders = require("./solidBuilders-C6_6tZXG.cjs");
8
8
  const require_faceRoleFns = require("./faceRoleFns-Db5bYj4Q.cjs");
9
- const require_shapeFns = require("./shapeFns-DhTfkxbN.cjs");
9
+ const require_shapeFns = require("./shapeFns-B9LB54_t.cjs");
10
10
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
11
- const require_surfaceBuilders = require("./surfaceBuilders-DQre19g8.cjs");
11
+ const require_surfaceBuilders = require("./surfaceBuilders-CU_vd71e.cjs");
12
12
  // src/topology/metadata/faceTagFns.ts
13
13
  var shapeTagStore = /* @__PURE__ */ new WeakMap();
14
14
  var tagMetadataStore = /* @__PURE__ */ new WeakMap();
package/dist/brepjs.cjs CHANGED
@@ -1,42 +1,42 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-BW-eSwOZ.cjs");
3
- const require_shapeTypes = require("./shapeTypes-C0NcoN5g.cjs");
4
- const require_occtWasmAdapter = require("./occtWasmAdapter-BK--kx4R.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-C1Ljs72p.cjs");
4
+ const require_occtWasmAdapter = require("./occtWasmAdapter-DzxyXpLG.cjs");
5
5
  const require_bug = require("./bug-CBcpIPuf.cjs");
6
6
  const require_errors = require("./errors-O_blYTWT.cjs");
7
- const require_topologyQueryFns = require("./topologyQueryFns-svM8Yfsk.cjs");
8
- const require_validityTypes = require("./validityTypes-BCUWXQNA.cjs");
7
+ const require_topologyQueryFns = require("./topologyQueryFns-0Ycw298Y.cjs");
8
+ const require_validityTypes = require("./validityTypes-CXnc46WG.cjs");
9
9
  const require_constants = require("./constants-oee0S_x6.cjs");
10
10
  const require_types = require("./types-CjF9Rofr.cjs");
11
11
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
12
12
  const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
13
- const require_faceFns = require("./faceFns-C1Ii1MJ-.cjs");
14
- const require_solidBuilders = require("./solidBuilders-VPkj5ChQ.cjs");
15
- const require_booleanFns = require("./booleanFns-ewBwy7V_.cjs");
16
- const require_primitiveFns = require("./primitiveFns-1FcmvZ6Y.cjs");
17
- const require_shapeFns = require("./shapeFns-DhTfkxbN.cjs");
18
- const require_curveFns = require("./curveFns-DK5eG57I.cjs");
19
- const require_meshFns = require("./meshFns-BDn_nIVv.cjs");
13
+ const require_faceFns = require("./faceFns-DdMpocg9.cjs");
14
+ const require_solidBuilders = require("./solidBuilders-C6_6tZXG.cjs");
15
+ const require_booleanFns = require("./booleanFns-GBPAGQ5g.cjs");
16
+ const require_primitiveFns = require("./primitiveFns-DE1RROq-.cjs");
17
+ const require_shapeFns = require("./shapeFns-B9LB54_t.cjs");
18
+ const require_curveFns = require("./curveFns-BQjw0VBB.cjs");
19
+ const require_meshFns = require("./meshFns-Bz9PPZWP.cjs");
20
20
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
21
- const require_surfaceBuilders = require("./surfaceBuilders-DQre19g8.cjs");
22
- const require_healingFns = require("./healingFns-sfguIlrW.cjs");
23
- const require_threadFns = require("./threadFns-CzWqzDN_.cjs");
24
- const require_blueprintSketcher = require("./blueprintSketcher-CoGp1dM9.cjs");
25
- const require_helpers = require("./helpers-CTxyRIoE.cjs");
26
- const require_blueprint = require("./blueprint-nVQsEilp.cjs");
27
- const require_drawFns = require("./drawFns-B2CPxqd1.cjs");
28
- const require_measureFns = require("./measureFns-DN5YMfKZ.cjs");
29
- const require_cornerFinder = require("./cornerFinder-CZ1XbVx7.cjs");
30
- const require_boolean2D = require("./boolean2D-DP2DiMfT.cjs");
31
- const require_blueprintFns = require("./blueprintFns-DFDOgqqe.cjs");
32
- const require_importFns = require("./importFns-C3ILnGTv.cjs");
33
- const require_textBlueprints = require("./textBlueprints-ChDNr0L4.cjs");
34
- const require_loftFns = require("./loftFns-CzERU_TY.cjs");
35
- const require_refResolveFns = require("./refResolveFns-By31fyEv.cjs");
36
- const require_adjacencyFns = require("./adjacencyFns-Djv832MP.cjs");
37
- const require_cameraFns = require("./cameraFns-DmIQsPIr.cjs");
38
- const require_textMetrics = require("./textMetrics-C0qTX3sH.cjs");
39
- const require_principalBoxFns = require("./principalBoxFns-DT4ngNuy.cjs");
21
+ const require_surfaceBuilders = require("./surfaceBuilders-CU_vd71e.cjs");
22
+ const require_healingFns = require("./healingFns-Cdpu44d0.cjs");
23
+ const require_threadFns = require("./threadFns-YPn7KF9u.cjs");
24
+ const require_blueprintSketcher = require("./blueprintSketcher-CRFpnZAS.cjs");
25
+ const require_helpers = require("./helpers-TWIfnyto.cjs");
26
+ const require_blueprint = require("./blueprint-D4juQWXs.cjs");
27
+ const require_drawFns = require("./drawFns-hFjTvdw4.cjs");
28
+ const require_measureFns = require("./measureFns-B0Cy7GcQ.cjs");
29
+ const require_cornerFinder = require("./cornerFinder-CqHx_Itj.cjs");
30
+ const require_boolean2D = require("./boolean2D-D3jxohLZ.cjs");
31
+ const require_blueprintFns = require("./blueprintFns-8obtvMEn.cjs");
32
+ const require_importFns = require("./importFns-P-TcOJ1G.cjs");
33
+ const require_textBlueprints = require("./textBlueprints-BmIxy1fi.cjs");
34
+ const require_loftFns = require("./loftFns-Uq6BhPVL.cjs");
35
+ const require_refResolveFns = require("./refResolveFns-DgM_B9WU.cjs");
36
+ const require_adjacencyFns = require("./adjacencyFns-BHdJW5pd.cjs");
37
+ const require_cameraFns = require("./cameraFns-C2XhSqrr.cjs");
38
+ const require_textMetrics = require("./textMetrics-CbDASt0r.cjs");
39
+ const require_principalBoxFns = require("./principalBoxFns-CzEBI6tC.cjs");
40
40
  const require_workerPool = require("./workerPool-D5tiNXrI.cjs");
41
41
  // src/kernel/types.ts
42
42
  /** Check if the kernel supports hidden-line-removal projection. */
@@ -2743,6 +2743,7 @@ function instanceCount(inst) {
2743
2743
  * Produce real geometry: a Compound of N placed copies (default), or a single
2744
2744
  * fused solid (`fuse: true`, 3D only). This is where the N kernel transforms
2745
2745
  * happen. A grid-built instance fuses via the faster kernel `gridPattern`.
2746
+ * Either result is a {@link Shape3D}.
2746
2747
  */
2747
2748
  function materialize(inst, opts = {}) {
2748
2749
  const { source, placements, grid } = inst;
@@ -3060,13 +3061,7 @@ function evalSweep(node, ctx) {
3060
3061
  } else return require_errors.err(require_errors.typeCastError("CSG_SWEEP_SPINE", "Sweep.spine: node did not produce a Wire or Edge"));
3061
3062
  const profileWire = require_faceFns.outerWire(face.value);
3062
3063
  scope.register(profileWire);
3063
- const r = require_loftFns.sweep(profileWire, spine, { frenet: node.frenet });
3064
- if (!r.ok) return r;
3065
- if (Array.isArray(r.value)) {
3066
- for (const s of r.value) s[Symbol.dispose]();
3067
- return require_errors.err(require_errors.typeCastError("CSG_SWEEP_SPINE", "Sweep: unexpected shell-mode result"));
3068
- }
3069
- return require_errors.ok(r.value);
3064
+ return require_loftFns.sweep(profileWire, spine, { frenet: node.frenet });
3070
3065
  } catch (_) {
3071
3066
  _usingCtx$6.e = _;
3072
3067
  } finally {
@@ -7279,7 +7274,7 @@ function buildSolidFromMesh$1(vertices, faces) {
7279
7274
  }
7280
7275
  // src/io/threemfImportFns.ts
7281
7276
  /**
7282
- * 3MF import: parses a 3MF ZIP archive and builds one solid per placed object via sewing.
7277
+ * 3MF import: parses a 3MF ZIP archive and builds one shape per placed object via sewing.
7283
7278
  */
7284
7279
  function extractFromZip(data, target) {
7285
7280
  let eocdOffset = -1;
@@ -7668,6 +7663,19 @@ function findDominantColor(triangleColors) {
7668
7663
  }
7669
7664
  function buildSolidFromMesh(mesh) {
7670
7665
  const kernel = require_shapeTypes.getKernel();
7666
+ const triangles = [];
7667
+ for (const [v1, v2, v3] of mesh.triangles) {
7668
+ const va = mesh.vertices[v1];
7669
+ const vb = mesh.vertices[v2];
7670
+ const vc = mesh.vertices[v3];
7671
+ if (!va || !vb || !vc) continue;
7672
+ triangles.push([
7673
+ va,
7674
+ vb,
7675
+ vc
7676
+ ]);
7677
+ }
7678
+ if (kernel.capabilities.sewKeepsOrientation === true) return require_importFns.sewMeshToSolid(triangles, require_errors.BrepErrorCode.THREEMF_IMPORT_FAILED);
7671
7679
  const points = mesh.vertices.map(([x, y, z]) => ({
7672
7680
  x,
7673
7681
  y,
@@ -7678,22 +7686,10 @@ function buildSolidFromMesh(mesh) {
7678
7686
  const solid = kernel.buildSolidFromFaces(points, faces, 1e-6);
7679
7687
  return require_errors.ok(require_shapeTypes.castResultShape(solid));
7680
7688
  } catch {
7681
- const triangles = [];
7682
- for (const [v1, v2, v3] of mesh.triangles) {
7683
- const va = mesh.vertices[v1];
7684
- const vb = mesh.vertices[v2];
7685
- const vc = mesh.vertices[v3];
7686
- if (!va || !vb || !vc) continue;
7687
- triangles.push([
7688
- va,
7689
- vb,
7690
- vc
7691
- ]);
7692
- }
7693
7689
  return require_importFns.sewMeshToSolid(triangles, require_errors.BrepErrorCode.THREEMF_IMPORT_FAILED);
7694
7690
  }
7695
7691
  }
7696
- /** One solid per mesh; several are grouped into a compound that takes ownership of them. */
7692
+ /** One shape per mesh; several are grouped into a compound that takes ownership of them. */
7697
7693
  function buildShapeFromMeshes(meshes) {
7698
7694
  const solids = [];
7699
7695
  for (const mesh of meshes) {
@@ -7713,14 +7709,17 @@ function buildShapeFromMeshes(meshes) {
7713
7709
  /**
7714
7710
  * Import a 3MF file from a Blob.
7715
7711
  *
7716
- * Extracts the model XML from the ZIP archive and builds one solid per placed
7717
- * object by sewing its triangles. Build-item and component transforms are
7718
- * applied, and coordinates are scaled from the model `unit` to millimeters.
7712
+ * Extracts the model XML from the ZIP archive and builds a shape per placed
7713
+ * object by sewing its triangles as `importSTL` sews a file: a `Solid` per
7714
+ * closed body, a `Shell` per open one, and each sealed cavity cut from the body
7715
+ * around it. Build-item and component transforms are applied, and coordinates
7716
+ * are scaled from the model `unit` to millimeters.
7719
7717
  *
7720
7718
  * @param blob - A Blob or File containing 3MF data (.3mf).
7721
- * @returns A `Result` wrapping the imported solid (a `Compound` of solids when the
7722
- * build places several objects), or an error if parsing fails or the build
7723
- * expands to more than 100,000 placed objects or 2,000,000 triangles.
7719
+ * @returns A `Result` wrapping the imported shape (a `Compound` when the build
7720
+ * places several objects or an object holds several bodies), or an error if
7721
+ * parsing fails or the build expands to more than 100,000 placed objects or
7722
+ * 2,000,000 triangles.
7724
7723
  *
7725
7724
  * @example
7726
7725
  * ```ts
@@ -8485,8 +8484,8 @@ function createWrappedBase(val) {
8485
8484
  heal: () => wrapAny(unwrapOrThrow(heal(val))),
8486
8485
  simplify: () => wrapAny(unwrapOrThrow(simplify(val))),
8487
8486
  toBREP: () => unwrapOrThrow(toBREP(val)),
8488
- apply: (fn) => wrapAny(fn(val)),
8489
- applyResult: (fn) => wrapAny(unwrapOrThrow(fn(val))),
8487
+ apply: ((fn) => wrapAny(fn(val))),
8488
+ applyResult: ((fn) => wrapAny(unwrapOrThrow(fn(val)))),
8490
8489
  done: () => val
8491
8490
  };
8492
8491
  }
@@ -8586,8 +8585,7 @@ function createWrappedCurve(val) {
8586
8585
  isClosed: () => require_curveFns.curveIsClosed(val),
8587
8586
  sweep(spine, opts) {
8588
8587
  if (!require_shapeTypes.isWire(val)) throw new Error("sweep requires a Wire");
8589
- const result = unwrapOrThrow(require_loftFns.sweep(asClosedWire(val), resolve(spine), opts));
8590
- return wrap3D(Array.isArray(result) ? result[0] : result);
8588
+ return wrap3D(unwrapOrThrow(require_loftFns.sweep(asClosedWire(val), resolve(spine), opts)));
8591
8589
  }
8592
8590
  };
8593
8591
  }