brepjs 19.0.3 → 19.0.5

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 (88) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-Cuqqg_9C.js → adjacencyFns-BFgzaWom.js} +40 -6
  4. package/dist/{adjacencyFns-D1sYXJUk.cjs → adjacencyFns-CZ8tOKo6.cjs} +40 -6
  5. package/dist/{blueprint-BeuiC2jB.js → blueprint-CuE8oS8o.js} +5 -5
  6. package/dist/{blueprint-DbMLINgb.cjs → blueprint-Pd5C9eyi.cjs} +5 -5
  7. package/dist/{blueprintFns-JT9_SPeA.js → blueprintFns-DeK5m2Dd.js} +2 -2
  8. package/dist/{blueprintFns-CtpFK_Qe.cjs → blueprintFns-Jt8aabnr.cjs} +2 -2
  9. package/dist/{blueprintSketcher-Dedw15H1.cjs → blueprintSketcher-BbbIIw68.cjs} +3 -3
  10. package/dist/{blueprintSketcher-Dr5-ITBw.js → blueprintSketcher-s1mCyP4C.js} +3 -3
  11. package/dist/{boolean2D-Dktt8ed6.cjs → boolean2D-B5-s6yey.cjs} +4 -4
  12. package/dist/{boolean2D-D1EzLW3j.js → boolean2D-XkF5a9UO.js} +4 -4
  13. package/dist/brepjs.cjs +30 -28
  14. package/dist/brepjs.js +30 -29
  15. package/dist/{cameraFns-D59FeXIj.js → cameraFns-C42m8_GN.js} +3 -3
  16. package/dist/{cameraFns-CKl-ZLoM.cjs → cameraFns-C_aXHOXb.cjs} +3 -3
  17. package/dist/core/cleanupError.d.ts +9 -0
  18. package/dist/core/shapeTypes.d.ts +2 -0
  19. package/dist/core.cjs +3 -2
  20. package/dist/core.d.ts +1 -0
  21. package/dist/core.js +3 -3
  22. package/dist/{cornerFinder-Cq-kBDcR.js → cornerFinder-B5uO-_nX.js} +1 -1
  23. package/dist/{cornerFinder-CLEHlBMf.cjs → cornerFinder-BSHr_G27.cjs} +1 -1
  24. package/dist/{curveFns-DXMlN84x.cjs → curveFns-BRhVbssu.cjs} +1 -1
  25. package/dist/{curveFns-CIyfCLCt.js → curveFns-xQNPUc23.js} +1 -1
  26. package/dist/{drawFns-BaGbMy6K.cjs → drawFns-ByfPdMin.cjs} +12 -12
  27. package/dist/{drawFns-Dr9iCrbh.js → drawFns-S-UBDz0z.js} +12 -12
  28. package/dist/{faceFns-qnvwgyaw.cjs → faceFns-BbkcUym2.cjs} +2 -2
  29. package/dist/{faceFns-2wV1msnQ.js → faceFns-WhbyFezr.js} +2 -2
  30. package/dist/{healingFns-BSHqLCOx.cjs → healingFns-CxWU6nqI.cjs} +4 -4
  31. package/dist/{healingFns-J_O-YEpl.js → healingFns-sTD9eRIy.js} +4 -4
  32. package/dist/{helpers-YWE4RECX.cjs → helpers-HXscoErf.cjs} +6 -6
  33. package/dist/{helpers-DHU9mCM7.js → helpers-m7uW_dyL.js} +6 -6
  34. package/dist/{importFns-DF9TqvQt.cjs → importFns-BUiDmbn7.cjs} +2 -2
  35. package/dist/{importFns-BHmZYBBq.js → importFns-C9yuTs04.js} +2 -2
  36. package/dist/index.d.ts +1 -0
  37. package/dist/io.cjs +2 -2
  38. package/dist/io.js +2 -2
  39. package/dist/kernel/manifold/kernel2dNative.d.ts +1 -1
  40. package/dist/{loftFns-B9-6-lOQ.cjs → loftFns-BUtmwfSU.cjs} +1 -1
  41. package/dist/{loftFns-qB9Ek9-L.js → loftFns-oiR_wtVd.js} +1 -1
  42. package/dist/{measureFns-CCd5bBnv.js → measureFns-B2-vw7XG.js} +3 -3
  43. package/dist/{measureFns-DU8x4zPn.cjs → measureFns-BX7yvMB_.cjs} +3 -3
  44. package/dist/measurement.cjs +1 -1
  45. package/dist/measurement.js +1 -1
  46. package/dist/{meshFns-DvDybgNn.js → meshFns-13CekW14.js} +3 -3
  47. package/dist/{meshFns-DkMiqcvB.cjs → meshFns-DFhnm9DB.cjs} +3 -3
  48. package/dist/operations.cjs +2 -2
  49. package/dist/operations.js +2 -2
  50. package/dist/{originTrackingFns-Bm7CD2oW.cjs → originTrackingFns-B1dazHMg.cjs} +2 -2
  51. package/dist/{originTrackingFns-j2je8lQv.js → originTrackingFns-DYB8oZOX.js} +2 -2
  52. package/dist/{primitiveFns-C-rBAvgV.cjs → primitiveFns-BdM2vG17.cjs} +38 -10
  53. package/dist/{primitiveFns-itCYAzxU.js → primitiveFns-DjKUrsMr.js} +38 -10
  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/{refResolveFns-DTZoqjRs.js → refResolveFns-BhN6_Z7B.js} +6 -6
  59. package/dist/{refResolveFns-CxIokx3w.cjs → refResolveFns-IdHk_1vT.cjs} +6 -6
  60. package/dist/{shapeFns-B_GAp2z3.js → shapeFns-B2Xg4Xom.js} +2 -2
  61. package/dist/{shapeFns-FzE1ivNh.cjs → shapeFns-D6EjojPG.cjs} +2 -2
  62. package/dist/shapeRef.cjs +1 -1
  63. package/dist/shapeRef.js +1 -1
  64. package/dist/{shapeTypes-CIMiWenj.js → shapeTypes-2oI77VpW.js} +75 -11
  65. package/dist/{shapeTypes-DZZldFUS.cjs → shapeTypes-GoRBg9oo.cjs} +80 -10
  66. package/dist/sketching.cjs +3 -3
  67. package/dist/sketching.js +3 -3
  68. package/dist/{solidBuilders-x5Bz2ELQ.cjs → solidBuilders-BDwUKmVl.cjs} +51 -26
  69. package/dist/{solidBuilders-DKwoY2nP.js → solidBuilders-Buze6qct.js} +50 -25
  70. package/dist/{surfaceBuilders-CHfC8AUd.js → surfaceBuilders-DcD6eAJW.js} +3 -3
  71. package/dist/{surfaceBuilders-B9llhfrz.cjs → surfaceBuilders-rWRvkB_K.cjs} +3 -3
  72. package/dist/text.cjs +2 -2
  73. package/dist/text.js +2 -2
  74. package/dist/{textBlueprints-D6csroh5.cjs → textBlueprints-DoePacWO.cjs} +7 -7
  75. package/dist/{textBlueprints-B3cJhqsf.js → textBlueprints-lFyk_adY.js} +7 -7
  76. package/dist/{textMetrics-B_Js6IoN.js → textMetrics-CmAlcFpe.js} +1 -1
  77. package/dist/{textMetrics-sApnOuwi.cjs → textMetrics-DemtrM-e.cjs} +1 -1
  78. package/dist/{threadFns-iR-yK8rr.js → threadFns-C1EWB5h6.js} +7 -7
  79. package/dist/{threadFns-52YHK9wK.cjs → threadFns-DzoOHczW.cjs} +7 -7
  80. package/dist/topology/api.d.ts +2 -1
  81. package/dist/topology/transformFns.d.ts +2 -1
  82. package/dist/topology.cjs +9 -9
  83. package/dist/topology.js +9 -9
  84. package/dist/{topologyQueryFns-Dp_LqPFF.js → topologyQueryFns-C2tBjzT8.js} +1 -1
  85. package/dist/{topologyQueryFns-DYslfber.cjs → topologyQueryFns-CZAfuhOE.cjs} +1 -1
  86. package/dist/{validityTypes-BqJb23o4.js → validityTypes-BAwJuMQB.js} +1 -1
  87. package/dist/{validityTypes-BYnGyL8L.cjs → validityTypes-rPudJ_eg.cjs} +1 -1
  88. package/package.json +7 -7
package/dist/2d.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-DZZldFUS.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-GoRBg9oo.cjs");
3
3
  const require_errors = require("./errors-DWezb9DI.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-DYslfber.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-Dedw15H1.cjs");
6
- const require_blueprint = require("./blueprint-DbMLINgb.cjs");
7
- const require_boolean2D = require("./boolean2D-Dktt8ed6.cjs");
8
- const require_blueprintFns = require("./blueprintFns-CtpFK_Qe.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-CZAfuhOE.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-BbbIIw68.cjs");
6
+ const require_blueprint = require("./blueprint-Pd5C9eyi.cjs");
7
+ const require_boolean2D = require("./boolean2D-B5-s6yey.cjs");
8
+ const require_blueprintFns = require("./blueprintFns-Jt8aabnr.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
- import { P as createKernelHandle, c as createEdge, q as getKernel2D } from "./shapeTypes-CIMiWenj.js";
1
+ import { F as createKernelHandle, J as getKernel2D, c as createEdge } from "./shapeTypes-2oI77VpW.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-Dp_LqPFF.js";
4
- import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-Dr5-ITBw.js";
5
- import { t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-BeuiC2jB.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-D1EzLW3j.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-JT9_SPeA.js";
3
+ import { T as kernelCallRaw } from "./topologyQueryFns-C2tBjzT8.js";
4
+ import { a as Blueprints, i as CompoundBlueprint, r as organiseBlueprints } from "./blueprintSketcher-s1mCyP4C.js";
5
+ import { t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-CuE8oS8o.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-XkF5a9UO.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-DeK5m2Dd.js";
8
8
  //#region src/core/curve2dHandle.ts
9
9
  /**
10
10
  * Wrap a raw kernel 2D curve handle with brand + disposal tracking.
@@ -1,6 +1,6 @@
1
- import { G as getActiveKernelId, K as getKernel, r as castResultShapeWithKnownType, t as borrowShapeWithKnownType } from "./shapeTypes-CIMiWenj.js";
1
+ import { E as GeometryCleanupError, K as getActiveKernelId, q as getKernel, r as castResultShapeWithKnownType, t as borrowShapeWithKnownType } from "./shapeTypes-2oI77VpW.js";
2
2
  import { O as isUnsupportedKernelOperationError } from "./occtWasmAdapter-CIc9I87_.js";
3
- import { c as getFaces, f as getVertices, l as getOrCreateCache, s as getEdges } from "./topologyQueryFns-Dp_LqPFF.js";
3
+ import { c as getFaces, f as getVertices, l as getOrCreateCache, s as getEdges } from "./topologyQueryFns-C2tBjzT8.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
5
  //#region src/topology/adjacencyFns.ts
6
6
  /**
@@ -283,17 +283,51 @@ function sharedEdges(face1, face2) {
283
283
  let raw;
284
284
  try {
285
285
  raw = kernel.sharedEdges(face1.wrapped, face2.wrapped);
286
- const result = raw.map((e) => castResultShapeWithKnownType(e, "edge"));
287
- nativeSharedEdgesSupported.set(kernelId, true);
288
- return result;
289
286
  } catch (e) {
290
- if (raw) for (const r of raw) kernel.dispose(r);
291
287
  if (!isUnsupportedKernelOperationError(e)) throw e;
292
288
  nativeSharedEdgesSupported.set(kernelId, false);
293
289
  }
290
+ if (raw !== void 0) {
291
+ const result = castSharedEdges(raw);
292
+ nativeSharedEdgesSupported.set(kernelId, true);
293
+ return result;
294
+ }
294
295
  }
295
296
  return sharedEdgesJS(face1, face2);
296
297
  }
298
+ /** Each cast consumes its raw result on success or failure; only untouched raws remain ours. */
299
+ function castSharedEdges(raw) {
300
+ const result = [];
301
+ let attempted = 0;
302
+ try {
303
+ for (const edge of raw) {
304
+ attempted++;
305
+ result.push(castResultShapeWithKnownType(edge, "edge"));
306
+ }
307
+ return result;
308
+ } catch (cause) {
309
+ const cleanupFailures = [];
310
+ const retire = (release) => {
311
+ try {
312
+ release();
313
+ } catch (cleanupCause) {
314
+ cleanupFailures.push(new GeometryCleanupError({
315
+ message: "Shared-edge result cleanup failed",
316
+ resourceKind: "SHAPE",
317
+ cause: cleanupCause
318
+ }));
319
+ }
320
+ };
321
+ for (const edge of result) retire(() => {
322
+ edge[Symbol.dispose]();
323
+ });
324
+ for (const edge of raw.slice(attempted)) retire(() => {
325
+ getKernel().dispose(edge);
326
+ });
327
+ if (cleanupFailures.length > 0) throw new AggregateError([cause, ...cleanupFailures], "Shared-edge query and cleanup failed", { cause });
328
+ throw cause;
329
+ }
330
+ }
297
331
  /** JS fallback for {@link sharedEdges}: match edges of both faces by hash + isSame. */
298
332
  function sharedEdgesJS(face1, face2) {
299
333
  const kernel = getKernel();
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DZZldFUS.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-GoRBg9oo.cjs");
2
2
  const require_occtWasmAdapter = require("./occtWasmAdapter-y21xnRNM.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-DYslfber.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CZAfuhOE.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  //#region src/topology/adjacencyFns.ts
6
6
  /**
@@ -283,17 +283,51 @@ function sharedEdges(face1, face2) {
283
283
  let raw;
284
284
  try {
285
285
  raw = kernel.sharedEdges(face1.wrapped, face2.wrapped);
286
- const result = raw.map((e) => require_shapeTypes.castResultShapeWithKnownType(e, "edge"));
287
- nativeSharedEdgesSupported.set(kernelId, true);
288
- return result;
289
286
  } catch (e) {
290
- if (raw) for (const r of raw) kernel.dispose(r);
291
287
  if (!require_occtWasmAdapter.isUnsupportedKernelOperationError(e)) throw e;
292
288
  nativeSharedEdgesSupported.set(kernelId, false);
293
289
  }
290
+ if (raw !== void 0) {
291
+ const result = castSharedEdges(raw);
292
+ nativeSharedEdgesSupported.set(kernelId, true);
293
+ return result;
294
+ }
294
295
  }
295
296
  return sharedEdgesJS(face1, face2);
296
297
  }
298
+ /** Each cast consumes its raw result on success or failure; only untouched raws remain ours. */
299
+ function castSharedEdges(raw) {
300
+ const result = [];
301
+ let attempted = 0;
302
+ try {
303
+ for (const edge of raw) {
304
+ attempted++;
305
+ result.push(require_shapeTypes.castResultShapeWithKnownType(edge, "edge"));
306
+ }
307
+ return result;
308
+ } catch (cause) {
309
+ const cleanupFailures = [];
310
+ const retire = (release) => {
311
+ try {
312
+ release();
313
+ } catch (cleanupCause) {
314
+ cleanupFailures.push(new require_shapeTypes.GeometryCleanupError({
315
+ message: "Shared-edge result cleanup failed",
316
+ resourceKind: "SHAPE",
317
+ cause: cleanupCause
318
+ }));
319
+ }
320
+ };
321
+ for (const edge of result) retire(() => {
322
+ edge[Symbol.dispose]();
323
+ });
324
+ for (const edge of raw.slice(attempted)) retire(() => {
325
+ require_shapeTypes.getKernel().dispose(edge);
326
+ });
327
+ if (cleanupFailures.length > 0) throw new AggregateError([cause, ...cleanupFailures], "Shared-edge query and cleanup failed", { cause });
328
+ throw cause;
329
+ }
330
+ }
297
331
  /** JS fallback for {@link sharedEdges}: match edges of both faces by hash + isSame. */
298
332
  function sharedEdgesJS(face1, face2) {
299
333
  const kernel = require_shapeTypes.getKernel();
@@ -1,14 +1,14 @@
1
- import { K as getKernel, L as registerForCleanup, c as createEdge, p as createWire, q as getKernel2D, z as unregisterFromCleanup } from "./shapeTypes-CIMiWenj.js";
1
+ import { B as unregisterFromCleanup, J as getKernel2D, R as registerForCleanup, c as createEdge, p as createWire, q as getKernel } from "./shapeTypes-2oI77VpW.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-BdOHwn_e.js";
3
3
  import { E as ok, P as unwrap, d as validationError, g as err, n as computationError } from "./errors-CTn8i3lY.js";
4
4
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
5
5
  import { r as toVec3 } from "./types-D24Y27N0.js";
6
6
  import { r as makePlane } from "./planeOps-CkpMeheg.js";
7
- import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-2wV1msnQ.js";
8
- import { p as getOrientation } from "./curveFns-CIyfCLCt.js";
7
+ import { _ as cast, h as uvCoordinates, i as faceGeomType, m as uvBounds, r as faceCenter } from "./faceFns-WhbyFezr.js";
8
+ import { p as getOrientation } from "./curveFns-xQNPUc23.js";
9
9
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
10
- import { r as makeFace } from "./surfaceBuilders-CHfC8AUd.js";
11
- import { l as add2d, m as normalize2d$1, p as distance2d, t as getSingleFace, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-DHU9mCM7.js";
10
+ import { r as makeFace } from "./surfaceBuilders-DcD6eAJW.js";
11
+ import { l as add2d, m as normalize2d$1, p as distance2d, t as getSingleFace, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-m7uW_dyL.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,14 +1,14 @@
1
- const require_shapeTypes = require("./shapeTypes-DZZldFUS.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-GoRBg9oo.cjs");
2
2
  const require_bug = require("./bug-O02CsAmt.cjs");
3
3
  const require_errors = require("./errors-DWezb9DI.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
6
6
  const require_planeOps = require("./planeOps-CpupTCRM.cjs");
7
- const require_faceFns = require("./faceFns-qnvwgyaw.cjs");
8
- const require_curveFns = require("./curveFns-DXMlN84x.cjs");
7
+ const require_faceFns = require("./faceFns-BbkcUym2.cjs");
8
+ const require_curveFns = require("./curveFns-BRhVbssu.cjs");
9
9
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
10
- const require_surfaceBuilders = require("./surfaceBuilders-B9llhfrz.cjs");
11
- const require_helpers = require("./helpers-YWE4RECX.cjs");
10
+ const require_surfaceBuilders = require("./surfaceBuilders-rWRvkB_K.cjs");
11
+ const require_helpers = require("./helpers-HXscoErf.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) {
@@ -1,6 +1,6 @@
1
1
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-CTn8i3lY.js";
2
- import { i as CompoundBlueprint } from "./blueprintSketcher-Dr5-ITBw.js";
3
- import { t as Blueprint } from "./blueprint-BeuiC2jB.js";
2
+ import { i as CompoundBlueprint } from "./blueprintSketcher-s1mCyP4C.js";
3
+ import { t as Blueprint } from "./blueprint-CuE8oS8o.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-DWezb9DI.cjs");
2
- const require_blueprintSketcher = require("./blueprintSketcher-Dedw15H1.cjs");
3
- const require_blueprint = require("./blueprint-DbMLINgb.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-BbbIIw68.cjs");
3
+ const require_blueprint = require("./blueprint-Pd5C9eyi.cjs");
4
4
  //#region src/2d/lib/curve2dFns.ts
5
5
  /**
6
6
  * Return a reversed copy of the curve (non-mutating).
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-DZZldFUS.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-GoRBg9oo.cjs");
2
2
  const require_bug = require("./bug-O02CsAmt.cjs");
3
3
  const require_errors = require("./errors-DWezb9DI.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-YWE4RECX.cjs");
7
- const require_blueprint = require("./blueprint-DbMLINgb.cjs");
6
+ const require_helpers = require("./helpers-HXscoErf.cjs");
7
+ const require_blueprint = require("./blueprint-Pd5C9eyi.cjs");
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
- import { K as getKernel, q as getKernel2D } from "./shapeTypes-CIMiWenj.js";
1
+ import { J as getKernel2D, q as getKernel } from "./shapeTypes-2oI77VpW.js";
2
2
  import { i as wasmIndex, n as bug } from "./bug-BdOHwn_e.js";
3
3
  import { E as ok, P as unwrap, g as err, n as computationError, s as safeIndex, x as isOk } from "./errors-CTn8i3lY.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 rotate2d, d as cartesianToPolar, f as crossProduct2d, g as polarToCartesian, h as polarAngle2d, l as add2d, p as distance2d, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-DHU9mCM7.js";
7
- import { C as isPoint2D, b as normalize2d, c as make2dBezierCurve, d as make2dEllipseArc, g as approximateAsBSpline, h as make2dThreePointArc, l as make2dCircle, m as make2dTangentArc, n as asSVG, p as make2dSegmentCurve, r as viewbox, s as make2dArcFromCenter, t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-BeuiC2jB.js";
6
+ import { _ as rotate2d, d as cartesianToPolar, f as crossProduct2d, g as polarToCartesian, h as polarAngle2d, l as add2d, p as distance2d, v as samePoint, x as subtract2d, y as scalarMultiply2d } from "./helpers-m7uW_dyL.js";
7
+ import { C as isPoint2D, b as normalize2d, c as make2dBezierCurve, d as make2dEllipseArc, g as approximateAsBSpline, h as make2dThreePointArc, l as make2dCircle, m as make2dTangentArc, n as asSVG, p as make2dSegmentCurve, r as viewbox, s as make2dArcFromCenter, t as Blueprint, v as Curve2D, x as BoundingBox2d } from "./blueprint-CuE8oS8o.js";
8
8
  //#region node_modules/flatqueue/index.js
9
9
  /**
10
10
  * @typedef {Float64ArrayConstructor | Float32ArrayConstructor |
@@ -1,10 +1,10 @@
1
1
  const require_bug = require("./bug-O02CsAmt.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
3
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
4
- const require_surfaceBuilders = require("./surfaceBuilders-B9llhfrz.cjs");
5
- const require_blueprintSketcher = require("./blueprintSketcher-Dedw15H1.cjs");
6
- const require_helpers = require("./helpers-YWE4RECX.cjs");
7
- const require_blueprint = require("./blueprint-DbMLINgb.cjs");
4
+ const require_surfaceBuilders = require("./surfaceBuilders-rWRvkB_K.cjs");
5
+ const require_blueprintSketcher = require("./blueprintSketcher-BbbIIw68.cjs");
6
+ const require_helpers = require("./helpers-HXscoErf.cjs");
7
+ const require_blueprint = require("./blueprint-Pd5C9eyi.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.
@@ -1,10 +1,10 @@
1
1
  import { i as wasmIndex, n as bug } from "./bug-BdOHwn_e.js";
2
2
  import { P as unwrap, s as safeIndex } from "./errors-CTn8i3lY.js";
3
3
  import { r as lastOrThrow } from "./arrayAccess-DrUGPADn.js";
4
- import { v as zip } from "./surfaceBuilders-CHfC8AUd.js";
5
- import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-Dr5-ITBw.js";
6
- import { f as crossProduct2d, o as PRECISION_INTERSECTION, v as samePoint$1, x as subtract2d } from "./helpers-DHU9mCM7.js";
7
- import { S as removeDuplicatePoints, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-BeuiC2jB.js";
4
+ import { v as zip } from "./surfaceBuilders-DcD6eAJW.js";
5
+ import { a as Blueprints, i as CompoundBlueprint, l as intersectCurves, r as organiseBlueprints, t as BlueprintSketcher, u as Flatbush } from "./blueprintSketcher-s1mCyP4C.js";
6
+ import { f as crossProduct2d, o as PRECISION_INTERSECTION, v as samePoint$1, x as subtract2d } from "./helpers-m7uW_dyL.js";
7
+ import { S as removeDuplicatePoints, p as make2dSegmentCurve, t as Blueprint } from "./blueprint-CuE8oS8o.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,41 +1,41 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_rolldown_runtime = require("./rolldown-runtime-C0BPl7ul.cjs");
3
- const require_shapeTypes = require("./shapeTypes-DZZldFUS.cjs");
3
+ const require_shapeTypes = require("./shapeTypes-GoRBg9oo.cjs");
4
4
  const require_occtWasmAdapter = require("./occtWasmAdapter-y21xnRNM.cjs");
5
5
  const require_bug = require("./bug-O02CsAmt.cjs");
6
6
  const require_errors = require("./errors-DWezb9DI.cjs");
7
- const require_topologyQueryFns = require("./topologyQueryFns-DYslfber.cjs");
8
- const require_validityTypes = require("./validityTypes-BYnGyL8L.cjs");
7
+ const require_topologyQueryFns = require("./topologyQueryFns-CZAfuhOE.cjs");
8
+ const require_validityTypes = require("./validityTypes-rPudJ_eg.cjs");
9
9
  const require_constants = require("./constants-BOVyEYGH.cjs");
10
10
  const require_types = require("./types-KjA8tY4Y.cjs");
11
11
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
12
12
  const require_planeOps = require("./planeOps-CpupTCRM.cjs");
13
- const require_faceFns = require("./faceFns-qnvwgyaw.cjs");
14
- const require_originTrackingFns = require("./originTrackingFns-Bm7CD2oW.cjs");
15
- const require_solidBuilders = require("./solidBuilders-x5Bz2ELQ.cjs");
16
- const require_primitiveFns = require("./primitiveFns-C-rBAvgV.cjs");
17
- const require_shapeFns = require("./shapeFns-FzE1ivNh.cjs");
18
- const require_curveFns = require("./curveFns-DXMlN84x.cjs");
19
- const require_meshFns = require("./meshFns-DkMiqcvB.cjs");
13
+ const require_faceFns = require("./faceFns-BbkcUym2.cjs");
14
+ const require_originTrackingFns = require("./originTrackingFns-B1dazHMg.cjs");
15
+ const require_solidBuilders = require("./solidBuilders-BDwUKmVl.cjs");
16
+ const require_primitiveFns = require("./primitiveFns-BdM2vG17.cjs");
17
+ const require_shapeFns = require("./shapeFns-D6EjojPG.cjs");
18
+ const require_curveFns = require("./curveFns-BRhVbssu.cjs");
19
+ const require_meshFns = require("./meshFns-DFhnm9DB.cjs");
20
20
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
21
- const require_surfaceBuilders = require("./surfaceBuilders-B9llhfrz.cjs");
22
- const require_healingFns = require("./healingFns-BSHqLCOx.cjs");
23
- const require_threadFns = require("./threadFns-52YHK9wK.cjs");
24
- const require_blueprintSketcher = require("./blueprintSketcher-Dedw15H1.cjs");
25
- const require_helpers = require("./helpers-YWE4RECX.cjs");
26
- const require_blueprint = require("./blueprint-DbMLINgb.cjs");
27
- const require_drawFns = require("./drawFns-BaGbMy6K.cjs");
28
- const require_measureFns = require("./measureFns-DU8x4zPn.cjs");
29
- const require_cornerFinder = require("./cornerFinder-CLEHlBMf.cjs");
30
- const require_boolean2D = require("./boolean2D-Dktt8ed6.cjs");
31
- const require_blueprintFns = require("./blueprintFns-CtpFK_Qe.cjs");
32
- const require_importFns = require("./importFns-DF9TqvQt.cjs");
33
- const require_loftFns = require("./loftFns-B9-6-lOQ.cjs");
34
- const require_textBlueprints = require("./textBlueprints-D6csroh5.cjs");
35
- const require_refResolveFns = require("./refResolveFns-CxIokx3w.cjs");
36
- const require_adjacencyFns = require("./adjacencyFns-D1sYXJUk.cjs");
37
- const require_cameraFns = require("./cameraFns-CKl-ZLoM.cjs");
38
- const require_textMetrics = require("./textMetrics-sApnOuwi.cjs");
21
+ const require_surfaceBuilders = require("./surfaceBuilders-rWRvkB_K.cjs");
22
+ const require_healingFns = require("./healingFns-CxWU6nqI.cjs");
23
+ const require_threadFns = require("./threadFns-DzoOHczW.cjs");
24
+ const require_blueprintSketcher = require("./blueprintSketcher-BbbIIw68.cjs");
25
+ const require_helpers = require("./helpers-HXscoErf.cjs");
26
+ const require_blueprint = require("./blueprint-Pd5C9eyi.cjs");
27
+ const require_drawFns = require("./drawFns-ByfPdMin.cjs");
28
+ const require_measureFns = require("./measureFns-BX7yvMB_.cjs");
29
+ const require_cornerFinder = require("./cornerFinder-BSHr_G27.cjs");
30
+ const require_boolean2D = require("./boolean2D-B5-s6yey.cjs");
31
+ const require_blueprintFns = require("./blueprintFns-Jt8aabnr.cjs");
32
+ const require_importFns = require("./importFns-BUiDmbn7.cjs");
33
+ const require_loftFns = require("./loftFns-BUtmwfSU.cjs");
34
+ const require_textBlueprints = require("./textBlueprints-DoePacWO.cjs");
35
+ const require_refResolveFns = require("./refResolveFns-IdHk_1vT.cjs");
36
+ const require_adjacencyFns = require("./adjacencyFns-CZ8tOKo6.cjs");
37
+ const require_cameraFns = require("./cameraFns-C_aXHOXb.cjs");
38
+ const require_textMetrics = require("./textMetrics-DemtrM-e.cjs");
39
39
  const require_workerPool = require("./workerPool-D30NsiIW.cjs");
40
40
  //#region src/kernel/types.ts
41
41
  /** Check if the kernel supports hidden-line-removal projection. */
@@ -7241,6 +7241,7 @@ function transformCopy(shape, composed) {
7241
7241
  * re-tag — O(1) on occt-wasm ≥3.6.0, falling back to a copy elsewhere. Same
7242
7242
  * face-metadata guarantee as `translate`, at location-swap cost. Ideal for
7243
7243
  * placing one cached cell at N positions without paying for N deep copies.
7244
+ * A supplied pre-composed transform remains caller-owned and must be cleaned up.
7244
7245
  */
7245
7246
  function locate(shape, placement) {
7246
7247
  return require_primitiveFns.locate(resolve(shape), placement);
@@ -8861,6 +8862,7 @@ exports.DEG2RAD = require_constants.DEG2RAD;
8861
8862
  exports.DisposalScope = require_shapeTypes.DisposalScope;
8862
8863
  exports.EXACT_BREP_CAPABILITIES = require_occtWasmAdapter.EXACT_BREP_CAPABILITIES;
8863
8864
  exports.FaceSketcher = require_drawFns.FaceSketcher;
8865
+ exports.GeometryCleanupError = require_shapeTypes.GeometryCleanupError;
8864
8866
  exports.HASH_CODE_MAX = require_constants.HASH_CODE_MAX;
8865
8867
  exports.OK = require_errors.OK;
8866
8868
  exports.OcctWasmAdapter = require_occtWasmAdapter.OcctWasmAdapter;
package/dist/brepjs.js CHANGED
@@ -1,39 +1,39 @@
1
- import { $ as prewarm, A as is2D, B as withArenaCheckpoint, C as isSolid, E as getShapeKind, F as getDisposalStats, G as getActiveKernelId, H as withScopeResult, I as isLive, J as getKernelCapabilities, K as getKernel, M as DisposalScope, N as createHandle, O as as2D, P as createKernelHandle, Q as initFromOC, R as resetDisposalStats, S as isShell, T as isWire, U as withScopeResultAsync, V as withScope, W as _usingCtx, X as init, Y as getKernelTier, Z as initFromManifold, _ as isCompound, a as castShape3D, at as BrepkitAdapter, b as isShape1D, c as createEdge, ct as currentQuality, d as createSolid, et as registerKernel, f as createVertex, h as disposeResultShape, i as castShape, it as withTier, j as is3D, k as as3D, l as createFace, lt as qualityDeflection, n as castResultShape, nt as withKernel, ot as getPerformanceStats, p as createWire, q as getKernel2D, rt as withQuality, s as createCompound, st as resetPerformanceStats, tt as registerKernelTier, u as createShell, v as isEdge, w as isVertex, x as isShape3D, y as isFace } from "./shapeTypes-CIMiWenj.js";
1
+ import { $ as initFromOC, A as as3D, C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, G as _usingCtx, H as withScope, I as getDisposalStats, J as getKernel2D, K as getActiveKernelId, L as isLive, M as is3D, N as DisposalScope, P as createHandle, Q as initFromManifold, S as isShell, T as isWire, U as withScopeResult, V as withArenaCheckpoint, W as withScopeResultAsync, X as getKernelTier, Y as getKernelCapabilities, Z as init, _ as isCompound, a as castShape3D, at as withTier, b as isShape1D, c as createEdge, ct as resetPerformanceStats, d as createSolid, et as prewarm, f as createVertex, h as disposeResultShape, i as castShape, it as withQuality, j as is2D, k as as2D, l as createFace, lt as currentQuality, n as castResultShape, nt as registerKernelTier, ot as BrepkitAdapter, p as createWire, q as getKernel, rt as withKernel, s as createCompound, st as getPerformanceStats, tt as registerKernel, u as createShell, ut as qualityDeflection, v as isEdge, w as isVertex, x as isShape3D, y as isFace, z as resetDisposalStats } from "./shapeTypes-2oI77VpW.js";
2
2
  import { A as EXACT_BREP_CAPABILITIES, k as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-CIc9I87_.js";
3
3
  import { i as wasmIndex, n as bug, t as BrepBugError } from "./bug-BdOHwn_e.js";
4
4
  import { A as tap, C as mapBoth, D as or, E as ok, F as unwrapErr, I as unwrapOr, L as unwrapOrElse, M as tryCatch, N as tryCatchAsync, O as orElse, P as unwrap, R as zip, S as map, T as match, _ as flatMap, a as moduleInitError, b as isErr, c as sketcherStateError, d as validationError, f as OK, g as err, h as collect, i as kernelError, j as tapErr, k as pipeline, l as typeCastError, m as andThen, n as computationError, o as queryError, p as all, r as ioError, t as BrepErrorCode, u as unsupportedError, v as flatten, w as mapErr, x as isOk, y as fromNullable } from "./errors-CTn8i3lY.js";
5
- import { C as vertexPosition, E as kernelCallScoped, T as kernelCallRaw, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCall, x as iterWires, y as iterSolids } from "./topologyQueryFns-Dp_LqPFF.js";
6
- import { a as isPlanarFace, c as manifoldShell, d as planarWire, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, o as isPlanarWire, r as isManifoldShell, s as isValidSolid, t as closedWire, u as planarFace } from "./validityTypes-BqJb23o4.js";
5
+ import { C as vertexPosition, E as kernelCallScoped, T as kernelCallRaw, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as kernelCall, x as iterWires, y as iterSolids } from "./topologyQueryFns-C2tBjzT8.js";
6
+ import { a as isPlanarFace, c as manifoldShell, d as planarWire, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, o as isPlanarWire, r as isManifoldShell, s as isValidSolid, t as closedWire, u as planarFace } from "./validityTypes-BAwJuMQB.js";
7
7
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
8
8
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
9
9
  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";
10
10
  import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-CkpMeheg.js";
11
- 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-2wV1msnQ.js";
12
- import { i as setShapeOrigin, t as getFaceOrigins } from "./originTrackingFns-j2je8lQv.js";
13
- import { A as parseColor, D as colorShape, E as colorFaces, F as tagFaces, M as getFaceTags, N as getTagMetadata, O as getFaceColor, P as setTagMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, j as findFacesByTag, k as getShapeColor, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-DKwoY2nP.js";
14
- import { A as locate$1, C as threePointArc, D as wireLoop, E as wire, F as transformCopy$1, I as translate$2, M as resize, N as rotate$2, O as applyMatrix$1, P as scale$3, 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, j as mirror$2, k as composeTransforms, 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-itCYAzxU.js";
15
- import { a as isSameShape, i as isEqualShape, n as getHashCode, o as simplify$1, r as isEmpty$2, s as toBREP$1, t as clone$1 } from "./shapeFns-B_GAp2z3.js";
16
- 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-CIyfCLCt.js";
17
- import { a as meshEdges$1, c as meshMultiLOD, d as clearMeshCache, f as createMeshCache, i as mesh$1, l as scaleDefaultTolerance, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as buildMeshCacheKey } from "./meshFns-DvDybgNn.js";
11
+ 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-WhbyFezr.js";
12
+ import { i as setShapeOrigin, t as getFaceOrigins } from "./originTrackingFns-DYB8oZOX.js";
13
+ import { A as parseColor, D as colorShape, E as colorFaces, F as tagFaces, M as getFaceTags, N as getTagMetadata, O as getFaceColor, P as setTagMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, j as findFacesByTag, k as getShapeColor, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-Buze6qct.js";
14
+ import { A as locate$1, C as threePointArc, D as wireLoop, E as wire, F as transformCopy$1, I as translate$2, M as resize, N as rotate$2, O as applyMatrix$1, P as scale$3, 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, j as mirror$2, k as composeTransforms, 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-DjKUrsMr.js";
15
+ import { a as isSameShape, i as isEqualShape, n as getHashCode, o as simplify$1, r as isEmpty$2, s as toBREP$1, t as clone$1 } from "./shapeFns-B2Xg4Xom.js";
16
+ 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-xQNPUc23.js";
17
+ import { a as meshEdges$1, c as meshMultiLOD, d as clearMeshCache, f as createMeshCache, i as mesh$1, l as scaleDefaultTolerance, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as buildMeshCacheKey } from "./meshFns-13CekW14.js";
18
18
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
19
- import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, p as makeEllipseArc, r as makeFace, s as assembleWire, u as makeBezierCurve } from "./surfaceBuilders-CHfC8AUd.js";
20
- import { A as toBufferGeometryData, C as chamfer$2, D as shell$2, E as offset$1, M as toLODGeometryData, N as toLODGeometryLevels, O as thicken$1, P as toLineGeometryData, S as chamferDistAngle, T as fillet$2, _ as checkBoolean, a as healFace, b as getNurbsCurveData, c as isValid$1, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, i as heal$1, j as toGroupedBufferGeometryData, k as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, w as draft$1, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-J_O-YEpl.js";
21
- import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, G as quatFromAxisAngle, H as circularPattern, I as createAssemblyNode, J as quatRotate, K as quatFromTo, 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, 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 quatMultiply, 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-iR-yK8rr.js";
22
- import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-Dr5-ITBw.js";
23
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DHU9mCM7.js";
24
- import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-BeuiC2jB.js";
25
- 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-Dr9iCrbh.js";
26
- 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-CCd5bBnv.js";
27
- import { t as cornerFinder } from "./cornerFinder-Cq-kBDcR.js";
28
- 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-D1EzLW3j.js";
29
- 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-JT9_SPeA.js";
30
- 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-BHmZYBBq.js";
31
- import { a as multiSectionSweep, c as twistExtrude, i as guidedSweep, n as loftAll, o as supportExtrude, r as complexExtrude, s as sweep$1, t as loft$2 } from "./loftFns-qB9Ek9-L.js";
32
- import { a as Sketch, b as extrudeAll, 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, x as revolve$2, y as extrude$2 } from "./textBlueprints-B3cJhqsf.js";
33
- 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-DTZoqjRs.js";
34
- 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-Cuqqg_9C.js";
35
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-D59FeXIj.js";
36
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-B_Js6IoN.js";
19
+ import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, p as makeEllipseArc, r as makeFace, s as assembleWire, u as makeBezierCurve } from "./surfaceBuilders-DcD6eAJW.js";
20
+ import { A as toBufferGeometryData, C as chamfer$2, D as shell$2, E as offset$1, M as toLODGeometryData, N as toLODGeometryLevels, O as thicken$1, P as toLineGeometryData, S as chamferDistAngle, T as fillet$2, _ as checkBoolean, a as healFace, b as getNurbsCurveData, c as isValid$1, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, i as heal$1, j as toGroupedBufferGeometryData, k as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, w as draft$1, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-sTD9eRIy.js";
21
+ import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, G as quatFromAxisAngle, H as circularPattern, I as createAssemblyNode, J as quatRotate, K as quatFromTo, 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, 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 quatMultiply, 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-C1EWB5h6.js";
22
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-s1mCyP4C.js";
23
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-m7uW_dyL.js";
24
+ import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-CuE8oS8o.js";
25
+ 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-S-UBDz0z.js";
26
+ 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-B2-vw7XG.js";
27
+ import { t as cornerFinder } from "./cornerFinder-B5uO-_nX.js";
28
+ 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-XkF5a9UO.js";
29
+ 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-DeK5m2Dd.js";
30
+ 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-C9yuTs04.js";
31
+ import { a as multiSectionSweep, c as twistExtrude, i as guidedSweep, n as loftAll, o as supportExtrude, r as complexExtrude, s as sweep$1, t as loft$2 } from "./loftFns-oiR_wtVd.js";
32
+ import { a as Sketch, b as extrudeAll, 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, x as revolve$2, y as extrude$2 } from "./textBlueprints-lFyk_adY.js";
33
+ 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-BhN6_Z7B.js";
34
+ 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-BFgzaWom.js";
35
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-C42m8_GN.js";
36
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-CmAlcFpe.js";
37
37
  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";
38
38
  //#region \0rolldown/runtime.js
39
39
  var __defProp = Object.defineProperty;
@@ -7251,6 +7251,7 @@ function transformCopy(shape, composed) {
7251
7251
  * re-tag — O(1) on occt-wasm ≥3.6.0, falling back to a copy elsewhere. Same
7252
7252
  * face-metadata guarantee as `translate`, at location-swap cost. Ideal for
7253
7253
  * placing one cached cell at N positions without paying for N deep copies.
7254
+ * A supplied pre-composed transform remains caller-owned and must be cleaned up.
7254
7255
  */
7255
7256
  function locate(shape, placement) {
7256
7257
  return locate$1(resolve(shape), placement);
@@ -8858,4 +8859,4 @@ var csg_exports = /* @__PURE__ */ __exportAll({
8858
8859
  });
8859
8860
  /* v8 ignore file */
8860
8861
  //#endregion
8861
- export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addJoint, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToContour, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDerivedFaceRef, createDistanceQuery, createEdge, createEdgeRef, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createVertexRef, createWire, createWorkerClient, createWorkerHandler, createWorkerPool, csg_exports as csg, currentQuality, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutAllBisect, cutBlueprints, cutWithEvolution, cylinder, cylindricalJoint, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, exportURDF, extrude, extrudeAll, face, faceAxis, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, facesOfVertex, fieldBoolean, fieldContour, fieldOffset, fieldReinit, fieldShell, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, forwardKinematics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseAllBisect, fuseBlueprints, fuseWithEvolution, gearGeometry, getActiveVoxelId, getBounds, getBounds2D, getCompSolids, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getKernelCapabilities, getKernelTier, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getShells, getSingleFace, getSolids, getSurfaceType, getTagMetadata, getVertices, getVoxel, getWires, gridPattern, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, importURDF, init, initFromManifold, initFromOC, initVoxel, innerWires, instance, instanceCount, instanceGrid, instancedMesh, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, inverseKinematics, ioNs_exports as io, ioError, is2D, is3D, isBatchRequest, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDerivedFaceRef, isDisposeRequest, isEdge, isEdgeRef, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFaceRef, isFilletRadius, isInitRequest, isInside2D, isInstanced, isLineageRef, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isVertexRef, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, jointTrajectory, jointTransform, jointsFromDH, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, locate, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, materialize, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mechanismDOF, mesh, meshEdges, meshLODs, meshLODsProgressive, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetMesh, offsetShape, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarJoint, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, prismaticJoint, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDerivedFaceRef, resolveDirection, resolveEdgeRef, resolveLineageRef, resolvePlane, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, reverseCurve, revoluteJoint, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, box$1 as sdfBox, capsule as sdfCapsule, cone$1 as sdfCone, cylinder$1 as sdfCylinder, fieldAxialRamp as sdfFieldAxialRamp, fieldClamp as sdfFieldClamp, fieldConst as sdfFieldConst, fieldFromSdf as sdfFieldFromSdf, fieldRadialRamp as sdfFieldRadialRamp, lattice as sdfLattice, plane as sdfPlane, roundedBox as sdfRoundedBox, sphere as sdfSphere, strutLattice as sdfStrutLattice, sweep as sdfSweep, torus as sdfTorus, section, sectionToFace, serializeHistory, setJointValue, setJointValues, setShapeOrigin, setTagMetadata, sewShells, shape, shapeToMeshInput, shapeType, sharedEdges, shell, shellMesh, shellShape, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere$1 as sphere, sphericalJoint, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep$1 as sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, thread, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLODGeometryLevels, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus$1 as torus, tpmsLattice, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validatePlanetary, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, verticesOfFace, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
8862
+ export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, GeometryCleanupError, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addJoint, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToContour, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDerivedFaceRef, createDistanceQuery, createEdge, createEdgeRef, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createVertexRef, createWire, createWorkerClient, createWorkerHandler, createWorkerPool, csg_exports as csg, currentQuality, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutAllBisect, cutBlueprints, cutWithEvolution, cylinder, cylindricalJoint, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, exportURDF, extrude, extrudeAll, face, faceAxis, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, facesOfVertex, fieldBoolean, fieldContour, fieldOffset, fieldReinit, fieldShell, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, forwardKinematics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseAllBisect, fuseBlueprints, fuseWithEvolution, gearGeometry, getActiveVoxelId, getBounds, getBounds2D, getCompSolids, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getKernelCapabilities, getKernelTier, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getShells, getSingleFace, getSolids, getSurfaceType, getTagMetadata, getVertices, getVoxel, getWires, gridPattern, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, importURDF, init, initFromManifold, initFromOC, initVoxel, innerWires, instance, instanceCount, instanceGrid, instancedMesh, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, inverseKinematics, ioNs_exports as io, ioError, is2D, is3D, isBatchRequest, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDerivedFaceRef, isDisposeRequest, isEdge, isEdgeRef, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFaceRef, isFilletRadius, isInitRequest, isInside2D, isInstanced, isLineageRef, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isVertexRef, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, jointTrajectory, jointTransform, jointsFromDH, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, locate, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, materialize, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mechanismDOF, mesh, meshEdges, meshLODs, meshLODsProgressive, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetMesh, offsetShape, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarJoint, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, prismaticJoint, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDerivedFaceRef, resolveDirection, resolveEdgeRef, resolveLineageRef, resolvePlane, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, reverseCurve, revoluteJoint, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, box$1 as sdfBox, capsule as sdfCapsule, cone$1 as sdfCone, cylinder$1 as sdfCylinder, fieldAxialRamp as sdfFieldAxialRamp, fieldClamp as sdfFieldClamp, fieldConst as sdfFieldConst, fieldFromSdf as sdfFieldFromSdf, fieldRadialRamp as sdfFieldRadialRamp, lattice as sdfLattice, plane as sdfPlane, roundedBox as sdfRoundedBox, sphere as sdfSphere, strutLattice as sdfStrutLattice, sweep as sdfSweep, torus as sdfTorus, section, sectionToFace, serializeHistory, setJointValue, setJointValues, setShapeOrigin, setTagMetadata, sewShells, shape, shapeToMeshInput, shapeType, sharedEdges, shell, shellMesh, shellShape, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere$1 as sphere, sphericalJoint, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep$1 as sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, thread, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLODGeometryLevels, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus$1 as torus, tpmsLattice, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validatePlanetary, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, verticesOfFace, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
@@ -1,8 +1,8 @@
1
- import { K as getKernel, W as _usingCtx, n as castResultShape } from "./shapeTypes-CIMiWenj.js";
1
+ import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-2oI77VpW.js";
2
2
  import { E as ok, P as unwrap, d as validationError, g as err } from "./errors-CTn8i3lY.js";
3
- import { s as getEdges } from "./topologyQueryFns-Dp_LqPFF.js";
3
+ import { s as getEdges } from "./topologyQueryFns-C2tBjzT8.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-B_GAp2z3.js";
5
+ import { t as clone } from "./shapeFns-B2Xg4Xom.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,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-DZZldFUS.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-GoRBg9oo.cjs");
2
2
  const require_errors = require("./errors-DWezb9DI.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-DYslfber.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-CZAfuhOE.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
- const require_shapeFns = require("./shapeFns-FzE1ivNh.cjs");
5
+ const require_shapeFns = require("./shapeFns-D6EjojPG.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 = {
@@ -0,0 +1,9 @@
1
+ /** An observable failed release. Its native outcome is uncertain; never retry it blindly. */
2
+ export declare class GeometryCleanupError extends Error {
3
+ readonly resourceKind: 'SHAPE' | 'TRANSFORM';
4
+ constructor(options: {
5
+ readonly message: string;
6
+ readonly resourceKind: 'SHAPE' | 'TRANSFORM';
7
+ readonly cause: unknown;
8
+ });
9
+ }
@@ -136,6 +136,7 @@ export declare function disposeDowncastSource(source: KernelShape, cast: ShapeHa
136
136
  * Cast a freshly-produced kernel result to its branded type and release the
137
137
  * orphaned pre-downcast handle. The result-owning counterpart to {@link castShape};
138
138
  * see {@link disposeDowncastSource} for the arena semantics.
139
+ * Consumes the raw result on success or failure; callers must not retry its release.
139
140
  */
140
141
  export declare function castResultShape<D extends Dimension = '3D'>(ocShape: KernelShape, dim?: D): AnyShape<D>;
141
142
  /**
@@ -171,6 +172,7 @@ export declare function castShapeWithKnownType<D extends Dimension = '3D'>(ocSha
171
172
  * `iterShapes` — where only the branded downcast result is retained. Identity
172
173
  * downcast kernels (manifold/brepkit) skip the release via the guard in
173
174
  * {@link disposeDowncastSource}.
175
+ * Consumes the raw result even when casting throws.
174
176
  */
175
177
  export declare function castResultShapeWithKnownType<D extends Dimension = '3D'>(ocShape: KernelShape, knownType: ShapeType, dim?: D): AnyShape<D>;
176
178
  /**