brepjs 18.35.0 → 18.35.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 (85) hide show
  1. package/dist/2d.cjs +7 -7
  2. package/dist/2d.js +7 -7
  3. package/dist/{blueprint-BB_nIqH9.cjs → blueprint-BF0DcVwE.cjs} +7 -7
  4. package/dist/{blueprint-DmWmhXi4.js → blueprint-KwH2JNPU.js} +7 -7
  5. package/dist/{blueprintFns-C3NplQ86.cjs → blueprintFns-CbPsMijw.cjs} +3 -3
  6. package/dist/{blueprintFns-B4xOCuT3.js → blueprintFns-X7jVGGUE.js} +3 -3
  7. package/dist/{blueprintSketcher-DaqbMIfk.js → blueprintSketcher-BwFpbp0B.js} +4 -4
  8. package/dist/{blueprintSketcher-C1C9mJuK.cjs → blueprintSketcher-m18T1U1T.cjs} +4 -4
  9. package/dist/{boolean2D-CbChdB3y.cjs → boolean2D-BzlbvCIH.cjs} +5 -5
  10. package/dist/{boolean2D-B3DOcj6G.js → boolean2D-DAq015PP.js} +5 -5
  11. package/dist/{booleanFns-X-pT22Jh.cjs → booleanFns-D19tR8Gn.cjs} +6 -6
  12. package/dist/{booleanFns-Byv33KMu.js → booleanFns-nHsLqZ7Y.js} +6 -6
  13. package/dist/brepjs.cjs +26 -26
  14. package/dist/brepjs.js +26 -26
  15. package/dist/{cameraFns-DkUpqMdm.js → cameraFns-Bhjy2SuC.js} +3 -3
  16. package/dist/{cameraFns-B9duZ94U.cjs → cameraFns-D_8-JO0p.cjs} +3 -3
  17. package/dist/core/errors.d.ts +2 -0
  18. package/dist/core.cjs +3 -3
  19. package/dist/core.js +3 -3
  20. package/dist/{cornerFinder-BEHY1k0Q.cjs → cornerFinder-Bmp3Vm5g.cjs} +1 -1
  21. package/dist/{cornerFinder-4ieWbVIN.js → cornerFinder-U6kzoCXY.js} +1 -1
  22. package/dist/{curveFns-ChkLRL8a.cjs → curveFns-p1YEnmZu.cjs} +2 -2
  23. package/dist/{curveFns-DHAvRosC.js → curveFns-rUkX4tEm.js} +2 -2
  24. package/dist/{drawFns-DzgqLm1w.cjs → drawFns-BGIQ1IeV.cjs} +14 -14
  25. package/dist/{drawFns-D2u7C_7g.js → drawFns-ZhKR7xa0.js} +14 -14
  26. package/dist/{errors-D9tBO0km.cjs → errors-CXJtc4I7.cjs} +2 -0
  27. package/dist/{errors-DOPT3OTg.js → errors-DNWJsfVU.js} +2 -0
  28. package/dist/{extrudeFns-WH0yd_Fb.js → extrudeFns-Cl_azGgy.js} +2 -2
  29. package/dist/{extrudeFns-WYDSlEW8.cjs → extrudeFns-DpRGUaxD.cjs} +2 -2
  30. package/dist/{faceFns-DNOsmyRn.cjs → faceFns-C6qUr_gw.cjs} +3 -3
  31. package/dist/{faceFns-Druzi4mz.js → faceFns-eVWgSIzt.js} +3 -3
  32. package/dist/{helpers-DXRsnEpy.js → helpers-BhJOo535.js} +7 -7
  33. package/dist/{helpers-BxCilYLb.cjs → helpers-DNVILwHA.cjs} +7 -7
  34. package/dist/{historyFns-DqY8zLUq.js → historyFns-ByJG4mBP.js} +5 -5
  35. package/dist/{historyFns-C9J3s9xB.cjs → historyFns-C2glA6vu.cjs} +5 -5
  36. package/dist/{importFns-CAR9g6W8.cjs → importFns-CJc5NYJp.cjs} +3 -3
  37. package/dist/{importFns-D8NOuxmA.js → importFns-DuAmdf0Q.js} +3 -3
  38. package/dist/io.cjs +2 -2
  39. package/dist/io.js +2 -2
  40. package/dist/kernel/manifold/replay.d.ts +7 -0
  41. package/dist/{measureFns-Dg3pLNRE.js → measureFns-BiflqrZ_.js} +4 -4
  42. package/dist/{measureFns-CSbBsOLY.cjs → measureFns-D7lxkIjt.cjs} +4 -4
  43. package/dist/measurement.cjs +1 -1
  44. package/dist/measurement.js +1 -1
  45. package/dist/{meshFns-yusYccFx.cjs → meshFns-DM2mLIlu.cjs} +54 -3
  46. package/dist/{meshFns-CkzlLwZw.js → meshFns-F9QLm-Bk.js} +54 -3
  47. package/dist/operations.cjs +2 -2
  48. package/dist/operations.js +2 -2
  49. package/dist/{planeOps-DTY92UCh.cjs → planeOps-BA4HfgQu.cjs} +1 -1
  50. package/dist/{planeOps-YTeuXs80.js → planeOps-DSjjtrjg.js} +1 -1
  51. package/dist/{primitiveFns-DzGTYy_l.cjs → primitiveFns-CXn9Jl4q.cjs} +8 -8
  52. package/dist/{primitiveFns-CbpHBZdf.js → primitiveFns-vQh7Lz7B.js} +8 -8
  53. package/dist/projection.cjs +1 -1
  54. package/dist/projection.js +1 -1
  55. package/dist/query.cjs +2 -2
  56. package/dist/query.js +2 -2
  57. package/dist/result.cjs +1 -1
  58. package/dist/result.js +1 -1
  59. package/dist/{shapeFns-CSlSyyi1.cjs → shapeFns-B3v9_keQ.cjs} +3 -3
  60. package/dist/{shapeFns-BYKFvtTb.js → shapeFns-BbHQjI5-.js} +3 -3
  61. package/dist/shapeRef.cjs +1 -1
  62. package/dist/shapeRef.js +1 -1
  63. package/dist/{shapeRefFns-UIsEV1jg.js → shapeRefFns-BOsX8Tim.js} +4 -4
  64. package/dist/{shapeRefFns-B4xO4AI1.cjs → shapeRefFns-CkafUjdM.cjs} +4 -4
  65. package/dist/{shapeTypes-DRIhPf8A.cjs → shapeTypes-Bbh2doYh.cjs} +24 -10
  66. package/dist/{shapeTypes-D946X6Qx.js → shapeTypes-C-MpR5-e.js} +24 -10
  67. package/dist/sketching.cjs +3 -3
  68. package/dist/sketching.js +3 -3
  69. package/dist/{solidBuilders-2xiE6FDe.js → solidBuilders-C44fKbQQ.js} +3 -3
  70. package/dist/{solidBuilders-8PLYgzL9.cjs → solidBuilders-Ck6gpdQR.cjs} +3 -3
  71. package/dist/{surfaceBuilders-CUFC3tNT.js → surfaceBuilders-D4p1YPCz.js} +3 -3
  72. package/dist/{surfaceBuilders-CZ7u_Xmi.cjs → surfaceBuilders-DsISMCwj.cjs} +3 -3
  73. package/dist/text.cjs +2 -2
  74. package/dist/text.js +2 -2
  75. package/dist/{textBlueprints-Dv4YWJrA.js → textBlueprints-BKdQqBn8.js} +9 -9
  76. package/dist/{textBlueprints-CZ4MphXu.cjs → textBlueprints-C93RophN.cjs} +9 -9
  77. package/dist/{textMetrics-BpmNTwLm.cjs → textMetrics-2vq4PFfz.cjs} +2 -2
  78. package/dist/{textMetrics-Dvh4HzSZ.js → textMetrics-DEmVsP5C.js} +2 -2
  79. package/dist/topology.cjs +7 -7
  80. package/dist/topology.js +7 -7
  81. package/dist/{topologyQueryFns-D5YTf9GW.js → topologyQueryFns-B81GSST_.js} +2 -2
  82. package/dist/{topologyQueryFns-esX6R5j4.cjs → topologyQueryFns-C0kAqcn5.cjs} +2 -2
  83. package/dist/vectors.cjs +1 -1
  84. package/dist/vectors.js +1 -1
  85. package/package.json +8 -8
@@ -1,6 +1,6 @@
1
1
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
2
2
  const require_occtWasmAdapter = require("./occtWasmAdapter-CdyaMnBW.cjs");
3
- const require_errors = require("./errors-D9tBO0km.cjs");
3
+ const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  //#region src/kernel/kernel2dTypes.ts
5
5
  /** Check if the kernel supports 2D geometry operations. */
6
6
  function supportsKernel2D(kernel) {
@@ -12031,24 +12031,38 @@ function spineWire(target, params) {
12031
12031
  function isShellResult(value) {
12032
12032
  return typeof value === "object" && value !== null && "shape" in value && "firstShape" in value && "lastShape" in value;
12033
12033
  }
12034
- /**
12035
- * Replay an op-graph onto `targetKernel`, returning the exact B-rep shape.
12036
- *
12037
- * Memoized post-order: each node's inputs are replayed first (deduplicated via
12038
- * the shared cache so a DAG with reused sub-graphs replays each node once), then
12039
- * the node's own handler runs. Throws on any non-replayable node or unmapped op.
12040
- */
12041
- function replay(node, targetKernel, cache = /* @__PURE__ */ new Map()) {
12034
+ function replayNode(node, targetKernel, cache, allocated) {
12042
12035
  const cached = cache.get(node);
12043
12036
  if (cached !== void 0) return cached;
12044
12037
  if (!node.replayable) throw new Error(`manifold replay: op '${node.op}' is not replayable (raw-mesh origin or unsupported)`);
12045
12038
  const handler = HANDLERS[node.op];
12046
12039
  if (!handler) throw new Error(`manifold replay: no replay handler for op '${node.op}'`);
12047
- const inputs = node.inputs.map((child) => replay(child, targetKernel, cache));
12040
+ const inputs = node.inputs.map((child) => replayNode(child, targetKernel, cache, allocated));
12048
12041
  const result = handler(targetKernel, node.params, inputs);
12049
12042
  cache.set(node, result);
12043
+ allocated.add(result);
12050
12044
  return result;
12051
12045
  }
12046
+ /**
12047
+ * Replay an op-graph onto `targetKernel`, returning the exact B-rep shape.
12048
+ *
12049
+ * Memoized post-order: each node's inputs are replayed first (deduplicated via
12050
+ * the shared cache so a DAG with reused sub-graphs replays each node once), then
12051
+ * the node's own handler runs. Throws on any non-replayable node or unmapped op.
12052
+ *
12053
+ * Every node produces an intermediate OCCT WASM-heap shape, but only the root is
12054
+ * returned (and retained by the caller's `brepCache`). To avoid leaking the rest
12055
+ * for the lifetime of the session, the intermediates this call allocated are
12056
+ * disposed once the full recursion completes — they are only inputs to copying
12057
+ * ops (booleans/modifiers), so the root holds its own geometry. Shapes the caller
12058
+ * pre-seeded into `cache` are not in `allocated` and so are never disposed here.
12059
+ */
12060
+ function replay(node, targetKernel, cache = /* @__PURE__ */ new Map()) {
12061
+ const allocated = /* @__PURE__ */ new Set();
12062
+ const root = replayNode(node, targetKernel, cache, allocated);
12063
+ for (const shape of allocated) if (shape !== root) targetKernel.dispose(shape);
12064
+ return root;
12065
+ }
12052
12066
  //#endregion
12053
12067
  //#region src/kernel/manifold/measureOps.ts
12054
12068
  function solidOf(shape) {
@@ -1,6 +1,6 @@
1
1
  import { n as wasmIndex, t as vec3At } from "./vec3-Dpha8d5k.js";
2
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
- import { A as ok, b as err } from "./errors-DOPT3OTg.js";
3
+ import { A as ok, b as err } from "./errors-DNWJsfVU.js";
4
4
  //#region src/kernel/kernel2dTypes.ts
5
5
  /** Check if the kernel supports 2D geometry operations. */
6
6
  function supportsKernel2D(kernel) {
@@ -12023,24 +12023,38 @@ function spineWire(target, params) {
12023
12023
  function isShellResult(value) {
12024
12024
  return typeof value === "object" && value !== null && "shape" in value && "firstShape" in value && "lastShape" in value;
12025
12025
  }
12026
- /**
12027
- * Replay an op-graph onto `targetKernel`, returning the exact B-rep shape.
12028
- *
12029
- * Memoized post-order: each node's inputs are replayed first (deduplicated via
12030
- * the shared cache so a DAG with reused sub-graphs replays each node once), then
12031
- * the node's own handler runs. Throws on any non-replayable node or unmapped op.
12032
- */
12033
- function replay(node, targetKernel, cache = /* @__PURE__ */ new Map()) {
12026
+ function replayNode(node, targetKernel, cache, allocated) {
12034
12027
  const cached = cache.get(node);
12035
12028
  if (cached !== void 0) return cached;
12036
12029
  if (!node.replayable) throw new Error(`manifold replay: op '${node.op}' is not replayable (raw-mesh origin or unsupported)`);
12037
12030
  const handler = HANDLERS[node.op];
12038
12031
  if (!handler) throw new Error(`manifold replay: no replay handler for op '${node.op}'`);
12039
- const inputs = node.inputs.map((child) => replay(child, targetKernel, cache));
12032
+ const inputs = node.inputs.map((child) => replayNode(child, targetKernel, cache, allocated));
12040
12033
  const result = handler(targetKernel, node.params, inputs);
12041
12034
  cache.set(node, result);
12035
+ allocated.add(result);
12042
12036
  return result;
12043
12037
  }
12038
+ /**
12039
+ * Replay an op-graph onto `targetKernel`, returning the exact B-rep shape.
12040
+ *
12041
+ * Memoized post-order: each node's inputs are replayed first (deduplicated via
12042
+ * the shared cache so a DAG with reused sub-graphs replays each node once), then
12043
+ * the node's own handler runs. Throws on any non-replayable node or unmapped op.
12044
+ *
12045
+ * Every node produces an intermediate OCCT WASM-heap shape, but only the root is
12046
+ * returned (and retained by the caller's `brepCache`). To avoid leaking the rest
12047
+ * for the lifetime of the session, the intermediates this call allocated are
12048
+ * disposed once the full recursion completes — they are only inputs to copying
12049
+ * ops (booleans/modifiers), so the root holds its own geometry. Shapes the caller
12050
+ * pre-seeded into `cache` are not in `allocated` and so are never disposed here.
12051
+ */
12052
+ function replay(node, targetKernel, cache = /* @__PURE__ */ new Map()) {
12053
+ const allocated = /* @__PURE__ */ new Set();
12054
+ const root = replayNode(node, targetKernel, cache, allocated);
12055
+ for (const shape of allocated) if (shape !== root) targetKernel.dispose(shape);
12056
+ return root;
12057
+ }
12044
12058
  //#endregion
12045
12059
  //#region src/kernel/manifold/measureOps.ts
12046
12060
  function solidOf(shape) {
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-CZ4MphXu.cjs");
3
- const require_blueprintSketcher = require("./blueprintSketcher-C1C9mJuK.cjs");
4
- const require_drawFns = require("./drawFns-DzgqLm1w.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-C93RophN.cjs");
3
+ const require_blueprintSketcher = require("./blueprintSketcher-m18T1U1T.cjs");
4
+ const require_drawFns = require("./drawFns-BGIQ1IeV.cjs");
5
5
  //#region src/sketching.ts
6
6
  /**
7
7
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
package/dist/sketching.js CHANGED
@@ -1,6 +1,6 @@
1
- import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-DaqbMIfk.js";
2
- import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-D2u7C_7g.js";
3
- import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-Dv4YWJrA.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-BwFpbp0B.js";
2
+ import { A as sketchEllipse, C as DrawingPen, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, T as Drawing, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-ZhKR7xa0.js";
3
+ import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, o as compoundSketchExtrude, p as sketchRevolve, s as compoundSketchFace, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BKdQqBn8.js";
4
4
  //#region src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-D946X6Qx.js";
2
- import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-DOPT3OTg.js";
3
- import { _ as downcast, g as cast } from "./faceFns-Druzi4mz.js";
1
+ import { Z as getKernel, _ as isSolid, c as createSolid, g as isShell, h as isShape3D, i as createCompound, l as createVertex } from "./shapeTypes-C-MpR5-e.js";
2
+ import { A as ok, R as unwrap, b as err, l as typeCastError, v as andThen } from "./errors-DNWJsfVU.js";
3
+ import { _ as downcast, g as cast } from "./faceFns-eVWgSIzt.js";
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DRIhPf8A.cjs");
2
- const require_errors = require("./errors-D9tBO0km.cjs");
3
- const require_faceFns = require("./faceFns-DNOsmyRn.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-Bbh2doYh.cjs");
2
+ const require_errors = require("./errors-CXJtc4I7.cjs");
3
+ const require_faceFns = require("./faceFns-C6qUr_gw.cjs");
4
4
  //#region src/topology/shapeUtils.ts
5
5
  /**
6
6
  * Shape assembly utilities — welding and sewing operations.
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-D946X6Qx.js";
2
- import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-DOPT3OTg.js";
3
- import { g as cast, l as outerWire } from "./faceFns-Druzi4mz.js";
1
+ import { Z as getKernel, a as createEdge, o as createFace, p as isFace, u as createWire, w as isPlanarFace } from "./shapeTypes-C-MpR5-e.js";
2
+ import { A as ok, b as err, d as validationError, i as kernelError, v as andThen } from "./errors-DNWJsfVU.js";
3
+ import { g as cast, l as outerWire } from "./faceFns-eVWgSIzt.js";
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DRIhPf8A.cjs");
2
- const require_errors = require("./errors-D9tBO0km.cjs");
3
- const require_faceFns = require("./faceFns-DNOsmyRn.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-Bbh2doYh.cjs");
2
+ const require_errors = require("./errors-CXJtc4I7.cjs");
3
+ const require_faceFns = require("./faceFns-C6qUr_gw.cjs");
4
4
  //#region src/utils/range.ts
5
5
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
6
6
  function range(len) {
package/dist/text.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_textBlueprints = require("./textBlueprints-CZ4MphXu.cjs");
3
- const require_textMetrics = require("./textMetrics-BpmNTwLm.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-C93RophN.cjs");
3
+ const require_textMetrics = require("./textMetrics-2vq4PFfz.cjs");
4
4
  exports.fontMetrics = require_textMetrics.fontMetrics;
5
5
  exports.getFont = require_textBlueprints.getFont;
6
6
  exports.loadFont = require_textBlueprints.loadFont;
package/dist/text.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-Dv4YWJrA.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Dvh4HzSZ.js";
1
+ import { n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-BKdQqBn8.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-DEmVsP5C.js";
3
3
  export { fontMetrics, getFont, loadFont, sketchText, textBlueprints, textMetrics };
@@ -1,15 +1,15 @@
1
- import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-D946X6Qx.js";
2
- import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-DOPT3OTg.js";
1
+ import { Z as getKernel, h as isShape3D, o as createFace, p as isFace, t as castShape, u as createWire } from "./shapeTypes-C-MpR5-e.js";
2
+ import { A as ok, R as unwrap, T as isOk, b as err, d as validationError, h as bug, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
3
3
  import { r as toVec3 } from "./types-D24Y27N0.js";
4
4
  import { d as vecNormalize, h as vecScale, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
- import { n as createPlane } from "./planeOps-YTeuXs80.js";
6
- import { _ as downcast, g as cast } from "./faceFns-Druzi4mz.js";
7
- import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-DHAvRosC.js";
5
+ import { n as createPlane } from "./planeOps-DSjjtrjg.js";
6
+ import { _ as downcast, g as cast } from "./faceFns-eVWgSIzt.js";
7
+ import { c as curveStartPoint, l as curveTangentAt } from "./curveFns-rUkX4tEm.js";
8
8
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
9
- import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-CUFC3tNT.js";
10
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DaqbMIfk.js";
11
- import { o as makeSolid, t as makeCompound } from "./solidBuilders-2xiE6FDe.js";
12
- import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-WH0yd_Fb.js";
9
+ import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-D4p1YPCz.js";
10
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-BwFpbp0B.js";
11
+ import { o as makeSolid, t as makeCompound } from "./solidBuilders-C44fKbQQ.js";
12
+ import { c as sweep, i as complexExtrude, l as twistExtrude, r as revolve, t as extrude } from "./extrudeFns-Cl_azGgy.js";
13
13
  import opentype from "opentype.js";
14
14
  //#region src/operations/loftFns.ts
15
15
  /**
@@ -29,18 +29,18 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
29
29
  enumerable: true
30
30
  }) : target, mod));
31
31
  //#endregion
32
- const require_shapeTypes = require("./shapeTypes-DRIhPf8A.cjs");
33
- const require_errors = require("./errors-D9tBO0km.cjs");
32
+ const require_shapeTypes = require("./shapeTypes-Bbh2doYh.cjs");
33
+ const require_errors = require("./errors-CXJtc4I7.cjs");
34
34
  const require_types = require("./types-KjA8tY4Y.cjs");
35
35
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
36
- const require_planeOps = require("./planeOps-DTY92UCh.cjs");
37
- const require_faceFns = require("./faceFns-DNOsmyRn.cjs");
38
- const require_curveFns = require("./curveFns-ChkLRL8a.cjs");
36
+ const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
37
+ const require_faceFns = require("./faceFns-C6qUr_gw.cjs");
38
+ const require_curveFns = require("./curveFns-p1YEnmZu.cjs");
39
39
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
40
- const require_surfaceBuilders = require("./surfaceBuilders-CZ7u_Xmi.cjs");
41
- const require_blueprintSketcher = require("./blueprintSketcher-C1C9mJuK.cjs");
42
- const require_solidBuilders = require("./solidBuilders-8PLYgzL9.cjs");
43
- const require_extrudeFns = require("./extrudeFns-WYDSlEW8.cjs");
40
+ const require_surfaceBuilders = require("./surfaceBuilders-DsISMCwj.cjs");
41
+ const require_blueprintSketcher = require("./blueprintSketcher-m18T1U1T.cjs");
42
+ const require_solidBuilders = require("./solidBuilders-Ck6gpdQR.cjs");
43
+ const require_extrudeFns = require("./extrudeFns-DpRGUaxD.cjs");
44
44
  let opentype_js = require("opentype.js");
45
45
  opentype_js = __toESM(opentype_js, 1);
46
46
  //#region src/operations/loftFns.ts
@@ -1,5 +1,5 @@
1
- const require_textBlueprints = require("./textBlueprints-CZ4MphXu.cjs");
2
- const require_errors = require("./errors-D9tBO0km.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-C93RophN.cjs");
2
+ const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,5 +1,5 @@
1
- import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DOPT3OTg.js";
2
- import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-Dv4YWJrA.js";
1
+ import { A as ok, b as err, d as validationError, t as BrepErrorCode } from "./errors-DNWJsfVU.js";
2
+ import { g as wrapSketchData, i as Sketches, n as getFont, t as textBlueprints, v as CompoundSketch } from "./textBlueprints-BKdQqBn8.js";
3
3
  //#region src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
package/dist/topology.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-esX6R5j4.cjs");
3
- const require_faceFns = require("./faceFns-DNOsmyRn.cjs");
4
- const require_shapeFns = require("./shapeFns-CSlSyyi1.cjs");
5
- const require_curveFns = require("./curveFns-ChkLRL8a.cjs");
6
- const require_meshFns = require("./meshFns-yusYccFx.cjs");
7
- const require_booleanFns = require("./booleanFns-X-pT22Jh.cjs");
8
- const require_primitiveFns = require("./primitiveFns-DzGTYy_l.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-C0kAqcn5.cjs");
3
+ const require_faceFns = require("./faceFns-C6qUr_gw.cjs");
4
+ const require_shapeFns = require("./shapeFns-B3v9_keQ.cjs");
5
+ const require_curveFns = require("./curveFns-p1YEnmZu.cjs");
6
+ const require_meshFns = require("./meshFns-DM2mLIlu.cjs");
7
+ const require_booleanFns = require("./booleanFns-D19tR8Gn.cjs");
8
+ const require_primitiveFns = require("./primitiveFns-CXn9Jl4q.cjs");
9
9
  exports.addHoles = require_primitiveFns.addHoles;
10
10
  exports.adjacentFaces = require_primitiveFns.adjacentFaces;
11
11
  exports.approximateCurve = require_curveFns.approximateCurve;
package/dist/topology.js CHANGED
@@ -1,8 +1,8 @@
1
- import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-D5YTf9GW.js";
2
- import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-Druzi4mz.js";
3
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-BYKFvtTb.js";
4
- import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-DHAvRosC.js";
5
- import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-CkzlLwZw.js";
6
- import { a as fuseAll, r as cutAll } from "./booleanFns-Byv33KMu.js";
7
- import { $ as fuseAllBisect, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-CbpHBZdf.js";
1
+ import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces, f as getVertices, g as iterEdges, m as invalidateShapeCache, n as getBounds, p as getWires, s as getEdges, x as iterWires } from "./topologyQueryFns-B81GSST_.js";
2
+ import { _ as downcast, a as flipFaceOrientation, b as iterTopo, c as normalAt, d as projectPointOnFace, g as cast, h as asTopo, i as faceOrientation, l as outerWire, m as uvCoordinates, n as faceCenter, o as getSurfaceType, p as uvBounds, r as faceGeomType, s as innerWires, t as classifyPointOnFace, u as pointOnSurface, v as fromBREP, x as shapeType, y as isCompSolid } from "./faceFns-eVWgSIzt.js";
3
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-BbHQjI5-.js";
4
+ import { a as curveLength, c as curveStartPoint, d as getCurveType, f as getOrientation, i as curveIsPeriodic, l as curveTangentAt, m as offsetWire2D, n as curveEndPoint, o as curvePeriod, p as interpolateCurve, r as curveIsClosed, s as curvePointAt, t as approximateCurve, u as flipOrientation } from "./curveFns-rUkX4tEm.js";
5
+ import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-F9QLm-Bk.js";
6
+ import { a as fuseAll, r as cutAll } from "./booleanFns-nHsLqZ7Y.js";
7
+ import { $ as fuseAllBisect, A as fixShape, C as threePointArc, D as wireLoop, E as wire, G as chamferWithEvolution, I as solidFromShell, J as fuseWithEvolution, K as cutWithEvolution, M as healFace, N as healSolid, O as autoHeal, P as healWire, Q as cutAllBisect, S as tangentArc, T as vertex, U as variableFillet, W as positionOnCurve, X as shellWithEvolution, Y as intersectWithEvolution, Z as checkBoolean, _ as polygon, a as circle, at as sharedEdges, b as sphere, c as cylinder, ct as chamferDistAngle, d as ellipsoid, et as getNurbsCurveData, f as face, ft as toLineGeometryData, g as offsetFace, h as line, i as bsplineApprox, it as facesOfEdge, k as fixSelfIntersection, l as ellipse, lt as toBufferGeometryData, m as helix, n as bezier, nt as adjacentFaces, o as compound, ot as verticesOfEdge, p as filledFace, q as filletWithEvolution, r as box, rt as edgesOfFace, s as cone, st as wiresOfFace, t as addHoles, tt as getNurbsSurfaceData, u as ellipseArc, ut as toGroupedBufferGeometryData, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-vQh7Lz7B.js";
8
8
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
@@ -1,5 +1,5 @@
1
- import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-D946X6Qx.js";
2
- import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-DOPT3OTg.js";
1
+ import { N as getOrQueryType, R as DisposalScope, Y as _usingCtx, Z as getKernel, r as castShapeWithKnownType, t as castShape } from "./shapeTypes-C-MpR5-e.js";
2
+ import { A as ok, b as err, f as getSuggestionForCode, p as translateKernelError } from "./errors-DNWJsfVU.js";
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
5
5
  const base = {
@@ -1,5 +1,5 @@
1
- const require_shapeTypes = require("./shapeTypes-DRIhPf8A.cjs");
2
- const require_errors = require("./errors-D9tBO0km.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-Bbh2doYh.cjs");
2
+ const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/core/kernelCall.ts
4
4
  function buildError(kind, code, message, cause, suggestion) {
5
5
  const base = {
package/dist/vectors.cjs CHANGED
@@ -2,7 +2,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_constants = require("./constants-BOVyEYGH.cjs");
3
3
  const require_types = require("./types-KjA8tY4Y.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
- const require_planeOps = require("./planeOps-DTY92UCh.cjs");
5
+ const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
6
6
  exports.DEG2RAD = require_constants.DEG2RAD;
7
7
  exports.RAD2DEG = require_constants.RAD2DEG;
8
8
  exports.createNamedPlane = require_planeOps.createNamedPlane;
package/dist/vectors.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
2
2
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
3
3
  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";
4
- import { i as pivotPlane, n as createPlane, o as resolvePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-YTeuXs80.js";
4
+ import { i as pivotPlane, n as createPlane, o as resolvePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
5
5
  export { DEG2RAD, RAD2DEG, createNamedPlane, createPlane, pivotPlane, resolveDirection, resolvePlane, toVec2, toVec3, translatePlane, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "18.35.0",
3
+ "version": "18.35.2",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",
@@ -250,27 +250,27 @@
250
250
  "@eslint/js": "10.0.1",
251
251
  "@size-limit/file": "12.1.0",
252
252
  "@types/opentype.js": "1.3.9",
253
- "@types/react": "19.2.14",
254
- "@vitest/coverage-v8": "4.1.6",
253
+ "@types/react": "19.2.15",
254
+ "@vitest/coverage-v8": "4.1.7",
255
255
  "brepjs-opencascade": "*",
256
256
  "brepkit-wasm": "2.101.2",
257
257
  "eslint": "10.4.0",
258
258
  "fast-check": "4.8.0",
259
259
  "husky": "9.1.7",
260
- "knip": "6.14.1",
260
+ "knip": "6.14.2",
261
261
  "lint-staged": "17.0.5",
262
262
  "lz-string": "1.5.0",
263
263
  "occt-wasm": "3.1.0",
264
264
  "prettier": "3.8.3",
265
- "puppeteer": "25.0.2",
265
+ "puppeteer": "25.0.4",
266
266
  "size-limit": "12.1.0",
267
267
  "sucrase": "3.35.1",
268
268
  "typedoc": "0.28.19",
269
269
  "typescript": "6.0.3",
270
- "typescript-eslint": "8.59.3",
270
+ "typescript-eslint": "8.59.4",
271
271
  "vite": "8.0.14",
272
- "vite-plugin-dts": "5.0.0",
273
- "vitest": "4.1.6"
272
+ "vite-plugin-dts": "5.0.1",
273
+ "vitest": "4.1.7"
274
274
  },
275
275
  "peerDependencies": {
276
276
  "brepjs-manifold": "^0.1.0",