brepjs 20.13.6 → 20.14.0

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 (90) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{adjacencyFns-BLtq-nUN.cjs → adjacencyFns-B6fMyAj0.cjs} +3 -3
  4. package/dist/{adjacencyFns-C1Hxy0tk.js → adjacencyFns-n6XWEyj1.js} +3 -3
  5. package/dist/{blueprint-BzI6waZa.js → blueprint-2j8szIQ6.js} +5 -5
  6. package/dist/{blueprint-DlpFhHbU.cjs → blueprint-Cfj9EupK.cjs} +5 -5
  7. package/dist/{blueprintFns-Cc9OyvKE.cjs → blueprintFns-7SWJcrSi.cjs} +2 -2
  8. package/dist/{blueprintFns-HFd0lu9A.js → blueprintFns-C4VacaAG.js} +2 -2
  9. package/dist/{blueprintSketcher-BrQee61I.js → blueprintSketcher-D81yS5Em.js} +3 -3
  10. package/dist/{blueprintSketcher-DUT3-Cuo.cjs → blueprintSketcher-zx0yhxOF.cjs} +3 -3
  11. package/dist/{boolean2D-BC0TwxyB.cjs → boolean2D-BMfzZ4n8.cjs} +4 -4
  12. package/dist/{boolean2D-CvBeghsg.js → boolean2D-DhW8iZoR.js} +4 -4
  13. package/dist/{booleanFns-Dti1CK1F.cjs → booleanFns-CaHF13T-.cjs} +5 -5
  14. package/dist/{booleanFns-Dtg2jqzi.js → booleanFns-DIqS3nBK.js} +5 -5
  15. package/dist/brepjs.cjs +30 -30
  16. package/dist/brepjs.js +30 -30
  17. package/dist/{cameraFns-CXONX5Da.js → cameraFns-DB_nPXR7.js} +3 -3
  18. package/dist/{cameraFns--Ab792oE.cjs → cameraFns-T60Qk0tk.cjs} +3 -3
  19. package/dist/core.cjs +2 -2
  20. package/dist/core.js +2 -2
  21. package/dist/{cornerFinder-DUzrQsfW.cjs → cornerFinder-CNuTBfRo.cjs} +1 -1
  22. package/dist/{cornerFinder-C7f43oKE.js → cornerFinder-GtiadLBr.js} +1 -1
  23. package/dist/{curveFns-Dzgl3_MC.js → curveFns-CGQCy_D5.js} +1 -1
  24. package/dist/{curveFns-QaNfJzko.cjs → curveFns-m73YVbFb.cjs} +1 -1
  25. package/dist/{drawFns-WvF0fehK.js → drawFns-D9GuLtRK.js} +12 -12
  26. package/dist/{drawFns-BRXk9fLg.cjs → drawFns-DCY1v4nI.cjs} +12 -12
  27. package/dist/{faceFns-BG1CBQUM.js → faceFns-BNv6thpF.js} +2 -2
  28. package/dist/{faceFns-dj_c8LVc.cjs → faceFns-CPGJ_cx6.cjs} +2 -2
  29. package/dist/{healingFns-BSNNLyXP.cjs → healingFns-D33MBaNA.cjs} +36 -21
  30. package/dist/{healingFns-CfkUEqcL.js → healingFns-w-PHd-Lj.js} +36 -21
  31. package/dist/{helpers-6Emek9dE.cjs → helpers-CCnN8-PY.cjs} +6 -6
  32. package/dist/{helpers-DolHn2_s.js → helpers-Ci_WZ5ou.js} +6 -6
  33. package/dist/{importFns-D1AxkVC3.js → importFns-DQgcQQCb.js} +5 -5
  34. package/dist/{importFns-CZb21dj7.cjs → importFns-zfbC3bIK.cjs} +5 -5
  35. package/dist/io.cjs +2 -2
  36. package/dist/io.js +2 -2
  37. package/dist/kernel/occtWasm/helpers.d.ts +12 -2
  38. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  39. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -1
  40. package/dist/{loftFns-BD0na-M4.cjs → loftFns-DQJM-35I.cjs} +2 -2
  41. package/dist/{loftFns-Cua-MamP.js → loftFns-mrTzIf4_.js} +2 -2
  42. package/dist/{measureFns-FrNeGmXh.cjs → measureFns-CpoPgAZt.cjs} +4 -4
  43. package/dist/{measureFns-WGYWWnQ1.js → measureFns-MSr05_kf.js} +4 -4
  44. package/dist/measurement.cjs +2 -2
  45. package/dist/measurement.js +2 -2
  46. package/dist/{meshFns-Lie8oAac.js → meshFns-BIWD7IFN.js} +4 -4
  47. package/dist/{meshFns-Dy1a9wl_.cjs → meshFns-BxRKwY5z.cjs} +4 -4
  48. package/dist/{occtWasmAdapter-B9ZXx36v.cjs → occtWasmAdapter-BH1JcAgl.cjs} +12 -4
  49. package/dist/{occtWasmAdapter-CGkZIHyM.js → occtWasmAdapter-DD_6IAVj.js} +12 -4
  50. package/dist/operations.cjs +2 -2
  51. package/dist/operations.js +2 -2
  52. package/dist/{primitiveFns-w-ST-RDJ.js → primitiveFns-BaYEo9qN.js} +5 -5
  53. package/dist/{primitiveFns-Dpn3ZtUE.cjs → primitiveFns-D8D9dI_P.cjs} +5 -5
  54. package/dist/{principalBoxFns-CjfJnZfH.js → principalBoxFns-CBWLch1h.js} +3 -3
  55. package/dist/{principalBoxFns-3ZURcOFP.cjs → principalBoxFns-CNSK-z3k.cjs} +3 -3
  56. package/dist/projection.cjs +1 -1
  57. package/dist/projection.js +1 -1
  58. package/dist/query.cjs +2 -2
  59. package/dist/query.js +2 -2
  60. package/dist/{refResolveFns-ROMmhWfH.cjs → refResolveFns-CuewCIRB.cjs} +6 -6
  61. package/dist/{refResolveFns-Yy1n2BHJ.js → refResolveFns-DaZPev13.js} +6 -6
  62. package/dist/{shapeFns-BRRrZc1X.js → shapeFns-3NzCE2kz.js} +2 -2
  63. package/dist/{shapeFns-CljM3iMI.cjs → shapeFns-Cklw3p3S.cjs} +2 -2
  64. package/dist/shapeRef.cjs +1 -1
  65. package/dist/shapeRef.js +1 -1
  66. package/dist/{shapeTypes-DEe6gtTR.cjs → shapeTypes-CgayxMvX.cjs} +1 -1
  67. package/dist/{shapeTypes-w2wyXEis.js → shapeTypes-qhs8f2zx.js} +1 -1
  68. package/dist/sketching.cjs +3 -3
  69. package/dist/sketching.js +3 -3
  70. package/dist/{solidBuilders-yQFZe6jf.cjs → solidBuilders-BvIdZUkI.cjs} +3 -3
  71. package/dist/{solidBuilders-BxIYXIv-.js → solidBuilders-DhDGnOTQ.js} +3 -3
  72. package/dist/{surfaceBuilders-dWcQ_BpM.cjs → surfaceBuilders-BPAW6RbN.cjs} +3 -3
  73. package/dist/{surfaceBuilders-BZ7BW8I0.js → surfaceBuilders-D9WX9gHX.js} +3 -3
  74. package/dist/text.cjs +2 -2
  75. package/dist/text.js +2 -2
  76. package/dist/{textBlueprints-Tx73Xex5.cjs → textBlueprints-CTMykb_E.cjs} +8 -8
  77. package/dist/{textBlueprints-CxhhPEaF.js → textBlueprints-CxufM4VF.js} +8 -8
  78. package/dist/{textMetrics-B5dKPalE.js → textMetrics-CdvERXfK.js} +1 -1
  79. package/dist/{textMetrics-9q5S5II9.cjs → textMetrics-D51K9Ddx.cjs} +1 -1
  80. package/dist/{threadFns-Dfu2jV41.js → threadFns-BUy4gIG3.js} +7 -7
  81. package/dist/{threadFns-BnNo5eND.cjs → threadFns-zNevH3kU.cjs} +7 -7
  82. package/dist/topology/apiTypes.d.ts +2 -1
  83. package/dist/topology/modifierFns.d.ts +11 -0
  84. package/dist/topology.cjs +9 -9
  85. package/dist/topology.js +9 -9
  86. package/dist/{topologyQueryFns-CTl4cWYD.js → topologyQueryFns-CArmw9sE.js} +1 -1
  87. package/dist/{topologyQueryFns-I_m8o-s7.cjs → topologyQueryFns-EI-aso9K.cjs} +1 -1
  88. package/dist/{validityTypes-DgknRAAp.cjs → validityTypes-DFEPeAkV.cjs} +1 -1
  89. package/dist/{validityTypes-C2K0Eepw.js → validityTypes-DiOmm0sf.js} +1 -1
  90. package/package.json +1 -1
@@ -2313,6 +2313,13 @@ function resolveEdgeValues(edges, value) {
2313
2313
  second
2314
2314
  };
2315
2315
  }
2316
+ /**
2317
+ * occt-wasm's fillet entry points take only positive radii, though its
2318
+ * single-edge filletVariable builds a fillet that runs out to a radius of 0.
2319
+ */
2320
+ function refuseVanishingFilletRadius({ first, second }) {
2321
+ if (first.includes(0) || second.includes(0)) throw new UnsupportedKernelOperationError("occt-wasm: a fillet radius that runs to 0 is built only by variableFillet");
2322
+ }
2316
2323
  /** The value every edge takes on both sides, or `undefined` when they differ. */
2317
2324
  function uniformEdgeValue({ first, second }) {
2318
2325
  const [value] = first;
@@ -2323,10 +2330,11 @@ function uniformEdgeValue({ first, second }) {
2323
2330
  * Run a fillet or chamfer over `edges`, naming the edges it fails on. Edges
2324
2331
  * that all take one value go to `uniform`, the single-value entry point every
2325
2332
  * occt-wasm build has; otherwise `perEdge` gets each edge's pair as `first`
2326
- * and `second`.
2333
+ * and `second`. `check` sees the resolved values first and throws to refuse them.
2327
2334
  */
2328
- function runEdgeTreatment(Module, edges, value, uniform, perEdge) {
2335
+ function runEdgeTreatment(Module, edges, value, uniform, perEdge, check) {
2329
2336
  const values = resolveEdgeValues(edges, value);
2337
+ check?.(values);
2330
2338
  const shared = uniformEdgeValue(values);
2331
2339
  const edgeVec = makeVecU32(Module, edges.map(unwrap));
2332
2340
  try {
@@ -3813,7 +3821,7 @@ function fillet(k, Module, shape, edges, radius) {
3813
3821
  return wrapResult(k, runEdgeTreatment(Module, edges, radius, (edgeVec, r) => k.fillet(id, edgeVec, r), (edgeVec, startRadii, endRadii) => {
3814
3822
  if (!k.filletRadii) throw needsOcctWasm59("per-edge or tapered fillet radii");
3815
3823
  return k.filletRadii(id, edgeVec, startRadii, endRadii);
3816
- }));
3824
+ }, refuseVanishingFilletRadius));
3817
3825
  }
3818
3826
  function chamfer(k, Module, shape, edges, distance) {
3819
3827
  const id = unwrap(shape);
@@ -6259,7 +6267,7 @@ function filletWithHistory(k, Module, shape, edges, radius, inputFaceHashes, has
6259
6267
  const { id, evolution } = parseEvolution(runEdgeTreatment(Module, edges, radius, (edgeVec, r) => k.filletWithHistory(shapeId, edgeVec, r, hashVec, hashUpperBound), (edgeVec, startRadii, endRadii) => {
6260
6268
  if (!k.filletRadiiWithHistory) throw needsOcctWasm59("per-edge or tapered fillet radii");
6261
6269
  return k.filletRadiiWithHistory(shapeId, edgeVec, startRadii, endRadii, hashVec, hashUpperBound);
6262
- }));
6270
+ }, refuseVanishingFilletRadius));
6263
6271
  return {
6264
6272
  shape: wrapResult(k, id),
6265
6273
  evolution
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_threadFns = require("./threadFns-BnNo5eND.cjs");
3
- const require_loftFns = require("./loftFns-BD0na-M4.cjs");
2
+ const require_threadFns = require("./threadFns-zNevH3kU.cjs");
3
+ const require_loftFns = require("./loftFns-DQJM-35I.cjs");
4
4
  exports.addChild = require_threadFns.addChild;
5
5
  exports.addJoint = require_threadFns.addJoint;
6
6
  exports.addStep = require_threadFns.addStep;
@@ -1,3 +1,3 @@
1
- import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, H as circularPattern, I as createAssemblyNode, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-Dfu2jV41.js";
2
- import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-Cua-MamP.js";
1
+ import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, H as circularPattern, I as createAssemblyNode, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-BUy4gIG3.js";
2
+ import { c as twistExtrude, o as supportExtrude, r as complexExtrude, s as sweep } from "./loftFns-mrTzIf4_.js";
3
3
  export { addChild, addJoint, addStep, circularPattern, collectShapes, complexExtrude, countNodes, createAssembly, createAssemblyNode, createHistory, createRegistry, cylindricalJoint, exportAssemblySTEP, exportURDF, findNode, findStep, forwardKinematics, getShape as getHistoryShape, gridPattern, importURDF, inverseKinematics, jointTrajectory, jointTransform, jointsFromDH, linearPattern, mechanismDOF, modifyStep, planarJoint, prismaticJoint, registerOperation, registerShape, removeChild, replayFrom, replayHistory, revoluteJoint, setJointValue, setJointValues, sphericalJoint, stepCount, stepsFrom, supportExtrude, sweep, thread, twistExtrude, undoLast, updateNode, walkAssembly };
@@ -1,11 +1,11 @@
1
- import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-w2wyXEis.js";
1
+ import { E as GeometryCleanupError, G as _usingCtx, d as createSolid, n as castResultShape, q as getKernel } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { E as ok, d as validationError, g as err, m as andThen, t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { n as isClosedWire } from "./validityTypes-C2K0Eepw.js";
3
+ import { n as isClosedWire } from "./validityTypes-DiOmm0sf.js";
4
4
  import { n as HASH_CODE_MAX, t as DEG2RAD } from "./constants-iraOnb2p.js";
5
5
  import { d as vecNormalize, h as vecScale } from "./vecOps-S-m9H_fe.js";
6
- import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-BxIYXIv-.js";
7
- import { f as collectInputFaceHashes, g as propagateMetadataThroughRelocation, h as propagateMetadataByHash, m as propagateAllMetadata, p as hasAnyMetadata } from "./booleanFns-Dtg2jqzi.js";
8
- import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-BZ7BW8I0.js";
6
+ import { a as makeOffset, c as makeTorus, i as makeEllipsoid, l as makeVertex, n as makeCone, o as makeSolid, r as makeCylinder, s as makeSphere, t as makeCompound, u as weldShellsAndFaces } from "./solidBuilders-DhDGnOTQ.js";
7
+ import { f as collectInputFaceHashes, g as propagateMetadataThroughRelocation, h as propagateMetadataByHash, m as propagateAllMetadata, p as hasAnyMetadata } from "./booleanFns-DIqS3nBK.js";
8
+ import { _ as makeThreePointArc, a as makeNonPlanarFace, c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, g as makeTangentArc, h as makeLine, i as makeNewFaceWithinFace, m as makeHelix, o as makePolygon, p as makeEllipseArc, r as makeFace, s as assembleWire, t as addHolesInFace, u as makeBezierCurve } from "./surfaceBuilders-D9WX9gHX.js";
9
9
  // src/topology/transformFns.ts
10
10
  /**
11
11
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
@@ -1,11 +1,11 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_validityTypes = require("./validityTypes-DgknRAAp.cjs");
3
+ const require_validityTypes = require("./validityTypes-DFEPeAkV.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
- const require_solidBuilders = require("./solidBuilders-yQFZe6jf.cjs");
7
- const require_booleanFns = require("./booleanFns-Dti1CK1F.cjs");
8
- const require_surfaceBuilders = require("./surfaceBuilders-dWcQ_BpM.cjs");
6
+ const require_solidBuilders = require("./solidBuilders-BvIdZUkI.cjs");
7
+ const require_booleanFns = require("./booleanFns-CaHF13T-.cjs");
8
+ const require_surfaceBuilders = require("./surfaceBuilders-BPAW6RbN.cjs");
9
9
  // src/topology/transformFns.ts
10
10
  /**
11
11
  * Immutable shape transforms — translate, rotate, scale, mirror, applyMatrix.
@@ -1,9 +1,9 @@
1
- import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-w2wyXEis.js";
1
+ import { G as _usingCtx, n as castResultShape, q as getKernel } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { i as wasmIndex } from "./bug-ClMTAJhe.js";
3
3
  import { E as ok, d as validationError, g as err, t as BrepErrorCode, u as unsupportedError } from "./errors-BTccWbtE.js";
4
- import { E as kernelCallRaw } from "./topologyQueryFns-CTl4cWYD.js";
4
+ import { E as kernelCallRaw } from "./topologyQueryFns-CArmw9sE.js";
5
5
  import { r as vecCross } from "./vecOps-S-m9H_fe.js";
6
- import { g as setCachedMeasurement, h as getCachedMeasurement, m as withSubShapes, p as withCompoundOf } from "./measureFns-WGYWWnQ1.js";
6
+ import { g as setCachedMeasurement, h as getCachedMeasurement, m as withSubShapes, p as withCompoundOf } from "./measureFns-MSr05_kf.js";
7
7
  // src/measurement/principalBoxFns.ts
8
8
  /**
9
9
  * Principal-axes bounding box: a solid's extent measured in the frame of its
@@ -1,9 +1,9 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  const require_errors = require("./errors-O_blYTWT.cjs");
4
- const require_topologyQueryFns = require("./topologyQueryFns-I_m8o-s7.cjs");
4
+ const require_topologyQueryFns = require("./topologyQueryFns-EI-aso9K.cjs");
5
5
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
6
- const require_measureFns = require("./measureFns-FrNeGmXh.cjs");
6
+ const require_measureFns = require("./measureFns-CpoPgAZt.cjs");
7
7
  // src/measurement/principalBoxFns.ts
8
8
  /**
9
9
  * Principal-axes bounding box: a solid's extent measured in the frame of its
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_cameraFns = require("./cameraFns--Ab792oE.cjs");
2
+ const require_cameraFns = require("./cameraFns-T60Qk0tk.cjs");
3
3
  exports.PROJECTION_PLANES = require_cameraFns.PROJECTION_PLANES;
4
4
  exports.cameraFromPlane = require_cameraFns.cameraFromPlane;
5
5
  exports.cameraLookAt = require_cameraFns.cameraLookAt;
@@ -1 +1 @@
1
- export { o as PROJECTION_PLANES, t as cameraFromPlane, n as cameraLookAt, r as createCamera, s as isProjectionPlane, a as makeProjectedEdges, i as projectEdges } from "./cameraFns-CXONX5Da.js";
1
+ export { o as PROJECTION_PLANES, t as cameraFromPlane, n as cameraLookAt, r as createCamera, s as isProjectionPlane, a as makeProjectedEdges, i as projectEdges } from "./cameraFns-DB_nPXR7.js";
package/dist/query.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_helpers = require("./helpers-6Emek9dE.cjs");
3
- const require_cornerFinder = require("./cornerFinder-DUzrQsfW.cjs");
2
+ const require_helpers = require("./helpers-CCnN8-PY.cjs");
3
+ const require_cornerFinder = require("./cornerFinder-CNuTBfRo.cjs");
4
4
  exports.cornerFinder = require_cornerFinder.cornerFinder;
5
5
  exports.edgeFinder = require_helpers.edgeFinder;
6
6
  exports.faceFinder = require_helpers.faceFinder;
package/dist/query.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DolHn2_s.js";
2
- import { t as cornerFinder } from "./cornerFinder-C7f43oKE.js";
1
+ import { n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-Ci_WZ5ou.js";
2
+ import { t as cornerFinder } from "./cornerFinder-GtiadLBr.js";
3
3
  export { cornerFinder, edgeFinder, faceFinder, getSingleFace };
@@ -1,10 +1,10 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
2
- const require_topologyQueryFns = require("./topologyQueryFns-I_m8o-s7.cjs");
3
- const require_faceFns = require("./faceFns-dj_c8LVc.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-EI-aso9K.cjs");
3
+ const require_faceFns = require("./faceFns-CPGJ_cx6.cjs");
4
4
  const require_faceRoleFns = require("./faceRoleFns-Db5bYj4Q.cjs");
5
- const require_shapeFns = require("./shapeFns-CljM3iMI.cjs");
6
- const require_measureFns = require("./measureFns-FrNeGmXh.cjs");
7
- const require_adjacencyFns = require("./adjacencyFns-BLtq-nUN.cjs");
5
+ const require_shapeFns = require("./shapeFns-Cklw3p3S.cjs");
6
+ const require_measureFns = require("./measureFns-CpoPgAZt.cjs");
7
+ const require_adjacencyFns = require("./adjacencyFns-B6fMyAj0.cjs");
8
8
  // src/topology/shapeRef/scoring.ts
9
9
  /**
10
10
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,10 +1,10 @@
1
- import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-w2wyXEis.js";
2
- import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-CTl4cWYD.js";
3
- import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BG1CBQUM.js";
1
+ import { g as disposeTransientSubShape, o as castShapeWithKnownType, q as getKernel } from "./shapeTypes-qhs8f2zx.js";
2
+ import { c as getFaces, w as vertexPosition } from "./topologyQueryFns-CArmw9sE.js";
3
+ import { i as faceGeomType, l as normalAt, r as faceCenter } from "./faceFns-BNv6thpF.js";
4
4
  import { t as getFaceRoles } from "./faceRoleFns-BPxzQF-n.js";
5
- import { n as getHashCode } from "./shapeFns-BRRrZc1X.js";
6
- import { c as measureLength, r as measureArea } from "./measureFns-WGYWWnQ1.js";
7
- import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-C1Hxy0tk.js";
5
+ import { n as getHashCode } from "./shapeFns-3NzCE2kz.js";
6
+ import { c as measureLength, r as measureArea } from "./measureFns-MSr05_kf.js";
7
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, o as sharedEdges, s as verticesOfEdge, t as adjacentFaceHashes } from "./adjacencyFns-n6XWEyj1.js";
8
8
  // src/topology/shapeRef/scoring.ts
9
9
  /**
10
10
  * Default face scorer combining surface type, normal alignment, centroid proximity,
@@ -1,6 +1,6 @@
1
- import { q as getKernel } from "./shapeTypes-w2wyXEis.js";
1
+ import { q as getKernel } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { t as BrepErrorCode } from "./errors-BTccWbtE.js";
3
- import { E as kernelCallRaw, T as kernelCall } from "./topologyQueryFns-CTl4cWYD.js";
3
+ import { E as kernelCallRaw, T as kernelCall } from "./topologyQueryFns-CArmw9sE.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
5
  // src/topology/shapeFns.ts
6
6
  /**
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-I_m8o-s7.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-EI-aso9K.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
5
  // src/topology/shapeFns.ts
6
6
  /**
package/dist/shapeRef.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_refResolveFns = require("./refResolveFns-ROMmhWfH.cjs");
2
+ const require_refResolveFns = require("./refResolveFns-CuewCIRB.cjs");
3
3
  exports.assignRoles = require_refResolveFns.assignRoles;
4
4
  exports.captureHint = require_refResolveFns.captureHint;
5
5
  exports.createDerivedFaceRef = require_refResolveFns.createDerivedFaceRef;
package/dist/shapeRef.js CHANGED
@@ -1 +1 @@
1
- export { h as assignRoles, g as captureHint, l as createDerivedFaceRef, p as createEdgeRef, _ as createRef, d as createVertexRef, b as defaultScorer, t as isDerivedFaceRef, n as isEdgeRef, r as isFaceRef, i as isLineageRef, a as isVertexRef, u as resolveDerivedFaceRef, m as resolveEdgeRef, o as resolveLineageRef, v as resolveRef, s as resolveRefIn, c as resolveRefParams, f as resolveVertexRef, y as updateRoles } from "./refResolveFns-Yy1n2BHJ.js";
1
+ export { h as assignRoles, g as captureHint, l as createDerivedFaceRef, p as createEdgeRef, _ as createRef, d as createVertexRef, b as defaultScorer, t as isDerivedFaceRef, n as isEdgeRef, r as isFaceRef, i as isLineageRef, a as isVertexRef, u as resolveDerivedFaceRef, m as resolveEdgeRef, o as resolveLineageRef, v as resolveRef, s as resolveRefIn, c as resolveRefParams, f as resolveVertexRef, y as updateRoles } from "./refResolveFns-DaZPev13.js";
@@ -1,4 +1,4 @@
1
- const require_occtWasmAdapter = require("./occtWasmAdapter-B9ZXx36v.cjs");
1
+ const require_occtWasmAdapter = require("./occtWasmAdapter-BH1JcAgl.cjs");
2
2
  const require_bug = require("./bug-CBcpIPuf.cjs");
3
3
  // src/kernel/quality.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { A as UnsupportedKernelOperationError, C as reverseCurve2d$2, D as tangentCurve2d, E as serializeCurve2d$2, N as EXACT_BREP_CAPABILITIES, O as translateCurve2d$2, P as OCCT_CAPABILITIES, S as offsetCurve2d$2, T as scaleCurve2d$2, _ as makeCircle2d$2, a as buildAsciiSTL, b as mirrorAcrossAxis, c as createBBox2d, d as deserializeCurve2d$2, f as evaluateCurve2d$2, g as makeBezier2d$2, h as makeArc2dThreePoints, i as DEFAULT_STL_TOLERANCE, j as isUnsupportedKernelOperationError, k as quickHull, l as curveBounds, m as makeArc2dTangent, o as buildBinarySTL, p as intersectCurves2dFn, r as DEFAULT_STL_ANGULAR_TOLERANCE, s as addCurveToBBox, t as OcctWasmAdapter, u as curveTypeName, v as makeEllipse2d$2, w as rotateCurve2d$2, x as mirrorAtPoint, y as makeLine2d$2 } from "./occtWasmAdapter-CGkZIHyM.js";
1
+ import { A as UnsupportedKernelOperationError, C as reverseCurve2d$2, D as tangentCurve2d, E as serializeCurve2d$2, N as EXACT_BREP_CAPABILITIES, O as translateCurve2d$2, P as OCCT_CAPABILITIES, S as offsetCurve2d$2, T as scaleCurve2d$2, _ as makeCircle2d$2, a as buildAsciiSTL, b as mirrorAcrossAxis, c as createBBox2d, d as deserializeCurve2d$2, f as evaluateCurve2d$2, g as makeBezier2d$2, h as makeArc2dThreePoints, i as DEFAULT_STL_TOLERANCE, j as isUnsupportedKernelOperationError, k as quickHull, l as curveBounds, m as makeArc2dTangent, o as buildBinarySTL, p as intersectCurves2dFn, r as DEFAULT_STL_ANGULAR_TOLERANCE, s as addCurveToBBox, t as OcctWasmAdapter, u as curveTypeName, v as makeEllipse2d$2, w as rotateCurve2d$2, x as mirrorAtPoint, y as makeLine2d$2 } from "./occtWasmAdapter-DD_6IAVj.js";
2
2
  import { i as wasmIndex, r as vec3At } from "./bug-ClMTAJhe.js";
3
3
  // src/kernel/quality.ts
4
4
  /**
@@ -1,7 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_blueprintSketcher = require("./blueprintSketcher-DUT3-Cuo.cjs");
3
- const require_drawFns = require("./drawFns-BRXk9fLg.cjs");
4
- const require_textBlueprints = require("./textBlueprints-Tx73Xex5.cjs");
2
+ const require_blueprintSketcher = require("./blueprintSketcher-zx0yhxOF.cjs");
3
+ const require_drawFns = require("./drawFns-DCY1v4nI.cjs");
4
+ const require_textBlueprints = require("./textBlueprints-CTMykb_E.cjs");
5
5
  // 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-BrQee61I.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-WvF0fehK.js";
3
- import { a as Sketches, c as compoundSketchFace, d as sketchExtrude, f as sketchFace, g as sketchWires, h as sketchSweep, l as compoundSketchLoft, m as sketchRevolve, o as Sketch, p as sketchLoft, s as compoundSketchExtrude, u as compoundSketchRevolve, y as CompoundSketch } from "./textBlueprints-CxhhPEaF.js";
1
+ import { n as BaseSketcher2d, t as BlueprintSketcher } from "./blueprintSketcher-D81yS5Em.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-D9GuLtRK.js";
3
+ import { a as Sketches, c as compoundSketchFace, d as sketchExtrude, f as sketchFace, g as sketchWires, h as sketchSweep, l as compoundSketchLoft, m as sketchRevolve, o as Sketch, p as sketchLoft, s as compoundSketchExtrude, u as compoundSketchRevolve, y as CompoundSketch } from "./textBlueprints-CxufM4VF.js";
4
4
  // src/sketching.ts
5
5
  /**
6
6
  * brepjs/sketching — Sketcher, Drawing, and sketch-to-shape operations.
@@ -1,8 +1,8 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-I_m8o-s7.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-EI-aso9K.cjs");
4
4
  const require_constants = require("./constants-oee0S_x6.cjs");
5
- const require_faceFns = require("./faceFns-dj_c8LVc.cjs");
5
+ const require_faceFns = require("./faceFns-CPGJ_cx6.cjs");
6
6
  // src/topology/metadata/originTrackingFns.ts
7
7
  /**
8
8
  * Face origin tracking — tag faces with integer origins and propagate
@@ -1,8 +1,8 @@
1
- import { C as isSolid, G as _usingCtx, S as isShell, d as createSolid, f as createVertex, h as disposeResultShape, n as castResultShape, q as getKernel, s as createCompound, x as isShape3D } from "./shapeTypes-w2wyXEis.js";
1
+ import { C as isSolid, G as _usingCtx, S as isShell, d as createSolid, f as createVertex, h as disposeResultShape, n as castResultShape, q as getKernel, s as createCompound, x as isShape3D } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { E as ok, g as err, l as typeCastError, m as andThen } from "./errors-BTccWbtE.js";
3
- import { C as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-CTl4cWYD.js";
3
+ import { C as subShapeHashes, c as getFaces, l as getOrCreateCache, r as getCacheEntry } from "./topologyQueryFns-CArmw9sE.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
- import { _ as cast, y as downcast } from "./faceFns-BG1CBQUM.js";
5
+ import { _ as cast, y as downcast } from "./faceFns-BNv6thpF.js";
6
6
  // src/topology/metadata/originTrackingFns.ts
7
7
  /**
8
8
  * Face origin tracking — tag faces with integer origins and propagate
@@ -1,7 +1,7 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
- const require_validityTypes = require("./validityTypes-DgknRAAp.cjs");
4
- const require_faceFns = require("./faceFns-dj_c8LVc.cjs");
3
+ const require_validityTypes = require("./validityTypes-DFEPeAkV.cjs");
4
+ const require_faceFns = require("./faceFns-CPGJ_cx6.cjs");
5
5
  // src/utils/range.ts
6
6
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
7
7
  function range(len) {
@@ -1,7 +1,7 @@
1
- import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel, y as isFace } from "./shapeTypes-w2wyXEis.js";
1
+ import { G as _usingCtx, N as DisposalScope, c as createEdge, l as createFace, p as createWire, q as getKernel, y as isFace } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { E as ok, d as validationError, g as err, i as kernelError, m as andThen } from "./errors-BTccWbtE.js";
3
- import { a as isPlanarFace } from "./validityTypes-C2K0Eepw.js";
4
- import { _ as cast, u as outerWire } from "./faceFns-BG1CBQUM.js";
3
+ import { a as isPlanarFace } from "./validityTypes-DiOmm0sf.js";
4
+ import { _ as cast, u as outerWire } from "./faceFns-BNv6thpF.js";
5
5
  // src/utils/range.ts
6
6
  /** Generate an array of integers `[0, 1, …, len - 1]`. */
7
7
  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-Tx73Xex5.cjs");
3
- const require_textMetrics = require("./textMetrics-9q5S5II9.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CTMykb_E.cjs");
3
+ const require_textMetrics = require("./textMetrics-D51K9Ddx.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 { i as setFallbackFont, n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-CxhhPEaF.js";
2
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-B5dKPalE.js";
1
+ import { i as setFallbackFont, n as getFont, r as loadFont, t as textBlueprints } from "./textBlueprints-CxufM4VF.js";
2
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-CdvERXfK.js";
3
3
  export { fontMetrics, getFont, loadFont, setFallbackFont, sketchText, textBlueprints, textMetrics };
@@ -1,20 +1,20 @@
1
1
  const require_rolldown_runtime = require("./rolldown-runtime-BW-eSwOZ.cjs");
2
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
3
3
  const require_bug = require("./bug-CBcpIPuf.cjs");
4
4
  const require_errors = require("./errors-O_blYTWT.cjs");
5
5
  const require_constants = require("./constants-oee0S_x6.cjs");
6
6
  const require_types = require("./types-CjF9Rofr.cjs");
7
7
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
8
8
  const require_planeOps = require("./planeOps-DZfLToKZ.cjs");
9
- const require_faceFns = require("./faceFns-dj_c8LVc.cjs");
10
- const require_solidBuilders = require("./solidBuilders-yQFZe6jf.cjs");
11
- const require_booleanFns = require("./booleanFns-Dti1CK1F.cjs");
9
+ const require_faceFns = require("./faceFns-CPGJ_cx6.cjs");
10
+ const require_solidBuilders = require("./solidBuilders-BvIdZUkI.cjs");
11
+ const require_booleanFns = require("./booleanFns-CaHF13T-.cjs");
12
12
  const require_faceRoleFns = require("./faceRoleFns-Db5bYj4Q.cjs");
13
- const require_curveFns = require("./curveFns-QaNfJzko.cjs");
13
+ const require_curveFns = require("./curveFns-m73YVbFb.cjs");
14
14
  const require_arrayAccess = require("./arrayAccess-DpJYARwv.cjs");
15
- const require_surfaceBuilders = require("./surfaceBuilders-dWcQ_BpM.cjs");
16
- const require_blueprintSketcher = require("./blueprintSketcher-DUT3-Cuo.cjs");
17
- const require_loftFns = require("./loftFns-BD0na-M4.cjs");
15
+ const require_surfaceBuilders = require("./surfaceBuilders-BPAW6RbN.cjs");
16
+ const require_blueprintSketcher = require("./blueprintSketcher-zx0yhxOF.cjs");
17
+ const require_loftFns = require("./loftFns-DQJM-35I.cjs");
18
18
  let opentype_js = require("opentype.js");
19
19
  opentype_js = require_rolldown_runtime.__toESM(opentype_js, 1);
20
20
  // src/topology/shapeRef/extrudeRoleFns.ts
@@ -1,19 +1,19 @@
1
- import { d as createSolid, h as disposeResultShape, l as createFace, m as disposeDowncastSource, n as castResultShape, p as createWire, q as getKernel, x as isShape3D } from "./shapeTypes-w2wyXEis.js";
1
+ import { d as createSolid, h as disposeResultShape, l as createFace, m as disposeDowncastSource, n as castResultShape, p as createWire, q as getKernel, x as isShape3D } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { n as bug } from "./bug-ClMTAJhe.js";
3
3
  import { E as ok, P as unwrap, d as validationError, g as err, i as kernelError, l as typeCastError, r as ioError, t as BrepErrorCode } from "./errors-BTccWbtE.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
5
5
  import { r as toVec3 } from "./types-CKXsIm9-.js";
6
6
  import { c as vecLength, d as vecNormalize, h as vecScale, i as vecDistance, r as vecCross, t as vecAdd } from "./vecOps-S-m9H_fe.js";
7
7
  import { n as createPlane } from "./planeOps-D3yDuMux.js";
8
- import { v as copyShape } from "./faceFns-BG1CBQUM.js";
9
- import { o as makeSolid, t as makeCompound } from "./solidBuilders-BxIYXIv-.js";
10
- import { i as cutAll } from "./booleanFns-Dtg2jqzi.js";
8
+ import { v as copyShape } from "./faceFns-BNv6thpF.js";
9
+ import { o as makeSolid, t as makeCompound } from "./solidBuilders-DhDGnOTQ.js";
10
+ import { i as cutAll } from "./booleanFns-DIqS3nBK.js";
11
11
  import { i as setFaceRoles } from "./faceRoleFns-BPxzQF-n.js";
12
- import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-Dzgl3_MC.js";
12
+ import { l as curveStartPoint, u as curveTangentAt } from "./curveFns-CGQCy_D5.js";
13
13
  import { n as getAtOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
14
- import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-BZ7BW8I0.js";
15
- import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-BrQee61I.js";
16
- import { c as twistExtrude, r as complexExtrude, s as sweep, t as loft } from "./loftFns-Cua-MamP.js";
14
+ import { i as makeNewFaceWithinFace, r as makeFace, t as addHolesInFace } from "./surfaceBuilders-D9WX9gHX.js";
15
+ import { r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-D81yS5Em.js";
16
+ import { c as twistExtrude, r as complexExtrude, s as sweep, t as loft } from "./loftFns-mrTzIf4_.js";
17
17
  import opentype from "opentype.js";
18
18
  // src/topology/shapeRef/extrudeRoleFns.ts
19
19
  /** Match tolerance as a fraction of the extrusion's size. */
@@ -1,5 +1,5 @@
1
1
  import { E as ok, d as validationError, g as err, t as BrepErrorCode } from "./errors-BTccWbtE.js";
2
- import { _ as wrapSketchData, a as Sketches, n as getFont, t as textBlueprints, y as CompoundSketch } from "./textBlueprints-CxhhPEaF.js";
2
+ import { _ as wrapSketchData, a as Sketches, n as getFont, t as textBlueprints, y as CompoundSketch } from "./textBlueprints-CxufM4VF.js";
3
3
  // src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,5 +1,5 @@
1
1
  const require_errors = require("./errors-O_blYTWT.cjs");
2
- const require_textBlueprints = require("./textBlueprints-Tx73Xex5.cjs");
2
+ const require_textBlueprints = require("./textBlueprints-CTMykb_E.cjs");
3
3
  // src/text/sketchText.ts
4
4
  /**
5
5
  * Render text as 3D sketch outlines on a plane.
@@ -1,12 +1,12 @@
1
- import { F as createKernelHandle, G as _usingCtx, N as DisposalScope, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-w2wyXEis.js";
1
+ import { F as createKernelHandle, G as _usingCtx, N as DisposalScope, n as castResultShape, q as getKernel, x as isShape3D } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { E as ok, d as validationError, g as err, n as computationError, r as ioError, t as BrepErrorCode, x as isOk } from "./errors-BTccWbtE.js";
3
3
  import { d as vecNormalize, s as vecIsZero } from "./vecOps-S-m9H_fe.js";
4
- import { b as fromBREP } from "./faceFns-BG1CBQUM.js";
5
- import { o as fuseAll } from "./booleanFns-Dtg2jqzi.js";
6
- import { E as wire, h as line } from "./primitiveFns-w-ST-RDJ.js";
7
- import { s as toBREP, t as clone } from "./shapeFns-BRRrZc1X.js";
8
- import { t as loft } from "./loftFns-Cua-MamP.js";
9
- import { c as resolveRefParams } from "./refResolveFns-Yy1n2BHJ.js";
4
+ import { b as fromBREP } from "./faceFns-BNv6thpF.js";
5
+ import { o as fuseAll } from "./booleanFns-DIqS3nBK.js";
6
+ import { E as wire, h as line } from "./primitiveFns-BaYEo9qN.js";
7
+ import { s as toBREP, t as clone } from "./shapeFns-3NzCE2kz.js";
8
+ import { t as loft } from "./loftFns-mrTzIf4_.js";
9
+ import { c as resolveRefParams } from "./refResolveFns-DaZPev13.js";
10
10
  // src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -1,12 +1,12 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_vecOps = require("./vecOps-CrGEPPQM.cjs");
4
- const require_faceFns = require("./faceFns-dj_c8LVc.cjs");
5
- const require_booleanFns = require("./booleanFns-Dti1CK1F.cjs");
6
- const require_primitiveFns = require("./primitiveFns-Dpn3ZtUE.cjs");
7
- const require_shapeFns = require("./shapeFns-CljM3iMI.cjs");
8
- const require_loftFns = require("./loftFns-BD0na-M4.cjs");
9
- const require_refResolveFns = require("./refResolveFns-ROMmhWfH.cjs");
4
+ const require_faceFns = require("./faceFns-CPGJ_cx6.cjs");
5
+ const require_booleanFns = require("./booleanFns-CaHF13T-.cjs");
6
+ const require_primitiveFns = require("./primitiveFns-D8D9dI_P.cjs");
7
+ const require_shapeFns = require("./shapeFns-Cklw3p3S.cjs");
8
+ const require_loftFns = require("./loftFns-DQJM-35I.cjs");
9
+ const require_refResolveFns = require("./refResolveFns-CuewCIRB.cjs");
10
10
  // src/utils/uuid.ts
11
11
  /** Generate a v4-style UUID string using `crypto.getRandomValues`. */
12
12
  function uuidv() {
@@ -19,7 +19,8 @@ export type FinderFn<T extends AnyShape<Dimension>> = (finder: FinderFor<T>) =>
19
19
  * Fillet radius specification.
20
20
  *
21
21
  * - `number` — constant radius on all selected edges
22
- * - `[number, number]` — variable radius (start, end)
22
+ * - `[number, number]` — variable radius (start, end); one end may be 0, so the
23
+ * fillet runs out there (occt-wasm builds that only through `variableFillet`)
23
24
  * - callback — per-edge radius; return `null` to skip an edge
24
25
  */
25
26
  export type FilletRadius = number | [number, number] | ((edge: Edge) => number | [number, number] | null);
@@ -4,6 +4,14 @@ import { Result } from '../core/result.js';
4
4
  import { BrepError } from '../core/errors.js';
5
5
  import { Vec3 } from '../core/types.js';
6
6
  import { DraftAngle } from './apiTypes.js';
7
+ type ValuePair = readonly [number, number];
8
+ /**
9
+ * A fillet's start and end radius: one may be 0, so the fillet runs out to
10
+ * nothing at that end of the edge, but not both, and neither below 0.
11
+ */
12
+ export declare function isFilletRadiusPair([start, end]: ValuePair): boolean;
13
+ export declare const FILLET_PAIR_MESSAGE = "Fillet radii must not be negative, and one must be positive";
14
+ export declare const FILLET_PAIR_HINT = "A radius may run to 0 at one end of the edge, but the other must be greater than 0";
7
15
  /**
8
16
  * Thickens a surface (face or shell) into a solid by offsetting it.
9
17
  *
@@ -90,6 +98,8 @@ export interface VariableFilletRadius {
90
98
  *
91
99
  * The radius varies along the edge according to the provided spec points.
92
100
  * Each point specifies a normalized parameter (0 = start, 1 = end) and radius.
101
+ * A radius may be 0, so the fillet runs out to nothing there, as long as one
102
+ * is positive.
93
103
  *
94
104
  * **Cross-kernel note:** occt-wasm and brepkit build a constant or linear
95
105
  * (start/end, <=2-point) profile and return `UNSUPPORTED_CAPABILITY` for one of
@@ -110,3 +120,4 @@ export declare function variableFillet(shape: ValidSolid, edge: Edge, radii: Rea
110
120
  * defeaturing.
111
121
  */
112
122
  export declare function removeFaces(shape: ValidSolid, faces: ReadonlyArray<Face>): Result<ValidSolid>;
123
+ export {};
package/dist/topology.cjs CHANGED
@@ -1,13 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_topologyQueryFns = require("./topologyQueryFns-I_m8o-s7.cjs");
3
- const require_faceFns = require("./faceFns-dj_c8LVc.cjs");
4
- const require_booleanFns = require("./booleanFns-Dti1CK1F.cjs");
5
- const require_primitiveFns = require("./primitiveFns-Dpn3ZtUE.cjs");
6
- const require_shapeFns = require("./shapeFns-CljM3iMI.cjs");
7
- const require_curveFns = require("./curveFns-QaNfJzko.cjs");
8
- const require_meshFns = require("./meshFns-Dy1a9wl_.cjs");
9
- const require_healingFns = require("./healingFns-BSNNLyXP.cjs");
10
- const require_adjacencyFns = require("./adjacencyFns-BLtq-nUN.cjs");
2
+ const require_topologyQueryFns = require("./topologyQueryFns-EI-aso9K.cjs");
3
+ const require_faceFns = require("./faceFns-CPGJ_cx6.cjs");
4
+ const require_booleanFns = require("./booleanFns-CaHF13T-.cjs");
5
+ const require_primitiveFns = require("./primitiveFns-D8D9dI_P.cjs");
6
+ const require_shapeFns = require("./shapeFns-Cklw3p3S.cjs");
7
+ const require_curveFns = require("./curveFns-m73YVbFb.cjs");
8
+ const require_meshFns = require("./meshFns-BxRKwY5z.cjs");
9
+ const require_healingFns = require("./healingFns-D33MBaNA.cjs");
10
+ const require_adjacencyFns = require("./adjacencyFns-B6fMyAj0.cjs");
11
11
  exports.addHoles = require_primitiveFns.addHoles;
12
12
  exports.adjacentFaces = require_adjacencyFns.adjacentFaces;
13
13
  exports.approximateCurve = require_curveFns.approximateCurve;
package/dist/topology.js CHANGED
@@ -1,10 +1,10 @@
1
- import { _ 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, w as vertexPosition, x as iterWires } from "./topologyQueryFns-CTl4cWYD.js";
2
- import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-BG1CBQUM.js";
3
- import { i as cutAll, o as fuseAll } from "./booleanFns-Dtg2jqzi.js";
4
- import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-w-ST-RDJ.js";
5
- import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-BRRrZc1X.js";
6
- 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-Dzgl3_MC.js";
7
- import { f as clearMeshCache, n as exportSTEP, p as createMeshCache, r as exportSTL, t as exportIGES } from "./meshFns-Lie8oAac.js";
8
- import { I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, S as chamferDistAngle, _ as checkBoolean, a as healFace, b as getNurbsCurveData, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, j 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, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-CfkUEqcL.js";
9
- import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-C1Hxy0tk.js";
1
+ import { _ 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, w as vertexPosition, x as iterWires } from "./topologyQueryFns-CArmw9sE.js";
2
+ import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-BNv6thpF.js";
3
+ import { i as cutAll, o as fuseAll } from "./booleanFns-DIqS3nBK.js";
4
+ import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-BaYEo9qN.js";
5
+ import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-3NzCE2kz.js";
6
+ 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-CGQCy_D5.js";
7
+ import { f as clearMeshCache, n as exportSTEP, p as createMeshCache, r as exportSTL, t as exportIGES } from "./meshFns-BIWD7IFN.js";
8
+ import { I as toLineGeometryData, M as toBufferGeometryData, N as toGroupedBufferGeometryData, S as chamferDistAngle, _ as checkBoolean, a as healFace, b as getNurbsCurveData, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, j 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, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-w-PHd-Lj.js";
9
+ import { i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-n6XWEyj1.js";
10
10
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceAxis, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
@@ -1,4 +1,4 @@
1
- import { G as _usingCtx, N as DisposalScope, O as getOrQueryType, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType } from "./shapeTypes-w2wyXEis.js";
1
+ import { G as _usingCtx, N as DisposalScope, O as getOrQueryType, n as castResultShape, q as getKernel, r as castResultShapeWithKnownType } from "./shapeTypes-qhs8f2zx.js";
2
2
  import { E as ok, g as err } from "./errors-BTccWbtE.js";
3
3
  import { n as HASH_CODE_MAX } from "./constants-iraOnb2p.js";
4
4
  // src/core/kernelErrorTranslation.ts
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  const require_constants = require("./constants-oee0S_x6.cjs");
4
4
  // src/core/kernelErrorTranslation.ts
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-DEe6gtTR.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-CgayxMvX.cjs");
2
2
  const require_errors = require("./errors-O_blYTWT.cjs");
3
3
  // src/core/validityTypes.ts
4
4
  /**