brepjs 18.118.23 → 18.118.25

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 (60) hide show
  1. package/dist/2d.cjs +4 -4
  2. package/dist/2d.js +4 -4
  3. package/dist/{adjacencyFns-BHTNz8_O.cjs → adjacencyFns-D3E5mqNS.cjs} +34 -0
  4. package/dist/{adjacencyFns-W7QMVMW2.js → adjacencyFns-sWRL_pkB.js} +29 -1
  5. package/dist/{blueprint-HhixTgBZ.cjs → blueprint-DAwKV0lS.cjs} +1 -1
  6. package/dist/{blueprint-CAOmiu7r.js → blueprint-DlMt2gFV.js} +1 -1
  7. package/dist/{blueprintFns-DGrnUDEC.js → blueprintFns-D2u7hGyU.js} +2 -2
  8. package/dist/{blueprintFns-Ds_uQ2k9.cjs → blueprintFns-OqfvE3cr.cjs} +2 -2
  9. package/dist/{blueprintSketcher-BMy51I6w.cjs → blueprintSketcher-DEF16yRm.cjs} +2 -2
  10. package/dist/{blueprintSketcher-DsJQXRpk.js → blueprintSketcher-DuhTWUAS.js} +2 -2
  11. package/dist/{boolean2D-DgyG0o-U.cjs → boolean2D-CH06mcQA.cjs} +3 -3
  12. package/dist/{boolean2D-BGMaEgC3.js → boolean2D-DFkUpxlE.js} +3 -3
  13. package/dist/brepjs.cjs +18 -18
  14. package/dist/brepjs.js +18 -18
  15. package/dist/{cameraFns-DC1Bqs3i.cjs → cameraFns-B2a5MCUi.cjs} +1 -1
  16. package/dist/{cameraFns-ZCIt2Vwu.js → cameraFns-B4_7AIw0.js} +1 -1
  17. package/dist/{cornerFinder-DLmNe5qH.cjs → cornerFinder-Bvb8bDUP.cjs} +1 -1
  18. package/dist/{cornerFinder-DpOtHhry.js → cornerFinder-C4ZgQKf7.js} +1 -1
  19. package/dist/{drawFns-Cspcghnk.cjs → drawFns-BOTtZqQ1.cjs} +7 -7
  20. package/dist/{drawFns-D26G4W6g.js → drawFns-DXQGzZpq.js} +7 -7
  21. package/dist/{healingFns-B6qvJ_ua.cjs → healingFns-BYZJ0EaJ.cjs} +2 -2
  22. package/dist/{healingFns-CzAgSI4a.js → healingFns-DpSVPoyt.js} +2 -2
  23. package/dist/{helpers-BslGOVYN.cjs → helpers-4pH_jO62.cjs} +1 -1
  24. package/dist/{helpers-D4DOutu7.js → helpers-QKQZ-Fr6.js} +1 -1
  25. package/dist/{importFns-BZk3bSlR.js → importFns-Bdl9AfTY.js} +1 -1
  26. package/dist/{importFns-1OeDbirB.cjs → importFns-D7XWumNL.cjs} +1 -1
  27. package/dist/io.cjs +2 -2
  28. package/dist/io.js +2 -2
  29. package/dist/{meshFns-Bsz0MOp6.js → meshFns-BGoepe1y.js} +1 -1
  30. package/dist/{meshFns-C1-S8YRk.cjs → meshFns-CU9e6jLy.cjs} +1 -1
  31. package/dist/operations.cjs +1 -1
  32. package/dist/operations.js +1 -1
  33. package/dist/{primitiveFns-pxjaTk8i.cjs → primitiveFns-ChCWaUxm.cjs} +2 -2
  34. package/dist/{primitiveFns-D8Vwk98k.js → primitiveFns-Cjh7Me8u.js} +2 -2
  35. package/dist/projection.cjs +1 -1
  36. package/dist/projection.js +1 -1
  37. package/dist/query.cjs +2 -2
  38. package/dist/query.js +2 -2
  39. package/dist/{refResolveFns-BIhtsmdZ.cjs → refResolveFns-CnpEu9L-.cjs} +14 -11
  40. package/dist/{refResolveFns-3u3H3kGf.js → refResolveFns-Cq3PaeZd.js} +14 -11
  41. package/dist/{shapeFns-ql8ziUaG.cjs → shapeFns-DdPt7PBo.cjs} +1 -8
  42. package/dist/{shapeFns-CsNSoHH6.js → shapeFns-DdmglyM8.js} +1 -8
  43. package/dist/shapeRef.cjs +1 -1
  44. package/dist/shapeRef.js +1 -1
  45. package/dist/sketching.cjs +3 -3
  46. package/dist/sketching.js +3 -3
  47. package/dist/{solidBuilders-CVs9uVKO.js → solidBuilders-BFKogU6o.js} +1 -1
  48. package/dist/{solidBuilders-BLsga6fa.cjs → solidBuilders-CkaFAwJO.cjs} +1 -1
  49. package/dist/text.cjs +2 -2
  50. package/dist/text.js +2 -2
  51. package/dist/{textBlueprints-GmfesKnp.js → textBlueprints-B7Fqp2Hl.js} +2 -2
  52. package/dist/{textBlueprints-8Z_V9-Ir.cjs → textBlueprints-DbbfJcHz.cjs} +2 -2
  53. package/dist/{textMetrics-Cj4BPjs4.js → textMetrics-CNRMSua2.js} +1 -1
  54. package/dist/{textMetrics-CE0SzDYa.cjs → textMetrics-CZOWFKEi.cjs} +1 -1
  55. package/dist/{threadFns-D5BCp0GF.js → threadFns-D-YciBWU.js} +4 -4
  56. package/dist/{threadFns-D_wKVcfO.cjs → threadFns-D7OuY55w.cjs} +4 -4
  57. package/dist/topology/adjacencyFns.d.ts +11 -0
  58. package/dist/topology.cjs +6 -6
  59. package/dist/topology.js +6 -6
  60. package/package.json +1 -1
package/dist/2d.cjs CHANGED
@@ -2,10 +2,10 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
3
3
  const require_errors = require("./errors-CJU8CHng.cjs");
4
4
  const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
6
- const require_blueprint = require("./blueprint-HhixTgBZ.cjs");
7
- const require_boolean2D = require("./boolean2D-DgyG0o-U.cjs");
8
- const require_blueprintFns = require("./blueprintFns-Ds_uQ2k9.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
6
+ const require_blueprint = require("./blueprint-DAwKV0lS.cjs");
7
+ const require_boolean2D = require("./boolean2D-CH06mcQA.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-OqfvE3cr.cjs");
9
9
  //#region src/core/curve2dHandle.ts
10
10
  /**
11
11
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
package/dist/2d.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { K as createKernelHandle, at as getKernel2D, c as createEdge } from "./shapeTypes-Cw-8_69M.js";
2
2
  import { O as ok, d as validationError, t as BrepErrorCode, v as err } from "./errors-B3CDG537.js";
3
3
  import { T as kernelCallRaw } from "./topologyQueryFns-BT4CdXa2.js";
4
- import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-DsJQXRpk.js";
5
- import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-CAOmiu7r.js";
6
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BGMaEgC3.js";
7
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DGrnUDEC.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-DuhTWUAS.js";
5
+ import { _ as Curve2D, t as Blueprint, y as BoundingBox2d } from "./blueprint-DlMt2gFV.js";
6
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-DFkUpxlE.js";
7
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-D2u7hGyU.js";
8
8
  //#region src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -315,7 +315,41 @@ function sharedEdgesJS(face1, face2) {
315
315
  for (const e2 of edges2) kernel.dispose(e2);
316
316
  return shared;
317
317
  }
318
+ var nativeAdjacentFacesSupported = /* @__PURE__ */ new Map();
319
+ /**
320
+ * Hashes of the faces adjacent to `face` within `parent`, keyed like the kernel's
321
+ * `hashCode(_, HASH_CODE_MAX)` (so they index the parent's cached faces).
322
+ *
323
+ * Prefers the kernel-native adjacency (occt-wasm/brepkit) — markedly faster than
324
+ * the borrowed JS edge-map path, which pays per-call edge extraction + hashing —
325
+ * and disposes the owned result handles here so none escape. Returns only hashes,
326
+ * keeping callers clear of the borrowed-vs-owned handle contract; falls back to
327
+ * the borrowed-view {@link adjacentFaces} where the native op is unsupported.
328
+ */
329
+ function adjacentFaceHashes(parent, face) {
330
+ const kernel = require_shapeTypes.getKernel();
331
+ const kernelId = require_shapeTypes.getActiveKernelId() ?? "";
332
+ if (nativeAdjacentFacesSupported.get(kernelId) !== false) try {
333
+ const raw = kernel.adjacentFaces(parent.wrapped, face.wrapped);
334
+ nativeAdjacentFacesSupported.set(kernelId, true);
335
+ try {
336
+ return raw.map((r) => kernel.hashCode(r, require_constants.HASH_CODE_MAX));
337
+ } finally {
338
+ for (const r of raw) kernel.dispose(r);
339
+ }
340
+ } catch (e) {
341
+ if (!require_occtWasmAdapter.isUnsupportedKernelOperationError(e)) throw e;
342
+ nativeAdjacentFacesSupported.set(kernelId, false);
343
+ }
344
+ return adjacentFaces(parent, face).map((f) => kernel.hashCode(f.wrapped, require_constants.HASH_CODE_MAX));
345
+ }
318
346
  //#endregion
347
+ Object.defineProperty(exports, "adjacentFaceHashes", {
348
+ enumerable: true,
349
+ get: function() {
350
+ return adjacentFaceHashes;
351
+ }
352
+ });
319
353
  Object.defineProperty(exports, "adjacentFaces", {
320
354
  enumerable: true,
321
355
  get: function() {
@@ -315,5 +315,33 @@ function sharedEdgesJS(face1, face2) {
315
315
  for (const e2 of edges2) kernel.dispose(e2);
316
316
  return shared;
317
317
  }
318
+ var nativeAdjacentFacesSupported = /* @__PURE__ */ new Map();
319
+ /**
320
+ * Hashes of the faces adjacent to `face` within `parent`, keyed like the kernel's
321
+ * `hashCode(_, HASH_CODE_MAX)` (so they index the parent's cached faces).
322
+ *
323
+ * Prefers the kernel-native adjacency (occt-wasm/brepkit) — markedly faster than
324
+ * the borrowed JS edge-map path, which pays per-call edge extraction + hashing —
325
+ * and disposes the owned result handles here so none escape. Returns only hashes,
326
+ * keeping callers clear of the borrowed-vs-owned handle contract; falls back to
327
+ * the borrowed-view {@link adjacentFaces} where the native op is unsupported.
328
+ */
329
+ function adjacentFaceHashes(parent, face) {
330
+ const kernel = getKernel();
331
+ const kernelId = getActiveKernelId() ?? "";
332
+ if (nativeAdjacentFacesSupported.get(kernelId) !== false) try {
333
+ const raw = kernel.adjacentFaces(parent.wrapped, face.wrapped);
334
+ nativeAdjacentFacesSupported.set(kernelId, true);
335
+ try {
336
+ return raw.map((r) => kernel.hashCode(r, HASH_CODE_MAX));
337
+ } finally {
338
+ for (const r of raw) kernel.dispose(r);
339
+ }
340
+ } catch (e) {
341
+ if (!isUnsupportedKernelOperationError(e)) throw e;
342
+ nativeAdjacentFacesSupported.set(kernelId, false);
343
+ }
344
+ return adjacentFaces(parent, face).map((f) => kernel.hashCode(f.wrapped, HASH_CODE_MAX));
345
+ }
318
346
  //#endregion
319
- export { sharedEdges as a, wiresOfFace as c, facesOfVertex as i, edgesOfFace as n, verticesOfEdge as o, facesOfEdge as r, verticesOfFace as s, adjacentFaces as t };
347
+ export { facesOfVertex as a, verticesOfFace as c, facesOfEdge as i, wiresOfFace as l, adjacentFaces as n, sharedEdges as o, edgesOfFace as r, verticesOfEdge as s, adjacentFaceHashes as t };
@@ -8,7 +8,7 @@ const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
8
8
  const require_curveFns = require("./curveFns-CLG5eRx5.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
10
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
11
- const require_helpers = require("./helpers-BslGOVYN.cjs");
11
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
12
12
  //#region src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -8,7 +8,7 @@ import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as f
8
8
  import { p as getOrientation } from "./curveFns-Sl36NbVb.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
10
  import { r as makeFace } from "./surfaceBuilders-DI0oXs1Z.js";
11
- import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-D4DOutu7.js";
11
+ import { _ as samePoint, b as subtract2d, l as add2d, o as normalize2d, p as distance2d, t as getSingleFace, v as scalarMultiply2d } from "./helpers-QKQZ-Fr6.js";
12
12
  //#region src/2d/lib/definitions.ts
13
13
  /** Type guard that checks whether a value is a `Point2D`. */
14
14
  function isPoint2D(point) {
@@ -1,6 +1,6 @@
1
1
  import { O as ok, d as validationError, t as BrepErrorCode, v as err } from "./errors-B3CDG537.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-DsJQXRpk.js";
3
- import { t as Blueprint } from "./blueprint-CAOmiu7r.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-DuhTWUAS.js";
3
+ import { t as Blueprint } from "./blueprint-DlMt2gFV.js";
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,6 +1,6 @@
1
1
  const require_errors = require("./errors-CJU8CHng.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
3
- const require_blueprint = require("./blueprint-HhixTgBZ.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
3
+ const require_blueprint = require("./blueprint-DAwKV0lS.cjs");
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -3,8 +3,8 @@ const require_bug = require("./bug-O02CsAmt.cjs");
3
3
  const require_errors = require("./errors-CJU8CHng.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
6
- const require_helpers = require("./helpers-BslGOVYN.cjs");
7
- const require_blueprint = require("./blueprint-HhixTgBZ.cjs");
6
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
7
+ const require_blueprint = require("./blueprint-DAwKV0lS.cjs");
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -3,8 +3,8 @@ import { i as wasmIndex, n as bug } from "./bug-BdOHwn_e.js";
3
3
  import { C as isOk, I as unwrap, O as ok, n as computationError, s as safeIndex, v as err } from "./errors-B3CDG537.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
6
- import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-D4DOutu7.js";
7
- import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-CAOmiu7r.js";
6
+ import { _ as samePoint, b as subtract2d, d as cartesianToPolar, f as crossProduct2d, g as rotate2d, h as polarToCartesian, l as add2d, m as polarAngle2d, o as normalize2d, p as distance2d, v as scalarMultiply2d } from "./helpers-QKQZ-Fr6.js";
7
+ import { _ as Curve2D, c as make2dCircle, f as make2dSegmentCurve, h as approximateAsBSpline, m as make2dThreePointArc, n as asSVG, o as make2dArcFromCenter, p as make2dTangentArc, r as viewbox, s as make2dBezierCurve, t as Blueprint, u as make2dEllipseArc, x as isPoint2D, y as BoundingBox2d } from "./blueprint-DlMt2gFV.js";
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -2,9 +2,9 @@ const require_bug = require("./bug-O02CsAmt.cjs");
2
2
  const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
4
4
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
6
- const require_helpers = require("./helpers-BslGOVYN.cjs");
7
- const require_blueprint = require("./blueprint-HhixTgBZ.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
6
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
7
+ const require_blueprint = require("./blueprint-DAwKV0lS.cjs");
8
8
  //#region src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
@@ -2,9 +2,9 @@ import { i as wasmIndex, n as bug } from "./bug-BdOHwn_e.js";
2
2
  import { I as unwrap, s as safeIndex } from "./errors-B3CDG537.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-DrUGPADn.js";
4
4
  import { v as zip } from "./surfaceBuilders-DI0oXs1Z.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-DsJQXRpk.js";
6
- import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-D4DOutu7.js";
7
- import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-CAOmiu7r.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-DuhTWUAS.js";
6
+ import { _ as samePoint$1, b as subtract2d, f as crossProduct2d, s as PRECISION_INTERSECTION } from "./helpers-QKQZ-Fr6.js";
7
+ import { b as removeDuplicatePoints, f as make2dSegmentCurve, t as Blueprint } from "./blueprint-DlMt2gFV.js";
8
8
  //#region src/2d/blueprints/cannedBlueprints.ts
9
9
  /**
10
10
  * Create a regular polygon blueprint inscribed in a circle of the given radius.
package/dist/brepjs.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-8Z_V9-Ir.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-DbbfJcHz.cjs");
3
3
  const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
4
4
  const require_occtWasmAdapter = require("./occtWasmAdapter-Hkzb95Fy.cjs");
5
5
  const require_bug = require("./bug-O02CsAmt.cjs");
@@ -10,29 +10,29 @@ const require_types = require("./types-KjA8tY4Y.cjs");
10
10
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
11
11
  const require_planeOps = require("./planeOps-Cr25KWWA.cjs");
12
12
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
13
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
13
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
14
14
  const require_curveFns = require("./curveFns-CLG5eRx5.cjs");
15
- const require_meshFns = require("./meshFns-C1-S8YRk.cjs");
15
+ const require_meshFns = require("./meshFns-CU9e6jLy.cjs");
16
16
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
17
17
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
18
- const require_solidBuilders = require("./solidBuilders-BLsga6fa.cjs");
19
- const require_healingFns = require("./healingFns-B6qvJ_ua.cjs");
20
- const require_threadFns = require("./threadFns-D_wKVcfO.cjs");
21
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
22
- const require_helpers = require("./helpers-BslGOVYN.cjs");
23
- const require_drawFns = require("./drawFns-Cspcghnk.cjs");
18
+ const require_solidBuilders = require("./solidBuilders-CkaFAwJO.cjs");
19
+ const require_healingFns = require("./healingFns-BYZJ0EaJ.cjs");
20
+ const require_threadFns = require("./threadFns-D7OuY55w.cjs");
21
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
22
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
23
+ const require_drawFns = require("./drawFns-BOTtZqQ1.cjs");
24
24
  const require_measureFns = require("./measureFns-Vb49femb.cjs");
25
- const require_cornerFinder = require("./cornerFinder-DLmNe5qH.cjs");
26
- const require_boolean2D = require("./boolean2D-DgyG0o-U.cjs");
27
- const require_blueprintFns = require("./blueprintFns-Ds_uQ2k9.cjs");
28
- const require_importFns = require("./importFns-1OeDbirB.cjs");
25
+ const require_cornerFinder = require("./cornerFinder-Bvb8bDUP.cjs");
26
+ const require_boolean2D = require("./boolean2D-CH06mcQA.cjs");
27
+ const require_blueprintFns = require("./blueprintFns-OqfvE3cr.cjs");
28
+ const require_importFns = require("./importFns-D7XWumNL.cjs");
29
29
  const require_loftFns = require("./loftFns-DjHxcgNY.cjs");
30
- const require_cameraFns = require("./cameraFns-DC1Bqs3i.cjs");
31
- const require_textMetrics = require("./textMetrics-CE0SzDYa.cjs");
32
- const require_adjacencyFns = require("./adjacencyFns-BHTNz8_O.cjs");
33
- const require_refResolveFns = require("./refResolveFns-BIhtsmdZ.cjs");
30
+ const require_cameraFns = require("./cameraFns-B2a5MCUi.cjs");
31
+ const require_textMetrics = require("./textMetrics-CZOWFKEi.cjs");
32
+ const require_adjacencyFns = require("./adjacencyFns-D3E5mqNS.cjs");
33
+ const require_refResolveFns = require("./refResolveFns-CnpEu9L-.cjs");
34
34
  const require_workerPool = require("./workerPool-D30NsiIW.cjs");
35
- const require_primitiveFns = require("./primitiveFns-pxjaTk8i.cjs");
35
+ const require_primitiveFns = require("./primitiveFns-ChCWaUxm.cjs");
36
36
  //#region src/topology/shapeBooleans.ts
37
37
  var BOPAlgo_GlueShift = 1;
38
38
  var BOPAlgo_GlueFull = 2;
package/dist/brepjs.js CHANGED
@@ -8,30 +8,30 @@ import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N
8
8
  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-SKPRvPH-.js";
9
9
  import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-Cp6GQ23-.js";
10
10
  import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, 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, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-Bk5OdHMb.js";
11
- import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-CsNSoHH6.js";
11
+ import { A as tagFaces, C as colorShape, D as getFaceTags, E as findFacesByTag, M as setShapeOrigin, O as getTagMetadata, S as colorFaces, T as getShapeColor, a as isSameShape, c as applyMatrix$1, d as mirror$2, f as resize, g as translate$2, h as transformCopy$1, i as isEqualShape, j as getFaceOrigins, k as setTagMetadata, l as composeTransforms, m as scale$3, n as getHashCode, o as simplify$1, p as rotate$2, r as isEmpty$2, s as toBREP$1, t as clone$1, u as locate$1, v as hasAnyMetadata, w as getFaceColor, x as propagateMetadataThroughRelocation } from "./shapeFns-DdmglyM8.js";
12
12
  import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-Sl36NbVb.js";
13
- import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-Bsz0MOp6.js";
13
+ import { a as meshEdges$1, c as meshMultiLOD, d as createMeshCache, i as mesh$1, l as buildMeshCacheKey, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as clearMeshCache } from "./meshFns-BGoepe1y.js";
14
14
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
15
15
  import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-DI0oXs1Z.js";
16
- import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-CVs9uVKO.js";
17
- import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-CzAgSI4a.js";
18
- import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, a as deserializeHistory, 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, p as serializeHistory, q as linearPattern, 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 countNodes } from "./threadFns-D5BCp0GF.js";
19
- import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DsJQXRpk.js";
20
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-D4DOutu7.js";
21
- import { A as sketchEllipse, 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, _ 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-D26G4W6g.js";
16
+ import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-BFKogU6o.js";
17
+ import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, M as toLODGeometryData, N as toLODGeometryLevels, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-DpSVPoyt.js";
18
+ import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatMultiply, G as circularPattern, H as removeChild, I as quatRotate, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, Y as createAssembly, _ as exportURDF, a as deserializeHistory, 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, p as serializeHistory, q as linearPattern, 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 countNodes } from "./threadFns-D-YciBWU.js";
19
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DuhTWUAS.js";
20
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-QKQZ-Fr6.js";
21
+ import { A as sketchEllipse, 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, _ 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-DXQGzZpq.js";
22
22
  import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-Dy4ebDq2.js";
23
- import { t as cornerFinder } from "./cornerFinder-DpOtHhry.js";
24
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BGMaEgC3.js";
25
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DGrnUDEC.js";
26
- 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-BZk3bSlR.js";
23
+ import { t as cornerFinder } from "./cornerFinder-C4ZgQKf7.js";
24
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-DFkUpxlE.js";
25
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-D2u7hGyU.js";
26
+ 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-Bdl9AfTY.js";
27
27
  import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-RdVrGF1B.js";
28
- 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, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-GmfesKnp.js";
29
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-ZCIt2Vwu.js";
30
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Cj4BPjs4.js";
31
- import { a as sharedEdges, c as wiresOfFace, i as facesOfVertex, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-W7QMVMW2.js";
32
- import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-3u3H3kGf.js";
28
+ 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, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-B7Fqp2Hl.js";
29
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-B4_7AIw0.js";
30
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-CNRMSua2.js";
31
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-sWRL_pkB.js";
32
+ import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-Cq3PaeZd.js";
33
33
  import { _ as isSuccessResponse, a as createWorkerClient, c as enqueueTask, d as rejectAll, f as isBatchRequest, g as isOperationRequest, h as isInitRequest, i as registerHandler, l as isEmpty$1, m as isErrorResponse, n as createOperationRegistry, o as createTaskQueue, p as isDisposeRequest, r as createWorkerHandler, s as dequeueTask, t as createWorkerPool, u as pendingCount } from "./workerPool-XcYX2UZ0.js";
34
- import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-D8Vwk98k.js";
34
+ import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-Cjh7Me8u.js";
35
35
  //#region \0rolldown/runtime.js
36
36
  var __defProp = Object.defineProperty;
37
37
  var __exportAll = (all, no_symbols) => {
@@ -2,7 +2,7 @@ const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
2
2
  const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
5
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
6
6
  //#region src/projection/projectionPlanes.ts
7
7
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
8
8
  var PROJECTION_PLANES = {
@@ -2,7 +2,7 @@ import { it as getKernel, n as castResultShape, nt as _usingCtx } from "./shapeT
2
2
  import { I as unwrap, O as ok, d as validationError, v as err } from "./errors-B3CDG537.js";
3
3
  import { s as getEdges } from "./topologyQueryFns-BT4CdXa2.js";
4
4
  import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
- import { t as clone } from "./shapeFns-CsNSoHH6.js";
5
+ import { t as clone } from "./shapeFns-DdmglyM8.js";
6
6
  //#region src/projection/projectionPlanes.ts
7
7
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
8
8
  var PROJECTION_PLANES = {
@@ -1,6 +1,6 @@
1
1
  const require_constants = require("./constants-BOVyEYGH.cjs");
2
2
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
3
- const require_helpers = require("./helpers-BslGOVYN.cjs");
3
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,6 +1,6 @@
1
1
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
2
2
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
3
- import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-D4DOutu7.js";
3
+ import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-QKQZ-Fr6.js";
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,4 +1,4 @@
1
- const require_textBlueprints = require("./textBlueprints-8Z_V9-Ir.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-DbbfJcHz.cjs");
2
2
  const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
3
3
  const require_bug = require("./bug-O02CsAmt.cjs");
4
4
  const require_errors = require("./errors-CJU8CHng.cjs");
@@ -11,12 +11,12 @@ const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
11
11
  const require_curveFns = require("./curveFns-CLG5eRx5.cjs");
12
12
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
13
13
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
14
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
15
- const require_helpers = require("./helpers-BslGOVYN.cjs");
16
- const require_blueprint = require("./blueprint-HhixTgBZ.cjs");
17
- const require_cornerFinder = require("./cornerFinder-DLmNe5qH.cjs");
18
- const require_boolean2D = require("./boolean2D-DgyG0o-U.cjs");
19
- const require_cameraFns = require("./cameraFns-DC1Bqs3i.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
15
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
16
+ const require_blueprint = require("./blueprint-DAwKV0lS.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-Bvb8bDUP.cjs");
18
+ const require_boolean2D = require("./boolean2D-CH06mcQA.cjs");
19
+ const require_cameraFns = require("./cameraFns-B2a5MCUi.cjs");
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -10,13 +10,13 @@ import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u a
10
10
  import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-Sl36NbVb.js";
11
11
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
12
12
  import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-DI0oXs1Z.js";
13
- import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-DsJQXRpk.js";
14
- import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-D4DOutu7.js";
15
- import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-CAOmiu7r.js";
16
- import { t as cornerFinder } from "./cornerFinder-DpOtHhry.js";
17
- import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BGMaEgC3.js";
18
- import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-GmfesKnp.js";
19
- import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-ZCIt2Vwu.js";
13
+ import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-DuhTWUAS.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-QKQZ-Fr6.js";
15
+ import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-DlMt2gFV.js";
16
+ import { t as cornerFinder } from "./cornerFinder-C4ZgQKf7.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-DFkUpxlE.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-B7Fqp2Hl.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-B4_7AIw0.js";
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -3,9 +3,9 @@ const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
6
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
6
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_solidBuilders = require("./solidBuilders-BLsga6fa.cjs");
8
+ const require_solidBuilders = require("./solidBuilders-CkaFAwJO.cjs");
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -3,9 +3,9 @@ import { C as isOk, O as ok, S as isErr, d as validationError, i as kernelError,
3
3
  import { c as getFaces, i as getCachedIsValid, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BT4CdXa2.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
5
  import { y as downcast } from "./faceFns-Bk5OdHMb.js";
6
- import { _ as collectInputFaceHashes, y as propagateAllMetadata } from "./shapeFns-CsNSoHH6.js";
6
+ import { _ as collectInputFaceHashes, y as propagateAllMetadata } from "./shapeFns-DdmglyM8.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-CVs9uVKO.js";
8
+ import { f as cut, h as fuseAll, m as fuse, p as cutAll } from "./solidBuilders-BFKogU6o.js";
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -5,7 +5,7 @@ const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
5
5
  const require_constants = require("./constants-BOVyEYGH.cjs");
6
6
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
7
7
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
8
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
8
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
9
9
  const require_curveFns = require("./curveFns-CLG5eRx5.cjs");
10
10
  const require_measureFns = require("./measureFns-Vb49femb.cjs");
11
11
  //#region src/utils/vec2d.ts
@@ -5,7 +5,7 @@ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from ".
5
5
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
6
6
  import { a as vecDot, d as vecNormalize } from "./vecOps-SKPRvPH-.js";
7
7
  import { l as normalAt, s as getSurfaceType } from "./faceFns-Bk5OdHMb.js";
8
- import { a as isSameShape, n as getHashCode } from "./shapeFns-CsNSoHH6.js";
8
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-DdmglyM8.js";
9
9
  import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-Sl36NbVb.js";
10
10
  import { n as measureArea } from "./measureFns-Dy4ebDq2.js";
11
11
  //#region src/utils/vec2d.ts
@@ -2,7 +2,7 @@ import { i as castShape, it as getKernel } from "./shapeTypes-Cw-8_69M.js";
2
2
  import { i as wasmIndex, r as vec3At$1 } from "./bug-BdOHwn_e.js";
3
3
  import { O as ok, r as ioError, t as BrepErrorCode, v as err } from "./errors-B3CDG537.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
5
- import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-CAOmiu7r.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-DlMt2gFV.js";
6
6
  //#region src/io/objExportFns.ts
7
7
  /** Read a vec3 from a typed array at the given vertex index. */
8
8
  function vec3At(arr, i) {
@@ -2,7 +2,7 @@ const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
2
2
  const require_bug = require("./bug-O02CsAmt.cjs");
3
3
  const require_errors = require("./errors-CJU8CHng.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-HhixTgBZ.cjs");
5
+ const require_blueprint = require("./blueprint-DAwKV0lS.cjs");
6
6
  //#region 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-C1-S8YRk.cjs");
3
- const require_importFns = require("./importFns-1OeDbirB.cjs");
2
+ const require_meshFns = require("./meshFns-CU9e6jLy.cjs");
3
+ const require_importFns = require("./importFns-D7XWumNL.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-Bsz0MOp6.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-BZk3bSlR.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-BGoepe1y.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-Bdl9AfTY.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -1,7 +1,7 @@
1
1
  import { Ct as qualityDeflection, it as getKernel } from "./shapeTypes-Cw-8_69M.js";
2
2
  import { O as ok, r as ioError, v as err } from "./errors-B3CDG537.js";
3
3
  import { d as getSolids, n as getBounds } from "./topologyQueryFns-BT4CdXa2.js";
4
- import { j as getFaceOrigins } from "./shapeFns-CsNSoHH6.js";
4
+ import { j as getFaceOrigins } from "./shapeFns-DdmglyM8.js";
5
5
  //#region 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
1
  const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
2
2
  const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
4
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
4
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-D_wKVcfO.cjs");
2
+ const require_threadFns = require("./threadFns-D7OuY55w.cjs");
3
3
  const require_loftFns = require("./loftFns-DjHxcgNY.cjs");
4
4
  exports.addChild = require_threadFns.addChild;
5
5
  exports.addJoint = require_threadFns.addJoint;
@@ -1,3 +1,3 @@
1
- import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as circularPattern, H as removeChild, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, O as prismaticJoint, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, 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, q as linearPattern, 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 countNodes } from "./threadFns-D5BCp0GF.js";
1
+ import { A as setJointValue, B as createAssemblyNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, G as circularPattern, H as removeChild, J as exportAssemblySTEP, K as gridPattern, L as addChild, M as sphericalJoint, O as prismaticJoint, R as collectShapes, S as addJoint, T as jointTransform, U as updateNode, V as findNode, W as walkAssembly, 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, q as linearPattern, 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 countNodes } from "./threadFns-D-YciBWU.js";
2
2
  import { d as twistExtrude, l as supportExtrude, o as complexExtrude, u as sweep } from "./loftFns-RdVrGF1B.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,9 +1,9 @@
1
1
  const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
2
2
  const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
4
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
5
5
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
6
- const require_solidBuilders = require("./solidBuilders-BLsga6fa.cjs");
6
+ const require_solidBuilders = require("./solidBuilders-CkaFAwJO.cjs");
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,9 +1,9 @@
1
1
  import { D as isClosedWire, d as createSolid, it as getKernel, nt as _usingCtx } from "./shapeTypes-Cw-8_69M.js";
2
2
  import { O as ok, d as validationError, g as andThen, v as err } from "./errors-B3CDG537.js";
3
3
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
- import { g as translate } from "./shapeFns-CsNSoHH6.js";
4
+ import { g as translate } from "./shapeFns-DdmglyM8.js";
5
5
  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-DI0oXs1Z.js";
6
- import { 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 } from "./solidBuilders-CVs9uVKO.js";
6
+ import { 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 } from "./solidBuilders-BFKogU6o.js";
7
7
  //#region src/topology/primitiveFns.ts
8
8
  /**
9
9
  * Create a box with the given dimensions.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-DC1Bqs3i.cjs");
2
+ const require_cameraFns = require("./cameraFns-B2a5MCUi.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,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-ZCIt2Vwu.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-B4_7AIw0.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-BslGOVYN.cjs");
3
- const require_cornerFinder = require("./cornerFinder-DLmNe5qH.cjs");
2
+ const require_helpers = require("./helpers-4pH_jO62.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-Bvb8bDUP.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-D4DOutu7.js";
2
- import { t as cornerFinder } from "./cornerFinder-DpOtHhry.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-QKQZ-Fr6.js";
2
+ import { t as cornerFinder } from "./cornerFinder-C4ZgQKf7.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,9 +1,9 @@
1
1
  const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
2
2
  const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
3
3
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
4
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
4
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
5
5
  const require_measureFns = require("./measureFns-Vb49femb.cjs");
6
- const require_adjacencyFns = require("./adjacencyFns-BHTNz8_O.cjs");
6
+ const require_adjacencyFns = require("./adjacencyFns-D3E5mqNS.cjs");
7
7
  //#region src/topology/shapeRef/scoring.ts
8
8
  /**
9
9
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -561,23 +561,26 @@ function facesByNormal(shape, normal) {
561
561
  return require_topologyQueryFns.getFaces(shape).filter((f) => normalDot(require_faceFns.normalAt(f), normal) > NORMAL_MATCH);
562
562
  }
563
563
  /**
564
- * Faces adjacent to BOTH face sets, excluding the sets themselves. Uses the
565
- * cached edge→faces adjacency (`adjacentFaces`) rather than an O(F·N) per-pair
566
- * `sharedEdges` scan.
564
+ * Faces adjacent to BOTH face sets, excluding the sets themselves. Works purely
565
+ * in face-hash space via `adjacentFaceHashes` (kernel-native adjacency where
566
+ * available, no per-call edge extraction), then maps the surviving hashes back to
567
+ * the parent's borrowed cache faces — so the returned handles keep the same
568
+ * borrowed lifetime (freed with `shape`) the resolution path already assumes.
567
569
  */
568
570
  function betweenFaces(shape, aFaces, bFaces) {
569
571
  const exclude = new Set([...aFaces, ...bFaces].map(require_shapeFns.getHashCode));
570
572
  const adjacentToA = /* @__PURE__ */ new Set();
571
- for (const a of aFaces) for (const f of require_adjacencyFns.adjacentFaces(shape, a)) adjacentToA.add(require_shapeFns.getHashCode(f));
572
- const result = [];
573
+ for (const a of aFaces) for (const h of require_adjacencyFns.adjacentFaceHashes(shape, a)) adjacentToA.add(h);
574
+ const betweenHashes = [];
573
575
  const seen = /* @__PURE__ */ new Set();
574
- for (const b of bFaces) for (const f of require_adjacencyFns.adjacentFaces(shape, b)) {
575
- const h = require_shapeFns.getHashCode(f);
576
+ for (const b of bFaces) for (const h of require_adjacencyFns.adjacentFaceHashes(shape, b)) {
576
577
  if (exclude.has(h) || seen.has(h) || !adjacentToA.has(h)) continue;
577
578
  seen.add(h);
578
- result.push(f);
579
+ betweenHashes.push(h);
579
580
  }
580
- return result;
581
+ if (betweenHashes.length === 0) return [];
582
+ const byHash = new Map(require_topologyQueryFns.getFaces(shape).map((f) => [require_shapeFns.getHashCode(f), f]));
583
+ return betweenHashes.map((h) => byHash.get(h)).filter((f) => f !== void 0);
581
584
  }
582
585
  /** Face whose center is nearest `point`; undefined on a tie (→ ambiguous). */
583
586
  function nearestFace(faces, point) {
@@ -1,9 +1,9 @@
1
1
  import { g as disposeTransientSubShape, it as getKernel, o as castShapeWithKnownType } from "./shapeTypes-Cw-8_69M.js";
2
2
  import { C as vertexPosition, c as getFaces } from "./topologyQueryFns-BT4CdXa2.js";
3
3
  import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-Bk5OdHMb.js";
4
- import { n as getHashCode } from "./shapeFns-CsNSoHH6.js";
4
+ import { n as getHashCode } from "./shapeFns-DdmglyM8.js";
5
5
  import { n as measureArea, s as measureLength } from "./measureFns-Dy4ebDq2.js";
6
- import { a as sharedEdges, i as facesOfVertex, o as verticesOfEdge, r as facesOfEdge, s as verticesOfFace, t as adjacentFaces } from "./adjacencyFns-W7QMVMW2.js";
6
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-sWRL_pkB.js";
7
7
  //#region src/topology/shapeRef/scoring.ts
8
8
  /**
9
9
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -561,23 +561,26 @@ function facesByNormal(shape, normal) {
561
561
  return getFaces(shape).filter((f) => normalDot(normalAt(f), normal) > NORMAL_MATCH);
562
562
  }
563
563
  /**
564
- * Faces adjacent to BOTH face sets, excluding the sets themselves. Uses the
565
- * cached edge→faces adjacency (`adjacentFaces`) rather than an O(F·N) per-pair
566
- * `sharedEdges` scan.
564
+ * Faces adjacent to BOTH face sets, excluding the sets themselves. Works purely
565
+ * in face-hash space via `adjacentFaceHashes` (kernel-native adjacency where
566
+ * available, no per-call edge extraction), then maps the surviving hashes back to
567
+ * the parent's borrowed cache faces — so the returned handles keep the same
568
+ * borrowed lifetime (freed with `shape`) the resolution path already assumes.
567
569
  */
568
570
  function betweenFaces(shape, aFaces, bFaces) {
569
571
  const exclude = new Set([...aFaces, ...bFaces].map(getHashCode));
570
572
  const adjacentToA = /* @__PURE__ */ new Set();
571
- for (const a of aFaces) for (const f of adjacentFaces(shape, a)) adjacentToA.add(getHashCode(f));
572
- const result = [];
573
+ for (const a of aFaces) for (const h of adjacentFaceHashes(shape, a)) adjacentToA.add(h);
574
+ const betweenHashes = [];
573
575
  const seen = /* @__PURE__ */ new Set();
574
- for (const b of bFaces) for (const f of adjacentFaces(shape, b)) {
575
- const h = getHashCode(f);
576
+ for (const b of bFaces) for (const h of adjacentFaceHashes(shape, b)) {
576
577
  if (exclude.has(h) || seen.has(h) || !adjacentToA.has(h)) continue;
577
578
  seen.add(h);
578
- result.push(f);
579
+ betweenHashes.push(h);
579
580
  }
580
- return result;
581
+ if (betweenHashes.length === 0) return [];
582
+ const byHash = new Map(getFaces(shape).map((f) => [getHashCode(f), f]));
583
+ return betweenHashes.map((h) => byHash.get(h)).filter((f) => f !== void 0);
581
584
  }
582
585
  /** Face whose center is nearest `point`; undefined on a tie (→ ambiguous). */
583
586
  function nearestFace(faces, point) {
@@ -438,15 +438,8 @@ function hasAnyMetadata(shape) {
438
438
  }
439
439
  function collectInputFaceHashes(inputs) {
440
440
  if (!inputs.some(hasAnyMetadata)) return [];
441
- const kernel = require_shapeTypes.getKernel();
442
441
  const hashes = [];
443
- for (const input of inputs) {
444
- const faces = kernel.iterShapes(input.wrapped, "face");
445
- for (const face of faces) {
446
- hashes.push(kernel.hashCode(face, require_constants.HASH_CODE_MAX));
447
- kernel.dispose(face);
448
- }
449
- }
442
+ for (const input of inputs) hashes.push(...require_topologyQueryFns.subShapeHashes(input, "face"));
450
443
  return hashes;
451
444
  }
452
445
  /**
@@ -438,15 +438,8 @@ function hasAnyMetadata(shape) {
438
438
  }
439
439
  function collectInputFaceHashes(inputs) {
440
440
  if (!inputs.some(hasAnyMetadata)) return [];
441
- const kernel = getKernel();
442
441
  const hashes = [];
443
- for (const input of inputs) {
444
- const faces = kernel.iterShapes(input.wrapped, "face");
445
- for (const face of faces) {
446
- hashes.push(kernel.hashCode(face, HASH_CODE_MAX));
447
- kernel.dispose(face);
448
- }
449
- }
442
+ for (const input of inputs) hashes.push(...subShapeHashes(input, "face"));
450
443
  return hashes;
451
444
  }
452
445
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_refResolveFns = require("./refResolveFns-BIhtsmdZ.cjs");
2
+ const require_refResolveFns = require("./refResolveFns-CnpEu9L-.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,2 +1,2 @@
1
- import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-3u3H3kGf.js";
1
+ import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-Cq3PaeZd.js";
2
2
  export { assignRoles, captureHint, createDerivedFaceRef, createEdgeRef, createRef, createVertexRef, defaultScorer, isDerivedFaceRef, isEdgeRef, isFaceRef, isLineageRef, isVertexRef, resolveDerivedFaceRef, resolveEdgeRef, resolveLineageRef, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, updateRoles };
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-8Z_V9-Ir.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
4
- const require_drawFns = require("./drawFns-Cspcghnk.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-DbbfJcHz.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
4
+ const require_drawFns = require("./drawFns-BOTtZqQ1.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-DsJQXRpk.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-D26G4W6g.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-GmfesKnp.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-DuhTWUAS.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-DXQGzZpq.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-B7Fqp2Hl.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -5,7 +5,7 @@ import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
5
  import { h as vecScale, t as vecAdd } from "./vecOps-SKPRvPH-.js";
6
6
  import { o as resolvePlane } from "./planeOps-Cp6GQ23-.js";
7
7
  import { _ as cast, y as downcast } from "./faceFns-Bk5OdHMb.js";
8
- import { _ as collectInputFaceHashes, b as propagateMetadataByHash, y as propagateAllMetadata } from "./shapeFns-CsNSoHH6.js";
8
+ import { _ as collectInputFaceHashes, b as propagateMetadataByHash, y as propagateAllMetadata } from "./shapeFns-DdmglyM8.js";
9
9
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
10
  import { r as makeFace } from "./surfaceBuilders-DI0oXs1Z.js";
11
11
  //#region src/topology/booleanFns.ts
@@ -5,7 +5,7 @@ const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
6
  const require_planeOps = require("./planeOps-Cr25KWWA.cjs");
7
7
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
8
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
8
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
10
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
11
11
  //#region src/topology/booleanFns.ts
package/dist/text.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-8Z_V9-Ir.cjs");
3
- const require_textMetrics = require("./textMetrics-CE0SzDYa.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-DbbfJcHz.cjs");
3
+ const require_textMetrics = require("./textMetrics-CZOWFKEi.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-GmfesKnp.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Cj4BPjs4.js";
1
+ import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-B7Fqp2Hl.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-CNRMSua2.js";
3
3
  export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
@@ -8,8 +8,8 @@ import { v as copyShape } from "./faceFns-Bk5OdHMb.js";
8
8
  import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-Sl36NbVb.js";
9
9
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
10
  import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-DI0oXs1Z.js";
11
- import { o as makeSolid, p as cutAll, t as makeCompound } from "./solidBuilders-CVs9uVKO.js";
12
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DsJQXRpk.js";
11
+ import { o as makeSolid, p as cutAll, t as makeCompound } from "./solidBuilders-BFKogU6o.js";
12
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DuhTWUAS.js";
13
13
  import { a as revolve, d as twistExtrude, o as complexExtrude, r as extrude, t as loft, u as sweep } from "./loftFns-RdVrGF1B.js";
14
14
  import opentype from "opentype.js";
15
15
  //#region src/sketching/compoundSketch.ts
@@ -39,8 +39,8 @@ const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
39
39
  const require_curveFns = require("./curveFns-CLG5eRx5.cjs");
40
40
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
41
41
  const require_surfaceBuilders = require("./surfaceBuilders-QPtrtoXG.cjs");
42
- const require_solidBuilders = require("./solidBuilders-BLsga6fa.cjs");
43
- const require_blueprintSketcher = require("./blueprintSketcher-BMy51I6w.cjs");
42
+ const require_solidBuilders = require("./solidBuilders-CkaFAwJO.cjs");
43
+ const require_blueprintSketcher = require("./blueprintSketcher-DEF16yRm.cjs");
44
44
  const require_loftFns = require("./loftFns-DjHxcgNY.cjs");
45
45
  let opentype_js = require("opentype.js");
46
46
  opentype_js = __toESM(opentype_js, 1);
@@ -1,5 +1,5 @@
1
1
  import { O as ok, d as validationError, t as BrepErrorCode, v as err } from "./errors-B3CDG537.js";
2
- import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-GmfesKnp.js";
2
+ import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-B7Fqp2Hl.js";
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,4 +1,4 @@
1
- const require_textBlueprints = require("./textBlueprints-8Z_V9-Ir.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-DbbfJcHz.cjs");
2
2
  const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  //#region src/text/sketchText.ts
4
4
  /**
@@ -2,11 +2,11 @@ import { K as createKernelHandle, W as DisposalScope, it as getKernel, n as cast
2
2
  import { C as isOk, O as ok, d as validationError, n as computationError, r as ioError, t as BrepErrorCode, v as err } from "./errors-B3CDG537.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
4
4
  import { b as fromBREP } from "./faceFns-Bk5OdHMb.js";
5
- import { s as toBREP } from "./shapeFns-CsNSoHH6.js";
6
- import { h as fuseAll } from "./solidBuilders-CVs9uVKO.js";
5
+ import { s as toBREP } from "./shapeFns-DdmglyM8.js";
6
+ import { h as fuseAll } from "./solidBuilders-BFKogU6o.js";
7
7
  import { t as loft } from "./loftFns-RdVrGF1B.js";
8
- import { c as resolveRefParams } from "./refResolveFns-3u3H3kGf.js";
9
- import { E as wire, h as line } from "./primitiveFns-D8Vwk98k.js";
8
+ import { c as resolveRefParams } from "./refResolveFns-Cq3PaeZd.js";
9
+ import { E as wire, h as line } from "./primitiveFns-Cjh7Me8u.js";
10
10
  //#region src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -2,11 +2,11 @@ const require_shapeTypes = require("./shapeTypes-DbUdKYv8.cjs");
2
2
  const require_errors = require("./errors-CJU8CHng.cjs");
3
3
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
4
4
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
5
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
6
- const require_solidBuilders = require("./solidBuilders-BLsga6fa.cjs");
5
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
6
+ const require_solidBuilders = require("./solidBuilders-CkaFAwJO.cjs");
7
7
  const require_loftFns = require("./loftFns-DjHxcgNY.cjs");
8
- const require_refResolveFns = require("./refResolveFns-BIhtsmdZ.cjs");
9
- const require_primitiveFns = require("./primitiveFns-pxjaTk8i.cjs");
8
+ const require_refResolveFns = require("./refResolveFns-CnpEu9L-.cjs");
9
+ const require_primitiveFns = require("./primitiveFns-ChCWaUxm.cjs");
10
10
  //#region src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -69,3 +69,14 @@ export declare function adjacentFaces<D extends Dimension>(parent: AnyShape<D>,
69
69
  * @returns Array of edges present in both faces (via isSame comparison).
70
70
  */
71
71
  export declare function sharedEdges<D extends Dimension>(face1: Face<D>, face2: Face<D>): Edge<D>[];
72
+ /**
73
+ * Hashes of the faces adjacent to `face` within `parent`, keyed like the kernel's
74
+ * `hashCode(_, HASH_CODE_MAX)` (so they index the parent's cached faces).
75
+ *
76
+ * Prefers the kernel-native adjacency (occt-wasm/brepkit) — markedly faster than
77
+ * the borrowed JS edge-map path, which pays per-call edge extraction + hashing —
78
+ * and disposes the owned result handles here so none escape. Returns only hashes,
79
+ * keeping callers clear of the borrowed-vs-owned handle contract; falls back to
80
+ * the borrowed-view {@link adjacentFaces} where the native op is unsupported.
81
+ */
82
+ export declare function adjacentFaceHashes<D extends Dimension>(parent: AnyShape<D>, face: Face<D>): number[];
package/dist/topology.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_topologyQueryFns = require("./topologyQueryFns-D5hBmDkc.cjs");
3
3
  const require_faceFns = require("./faceFns-B4X-xM8V.cjs");
4
- const require_shapeFns = require("./shapeFns-ql8ziUaG.cjs");
4
+ const require_shapeFns = require("./shapeFns-DdPt7PBo.cjs");
5
5
  const require_curveFns = require("./curveFns-CLG5eRx5.cjs");
6
- const require_meshFns = require("./meshFns-C1-S8YRk.cjs");
7
- const require_solidBuilders = require("./solidBuilders-BLsga6fa.cjs");
8
- const require_healingFns = require("./healingFns-B6qvJ_ua.cjs");
9
- const require_adjacencyFns = require("./adjacencyFns-BHTNz8_O.cjs");
10
- const require_primitiveFns = require("./primitiveFns-pxjaTk8i.cjs");
6
+ const require_meshFns = require("./meshFns-CU9e6jLy.cjs");
7
+ const require_solidBuilders = require("./solidBuilders-CkaFAwJO.cjs");
8
+ const require_healingFns = require("./healingFns-BYZJ0EaJ.cjs");
9
+ const require_adjacencyFns = require("./adjacencyFns-D3E5mqNS.cjs");
10
+ const require_primitiveFns = require("./primitiveFns-ChCWaUxm.cjs");
11
11
  exports.addHoles = require_primitiveFns.addHoles;
12
12
  exports.adjacentFaces = require_adjacencyFns.adjacentFaces;
13
13
  exports.approximateCurve = require_curveFns.approximateCurve;
package/dist/topology.js CHANGED
@@ -1,10 +1,10 @@
1
1
  import { C 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-BT4CdXa2.js";
2
2
  import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, 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, x as isCompSolid, y as downcast } from "./faceFns-Bk5OdHMb.js";
3
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-CsNSoHH6.js";
3
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-DdmglyM8.js";
4
4
  import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-Sl36NbVb.js";
5
- import { d as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES, u as clearMeshCache } from "./meshFns-Bsz0MOp6.js";
6
- import { h as fuseAll, p as cutAll } from "./solidBuilders-CVs9uVKO.js";
7
- import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-CzAgSI4a.js";
8
- import { a as sharedEdges, c as wiresOfFace, n as edgesOfFace, o as verticesOfEdge, r as facesOfEdge, t as adjacentFaces } from "./adjacencyFns-W7QMVMW2.js";
9
- import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-D8Vwk98k.js";
5
+ import { d as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES, u as clearMeshCache } from "./meshFns-BGoepe1y.js";
6
+ import { h as fuseAll, p as cutAll } from "./solidBuilders-BFKogU6o.js";
7
+ import { A as toBufferGeometryData, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, O as getNurbsSurfaceData, P as toLineGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as toGroupedBufferGeometryData, k as chamferDistAngle, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-DpSVPoyt.js";
8
+ import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-sWRL_pkB.js";
9
+ import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-Cjh7Me8u.js";
10
10
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveAxis, 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 };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "18.118.23",
3
+ "version": "18.118.25",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",