brepjs 18.18.0 → 18.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. package/README.md +24 -14
  2. package/dist/2d.cjs +7 -7
  3. package/dist/2d.js +7 -7
  4. package/dist/{blueprint-Dz0LPfbm.cjs → blueprint-Bl0YQjkk.cjs} +7 -7
  5. package/dist/{blueprint-Dod3Pucj.js → blueprint-Cy5veXS3.js} +7 -7
  6. package/dist/{blueprintFns-BKCwR41V.js → blueprintFns-CSB51aXT.js} +3 -3
  7. package/dist/{blueprintFns-BFFIJd1K.cjs → blueprintFns-Dkccxo6d.cjs} +3 -3
  8. package/dist/{blueprintSketcher-BBWw_BeX.cjs → blueprintSketcher-Cr9A-R8I.cjs} +4 -4
  9. package/dist/{blueprintSketcher-mujcO3uV.js → blueprintSketcher-DeEogKbs.js} +4 -4
  10. package/dist/{boolean2D-Bx0_gvCS.cjs → boolean2D-BZ1UjpjX.cjs} +5 -5
  11. package/dist/{boolean2D-CdSpNYuw.js → boolean2D-lE2uy4Mm.js} +5 -5
  12. package/dist/{booleanFns-CipkzoSX.cjs → booleanFns-CD25YZGm.cjs} +6 -6
  13. package/dist/{booleanFns-D4r10eG8.js → booleanFns-CtvYfQZq.js} +6 -6
  14. package/dist/brepjs.cjs +1725 -34
  15. package/dist/brepjs.js +1737 -54
  16. package/dist/{cameraFns-BbgWV9ea.cjs → cameraFns-CR2inEBU.cjs} +3 -3
  17. package/dist/{cameraFns-DfqWQ17C.js → cameraFns-Dg1lQP0S.js} +3 -3
  18. package/dist/core/errors.d.ts +1 -0
  19. package/dist/core.cjs +3 -3
  20. package/dist/core.js +3 -3
  21. package/dist/{cornerFinder-ATn5SKjb.cjs → cornerFinder-CXN1IxPg.cjs} +1 -1
  22. package/dist/{cornerFinder-KEk4VpTe.js → cornerFinder-tfWhcA2M.js} +1 -1
  23. package/dist/csg/builders.d.ts +36 -0
  24. package/dist/csg/edit.d.ts +5 -0
  25. package/dist/csg/evaluate.d.ts +52 -0
  26. package/dist/csg/evaluators/booleans.d.ts +11 -0
  27. package/dist/csg/evaluators/compound.d.ts +8 -0
  28. package/dist/csg/evaluators/context.d.ts +9 -0
  29. package/dist/csg/evaluators/primitives.d.ts +15 -0
  30. package/dist/csg/evaluators/transforms.d.ts +10 -0
  31. package/dist/csg/expressions.d.ts +72 -0
  32. package/dist/csg/hash.d.ts +9 -0
  33. package/dist/csg/index.d.ts +15 -0
  34. package/dist/csg/optimize.d.ts +4 -0
  35. package/dist/csg/serialize.d.ts +9 -0
  36. package/dist/csg/types.d.ts +128 -0
  37. package/dist/{curveFns-DkpbzRtv.js → curveFns-BEF8t7XY.js} +2 -2
  38. package/dist/{curveFns-DhQVXMK0.cjs → curveFns-CcheHkr4.cjs} +2 -2
  39. package/dist/{drawFns-1JQUg7iu.js → drawFns-CEjshioX.js} +14 -14
  40. package/dist/{drawFns-N-BXk82r.cjs → drawFns-CuzUHFyD.cjs} +14 -14
  41. package/dist/{errors-0fYW_YnO.js → errors-8GZS3vy9.js} +1 -0
  42. package/dist/{errors-Dv6pfNct.cjs → errors-BiY8-q1s.cjs} +1 -0
  43. package/dist/{extrudeFns-DmNzWF1a.cjs → extrudeFns-BwU4ng1V.cjs} +2 -2
  44. package/dist/{extrudeFns-hUNicYgI.js → extrudeFns-gcWJSK9T.js} +2 -2
  45. package/dist/{faceFns-C9tfTZwq.js → faceFns-BNhFoEII.js} +3 -3
  46. package/dist/{faceFns-UQacl82e.cjs → faceFns-BbESdudy.cjs} +3 -3
  47. package/dist/{helpers-D4gm8z-T.cjs → helpers-BU3ANziG.cjs} +7 -7
  48. package/dist/{helpers-D3JzEtZl.js → helpers-D1J5VHbk.js} +7 -7
  49. package/dist/{historyFns-C3iimEbF.cjs → historyFns-DHOoBh6G.cjs} +5 -5
  50. package/dist/{historyFns-B4M2dl-F.js → historyFns-XZp1D_aA.js} +5 -5
  51. package/dist/{importFns-Cu1aMSAb.cjs → importFns-CsRJ9lbm.cjs} +3 -3
  52. package/dist/{importFns-CJd7ltsW.js → importFns-D1oB3yU8.js} +3 -3
  53. package/dist/index.d.ts +4 -1
  54. package/dist/io.cjs +2 -2
  55. package/dist/io.js +2 -2
  56. package/dist/kernel/index.d.ts +6 -0
  57. package/dist/{measureFns-DkNQXgnh.cjs → measureFns-BkoPw5JT.cjs} +4 -4
  58. package/dist/{measureFns-BTip3Aiz.js → measureFns-C3y_WX_E.js} +4 -4
  59. package/dist/measurement.cjs +1 -1
  60. package/dist/measurement.js +1 -1
  61. package/dist/{meshFns-BEGSUUSa.cjs → meshFns-CFMr9FBb.cjs} +3 -3
  62. package/dist/{meshFns-DWsgfwE8.js → meshFns-k0BdoBGR.js} +3 -3
  63. package/dist/ns/booleans.d.ts +1 -0
  64. package/dist/ns/csg.d.ts +4 -0
  65. package/dist/operations.cjs +2 -2
  66. package/dist/operations.js +2 -2
  67. package/dist/{planeOps-CH4ruLuj.cjs → planeOps-2EyPq0tU.cjs} +1 -1
  68. package/dist/{planeOps-4i2qEraD.js → planeOps-Bea3T3mc.js} +1 -1
  69. package/dist/{primitiveFns-BLIDnaB4.js → primitiveFns-BsO-feBX.js} +133 -8
  70. package/dist/{primitiveFns-BLyZbYzv.cjs → primitiveFns-CkMua35m.cjs} +144 -7
  71. package/dist/projection.cjs +1 -1
  72. package/dist/projection.js +1 -1
  73. package/dist/query.cjs +2 -2
  74. package/dist/query.js +2 -2
  75. package/dist/result.cjs +1 -1
  76. package/dist/result.js +1 -1
  77. package/dist/{shapeFns-CsFHf3W8.cjs → shapeFns-CHTLdb_n.cjs} +3 -3
  78. package/dist/{shapeFns-DaqT_8dv.js → shapeFns-x8vqq2fR.js} +3 -3
  79. package/dist/shapeRef.cjs +1 -1
  80. package/dist/shapeRef.js +1 -1
  81. package/dist/{shapeRefFns-WwBIiDUH.cjs → shapeRefFns-CDRLEUik.cjs} +4 -4
  82. package/dist/{shapeRefFns-BEsxgYOo.js → shapeRefFns-CE0yS0EB.js} +4 -4
  83. package/dist/{shapeTypes-BcAUN8Jp.cjs → shapeTypes-BpKhed-9.cjs} +15 -1
  84. package/dist/{shapeTypes-Dqjd8VMv.js → shapeTypes-DGtDTS9s.js} +10 -2
  85. package/dist/sketching.cjs +3 -3
  86. package/dist/sketching.js +3 -3
  87. package/dist/{solidBuilders-C8wxbX4w.cjs → solidBuilders-BlBaFSCS.cjs} +3 -3
  88. package/dist/{solidBuilders-CYtiaHtQ.js → solidBuilders-Cot05qzs.js} +3 -3
  89. package/dist/{surfaceBuilders-D60F6RHs.cjs → surfaceBuilders-frj7YRrD.cjs} +3 -3
  90. package/dist/{surfaceBuilders-CuChXov6.js → surfaceBuilders-zJyikeav.js} +3 -3
  91. package/dist/text.cjs +2 -2
  92. package/dist/text.js +2 -2
  93. package/dist/{textBlueprints-Cm_gPjjQ.js → textBlueprints-Bv6zhEyn.js} +9 -9
  94. package/dist/{textBlueprints-Cg2IOa7K.cjs → textBlueprints-CHh9SChA.cjs} +9 -9
  95. package/dist/{textMetrics-BExS67Zh.cjs → textMetrics-CKNdQX02.cjs} +2 -2
  96. package/dist/{textMetrics-Dbgikkim.js → textMetrics-vUJTTEFi.js} +2 -2
  97. package/dist/topology/booleanBatchFns.d.ts +55 -0
  98. package/dist/topology.cjs +9 -7
  99. package/dist/topology.d.ts +1 -0
  100. package/dist/topology.js +8 -8
  101. package/dist/{topologyQueryFns-C_rxyeER.cjs → topologyQueryFns-CHsPXNbI.cjs} +2 -2
  102. package/dist/{topologyQueryFns-DHbFP_6r.js → topologyQueryFns-CcWaCxeb.js} +2 -2
  103. package/dist/vectors.cjs +1 -1
  104. package/dist/vectors.js +1 -1
  105. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DfqWQ17C.js";
1
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, o as PROJECTION_PLANES, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-Dg1lQP0S.js";
2
2
  export { PROJECTION_PLANES, cameraFromPlane, cameraLookAt, createCamera, isProjectionPlane, makeProjectedEdges, projectEdges };
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-D4gm8z-T.cjs");
3
- const require_cornerFinder = require("./cornerFinder-ATn5SKjb.cjs");
2
+ const require_helpers = require("./helpers-BU3ANziG.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-CXN1IxPg.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-D3JzEtZl.js";
2
- import { t as cornerFinder } from "./cornerFinder-KEk4VpTe.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-D1J5VHbk.js";
2
+ import { t as cornerFinder } from "./cornerFinder-tfWhcA2M.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
package/dist/result.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
3
  exports.BrepBugError = require_errors.BrepBugError;
4
4
  exports.BrepErrorCode = require_errors.BrepErrorCode;
5
5
  exports.OK = require_errors.OK;
package/dist/result.js CHANGED
@@ -1,2 +1,2 @@
1
- import { A as ok, B as unwrapOr, E as map, I as tryCatch, L as tryCatchAsync, N as pipeline, O as mapErr, R as unwrap, T as isOk, V as unwrapOrElse, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-0fYW_YnO.js";
1
+ import { A as ok, B as unwrapOr, E as map, I as tryCatch, L as tryCatchAsync, N as pipeline, O as mapErr, R as unwrap, T as isOk, V as unwrapOrElse, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-8GZS3vy9.js";
2
2
  export { BrepBugError, BrepErrorCode, OK, andThen, bug, collect, computationError, err, flatMap, ioError, isErr, isOk, kernelError, map, mapErr, match, moduleInitError, ok, pipeline, queryError, sketcherStateError, tryCatch, tryCatchAsync, typeCastError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, validationError };
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BcAUN8Jp.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-C_rxyeER.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CHsPXNbI.cjs");
4
4
  const require_constants = require("./constants-DTorLmes.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { X as getKernel, t as castShape } from "./shapeTypes-Dqjd8VMv.js";
2
- import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-0fYW_YnO.js";
3
- import { _ as kernelCall, c as getOrCreateCache, r as getCacheEntry, s as getFaces, v as kernelCallRaw } from "./topologyQueryFns-DHbFP_6r.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DGtDTS9s.js";
2
+ import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-8GZS3vy9.js";
3
+ import { _ as kernelCall, c as getOrCreateCache, r as getCacheEntry, s as getFaces, v as kernelCallRaw } from "./topologyQueryFns-CcWaCxeb.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-Ci5CA3aZ.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeRefFns = require("./shapeRefFns-WwBIiDUH.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-CDRLEUik.cjs");
3
3
  exports.assignRoles = require_shapeRefFns.assignRoles;
4
4
  exports.captureHint = require_shapeRefFns.captureHint;
5
5
  exports.createRef = require_shapeRefFns.createRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-BEsxgYOo.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CE0yS0EB.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-S4Oh59IX.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-C_rxyeER.cjs");
3
- const require_faceFns = require("./faceFns-UQacl82e.cjs");
4
- const require_shapeFns = require("./shapeFns-CsFHf3W8.cjs");
5
- const require_measureFns = require("./measureFns-DkNQXgnh.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-CHsPXNbI.cjs");
3
+ const require_faceFns = require("./faceFns-BbESdudy.cjs");
4
+ const require_shapeFns = require("./shapeFns-CHTLdb_n.cjs");
5
+ const require_measureFns = require("./measureFns-BkoPw5JT.cjs");
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,8 +1,8 @@
1
1
  import { n as wasmIndex } from "./vec3-BRj3eI54.js";
2
- import { s as getFaces } from "./topologyQueryFns-DHbFP_6r.js";
3
- import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-C9tfTZwq.js";
4
- import { n as getHashCode } from "./shapeFns-DaqT_8dv.js";
5
- import { n as measureArea } from "./measureFns-BTip3Aiz.js";
2
+ import { s as getFaces } from "./topologyQueryFns-CcWaCxeb.js";
3
+ import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-BNhFoEII.js";
4
+ import { n as getHashCode } from "./shapeFns-x8vqq2fR.js";
5
+ import { n as measureArea } from "./measureFns-C3y_WX_E.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,6 +1,6 @@
1
1
  const require_vec3 = require("./vec3-S4Oh59IX.cjs");
2
2
  const require_occtWasmAdapter = require("./occtWasmAdapter-C2VW-uYg.cjs");
3
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
+ const require_errors = require("./errors-BiY8-q1s.cjs");
4
4
  //#region src/kernel/kernel2dTypes.ts
5
5
  /** Check if the kernel supports 2D geometry operations. */
6
6
  function supportsKernel2D(kernel) {
@@ -9859,6 +9859,14 @@ function getKernel2D(id) {
9859
9859
  * restored synchronously in `finally`, so any `getKernel()` call after
9860
9860
  * the first `await` inside `fn` would observe the wrong kernel.
9861
9861
  */
9862
+ /**
9863
+ * Return the id of the currently active default kernel, or `null` if none is
9864
+ * registered yet. Useful for code that needs a stable identifier (e.g.
9865
+ * cache keys) but doesn't want to ship the actual adapter.
9866
+ */
9867
+ function getActiveKernelId() {
9868
+ return _defaultKernelId;
9869
+ }
9862
9870
  function withKernel(id, fn) {
9863
9871
  const prev = _defaultKernelId;
9864
9872
  _defaultKernelId = id;
@@ -10629,6 +10637,12 @@ Object.defineProperty(exports, "createWire", {
10629
10637
  return createWire;
10630
10638
  }
10631
10639
  });
10640
+ Object.defineProperty(exports, "getActiveKernelId", {
10641
+ enumerable: true,
10642
+ get: function() {
10643
+ return getActiveKernelId;
10644
+ }
10645
+ });
10632
10646
  Object.defineProperty(exports, "getDisposalStats", {
10633
10647
  enumerable: true,
10634
10648
  get: function() {
@@ -1,6 +1,6 @@
1
1
  import { n as wasmIndex, t as vec3At } from "./vec3-BRj3eI54.js";
2
2
  import { _ as serializeCurve2d$2, a as curveTypeName, c as intersectCurves2dFn, d as makeEllipse2d$2, f as makeLine2d$2, g as scaleCurve2d$2, h as rotateCurve2d$2, i as curveBounds, l as makeBezier2d$2, m as mirrorAtPoint, n as addCurveToBBox, o as deserializeCurve2d$2, p as mirrorAcrossAxis, r as createBBox2d, s as evaluateCurve2d$2, u as makeCircle2d$2, v as tangentCurve2d, y as translateCurve2d$2 } from "./occtWasmAdapter--TZGP9DX.js";
3
- import { A as ok, b as err } from "./errors-0fYW_YnO.js";
3
+ import { A as ok, b as err } from "./errors-8GZS3vy9.js";
4
4
  //#region src/kernel/kernel2dTypes.ts
5
5
  /** Check if the kernel supports 2D geometry operations. */
6
6
  function supportsKernel2D(kernel) {
@@ -9851,6 +9851,14 @@ function getKernel2D(id) {
9851
9851
  * restored synchronously in `finally`, so any `getKernel()` call after
9852
9852
  * the first `await` inside `fn` would observe the wrong kernel.
9853
9853
  */
9854
+ /**
9855
+ * Return the id of the currently active default kernel, or `null` if none is
9856
+ * registered yet. Useful for code that needs a stable identifier (e.g.
9857
+ * cache keys) but doesn't want to ship the actual adapter.
9858
+ */
9859
+ function getActiveKernelId() {
9860
+ return _defaultKernelId;
9861
+ }
9854
9862
  function withKernel(id, fn) {
9855
9863
  const prev = _defaultKernelId;
9856
9864
  _defaultKernelId = id;
@@ -10513,4 +10521,4 @@ function castShapeWithKnownType(ocShape, knownType, dim) {
10513
10521
  return createCompound(dc, dim);
10514
10522
  }
10515
10523
  //#endregion
10516
- export { initFromOC as $, planarWire as A, createKernelHandle as B, isOrientedFace as C, manifoldShell as D, isValidSolid as E, as3D as F, unregisterFromCleanup as G, isLive as H, is2D as I, withScopeResultAsync as J, withScope as K, is3D as L, getShapeKind as M, getOrQueryType as N, orientedFace as O, as2D as P, init as Q, DisposalScope as R, isManifoldShell as S, isPlanarWire as T, registerForCleanup as U, getDisposalStats as V, resetDisposalStats as W, getKernel as X, _usingCtx as Y, getKernel2D as Z, isSolid as _, createEdge as a, BrepkitAdapter as at, closedWire as b, createSolid as c, isCompound as d, prewarm as et, isEdge as f, isShell as g, isShape3D as h, createCompound as i, supportsProjection as it, validSolid as j, planarFace as k, createVertex as l, isShape1D as m, castShape3D as n, withKernel as nt, createFace as o, getPerformanceStats as ot, isFace as p, withScopeResult as q, castShapeWithKnownType as r, supportsConstraintSketch as rt, createShell as s, resetPerformanceStats as st, castShape as t, registerKernel as tt, createWire as u, isVertex as v, isPlanarFace as w, isClosedWire as x, isWire as y, createHandle as z };
10524
+ export { init as $, planarWire as A, createKernelHandle as B, isOrientedFace as C, manifoldShell as D, isValidSolid as E, as3D as F, unregisterFromCleanup as G, isLive as H, is2D as I, withScopeResultAsync as J, withScope as K, is3D as L, getShapeKind as M, getOrQueryType as N, orientedFace as O, as2D as P, getKernel2D as Q, DisposalScope as R, isManifoldShell as S, isPlanarWire as T, registerForCleanup as U, getDisposalStats as V, resetDisposalStats as W, getActiveKernelId as X, _usingCtx as Y, getKernel as Z, isSolid as _, createEdge as a, supportsProjection as at, closedWire as b, createSolid as c, resetPerformanceStats as ct, isCompound as d, initFromOC as et, isEdge as f, isShell as g, isShape3D as h, createCompound as i, supportsConstraintSketch as it, validSolid as j, planarFace as k, createVertex as l, isShape1D as m, castShape3D as n, registerKernel as nt, createFace as o, BrepkitAdapter as ot, isFace as p, withScopeResult as q, castShapeWithKnownType as r, withKernel as rt, createShell as s, getPerformanceStats as st, castShape as t, prewarm as tt, createWire as u, isVertex as v, isPlanarFace as w, isClosedWire as x, isWire as y, createHandle as z };
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-Cg2IOa7K.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-BBWw_BeX.cjs");
4
- const require_drawFns = require("./drawFns-N-BXk82r.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CHh9SChA.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-Cr9A-R8I.cjs");
4
+ const require_drawFns = require("./drawFns-CuzUHFyD.cjs");
5
5
  //#region src/sketching.ts
6
6
  /**
7
7
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
package/dist/sketching.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-mujcO3uV.js";
2
- import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-1JQUg7iu.js";
3
- import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-Cm_gPjjQ.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-DeEogKbs.js";
2
+ import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-CEjshioX.js";
3
+ import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-Bv6zhEyn.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BcAUN8Jp.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
- const require_faceFns = require("./faceFns-UQacl82e.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
+ const require_faceFns = require("./faceFns-BbESdudy.cjs");
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- import { X as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-Dqjd8VMv.js";
2
- import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-0fYW_YnO.js";
3
- import { _ as downcast, g as cast } from "./faceFns-C9tfTZwq.js";
1
+ import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-DGtDTS9s.js";
2
+ import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-8GZS3vy9.js";
3
+ import { _ as downcast, g as cast } from "./faceFns-BNhFoEII.js";
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BcAUN8Jp.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
3
- const require_faceFns = require("./faceFns-UQacl82e.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
+ const require_faceFns = require("./faceFns-BbESdudy.cjs");
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
@@ -1,6 +1,6 @@
1
- import { X as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-Dqjd8VMv.js";
2
- import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-0fYW_YnO.js";
3
- import { g as cast, l as outerWire } from "./faceFns-C9tfTZwq.js";
1
+ import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-DGtDTS9s.js";
2
+ import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-8GZS3vy9.js";
3
+ import { g as cast, l as outerWire } from "./faceFns-BNhFoEII.js";
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
package/dist/text.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-Cg2IOa7K.cjs");
3
- const require_textMetrics = require("./textMetrics-BExS67Zh.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CHh9SChA.cjs");
3
+ const require_textMetrics = require("./textMetrics-CKNdQX02.cjs");
4
4
  exports.fontMetrics = require_textMetrics.fontMetrics;
5
5
  exports.getFont = require_textBlueprints.getFont;
6
6
  exports.loadFont = require_textBlueprints.loadFont;
package/dist/text.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-Cm_gPjjQ.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Dbgikkim.js";
1
+ import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-Bv6zhEyn.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-vUJTTEFi.js";
3
3
  export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
@@ -1,15 +1,15 @@
1
- import { X as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-Dqjd8VMv.js";
2
- import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-0fYW_YnO.js";
1
+ import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-DGtDTS9s.js";
2
+ import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-8GZS3vy9.js";
3
3
  import { r as toVec3 } from "./types-BIdk_GJY.js";
4
4
  import { d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-DVROrqTV.js";
5
- import { n as createPlane } from "./planeOps-4i2qEraD.js";
6
- import { _ as downcast, g as cast } from "./faceFns-C9tfTZwq.js";
7
- import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-DkpbzRtv.js";
5
+ import { n as createPlane } from "./planeOps-Bea3T3mc.js";
6
+ import { _ as downcast, g as cast } from "./faceFns-BNhFoEII.js";
7
+ import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-BEF8t7XY.js";
8
8
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-C5IWcxs9.js";
9
- import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-CuChXov6.js";
10
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-mujcO3uV.js";
11
- import { o as makeSolid, t as makeCompound } from "./solidBuilders-CYtiaHtQ.js";
12
- import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-hUNicYgI.js";
9
+ import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-zJyikeav.js";
10
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DeEogKbs.js";
11
+ import { o as makeSolid, t as makeCompound } from "./solidBuilders-Cot05qzs.js";
12
+ import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-gcWJSK9T.js";
13
13
  import opentype from "opentype.js";
14
14
  //#region src/operations/loftFns.ts
15
15
  /**
@@ -29,18 +29,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  enumerable: true
30
30
  }) : target, mod));
31
31
  //#endregion
32
- const require_shapeTypes = require("./shapeTypes-BcAUN8Jp.cjs");
33
- const require_errors = require("./errors-Dv6pfNct.cjs");
32
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
33
+ const require_errors = require("./errors-BiY8-q1s.cjs");
34
34
  const require_types = require("./types-CDkxah-M.cjs");
35
35
  const require_vecOps = require("./vecOps-D7xplSx8.cjs");
36
- const require_planeOps = require("./planeOps-CH4ruLuj.cjs");
37
- const require_faceFns = require("./faceFns-UQacl82e.cjs");
38
- const require_curveFns = require("./curveFns-DhQVXMK0.cjs");
36
+ const require_planeOps = require("./planeOps-2EyPq0tU.cjs");
37
+ const require_faceFns = require("./faceFns-BbESdudy.cjs");
38
+ const require_curveFns = require("./curveFns-CcheHkr4.cjs");
39
39
  const require_arrayAccess = require("./arrayAccess-7pTWqkJu.cjs");
40
- const require_surfaceBuilders = require("./surfaceBuilders-D60F6RHs.cjs");
41
- const require_blueprintSketcher = require("./blueprintSketcher-BBWw_BeX.cjs");
42
- const require_solidBuilders = require("./solidBuilders-C8wxbX4w.cjs");
43
- const require_extrudeFns = require("./extrudeFns-DmNzWF1a.cjs");
40
+ const require_surfaceBuilders = require("./surfaceBuilders-frj7YRrD.cjs");
41
+ const require_blueprintSketcher = require("./blueprintSketcher-Cr9A-R8I.cjs");
42
+ const require_solidBuilders = require("./solidBuilders-BlBaFSCS.cjs");
43
+ const require_extrudeFns = require("./extrudeFns-BwU4ng1V.cjs");
44
44
  let opentype_js = require("opentype.js");
45
45
  opentype_js = __toESM(opentype_js, 1);
46
46
  //#region src/operations/loftFns.ts
@@ -1,5 +1,5 @@
1
- const require_textBlueprints = require("./textBlueprints-Cg2IOa7K.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-CHh9SChA.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,5 +1,5 @@
1
- import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-0fYW_YnO.js";
2
- import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-Cm_gPjjQ.js";
1
+ import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-8GZS3vy9.js";
2
+ import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-Bv6zhEyn.js";
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -0,0 +1,55 @@
1
+ import { Result } from '../core/result.js';
2
+ import { Shape3D } from '../core/shapeTypes.js';
3
+ import { ValidSolid } from '../core/validityTypes.js';
4
+ import { BooleanOptions } from '../kernel/types.js';
5
+ import { fuse, cut, fuseAll, cutAll } from './booleanFns.js';
6
+ /**
7
+ * Injectable kernel ops, used by the bisect internals. The public
8
+ * `cutAllBisect` / `fuseAllBisect` wire in the real implementations; tests
9
+ * and benchmarks can substitute synthetic ones that throw on specified
10
+ * inputs to drive the bisect-recovery path without module mocking.
11
+ */
12
+ export interface BisectKernelOps {
13
+ readonly cut: typeof cut;
14
+ readonly cutAll: typeof cutAll;
15
+ readonly fuse: typeof fuse;
16
+ readonly fuseAll: typeof fuseAll;
17
+ }
18
+ export interface BatchBisectResult<T extends Shape3D = Shape3D> {
19
+ readonly shape: T;
20
+ readonly telemetry: BatchBisectTelemetry;
21
+ }
22
+ export interface BatchBisectTelemetry {
23
+ /** Number of inputs the caller passed (tools for cut, shapes for fuse). */
24
+ readonly totalInputs: number;
25
+ /** N-way kernel batch (`cutAll` / `fuseAll`) attempts, including failures. */
26
+ readonly batchAttempts: number;
27
+ /** N-way kernel batch attempts that succeeded. */
28
+ readonly batchSucceeded: number;
29
+ /**
30
+ * 2-input pairwise kernel call attempts after bisection bottomed out. For
31
+ * `cutAllBisect` this counts singleton `cut(base, tool)` calls; for
32
+ * `fuseAllBisect` this counts the `fuse(a, b)` calls that combine the
33
+ * results of two recursive halves. Both flavors mean "the kernel did a
34
+ * pair op, not a batch op."
35
+ */
36
+ readonly singletonFallbacks: number;
37
+ /**
38
+ * Sorted, deduplicated input indices that failed even as pairwise ops and
39
+ * were dropped from the result. Multi-level fuse failures can target the
40
+ * same index from different recursion levels — dedup happens at freeze.
41
+ */
42
+ readonly failedInputs: readonly number[];
43
+ }
44
+ export declare function cutAllBisect(base: ValidSolid, tools: ValidSolid[], options?: BooleanOptions): Result<BatchBisectResult<ValidSolid>>;
45
+ export declare function cutAllBisect(base: Shape3D, tools: Shape3D[], options: BooleanOptions & {
46
+ unsafe: true;
47
+ }): Result<BatchBisectResult>;
48
+ /** @internal — testable variant accepting injected kernel ops. */
49
+ export declare function cutAllBisectWith(ops: BisectKernelOps, base: Shape3D, tools: Shape3D[], options?: BooleanOptions): Result<BatchBisectResult>;
50
+ export declare function fuseAllBisect(shapes: ValidSolid[], options?: BooleanOptions): Result<BatchBisectResult<ValidSolid>>;
51
+ export declare function fuseAllBisect(shapes: Shape3D[], options: BooleanOptions & {
52
+ unsafe: true;
53
+ }): Result<BatchBisectResult>;
54
+ /** @internal — testable variant accepting injected kernel ops. */
55
+ export declare function fuseAllBisectWith(ops: BisectKernelOps, shapes: Shape3D[], options?: BooleanOptions): Result<BatchBisectResult>;
package/dist/topology.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-C_rxyeER.cjs");
3
- const require_faceFns = require("./faceFns-UQacl82e.cjs");
4
- const require_shapeFns = require("./shapeFns-CsFHf3W8.cjs");
5
- const require_curveFns = require("./curveFns-DhQVXMK0.cjs");
6
- const require_meshFns = require("./meshFns-BEGSUUSa.cjs");
7
- const require_booleanFns = require("./booleanFns-CipkzoSX.cjs");
8
- const require_primitiveFns = require("./primitiveFns-BLyZbYzv.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-CHsPXNbI.cjs");
3
+ const require_faceFns = require("./faceFns-BbESdudy.cjs");
4
+ const require_shapeFns = require("./shapeFns-CHTLdb_n.cjs");
5
+ const require_curveFns = require("./curveFns-CcheHkr4.cjs");
6
+ const require_meshFns = require("./meshFns-CFMr9FBb.cjs");
7
+ const require_booleanFns = require("./booleanFns-CD25YZGm.cjs");
8
+ const require_primitiveFns = require("./primitiveFns-CkMua35m.cjs");
9
9
  exports.addHoles = require_primitiveFns.addHoles;
10
10
  exports.adjacentFaces = require_primitiveFns.adjacentFaces;
11
11
  exports.approximateCurve = require_curveFns.approximateCurve;
@@ -33,6 +33,7 @@ exports.curvePointAt = require_curveFns.curvePointAt;
33
33
  exports.curveStartPoint = require_curveFns.curveStartPoint;
34
34
  exports.curveTangentAt = require_curveFns.curveTangentAt;
35
35
  exports.cutAll = require_booleanFns.cutAll;
36
+ exports.cutAllBisect = require_primitiveFns.cutAllBisect;
36
37
  exports.cutWithEvolution = require_primitiveFns.cutWithEvolution;
37
38
  exports.cylinder = require_primitiveFns.cylinder;
38
39
  exports.deserializeShape = require_faceFns.fromBREP;
@@ -56,6 +57,7 @@ exports.fixShape = require_primitiveFns.fixShape;
56
57
  exports.flipFaceOrientation = require_faceFns.flipFaceOrientation;
57
58
  exports.flipOrientation = require_curveFns.flipOrientation;
58
59
  exports.fuseAll = require_booleanFns.fuseAll;
60
+ exports.fuseAllBisect = require_primitiveFns.fuseAllBisect;
59
61
  exports.fuseWithEvolution = require_primitiveFns.fuseWithEvolution;
60
62
  exports.getBounds = require_topologyQueryFns.getBounds;
61
63
  exports.getCurveType = require_curveFns.getCurveType;
@@ -9,6 +9,7 @@
9
9
  export { getHashCode, isSameShape, isEqualShape, getEdges, getFaces, getWires, getVertices, iterEdges, iterFaces, iterWires, iterVertices, getBounds, vertexPosition, invalidateShapeCache, type Bounds3D, type ShapeDescription, } from './topology/shapeFns.js';
10
10
  export { box, cylinder, sphere, cone, torus, ellipsoid, line, circle, ellipse, helix, threePointArc, ellipseArc, bsplineApprox, bezier, tangentArc, wire, wireLoop, face, filledFace, subFace, polygon, vertex, compound, solid, sewShells, offsetFace, addHoles, type CylinderOptions, type SphereOptions, type ConeOptions, type TorusOptions, type CircleOptions, type HelixOptions, type EllipseArcOptions, type BSplineApproximationOptions, } from './topology/primitiveFns.js';
11
11
  export { fuseAll, cutAll, type BooleanOptions } from './topology/booleanFns.js';
12
+ export { fuseAllBisect, cutAllBisect, type BatchBisectResult, type BatchBisectTelemetry, } from './topology/booleanBatchFns.js';
12
13
  export { checkBoolean } from './topology/booleanDiagnosticFns.js';
13
14
  export { fuseWithEvolution, cutWithEvolution, intersectWithEvolution, filletWithEvolution, chamferWithEvolution, shellWithEvolution, type EvolutionResult, } from './topology/evolutionFns.js';
14
15
  export type { ShapeEvolution } from './kernel/types.js';
package/dist/topology.js CHANGED
@@ -1,8 +1,8 @@
1
- import { d as invalidateShapeCache, f as iterEdges, g as vertexPosition, h as iterWires, l as getVertices, m as iterVertices, n as getBounds, o as getEdges, p as iterFaces, s as getFaces, u as getWires } from "./topologyQueryFns-DHbFP_6r.js";
2
- import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-C9tfTZwq.js";
3
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-DaqT_8dv.js";
4
- 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-DkpbzRtv.js";
5
- import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-DWsgfwE8.js";
6
- import { a as fuseAll, r as cutAll } from "./booleanFns-D4r10eG8.js";
7
- 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-BLIDnaB4.js";
8
- 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 };
1
+ import { d as invalidateShapeCache, f as iterEdges, g as vertexPosition, h as iterWires, l as getVertices, m as iterVertices, n as getBounds, o as getEdges, p as iterFaces, s as getFaces, u as getWires } from "./topologyQueryFns-CcWaCxeb.js";
2
+ import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-BNhFoEII.js";
3
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-x8vqq2fR.js";
4
+ 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-BEF8t7XY.js";
5
+ import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-k0BdoBGR.js";
6
+ import { a as fuseAll, r as cutAll } from "./booleanFns-CtvYfQZq.js";
7
+ import { $ as fuseAllBisect, 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 cutAllBisect, 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 sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-BsO-feBX.js";
8
+ 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, cutAllBisect, 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, fuseAllBisect, 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 };
@@ -1,5 +1,5 @@
1
- const require_shapeTypes = require("./shapeTypes-BcAUN8Jp.cjs");
2
- const require_errors = require("./errors-Dv6pfNct.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BpKhed-9.cjs");
2
+ const require_errors = require("./errors-BiY8-q1s.cjs");
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
5
5
  const base = {
@@ -1,5 +1,5 @@
1
- import { N as getOrQueryType, R as DisposalScope, X as getKernel, Y as _usingCtx, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-Dqjd8VMv.js";
2
- import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-0fYW_YnO.js";
1
+ import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-DGtDTS9s.js";
2
+ import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-8GZS3vy9.js";
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
5
5
  const base = {
package/dist/vectors.cjs CHANGED
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_constants = require("./constants-DTorLmes.cjs");
3
3
  const require_types = require("./types-CDkxah-M.cjs");
4
4
  const require_vecOps = require("./vecOps-D7xplSx8.cjs");
5
- const require_planeOps = require("./planeOps-CH4ruLuj.cjs");
5
+ const require_planeOps = require("./planeOps-2EyPq0tU.cjs");
6
6
  exports.DEG2RAD = require_constants.DEG2RAD;
7
7
  exports.RAD2DEG = require_constants.RAD2DEG;
8
8
  exports.createNamedPlane = require_planeOps.createNamedPlane;
package/dist/vectors.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-Ci5CA3aZ.js";
2
2
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-BIdk_GJY.js";
3
3
  import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-DVROrqTV.js";
4
- import { i as pivotPlane, n as createPlane, o as resolvePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-4i2qEraD.js";
4
+ import { i as pivotPlane, n as createPlane, o as resolvePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-Bea3T3mc.js";
5
5
  export { DEG2RAD, RAD2DEG, createNamedPlane, createPlane, pivotPlane, resolveDirection, resolvePlane, toVec2, toVec3, translatePlane, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "18.18.0",
3
+ "version": "18.20.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",