brepjs 20.12.1 → 20.12.4

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 (92) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-C0YD3Zrp.js → adjacencyFns-54UTqtan.js} +3 -3
  4. package/dist/{adjacencyFns-Cibtcqdl.cjs → adjacencyFns-C_Vb1AeW.cjs} +3 -3
  5. package/dist/{blueprint-CHBjfXQO.cjs → blueprint-D0VEeTzJ.cjs} +5 -5
  6. package/dist/{blueprint-CN5dNZ1h.js → blueprint-DFpjcrlm.js} +5 -5
  7. package/dist/{blueprintFns-DOdzDcPX.cjs → blueprintFns-Douf5ZdX.cjs} +2 -2
  8. package/dist/{blueprintFns--26Mr3Lm.js → blueprintFns-Dye1jezD.js} +2 -2
  9. package/dist/{blueprintSketcher-CQPC4SEF.js → blueprintSketcher-Cr0Lr1Dq.js} +3 -3
  10. package/dist/{blueprintSketcher-CG4H8A6M.cjs → blueprintSketcher-W9yON-UC.cjs} +3 -3
  11. package/dist/{boolean2D-DjJogOY-.cjs → boolean2D-C9VghXHG.cjs} +4 -4
  12. package/dist/{boolean2D-tR_2N_Vy.js → boolean2D-CCV3R6lN.js} +4 -4
  13. package/dist/brepjs.cjs +30 -30
  14. package/dist/brepjs.js +30 -30
  15. package/dist/{cameraFns-xUCRxpsa.js → cameraFns-DZOI_ewG.js} +3 -3
  16. package/dist/{cameraFns-CUX8VNKT.cjs → cameraFns-x3L6dtA8.cjs} +3 -3
  17. package/dist/core.cjs +2 -2
  18. package/dist/core.js +2 -2
  19. package/dist/{cornerFinder-Bg67ivza.cjs → cornerFinder-B8PqO4um.cjs} +1 -1
  20. package/dist/{cornerFinder-utEooGH7.js → cornerFinder-BY10jciz.js} +1 -1
  21. package/dist/{curveFns-CMiP40Ko.cjs → curveFns-8lUhNquZ.cjs} +1 -1
  22. package/dist/{curveFns-AMqd_WaO.js → curveFns-B4308HNM.js} +1 -1
  23. package/dist/{drawFns-C_YnK4Ar.cjs → drawFns-C7zAvera.cjs} +12 -12
  24. package/dist/{drawFns-D6YK0JbH.js → drawFns-DjnU3fEd.js} +12 -12
  25. package/dist/{faceFns-Ciq7lYTa.js → faceFns-7eHqNM0P.js} +9 -5
  26. package/dist/{faceFns-CdUF0JOe.cjs → faceFns-BjmlYcc9.cjs} +9 -5
  27. package/dist/{healingFns-Dchd7dm5.js → healingFns-BW7mZ_SW.js} +5 -5
  28. package/dist/{healingFns-CrUTSyyK.cjs → healingFns-CYLIcIWv.cjs} +5 -5
  29. package/dist/{helpers-CBXclBes.js → helpers-BQ6XMFcm.js} +6 -6
  30. package/dist/{helpers-GZyqAK5c.cjs → helpers-De0Z_6iV.cjs} +6 -6
  31. package/dist/{importFns-C3LbWc6X.cjs → importFns-3IMBHQrQ.cjs} +2 -2
  32. package/dist/{importFns-CcPhunG6.js → importFns-BCL4-H8e.js} +2 -2
  33. package/dist/io.cjs +2 -2
  34. package/dist/io.js +2 -2
  35. package/dist/kernel/geometry2d.d.ts +7 -0
  36. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  37. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  38. package/dist/{loftFns-BsFinbgs.cjs → loftFns-DlG5oR0X.cjs} +1 -1
  39. package/dist/{loftFns-pMh0ET-J.js → loftFns-H4ZOpRAk.js} +1 -1
  40. package/dist/{measureFns-DukwjzUl.js → measureFns-1IfNe629.js} +3 -3
  41. package/dist/{measureFns-Cyjpl2Kl.cjs → measureFns-Ce01LVwq.cjs} +3 -3
  42. package/dist/measurement.cjs +2 -2
  43. package/dist/measurement.js +2 -2
  44. package/dist/{meshFns-LytwBtBQ.js → meshFns-DaRZxa7B.js} +3 -3
  45. package/dist/{meshFns-BNrdUhgG.cjs → meshFns-nEvfwNRF.cjs} +3 -3
  46. package/dist/{occtWasmAdapter-D1EXktNq.cjs → occtWasmAdapter-CRd9RFEu.cjs} +32 -3
  47. package/dist/{occtWasmAdapter-RBm-JLoN.js → occtWasmAdapter-ipKUdNLN.js} +32 -3
  48. package/dist/operations.cjs +2 -2
  49. package/dist/operations.js +2 -2
  50. package/dist/{originTrackingFns-BRJ2PZ8J.cjs → originTrackingFns-9gyCMFFQ.cjs} +2 -2
  51. package/dist/{originTrackingFns-BqlxFeWq.js → originTrackingFns-zrksCJTa.js} +2 -2
  52. package/dist/{primitiveFns-eE9jyVCs.cjs → primitiveFns-BRXZ7jnP.cjs} +4 -4
  53. package/dist/{primitiveFns-Vf_2qORp.js → primitiveFns-ClQP6zMQ.js} +4 -4
  54. package/dist/{principalBoxFns-ClynMQMo.js → principalBoxFns-DsfWOoXg.js} +3 -3
  55. package/dist/{principalBoxFns-uZrBoGLA.cjs → principalBoxFns-tIv-crMB.cjs} +3 -3
  56. package/dist/projection.cjs +1 -1
  57. package/dist/projection.js +1 -1
  58. package/dist/query.cjs +2 -2
  59. package/dist/query.js +2 -2
  60. package/dist/{refResolveFns-BvQkLKLw.js → refResolveFns-BG3JGs--.js} +6 -6
  61. package/dist/{refResolveFns-awGNYa3x.cjs → refResolveFns-BZdUlv9f.cjs} +6 -6
  62. package/dist/{shapeFns-D7DcPxfx.js → shapeFns-BCgegapL.js} +2 -2
  63. package/dist/{shapeFns-CHFmX5HQ.cjs → shapeFns-BbXqiNqY.cjs} +2 -2
  64. package/dist/shapeRef.cjs +1 -1
  65. package/dist/shapeRef.js +1 -1
  66. package/dist/{shapeTypes-Db3yAgTO.js → shapeTypes-DAz6aAnJ.js} +1 -1
  67. package/dist/{shapeTypes-HDVHzNk1.cjs → shapeTypes-DJT3SnGK.cjs} +1 -1
  68. package/dist/sketching/sketchFns.d.ts +8 -3
  69. package/dist/sketching/sketches.d.ts +6 -0
  70. package/dist/sketching.cjs +3 -3
  71. package/dist/sketching.js +3 -3
  72. package/dist/{solidBuilders-DKNxcpSB.js → solidBuilders-8xytLt8-.js} +5 -5
  73. package/dist/{solidBuilders-fzrTygbj.cjs → solidBuilders-BWbqhbyv.cjs} +5 -5
  74. package/dist/{surfaceBuilders-B1Ikcte3.js → surfaceBuilders-BO96DMCH.js} +3 -3
  75. package/dist/{surfaceBuilders-DFqsIPkm.cjs → surfaceBuilders-CwG_RPdZ.cjs} +3 -3
  76. package/dist/text.cjs +2 -2
  77. package/dist/text.js +2 -2
  78. package/dist/{textBlueprints-C38JfUeN.cjs → textBlueprints-DHfYmLtP.cjs} +40 -12
  79. package/dist/{textBlueprints-TLU7rjuN.js → textBlueprints-Dhe8_Uvc.js} +40 -12
  80. package/dist/{textMetrics-CEnX8GBe.js → textMetrics-Bbf-Dllw.js} +1 -1
  81. package/dist/{textMetrics-r9ldmBb5.cjs → textMetrics-CwYDH9js.cjs} +1 -1
  82. package/dist/{threadFns-BzxB-0i5.cjs → threadFns-B23RqugN.cjs} +7 -7
  83. package/dist/{threadFns-eDV-yg06.js → threadFns-Cn7_bmux.js} +7 -7
  84. package/dist/topology/cast.d.ts +6 -3
  85. package/dist/topology/topologyQueryFns.d.ts +9 -1
  86. package/dist/topology.cjs +9 -9
  87. package/dist/topology.js +9 -9
  88. package/dist/{topologyQueryFns-DKNVBMuN.js → topologyQueryFns-BfYdGOJc.js} +1 -14
  89. package/dist/{topologyQueryFns-gyva7bvF.cjs → topologyQueryFns-xh11vEQw.cjs} +1 -14
  90. package/dist/{validityTypes-BmqE7KfX.js → validityTypes-BfOuvfyp.js} +1 -1
  91. package/dist/{validityTypes-CwMwVFdY.cjs → validityTypes-CXkecqMw.cjs} +1 -1
  92. package/package.json +1 -1
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
4
4
  const require_types = require("./types-CjF9Rofr.cjs");
5
5
  // src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -38,10 +38,14 @@ var iterTopo = function* iterTopo(shape, topo) {
38
38
  const shapes = require_shapeTypes.getKernel().iterShapes(shape, TOPO_TO_SHAPE_TYPE[topo]);
39
39
  for (const s of shapes) yield s;
40
40
  };
41
- /** Get the TopAbs_ShapeEnum type of an kernel shape, returning Err for null shapes. */
41
+ /**
42
+ * Get the topological type of a shape (`'solid'`, `'face'`, ...), returning Err for null
43
+ * shapes. Accepts a branded shape or its raw kernel handle (`shape.wrapped`).
44
+ */
42
45
  var shapeType = (shape) => {
43
- if (require_shapeTypes.getKernel().isNull(shape)) return require_errors.err(require_errors.typeCastError("NULL_SHAPE", "This shape has no type, it is null"));
44
- return require_errors.ok(shape.ShapeType());
46
+ const raw = shape !== null && typeof shape === "object" && "wrapped" in shape ? shape.wrapped : shape;
47
+ if (require_shapeTypes.getKernel().isNull(raw)) return require_errors.err(require_errors.typeCastError("NULL_SHAPE", "This shape has no type, it is null"));
48
+ return require_errors.ok(require_shapeTypes.getOrQueryType(require_shapeTypes.getKernel(), raw));
45
49
  };
46
50
  /**
47
51
  * Downcast a generic KernelShape to its concrete kernel type (e.g., kernel topology_Face).
@@ -1,10 +1,10 @@
1
- import { C as isSolid, D as getShapeKind, T as isWire, Y as getKernelCapabilities, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType, x as isShape3D, y as isFace } from "./shapeTypes-Db3yAgTO.js";
2
- import { k as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-RBm-JLoN.js";
1
+ import { C as isSolid, D as getShapeKind, T as isWire, Y as getKernelCapabilities, h as disposeResultShape, i as castShape, m as disposeDowncastSource, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType, x as isShape3D, y as isFace } from "./shapeTypes-DAz6aAnJ.js";
2
+ import { k as isUnsupportedKernelOperationError, n as faultyEdgeIndexesOf } from "./occtWasmAdapter-ipKUdNLN.js";
3
3
  import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode, u as unsupportedError, x as isOk } from "./errors-BTccWbtE.js";
4
- import { C as subShapeHashes, O as getSuggestionForCode, c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-DKNVBMuN.js";
4
+ import { C as subShapeHashes, O as getSuggestionForCode, c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BfYdGOJc.js";
5
5
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
6
- import { y as downcast } from "./faceFns-Ciq7lYTa.js";
7
- import { C as propagateAllMetadata, f as cut, h as fuseAll, m as fuse, p as cutAll, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-DKNxcpSB.js";
6
+ import { y as downcast } from "./faceFns-7eHqNM0P.js";
7
+ import { C as propagateAllMetadata, f as cut, h as fuseAll, m as fuse, p as cutAll, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-8xytLt8-.js";
8
8
  import { t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
9
9
  // src/topology/threeHelpers.ts
10
10
  /**
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
2
- const require_occtWasmAdapter = require("./occtWasmAdapter-D1EXktNq.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
+ const require_occtWasmAdapter = require("./occtWasmAdapter-CRd9RFEu.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
5
5
  const require_constants = require("./constants-oee0S_x6.cjs");
6
- const require_faceFns = require("./faceFns-CdUF0JOe.cjs");
7
- const require_solidBuilders = require("./solidBuilders-fzrTygbj.cjs");
6
+ const require_faceFns = require("./faceFns-BjmlYcc9.cjs");
7
+ const require_solidBuilders = require("./solidBuilders-BWbqhbyv.cjs");
8
8
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
9
9
  // src/topology/threeHelpers.ts
10
10
  /**
@@ -1,12 +1,12 @@
1
- import { q as getKernel, y as isFace } from "./shapeTypes-Db3yAgTO.js";
1
+ import { q as getKernel, y as isFace } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { E as ok, g as err, o as queryError, x as isOk } from "./errors-BTccWbtE.js";
3
- import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-DKNVBMuN.js";
3
+ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-BfYdGOJc.js";
4
4
  import { t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { a as vecDot, d as vecNormalize } from "./vecOps-S-m9H_fe.js";
6
- import { l as normalAt, s as getSurfaceType } from "./faceFns-Ciq7lYTa.js";
7
- import { a as isSameShape, n as getHashCode } from "./shapeFns-D7DcPxfx.js";
8
- import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-AMqd_WaO.js";
9
- import { n as measureArea } from "./measureFns-DukwjzUl.js";
6
+ import { l as normalAt, s as getSurfaceType } from "./faceFns-7eHqNM0P.js";
7
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-BCgegapL.js";
8
+ import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-B4308HNM.js";
9
+ import { n as measureArea } from "./measureFns-1IfNe629.js";
10
10
  // src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
- const require_faceFns = require("./faceFns-CdUF0JOe.cjs");
7
- const require_shapeFns = require("./shapeFns-CHFmX5HQ.cjs");
8
- const require_curveFns = require("./curveFns-CMiP40Ko.cjs");
9
- const require_measureFns = require("./measureFns-Cyjpl2Kl.cjs");
6
+ const require_faceFns = require("./faceFns-BjmlYcc9.cjs");
7
+ const require_shapeFns = require("./shapeFns-BbXqiNqY.cjs");
8
+ const require_curveFns = require("./curveFns-8lUhNquZ.cjs");
9
+ const require_measureFns = require("./measureFns-Ce01LVwq.cjs");
10
10
  // src/utils/vec2d.ts
11
11
  /** Precision for curve intersection and parameter operations. */
12
12
  var PRECISION_INTERSECTION = 1e-9;
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
5
- const require_blueprint = require("./blueprint-CHBjfXQO.cjs");
5
+ const require_blueprint = require("./blueprint-D0VEeTzJ.cjs");
6
6
  // src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
@@ -1,8 +1,8 @@
1
- import { n as castResultShape, q as getKernel } from "./shapeTypes-Db3yAgTO.js";
1
+ import { n as castResultShape, q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { i as wasmIndex, r as vec3At$1 } from "./bug-ClMTAJhe.js";
3
3
  import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-BpgouNir.js";
5
- import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-CN5dNZ1h.js";
5
+ import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-DFpjcrlm.js";
6
6
  // src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
package/dist/io.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-BNrdUhgG.cjs");
3
- const require_importFns = require("./importFns-C3LbWc6X.cjs");
2
+ const require_meshFns = require("./meshFns-nEvfwNRF.cjs");
3
+ const require_importFns = require("./importFns-3IMBHQrQ.cjs");
4
4
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
5
5
  exports.exportDXF = require_importFns.exportDXF;
6
6
  exports.exportGlb = require_importFns.exportGlb;
package/dist/io.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-LytwBtBQ.js";
2
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-CcPhunG6.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-DaRZxa7B.js";
2
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-BCL4-H8e.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -89,6 +89,13 @@ export declare function intersectCurves2dFn(c1: Curve2dObj, c2: Curve2dObj, tole
89
89
  points: [number, number][];
90
90
  segments: Curve2dObj[];
91
91
  };
92
+ /**
93
+ * Gauss-Newton the foot point of (px, py) on c from a sampled start parameter, staying
94
+ * within [from, to] (either order). A sampling grid alone leaves the point up to
95
+ * ~r*pi/N off an arc, while intersection and split callers treat a point as on the
96
+ * curve only within ~1e-8, so an unrefined sample rejects nearly every real crossing.
97
+ */
98
+ export declare function refineFootPoint(c: Curve2dObj, px: number, py: number, start: number, from: number, to: number): number;
92
99
  export declare function serializeCurve2d(c: Curve2dObj): string;
93
100
  export declare function deserializeCurve2d(data: string): Curve2dObj;
94
101
  export declare function createBBox2d(): BBox2d;
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-D1EXktNq.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-CRd9RFEu.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -1 +1 @@
1
- export { t as OcctWasmAdapter } from "../../occtWasmAdapter-RBm-JLoN.js";
1
+ export { t as OcctWasmAdapter } from "../../occtWasmAdapter-ipKUdNLN.js";
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_types = require("./types-CjF9Rofr.cjs");
4
4
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
@@ -1,4 +1,4 @@
1
- import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-Db3yAgTO.js";
1
+ import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { E as ok, b as isErr, d as validationError, g as err, i as kernelError, l as typeCastError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
3
  import { r as toVec3 } from "./types-CKXsIm9-.js";
4
4
  import { c as vecLength, t as vecAdd } from "./vecOps-S-m9H_fe.js";
@@ -1,7 +1,7 @@
1
- import { q as getKernel } from "./shapeTypes-Db3yAgTO.js";
1
+ import { q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { E as kernelCallRaw } from "./topologyQueryFns-DKNVBMuN.js";
4
- import { m as uvBounds } from "./faceFns-Ciq7lYTa.js";
3
+ import { E as kernelCallRaw } from "./topologyQueryFns-BfYdGOJc.js";
4
+ import { m as uvBounds } from "./faceFns-7eHqNM0P.js";
5
5
  // src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
4
- const require_faceFns = require("./faceFns-CdUF0JOe.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
4
+ const require_faceFns = require("./faceFns-BjmlYcc9.cjs");
5
5
  // src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-Cyjpl2Kl.cjs");
3
- const require_principalBoxFns = require("./principalBoxFns-uZrBoGLA.cjs");
2
+ const require_measureFns = require("./measureFns-Ce01LVwq.cjs");
3
+ const require_principalBoxFns = require("./principalBoxFns-tIv-crMB.cjs");
4
4
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
5
5
  exports.measureArea = require_measureFns.measureArea;
6
6
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,3 +1,3 @@
1
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-DukwjzUl.js";
2
- import { t as principalBoundingBox } from "./principalBoxFns-ClynMQMo.js";
1
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-1IfNe629.js";
2
+ import { t as principalBoundingBox } from "./principalBoxFns-DsfWOoXg.js";
3
3
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, principalBoundingBox };
@@ -1,7 +1,7 @@
1
- import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-Db3yAgTO.js";
1
+ import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { E as ok, g as err, r as ioError } from "./errors-BTccWbtE.js";
3
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-DKNVBMuN.js";
4
- import { t as getFaceOrigins } from "./originTrackingFns-BqlxFeWq.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-BfYdGOJc.js";
4
+ import { t as getFaceOrigins } from "./originTrackingFns-zrksCJTa.js";
5
5
  // src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
4
- const require_originTrackingFns = require("./originTrackingFns-BRJ2PZ8J.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
4
+ const require_originTrackingFns = require("./originTrackingFns-9gyCMFFQ.cjs");
5
5
  // src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -778,7 +778,34 @@ function refineParam(c, px, py) {
778
778
  const [ex, ey] = evaluateCurve2d$1(c, bounds.last);
779
779
  const [mx, my] = evaluateCurve2d$1(c, (bounds.first + bounds.last) / 2);
780
780
  const maxDist = Math.max(Math.sqrt((ex - sx) ** 2 + (ey - sy) ** 2), Math.sqrt((mx - sx) ** 2 + (my - sy) ** 2), 1e-6) * .1;
781
- return bestD < maxDist * maxDist ? bestT : null;
781
+ return bestD < maxDist * maxDist ? refineFootPoint(c, px, py, bestT, bounds.first, bounds.last) : null;
782
+ }
783
+ /**
784
+ * Gauss-Newton the foot point of (px, py) on c from a sampled start parameter, staying
785
+ * within [from, to] (either order). A sampling grid alone leaves the point up to
786
+ * ~r*pi/N off an arc, while intersection and split callers treat a point as on the
787
+ * curve only within ~1e-8, so an unrefined sample rejects nearly every real crossing.
788
+ */
789
+ function refineFootPoint(c, px, py, start, from, to) {
790
+ const lo = Math.min(from, to);
791
+ const hi = Math.max(from, to);
792
+ let t = start;
793
+ let [x, y] = evaluateCurve2d$1(c, t);
794
+ let distSq = (x - px) ** 2 + (y - py) ** 2;
795
+ for (let iter = 0; iter < 30 && distSq > 0; iter++) {
796
+ const [tx, ty] = tangentCurve2d(c, t);
797
+ const speedSq = tx * tx + ty * ty;
798
+ if (speedSq < 1e-300) break;
799
+ const next = Math.min(hi, Math.max(lo, t + ((px - x) * tx + (py - y) * ty) / speedSq));
800
+ const [nx, ny] = evaluateCurve2d$1(c, next);
801
+ const nextDistSq = (nx - px) ** 2 + (ny - py) ** 2;
802
+ if (nextDistSq >= distSq) break;
803
+ t = next;
804
+ x = nx;
805
+ y = ny;
806
+ distSq = nextDistSq;
807
+ }
808
+ return t;
782
809
  }
783
810
  function intersectLineLine(c1, l1, c2, l2, tol) {
784
811
  const det = l1.dx * l2.dy - l1.dy * l2.dx;
@@ -4447,9 +4474,11 @@ function projectPointOnCurve2d(curve, x, y) {
4447
4474
  bestT = t;
4448
4475
  }
4449
4476
  }
4477
+ const t = refineFootPoint(basis, x, y, bestT, bFirst, bLast);
4478
+ const [px, py] = evaluateCurve2d$1(basis, t);
4450
4479
  return {
4451
- param: bestT,
4452
- distance: Math.sqrt(bestDist)
4480
+ param: t,
4481
+ distance: Math.sqrt((px - x) ** 2 + (py - y) ** 2)
4453
4482
  };
4454
4483
  };
4455
4484
  if (c.__bk2d === "trimmed") {
@@ -778,7 +778,34 @@ function refineParam(c, px, py) {
778
778
  const [ex, ey] = evaluateCurve2d$1(c, bounds.last);
779
779
  const [mx, my] = evaluateCurve2d$1(c, (bounds.first + bounds.last) / 2);
780
780
  const maxDist = Math.max(Math.sqrt((ex - sx) ** 2 + (ey - sy) ** 2), Math.sqrt((mx - sx) ** 2 + (my - sy) ** 2), 1e-6) * .1;
781
- return bestD < maxDist * maxDist ? bestT : null;
781
+ return bestD < maxDist * maxDist ? refineFootPoint(c, px, py, bestT, bounds.first, bounds.last) : null;
782
+ }
783
+ /**
784
+ * Gauss-Newton the foot point of (px, py) on c from a sampled start parameter, staying
785
+ * within [from, to] (either order). A sampling grid alone leaves the point up to
786
+ * ~r*pi/N off an arc, while intersection and split callers treat a point as on the
787
+ * curve only within ~1e-8, so an unrefined sample rejects nearly every real crossing.
788
+ */
789
+ function refineFootPoint(c, px, py, start, from, to) {
790
+ const lo = Math.min(from, to);
791
+ const hi = Math.max(from, to);
792
+ let t = start;
793
+ let [x, y] = evaluateCurve2d$1(c, t);
794
+ let distSq = (x - px) ** 2 + (y - py) ** 2;
795
+ for (let iter = 0; iter < 30 && distSq > 0; iter++) {
796
+ const [tx, ty] = tangentCurve2d(c, t);
797
+ const speedSq = tx * tx + ty * ty;
798
+ if (speedSq < 1e-300) break;
799
+ const next = Math.min(hi, Math.max(lo, t + ((px - x) * tx + (py - y) * ty) / speedSq));
800
+ const [nx, ny] = evaluateCurve2d$1(c, next);
801
+ const nextDistSq = (nx - px) ** 2 + (ny - py) ** 2;
802
+ if (nextDistSq >= distSq) break;
803
+ t = next;
804
+ x = nx;
805
+ y = ny;
806
+ distSq = nextDistSq;
807
+ }
808
+ return t;
782
809
  }
783
810
  function intersectLineLine(c1, l1, c2, l2, tol) {
784
811
  const det = l1.dx * l2.dy - l1.dy * l2.dx;
@@ -4447,9 +4474,11 @@ function projectPointOnCurve2d(curve, x, y) {
4447
4474
  bestT = t;
4448
4475
  }
4449
4476
  }
4477
+ const t = refineFootPoint(basis, x, y, bestT, bFirst, bLast);
4478
+ const [px, py] = evaluateCurve2d$1(basis, t);
4450
4479
  return {
4451
- param: bestT,
4452
- distance: Math.sqrt(bestDist)
4480
+ param: t,
4481
+ distance: Math.sqrt((px - x) ** 2 + (py - y) ** 2)
4453
4482
  };
4454
4483
  };
4455
4484
  if (c.__bk2d === "trimmed") {
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-BzxB-0i5.cjs");
3
- const require_loftFns = require("./loftFns-BsFinbgs.cjs");
2
+ const require_threadFns = require("./threadFns-B23RqugN.cjs");
3
+ const require_loftFns = require("./loftFns-DlG5oR0X.cjs");
4
4
  exports.addChild = require_threadFns.addChild;
5
5
  exports.addJoint = require_threadFns.addJoint;
6
6
  exports.addStep = require_threadFns.addStep;
@@ -1,3 +1,3 @@
1
- import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, H as circularPattern, I as createAssemblyNode, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-eDV-yg06.js";
2
- import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-pMh0ET-J.js";
1
+ import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, H as circularPattern, I as createAssemblyNode, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-Cn7_bmux.js";
2
+ import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-H4ZOpRAk.js";
3
3
  export { addChild, addJoint, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, cylindricalJoint, exportAssemblySTEP, exportURDF, findNode, findStep, forwardKinematics, getShape as getHistoryShape, gridPattern, importURDF, inverseKinematics, jointTrajectory, jointTransform, jointsFromDH, linearPattern, mechanismDOF, modifyStep, planarJoint, prismaticJoint, registerOperation, registerShape, removeChild, replayFrom, replayHistory, revoluteJoint, setJointValue, setJointValues, sphericalJoint, stepCount, stepsFrom, supportExtrude, sweep, thread, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,5 +1,5 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
3
3
  const require_constants = require("./constants-oee0S_x6.cjs");
4
4
  // src/topology/metadata/originTrackingFns.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { q as getKernel } from "./shapeTypes-Db3yAgTO.js";
2
- import { C as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-DKNVBMuN.js";
1
+ import { q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
+ import { C as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-BfYdGOJc.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
4
4
  // src/topology/metadata/originTrackingFns.ts
5
5
  /**
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_validityTypes = require("./validityTypes-CwMwVFdY.cjs");
3
+ const require_validityTypes = require("./validityTypes-CXkecqMw.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
- const require_solidBuilders = require("./solidBuilders-fzrTygbj.cjs");
6
- const require_surfaceBuilders = require("./surfaceBuilders-DFqsIPkm.cjs");
5
+ const require_solidBuilders = require("./solidBuilders-BWbqhbyv.cjs");
6
+ const require_surfaceBuilders = require("./surfaceBuilders-CwG_RPdZ.cjs");
7
7
  // src/topology/transformFns.ts
8
8
  /**
9
9
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
@@ -1,9 +1,9 @@
1
- import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-Db3yAgTO.js";
1
+ import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { E as ok, d as validationError, g as err, m as andThen, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { n as isClosedWire } from "./validityTypes-BmqE7KfX.js";
3
+ import { n as isClosedWire } from "./validityTypes-BfOuvfyp.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
- import { C as propagateAllMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-DKNxcpSB.js";
6
- import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-B1Ikcte3.js";
5
+ import { C as propagateAllMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces, w as propagateMetadataByHash, x as collectInputFaceHashes } from "./solidBuilders-8xytLt8-.js";
6
+ import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-BO96DMCH.js";
7
7
  // src/topology/transformFns.ts
8
8
  /**
9
9
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
@@ -1,9 +1,9 @@
1
- import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-Db3yAgTO.js";
1
+ import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { i as wasmIndex } from "./bug-ClMTAJhe.js";
3
3
  import { E as ok, d as validationError, g as err, t as BrepErrorCode, u as unsupportedError } from "./errors-BTccWbtE.js";
4
- import { E as kernelCallRaw, S as subShapeCount } from "./topologyQueryFns-DKNVBMuN.js";
4
+ import { E as kernelCallRaw, S as subShapeCount } from "./topologyQueryFns-BfYdGOJc.js";
5
5
  import { r as vecCross } from "./vecOps-S-m9H_fe.js";
6
- import { f as getCachedMeasurement, p as setCachedMeasurement } from "./measureFns-DukwjzUl.js";
6
+ import { f as getCachedMeasurement, p as setCachedMeasurement } from "./measureFns-1IfNe629.js";
7
7
  // src/measurement/principalBoxFns.ts
8
8
  /**
9
9
  * Principal-axes bounding box: a solid's extent measured in the frame of its
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
5
5
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
- const require_measureFns = require("./measureFns-Cyjpl2Kl.cjs");
6
+ const require_measureFns = require("./measureFns-Ce01LVwq.cjs");
7
7
  // src/measurement/principalBoxFns.ts
8
8
  /**
9
9
  * Principal-axes bounding box: a solid's extent measured in the frame of its
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-CUX8VNKT.cjs");
2
+ const require_cameraFns = require("./cameraFns-x3L6dtA8.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1 +1 @@
1
- export { o as PROJECTION_PLANES, t as cameraFromPlane, n as cameraLookAt, r as createCamera, s as isProjectionPlane, a as makeProjectedEdges, i as projectEdges } from "./cameraFns-xUCRxpsa.js";
1
+ export { o as PROJECTION_PLANES, t as cameraFromPlane, n as cameraLookAt, r as createCamera, s as isProjectionPlane, a as makeProjectedEdges, i as projectEdges } from "./cameraFns-DZOI_ewG.js";
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-GZyqAK5c.cjs");
3
- const require_cornerFinder = require("./cornerFinder-Bg67ivza.cjs");
2
+ const require_helpers = require("./helpers-De0Z_6iV.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-B8PqO4um.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-CBXclBes.js";
2
- import { t as cornerFinder } from "./cornerFinder-utEooGH7.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BQ6XMFcm.js";
2
+ import { t as cornerFinder } from "./cornerFinder-BY10jciz.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,10 +1,10 @@
1
- import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-Db3yAgTO.js";
2
- import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-DKNVBMuN.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-Ciq7lYTa.js";
1
+ import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
+ import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-BfYdGOJc.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-7eHqNM0P.js";
4
4
  import { t as getFaceRoles } from "./faceRoleFns-BPxzQF-n.js";
5
- import { n as getHashCode } from "./shapeFns-D7DcPxfx.js";
6
- import { n as measureArea, s as measureLength } from "./measureFns-DukwjzUl.js";
7
- import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-C0YD3Zrp.js";
5
+ import { n as getHashCode } from "./shapeFns-BCgegapL.js";
6
+ import { n as measureArea, s as measureLength } from "./measureFns-1IfNe629.js";
7
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-54UTqtan.js";
8
8
  // src/topology/shapeRef/scoring.ts
9
9
  /**
10
10
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
3
- const require_faceFns = require("./faceFns-CdUF0JOe.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
3
+ const require_faceFns = require("./faceFns-BjmlYcc9.cjs");
4
4
  const require_faceRoleFns = require("./faceRoleFns-Db5bYj4Q.cjs");
5
- const require_shapeFns = require("./shapeFns-CHFmX5HQ.cjs");
6
- const require_measureFns = require("./measureFns-Cyjpl2Kl.cjs");
7
- const require_adjacencyFns = require("./adjacencyFns-Cibtcqdl.cjs");
5
+ const require_shapeFns = require("./shapeFns-BbXqiNqY.cjs");
6
+ const require_measureFns = require("./measureFns-Ce01LVwq.cjs");
7
+ const require_adjacencyFns = require("./adjacencyFns-C_Vb1AeW.cjs");
8
8
  // src/topology/shapeRef/scoring.ts
9
9
  /**
10
10
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,6 +1,6 @@
1
- import { q as getKernel } from "./shapeTypes-Db3yAgTO.js";
1
+ import { q as getKernel } from "./shapeTypes-DAz6aAnJ.js";
2
2
  import { t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { E as kernelCallRaw, T as kernelCall } from "./topologyQueryFns-DKNVBMuN.js";
3
+ import { E as kernelCallRaw, T as kernelCall } from "./topologyQueryFns-BfYdGOJc.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
5
  // src/topology/shapeFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-HDVHzNk1.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DJT3SnGK.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-gyva7bvF.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-xh11vEQw.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  // src/topology/shapeFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_refResolveFns = require("./refResolveFns-awGNYa3x.cjs");
2
+ const require_refResolveFns = require("./refResolveFns-BZdUlv9f.cjs");
3
3
  exports.assignRoles = require_refResolveFns.assignRoles;
4
4
  exports.captureHint = require_refResolveFns.captureHint;
5
5
  exports.createDerivedFaceRef = require_refResolveFns.createDerivedFaceRef;
package/dist/shapeRef.js CHANGED
@@ -1 +1 @@
1
- export { h as assignRoles, g as captureHint, l as createDerivedFaceRef, p as createEdgeRef, _ as createRef, d as createVertexRef, b as defaultScorer, t as isDerivedFaceRef, n as isEdgeRef, r as isFaceRef, i as isLineageRef, a as isVertexRef, u as resolveDerivedFaceRef, m as resolveEdgeRef, o as resolveLineageRef, v as resolveRef, s as resolveRefIn, c as resolveRefParams, f as resolveVertexRef, y as updateRoles } from "./refResolveFns-BvQkLKLw.js";
1
+ export { h as assignRoles, g as captureHint, l as createDerivedFaceRef, p as createEdgeRef, _ as createRef, d as createVertexRef, b as defaultScorer, t as isDerivedFaceRef, n as isEdgeRef, r as isFaceRef, i as isLineageRef, a as isVertexRef, u as resolveDerivedFaceRef, m as resolveEdgeRef, o as resolveLineageRef, v as resolveRef, s as resolveRefIn, c as resolveRefParams, f as resolveVertexRef, y as updateRoles } from "./refResolveFns-BG3JGs--.js";
@@ -1,4 +1,4 @@
1
- import { C as scaleCurve2d$2, D as quickHull, E as translateCurve2d$2, M as OCCT_CAPABILITIES, O as UnsupportedKernelOperationError, S as rotateCurve2d$2, T as tangentCurve2d, _ as makeCircle2d$2, a as buildAsciiSTL, b as mirrorAcrossAxis, c as createBBox2d, d as deserializeCurve2d$2, f as evaluateCurve2d$2, g as makeBezier2d$2, h as makeArc2dThreePoints, i as DEFAULT_STL_TOLERANCE, j as EXACT_BREP_CAPABILITIES, k as isUnsupportedKernelOperationError, l as curveBounds, m as makeArc2dTangent, o as buildBinarySTL, p as intersectCurves2dFn, r as DEFAULT_STL_ANGULAR_TOLERANCE, s as addCurveToBBox, t as OcctWasmAdapter, u as curveTypeName, v as makeEllipse2d$2, w as serializeCurve2d$2, x as mirrorAtPoint, y as makeLine2d$2 } from "./occtWasmAdapter-RBm-JLoN.js";
1
+ import { C as scaleCurve2d$2, D as quickHull, E as translateCurve2d$2, M as OCCT_CAPABILITIES, O as UnsupportedKernelOperationError, S as rotateCurve2d$2, T as tangentCurve2d, _ as makeCircle2d$2, a as buildAsciiSTL, b as mirrorAcrossAxis, c as createBBox2d, d as deserializeCurve2d$2, f as evaluateCurve2d$2, g as makeBezier2d$2, h as makeArc2dThreePoints, i as DEFAULT_STL_TOLERANCE, j as EXACT_BREP_CAPABILITIES, k as isUnsupportedKernelOperationError, l as curveBounds, m as makeArc2dTangent, o as buildBinarySTL, p as intersectCurves2dFn, r as DEFAULT_STL_ANGULAR_TOLERANCE, s as addCurveToBBox, t as OcctWasmAdapter, u as curveTypeName, v as makeEllipse2d$2, w as serializeCurve2d$2, x as mirrorAtPoint, y as makeLine2d$2 } from "./occtWasmAdapter-ipKUdNLN.js";
2
2
  import { i as wasmIndex, r as vec3At } from "./bug-ClMTAJhe.js";
3
3
  // src/kernel/quality.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- const require_occtWasmAdapter = require("./occtWasmAdapter-D1EXktNq.cjs");
1
+ const require_occtWasmAdapter = require("./occtWasmAdapter-CRd9RFEu.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  // src/kernel/quality.ts
4
4
  /**