brepjs 20.1.1 → 20.1.3

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 (87) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-Dz4mndX8.cjs → adjacencyFns-CP2OX1wX.cjs} +3 -3
  4. package/dist/{adjacencyFns-DL8zlKsT.js → adjacencyFns-CQbGZ_2h.js} +3 -3
  5. package/dist/{blueprint-BUw5s4zK.js → blueprint-BYuKXzzD.js} +5 -5
  6. package/dist/{blueprint-Byjgf8ZZ.cjs → blueprint-_txOm7TL.cjs} +5 -5
  7. package/dist/{blueprintFns-ZlR91XxW.cjs → blueprintFns-B-9bOOcx.cjs} +2 -2
  8. package/dist/{blueprintFns-DzrcvK_5.js → blueprintFns-D6o4nmi0.js} +2 -2
  9. package/dist/{blueprintSketcher-BIBW1mjP.js → blueprintSketcher-CTYqcxF3.js} +3 -3
  10. package/dist/{blueprintSketcher-BaBrH0se.cjs → blueprintSketcher-CfQ4pYrf.cjs} +3 -3
  11. package/dist/{boolean2D-DwEwP9gs.js → boolean2D-Bi_wd9ni.js} +4 -4
  12. package/dist/{boolean2D-BQQqAFL8.cjs → boolean2D-jm7siiyd.cjs} +4 -4
  13. package/dist/brepjs.cjs +29 -29
  14. package/dist/brepjs.js +29 -29
  15. package/dist/{cameraFns-XMahh4KH.js → cameraFns-Cg-IlB_i.js} +3 -3
  16. package/dist/{cameraFns-DlOn_9F1.cjs → cameraFns-DC-D-2Nj.cjs} +3 -3
  17. package/dist/core.cjs +2 -2
  18. package/dist/core.js +2 -2
  19. package/dist/{cornerFinder-DMBWfdT3.cjs → cornerFinder-DDIemdb_.cjs} +1 -1
  20. package/dist/{cornerFinder-DfjfvZFM.js → cornerFinder-G9xscVA8.js} +1 -1
  21. package/dist/{curveFns-BIR6kZBw.js → curveFns-BBt0SKrW.js} +1 -1
  22. package/dist/{curveFns-DsssoGU5.cjs → curveFns-Cq9dnU5h.cjs} +1 -1
  23. package/dist/{drawFns-DBXKEtny.js → drawFns-B7TZp--v.js} +12 -12
  24. package/dist/{drawFns-YMnkMd5n.cjs → drawFns-wFCClDmo.cjs} +12 -12
  25. package/dist/{faceFns-BHYqr5B_.cjs → faceFns-BntwAhgy.cjs} +2 -2
  26. package/dist/{faceFns-D9lNRH2M.js → faceFns-BqGbnP1I.js} +2 -2
  27. package/dist/{healingFns-BuLaEczN.cjs → healingFns-BDJVHsX9.cjs} +4 -4
  28. package/dist/{healingFns-hI1wxyxB.js → healingFns-DI8ZIWEx.js} +4 -4
  29. package/dist/{helpers-BoAdVSY2.js → helpers-BakyQOOb.js} +6 -6
  30. package/dist/{helpers-BZ-pfkbj.cjs → helpers-nS6yGxVL.cjs} +6 -6
  31. package/dist/{importFns-DnFgqKYV.cjs → importFns-4uQMraDq.cjs} +2 -2
  32. package/dist/{importFns-DHZWftaZ.js → importFns-CgFHapBh.js} +2 -2
  33. package/dist/io.cjs +2 -2
  34. package/dist/io.js +2 -2
  35. package/dist/kernel/brepkit/evolutionOps.d.ts +22 -0
  36. package/dist/kernel/occtWasm/booleanOps.d.ts +8 -6
  37. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  38. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  39. package/dist/{loftFns-NTOU4TMG.cjs → loftFns-Cz0hiYvm.cjs} +1 -1
  40. package/dist/{loftFns-D1Ivuct8.js → loftFns-D0MrtUvr.js} +1 -1
  41. package/dist/{measureFns-Dte-6DE0.js → measureFns-BHkSTDdS.js} +3 -3
  42. package/dist/{measureFns-PF6nc4D-.cjs → measureFns-BslnipRT.cjs} +3 -3
  43. package/dist/measurement.cjs +1 -1
  44. package/dist/measurement.js +1 -1
  45. package/dist/{meshFns-BGvpfvJH.cjs → meshFns-2hU8QTZc.cjs} +3 -3
  46. package/dist/{meshFns-sZAkcSGC.js → meshFns-DFYksePu.js} +3 -3
  47. package/dist/{occtWasmAdapter-B-azbyqB.js → occtWasmAdapter-D4I0n537.js} +31 -14
  48. package/dist/{occtWasmAdapter-Crbk3OE3.cjs → occtWasmAdapter-wCKnmevS.cjs} +31 -14
  49. package/dist/operations.cjs +2 -2
  50. package/dist/operations.js +2 -2
  51. package/dist/{originTrackingFns-vFjerWSc.cjs → originTrackingFns-8N_kXeHM.cjs} +2 -2
  52. package/dist/{originTrackingFns-BOerZJsE.js → originTrackingFns-oJzy7VBM.js} +2 -2
  53. package/dist/{primitiveFns-BX7fGnCO.js → primitiveFns-DZ2ngaTC.js} +4 -4
  54. package/dist/{primitiveFns-Bu-8K5D1.cjs → primitiveFns-DbcOFbos.cjs} +4 -4
  55. package/dist/projection.cjs +1 -1
  56. package/dist/projection.js +1 -1
  57. package/dist/query.cjs +2 -2
  58. package/dist/query.js +2 -2
  59. package/dist/{refResolveFns-B3CbahSZ.cjs → refResolveFns-B_M_5uXc.cjs} +6 -6
  60. package/dist/{refResolveFns-VqBMdu5u.js → refResolveFns-D2hMK-N5.js} +6 -6
  61. package/dist/{shapeFns-D4-BbNIg.js → shapeFns-D7432Duf.js} +2 -2
  62. package/dist/{shapeFns-Dcmu0-Yd.cjs → shapeFns-sQmmlt3o.cjs} +2 -2
  63. package/dist/shapeRef.cjs +1 -1
  64. package/dist/shapeRef.js +1 -1
  65. package/dist/{shapeTypes-BduYYutE.js → shapeTypes-CvqVeaBF.js} +7 -7
  66. package/dist/{shapeTypes-lPNmZAtM.cjs → shapeTypes-F-mWiDNM.cjs} +7 -7
  67. package/dist/sketching.cjs +3 -3
  68. package/dist/sketching.js +3 -3
  69. package/dist/{solidBuilders-CFam3Qds.js → solidBuilders-BtN0SoYt.js} +5 -5
  70. package/dist/{solidBuilders-K1gsS0t7.cjs → solidBuilders-P5QqU58X.cjs} +5 -5
  71. package/dist/{surfaceBuilders-D1KiF1_5.js → surfaceBuilders-CPMPPA3X.js} +3 -3
  72. package/dist/{surfaceBuilders-iF365VJS.cjs → surfaceBuilders-LFqrn_Wg.cjs} +3 -3
  73. package/dist/text.cjs +2 -2
  74. package/dist/text.js +2 -2
  75. package/dist/{textBlueprints-Ds_YIEiV.js → textBlueprints-DUUEvFW5.js} +7 -7
  76. package/dist/{textBlueprints-Biphlh0j.cjs → textBlueprints-hlaGJFxM.cjs} +7 -7
  77. package/dist/{textMetrics-CTdTBdLU.cjs → textMetrics-DUBMeAN5.cjs} +1 -1
  78. package/dist/{textMetrics-8JNV4t3U.js → textMetrics-lG93PueS.js} +1 -1
  79. package/dist/{threadFns-BoUrrrXU.cjs → threadFns-DSaO6lQn.cjs} +7 -7
  80. package/dist/{threadFns-DgQOx5ef.js → threadFns-hV6THl4w.js} +7 -7
  81. package/dist/topology.cjs +9 -9
  82. package/dist/topology.js +9 -9
  83. package/dist/{topologyQueryFns-BIR89zuc.cjs → topologyQueryFns-67PWHI8a.cjs} +1 -1
  84. package/dist/{topologyQueryFns-DjXQCBom.js → topologyQueryFns-Cg6xYBbL.js} +1 -1
  85. package/dist/{validityTypes-liYfOZkR.js → validityTypes-2teHsjZJ.js} +1 -1
  86. package/dist/{validityTypes-BK85734E.cjs → validityTypes-Q3qk10P8.cjs} +1 -1
  87. package/package.json +11 -11
@@ -1,12 +1,12 @@
1
- import { q as getKernel, y as isFace } from "./shapeTypes-BduYYutE.js";
1
+ import { q as getKernel, y as isFace } from "./shapeTypes-CvqVeaBF.js";
2
2
  import { E as ok, g as err, o as queryError, x as isOk } from "./errors-CTn8i3lY.js";
3
- import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-DjXQCBom.js";
3
+ import { c as getFaces, f as getVertices, p as getWires, s as getEdges } from "./topologyQueryFns-Cg6xYBbL.js";
4
4
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { a as vecDot, d as vecNormalize } from "./vecOps-SKPRvPH-.js";
6
- import { l as normalAt, s as getSurfaceType } from "./faceFns-D9lNRH2M.js";
7
- import { a as isSameShape, n as getHashCode } from "./shapeFns-D4-BbNIg.js";
8
- import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-BIR6kZBw.js";
9
- import { n as measureArea } from "./measureFns-Dte-6DE0.js";
6
+ import { l as normalAt, s as getSurfaceType } from "./faceFns-BqGbnP1I.js";
7
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-D7432Duf.js";
8
+ import { f as getCurveType, i as curveIsClosed, o as curveLength } from "./curveFns-BBt0SKrW.js";
9
+ import { n as measureArea } from "./measureFns-BHkSTDdS.js";
10
10
  //#region 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-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BIR89zuc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-67PWHI8a.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
6
- const require_faceFns = require("./faceFns-BHYqr5B_.cjs");
7
- const require_shapeFns = require("./shapeFns-Dcmu0-Yd.cjs");
8
- const require_curveFns = require("./curveFns-DsssoGU5.cjs");
9
- const require_measureFns = require("./measureFns-PF6nc4D-.cjs");
6
+ const require_faceFns = require("./faceFns-BntwAhgy.cjs");
7
+ const require_shapeFns = require("./shapeFns-sQmmlt3o.cjs");
8
+ const require_curveFns = require("./curveFns-Cq9dnU5h.cjs");
9
+ const require_measureFns = require("./measureFns-BslnipRT.cjs");
10
10
  //#region 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-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_bug = require("./bug-O02CsAmt.cjs");
3
3
  const require_errors = require("./errors-DWezb9DI.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-Byjgf8ZZ.cjs");
5
+ const require_blueprint = require("./blueprint-_txOm7TL.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) {
@@ -1,8 +1,8 @@
1
- import { n as castResultShape, q as getKernel } from "./shapeTypes-BduYYutE.js";
1
+ import { n as castResultShape, q as getKernel } from "./shapeTypes-CvqVeaBF.js";
2
2
  import { i as wasmIndex, r as vec3At$1 } from "./bug-BdOHwn_e.js";
3
3
  import { E as ok, g as err, r as ioError, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
4
4
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
5
- import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-BUw5s4zK.js";
5
+ import { c as make2dBezierCurve, h as make2dThreePointArc, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-BYuKXzzD.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) {
package/dist/io.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-BGvpfvJH.cjs");
3
- const require_importFns = require("./importFns-DnFgqKYV.cjs");
2
+ const require_meshFns = require("./meshFns-2hU8QTZc.cjs");
3
+ const require_importFns = require("./importFns-4uQMraDq.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-sZAkcSGC.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-DHZWftaZ.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-DFYksePu.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-CgFHapBh.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -1,5 +1,27 @@
1
1
  import { BrepkitKernel } from './brepkitWasmTypes.js';
2
2
  import { KernelShape, KernelType, OperationResult, DiagnosticOperationResult, BooleanOptions } from '../types.js';
3
+ /**
4
+ * Chain an evolution map (modified or generated) through one step of a multi-step
5
+ * boolean. For each entry, each previous output hash is resolved against this
6
+ * step's evolution: if it was further modified, follow to the new outputs; if
7
+ * deleted, drop it; otherwise keep it unchanged.
8
+ *
9
+ * Mutates `map` in-place and records each resolved prevOut in `intermediateOutputs`.
10
+ * When `deleteOnEmpty` is provided, entries that reduce to no outputs are added to it.
11
+ */
12
+ export declare function chainEvolutionMap(map: Map<number, number[]>, stepModified: ReadonlyMap<number, readonly number[]>, stepDeleted: ReadonlySet<number>, intermediateOutputs: Set<number>, deleteOnEmpty?: Set<number>): void;
13
+ export interface CompoundBooleanAccum {
14
+ combinedModified: Map<number, number[]>;
15
+ combinedGenerated: Map<number, number[]>;
16
+ combinedDeleted: Set<number>;
17
+ inputFaceHashSet: ReadonlySet<number>;
18
+ }
19
+ /**
20
+ * Fold one child solid of a compound tool into the running boolean accumulator.
21
+ * Chains existing modified/generated outputs through this step's evolution,
22
+ * then merges in any step entries not already covered by the chain.
23
+ */
24
+ export declare function mergeCompoundChildStep(result: OperationResult, accum: CompoundBooleanAccum): void;
3
25
  export declare function translateWithHistory(bk: BrepkitKernel, shape: KernelShape, x: number, y: number, z: number, inputFaceHashes: number[], hashUpperBound: number): OperationResult;
4
26
  export declare function rotateWithHistory(bk: BrepkitKernel, shape: KernelShape, angle: number, inputFaceHashes: number[], hashUpperBound: number, axis?: readonly [number, number, number], center?: readonly [number, number, number]): OperationResult;
5
27
  export declare function mirrorWithHistory(bk: BrepkitKernel, shape: KernelShape, origin: readonly [number, number, number], normal: readonly [number, number, number], inputFaceHashes: number[], hashUpperBound: number): OperationResult;
@@ -20,17 +20,19 @@ export declare function runBooleanOp(k: OcctKernelWasm, Module: OcctWasmModule,
20
20
  };
21
21
  /**
22
22
  * Call `fn` with a tool's solids as separate ids, or with the tool alone when
23
- * it holds at most one solid, and report whether it was split. Solids are
23
+ * it holds at most one solid, and report whether it holds several. Solids are
24
24
  * handed to an n-way boolean as separate tools, which OCCT allows to overlap,
25
- * where one compound of overlapping solids is invalid input.
25
+ * where one compound of overlapping solids is invalid input. A tool whose
26
+ * solids have pairwise disjoint bounding boxes stays whole: its solids cannot
27
+ * interfere, and OCCT runs it faster as one operand than as several.
26
28
  */
27
- export declare function withToolIds<R>(k: OcctKernelWasm, tool: KernelShape, fn: (ids: number[], split: boolean) => R): R;
29
+ export declare function withToolIds<R>(k: OcctKernelWasm, tool: KernelShape, fn: (ids: number[], multiSolid: boolean) => R): R;
28
30
  /**
29
31
  * {@link withToolIds} over several shapes: each multi-solid shape contributes
30
- * its solids, every other shape its own id, in order. `split` reports whether
31
- * any shape was expanded.
32
+ * its solids, every other shape its own id, in order. `multiSolid` reports
33
+ * whether any shape holds more than one solid, split or not.
32
34
  */
33
- export declare function withSolidIds<R>(k: OcctKernelWasm, shapes: readonly KernelShape[], fn: (ids: number[], split: boolean) => R): R;
35
+ export declare function withSolidIds<R>(k: OcctKernelWasm, shapes: readonly KernelShape[], fn: (ids: number[], multiSolid: boolean) => R): R;
34
36
  /**
35
37
  * The resolved tool id plus a `dispose` that releases any temporary the
36
38
  * resolution allocated. Callers must call `dispose()` after the boolean.
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-Crbk3OE3.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-wCKnmevS.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -1,2 +1,2 @@
1
- import { t as OcctWasmAdapter } from "../../occtWasmAdapter-B-azbyqB.js";
1
+ import { t as OcctWasmAdapter } from "../../occtWasmAdapter-D4I0n537.js";
2
2
  export { OcctWasmAdapter };
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
3
  const require_types = require("./types-KjA8tY4Y.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.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-BduYYutE.js";
1
+ import { G as _usingCtx, T as isWire, h as disposeResultShape, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-CvqVeaBF.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-CTn8i3lY.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { c as vecLength, t as vecAdd } from "./vecOps-SKPRvPH-.js";
@@ -1,7 +1,7 @@
1
- import { q as getKernel } from "./shapeTypes-BduYYutE.js";
1
+ import { q as getKernel } from "./shapeTypes-CvqVeaBF.js";
2
2
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
3
- import { T as kernelCallRaw } from "./topologyQueryFns-DjXQCBom.js";
4
- import { m as uvBounds } from "./faceFns-D9lNRH2M.js";
3
+ import { T as kernelCallRaw } from "./topologyQueryFns-Cg6xYBbL.js";
4
+ import { m as uvBounds } from "./faceFns-BqGbnP1I.js";
5
5
  //#region 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-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BIR89zuc.cjs");
4
- const require_faceFns = require("./faceFns-BHYqr5B_.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-67PWHI8a.cjs");
4
+ const require_faceFns = require("./faceFns-BntwAhgy.cjs");
5
5
  //#region src/measurement/measureCache.ts
6
6
  var cache = /* @__PURE__ */ new WeakMap();
7
7
  function getCachedMeasurement(shape, key) {
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_measureFns = require("./measureFns-PF6nc4D-.cjs");
2
+ const require_measureFns = require("./measureFns-BslnipRT.cjs");
3
3
  exports.createDistanceQuery = require_measureFns.createDistanceQuery;
4
4
  exports.measureArea = require_measureFns.measureArea;
5
5
  exports.measureDistance = require_measureFns.measureDistance;
@@ -1,2 +1,2 @@
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-Dte-6DE0.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-BHkSTDdS.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BIR89zuc.cjs");
4
- const require_originTrackingFns = require("./originTrackingFns-vFjerWSc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-67PWHI8a.cjs");
4
+ const require_originTrackingFns = require("./originTrackingFns-8N_kXeHM.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,7 +1,7 @@
1
- import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-BduYYutE.js";
1
+ import { q as getKernel, ut as qualityDeflection } from "./shapeTypes-CvqVeaBF.js";
2
2
  import { E as ok, g as err, r as ioError } from "./errors-CTn8i3lY.js";
3
- import { d as getSolids, n as getBounds } from "./topologyQueryFns-DjXQCBom.js";
4
- import { t as getFaceOrigins } from "./originTrackingFns-BOerZJsE.js";
3
+ import { d as getSolids, n as getBounds } from "./topologyQueryFns-Cg6xYBbL.js";
4
+ import { t as getFaceOrigins } from "./originTrackingFns-oJzy7VBM.js";
5
5
  //#region src/topology/meshCache.ts
6
6
  /**
7
7
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1456,46 +1456,63 @@ function runBooleanOp(k, Module, kind, argIds, toolIds, options = {}, inputFaceH
1456
1456
  }
1457
1457
  /**
1458
1458
  * Call `fn` with a tool's solids as separate ids, or with the tool alone when
1459
- * it holds at most one solid, and report whether it was split. Solids are
1459
+ * it holds at most one solid, and report whether it holds several. Solids are
1460
1460
  * handed to an n-way boolean as separate tools, which OCCT allows to overlap,
1461
- * where one compound of overlapping solids is invalid input.
1461
+ * where one compound of overlapping solids is invalid input. A tool whose
1462
+ * solids have pairwise disjoint bounding boxes stays whole: its solids cannot
1463
+ * interfere, and OCCT runs it faster as one operand than as several.
1462
1464
  */
1463
1465
  function withToolIds(k, tool, fn) {
1464
1466
  return withSolidIds(k, [tool], fn);
1465
1467
  }
1466
1468
  /**
1467
1469
  * {@link withToolIds} over several shapes: each multi-solid shape contributes
1468
- * its solids, every other shape its own id, in order. `split` reports whether
1469
- * any shape was expanded.
1470
+ * its solids, every other shape its own id, in order. `multiSolid` reports
1471
+ * whether any shape holds more than one solid, split or not.
1470
1472
  */
1471
1473
  function withSolidIds(k, shapes, fn) {
1472
1474
  const ids = [];
1473
1475
  const extracted = [];
1474
1476
  try {
1475
- for (const shape of shapes) pushSolidIds(k, unwrap(shape), ids, extracted);
1476
- return fn(ids, ids.length > shapes.length);
1477
+ let multiSolid = false;
1478
+ for (const shape of shapes) if (pushSolidIds(k, unwrap(shape), ids, extracted)) multiSolid = true;
1479
+ return fn(ids, multiSolid);
1477
1480
  } finally {
1478
1481
  for (const id of extracted) k.release(id);
1479
1482
  }
1480
1483
  }
1481
1484
  /**
1482
- * Append `id`'s solids to `ids`, or `id` itself when it holds at most one.
1483
- * Every solid copy the query allocated goes on `extracted` for release.
1485
+ * Append `id`'s solids to `ids`, or `id` itself when it holds at most one or
1486
+ * its solids cannot interfere, and report whether it holds several. Every
1487
+ * solid copy the query allocated goes on `extracted` for release.
1484
1488
  */
1485
1489
  function pushSolidIds(k, id, ids, extracted) {
1486
1490
  const solids = k.getSubShapes(id, "solid");
1487
1491
  try {
1488
- const n = solids.size();
1489
- for (let i = 0; i < n; i++) {
1492
+ const solidIds = [];
1493
+ for (let i = 0; i < solids.size(); i++) {
1490
1494
  const solidId = solids.get(i);
1491
1495
  if (solidId !== id) extracted.push(solidId);
1492
- if (n > 1) ids.push(solidId);
1496
+ solidIds.push(solidId);
1493
1497
  }
1494
- if (n <= 1) ids.push(id);
1498
+ if (solidIds.length > 1 && !boundsPairwiseDisjoint(k, solidIds)) ids.push(...solidIds);
1499
+ else ids.push(id);
1500
+ return solidIds.length > 1;
1495
1501
  } finally {
1496
1502
  solids.delete();
1497
1503
  }
1498
1504
  }
1505
+ function boundsPairwiseDisjoint(k, solidIds) {
1506
+ const boxes = solidIds.map((s) => k.getBoundingBox(s, false));
1507
+ for (let i = 0; i < boxes.length; i++) {
1508
+ const a = boxes[i];
1509
+ for (let j = i + 1; j < boxes.length; j++) {
1510
+ const b = boxes[j];
1511
+ if (a.xmin <= b.xmax && b.xmin <= a.xmax && a.ymin <= b.ymax && b.ymin <= a.ymax && a.zmin <= b.zmax && b.zmin <= a.zmax) return false;
1512
+ }
1513
+ }
1514
+ return true;
1515
+ }
1499
1516
  /**
1500
1517
  * Normalize a boolean tool to a single fused solid when it is a compound of
1501
1518
  * multiple solids (e.g. engraved text — one solid per glyph). occt-wasm's
@@ -1534,7 +1551,7 @@ function fuse(k, Module, shape, tool, options) {
1534
1551
  }
1535
1552
  function subtractOrCommon(k, Module, kind, shape, tool, options) {
1536
1553
  if (hasBooleanOp(k)) {
1537
- const id = withToolIds(k, tool, (toolIds, split) => split || needsBooleanOptions(options) ? runBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, options).id : null);
1554
+ const id = withToolIds(k, tool, (toolIds, multiSolid) => multiSolid || needsBooleanOptions(options) ? runBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, options).id : null);
1538
1555
  if (id !== null) return wrapResult(k, id);
1539
1556
  }
1540
1557
  const resolved = resolveBooleanTool(k, tool);
@@ -4737,7 +4754,7 @@ function fuseWithHistory(k, Module, shape, tool, inputFaceHashes, hashUpperBound
4737
4754
  }
4738
4755
  function subtractOrCommonWithHistory(k, Module, kind, shape, tool, inputFaceHashes, hashUpperBound, options) {
4739
4756
  if (hasBooleanOp(k)) {
4740
- const result = withToolIds(k, tool, (toolIds, split) => split || needsBooleanOptions(options) ? viaBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, inputFaceHashes, hashUpperBound, options) : null);
4757
+ const result = withToolIds(k, tool, (toolIds, multiSolid) => multiSolid || needsBooleanOptions(options) ? viaBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, inputFaceHashes, hashUpperBound, options) : null);
4741
4758
  if (result) return result;
4742
4759
  }
4743
4760
  const hashVec = makeVecInt(Module, inputFaceHashes);
@@ -1456,46 +1456,63 @@ function runBooleanOp(k, Module, kind, argIds, toolIds, options = {}, inputFaceH
1456
1456
  }
1457
1457
  /**
1458
1458
  * Call `fn` with a tool's solids as separate ids, or with the tool alone when
1459
- * it holds at most one solid, and report whether it was split. Solids are
1459
+ * it holds at most one solid, and report whether it holds several. Solids are
1460
1460
  * handed to an n-way boolean as separate tools, which OCCT allows to overlap,
1461
- * where one compound of overlapping solids is invalid input.
1461
+ * where one compound of overlapping solids is invalid input. A tool whose
1462
+ * solids have pairwise disjoint bounding boxes stays whole: its solids cannot
1463
+ * interfere, and OCCT runs it faster as one operand than as several.
1462
1464
  */
1463
1465
  function withToolIds(k, tool, fn) {
1464
1466
  return withSolidIds(k, [tool], fn);
1465
1467
  }
1466
1468
  /**
1467
1469
  * {@link withToolIds} over several shapes: each multi-solid shape contributes
1468
- * its solids, every other shape its own id, in order. `split` reports whether
1469
- * any shape was expanded.
1470
+ * its solids, every other shape its own id, in order. `multiSolid` reports
1471
+ * whether any shape holds more than one solid, split or not.
1470
1472
  */
1471
1473
  function withSolidIds(k, shapes, fn) {
1472
1474
  const ids = [];
1473
1475
  const extracted = [];
1474
1476
  try {
1475
- for (const shape of shapes) pushSolidIds(k, unwrap(shape), ids, extracted);
1476
- return fn(ids, ids.length > shapes.length);
1477
+ let multiSolid = false;
1478
+ for (const shape of shapes) if (pushSolidIds(k, unwrap(shape), ids, extracted)) multiSolid = true;
1479
+ return fn(ids, multiSolid);
1477
1480
  } finally {
1478
1481
  for (const id of extracted) k.release(id);
1479
1482
  }
1480
1483
  }
1481
1484
  /**
1482
- * Append `id`'s solids to `ids`, or `id` itself when it holds at most one.
1483
- * Every solid copy the query allocated goes on `extracted` for release.
1485
+ * Append `id`'s solids to `ids`, or `id` itself when it holds at most one or
1486
+ * its solids cannot interfere, and report whether it holds several. Every
1487
+ * solid copy the query allocated goes on `extracted` for release.
1484
1488
  */
1485
1489
  function pushSolidIds(k, id, ids, extracted) {
1486
1490
  const solids = k.getSubShapes(id, "solid");
1487
1491
  try {
1488
- const n = solids.size();
1489
- for (let i = 0; i < n; i++) {
1492
+ const solidIds = [];
1493
+ for (let i = 0; i < solids.size(); i++) {
1490
1494
  const solidId = solids.get(i);
1491
1495
  if (solidId !== id) extracted.push(solidId);
1492
- if (n > 1) ids.push(solidId);
1496
+ solidIds.push(solidId);
1493
1497
  }
1494
- if (n <= 1) ids.push(id);
1498
+ if (solidIds.length > 1 && !boundsPairwiseDisjoint(k, solidIds)) ids.push(...solidIds);
1499
+ else ids.push(id);
1500
+ return solidIds.length > 1;
1495
1501
  } finally {
1496
1502
  solids.delete();
1497
1503
  }
1498
1504
  }
1505
+ function boundsPairwiseDisjoint(k, solidIds) {
1506
+ const boxes = solidIds.map((s) => k.getBoundingBox(s, false));
1507
+ for (let i = 0; i < boxes.length; i++) {
1508
+ const a = boxes[i];
1509
+ for (let j = i + 1; j < boxes.length; j++) {
1510
+ const b = boxes[j];
1511
+ if (a.xmin <= b.xmax && b.xmin <= a.xmax && a.ymin <= b.ymax && b.ymin <= a.ymax && a.zmin <= b.zmax && b.zmin <= a.zmax) return false;
1512
+ }
1513
+ }
1514
+ return true;
1515
+ }
1499
1516
  /**
1500
1517
  * Normalize a boolean tool to a single fused solid when it is a compound of
1501
1518
  * multiple solids (e.g. engraved text — one solid per glyph). occt-wasm's
@@ -1534,7 +1551,7 @@ function fuse(k, Module, shape, tool, options) {
1534
1551
  }
1535
1552
  function subtractOrCommon(k, Module, kind, shape, tool, options) {
1536
1553
  if (hasBooleanOp(k)) {
1537
- const id = withToolIds(k, tool, (toolIds, split) => split || needsBooleanOptions(options) ? runBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, options).id : null);
1554
+ const id = withToolIds(k, tool, (toolIds, multiSolid) => multiSolid || needsBooleanOptions(options) ? runBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, options).id : null);
1538
1555
  if (id !== null) return wrapResult(k, id);
1539
1556
  }
1540
1557
  const resolved = resolveBooleanTool(k, tool);
@@ -4737,7 +4754,7 @@ function fuseWithHistory(k, Module, shape, tool, inputFaceHashes, hashUpperBound
4737
4754
  }
4738
4755
  function subtractOrCommonWithHistory(k, Module, kind, shape, tool, inputFaceHashes, hashUpperBound, options) {
4739
4756
  if (hasBooleanOp(k)) {
4740
- const result = withToolIds(k, tool, (toolIds, split) => split || needsBooleanOptions(options) ? viaBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, inputFaceHashes, hashUpperBound, options) : null);
4757
+ const result = withToolIds(k, tool, (toolIds, multiSolid) => multiSolid || needsBooleanOptions(options) ? viaBooleanOp(k, Module, kind, [unwrap(shape)], toolIds, inputFaceHashes, hashUpperBound, options) : null);
4741
4758
  if (result) return result;
4742
4759
  }
4743
4760
  const hashVec = makeVecInt(Module, inputFaceHashes);
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-BoUrrrXU.cjs");
3
- const require_loftFns = require("./loftFns-NTOU4TMG.cjs");
2
+ const require_threadFns = require("./threadFns-DSaO6lQn.cjs");
3
+ const require_loftFns = require("./loftFns-Cz0hiYvm.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-DgQOx5ef.js";
2
- import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-D1Ivuct8.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-hV6THl4w.js";
2
+ import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-D0MrtUvr.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-lPNmZAtM.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-BIR89zuc.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-67PWHI8a.cjs");
3
3
  const require_constants = require("./constants-BOVyEYGH.cjs");
4
4
  //#region src/topology/metadata/originTrackingFns.ts
5
5
  /**
@@ -1,5 +1,5 @@
1
- import { q as getKernel } from "./shapeTypes-BduYYutE.js";
2
- import { S as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-DjXQCBom.js";
1
+ import { q as getKernel } from "./shapeTypes-CvqVeaBF.js";
2
+ import { S as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-Cg6xYBbL.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
4
4
  //#region src/topology/metadata/originTrackingFns.ts
5
5
  /**
@@ -1,9 +1,9 @@
1
- import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-BduYYutE.js";
1
+ import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-CvqVeaBF.js";
2
2
  import { E as ok, d as validationError, g as err, m as andThen, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
3
- import { n as isClosedWire } from "./validityTypes-liYfOZkR.js";
3
+ import { n as isClosedWire } from "./validityTypes-2teHsjZJ.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.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-CFam3Qds.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-D1KiF1_5.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-BtN0SoYt.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-CPMPPA3X.js";
7
7
  //#region src/topology/transformFns.ts
8
8
  /**
9
9
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_validityTypes = require("./validityTypes-BK85734E.cjs");
3
+ const require_validityTypes = require("./validityTypes-Q3qk10P8.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_solidBuilders = require("./solidBuilders-K1gsS0t7.cjs");
6
- const require_surfaceBuilders = require("./surfaceBuilders-iF365VJS.cjs");
5
+ const require_solidBuilders = require("./solidBuilders-P5QqU58X.cjs");
6
+ const require_surfaceBuilders = require("./surfaceBuilders-LFqrn_Wg.cjs");
7
7
  //#region src/topology/transformFns.ts
8
8
  /**
9
9
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-DlOn_9F1.cjs");
2
+ const require_cameraFns = require("./cameraFns-DC-D-2Nj.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-XMahh4KH.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-Cg-IlB_i.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-BZ-pfkbj.cjs");
3
- const require_cornerFinder = require("./cornerFinder-DMBWfdT3.cjs");
2
+ const require_helpers = require("./helpers-nS6yGxVL.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-DDIemdb_.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-BoAdVSY2.js";
2
- import { t as cornerFinder } from "./cornerFinder-DfjfvZFM.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BakyQOOb.js";
2
+ import { t as cornerFinder } from "./cornerFinder-G9xscVA8.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-lPNmZAtM.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-BIR89zuc.cjs");
3
- const require_faceFns = require("./faceFns-BHYqr5B_.cjs");
4
- const require_shapeFns = require("./shapeFns-Dcmu0-Yd.cjs");
5
- const require_measureFns = require("./measureFns-PF6nc4D-.cjs");
6
- const require_adjacencyFns = require("./adjacencyFns-Dz4mndX8.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-67PWHI8a.cjs");
3
+ const require_faceFns = require("./faceFns-BntwAhgy.cjs");
4
+ const require_shapeFns = require("./shapeFns-sQmmlt3o.cjs");
5
+ const require_measureFns = require("./measureFns-BslnipRT.cjs");
6
+ const require_adjacencyFns = require("./adjacencyFns-CP2OX1wX.cjs");
7
7
  //#region src/topology/shapeRef/scoring.ts
8
8
  /**
9
9
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,9 +1,9 @@
1
- import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-BduYYutE.js";
2
- import { C as vertexPosition, c as getFaces } from "./topologyQueryFns-DjXQCBom.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-D9lNRH2M.js";
4
- import { n as getHashCode } from "./shapeFns-D4-BbNIg.js";
5
- import { n as measureArea, s as measureLength } from "./measureFns-Dte-6DE0.js";
6
- import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-DL8zlKsT.js";
1
+ import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-CvqVeaBF.js";
2
+ import { C as vertexPosition, c as getFaces } from "./topologyQueryFns-Cg6xYBbL.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BqGbnP1I.js";
4
+ import { n as getHashCode } from "./shapeFns-D7432Duf.js";
5
+ import { n as measureArea, s as measureLength } from "./measureFns-BHkSTDdS.js";
6
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-CQbGZ_2h.js";
7
7
  //#region src/topology/shapeRef/scoring.ts
8
8
  /**
9
9
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,6 +1,6 @@
1
- import { q as getKernel } from "./shapeTypes-BduYYutE.js";
1
+ import { q as getKernel } from "./shapeTypes-CvqVeaBF.js";
2
2
  import { t as BrepErrorCode } from "./errors-CTn8i3lY.js";
3
- import { T as kernelCallRaw, w as kernelCall } from "./topologyQueryFns-DjXQCBom.js";
3
+ import { T as kernelCallRaw, w as kernelCall } from "./topologyQueryFns-Cg6xYBbL.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/shapeFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-lPNmZAtM.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-F-mWiDNM.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-BIR89zuc.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-67PWHI8a.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region 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-B3CbahSZ.cjs");
2
+ const require_refResolveFns = require("./refResolveFns-B_M_5uXc.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-VqBMdu5u.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-D2hMK-N5.js";
2
2
  export { assignRoles, captureHint, createDerivedFaceRef, createEdgeRef, createRef, createVertexRef, defaultScorer, isDerivedFaceRef, isEdgeRef, isFaceRef, isLineageRef, isVertexRef, resolveDerivedFaceRef, resolveEdgeRef, resolveLineageRef, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, updateRoles };