brepjs 18.69.3 → 18.70.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 (89) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-DIQeD9xj.cjs → blueprint-jlSsZ0sZ.cjs} +5 -5
  4. package/dist/{blueprint-Dgl9IkCV.js → blueprint-qVw9ZkE4.js} +5 -5
  5. package/dist/{blueprintFns-BO44cqFY.cjs → blueprintFns-DsuY7gCu.cjs} +2 -2
  6. package/dist/{blueprintFns-sKzHcJ4U.js → blueprintFns-zLwbytjs.js} +2 -2
  7. package/dist/{blueprintSketcher-DbINWerx.js → blueprintSketcher-BRKbVgE2.js} +3 -3
  8. package/dist/{blueprintSketcher-BpOknLmX.cjs → blueprintSketcher-dZZ8e5ey.cjs} +3 -3
  9. package/dist/{boolean2D-DZcOTOSA.cjs → boolean2D-4E1kbwQx.cjs} +4 -4
  10. package/dist/{boolean2D-CreNaKXt.js → boolean2D-CANP43pN.js} +4 -4
  11. package/dist/{booleanFns-DvXg6a2Y.cjs → booleanFns-Bp_wYEwG.cjs} +4 -4
  12. package/dist/{booleanFns-0jDBFjAv.js → booleanFns-DYSaupiG.js} +4 -4
  13. package/dist/brepjs.cjs +239 -65
  14. package/dist/brepjs.js +241 -68
  15. package/dist/{cameraFns-Bwxq0IDz.js → cameraFns-BFRGMXSn.js} +2 -2
  16. package/dist/{cameraFns-CsGSVYgb.cjs → cameraFns-dRK1CnFi.cjs} +2 -2
  17. package/dist/core.cjs +1 -1
  18. package/dist/core.js +1 -1
  19. package/dist/{cornerFinder-ChltJ_ur.cjs → cornerFinder-CQPXY8Aw.cjs} +1 -1
  20. package/dist/{cornerFinder-fMf9-El_.js → cornerFinder-DcHCKoUh.js} +1 -1
  21. package/dist/{curveFns-BhTtS18d.js → curveFns-CXhOkKR4.js} +1 -1
  22. package/dist/{curveFns-CXytEfTr.cjs → curveFns-uPVW6eo-.cjs} +1 -1
  23. package/dist/{drawFns-Bzr38vZx.js → drawFns-ZqWpAG8b.js} +12 -12
  24. package/dist/{drawFns-Bn4vzbUr.cjs → drawFns-eMU4H__w.cjs} +12 -12
  25. package/dist/{extrudeFns-rnUgev_g.js → extrudeFns-CSy2C7WW.js} +1 -1
  26. package/dist/{extrudeFns-C0FsOXev.cjs → extrudeFns-CzQans6p.cjs} +1 -1
  27. package/dist/{faceFns-Dreo5ksY.js → faceFns-BBcrvY7r.js} +11 -3
  28. package/dist/{faceFns-FAZgMVCx.cjs → faceFns-CcLFCtg4.cjs} +16 -2
  29. package/dist/{helpers-D8ycrNeD.cjs → helpers-BmY5kO0w.cjs} +6 -6
  30. package/dist/{helpers--BMa_zB7.js → helpers-CxT3j8jG.js} +6 -6
  31. package/dist/{historyFns-mnmeZ0kB.cjs → historyFns-BEB2Yjld.cjs} +4 -4
  32. package/dist/{historyFns-CR0RejKJ.js → historyFns-ClLT60_V.js} +4 -4
  33. package/dist/{importFns-DRPQExAD.js → importFns-BNDWuBuq.js} +2 -2
  34. package/dist/{importFns-4mi5Ih46.cjs → importFns-DA0Klh7_.cjs} +2 -2
  35. package/dist/index.d.ts +1 -1
  36. package/dist/io.cjs +2 -2
  37. package/dist/io.js +2 -2
  38. package/dist/kernel/brepkit/geometryOps.d.ts +1 -0
  39. package/dist/kernel/interfaces/surfaceOps.d.ts +9 -0
  40. package/dist/kernel/occt/geometryQueryOps.d.ts +9 -0
  41. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  42. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +4 -0
  43. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  44. package/dist/kernel/occtWasm/surfaceOps.d.ts +17 -0
  45. package/dist/kernel/solverAdapter.d.ts +8 -7
  46. package/dist/{measureFns-BLEx4ZU3.js → measureFns-DAP8LjBB.js} +3 -3
  47. package/dist/{measureFns-CT0XaSOt.cjs → measureFns-zGABZl6o.cjs} +3 -3
  48. package/dist/measurement.cjs +1 -1
  49. package/dist/measurement.js +1 -1
  50. package/dist/{meshFns-lwgHYQ79.cjs → meshFns-CEGnFm33.cjs} +3 -3
  51. package/dist/{meshFns-B3MjIqk1.js → meshFns-D-nLiHvU.js} +3 -3
  52. package/dist/{occtWasmAdapter-BH7r2nTq.cjs → occtWasmAdapter-Crs07qIe.cjs} +67 -0
  53. package/dist/{occtWasmAdapter-C7FDeTaw.js → occtWasmAdapter-D0MtWZYO.js} +67 -0
  54. package/dist/operations.cjs +2 -2
  55. package/dist/operations.js +2 -2
  56. package/dist/{primitiveFns-DcZDTQ_R.js → primitiveFns-CDbe5gjc.js} +7 -7
  57. package/dist/{primitiveFns-DZmgvzvk.cjs → primitiveFns-CpkG8ZkI.cjs} +7 -7
  58. package/dist/projection.cjs +1 -1
  59. package/dist/projection.js +1 -1
  60. package/dist/query.cjs +2 -2
  61. package/dist/query.js +2 -2
  62. package/dist/{shapeFns-w1YoIn_p.cjs → shapeFns-CDHya-nt.cjs} +2 -2
  63. package/dist/{shapeFns-BnkizFjV.js → shapeFns-DVUNOG2I.js} +2 -2
  64. package/dist/shapeRef.cjs +1 -1
  65. package/dist/shapeRef.js +1 -1
  66. package/dist/{shapeRefFns-B3myHs0D.cjs → shapeRefFns-B1Tygk9V.cjs} +4 -4
  67. package/dist/{shapeRefFns-OVWdFOAC.js → shapeRefFns-CAJUDLTi.js} +4 -4
  68. package/dist/{shapeTypes-yCQ8z5Hc.js → shapeTypes-2cKwu2z4.js} +35 -1
  69. package/dist/{shapeTypes-BIlZar9m.cjs → shapeTypes-DRxArFIc.cjs} +35 -1
  70. package/dist/sketching.cjs +3 -3
  71. package/dist/sketching.js +3 -3
  72. package/dist/{solidBuilders-CPOTKI5i.js → solidBuilders-Bx3UdW91.js} +2 -2
  73. package/dist/{solidBuilders-dNhToZgl.cjs → solidBuilders-ibLq_9EK.cjs} +2 -2
  74. package/dist/{surfaceBuilders-CS1QccDv.js → surfaceBuilders-BtNrSolT.js} +2 -2
  75. package/dist/{surfaceBuilders-CzHPZtd3.cjs → surfaceBuilders-D2PBBoja.cjs} +2 -2
  76. package/dist/text.cjs +2 -2
  77. package/dist/text.js +2 -2
  78. package/dist/{textBlueprints-TG6AH06v.cjs → textBlueprints-COG8m1aE.cjs} +7 -7
  79. package/dist/{textBlueprints-B57ej88L.js → textBlueprints-HfRD4iNF.js} +7 -7
  80. package/dist/{textMetrics-Dag-YREs.cjs → textMetrics-CTSpUXtk.cjs} +1 -1
  81. package/dist/{textMetrics-BxtB3sjj.js → textMetrics-Zp8rzokO.js} +1 -1
  82. package/dist/topology/faceFns.d.ts +9 -0
  83. package/dist/topology/index.d.ts +1 -1
  84. package/dist/topology.cjs +8 -7
  85. package/dist/topology.d.ts +1 -1
  86. package/dist/topology.js +8 -8
  87. package/dist/{topologyQueryFns-BuWZAQ_o.cjs → topologyQueryFns-024l64sD.cjs} +1 -1
  88. package/dist/{topologyQueryFns-Bxdnl5Vt.js → topologyQueryFns-c2RQIcfW.js} +1 -1
  89. package/package.json +1 -1
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-D8ycrNeD.cjs");
3
- const require_cornerFinder = require("./cornerFinder-ChltJ_ur.cjs");
2
+ const require_helpers = require("./helpers-BmY5kO0w.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-CQPXY8Aw.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--BMa_zB7.js";
2
- import { t as cornerFinder } from "./cornerFinder-fMf9-El_.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CxT3j8jG.js";
2
+ import { t as cornerFinder } from "./cornerFinder-DcHCKoUh.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-BIlZar9m.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BuWZAQ_o.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-024l64sD.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-yCQ8z5Hc.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-2cKwu2z4.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
- import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-Bxdnl5Vt.js";
3
+ import { C as kernelCall, c as getFaces, l as getOrCreateCache, r as getCacheEntry, w as kernelCallRaw } from "./topologyQueryFns-c2RQIcfW.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.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-B3myHs0D.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-B1Tygk9V.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-OVWdFOAC.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CAJUDLTi.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-BuWZAQ_o.cjs");
3
- const require_faceFns = require("./faceFns-FAZgMVCx.cjs");
4
- const require_shapeFns = require("./shapeFns-w1YoIn_p.cjs");
5
- const require_measureFns = require("./measureFns-CT0XaSOt.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-024l64sD.cjs");
3
+ const require_faceFns = require("./faceFns-CcLFCtg4.cjs");
4
+ const require_shapeFns = require("./shapeFns-CDHya-nt.cjs");
5
+ const require_measureFns = require("./measureFns-zGABZl6o.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-Dpha8d5k.js";
2
- import { c as getFaces } from "./topologyQueryFns-Bxdnl5Vt.js";
3
- import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-Dreo5ksY.js";
4
- import { n as getHashCode } from "./shapeFns-BnkizFjV.js";
5
- import { n as measureArea } from "./measureFns-BLEx4ZU3.js";
2
+ import { c as getFaces } from "./topologyQueryFns-c2RQIcfW.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BBcrvY7r.js";
4
+ import { n as getHashCode } from "./shapeFns-DVUNOG2I.js";
5
+ import { n as measureArea } from "./measureFns-DAP8LjBB.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,4 +1,4 @@
1
- import { C as translateCurve2d$2, E as EXACT_BREP_CAPABILITIES, S as tangentCurve2d, _ as mirrorAcrossAxis, a as buildBinarySTL, b as scaleCurve2d$2, c as curveBounds, d as evaluateCurve2d$2, f as intersectCurves2dFn, g as makeLine2d$2, h as makeEllipse2d$2, i as buildAsciiSTL, l as curveTypeName, m as makeCircle2d$2, n as DEFAULT_STL_ANGULAR_TOLERANCE, o as addCurveToBBox, p as makeBezier2d$2, r as DEFAULT_STL_TOLERANCE, s as createBBox2d, t as OcctWasmAdapter, u as deserializeCurve2d$2, v as mirrorAtPoint, w as quickHull, x as serializeCurve2d$2, y as rotateCurve2d$2 } from "./occtWasmAdapter-C7FDeTaw.js";
1
+ import { C as translateCurve2d$2, E as EXACT_BREP_CAPABILITIES, S as tangentCurve2d, _ as mirrorAcrossAxis, a as buildBinarySTL, b as scaleCurve2d$2, c as curveBounds, d as evaluateCurve2d$2, f as intersectCurves2dFn, g as makeLine2d$2, h as makeEllipse2d$2, i as buildAsciiSTL, l as curveTypeName, m as makeCircle2d$2, n as DEFAULT_STL_ANGULAR_TOLERANCE, o as addCurveToBBox, p as makeBezier2d$2, r as DEFAULT_STL_TOLERANCE, s as createBBox2d, t as OcctWasmAdapter, u as deserializeCurve2d$2, v as mirrorAtPoint, w as quickHull, x as serializeCurve2d$2, y as rotateCurve2d$2 } from "./occtWasmAdapter-D0MtWZYO.js";
2
2
  import { n as wasmIndex, t as vec3At } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err } from "./errors-DNWJsfVU.js";
4
4
  //#region src/kernel/quality.ts
@@ -2886,6 +2886,37 @@ function getSurfaceCylinderData$1(oc, surface) {
2886
2886
  adaptor.delete();
2887
2887
  return result;
2888
2888
  }
2889
+ /** Get a cylindrical face's axis (point on axis + unit direction). Null otherwise. */
2890
+ function getSurfaceAxis(oc, face) {
2891
+ const adaptor = new oc.BRepAdaptor_Surface_2(face, false);
2892
+ try {
2893
+ const typeVal = adaptor.GetType();
2894
+ if ((typeof typeVal === "number" ? typeVal : Number(typeVal?.value ?? typeVal)) !== 1) return null;
2895
+ const cyl = adaptor.Cylinder();
2896
+ const axis = cyl.Axis();
2897
+ const loc = axis.Location();
2898
+ const dir = axis.Direction();
2899
+ const result = {
2900
+ origin: [
2901
+ loc.X(),
2902
+ loc.Y(),
2903
+ loc.Z()
2904
+ ],
2905
+ direction: [
2906
+ dir.X(),
2907
+ dir.Y(),
2908
+ dir.Z()
2909
+ ]
2910
+ };
2911
+ loc.delete();
2912
+ dir.delete();
2913
+ axis.delete();
2914
+ cyl.delete();
2915
+ return result;
2916
+ } finally {
2917
+ adaptor.delete();
2918
+ }
2919
+ }
2889
2920
  /** Reverse the U direction of a surface. Returns a new surface handle. */
2890
2921
  function reverseSurfaceU$1(_oc, surface) {
2891
2922
  return surface.get().UReversed();
@@ -2920,6 +2951,7 @@ function makeGeometryQueryOps(oc) {
2920
2951
  curvePeriod: (shape) => curvePeriod$1(oc, shape),
2921
2952
  curveType: (shape) => curveType$1(oc, shape),
2922
2953
  getSurfaceCylinderData: (surface) => getSurfaceCylinderData$1(oc, surface),
2954
+ getSurfaceAxis: (face) => getSurfaceAxis(oc, face),
2923
2955
  reverseSurfaceU: (surface) => reverseSurfaceU$1(oc, surface)
2924
2956
  };
2925
2957
  }
@@ -6087,6 +6119,7 @@ function makeGeometryOps$1(bk) {
6087
6119
  createCurveAdaptor: (shape) => createCurveAdaptor(bk, shape),
6088
6120
  getBezierPenultimatePole: (edge) => getBezierPenultimatePole(bk, edge),
6089
6121
  getSurfaceCylinderData: (surface) => getSurfaceCylinderData(bk, surface),
6122
+ getSurfaceAxis: () => null,
6090
6123
  reverseSurfaceU: (surface) => reverseSurfaceU(bk, surface),
6091
6124
  classifyPointOnFace: (face, u, v, tolerance) => classifyPointOnFace(bk, face, u, v, tolerance),
6092
6125
  classifyPointRobust: (shape, point, tolerance) => classifyPointRobust(bk, shape, point, tolerance),
@@ -14213,6 +14246,7 @@ function makeGeometryOps(_module) {
14213
14246
  approximateSurfaceLspia: (coords, rows, cols, degreeU, degreeV, numCpsU, numCpsV, tolerance, maxIterations) => occtOrThrow("approximateSurfaceLspia").approximateSurfaceLspia(coords, rows, cols, degreeU, degreeV, numCpsU, numCpsV, tolerance, maxIterations),
14214
14247
  untrimFace: (face, samplesPerCurve, interiorSamples) => viaOcct(face, (s, occt) => occt.untrimFace(s, samplesPerCurve, interiorSamples)),
14215
14248
  getSurfaceCylinderData: (surface) => viaOcct(surface, (s, occt) => occt.getSurfaceCylinderData(s)),
14249
+ getSurfaceAxis: (face) => viaOcct(face, (s, occt) => occt.getSurfaceAxis(s)),
14216
14250
  reverseSurfaceU: (surface) => occtOrThrow("reverseSurfaceU").reverseSurfaceU(surface),
14217
14251
  detectSmallFeatures: (shape, areaThreshold, tolerance) => viaOcct(shape, (s, occt) => occt.detectSmallFeatures(s, areaThreshold, tolerance)),
14218
14252
  recognizeFeatures: (shape, tolerance) => viaOcct(shape, (s, occt) => occt.recognizeFeatures(s, tolerance)),
@@ -1,4 +1,4 @@
1
- const require_occtWasmAdapter = require("./occtWasmAdapter-BH7r2nTq.cjs");
1
+ const require_occtWasmAdapter = require("./occtWasmAdapter-Crs07qIe.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  //#region src/kernel/quality.ts
@@ -2886,6 +2886,37 @@ function getSurfaceCylinderData$1(oc, surface) {
2886
2886
  adaptor.delete();
2887
2887
  return result;
2888
2888
  }
2889
+ /** Get a cylindrical face's axis (point on axis + unit direction). Null otherwise. */
2890
+ function getSurfaceAxis(oc, face) {
2891
+ const adaptor = new oc.BRepAdaptor_Surface_2(face, false);
2892
+ try {
2893
+ const typeVal = adaptor.GetType();
2894
+ if ((typeof typeVal === "number" ? typeVal : Number(typeVal?.value ?? typeVal)) !== 1) return null;
2895
+ const cyl = adaptor.Cylinder();
2896
+ const axis = cyl.Axis();
2897
+ const loc = axis.Location();
2898
+ const dir = axis.Direction();
2899
+ const result = {
2900
+ origin: [
2901
+ loc.X(),
2902
+ loc.Y(),
2903
+ loc.Z()
2904
+ ],
2905
+ direction: [
2906
+ dir.X(),
2907
+ dir.Y(),
2908
+ dir.Z()
2909
+ ]
2910
+ };
2911
+ loc.delete();
2912
+ dir.delete();
2913
+ axis.delete();
2914
+ cyl.delete();
2915
+ return result;
2916
+ } finally {
2917
+ adaptor.delete();
2918
+ }
2919
+ }
2889
2920
  /** Reverse the U direction of a surface. Returns a new surface handle. */
2890
2921
  function reverseSurfaceU$1(_oc, surface) {
2891
2922
  return surface.get().UReversed();
@@ -2920,6 +2951,7 @@ function makeGeometryQueryOps(oc) {
2920
2951
  curvePeriod: (shape) => curvePeriod$1(oc, shape),
2921
2952
  curveType: (shape) => curveType$1(oc, shape),
2922
2953
  getSurfaceCylinderData: (surface) => getSurfaceCylinderData$1(oc, surface),
2954
+ getSurfaceAxis: (face) => getSurfaceAxis(oc, face),
2923
2955
  reverseSurfaceU: (surface) => reverseSurfaceU$1(oc, surface)
2924
2956
  };
2925
2957
  }
@@ -6091,6 +6123,7 @@ function makeGeometryOps$1(bk) {
6091
6123
  createCurveAdaptor: (shape) => createCurveAdaptor(bk, shape),
6092
6124
  getBezierPenultimatePole: (edge) => getBezierPenultimatePole(bk, edge),
6093
6125
  getSurfaceCylinderData: (surface) => getSurfaceCylinderData(bk, surface),
6126
+ getSurfaceAxis: () => null,
6094
6127
  reverseSurfaceU: (surface) => reverseSurfaceU(bk, surface),
6095
6128
  classifyPointOnFace: (face, u, v, tolerance) => classifyPointOnFace(bk, face, u, v, tolerance),
6096
6129
  classifyPointRobust: (shape, point, tolerance) => classifyPointRobust(bk, shape, point, tolerance),
@@ -14221,6 +14254,7 @@ function makeGeometryOps(_module) {
14221
14254
  approximateSurfaceLspia: (coords, rows, cols, degreeU, degreeV, numCpsU, numCpsV, tolerance, maxIterations) => occtOrThrow("approximateSurfaceLspia").approximateSurfaceLspia(coords, rows, cols, degreeU, degreeV, numCpsU, numCpsV, tolerance, maxIterations),
14222
14255
  untrimFace: (face, samplesPerCurve, interiorSamples) => viaOcct(face, (s, occt) => occt.untrimFace(s, samplesPerCurve, interiorSamples)),
14223
14256
  getSurfaceCylinderData: (surface) => viaOcct(surface, (s, occt) => occt.getSurfaceCylinderData(s)),
14257
+ getSurfaceAxis: (face) => viaOcct(face, (s, occt) => occt.getSurfaceAxis(s)),
14224
14258
  reverseSurfaceU: (surface) => occtOrThrow("reverseSurfaceU").reverseSurfaceU(surface),
14225
14259
  detectSmallFeatures: (shape, areaThreshold, tolerance) => viaOcct(shape, (s, occt) => occt.detectSmallFeatures(s, areaThreshold, tolerance)),
14226
14260
  recognizeFeatures: (shape, tolerance) => viaOcct(shape, (s, occt) => occt.recognizeFeatures(s, tolerance)),
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-TG6AH06v.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-BpOknLmX.cjs");
4
- const require_drawFns = require("./drawFns-Bn4vzbUr.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-COG8m1aE.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-dZZ8e5ey.cjs");
4
+ const require_drawFns = require("./drawFns-eMU4H__w.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-DbINWerx.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-Bzr38vZx.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-B57ej88L.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-BRKbVgE2.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-ZqWpAG8b.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-HfRD4iNF.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
- import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-yCQ8z5Hc.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-2cKwu2z4.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-DNWJsfVU.js";
3
- import { _ as downcast, g as cast } from "./faceFns-Dreo5ksY.js";
3
+ import { _ as cast, v as downcast } from "./faceFns-BBcrvY7r.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-BIlZar9m.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_faceFns = require("./faceFns-FAZgMVCx.cjs");
3
+ const require_faceFns = require("./faceFns-CcLFCtg4.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 { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-yCQ8z5Hc.js";
1
+ import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-2cKwu2z4.js";
2
2
  import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-DNWJsfVU.js";
3
- import { g as cast, l as outerWire } from "./faceFns-Dreo5ksY.js";
3
+ import { _ as cast, u as outerWire } from "./faceFns-BBcrvY7r.js";
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
- const require_shapeTypes = require("./shapeTypes-BIlZar9m.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_faceFns = require("./faceFns-FAZgMVCx.cjs");
3
+ const require_faceFns = require("./faceFns-CcLFCtg4.cjs");
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-TG6AH06v.cjs");
3
- const require_textMetrics = require("./textMetrics-Dag-YREs.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-COG8m1aE.cjs");
3
+ const require_textMetrics = require("./textMetrics-CTSpUXtk.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-B57ej88L.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-BxtB3sjj.js";
1
+ import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-HfRD4iNF.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Zp8rzokO.js";
3
3
  export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
@@ -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-BIlZar9m.cjs");
32
+ const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
33
33
  const require_errors = require("./errors-CXJtc4I7.cjs");
34
34
  const require_types = require("./types-KjA8tY4Y.cjs");
35
35
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
36
36
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
37
- const require_faceFns = require("./faceFns-FAZgMVCx.cjs");
38
- const require_curveFns = require("./curveFns-CXytEfTr.cjs");
37
+ const require_faceFns = require("./faceFns-CcLFCtg4.cjs");
38
+ const require_curveFns = require("./curveFns-uPVW6eo-.cjs");
39
39
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
40
- const require_surfaceBuilders = require("./surfaceBuilders-CzHPZtd3.cjs");
41
- const require_blueprintSketcher = require("./blueprintSketcher-BpOknLmX.cjs");
42
- const require_solidBuilders = require("./solidBuilders-dNhToZgl.cjs");
43
- const require_extrudeFns = require("./extrudeFns-C0FsOXev.cjs");
40
+ const require_surfaceBuilders = require("./surfaceBuilders-D2PBBoja.cjs");
41
+ const require_blueprintSketcher = require("./blueprintSketcher-dZZ8e5ey.cjs");
42
+ const require_solidBuilders = require("./solidBuilders-ibLq_9EK.cjs");
43
+ const require_extrudeFns = require("./extrudeFns-CzQans6p.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,15 +1,15 @@
1
- import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-yCQ8z5Hc.js";
1
+ import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-2cKwu2z4.js";
2
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-DNWJsfVU.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
5
  import { n as createPlane } from "./planeOps-DSjjtrjg.js";
6
- import { _ as downcast, g as cast } from "./faceFns-Dreo5ksY.js";
7
- import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-BhTtS18d.js";
6
+ import { _ as cast, v as downcast } from "./faceFns-BBcrvY7r.js";
7
+ import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-CXhOkKR4.js";
8
8
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
9
- import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-CS1QccDv.js";
10
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DbINWerx.js";
11
- import { o as makeSolid, t as makeCompound } from "./solidBuilders-CPOTKI5i.js";
12
- import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-rnUgev_g.js";
9
+ import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-BtNrSolT.js";
10
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-BRKbVgE2.js";
11
+ import { o as makeSolid, t as makeCompound } from "./solidBuilders-Bx3UdW91.js";
12
+ import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-CSy2C7WW.js";
13
13
  import opentype from "opentype.js";
14
14
  //#region src/operations/loftFns.ts
15
15
  /**
@@ -1,4 +1,4 @@
1
- const require_textBlueprints = require("./textBlueprints-TG6AH06v.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-COG8m1aE.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/text/sketchText.ts
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
2
- import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-B57ej88L.js";
2
+ import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-HfRD4iNF.js";
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -54,6 +54,15 @@ export declare function projectPointOnFace(face: Face, point: PointInput): Resul
54
54
  export declare function normalAt(face: Face, locationPoint?: PointInput): Vec3;
55
55
  /** Get the center of mass of a face. */
56
56
  export declare function faceCenter(face: Face): Vec3;
57
+ /**
58
+ * Get a face's axis of symmetry — a point on the axis plus a unit direction —
59
+ * for analytic faces that have one (e.g. a cylinder's axis). Returns null when
60
+ * the face has no well-defined axis or the active kernel can't determine it.
61
+ */
62
+ export declare function faceAxis(face: Face): {
63
+ origin: Vec3;
64
+ direction: Vec3;
65
+ } | null;
57
66
  /**
58
67
  * Classify a 3D point's position relative to a face boundary.
59
68
  * Projects the point onto the face's surface and classifies the UV result.
@@ -7,7 +7,7 @@ export { isNumber, isChamferRadius, isFilletRadius, type ChamferRadius, type Fil
7
7
  export type { CurveType } from '../core/typeDiscriminants.js';
8
8
  export { getHashCode, isSameShape, isEqualShape, getEdges, getFaces, getWires, iterEdges, iterFaces, iterWires, getBounds, vertexPosition, type Bounds3D, } from './shapeFns.js';
9
9
  export { getCurveType, curveStartPoint, curveEndPoint, curvePointAt, curveTangentAt, curveLength, curveIsClosed, curveIsPeriodic, curvePeriod, getOrientation, flipOrientation, offsetWire2D, } from './curveFns.js';
10
- export { getSurfaceType, faceGeomType, faceOrientation, flipFaceOrientation, uvBounds, pointOnSurface, uvCoordinates, normalAt, faceCenter, outerWire, innerWires, type UVBounds, } from './faceFns.js';
10
+ export { getSurfaceType, faceGeomType, faceOrientation, flipFaceOrientation, uvBounds, pointOnSurface, uvCoordinates, normalAt, faceCenter, faceAxis, outerWire, innerWires, type UVBounds, } from './faceFns.js';
11
11
  export { exportSTEP, exportSTL, type EdgeMesh, type MeshOptions } from './meshFns.js';
12
12
  export { fuseAll, cutAll, type BooleanOptions } from './booleanFns.js';
13
13
  export { toBufferGeometryData, toLineGeometryData, type BufferGeometryData, type LineGeometryData, } from './threeHelpers.js';
package/dist/topology.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-BuWZAQ_o.cjs");
3
- const require_faceFns = require("./faceFns-FAZgMVCx.cjs");
4
- const require_shapeFns = require("./shapeFns-w1YoIn_p.cjs");
5
- const require_curveFns = require("./curveFns-CXytEfTr.cjs");
6
- const require_meshFns = require("./meshFns-lwgHYQ79.cjs");
7
- const require_booleanFns = require("./booleanFns-DvXg6a2Y.cjs");
8
- const require_primitiveFns = require("./primitiveFns-DZmgvzvk.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-024l64sD.cjs");
3
+ const require_faceFns = require("./faceFns-CcLFCtg4.cjs");
4
+ const require_shapeFns = require("./shapeFns-CDHya-nt.cjs");
5
+ const require_curveFns = require("./curveFns-uPVW6eo-.cjs");
6
+ const require_meshFns = require("./meshFns-CEGnFm33.cjs");
7
+ const require_booleanFns = require("./booleanFns-Bp_wYEwG.cjs");
8
+ const require_primitiveFns = require("./primitiveFns-CpkG8ZkI.cjs");
9
9
  exports.addHoles = require_primitiveFns.addHoles;
10
10
  exports.adjacentFaces = require_primitiveFns.adjacentFaces;
11
11
  exports.approximateCurve = require_curveFns.approximateCurve;
@@ -46,6 +46,7 @@ exports.exportIGES = require_meshFns.exportIGES;
46
46
  exports.exportSTEP = require_meshFns.exportSTEP;
47
47
  exports.exportSTL = require_meshFns.exportSTL;
48
48
  exports.face = require_primitiveFns.face;
49
+ exports.faceAxis = require_faceFns.faceAxis;
49
50
  exports.faceCenter = require_faceFns.faceCenter;
50
51
  exports.faceGeomType = require_faceFns.faceGeomType;
51
52
  exports.faceOrientation = require_faceFns.faceOrientation;
@@ -17,7 +17,7 @@ export { chamferDistAngle as chamferDistAngleShape } from './topology/chamferAng
17
17
  export { variableFillet, type VariableFilletRadius } from './topology/modifierFns.js';
18
18
  export { getCurveType, curveStartPoint, curveEndPoint, curvePointAt, curveTangentAt, curveLength, curveIsClosed, curveIsPeriodic, curvePeriod, getOrientation, flipOrientation, offsetWire2D, interpolateCurve, approximateCurve, type InterpolateCurveOptions, type ApproximateCurveOptions, } from './topology/curveFns.js';
19
19
  export { getNurbsCurveData, getNurbsSurfaceData } from './topology/nurbsFns.js';
20
- export { getSurfaceType, faceGeomType, faceOrientation, flipFaceOrientation, uvBounds, pointOnSurface, uvCoordinates, normalAt, faceCenter, classifyPointOnFace, outerWire, innerWires, projectPointOnFace, type UVBounds, type PointProjectionResult, } from './topology/faceFns.js';
20
+ export { getSurfaceType, faceGeomType, faceOrientation, flipFaceOrientation, uvBounds, pointOnSurface, uvCoordinates, normalAt, faceCenter, faceAxis, classifyPointOnFace, outerWire, innerWires, projectPointOnFace, type UVBounds, type PointProjectionResult, } from './topology/faceFns.js';
21
21
  export { facesOfEdge, edgesOfFace, wiresOfFace, verticesOfEdge, adjacentFaces, sharedEdges, } from './topology/adjacencyFns.js';
22
22
  export { exportSTEP, exportSTL, exportIGES, type ShapeMesh, type EdgeMesh, type MeshOptions, } from './topology/meshFns.js';
23
23
  export { clearMeshCache, createMeshCache, type MeshCacheContext } from './topology/meshCache.js';
package/dist/topology.js CHANGED
@@ -1,8 +1,8 @@
1
- import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-Bxdnl5Vt.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-Dreo5ksY.js";
3
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-BnkizFjV.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-BhTtS18d.js";
5
- import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-B3MjIqk1.js";
6
- import { a as fuseAll, r as cutAll } from "./booleanFns-0jDBFjAv.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-DcZDTQ_R.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
+ import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-c2RQIcfW.js";
2
+ import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-BBcrvY7r.js";
3
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-DVUNOG2I.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-CXhOkKR4.js";
5
+ import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-D-nLiHvU.js";
6
+ import { a as fuseAll, r as cutAll } from "./booleanFns-DYSaupiG.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-CDbe5gjc.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, faceAxis, 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,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-BIlZar9m.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DRxArFIc.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
@@ -1,4 +1,4 @@
1
- import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-yCQ8z5Hc.js";
1
+ import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-2cKwu2z4.js";
2
2
  import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-DNWJsfVU.js";
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "18.69.3",
3
+ "version": "18.70.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",