brepjs 18.33.0 → 18.33.2

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 (83) hide show
  1. package/README.md +4 -0
  2. package/dist/2d.cjs +6 -6
  3. package/dist/2d.js +6 -6
  4. package/dist/{blueprint-BSFmbDGk.cjs → blueprint-CDjFNsmN.cjs} +5 -5
  5. package/dist/{blueprint-CJh2IXNN.js → blueprint-CNczvCJD.js} +5 -5
  6. package/dist/{blueprintFns-Zeq5akLC.js → blueprintFns-DT6oP1MU.js} +2 -2
  7. package/dist/{blueprintFns-CP2cC0SH.cjs → blueprintFns-HxHdlOrY.cjs} +2 -2
  8. package/dist/{blueprintSketcher-Bk1Td7bF.js → blueprintSketcher-BvEwuvyJ.js} +3 -3
  9. package/dist/{blueprintSketcher-CW82NmX7.cjs → blueprintSketcher-C1zl__qM.cjs} +3 -3
  10. package/dist/{boolean2D-Cx4p6bzv.js → boolean2D-BczOZwlF.js} +4 -4
  11. package/dist/{boolean2D-DQESKrHM.cjs → boolean2D-DLV8HNif.cjs} +4 -4
  12. package/dist/{booleanFns-Desb54nK.cjs → booleanFns-CLCbionN.cjs} +4 -4
  13. package/dist/{booleanFns-CxAfvIV6.js → booleanFns-lDauFalY.js} +4 -4
  14. package/dist/brepjs.cjs +25 -25
  15. package/dist/brepjs.js +25 -25
  16. package/dist/{cameraFns-DVDMA2YA.js → cameraFns-Byav4AXt.js} +2 -2
  17. package/dist/{cameraFns-mhPem8JC.cjs → cameraFns-nPL5-xZH.cjs} +2 -2
  18. package/dist/core.cjs +1 -1
  19. package/dist/core.js +1 -1
  20. package/dist/{cornerFinder-C9sHooms.js → cornerFinder-CifMFbIN.js} +1 -1
  21. package/dist/{cornerFinder-nW2FYBmk.cjs → cornerFinder-DPlpHmJl.cjs} +1 -1
  22. package/dist/{curveFns-BXWe0tUP.cjs → curveFns-DbpQH6-9.cjs} +1 -1
  23. package/dist/{curveFns-CEADb8UI.js → curveFns-Dvtp5oZA.js} +1 -1
  24. package/dist/{drawFns-Bz47xb6u.js → drawFns-BFi1hoid.js} +12 -12
  25. package/dist/{drawFns-CyqV9IOf.cjs → drawFns-uS1tM6dz.cjs} +12 -12
  26. package/dist/{extrudeFns-Byjh14Mh.cjs → extrudeFns-Bab5Fw_k.cjs} +1 -1
  27. package/dist/{extrudeFns-OvEEZRiI.js → extrudeFns-CE8C7QRv.js} +1 -1
  28. package/dist/{faceFns-BEDI2Fht.cjs → faceFns-B5C-nw1v.cjs} +2 -2
  29. package/dist/{faceFns-Dc1Kz-42.js → faceFns-Cfgrt9P9.js} +2 -2
  30. package/dist/{helpers-NRiahAyk.cjs → helpers-C7wSoEZ6.cjs} +6 -6
  31. package/dist/{helpers-CybYLoG5.js → helpers-Cy-JYZot.js} +6 -6
  32. package/dist/{historyFns-CSHLpJK2.cjs → historyFns-BDy3Iq3O.cjs} +4 -4
  33. package/dist/{historyFns-s38GJ8vm.js → historyFns-qZaNV5QN.js} +4 -4
  34. package/dist/{importFns-BLptAND5.js → importFns-B7R0bXrT.js} +2 -2
  35. package/dist/{importFns-C7e3yWGT.cjs → importFns-CJggKtP3.cjs} +2 -2
  36. package/dist/io.cjs +2 -2
  37. package/dist/io.js +2 -2
  38. package/dist/kernel/brepkit/brepkitWasmTypes.d.ts +6 -6
  39. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  40. package/dist/kernel/occtWasm/occtWasmAdapter.d.ts +19 -1
  41. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  42. package/dist/{measureFns-Ds3J7UUO.js → measureFns-CcednQHe.js} +3 -3
  43. package/dist/{measureFns-BPOctaKR.cjs → measureFns-_3tK7mBN.cjs} +3 -3
  44. package/dist/measurement.cjs +1 -1
  45. package/dist/measurement.js +1 -1
  46. package/dist/{meshFns-Ca8mKKuw.cjs → meshFns-6oVWvaGE.cjs} +2 -2
  47. package/dist/{meshFns-BEtVwyFx.js → meshFns-BIuX88EN.js} +2 -2
  48. package/dist/{occtWasmAdapter-Dtp7Wu27.js → occtWasmAdapter-COKB8ItA.js} +17 -2
  49. package/dist/{occtWasmAdapter-BaidTDJk.cjs → occtWasmAdapter-CdyaMnBW.cjs} +17 -2
  50. package/dist/operations.cjs +2 -2
  51. package/dist/operations.js +2 -2
  52. package/dist/{primitiveFns-DrEFUID3.cjs → primitiveFns-72G-cDZo.cjs} +7 -7
  53. package/dist/{primitiveFns-B7X8lTA2.js → primitiveFns-B0DKFED_.js} +7 -7
  54. package/dist/projection.cjs +1 -1
  55. package/dist/projection.js +1 -1
  56. package/dist/query.cjs +2 -2
  57. package/dist/query.js +2 -2
  58. package/dist/{shapeFns-DX8Wz5Rx.js → shapeFns-B1ThqSpi.js} +25 -9
  59. package/dist/{shapeFns-Kop1E0FF.cjs → shapeFns-D1LQT1YP.cjs} +25 -9
  60. package/dist/shapeRef.cjs +1 -1
  61. package/dist/shapeRef.js +1 -1
  62. package/dist/{shapeRefFns-D0nj1uv-.js → shapeRefFns-M9z1C2Te.js} +4 -4
  63. package/dist/{shapeRefFns-07fYc4Yf.cjs → shapeRefFns-_AmQNqEz.cjs} +4 -4
  64. package/dist/{shapeTypes-B4BMvuqz.cjs → shapeTypes-BXXHBHal.cjs} +1 -1
  65. package/dist/{shapeTypes-CO_7Vi7X.js → shapeTypes-DnYvZd61.js} +1 -1
  66. package/dist/sketching.cjs +3 -3
  67. package/dist/sketching.js +3 -3
  68. package/dist/{solidBuilders-uvsBuAfy.cjs → solidBuilders-BGzd3NKL.cjs} +2 -2
  69. package/dist/{solidBuilders-BvgLx1ih.js → solidBuilders-C4tUlAlA.js} +2 -2
  70. package/dist/{surfaceBuilders-CaZYe1HH.js → surfaceBuilders-Di8LHBU7.js} +2 -2
  71. package/dist/{surfaceBuilders-CqA8sgwW.cjs → surfaceBuilders-lVyiCPIU.cjs} +2 -2
  72. package/dist/text.cjs +2 -2
  73. package/dist/text.js +2 -2
  74. package/dist/{textBlueprints-DdjPsdpW.js → textBlueprints-BtPob4Le.js} +7 -7
  75. package/dist/{textBlueprints-CmsFcq_2.cjs → textBlueprints-hDFeOHnt.cjs} +7 -7
  76. package/dist/{textMetrics-Cp19LSq8.js → textMetrics-BAFPvbuw.js} +1 -1
  77. package/dist/{textMetrics-DX7bZOWD.cjs → textMetrics-_u9W8BcO.cjs} +1 -1
  78. package/dist/topology/metadata/originTrackingFns.d.ts +19 -3
  79. package/dist/topology.cjs +7 -7
  80. package/dist/topology.js +7 -7
  81. package/dist/{topologyQueryFns-AGfoGI2F.cjs → topologyQueryFns-DTVysRV-.cjs} +1 -1
  82. package/dist/{topologyQueryFns-BQefLP33.js → topologyQueryFns-mWrJgMdr.js} +1 -1
  83. package/package.json +3 -2
@@ -1,12 +1,12 @@
1
- import { Z as getKernel, p as isFace } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { Z as getKernel, p as isFace } from "./shapeTypes-DnYvZd61.js";
2
2
  import { A as ok, T as isOk, b as err, h as bug, o as queryError } from "./errors-BJSTLaDI.js";
3
- import { l as getVertices, o as getEdges, s as getFaces, u as getWires } from "./topologyQueryFns-BQefLP33.js";
3
+ import { l as getVertices, o as getEdges, s as getFaces, u as getWires } from "./topologyQueryFns-mWrJgMdr.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 { c as normalAt, o as getSurfaceType } from "./faceFns-Dc1Kz-42.js";
7
- import { a as isSameShape, n as getHashCode } from "./shapeFns-DX8Wz5Rx.js";
8
- import { a as curveLength, d as getCurveType, r as curveIsClosed } from "./curveFns-CEADb8UI.js";
9
- import { n as measureArea } from "./measureFns-Ds3J7UUO.js";
6
+ import { c as normalAt, o as getSurfaceType } from "./faceFns-Cfgrt9P9.js";
7
+ import { a as isSameShape, n as getHashCode } from "./shapeFns-B1ThqSpi.js";
8
+ import { a as curveLength, d as getCurveType, r as curveIsClosed } from "./curveFns-Dvtp5oZA.js";
9
+ import { n as measureArea } from "./measureFns-CcednQHe.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,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-B4BMvuqz.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BXXHBHal.cjs");
2
2
  const require_errors = require("./errors-DxoD7zgx.cjs");
3
3
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
4
- const require_faceFns = require("./faceFns-BEDI2Fht.cjs");
5
- const require_shapeFns = require("./shapeFns-Kop1E0FF.cjs");
6
- const require_booleanFns = require("./booleanFns-Desb54nK.cjs");
4
+ const require_faceFns = require("./faceFns-B5C-nw1v.cjs");
5
+ const require_shapeFns = require("./shapeFns-D1LQT1YP.cjs");
6
+ const require_booleanFns = require("./booleanFns-CLCbionN.cjs");
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,9 +1,9 @@
1
- import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { B as createKernelHandle, Z as getKernel, t as castShape } from "./shapeTypes-DnYvZd61.js";
2
2
  import { A as ok, b as err, d as validationError, n as computationError, r as ioError } from "./errors-BJSTLaDI.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-SKPRvPH-.js";
4
- import { v as fromBREP } from "./faceFns-Dc1Kz-42.js";
5
- import { s as toBREP } from "./shapeFns-DX8Wz5Rx.js";
6
- import { a as fuseAll } from "./booleanFns-CxAfvIV6.js";
4
+ import { v as fromBREP } from "./faceFns-Cfgrt9P9.js";
5
+ import { s as toBREP } from "./shapeFns-B1ThqSpi.js";
6
+ import { a as fuseAll } from "./booleanFns-lDauFalY.js";
7
7
  //#region src/utils/uuid.ts
8
8
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
9
9
  function uuidv() {
@@ -1,8 +1,8 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DnYvZd61.js";
2
2
  import { n as wasmIndex, t as vec3At$1 } from "./vec3-Dpha8d5k.js";
3
3
  import { A as ok, b as err, r as ioError, t as BrepErrorCode } from "./errors-BJSTLaDI.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-CJh2IXNN.js";
5
+ import { f as make2dSegmentCurve, m as make2dThreePointArc, s as make2dBezierCurve, t as Blueprint } from "./blueprint-CNczvCJD.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) {
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-B4BMvuqz.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BXXHBHal.cjs");
2
2
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
3
3
  const require_errors = require("./errors-DxoD7zgx.cjs");
4
4
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
5
- const require_blueprint = require("./blueprint-BSFmbDGk.cjs");
5
+ const require_blueprint = require("./blueprint-CDjFNsmN.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-Ca8mKKuw.cjs");
3
- const require_importFns = require("./importFns-C7e3yWGT.cjs");
2
+ const require_meshFns = require("./meshFns-6oVWvaGE.cjs");
3
+ const require_importFns = require("./importFns-CJggKtP3.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-BEtVwyFx.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-BLptAND5.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-BIuX88EN.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-B7R0bXrT.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -2,7 +2,7 @@
2
2
  * Type-safe interface for the brepkit WASM kernel (`BrepKernel`).
3
3
  *
4
4
  * AUTO-GENERATED by `npm run sync:brepkit-types`.
5
- * Synced against `brepkit-wasm@2.101.1`.
5
+ * Synced against `brepkit-wasm@2.101.2`.
6
6
  *
7
7
  * Methods not yet referenced in the adapter layer are tagged `@unwired`.
8
8
  *
@@ -298,15 +298,15 @@ export interface BrepkitKernel {
298
298
  /** @unwired */
299
299
  toBrepJson(solid: number): string;
300
300
  transformFace(face: number, matrix: Float64Array | number[]): void;
301
- /** @future Not in brepkit-wasm 2.101.1. Referenced with feature detection in adapter. */
301
+ /** @future Not in brepkit-wasm 2.101.2. Referenced with feature detection in adapter. */
302
302
  chamferAsymmetric?(solid: number, edgeHandles: Uint32Array | number[], d1: number, d2: number): number;
303
- /** @future Not in brepkit-wasm 2.101.1. Referenced with feature detection in adapter. */
303
+ /** @future Not in brepkit-wasm 2.101.2. Referenced with feature detection in adapter. */
304
304
  compoundFuse?(solidIds: Uint32Array | number[]): number;
305
- /** @future Not in brepkit-wasm 2.101.1. Referenced with feature detection in adapter. */
305
+ /** @future Not in brepkit-wasm 2.101.2. Referenced with feature detection in adapter. */
306
306
  copyEdge?(edge: number): number;
307
- /** @future Not in brepkit-wasm 2.101.1. Referenced with feature detection in adapter. */
307
+ /** @future Not in brepkit-wasm 2.101.2. Referenced with feature detection in adapter. */
308
308
  transformEdge?(edge: number, matrix: Float64Array | number[]): void;
309
- /** @future Not in brepkit-wasm 2.101.1. Referenced with feature detection in adapter. */
309
+ /** @future Not in brepkit-wasm 2.101.2. Referenced with feature detection in adapter. */
310
310
  validateSolidDetails?(solid: number): string;
311
311
  /** Release the entire arena. */
312
312
  free(): void;
@@ -1,3 +1,3 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_occtWasmAdapter = require("../../occtWasmAdapter-BaidTDJk.cjs");
2
+ const require_occtWasmAdapter = require("../../occtWasmAdapter-CdyaMnBW.cjs");
3
3
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
@@ -3,12 +3,30 @@ import { BulkMeasurement } from '../interfaces/measureOps.js';
3
3
  import { TransformEntry } from '../interfaces/transformOps.js';
4
4
  import { Curve2dHandle, BBox2dHandle } from '../kernel2dTypes.js';
5
5
  import { OcctWasmModule, OcctKernelWasm } from './occtWasmTypes.js';
6
+ /**
7
+ * Minimal view of occt-wasm's `OcctKernel` wrapper — anything exposing the raw
8
+ * Embind module and kernel. Accepted by {@link OcctWasmAdapter.fromKernel}.
9
+ */
10
+ export interface OcctKernelOwner {
11
+ getRawModule(): OcctWasmModule;
12
+ getRawKernel(): OcctKernelWasm;
13
+ }
6
14
  export declare class OcctWasmAdapter implements KernelAdapter {
7
15
  readonly oc: KernelInstance;
8
16
  readonly kernelId = "occt-wasm";
9
17
  private readonly Module;
10
18
  private readonly k;
11
- constructor(module: OcctWasmModule, kernel: OcctKernelWasm);
19
+ private readonly owner;
20
+ constructor(module: OcctWasmModule, kernel: OcctKernelWasm, owner?: OcctKernelOwner);
21
+ /**
22
+ * Build an adapter from occt-wasm's `OcctKernel` wrapper, retaining it for the
23
+ * adapter's lifetime. Prefer this over the raw `(module, kernel)` constructor:
24
+ * the wrapper deletes its raw kernel when garbage-collected, so an adapter that
25
+ * only borrows the raw kernel can be left pointing at freed memory.
26
+ */
27
+ static fromKernel(kernel: OcctKernelOwner): OcctWasmAdapter;
28
+ /** The owner retained to keep the borrowed raw kernel alive, or `undefined` when built from a raw kernel. */
29
+ get retainedKernelOwner(): OcctKernelOwner | undefined;
12
30
  dispose(h: {
13
31
  delete(): void;
14
32
  }): void;
@@ -1,2 +1,2 @@
1
- import { t as OcctWasmAdapter } from "../../occtWasmAdapter-Dtp7Wu27.js";
1
+ import { t as OcctWasmAdapter } from "../../occtWasmAdapter-COKB8ItA.js";
2
2
  export { OcctWasmAdapter };
@@ -1,7 +1,7 @@
1
- import { Z as getKernel } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { Z as getKernel } from "./shapeTypes-DnYvZd61.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-BJSTLaDI.js";
3
- import { v as kernelCallRaw } from "./topologyQueryFns-BQefLP33.js";
4
- import { p as uvBounds } from "./faceFns-Dc1Kz-42.js";
3
+ import { v as kernelCallRaw } from "./topologyQueryFns-mWrJgMdr.js";
4
+ import { p as uvBounds } from "./faceFns-Cfgrt9P9.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-B4BMvuqz.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BXXHBHal.cjs");
2
2
  const require_errors = require("./errors-DxoD7zgx.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-AGfoGI2F.cjs");
4
- const require_faceFns = require("./faceFns-BEDI2Fht.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DTVysRV-.cjs");
4
+ const require_faceFns = require("./faceFns-B5C-nw1v.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-BPOctaKR.cjs");
2
+ const require_measureFns = require("./measureFns-_3tK7mBN.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-Ds3J7UUO.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-CcednQHe.js";
2
2
  export { createDistanceQuery, measureArea, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps };
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-B4BMvuqz.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BXXHBHal.cjs");
2
2
  const require_errors = require("./errors-DxoD7zgx.cjs");
3
- const require_shapeFns = require("./shapeFns-Kop1E0FF.cjs");
3
+ const require_shapeFns = require("./shapeFns-D1LQT1YP.cjs");
4
4
  //#region src/topology/meshCache.ts
5
5
  /**
6
6
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -1,6 +1,6 @@
1
- import { Z as getKernel } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { Z as getKernel } from "./shapeTypes-DnYvZd61.js";
2
2
  import { A as ok, b as err, r as ioError } from "./errors-BJSTLaDI.js";
3
- import { O as getFaceOrigins } from "./shapeFns-DX8Wz5Rx.js";
3
+ import { O as getFaceOrigins } from "./shapeFns-B1ThqSpi.js";
4
4
  //#region src/topology/meshCache.ts
5
5
  /**
6
6
  * Build a parameter key for the inner cache map (excludes shape identity).
@@ -3812,15 +3812,30 @@ function hullFromPoints(k, Module, points, tolerance) {
3812
3812
  function notImplemented(method) {
3813
3813
  throw new Error(`occt-wasm: ${method} is not yet implemented`);
3814
3814
  }
3815
- var OcctWasmAdapter = class {
3815
+ var OcctWasmAdapter = class OcctWasmAdapter {
3816
3816
  oc;
3817
3817
  kernelId = "occt-wasm";
3818
3818
  Module;
3819
3819
  k;
3820
- constructor(module, kernel) {
3820
+ owner;
3821
+ constructor(module, kernel, owner) {
3821
3822
  this.Module = module;
3822
3823
  this.k = wrapKernelExceptions(kernel, module);
3823
3824
  this.oc = buildOcShim(module, this.k);
3825
+ this.owner = owner;
3826
+ }
3827
+ /**
3828
+ * Build an adapter from occt-wasm's `OcctKernel` wrapper, retaining it for the
3829
+ * adapter's lifetime. Prefer this over the raw `(module, kernel)` constructor:
3830
+ * the wrapper deletes its raw kernel when garbage-collected, so an adapter that
3831
+ * only borrows the raw kernel can be left pointing at freed memory.
3832
+ */
3833
+ static fromKernel(kernel) {
3834
+ return new OcctWasmAdapter(kernel.getRawModule(), kernel.getRawKernel(), kernel);
3835
+ }
3836
+ /** The owner retained to keep the borrowed raw kernel alive, or `undefined` when built from a raw kernel. */
3837
+ get retainedKernelOwner() {
3838
+ return this.owner;
3824
3839
  }
3825
3840
  dispose(h) {
3826
3841
  if (isOcctWasmHandle(h)) this.k.release(h.id);
@@ -3812,15 +3812,30 @@ function hullFromPoints(k, Module, points, tolerance) {
3812
3812
  function notImplemented(method) {
3813
3813
  throw new Error(`occt-wasm: ${method} is not yet implemented`);
3814
3814
  }
3815
- var OcctWasmAdapter = class {
3815
+ var OcctWasmAdapter = class OcctWasmAdapter {
3816
3816
  oc;
3817
3817
  kernelId = "occt-wasm";
3818
3818
  Module;
3819
3819
  k;
3820
- constructor(module, kernel) {
3820
+ owner;
3821
+ constructor(module, kernel, owner) {
3821
3822
  this.Module = module;
3822
3823
  this.k = wrapKernelExceptions(kernel, module);
3823
3824
  this.oc = buildOcShim(module, this.k);
3825
+ this.owner = owner;
3826
+ }
3827
+ /**
3828
+ * Build an adapter from occt-wasm's `OcctKernel` wrapper, retaining it for the
3829
+ * adapter's lifetime. Prefer this over the raw `(module, kernel)` constructor:
3830
+ * the wrapper deletes its raw kernel when garbage-collected, so an adapter that
3831
+ * only borrows the raw kernel can be left pointing at freed memory.
3832
+ */
3833
+ static fromKernel(kernel) {
3834
+ return new OcctWasmAdapter(kernel.getRawModule(), kernel.getRawKernel(), kernel);
3835
+ }
3836
+ /** The owner retained to keep the borrowed raw kernel alive, or `undefined` when built from a raw kernel. */
3837
+ get retainedKernelOwner() {
3838
+ return this.owner;
3824
3839
  }
3825
3840
  dispose(h) {
3826
3841
  if (isOcctWasmHandle(h)) this.k.release(h.id);
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_historyFns = require("./historyFns-CSHLpJK2.cjs");
3
- const require_extrudeFns = require("./extrudeFns-Byjh14Mh.cjs");
2
+ const require_historyFns = require("./historyFns-BDy3Iq3O.cjs");
3
+ const require_extrudeFns = require("./extrudeFns-Bab5Fw_k.cjs");
4
4
  exports.addChild = require_historyFns.addChild;
5
5
  exports.addStep = require_historyFns.addStep;
6
6
  exports.circularPattern = require_historyFns.circularPattern;
@@ -1,3 +1,3 @@
1
- import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-s38GJ8vm.js";
2
- import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-OvEEZRiI.js";
1
+ import { C as walkAssembly, D as exportAssemblySTEP, E as linearPattern, O as createAssembly, S as updateNode, T as gridPattern, _ as collectShapes, a as findStep, b as findNode, c as registerOperation, d as replayHistory, g as addChild, h as undoLast, l as registerShape, m as stepsFrom, n as createHistory, o as getShape, p as stepCount, r as createRegistry, s as modifyStep, t as addStep, u as replayFrom, v as countNodes, w as circularPattern, x as removeChild, y as createAssemblyNode } from "./historyFns-qZaNV5QN.js";
2
+ import { c as sweep, i as complexExtrude, l as twistExtrude, s as supportExtrude } from "./extrudeFns-CE8C7QRv.js";
3
3
  export { addChild, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, exportAssemblySTEP, findNode, findStep, getShape as getHistoryShape, gridPattern, linearPattern, modifyStep, registerOperation, registerShape, removeChild, replayFrom, replayHistory, stepCount, stepsFrom, supportExtrude, sweep, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,13 +1,13 @@
1
- const require_shapeTypes = require("./shapeTypes-B4BMvuqz.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BXXHBHal.cjs");
2
2
  const require_errors = require("./errors-DxoD7zgx.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-AGfoGI2F.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DTVysRV-.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_faceFns = require("./faceFns-BEDI2Fht.cjs");
6
- const require_shapeFns = require("./shapeFns-Kop1E0FF.cjs");
5
+ const require_faceFns = require("./faceFns-B5C-nw1v.cjs");
6
+ const require_shapeFns = require("./shapeFns-D1LQT1YP.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_surfaceBuilders = require("./surfaceBuilders-CqA8sgwW.cjs");
9
- const require_booleanFns = require("./booleanFns-Desb54nK.cjs");
10
- const require_solidBuilders = require("./solidBuilders-uvsBuAfy.cjs");
8
+ const require_surfaceBuilders = require("./surfaceBuilders-lVyiCPIU.cjs");
9
+ const require_booleanFns = require("./booleanFns-CLCbionN.cjs");
10
+ const require_solidBuilders = require("./solidBuilders-BGzd3NKL.cjs");
11
11
  //#region src/topology/threeHelpers.ts
12
12
  /**
13
13
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,13 +1,13 @@
1
- import { Z as getKernel, _ as isSolid, c as createSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, x as isClosedWire, y as isWire } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { Z as getKernel, _ as isSolid, c as createSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, x as isClosedWire, y as isWire } from "./shapeTypes-DnYvZd61.js";
2
2
  import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, v as andThen, w as isErr } from "./errors-BJSTLaDI.js";
3
- import { c as getOrCreateCache, d as invalidateShapeCache, i as getCachedIsValid, o as getEdges, s as getFaces, u as getWires } from "./topologyQueryFns-BQefLP33.js";
3
+ import { c as getOrCreateCache, d as invalidateShapeCache, i as getCachedIsValid, o as getEdges, s as getFaces, u as getWires } from "./topologyQueryFns-mWrJgMdr.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
- import { _ as downcast } from "./faceFns-Dc1Kz-42.js";
6
- import { _ as propagateAllMetadata, g as collectInputFaceHashes, h as translate } from "./shapeFns-DX8Wz5Rx.js";
5
+ import { _ as downcast } from "./faceFns-Cfgrt9P9.js";
6
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes, h as translate } from "./shapeFns-B1ThqSpi.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- 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-CaZYe1HH.js";
9
- import { a as fuseAll, i as fuse, n as cut, r as cutAll } from "./booleanFns-CxAfvIV6.js";
10
- 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-BvgLx1ih.js";
8
+ 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-Di8LHBU7.js";
9
+ import { a as fuseAll, i as fuse, n as cut, r as cutAll } from "./booleanFns-lDauFalY.js";
10
+ 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-C4tUlAlA.js";
11
11
  //#region src/topology/threeHelpers.ts
12
12
  /**
13
13
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns-mhPem8JC.cjs");
2
+ const require_cameraFns = require("./cameraFns-nPL5-xZH.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-DVDMA2YA.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-Byav4AXt.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-NRiahAyk.cjs");
3
- const require_cornerFinder = require("./cornerFinder-nW2FYBmk.cjs");
2
+ const require_helpers = require("./helpers-C7wSoEZ6.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-DPlpHmJl.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-CybYLoG5.js";
2
- import { t as cornerFinder } from "./cornerFinder-C9sHooms.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-Cy-JYZot.js";
2
+ import { t as cornerFinder } from "./cornerFinder-CifMFbIN.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CO_7Vi7X.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DnYvZd61.js";
2
2
  import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-BJSTLaDI.js";
3
- import { _ as kernelCall, c as getOrCreateCache, r as getCacheEntry, s as getFaces, v as kernelCallRaw } from "./topologyQueryFns-BQefLP33.js";
3
+ import { _ as kernelCall, c as getOrCreateCache, r as getCacheEntry, s as getFaces, v as kernelCallRaw } from "./topologyQueryFns-mWrJgMdr.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -75,9 +75,25 @@ function findBestOriginMatch(outNormal, outCentroid, inputSigs) {
75
75
  return bestOrigin;
76
76
  }
77
77
  /**
78
- * Fallback origin propagation when no kernel op object is available.
79
- * Matches result faces to input faces by hash code first; if no hash matches
80
- * are found, falls back to geometric matching (normal + centroid comparison).
78
+ * Fallback origin propagation when no kernel op object is available
79
+ * (native `fuseAll` / `cutAll`, which expose no ShapeEvolution record).
80
+ *
81
+ * Matches result faces to input faces by hash code first. Faces that pass
82
+ * through the boolean unchanged keep their hash and recover their origin
83
+ * directly. Faces the boolean *regenerates* (split, merged, or re-created at
84
+ * the intersection) get a fresh hash that matches no input — these fall back
85
+ * to geometric matching (normal + centroid) against the input face
86
+ * signatures.
87
+ *
88
+ * The geometric pass runs for every unmatched face, not only when the hash
89
+ * pass found nothing. A partial hash match is the common case for additive
90
+ * features (pass-through side walls match by hash; the surfaces where the
91
+ * tool meets the body — feature tops, flush walls — are regenerated and need
92
+ * the geometric pass). Gating the fallback on "zero hash matches" left those
93
+ * regenerated faces with no origin, so they fell back to 0 (body) at mesh
94
+ * time — the multi-color export bug where a scoop/label/lip top printed in
95
+ * the body color. Matching against the full signature set (body origin 0
96
+ * included) keeps body faces body and feature faces feature.
81
97
  */
82
98
  function propagateOriginsByHash(inputs, result) {
83
99
  const lookup = /* @__PURE__ */ new Map();
@@ -90,13 +106,14 @@ function propagateOriginsByHash(inputs, result) {
90
106
  const kernel = getKernel();
91
107
  const resultMap = /* @__PURE__ */ new Map();
92
108
  const resultFaces = getFaces(result);
109
+ const unmatched = [];
93
110
  for (const f of resultFaces) {
94
111
  const hash = kernel.hashCode(f.wrapped, HASH_CODE_MAX);
95
112
  const origin = lookup.get(hash);
96
113
  if (origin !== void 0) resultMap.set(hash, origin);
114
+ else unmatched.push(f);
97
115
  }
98
- /* v8 ignore start */
99
- if (resultMap.size === 0) {
116
+ if (unmatched.length > 0) {
100
117
  const inputSigs = [];
101
118
  for (const input of inputs) {
102
119
  const origins = getFaceOrigins(input);
@@ -117,7 +134,7 @@ function propagateOriginsByHash(inputs, result) {
117
134
  } catch {}
118
135
  }
119
136
  }
120
- if (inputSigs.length > 0) for (const f of resultFaces) {
137
+ if (inputSigs.length > 0) for (const f of unmatched) {
121
138
  const hash = kernel.hashCode(f.wrapped, HASH_CODE_MAX);
122
139
  try {
123
140
  const outBounds = kernel.uvBounds(f.wrapped);
@@ -126,7 +143,6 @@ function propagateOriginsByHash(inputs, result) {
126
143
  } catch {}
127
144
  }
128
145
  }
129
- /* v8 ignore stop */
130
146
  if (resultMap.size > 0) {
131
147
  const cache = getOrCreateCache(result);
132
148
  cache.faceOrigins = resultMap;
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-B4BMvuqz.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-BXXHBHal.cjs");
2
2
  const require_errors = require("./errors-DxoD7zgx.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-AGfoGI2F.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DTVysRV-.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/metadata/originTrackingFns.ts
6
6
  /**
@@ -75,9 +75,25 @@ function findBestOriginMatch(outNormal, outCentroid, inputSigs) {
75
75
  return bestOrigin;
76
76
  }
77
77
  /**
78
- * Fallback origin propagation when no kernel op object is available.
79
- * Matches result faces to input faces by hash code first; if no hash matches
80
- * are found, falls back to geometric matching (normal + centroid comparison).
78
+ * Fallback origin propagation when no kernel op object is available
79
+ * (native `fuseAll` / `cutAll`, which expose no ShapeEvolution record).
80
+ *
81
+ * Matches result faces to input faces by hash code first. Faces that pass
82
+ * through the boolean unchanged keep their hash and recover their origin
83
+ * directly. Faces the boolean *regenerates* (split, merged, or re-created at
84
+ * the intersection) get a fresh hash that matches no input — these fall back
85
+ * to geometric matching (normal + centroid) against the input face
86
+ * signatures.
87
+ *
88
+ * The geometric pass runs for every unmatched face, not only when the hash
89
+ * pass found nothing. A partial hash match is the common case for additive
90
+ * features (pass-through side walls match by hash; the surfaces where the
91
+ * tool meets the body — feature tops, flush walls — are regenerated and need
92
+ * the geometric pass). Gating the fallback on "zero hash matches" left those
93
+ * regenerated faces with no origin, so they fell back to 0 (body) at mesh
94
+ * time — the multi-color export bug where a scoop/label/lip top printed in
95
+ * the body color. Matching against the full signature set (body origin 0
96
+ * included) keeps body faces body and feature faces feature.
81
97
  */
82
98
  function propagateOriginsByHash(inputs, result) {
83
99
  const lookup = /* @__PURE__ */ new Map();
@@ -90,13 +106,14 @@ function propagateOriginsByHash(inputs, result) {
90
106
  const kernel = require_shapeTypes.getKernel();
91
107
  const resultMap = /* @__PURE__ */ new Map();
92
108
  const resultFaces = require_topologyQueryFns.getFaces(result);
109
+ const unmatched = [];
93
110
  for (const f of resultFaces) {
94
111
  const hash = kernel.hashCode(f.wrapped, require_constants.HASH_CODE_MAX);
95
112
  const origin = lookup.get(hash);
96
113
  if (origin !== void 0) resultMap.set(hash, origin);
114
+ else unmatched.push(f);
97
115
  }
98
- /* v8 ignore start */
99
- if (resultMap.size === 0) {
116
+ if (unmatched.length > 0) {
100
117
  const inputSigs = [];
101
118
  for (const input of inputs) {
102
119
  const origins = getFaceOrigins(input);
@@ -117,7 +134,7 @@ function propagateOriginsByHash(inputs, result) {
117
134
  } catch {}
118
135
  }
119
136
  }
120
- if (inputSigs.length > 0) for (const f of resultFaces) {
137
+ if (inputSigs.length > 0) for (const f of unmatched) {
121
138
  const hash = kernel.hashCode(f.wrapped, require_constants.HASH_CODE_MAX);
122
139
  try {
123
140
  const outBounds = kernel.uvBounds(f.wrapped);
@@ -126,7 +143,6 @@ function propagateOriginsByHash(inputs, result) {
126
143
  } catch {}
127
144
  }
128
145
  }
129
- /* v8 ignore stop */
130
146
  if (resultMap.size > 0) {
131
147
  const cache = require_topologyQueryFns.getOrCreateCache(result);
132
148
  cache.faceOrigins = resultMap;
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeRefFns = require("./shapeRefFns-07fYc4Yf.cjs");
2
+ const require_shapeRefFns = require("./shapeRefFns-_AmQNqEz.cjs");
3
3
  exports.assignRoles = require_shapeRefFns.assignRoles;
4
4
  exports.captureHint = require_shapeRefFns.captureHint;
5
5
  exports.createRef = require_shapeRefFns.createRef;
package/dist/shapeRef.js CHANGED
@@ -1,2 +1,2 @@
1
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-D0nj1uv-.js";
1
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-M9z1C2Te.js";
2
2
  export { assignRoles, captureHint, createRef, defaultScorer, resolveRef, updateRoles };
@@ -1,8 +1,8 @@
1
1
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
2
- import { s as getFaces } from "./topologyQueryFns-BQefLP33.js";
3
- import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-Dc1Kz-42.js";
4
- import { n as getHashCode } from "./shapeFns-DX8Wz5Rx.js";
5
- import { n as measureArea } from "./measureFns-Ds3J7UUO.js";
2
+ import { s as getFaces } from "./topologyQueryFns-mWrJgMdr.js";
3
+ import { c as normalAt, n as faceCenter, r as faceGeomType } from "./faceFns-Cfgrt9P9.js";
4
+ import { n as getHashCode } from "./shapeFns-B1ThqSpi.js";
5
+ import { n as measureArea } from "./measureFns-CcednQHe.js";
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,8 +1,8 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-AGfoGI2F.cjs");
3
- const require_faceFns = require("./faceFns-BEDI2Fht.cjs");
4
- const require_shapeFns = require("./shapeFns-Kop1E0FF.cjs");
5
- const require_measureFns = require("./measureFns-BPOctaKR.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-DTVysRV-.cjs");
3
+ const require_faceFns = require("./faceFns-B5C-nw1v.cjs");
4
+ const require_shapeFns = require("./shapeFns-D1LQT1YP.cjs");
5
+ const require_measureFns = require("./measureFns-_3tK7mBN.cjs");
6
6
  //#region src/topology/shapeRef/scoring.ts
7
7
  /**
8
8
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,5 +1,5 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
- const require_occtWasmAdapter = require("./occtWasmAdapter-BaidTDJk.cjs");
2
+ const require_occtWasmAdapter = require("./occtWasmAdapter-CdyaMnBW.cjs");
3
3
  const require_errors = require("./errors-DxoD7zgx.cjs");
4
4
  //#region src/kernel/kernel2dTypes.ts
5
5
  /** Check if the kernel supports 2D geometry operations. */
@@ -1,5 +1,5 @@
1
1
  import { n as wasmIndex, t as vec3At } from "./vec3-Dpha8d5k.js";
2
- import { _ as serializeCurve2d$2, a as curveTypeName, c as intersectCurves2dFn, d as makeEllipse2d$2, f as makeLine2d$2, g as scaleCurve2d$2, h as rotateCurve2d$2, i as curveBounds, l as makeBezier2d$2, m as mirrorAtPoint, n as addCurveToBBox, o as deserializeCurve2d$2, p as mirrorAcrossAxis, r as createBBox2d, s as evaluateCurve2d$2, u as makeCircle2d$2, v as tangentCurve2d, y as translateCurve2d$2 } from "./occtWasmAdapter-Dtp7Wu27.js";
2
+ import { _ as serializeCurve2d$2, a as curveTypeName, c as intersectCurves2dFn, d as makeEllipse2d$2, f as makeLine2d$2, g as scaleCurve2d$2, h as rotateCurve2d$2, i as curveBounds, l as makeBezier2d$2, m as mirrorAtPoint, n as addCurveToBBox, o as deserializeCurve2d$2, p as mirrorAcrossAxis, r as createBBox2d, s as evaluateCurve2d$2, u as makeCircle2d$2, v as tangentCurve2d, y as translateCurve2d$2 } from "./occtWasmAdapter-COKB8ItA.js";
3
3
  import { A as ok, b as err } from "./errors-BJSTLaDI.js";
4
4
  //#region src/kernel/kernel2dTypes.ts
5
5
  /** Check if the kernel supports 2D geometry operations. */
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-CmsFcq_2.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-CW82NmX7.cjs");
4
- const require_drawFns = require("./drawFns-CyqV9IOf.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-hDFeOHnt.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-C1zl__qM.cjs");
4
+ const require_drawFns = require("./drawFns-uS1tM6dz.cjs");
5
5
  //#region src/sketching.ts
6
6
  /**
7
7
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.