brepjs 12.7.3 → 12.8.1

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 (72) hide show
  1. package/dist/2d/blueprints/boolean2D.d.ts.map +1 -1
  2. package/dist/2d/blueprints/lib.d.ts.map +1 -1
  3. package/dist/2d/blueprints/offset.d.ts.map +1 -1
  4. package/dist/2d.cjs +2 -2
  5. package/dist/2d.js +3 -3
  6. package/dist/{Blueprint-CnDVffSX.cjs → Blueprint-CQ28WJhz.cjs} +29 -30
  7. package/dist/{Blueprint-C3lWY1Jf.js → Blueprint-DbVaf6k7.js} +7 -8
  8. package/dist/{boolean2D-DyQJt8Na.cjs → boolean2D-0blbVtJ8.cjs} +70 -61
  9. package/dist/{boolean2D-CwZAIJDS.js → boolean2D-y3E92F0u.js} +37 -28
  10. package/dist/{booleanFns-CcNUsgI8.js → booleanFns-BCTjYZAg.js} +4 -4
  11. package/dist/{booleanFns-D7HmkpYt.cjs → booleanFns-gmsX3Cv2.cjs} +59 -59
  12. package/dist/brepjs.cjs +319 -372
  13. package/dist/brepjs.js +358 -411
  14. package/dist/core/errors.d.ts +14 -5
  15. package/dist/core/errors.d.ts.map +1 -1
  16. package/dist/core.cjs +30 -31
  17. package/dist/core.js +19 -20
  18. package/dist/{cornerFinder-BV-l1BCw.js → cornerFinder-Ckz-mPHE.js} +1 -1
  19. package/dist/{cornerFinder-3zfbQvXg.cjs → cornerFinder-ZmOyOOsh.cjs} +1 -1
  20. package/dist/{curveFns-Ch87sD5O.cjs → curveFns-BZngcnQ1.cjs} +17 -17
  21. package/dist/{curveFns-CloOqAQ_.js → curveFns-mROFhiuG.js} +1 -1
  22. package/dist/{drawFns-5myJTgtX.js → drawFns-Bwakrq7w.js} +24 -25
  23. package/dist/{drawFns-CDNafQhv.cjs → drawFns-CjRc1NfQ.cjs} +51 -52
  24. package/dist/{faceFns-B6ebRh5I.js → faceFns-B8GnxjdY.js} +1 -1
  25. package/dist/{faceFns-BLTEPBKq.cjs → faceFns-DB1Fc5gy.cjs} +20 -20
  26. package/dist/{helpers-6kn30cSD.cjs → helpers-C8NoT0Wu.cjs} +14 -14
  27. package/dist/{helpers-C9KvE1RW.js → helpers-X0juxnwj.js} +4 -4
  28. package/dist/io.cjs +26 -26
  29. package/dist/io.js +3 -3
  30. package/dist/kernel/brepkitAdapter.d.ts +8 -8
  31. package/dist/kernel/brepkitAdapter.d.ts.map +1 -1
  32. package/dist/kernel/brepkitWasmTypes.d.ts +6 -0
  33. package/dist/kernel/brepkitWasmTypes.d.ts.map +1 -1
  34. package/dist/kernel/historyOps.d.ts +3 -3
  35. package/dist/kernel/historyOps.d.ts.map +1 -1
  36. package/dist/kernel/types.d.ts +8 -8
  37. package/dist/kernel/types.d.ts.map +1 -1
  38. package/dist/{loft-BcZUCGKi.js → loft-Bhw-FMoL.js} +4 -4
  39. package/dist/{loft-DR1UN5uN.cjs → loft-hp3pc1M7.cjs} +43 -43
  40. package/dist/{measurement-DoYXRaKI.cjs → measurement-BoNTUBAp.cjs} +1 -1
  41. package/dist/{measurement-oWvhSVZG.js → measurement-D8EJ694A.js} +1 -1
  42. package/dist/measurement.cjs +1 -1
  43. package/dist/measurement.js +1 -1
  44. package/dist/{meshFns-3gy0empP.cjs → meshFns-BnV0ZR8w.cjs} +17 -17
  45. package/dist/{meshFns-DsLRd3tA.js → meshFns-nQjK38EC.js} +2 -2
  46. package/dist/{operations-Dcz6YlOt.js → operations-BfbkK6DU.js} +5 -5
  47. package/dist/{operations-DLFzmdFX.cjs → operations-CYpmLSC4.cjs} +75 -75
  48. package/dist/operations.cjs +2 -2
  49. package/dist/operations.js +2 -2
  50. package/dist/query.cjs +3 -3
  51. package/dist/query.js +4 -4
  52. package/dist/{errors-B7kgv0cd.js → result-BaSD1fqR.js} +43 -23
  53. package/dist/{errors-9fDehDNc.cjs → result-fAX0OZzI.cjs} +20 -0
  54. package/dist/result.cjs +30 -41
  55. package/dist/result.js +18 -29
  56. package/dist/{shapeFns-D-MOoqJd.cjs → shapeFns-C2SnNvdH.cjs} +39 -39
  57. package/dist/{shapeFns-D2PlLFE6.js → shapeFns-FDuKkrDR.js} +4 -4
  58. package/dist/sketching.cjs +2 -2
  59. package/dist/sketching.js +2 -2
  60. package/dist/{solidBuilders-BzfRBizW.cjs → solidBuilders-994_MQwB.cjs} +12 -12
  61. package/dist/{solidBuilders-BXhh5hP2.js → solidBuilders-DmwhTCCd.js} +2 -2
  62. package/dist/{surfaceBuilders-Be_ENWSA.cjs → surfaceBuilders-5VA34a3_.cjs} +27 -27
  63. package/dist/{surfaceBuilders-D6iDVPIM.js → surfaceBuilders-nQdJ56fe.js} +2 -2
  64. package/dist/{topology-CKtCGLmb.cjs → topology-ANwCzGL8.cjs} +54 -54
  65. package/dist/{topology-DxD58iQ6.js → topology-C7x98OVn.js} +8 -8
  66. package/dist/topology.cjs +6 -6
  67. package/dist/topology.js +6 -6
  68. package/dist/{vectors-CESkzEm6.js → vectors-Bx8wkNui.js} +1 -1
  69. package/dist/{vectors-BafmMf96.cjs → vectors-D_IiZx0q.cjs} +6 -6
  70. package/dist/vectors.cjs +1 -1
  71. package/dist/vectors.js +1 -1
  72. package/package.json +5 -8
package/dist/brepjs.js CHANGED
@@ -45,43 +45,42 @@ var __callDispose = (stack, error, hasError) => {
45
45
  };
46
46
  import { c as castShape, D as DisposalScope, B as getKernel, k as isFace, q as isShell, r as isSolid, p as isShape3D, F as createSolid, G as createWire, j as isEdge, u as isWire } from "./shapeTypes-CpSaBLDv.js";
47
47
  import { M, N, O, a, C, H, I, b, d, P, E, g, Q, i, e, f, h, l, m, n, o, s, t, v, w, R, x, S, y, z, A } from "./shapeTypes-CpSaBLDv.js";
48
- import { o as ok, z as translateKernelError, e as err, p as typeCastError, q as queryError, y as validationError, B as BrepErrorCode, k as kernelError, i as ioError, d as isErr, r as unwrap$1 } from "./errors-B7kgv0cd.js";
49
- import { O as O2, A as A2, a as a2, c, b as b2, f as f2, C as C2, g as g2, m as m2, h as h2, j, l as l2, D, E as E2, F, s as s2, G, H as H2, t as t2, n as n2, u, v as v2, w as w2, x as x2, I as I2 } from "./errors-B7kgv0cd.js";
48
+ import { o as ok, D as translateKernelError, e as err, r as typeCastError, q as queryError, z as validationError, A as BrepErrorCode, k as kernelError, i as ioError, g as isErr, v as unwrap$1 } from "./result-BaSD1fqR.js";
49
+ import { B, O as O2, E as E2, a as a2, b as b2, c, d as d2, f as f2, F, h as h2, m as m2, j, l as l2, n as n2, G, H as H2, I as I2, s as s2, J, K, t as t2, p, u, w as w2, x as x2, y as y2, L } from "./result-BaSD1fqR.js";
50
50
  import { c as vecDistance, H as HASH_CODE_MAX, n as vecScale, j as vecNormalize, f as vecIsZero } from "./vecOps-ZDdZWbwT.js";
51
- import { D as D2, R as R2, v as v3, a as a3, b as b3, d as d2, e as e2, g as g3, h as h3, i as i2, k, l as l3, m as m3, o as o2 } from "./vecOps-ZDdZWbwT.js";
52
- import { B, e as e3, C as C3, u as u2 } from "./Blueprint-C3lWY1Jf.js";
53
- import { b as b4, g as g4, r } from "./loft-BcZUCGKi.js";
54
- import { w as walkAssembly, e as extrude$1, r as revolve$1, s as sweep, c as circularPattern, l as linearPattern } from "./operations-Dcz6YlOt.js";
55
- import { a as a4, b as b5, d as d3, f as f3, g as g5, h as h4, i as i3, j as j2, k as k2, m as m4, n as n3, o as o3, p, q, t as t3, u as u3, v as v4, x as x3, y as y2, z as z2, A as A3, B as B2, C as C4, D as D3, E as E3, F as F2, G as G2 } from "./operations-Dcz6YlOt.js";
56
- import { B as B3, a as a5, c as c2, C as C5, F as F3, S as S2, d as d4, j as j3, f as f4, k as k3, h as h5, l as l4, o as o4, p as p2, r as r2 } from "./boolean2D-CwZAIJDS.js";
51
+ import { D, R as R2, v as v2, a as a3, b as b3, d as d3, e as e2, g as g2, h as h3, i as i2, k, l as l3, m as m3, o as o2 } from "./vecOps-ZDdZWbwT.js";
52
+ import { B as B2, e as e3, C as C2, u as u2 } from "./Blueprint-DbVaf6k7.js";
53
+ import { b as b4, g as g3, r } from "./loft-Bhw-FMoL.js";
54
+ import { w as walkAssembly, e as extrude$1, r as revolve$1, s as sweep, c as circularPattern, l as linearPattern } from "./operations-BfbkK6DU.js";
55
+ import { a as a4, b as b5, d as d4, f as f3, g as g4, h as h4, i as i3, j as j2, k as k2, m as m4, n as n3, o as o3, p as p2, q, t as t3, u as u3, v as v3, x as x3, y as y3, z as z2, A as A2, B as B3, C as C3, D as D2, E as E3, F as F2, G as G2 } from "./operations-BfbkK6DU.js";
56
+ import { B as B4, a as a5, c as c2, C as C4, F as F3, S as S2, d as d5, j as j3, f as f4, k as k3, h as h5, l as l4, o as o4, p as p3, r as r2 } from "./boolean2D-y3E92F0u.js";
57
57
  import { createBlueprint, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, getBounds2D, getOrientation2D, isInside2D, mirror2D, reverseCurve, rotate2D, scale2D, sketch2DOnFace, sketch2DOnPlane, stretch2D, toSVGPathD, translate2D } from "./2d.js";
58
- import { l as createTypedFinder, m as faceFinder } from "./helpers-C9KvE1RW.js";
59
- import { g as g6 } from "./helpers-C9KvE1RW.js";
58
+ import { l as createTypedFinder, m as faceFinder } from "./helpers-X0juxnwj.js";
59
+ import { g as g5 } from "./helpers-X0juxnwj.js";
60
60
  import { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportOBJ, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD } from "./io.js";
61
- import { C as C6, D as D4, a as a6, S as S3, b as b6, X, Y, c as c3, d as d5, e as e4, f as f5, Z, g as g7, h as h6, i as i4, j as j4, k as k4, l as l5, m as m5, n as n4, o as o5, p as p3, q as q2, r as r3, s as s3, t as t4, u as u4, v as v5, w as w3, x as x4, y as y3, z as z3, _, $, a0, a1, A as A4, a2 as a22, B as B4, E as E4, a3 as a32, F as F4, G as G3, H as H3, I as I3, J, K, L, M as M2, N as N2, O as O3, P as P2, Q as Q2, R as R3, T, U, a4 as a42, V, a5 as a52, a6 as a62, W } from "./drawFns-5myJTgtX.js";
61
+ import { C as C5, D as D3, a as a6, S as S3, b as b6, X, Y, c as c3, d as d6, e as e4, f as f5, Z, g as g6, h as h6, i as i4, j as j4, k as k4, l as l5, m as m5, n as n4, o as o5, p as p4, q as q2, r as r3, s as s3, t as t4, u as u4, v as v4, w as w3, x as x4, y as y4, z as z3, _, $, a0, a1, A as A3, a2 as a22, B as B5, E as E4, a3 as a32, F as F4, G as G3, H as H3, I as I3, J as J2, K as K2, L as L2, M as M2, N as N2, O as O3, P as P2, Q as Q2, R as R3, T, U, a4 as a42, V, a5 as a52, a6 as a62, W } from "./drawFns-Bwakrq7w.js";
62
62
  import { a as toVec3 } from "./types-CWDdqcrq.js";
63
63
  import { r as r4, t as t5 } from "./types-CWDdqcrq.js";
64
- import { c as c4, a as a7, p as p4, r as r5, t as t6 } from "./vectors-CESkzEm6.js";
65
- import { v as vertexPosition, a as getFaces, e as getVertices, d as getEdges, h as getBounds, b as propagateOriginsFromEvolution, g as getFaceOrigins, j as applyMatrix$1, k as clone$1, l as describe$1, m as isEmpty$1, n as mirror$1, r as rotate$1, s as scale$1, o as simplify$1, t as toBREP$1, q as transformCopy$1, u as translate$1, c as getWires } from "./shapeFns-D2PlLFE6.js";
66
- import { w as w4, f as f6, x as x5, y as y4, i as i5, z as z4, A as A5, B as B5, C as C7, D as D5, E as E5 } from "./shapeFns-D2PlLFE6.js";
67
- import { p as propagateFaceTagsFromEvolution, a as propagateColorsFromEvolution, h as hasFaceTags, b as hasColorMetadata, c as cut$1, f as fuse$1, i as intersect$1, s as section$1, d as sectionToFace$1, e as slice$1, g as split$1, j as fuseAll, k as cutAll } from "./booleanFns-CcNUsgI8.js";
68
- import { l as l6, m as m6, n as n5, o as o6, q as q3, r as r6, t as t7, u as u5, v as v6 } from "./booleanFns-CcNUsgI8.js";
69
- import { c as chamferDistAngle, h as heal$1, i as isValid$1 } from "./topology-DxD58iQ6.js";
70
- import { a as a8, b as b7, d as d6, e as e5, f as f7, g as g8, j as j5, k as k5, l as l7, m as m7, n as n6, o as o7, p as p5, q as q4, r as r7, s as s4, t as t8, u as u6, v as v7, w as w5, x as x6, y as y5, z as z5, A as A6, B as B6, C as C8, D as D6, E as E6, F as F5, G as G4, H as H4, I as I4, J as J2, K as K2, L as L2, M as M3, N as N3, O as O4, P as P3, Q as Q3 } from "./topology-DxD58iQ6.js";
71
- import { b as curveIsClosed, c as curveStartPoint, a as curveTangentAt, d as curvePointAt, e as curveEndPoint, f as curveLength } from "./curveFns-CloOqAQ_.js";
72
- import { h as h7, i as i6, j as j6, k as k6, l as l8, g as g9, m as m8, o as o8 } from "./curveFns-CloOqAQ_.js";
73
- import { i as iterTopo, e as faceCenter, n as normalAt, j as fromBREP$1, k as innerWires, o as outerWire, g as getSurfaceType } from "./faceFns-B6ebRh5I.js";
74
- import { l as l9, c as c5, m as m9, d as d7, f as f8, q as q5, r as r8, s as s5, p as p6, t as t9, v as v8, w as w6, u as u7, h as h8 } from "./faceFns-B6ebRh5I.js";
75
- import { m as mesh$1, a as meshEdges$1 } from "./meshFns-DsLRd3tA.js";
76
- import { c as c6, b as b8, e as e6, d as d8, f as f9 } from "./meshFns-DsLRd3tA.js";
77
- import { m as measureArea, a as measureSurfaceProps, b as measureVolumeProps, c as measureVolume } from "./measurement-oWvhSVZG.js";
78
- import { d as d9, e as e7, f as f10, g as g10, h as h9, i as i7 } from "./measurement-oWvhSVZG.js";
79
- import { m as makeFace } from "./surfaceBuilders-D6iDVPIM.js";
80
- import { i as i8 } from "./surfaceBuilders-D6iDVPIM.js";
64
+ import { c as c4, a as a7, p as p5, r as r5, t as t6 } from "./vectors-Bx8wkNui.js";
65
+ import { v as vertexPosition, a as getFaces, e as getVertices, d as getEdges, h as getBounds, b as propagateOriginsFromEvolution, g as getFaceOrigins, j as applyMatrix$1, k as clone$1, l as describe$1, m as isEmpty$1, n as mirror$1, r as rotate$1, s as scale$1, o as simplify$1, t as toBREP$1, q as transformCopy$1, u as translate$1, c as getWires } from "./shapeFns-FDuKkrDR.js";
66
+ import { w as w4, f as f6, x as x5, y as y5, i as i5, z as z4, A as A4, B as B6, C as C6, D as D4, E as E5 } from "./shapeFns-FDuKkrDR.js";
67
+ import { p as propagateFaceTagsFromEvolution, a as propagateColorsFromEvolution, h as hasFaceTags, b as hasColorMetadata, c as cut$1, f as fuse$1, i as intersect$1, s as section$1, d as sectionToFace$1, e as slice$1, g as split$1, j as fuseAll, k as cutAll } from "./booleanFns-BCTjYZAg.js";
68
+ import { l as l6, m as m6, n as n5, o as o6, q as q3, r as r6, t as t7, u as u5, v as v5 } from "./booleanFns-BCTjYZAg.js";
69
+ import { c as chamferDistAngle, h as heal$1, i as isValid$1 } from "./topology-C7x98OVn.js";
70
+ import { a as a8, b as b7, d as d7, e as e5, f as f7, g as g7, j as j5, k as k5, l as l7, m as m7, n as n6, o as o7, p as p6, q as q4, r as r7, s as s4, t as t8, u as u6, v as v6, w as w5, x as x6, y as y6, z as z5, A as A5, B as B7, C as C7, D as D5, E as E6, F as F5, G as G4, H as H4, I as I4, J as J3, K as K3, L as L3, M as M3, N as N3, O as O4, P as P3, Q as Q3 } from "./topology-C7x98OVn.js";
71
+ import { b as curveIsClosed, c as curveStartPoint, a as curveTangentAt, d as curvePointAt, e as curveEndPoint, f as curveLength } from "./curveFns-mROFhiuG.js";
72
+ import { h as h7, i as i6, j as j6, k as k6, l as l8, g as g8, m as m8, o as o8 } from "./curveFns-mROFhiuG.js";
73
+ import { i as iterTopo, e as faceCenter, n as normalAt, j as fromBREP$1, k as innerWires, o as outerWire, g as getSurfaceType } from "./faceFns-B8GnxjdY.js";
74
+ import { l as l9, c as c5, m as m9, d as d8, f as f8, q as q5, r as r8, s as s5, p as p7, t as t9, v as v7, w as w6, u as u7, h as h8 } from "./faceFns-B8GnxjdY.js";
75
+ import { m as mesh$1, a as meshEdges$1 } from "./meshFns-nQjK38EC.js";
76
+ import { c as c6, b as b8, e as e6, d as d9, f as f9 } from "./meshFns-nQjK38EC.js";
77
+ import { m as measureArea, a as measureSurfaceProps, b as measureVolumeProps, c as measureVolume } from "./measurement-D8EJ694A.js";
78
+ import { d as d10, e as e7, f as f10, g as g9, h as h9, i as i7 } from "./measurement-D8EJ694A.js";
79
+ import { m as makeFace } from "./surfaceBuilders-nQdJ56fe.js";
80
+ import { i as i8 } from "./surfaceBuilders-nQdJ56fe.js";
81
81
  import { edgeFinder } from "./query.js";
82
- import { c as makeCylinder } from "./solidBuilders-BXhh5hP2.js";
83
- import { BrepBugError, bug } from "./result.js";
84
- import { c as c7 } from "./cornerFinder-BV-l1BCw.js";
82
+ import { c as makeCylinder } from "./solidBuilders-DmwhTCCd.js";
83
+ import { c as c7 } from "./cornerFinder-Ckz-mPHE.js";
85
84
  import { createOperationRegistry, createTaskQueue, createWorkerClient, createWorkerHandler, dequeueTask, enqueueTask, isDisposeRequest, isErrorResponse, isInitRequest, isOperationRequest, isQueueEmpty, isSuccessResponse, pendingCount, registerHandler, rejectAll } from "./worker.js";
86
85
  function supportsProjection(kernel) {
87
86
  return "projectShape" in kernel;
@@ -102,8 +101,8 @@ function evaluateCurve2d(c8, t10) {
102
101
  const cos = Math.cos(c8.xDirAngle);
103
102
  const sin = Math.sin(c8.xDirAngle);
104
103
  const x7 = c8.majorRadius * Math.cos(angle);
105
- const y6 = c8.minorRadius * Math.sin(angle);
106
- return [c8.cx + x7 * cos - y6 * sin, c8.cy + x7 * sin + y6 * cos];
104
+ const y7 = c8.minorRadius * Math.sin(angle);
105
+ return [c8.cx + x7 * cos - y7 * sin, c8.cy + x7 * sin + y7 * cos];
107
106
  }
108
107
  case "bezier":
109
108
  return evaluateBezier(c8.poles, t10);
@@ -227,9 +226,9 @@ function translateCurve2d(c8, dx, dy) {
227
226
  case "ellipse":
228
227
  return { ...c8, cx: c8.cx + dx, cy: c8.cy + dy };
229
228
  case "bezier":
230
- return { ...c8, poles: c8.poles.map(([x7, y6]) => [x7 + dx, y6 + dy]) };
229
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => [x7 + dx, y7 + dy]) };
231
230
  case "bspline":
232
- return { ...c8, poles: c8.poles.map(([x7, y6]) => [x7 + dx, y6 + dy]) };
231
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => [x7 + dx, y7 + dy]) };
233
232
  case "trimmed":
234
233
  return { ...c8, basis: translateCurve2d(c8.basis, dx, dy) };
235
234
  }
@@ -237,9 +236,9 @@ function translateCurve2d(c8, dx, dy) {
237
236
  function rotateCurve2d(c8, angle, cx, cy) {
238
237
  const cos = Math.cos(angle);
239
238
  const sin = Math.sin(angle);
240
- const rotatePoint = (x7, y6) => {
239
+ const rotatePoint = (x7, y7) => {
241
240
  const rx = x7 - cx;
242
- const ry = y6 - cy;
241
+ const ry = y7 - cy;
243
242
  return [cx + rx * cos - ry * sin, cy + rx * sin + ry * cos];
244
243
  };
245
244
  switch (c8.__bk2d) {
@@ -258,17 +257,17 @@ function rotateCurve2d(c8, angle, cx, cy) {
258
257
  return { ...c8, cx: ncx, cy: ncy, xDirAngle: c8.xDirAngle + angle };
259
258
  }
260
259
  case "bezier":
261
- return { ...c8, poles: c8.poles.map(([x7, y6]) => rotatePoint(x7, y6)) };
260
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => rotatePoint(x7, y7)) };
262
261
  case "bspline":
263
- return { ...c8, poles: c8.poles.map(([x7, y6]) => rotatePoint(x7, y6)) };
262
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => rotatePoint(x7, y7)) };
264
263
  case "trimmed":
265
264
  return { ...c8, basis: rotateCurve2d(c8.basis, angle, cx, cy) };
266
265
  }
267
266
  }
268
267
  function scaleCurve2d(c8, factor, cx, cy) {
269
- const scalePoint = (x7, y6) => [
268
+ const scalePoint = (x7, y7) => [
270
269
  cx + (x7 - cx) * factor,
271
- cy + (y6 - cy) * factor
270
+ cy + (y7 - cy) * factor
272
271
  ];
273
272
  switch (c8.__bk2d) {
274
273
  case "line": {
@@ -290,9 +289,9 @@ function scaleCurve2d(c8, factor, cx, cy) {
290
289
  };
291
290
  }
292
291
  case "bezier":
293
- return { ...c8, poles: c8.poles.map(([x7, y6]) => scalePoint(x7, y6)) };
292
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => scalePoint(x7, y7)) };
294
293
  case "bspline":
295
- return { ...c8, poles: c8.poles.map(([x7, y6]) => scalePoint(x7, y6)) };
294
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => scalePoint(x7, y7)) };
296
295
  case "trimmed":
297
296
  return { ...c8, basis: scaleCurve2d(c8.basis, factor, cx, cy) };
298
297
  }
@@ -304,9 +303,9 @@ function mirrorAcrossAxis(c8, ox, oy, dx, dy) {
304
303
  const len = Math.sqrt(dx * dx + dy * dy);
305
304
  const nx = dx / len;
306
305
  const ny = dy / len;
307
- const reflectPoint = (x7, y6) => {
306
+ const reflectPoint = (x7, y7) => {
308
307
  const rx = x7 - ox;
309
- const ry = y6 - oy;
308
+ const ry = y7 - oy;
310
309
  const dot = rx * nx + ry * ny;
311
310
  return [ox + 2 * dot * nx - rx, oy + 2 * dot * ny - ry];
312
311
  };
@@ -332,9 +331,9 @@ function mirrorAcrossAxis(c8, ox, oy, dx, dy) {
332
331
  return { ...c8, cx: ncx, cy: ncy, xDirAngle: newAngle, sense: !c8.sense };
333
332
  }
334
333
  case "bezier":
335
- return { ...c8, poles: c8.poles.map(([x7, y6]) => reflectPoint(x7, y6)) };
334
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => reflectPoint(x7, y7)) };
336
335
  case "bspline":
337
- return { ...c8, poles: c8.poles.map(([x7, y6]) => reflectPoint(x7, y6)) };
336
+ return { ...c8, poles: c8.poles.map(([x7, y7]) => reflectPoint(x7, y7)) };
338
337
  case "trimmed":
339
338
  return { ...c8, basis: mirrorAcrossAxis(c8.basis, ox, oy, dx, dy) };
340
339
  }
@@ -376,9 +375,9 @@ function refineParam(c8, px, py) {
376
375
  for (let i9 = 0; i9 <= N4; i9++) {
377
376
  const t10 = bounds.first + i9 * dt;
378
377
  const [ex2, ey2] = evaluateCurve2d(c8, t10);
379
- const d10 = (ex2 - px) ** 2 + (ey2 - py) ** 2;
380
- if (d10 < bestD) {
381
- bestD = d10;
378
+ const d11 = (ex2 - px) ** 2 + (ey2 - py) ** 2;
379
+ if (d11 < bestD) {
380
+ bestD = d11;
382
381
  bestT = t10;
383
382
  }
384
383
  }
@@ -450,18 +449,18 @@ function intersectLineCircle(cLine, line, cCirc, circ, tol) {
450
449
  function intersectCircleCircle(c1, circ1, c22, circ2, tol) {
451
450
  const dx = circ2.cx - circ1.cx;
452
451
  const dy = circ2.cy - circ1.cy;
453
- const d10 = Math.sqrt(dx * dx + dy * dy);
454
- if (d10 > circ1.radius + circ2.radius + tol) return [];
455
- if (d10 < Math.abs(circ1.radius - circ2.radius) - tol) return [];
456
- if (d10 < 1e-14) return [];
457
- const a9 = (circ1.radius * circ1.radius - circ2.radius * circ2.radius + d10 * d10) / (2 * d10);
452
+ const d11 = Math.sqrt(dx * dx + dy * dy);
453
+ if (d11 > circ1.radius + circ2.radius + tol) return [];
454
+ if (d11 < Math.abs(circ1.radius - circ2.radius) - tol) return [];
455
+ if (d11 < 1e-14) return [];
456
+ const a9 = (circ1.radius * circ1.radius - circ2.radius * circ2.radius + d11 * d11) / (2 * d11);
458
457
  const h22 = circ1.radius * circ1.radius - a9 * a9;
459
458
  const h10 = Math.sqrt(Math.max(0, h22));
460
- const mx = circ1.cx + a9 * dx / d10;
461
- const my = circ1.cy + a9 * dy / d10;
459
+ const mx = circ1.cx + a9 * dx / d11;
460
+ const my = circ1.cy + a9 * dy / d11;
462
461
  const candidates = h10 < tol ? [[mx, my]] : [
463
- [mx + h10 * dy / d10, my - h10 * dx / d10],
464
- [mx - h10 * dy / d10, my + h10 * dx / d10]
462
+ [mx + h10 * dy / d11, my - h10 * dx / d11],
463
+ [mx - h10 * dy / d11, my + h10 * dx / d11]
465
464
  ];
466
465
  const results = [];
467
466
  for (const [px, py] of candidates) {
@@ -573,16 +572,16 @@ function addCurveToBBox(bbox, c8, _tol) {
573
572
  const dt = (bounds.last - bounds.first) / nSamples;
574
573
  for (let i9 = 0; i9 <= nSamples; i9++) {
575
574
  const t10 = bounds.first + i9 * dt;
576
- const [x7, y6] = evaluateCurve2d(c8, t10);
575
+ const [x7, y7] = evaluateCurve2d(c8, t10);
577
576
  if (x7 < bbox.xMin) bbox.xMin = x7;
578
- if (y6 < bbox.yMin) bbox.yMin = y6;
577
+ if (y7 < bbox.yMin) bbox.yMin = y7;
579
578
  if (x7 > bbox.xMax) bbox.xMax = x7;
580
- if (y6 > bbox.yMax) bbox.yMax = y6;
579
+ if (y7 > bbox.yMax) bbox.yMax = y7;
581
580
  }
582
581
  }
583
582
  function evaluateBezier(poles, t10) {
584
583
  const n7 = poles.length;
585
- const work = poles.map(([x7, y6]) => [x7, y6]);
584
+ const work = poles.map(([x7, y7]) => [x7, y7]);
586
585
  for (let r9 = 1; r9 < n7; r9++) {
587
586
  for (let i9 = 0; i9 < n7 - r9; i9++) {
588
587
  const wi = work[i9];
@@ -601,38 +600,38 @@ function evaluateBSpline2d(c8, t10) {
601
600
  fullKnots.push(c8.knots[i9]);
602
601
  }
603
602
  }
604
- const p7 = c8.degree;
603
+ const p8 = c8.degree;
605
604
  const n7 = c8.poles.length;
606
605
  const k7 = fullKnots.length;
607
- const tClamped = Math.max(fullKnots[p7], Math.min(fullKnots[k7 - p7 - 1], t10));
608
- let span = p7;
609
- for (let i9 = p7; i9 < k7 - p7 - 1; i9++) {
606
+ const tClamped = Math.max(fullKnots[p8], Math.min(fullKnots[k7 - p8 - 1], t10));
607
+ let span = p8;
608
+ for (let i9 = p8; i9 < k7 - p8 - 1; i9++) {
610
609
  if (tClamped >= fullKnots[i9] && tClamped < fullKnots[i9 + 1]) {
611
610
  span = i9;
612
611
  break;
613
612
  }
614
613
  }
615
- if (tClamped >= fullKnots[k7 - p7 - 1]) span = k7 - p7 - 2;
616
- const d10 = [];
617
- for (let j7 = 0; j7 <= p7; j7++) {
618
- const idx = Math.min(span - p7 + j7, n7 - 1);
614
+ if (tClamped >= fullKnots[k7 - p8 - 1]) span = k7 - p8 - 2;
615
+ const d11 = [];
616
+ for (let j7 = 0; j7 <= p8; j7++) {
617
+ const idx = Math.min(span - p8 + j7, n7 - 1);
619
618
  const pole = c8.poles[Math.max(0, idx)];
620
- d10.push([pole[0], pole[1]]);
619
+ d11.push([pole[0], pole[1]]);
621
620
  }
622
- for (let r9 = 1; r9 <= p7; r9++) {
623
- for (let j7 = p7; j7 >= r9; j7--) {
624
- const i9 = span - p7 + j7;
621
+ for (let r9 = 1; r9 <= p8; r9++) {
622
+ for (let j7 = p8; j7 >= r9; j7--) {
623
+ const i9 = span - p8 + j7;
625
624
  const left = fullKnots[i9] ?? 0;
626
- const right = fullKnots[i9 + p7 - r9 + 1] ?? 1;
625
+ const right = fullKnots[i9 + p8 - r9 + 1] ?? 1;
627
626
  const denom = right - left;
628
627
  const alpha = denom > 1e-15 ? (tClamped - left) / denom : 0;
629
- const dj = d10[j7];
630
- const djPrev = d10[j7 - 1];
628
+ const dj = d11[j7];
629
+ const djPrev = d11[j7 - 1];
631
630
  dj[0] = (1 - alpha) * djPrev[0] + alpha * dj[0];
632
631
  dj[1] = (1 - alpha) * djPrev[1] + alpha * dj[1];
633
632
  }
634
633
  }
635
- return d10[p7];
634
+ return d11[p8];
636
635
  }
637
636
  function isBrepkitHandle(shape2) {
638
637
  return shape2 !== null && shape2 !== void 0 && typeof shape2 === "object" && shape2.__brepkit;
@@ -724,7 +723,7 @@ function dist3(x1, y1, z1, x22, y22, z22) {
724
723
  function copyWasmBytes(bytes) {
725
724
  return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);
726
725
  }
727
- function translationMatrix(x7, y6, z6) {
726
+ function translationMatrix(x7, y7, z6) {
728
727
  return [
729
728
  1,
730
729
  0,
@@ -733,7 +732,7 @@ function translationMatrix(x7, y6, z6) {
733
732
  0,
734
733
  1,
735
734
  0,
736
- y6,
735
+ y7,
737
736
  0,
738
737
  0,
739
738
  1,
@@ -833,20 +832,20 @@ function mirrorMatrix(origin, normal) {
833
832
  const nx = normal[0] / len;
834
833
  const ny = normal[1] / len;
835
834
  const nz = normal[2] / len;
836
- const d10 = 2 * (ox * nx + oy * ny + oz * nz);
835
+ const d11 = 2 * (ox * nx + oy * ny + oz * nz);
837
836
  return [
838
837
  1 - 2 * nx * nx,
839
838
  -2 * nx * ny,
840
839
  -2 * nx * nz,
841
- d10 * nx,
840
+ d11 * nx,
842
841
  -2 * ny * nx,
843
842
  1 - 2 * ny * ny,
844
843
  -2 * ny * nz,
845
- d10 * ny,
844
+ d11 * ny,
846
845
  -2 * nz * nx,
847
846
  -2 * nz * ny,
848
847
  1 - 2 * nz * nz,
849
- d10 * nz,
848
+ d11 * nz,
850
849
  0,
851
850
  0,
852
851
  0,
@@ -1034,8 +1033,8 @@ class BrepkitAdapter {
1034
1033
  hullFromPoints(points, _tolerance) {
1035
1034
  if (points.length < 4) throw new Error("brepkit: hull needs at least 4 points");
1036
1035
  const coords = [];
1037
- for (const p7 of points) {
1038
- coords.push(p7.x, p7.y, p7.z);
1036
+ for (const p8 of points) {
1037
+ coords.push(p8.x, p8.y, p8.z);
1039
1038
  }
1040
1039
  const id = this.bk.convexHull(coords);
1041
1040
  return solidHandle(id);
@@ -1043,10 +1042,10 @@ class BrepkitAdapter {
1043
1042
  buildSolidFromFaces(points, faces, _tolerance) {
1044
1043
  const positions = new Float64Array(points.length * 3);
1045
1044
  for (let i9 = 0; i9 < points.length; i9++) {
1046
- const p7 = points[i9];
1047
- positions[i9 * 3] = p7.x;
1048
- positions[i9 * 3 + 1] = p7.y;
1049
- positions[i9 * 3 + 2] = p7.z;
1045
+ const p8 = points[i9];
1046
+ positions[i9 * 3] = p8.x;
1047
+ positions[i9 * 3 + 1] = p8.y;
1048
+ positions[i9 * 3 + 2] = p8.z;
1050
1049
  }
1051
1050
  const indices = new Uint32Array(faces.length * 3);
1052
1051
  for (let i9 = 0; i9 < faces.length; i9++) {
@@ -1061,8 +1060,8 @@ class BrepkitAdapter {
1061
1060
  // ═══════════════════════════════════════════════════════════════════════
1062
1061
  // Shape construction
1063
1062
  // ═══════════════════════════════════════════════════════════════════════
1064
- makeVertex(x7, y6, z6) {
1065
- const id = this.bk.makeVertex(x7, y6, z6);
1063
+ makeVertex(x7, y7, z6) {
1064
+ const id = this.bk.makeVertex(x7, y7, z6);
1066
1065
  return vertexHandle(id);
1067
1066
  }
1068
1067
  makeEdge(curve, start, end) {
@@ -1197,19 +1196,19 @@ class BrepkitAdapter {
1197
1196
  nz[2] * ux[0] - nz[0] * ux[2],
1198
1197
  nz[0] * ux[1] - nz[1] * ux[0]
1199
1198
  ];
1200
- const proj = (p7) => {
1201
- const dx = p7[0] - p1[0], dy = p7[1] - p1[1], dz = p7[2] - p1[2];
1199
+ const proj = (p8) => {
1200
+ const dx = p8[0] - p1[0], dy = p8[1] - p1[1], dz = p8[2] - p1[2];
1202
1201
  return [dx * ux[0] + dy * ux[1] + dz * ux[2], dx * uy[0] + dy * uy[1] + dz * uy[2]];
1203
1202
  };
1204
1203
  const [ax2, ay2] = proj(p1);
1205
1204
  const [bx2, by2] = proj(p22);
1206
1205
  const [cx2, cy2] = proj(p32);
1207
- const d10 = 2 * (ax2 * (by2 - cy2) + bx2 * (cy2 - ay2) + cx2 * (ay2 - by2));
1208
- if (Math.abs(d10) < 1e-12) {
1206
+ const d11 = 2 * (ax2 * (by2 - cy2) + bx2 * (cy2 - ay2) + cx2 * (ay2 - by2));
1207
+ if (Math.abs(d11) < 1e-12) {
1209
1208
  return this.makeLineEdge(p1, p32);
1210
1209
  }
1211
- const ccx = ((ax2 ** 2 + ay2 ** 2) * (by2 - cy2) + (bx2 ** 2 + by2 ** 2) * (cy2 - ay2) + (cx2 ** 2 + cy2 ** 2) * (ay2 - by2)) / d10;
1212
- const ccy = ((ax2 ** 2 + ay2 ** 2) * (cx2 - bx2) + (bx2 ** 2 + by2 ** 2) * (ax2 - cx2) + (cx2 ** 2 + cy2 ** 2) * (bx2 - ax2)) / d10;
1210
+ const ccx = ((ax2 ** 2 + ay2 ** 2) * (by2 - cy2) + (bx2 ** 2 + by2 ** 2) * (cy2 - ay2) + (cx2 ** 2 + cy2 ** 2) * (ay2 - by2)) / d11;
1211
+ const ccy = ((ax2 ** 2 + ay2 ** 2) * (cx2 - bx2) + (bx2 ** 2 + by2 ** 2) * (ax2 - cx2) + (cx2 ** 2 + cy2 ** 2) * (bx2 - ax2)) / d11;
1213
1212
  const center = [
1214
1213
  p1[0] + ccx * ux[0] + ccy * uy[0],
1215
1214
  p1[1] + ccx * ux[1] + ccy * uy[1],
@@ -1251,7 +1250,7 @@ class BrepkitAdapter {
1251
1250
  const n7 = points.length;
1252
1251
  const knots = [...Array(degree + 1).fill(0), ...Array(degree + 1).fill(1)];
1253
1252
  const weights = Array(n7).fill(1);
1254
- const flatCp = points.flatMap(([x7, y6, z6]) => [x7, y6, z6]);
1253
+ const flatCp = points.flatMap(([x7, y7, z6]) => [x7, y7, z6]);
1255
1254
  const startPt = points[0];
1256
1255
  const endPt = points[n7 - 1];
1257
1256
  const id = this.bk.makeNurbsEdge(
@@ -1269,73 +1268,21 @@ class BrepkitAdapter {
1269
1268
  return edgeHandle(id);
1270
1269
  }
1271
1270
  makeTangentArc(startPoint, startTangent, endPoint) {
1272
- const tLen = Math.sqrt(startTangent[0] ** 2 + startTangent[1] ** 2 + startTangent[2] ** 2);
1273
- if (tLen < 1e-12) return this.makeLineEdge(startPoint, endPoint);
1274
- const t10 = [
1275
- startTangent[0] / tLen,
1276
- startTangent[1] / tLen,
1277
- startTangent[2] / tLen
1278
- ];
1279
- const ch = [
1280
- startPoint[0] - endPoint[0],
1281
- startPoint[1] - endPoint[1],
1282
- startPoint[2] - endPoint[2]
1283
- ];
1284
- const chDotT = ch[0] * t10[0] + ch[1] * t10[1] + ch[2] * t10[2];
1285
- const perp = [
1286
- ch[0] - chDotT * t10[0],
1287
- ch[1] - chDotT * t10[1],
1288
- ch[2] - chDotT * t10[2]
1289
- ];
1290
- const perpLen = Math.sqrt(perp[0] ** 2 + perp[1] ** 2 + perp[2] ** 2);
1291
- if (perpLen < 1e-12) return this.makeLineEdge(startPoint, endPoint);
1292
- const n7 = [perp[0] / perpLen, perp[1] / perpLen, perp[2] / perpLen];
1293
- const chord2 = ch[0] ** 2 + ch[1] ** 2 + ch[2] ** 2;
1294
- const nDotCh = n7[0] * ch[0] + n7[1] * ch[1] + n7[2] * ch[2];
1295
- const s6 = -chord2 / (2 * nDotCh);
1296
- const center = [
1297
- startPoint[0] + s6 * n7[0],
1298
- startPoint[1] + s6 * n7[1],
1299
- startPoint[2] + s6 * n7[2]
1300
- ];
1301
- const radius = Math.abs(s6);
1302
- const e1 = [
1303
- (startPoint[0] - center[0]) / radius,
1304
- (startPoint[1] - center[1]) / radius,
1305
- (startPoint[2] - center[2]) / radius
1306
- ];
1307
- const e22 = [
1308
- (endPoint[0] - center[0]) / radius,
1309
- (endPoint[1] - center[1]) / radius,
1310
- (endPoint[2] - center[2]) / radius
1311
- ];
1312
- let mx = e1[0] + e22[0];
1313
- let my = e1[1] + e22[1];
1314
- let mz = e1[2] + e22[2];
1315
- let mLen = Math.sqrt(mx * mx + my * my + mz * mz);
1316
- if (mLen < 1e-12) {
1317
- mx = t10[0];
1318
- my = t10[1];
1319
- mz = t10[2];
1320
- mLen = 1;
1321
- }
1322
- const mid = [
1323
- center[0] + radius * mx / mLen,
1324
- center[1] + radius * my / mLen,
1325
- center[2] + radius * mz / mLen
1326
- ];
1327
- const toMid = [
1328
- mid[0] - startPoint[0],
1329
- mid[1] - startPoint[1],
1330
- mid[2] - startPoint[2]
1331
- ];
1332
- const dotTM = t10[0] * toMid[0] + t10[1] * toMid[1] + t10[2] * toMid[2];
1333
- if (dotTM < 0) {
1334
- mid[0] = center[0] - radius * mx / mLen;
1335
- mid[1] = center[1] - radius * my / mLen;
1336
- mid[2] = center[2] - radius * mz / mLen;
1337
- }
1338
- return this.makeArcEdge(startPoint, mid, endPoint);
1271
+ if (!this.bk.makeTangentArc3d) {
1272
+ throw new Error("makeTangentArc requires brepkit-wasm >= 1.1.0");
1273
+ }
1274
+ const id = this.bk.makeTangentArc3d(
1275
+ startPoint[0],
1276
+ startPoint[1],
1277
+ startPoint[2],
1278
+ startTangent[0],
1279
+ startTangent[1],
1280
+ startTangent[2],
1281
+ endPoint[0],
1282
+ endPoint[1],
1283
+ endPoint[2]
1284
+ );
1285
+ return edgeHandle(id);
1339
1286
  }
1340
1287
  makeHelixWire(pitch, height, radius, center, _direction, leftHanded) {
1341
1288
  const turns = height / pitch;
@@ -1388,8 +1335,8 @@ class BrepkitAdapter {
1388
1335
  makeBoxFromCorners(p1, p22) {
1389
1336
  const w7 = Math.abs(p22[0] - p1[0]);
1390
1337
  const h10 = Math.abs(p22[1] - p1[1]);
1391
- const d10 = Math.abs(p22[2] - p1[2]);
1392
- const box = this.makeBox(w7, h10, d10);
1338
+ const d11 = Math.abs(p22[2] - p1[2]);
1339
+ const box = this.makeBox(w7, h10, d11);
1393
1340
  const minX = Math.min(p1[0], p22[0]);
1394
1341
  const minY = Math.min(p1[1], p22[1]);
1395
1342
  const minZ = Math.min(p1[2], p22[2]);
@@ -1550,7 +1497,7 @@ class BrepkitAdapter {
1550
1497
  return solidHandle(this.bk.filletVariable(solidId, JSON.stringify(spec)));
1551
1498
  }
1552
1499
  chamfer(shape2, edges, distance) {
1553
- const d10 = typeof distance === "number" ? distance : Array.isArray(distance) ? distance[0] : 1;
1500
+ const d11 = typeof distance === "number" ? distance : Array.isArray(distance) ? distance[0] : 1;
1554
1501
  if (typeof distance !== "number") {
1555
1502
  warnOnce(
1556
1503
  "chamfer-asymmetric",
@@ -1558,7 +1505,7 @@ class BrepkitAdapter {
1558
1505
  );
1559
1506
  }
1560
1507
  const edgeIds = edges.map((e8) => unwrap(e8, "edge"));
1561
- const id = this.bk.chamfer(unwrapSolidOrThrow(shape2, "chamfer"), edgeIds, d10);
1508
+ const id = this.bk.chamfer(unwrapSolidOrThrow(shape2, "chamfer"), edgeIds, d11);
1562
1509
  return solidHandle(id);
1563
1510
  }
1564
1511
  chamferDistAngle(shape2, edges, distance, angleDeg) {
@@ -1638,8 +1585,8 @@ class BrepkitAdapter {
1638
1585
  }
1639
1586
  throw new Error("brepkit: transform expects a 16-element matrix array");
1640
1587
  }
1641
- translate(shape2, x7, y6, z6) {
1642
- return this.applyMatrix(shape2, translationMatrix(x7, y6, z6));
1588
+ translate(shape2, x7, y7, z6) {
1589
+ return this.applyMatrix(shape2, translationMatrix(x7, y7, z6));
1643
1590
  }
1644
1591
  rotate(shape2, angle, axis, center) {
1645
1592
  return this.applyMatrix(shape2, rotationMatrix(angle, axis, center));
@@ -1916,9 +1863,9 @@ class BrepkitAdapter {
1916
1863
  }
1917
1864
  }
1918
1865
  }
1919
- translateWithHistory(shape2, x7, y6, z6, inputFaceHashes, hashUpperBound) {
1866
+ translateWithHistory(shape2, x7, y7, z6, inputFaceHashes, hashUpperBound) {
1920
1867
  return this.buildEvolution(
1921
- this.translate(shape2, x7, y6, z6),
1868
+ this.translate(shape2, x7, y7, z6),
1922
1869
  inputFaceHashes,
1923
1870
  hashUpperBound,
1924
1871
  true
@@ -1992,20 +1939,20 @@ class BrepkitAdapter {
1992
1939
  result.evolution.deleted,
1993
1940
  intermediateOutputs
1994
1941
  );
1995
- for (const [k7, v9] of result.evolution.modified) {
1942
+ for (const [k7, v8] of result.evolution.modified) {
1996
1943
  if (!combinedModified.has(k7) && !intermediateOutputs.has(k7)) {
1997
- combinedModified.set(k7, [...v9]);
1944
+ combinedModified.set(k7, [...v8]);
1998
1945
  }
1999
1946
  }
2000
- for (const [k7, v9] of result.evolution.generated) {
1947
+ for (const [k7, v8] of result.evolution.generated) {
2001
1948
  if (!intermediateOutputs.has(k7)) {
2002
1949
  const existing = combinedGenerated.get(k7) ?? [];
2003
- combinedGenerated.set(k7, [...existing, ...v9]);
1950
+ combinedGenerated.set(k7, [...existing, ...v8]);
2004
1951
  }
2005
1952
  }
2006
- for (const d10 of result.evolution.deleted) {
2007
- if (inputFaceHashSet.has(d10)) {
2008
- combinedDeleted.add(d10);
1953
+ for (const d11 of result.evolution.deleted) {
1954
+ if (inputFaceHashSet.has(d11)) {
1955
+ combinedDeleted.add(d11);
2009
1956
  }
2010
1957
  }
2011
1958
  }
@@ -2210,7 +2157,7 @@ class BrepkitAdapter {
2210
2157
  }
2211
2158
  exportSTEPAssembly(parts, _options) {
2212
2159
  if (parts.length === 0) return "";
2213
- const shapes = parts.map((p7) => p7.shape);
2160
+ const shapes = parts.map((p8) => p8.shape);
2214
2161
  return this.exportSTEP(shapes);
2215
2162
  }
2216
2163
  // ═══════════════════════════════════════════════════════════════════════
@@ -2288,11 +2235,11 @@ class BrepkitAdapter {
2288
2235
  const vertices = this.iterShapes(shape2, "vertex");
2289
2236
  if (vertices.length > 0) {
2290
2237
  let sx = 0, sy = 0, sz = 0;
2291
- for (const v9 of vertices) {
2292
- const p7 = this.vertexPosition(v9);
2293
- sx += p7[0];
2294
- sy += p7[1];
2295
- sz += p7[2];
2238
+ for (const v8 of vertices) {
2239
+ const p8 = this.vertexPosition(v8);
2240
+ sx += p8[0];
2241
+ sy += p8[1];
2242
+ sz += p8[2];
2296
2243
  }
2297
2244
  return [sx / vertices.length, sy / vertices.length, sz / vertices.length];
2298
2245
  }
@@ -2331,13 +2278,13 @@ class BrepkitAdapter {
2331
2278
  let minX = first[0], minY = first[1], minZ = first[2];
2332
2279
  let maxX = first[0], maxY = first[1], maxZ = first[2];
2333
2280
  for (let i9 = 1; i9 < vertices.length; i9++) {
2334
- const p7 = this.vertexPosition(vertices[i9]);
2335
- if (p7[0] < minX) minX = p7[0];
2336
- if (p7[0] > maxX) maxX = p7[0];
2337
- if (p7[1] < minY) minY = p7[1];
2338
- if (p7[1] > maxY) maxY = p7[1];
2339
- if (p7[2] < minZ) minZ = p7[2];
2340
- if (p7[2] > maxZ) maxZ = p7[2];
2281
+ const p8 = this.vertexPosition(vertices[i9]);
2282
+ if (p8[0] < minX) minX = p8[0];
2283
+ if (p8[0] > maxX) maxX = p8[0];
2284
+ if (p8[1] < minY) minY = p8[1];
2285
+ if (p8[1] > maxY) maxY = p8[1];
2286
+ if (p8[2] < minZ) minZ = p8[2];
2287
+ if (p8[2] > maxZ) maxZ = p8[2];
2341
2288
  }
2342
2289
  return { min: [minX, minY, minZ], max: [maxX, maxY, maxZ] };
2343
2290
  }
@@ -2439,11 +2386,11 @@ class BrepkitAdapter {
2439
2386
  [verts[0], verts[1], verts[2]],
2440
2387
  [verts[3], verts[4], verts[5]]
2441
2388
  ];
2442
- for (const [x7, y6, z6] of coords) {
2443
- const key = `${x7},${y6},${z6}`;
2389
+ for (const [x7, y7, z6] of coords) {
2390
+ const key = `${x7},${y7},${z6}`;
2444
2391
  if (!seen.has(key)) {
2445
2392
  seen.add(key);
2446
- results.push(vertexHandle(this.bk.makeVertex(x7, y6, z6)));
2393
+ results.push(vertexHandle(this.bk.makeVertex(x7, y7, z6)));
2447
2394
  }
2448
2395
  }
2449
2396
  }
@@ -2519,13 +2466,13 @@ class BrepkitAdapter {
2519
2466
  const id = this.bk.getFaceOuterWire(unwrap(face, "face"));
2520
2467
  return wireHandle(id);
2521
2468
  }
2522
- surfaceNormal(face, u8, v9) {
2523
- const n7 = this.bk.evaluateSurfaceNormal(unwrap(face, "face"), u8, v9);
2469
+ surfaceNormal(face, u8, v8) {
2470
+ const n7 = this.bk.evaluateSurfaceNormal(unwrap(face, "face"), u8, v8);
2524
2471
  return [n7[0], n7[1], n7[2]];
2525
2472
  }
2526
- pointOnSurface(face, u8, v9) {
2527
- const p7 = this.bk.evaluateSurface(unwrap(face, "face"), u8, v9);
2528
- return [p7[0], p7[1], p7[2]];
2473
+ pointOnSurface(face, u8, v8) {
2474
+ const p8 = this.bk.evaluateSurface(unwrap(face, "face"), u8, v8);
2475
+ return [p8[0], p8[1], p8[2]];
2529
2476
  }
2530
2477
  uvFromPoint(face, point) {
2531
2478
  try {
@@ -2562,11 +2509,11 @@ class BrepkitAdapter {
2562
2509
  edgeId = edgeIds[edgeIds.length - 1];
2563
2510
  let cumulative = 0;
2564
2511
  for (const eid of edgeIds) {
2565
- const p7 = this.bk.getEdgeCurveParameters(eid);
2566
- const span = p7[1] - p7[0];
2512
+ const p8 = this.bk.getEdgeCurveParameters(eid);
2513
+ const span = p8[1] - p8[0];
2567
2514
  if (param <= cumulative + span || eid === edgeId) {
2568
2515
  edgeId = eid;
2569
- evalParam = Math.min(p7[0] + (param - cumulative), p7[1]);
2516
+ evalParam = Math.min(p8[0] + (param - cumulative), p8[1]);
2570
2517
  break;
2571
2518
  }
2572
2519
  cumulative += span;
@@ -2587,8 +2534,8 @@ class BrepkitAdapter {
2587
2534
  if (edgeIds.length === 0) return [0, 0];
2588
2535
  let total = 0;
2589
2536
  for (const eid of edgeIds) {
2590
- const p7 = this.bk.getEdgeCurveParameters(eid);
2591
- total += p7[1] - p7[0];
2537
+ const p8 = this.bk.getEdgeCurveParameters(eid);
2538
+ total += p8[1] - p8[0];
2592
2539
  }
2593
2540
  return [0, total];
2594
2541
  }
@@ -2615,8 +2562,8 @@ class BrepkitAdapter {
2615
2562
  return [pt[0], pt[1], pt[2]];
2616
2563
  }
2617
2564
  const edgeId = unwrap(shape2, "edge");
2618
- const p7 = this.bk.evaluateEdgeCurve(edgeId, param);
2619
- return [p7[0], p7[1], p7[2]];
2565
+ const p8 = this.bk.evaluateEdgeCurve(edgeId, param);
2566
+ return [p8[0], p8[1], p8[2]];
2620
2567
  }
2621
2568
  curveIsClosed(shape2) {
2622
2569
  const h10 = shape2;
@@ -2804,8 +2751,8 @@ class BrepkitAdapter {
2804
2751
  const h1 = shape1;
2805
2752
  const h22 = shape2;
2806
2753
  if (h1.type === "solid" && h22.type === "solid") {
2807
- const d10 = this.bk.solidToSolidDistance(h1.id, h22.id);
2808
- return { value: d10, point1: [0, 0, 0], point2: [0, 0, 0] };
2754
+ const d11 = this.bk.solidToSolidDistance(h1.id, h22.id);
2755
+ return { value: d11, point1: [0, 0, 0], point2: [0, 0, 0] };
2809
2756
  }
2810
2757
  if (h1.type === "vertex" && h22.type === "solid") {
2811
2758
  const pos = this.bk.getVertexPosition(h1.id);
@@ -2836,8 +2783,8 @@ class BrepkitAdapter {
2836
2783
  }
2837
2784
  const getPos = (s6) => {
2838
2785
  if (s6.type === "vertex") {
2839
- const p7 = this.bk.getVertexPosition(s6.id);
2840
- return [p7[0], p7[1], p7[2]];
2786
+ const p8 = this.bk.getVertexPosition(s6.id);
2787
+ return [p8[0], p8[1], p8[2]];
2841
2788
  }
2842
2789
  if (s6.type === "solid") {
2843
2790
  const bb = this.bk.boundingBox(s6.id);
@@ -2855,7 +2802,7 @@ class BrepkitAdapter {
2855
2802
  // ═══════════════════════════════════════════════════════════════════════
2856
2803
  // Classification
2857
2804
  // ═══════════════════════════════════════════════════════════════════════
2858
- classifyPointOnFace(face, u8, v9, tolerance) {
2805
+ classifyPointOnFace(face, u8, v8, tolerance) {
2859
2806
  if (tolerance !== void 0) {
2860
2807
  warnOnce(
2861
2808
  "classify-tolerance",
@@ -2864,7 +2811,7 @@ class BrepkitAdapter {
2864
2811
  }
2865
2812
  const faceId = unwrap(face, "face");
2866
2813
  const domain = this.bk.getSurfaceDomain(faceId);
2867
- if (u8 < domain[0] || u8 > domain[1] || v9 < domain[2] || v9 > domain[3]) {
2814
+ if (u8 < domain[0] || u8 > domain[1] || v8 < domain[2] || v8 > domain[3]) {
2868
2815
  return "out";
2869
2816
  }
2870
2817
  return "in";
@@ -2884,7 +2831,7 @@ class BrepkitAdapter {
2884
2831
  return this.makeLineEdge(points[0], points[1]);
2885
2832
  }
2886
2833
  const degree = Math.min(3, points.length - 1);
2887
- const coords = points.flatMap(([x7, y6, z6]) => [x7, y6, z6]);
2834
+ const coords = points.flatMap(([x7, y7, z6]) => [x7, y7, z6]);
2888
2835
  const id = this.bk.interpolatePoints(coords, degree);
2889
2836
  return edgeHandle(id);
2890
2837
  }
@@ -2892,7 +2839,7 @@ class BrepkitAdapter {
2892
2839
  const degree = options?.degMax ?? 3;
2893
2840
  const tol = options?.tolerance ?? 1e-6;
2894
2841
  const coords = [];
2895
- for (const p7 of points) coords.push(p7[0], p7[1], p7[2]);
2842
+ for (const p8 of points) coords.push(p8[0], p8[1], p8[2]);
2896
2843
  const numCps = Math.max(degree + 1, Math.min(points.length, Math.ceil(points.length * 0.7)));
2897
2844
  const id = this.bk.approximateCurveLspia(coords, degree, numCps, tol, 100);
2898
2845
  return edgeHandle(id);
@@ -3088,8 +3035,8 @@ class BrepkitAdapter {
3088
3035
  }
3089
3036
  bsplineSurface(points, rows, cols) {
3090
3037
  const coords = [];
3091
- for (const [x7, y6, z6] of points) {
3092
- coords.push(x7, y6, z6);
3038
+ for (const [x7, y7, z6] of points) {
3039
+ coords.push(x7, y7, z6);
3093
3040
  }
3094
3041
  const degreeU = Math.min(3, rows - 1);
3095
3042
  const degreeV = Math.min(3, cols - 1);
@@ -3162,9 +3109,9 @@ class BrepkitAdapter {
3162
3109
  // ═══════════════════════════════════════════════════════════════════════
3163
3110
  // Measurement (advanced)
3164
3111
  // ═══════════════════════════════════════════════════════════════════════
3165
- surfaceCurvature(face, u8, v9) {
3112
+ surfaceCurvature(face, u8, v8) {
3166
3113
  const fid = unwrap(face, "face");
3167
- const data = this.bk.measureCurvatureAtSurface(fid, u8, v9);
3114
+ const data = this.bk.measureCurvatureAtSurface(fid, u8, v8);
3168
3115
  if (data.length < 8) {
3169
3116
  throw new Error(
3170
3117
  `brepkit: measureCurvatureAtSurface returned ${data.length} values, expected 8`
@@ -3305,15 +3252,15 @@ class BrepkitAdapter {
3305
3252
  // ═══════════════════════════════════════════════════════════════════════
3306
3253
  // 3D geometry primitive factories
3307
3254
  // ═══════════════════════════════════════════════════════════════════════
3308
- createPoint3d(x7, y6, z6) {
3309
- return { x: x7, y: y6, z: z6 };
3255
+ createPoint3d(x7, y7, z6) {
3256
+ return { x: x7, y: y7, z: z6 };
3310
3257
  }
3311
- createDirection3d(x7, y6, z6) {
3312
- const len = Math.sqrt(x7 * x7 + y6 * y6 + z6 * z6);
3313
- return { x: x7 / len, y: y6 / len, z: z6 / len };
3258
+ createDirection3d(x7, y7, z6) {
3259
+ const len = Math.sqrt(x7 * x7 + y7 * y7 + z6 * z6);
3260
+ return { x: x7 / len, y: y7 / len, z: z6 / len };
3314
3261
  }
3315
- createVector3d(x7, y6, z6) {
3316
- return { x: x7, y: y6, z: z6 };
3262
+ createVector3d(x7, y7, z6) {
3263
+ return { x: x7, y: y7, z: z6 };
3317
3264
  }
3318
3265
  createAxis1(cx, cy, cz, dx, dy, dz) {
3319
3266
  return { origin: [cx, cy, cz], direction: [dx, dy, dz] };
@@ -3382,15 +3329,15 @@ class BrepkitAdapter {
3382
3329
  bb2d(h10) {
3383
3330
  return h10;
3384
3331
  }
3385
- createPoint2d(x7, y6) {
3386
- return { x: x7, y: y6 };
3332
+ createPoint2d(x7, y7) {
3333
+ return { x: x7, y: y7 };
3387
3334
  }
3388
- createDirection2d(x7, y6) {
3389
- const l10 = Math.sqrt(x7 * x7 + y6 * y6);
3390
- return { x: x7 / l10, y: y6 / l10 };
3335
+ createDirection2d(x7, y7) {
3336
+ const l10 = Math.sqrt(x7 * x7 + y7 * y7);
3337
+ return { x: x7 / l10, y: y7 / l10 };
3391
3338
  }
3392
- createVector2d(x7, y6) {
3393
- return { x: x7, y: y6 };
3339
+ createVector2d(x7, y7) {
3340
+ return { x: x7, y: y7 };
3394
3341
  }
3395
3342
  createAxis2d(px, py, dx, dy) {
3396
3343
  return { px, py, dx, dy, delete: noop };
@@ -3408,12 +3355,12 @@ class BrepkitAdapter {
3408
3355
  return makeCircle2d(cx, cy, radius, sense);
3409
3356
  }
3410
3357
  makeArc2dThreePoints(x1, y1, xm, ym, x22, y22) {
3411
- const d10 = 2 * (x1 * (ym - y22) + xm * (y22 - y1) + x22 * (y1 - ym));
3412
- if (Math.abs(d10) < 1e-12) {
3358
+ const d11 = 2 * (x1 * (ym - y22) + xm * (y22 - y1) + x22 * (y1 - ym));
3359
+ if (Math.abs(d11) < 1e-12) {
3413
3360
  return makeLine2d(x1, y1, x22, y22);
3414
3361
  }
3415
- const cx = ((x1 * x1 + y1 * y1) * (ym - y22) + (xm * xm + ym * ym) * (y22 - y1) + (x22 * x22 + y22 * y22) * (y1 - ym)) / d10;
3416
- const cy = ((x1 * x1 + y1 * y1) * (x22 - xm) + (xm * xm + ym * ym) * (x1 - x22) + (x22 * x22 + y22 * y22) * (xm - x1)) / d10;
3362
+ const cx = ((x1 * x1 + y1 * y1) * (ym - y22) + (xm * xm + ym * ym) * (y22 - y1) + (x22 * x22 + y22 * y22) * (y1 - ym)) / d11;
3363
+ const cy = ((x1 * x1 + y1 * y1) * (x22 - xm) + (xm * xm + ym * ym) * (x1 - x22) + (x22 * x22 + y22 * y22) * (xm - x1)) / d11;
3417
3364
  const radius = Math.sqrt((x1 - cx) ** 2 + (y1 - cy) ** 2);
3418
3365
  const a12 = Math.atan2(y1 - cy, x1 - cx);
3419
3366
  const am = Math.atan2(ym - cy, xm - cx);
@@ -3663,23 +3610,23 @@ class BrepkitAdapter {
3663
3610
  );
3664
3611
  return { points: result.points, segments };
3665
3612
  }
3666
- projectPointOnCurve2d(curve, x7, y6) {
3613
+ projectPointOnCurve2d(curve, x7, y7) {
3667
3614
  const c8 = this.c2d(curve);
3668
3615
  const bounds = curveBounds(c8);
3669
3616
  if (c8.__bk2d === "line") {
3670
3617
  const dx = x7 - c8.ox;
3671
- const dy = y6 - c8.oy;
3618
+ const dy = y7 - c8.oy;
3672
3619
  const t10 = Math.max(bounds.first, Math.min(bounds.last, dx * c8.dx + dy * c8.dy));
3673
3620
  const [px, py] = evaluateCurve2d(c8, t10);
3674
- return { param: t10, distance: Math.sqrt((px - x7) ** 2 + (py - y6) ** 2) };
3621
+ return { param: t10, distance: Math.sqrt((px - x7) ** 2 + (py - y7) ** 2) };
3675
3622
  }
3676
3623
  if (c8.__bk2d === "circle") {
3677
- const angle = Math.atan2(y6 - c8.cy, x7 - c8.cx);
3624
+ const angle = Math.atan2(y7 - c8.cy, x7 - c8.cx);
3678
3625
  let t10 = c8.sense ? angle : -angle;
3679
3626
  while (t10 < 0) t10 += 2 * Math.PI;
3680
3627
  while (t10 > 2 * Math.PI) t10 -= 2 * Math.PI;
3681
3628
  const [px, py] = evaluateCurve2d(c8, t10);
3682
- return { param: t10, distance: Math.sqrt((px - x7) ** 2 + (py - y6) ** 2) };
3629
+ return { param: t10, distance: Math.sqrt((px - x7) ** 2 + (py - y7) ** 2) };
3683
3630
  }
3684
3631
  if (!isFinite(bounds.first) || !isFinite(bounds.last)) return null;
3685
3632
  let bestT = bounds.first;
@@ -3689,16 +3636,16 @@ class BrepkitAdapter {
3689
3636
  for (let i9 = 0; i9 <= N4; i9++) {
3690
3637
  const t10 = bounds.first + i9 * dt;
3691
3638
  const [px, py] = evaluateCurve2d(c8, t10);
3692
- const d10 = (px - x7) ** 2 + (py - y6) ** 2;
3693
- if (d10 < bestDist) {
3694
- bestDist = d10;
3639
+ const d11 = (px - x7) ** 2 + (py - y7) ** 2;
3640
+ if (d11 < bestDist) {
3641
+ bestDist = d11;
3695
3642
  bestT = t10;
3696
3643
  }
3697
3644
  }
3698
3645
  for (let iter = 0; iter < 10; iter++) {
3699
3646
  const [px, py] = evaluateCurve2d(c8, bestT);
3700
3647
  const [tx, ty] = tangentCurve2d(c8, bestT);
3701
- const dot = (px - x7) * tx + (py - y6) * ty;
3648
+ const dot = (px - x7) * tx + (py - y7) * ty;
3702
3649
  const denom = tx * tx + ty * ty;
3703
3650
  if (denom < 1e-20) break;
3704
3651
  const step = dot / denom;
@@ -3707,7 +3654,7 @@ class BrepkitAdapter {
3707
3654
  bestT = newT;
3708
3655
  }
3709
3656
  const [fx, fy] = evaluateCurve2d(c8, bestT);
3710
- return { param: bestT, distance: Math.sqrt((fx - x7) ** 2 + (fy - y6) ** 2) };
3657
+ return { param: bestT, distance: Math.sqrt((fx - x7) ** 2 + (fy - y7) ** 2) };
3711
3658
  }
3712
3659
  distanceBetweenCurves2d(c1, c22, p1s, p1e, p2s, p2e) {
3713
3660
  const curve1 = this.c2d(c1);
@@ -3722,9 +3669,9 @@ class BrepkitAdapter {
3722
3669
  for (let j7 = 0; j7 <= N4; j7++) {
3723
3670
  const t222 = p2s + (p2e - p2s) * j7 / N4;
3724
3671
  const [x22, y22] = evaluateCurve2d(curve2, t222);
3725
- const d10 = (x22 - x1) ** 2 + (y22 - y1) ** 2;
3726
- if (d10 < minDistSq) {
3727
- minDistSq = d10;
3672
+ const d11 = (x22 - x1) ** 2 + (y22 - y1) ** 2;
3673
+ if (d11 < minDistSq) {
3674
+ minDistSq = d11;
3728
3675
  bestT1 = t12;
3729
3676
  bestT2 = t222;
3730
3677
  }
@@ -3844,9 +3791,9 @@ class BrepkitAdapter {
3844
3791
  const ba = this.bb2d(a9), bb = this.bb2d(b9);
3845
3792
  return ba.xMax < bb.xMin || bb.xMax < ba.xMin || ba.yMax < bb.yMin || bb.yMax < ba.yMin;
3846
3793
  }
3847
- isBBox2dOutPoint(bbox, x7, y6) {
3794
+ isBBox2dOutPoint(bbox, x7, y7) {
3848
3795
  const b9 = this.bb2d(bbox);
3849
- return x7 < b9.xMin || x7 > b9.xMax || y6 < b9.yMin || y6 > b9.yMax;
3796
+ return x7 < b9.xMin || x7 > b9.xMax || y7 < b9.yMin || y7 > b9.yMax;
3850
3797
  }
3851
3798
  // --- 2D type extraction ---
3852
3799
  getCurve2dCircleData(curve) {
@@ -3913,15 +3860,15 @@ class BrepkitAdapter {
3913
3860
  // --- 2D → 3D projection ---
3914
3861
  liftCurve2dToPlane(curve, origin, planeZ, planeX) {
3915
3862
  const c8 = this.c2d(curve);
3916
- const y6 = [
3863
+ const y7 = [
3917
3864
  planeZ[1] * planeX[2] - planeZ[2] * planeX[1],
3918
3865
  planeZ[2] * planeX[0] - planeZ[0] * planeX[2],
3919
3866
  planeZ[0] * planeX[1] - planeZ[1] * planeX[0]
3920
3867
  ];
3921
- const lift = (u8, v9) => [
3922
- origin[0] + u8 * planeX[0] + v9 * y6[0],
3923
- origin[1] + u8 * planeX[1] + v9 * y6[1],
3924
- origin[2] + u8 * planeX[2] + v9 * y6[2]
3868
+ const lift = (u8, v8) => [
3869
+ origin[0] + u8 * planeX[0] + v8 * y7[0],
3870
+ origin[1] + u8 * planeX[1] + v8 * y7[1],
3871
+ origin[2] + u8 * planeX[2] + v8 * y7[2]
3925
3872
  ];
3926
3873
  if (c8.__bk2d === "line") {
3927
3874
  const p1 = lift(c8.ox, c8.oy);
@@ -3957,7 +3904,7 @@ class BrepkitAdapter {
3957
3904
  }
3958
3905
  }
3959
3906
  if (c8.__bk2d === "bezier" || c8.__bk2d === "bspline") {
3960
- const points3d = c8.poles.map(([u8, v9]) => lift(u8, v9));
3907
+ const points3d = c8.poles.map(([u8, v8]) => lift(u8, v8));
3961
3908
  if (points3d.length === 2) return this.makeLineEdge(points3d[0], points3d[1]);
3962
3909
  const degree = Math.min(3, points3d.length - 1);
3963
3910
  const coords = points3d.flatMap(([px, py, pz]) => [px, py, pz]);
@@ -3969,8 +3916,8 @@ class BrepkitAdapter {
3969
3916
  const points = [];
3970
3917
  for (let i9 = 0; i9 <= nSamples; i9++) {
3971
3918
  const t10 = bounds.first + (bounds.last - bounds.first) * i9 / nSamples;
3972
- const [u8, v9] = evaluateCurve2d(c8, t10);
3973
- points.push(lift(u8, v9));
3919
+ const [u8, v8] = evaluateCurve2d(c8, t10);
3920
+ points.push(lift(u8, v8));
3974
3921
  }
3975
3922
  return this.interpolatePoints(points);
3976
3923
  }
@@ -3985,9 +3932,9 @@ class BrepkitAdapter {
3985
3932
  const points = [];
3986
3933
  for (let i9 = 0; i9 <= N4; i9++) {
3987
3934
  const t10 = bounds.first + (bounds.last - bounds.first) * i9 / N4;
3988
- const [u8, v9] = evaluateCurve2d(c8, t10);
3989
- const p7 = this.bk.evaluateSurface(fid, u8, v9);
3990
- points.push([p7[0], p7[1], p7[2]]);
3935
+ const [u8, v8] = evaluateCurve2d(c8, t10);
3936
+ const p8 = this.bk.evaluateSurface(fid, u8, v8);
3937
+ points.push([p8[0], p8[1], p8[2]]);
3991
3938
  }
3992
3939
  return this.interpolatePoints(points);
3993
3940
  }
@@ -4072,8 +4019,8 @@ class BrepkitAdapter {
4072
4019
  const pts = [];
4073
4020
  for (let i9 = 0; i9 <= N4; i9++) {
4074
4021
  const t10 = tMin + (tMax - tMin) * i9 / N4;
4075
- const p7 = this.bk.evaluateEdgeCurve(edgeId, t10);
4076
- pts.push(p7[0], p7[1], p7[2]);
4022
+ const p8 = this.bk.evaluateEdgeCurve(edgeId, t10);
4023
+ pts.push(p8[0], p8[1], p8[2]);
4077
4024
  }
4078
4025
  allCoords.push(...pts);
4079
4026
  curveLengths.push(N4 + 1);
@@ -4248,7 +4195,7 @@ class BrepkitAdapter {
4248
4195
  const vertCount = positions.length / 3;
4249
4196
  if (vertCount === 0) continue;
4250
4197
  const triStart = allTriangles.length;
4251
- for (const v9 of positions) allVertices.push(v9);
4198
+ for (const v8 of positions) allVertices.push(v8);
4252
4199
  for (const n7 of normals) allNormals.push(n7);
4253
4200
  for (const idx of indices) {
4254
4201
  allTriangles.push(idx + vertexOffset);
@@ -4518,8 +4465,8 @@ class BrepkitAdapter {
4518
4465
  return this.bk.sketchNew();
4519
4466
  }
4520
4467
  /** Add a point to a constraint sketch. Returns the point index. */
4521
- sketchAddPoint(sketch, x7, y6, fixed) {
4522
- return this.bk.sketchAddPoint(sketch, x7, y6, fixed);
4468
+ sketchAddPoint(sketch, x7, y7, fixed) {
4469
+ return this.bk.sketchAddPoint(sketch, x7, y7, fixed);
4523
4470
  }
4524
4471
  /** Add a constraint to a sketch (JSON-encoded constraint descriptor). */
4525
4472
  sketchAddConstraint(sketch, constraintJson) {
@@ -4871,9 +4818,9 @@ function withNearestPostFilter(baseFinder, nearestPoint) {
4871
4818
  let bestIdx = 0;
4872
4819
  let bestDist = vecDistance(vertexPosition(candidates[0]), nearestPoint);
4873
4820
  for (let i9 = 1; i9 < candidates.length; i9++) {
4874
- const d10 = vecDistance(vertexPosition(candidates[i9]), nearestPoint);
4875
- if (d10 < bestDist) {
4876
- bestDist = d10;
4821
+ const d11 = vecDistance(vertexPosition(candidates[i9]), nearestPoint);
4822
+ if (d11 < bestDist) {
4823
+ bestDist = d11;
4877
4824
  bestIdx = i9;
4878
4825
  }
4879
4826
  }
@@ -4916,14 +4863,14 @@ function buildVertexFinder(filters) {
4916
4863
  function vertexFinder() {
4917
4864
  return buildVertexFinder([]);
4918
4865
  }
4919
- function toKernelVec(v9) {
4920
- return getKernel().createVector3d(v9[0], v9[1], v9[2]);
4866
+ function toKernelVec(v8) {
4867
+ return getKernel().createVector3d(v8[0], v8[1], v8[2]);
4921
4868
  }
4922
- function toKernelPnt(v9) {
4923
- return getKernel().createPoint3d(v9[0], v9[1], v9[2]);
4869
+ function toKernelPnt(v8) {
4870
+ return getKernel().createPoint3d(v8[0], v8[1], v8[2]);
4924
4871
  }
4925
- function toKernelDir(v9) {
4926
- return getKernel().createDirection3d(v9[0], v9[1], v9[2]);
4872
+ function toKernelDir(v8) {
4873
+ return getKernel().createDirection3d(v8[0], v8[1], v8[2]);
4927
4874
  }
4928
4875
  function fromKernelVec(ocVec) {
4929
4876
  return [ocVec.X(), ocVec.Y(), ocVec.Z()];
@@ -4934,24 +4881,24 @@ function fromKernelPnt(ocPnt) {
4934
4881
  function fromKernelDir(ocDir) {
4935
4882
  return [ocDir.X(), ocDir.Y(), ocDir.Z()];
4936
4883
  }
4937
- function withKernelVec(v9, fn) {
4938
- const ocVec = toKernelVec(v9);
4884
+ function withKernelVec(v8, fn) {
4885
+ const ocVec = toKernelVec(v8);
4939
4886
  try {
4940
4887
  return fn(ocVec);
4941
4888
  } finally {
4942
4889
  ocVec.delete();
4943
4890
  }
4944
4891
  }
4945
- function withKernelPnt(v9, fn) {
4946
- const ocPnt = toKernelPnt(v9);
4892
+ function withKernelPnt(v8, fn) {
4893
+ const ocPnt = toKernelPnt(v8);
4947
4894
  try {
4948
4895
  return fn(ocPnt);
4949
4896
  } finally {
4950
4897
  ocPnt.delete();
4951
4898
  }
4952
4899
  }
4953
- function withKernelDir(v9, fn) {
4954
- const ocDir = toKernelDir(v9);
4900
+ function withKernelDir(v8, fn) {
4901
+ const ocDir = toKernelDir(v8);
4955
4902
  try {
4956
4903
  return fn(ocDir);
4957
4904
  } finally {
@@ -5099,12 +5046,12 @@ async function surfaceFromImage(blob, options = {}) {
5099
5046
  const imageData = ctx.getImageData(0, 0, w7, h10);
5100
5047
  const data = imageData.data;
5101
5048
  const rows = [];
5102
- for (let y6 = 0; y6 < h10; y6 += downsample) {
5049
+ for (let y7 = 0; y7 < h10; y7 += downsample) {
5103
5050
  const row = [];
5104
5051
  for (let x7 = 0; x7 < w7; x7 += downsample) {
5105
- const idx = (y6 * w7 + x7) * 4;
5052
+ const idx = (y7 * w7 + x7) * 4;
5106
5053
  const r9 = data[idx] ?? 0;
5107
- const g11 = data[idx + 1] ?? 0;
5054
+ const g10 = data[idx + 1] ?? 0;
5108
5055
  const b9 = data[idx + 2] ?? 0;
5109
5056
  let value;
5110
5057
  switch (channel) {
@@ -5112,13 +5059,13 @@ async function surfaceFromImage(blob, options = {}) {
5112
5059
  value = r9 / 255;
5113
5060
  break;
5114
5061
  case "g":
5115
- value = g11 / 255;
5062
+ value = g10 / 255;
5116
5063
  break;
5117
5064
  case "b":
5118
5065
  value = b9 / 255;
5119
5066
  break;
5120
5067
  default:
5121
- value = (REC601_R * r9 + REC601_G * g11 + REC601_B * b9) / 255;
5068
+ value = (REC601_R * r9 + REC601_G * g10 + REC601_B * b9) / 255;
5122
5069
  break;
5123
5070
  }
5124
5071
  row.push(value);
@@ -5312,7 +5259,7 @@ function polyhedron(points, faces, options = {}) {
5312
5259
  }
5313
5260
  try {
5314
5261
  const kernel = getKernel();
5315
- const ptObjs = points.map(([x7, y6, z6]) => ({ x: x7, y: y6, z: z6 }));
5262
+ const ptObjs = points.map(([x7, y7, z6]) => ({ x: x7, y: y7, z: z6 }));
5316
5263
  const resultOc = kernel.buildSolidFromFaces(ptObjs, triangles, tolerance);
5317
5264
  const cast = castShape(resultOc);
5318
5265
  if (!isSolid(cast)) {
@@ -5423,13 +5370,13 @@ function cross2(ax, ay, bx, by) {
5423
5370
  function dot2(ax, ay, bx, by) {
5424
5371
  return ax * bx + ay * by;
5425
5372
  }
5426
- function len2(x7, y6) {
5427
- return Math.sqrt(x7 * x7 + y6 * y6);
5373
+ function len2(x7, y7) {
5374
+ return Math.sqrt(x7 * x7 + y7 * y7);
5428
5375
  }
5429
5376
  function polyAt(poly, i9) {
5430
- const p7 = poly[(i9 % poly.length + poly.length) % poly.length];
5431
- if (!p7) throw new Error(`Invalid polygon index ${i9} for length ${poly.length}`);
5432
- return p7;
5377
+ const p8 = poly[(i9 % poly.length + poly.length) % poly.length];
5378
+ if (!p8) throw new Error(`Invalid polygon index ${i9} for length ${poly.length}`);
5379
+ return p8;
5433
5380
  }
5434
5381
  function ensureCCW(poly) {
5435
5382
  let area = 0;
@@ -5474,11 +5421,11 @@ function isLavNodeReflex(node) {
5474
5421
  return cross2(node.x - prev.x, node.y - prev.y, next.x - node.x, next.y - node.y) < -EPS;
5475
5422
  }
5476
5423
  function createLav(poly) {
5477
- const nodes = poly.map((p7, i9) => {
5424
+ const nodes = poly.map((p8, i9) => {
5478
5425
  const b9 = bisector(poly, i9);
5479
5426
  return {
5480
- x: p7.x,
5481
- y: p7.y,
5427
+ x: p8.x,
5428
+ y: p8.y,
5482
5429
  bx: b9.dx,
5483
5430
  by: b9.dy,
5484
5431
  origIdx: i9,
@@ -5564,8 +5511,8 @@ function computeEvents(lavNodes) {
5564
5511
  const t10 = bisectorIntersectTime(node, node.next);
5565
5512
  if (t10 !== null && t10 > EPS) {
5566
5513
  const x7 = node.x + t10 * node.bx;
5567
- const y6 = node.y + t10 * node.by;
5568
- events.push({ time: t10, x: x7, y: y6, nodeA: node, nodeB: node.next, type: "edge" });
5514
+ const y7 = node.y + t10 * node.by;
5515
+ events.push({ time: t10, x: x7, y: y7, nodeA: node, nodeB: node.next, type: "edge" });
5569
5516
  }
5570
5517
  if (isLavNodeReflex(node)) {
5571
5518
  let cur = node.next.next;
@@ -5574,8 +5521,8 @@ function computeEvents(lavNodes) {
5574
5521
  const st = raySplitTime(node, cur, cur.next);
5575
5522
  if (st !== null && st > EPS) {
5576
5523
  const x7 = node.x + st * node.bx;
5577
- const y6 = node.y + st * node.by;
5578
- events.push({ time: st, x: x7, y: y6, nodeA: node, nodeB: cur, type: "split" });
5524
+ const y7 = node.y + st * node.by;
5525
+ events.push({ time: st, x: x7, y: y7, nodeA: node, nodeB: cur, type: "split" });
5579
5526
  }
5580
5527
  cur = cur.next;
5581
5528
  count++;
@@ -5814,9 +5761,9 @@ function earClipTriangulate(poly) {
5814
5761
  if (cross2d(a9.x, a9.y, b9.x, b9.y, c8.x, c8.y) <= 0) return false;
5815
5762
  for (const vi of idx) {
5816
5763
  if (vi === prev || vi === curr || vi === next) continue;
5817
- const p7 = poly[vi];
5818
- if (!p7) continue;
5819
- if (pointInTriangle(p7.x, p7.y, a9.x, a9.y, b9.x, b9.y, c8.x, c8.y)) return false;
5764
+ const p8 = poly[vi];
5765
+ if (!p8) continue;
5766
+ if (pointInTriangle(p8.x, p8.y, a9.x, a9.y, b9.x, b9.y, c8.x, c8.y)) return false;
5820
5767
  }
5821
5768
  return true;
5822
5769
  };
@@ -5865,9 +5812,9 @@ function roof(w7, options) {
5865
5812
  const triFaces = [];
5866
5813
  for (const skFace of skeleton.faces) {
5867
5814
  const verts3d = skFace.vertices.map(
5868
- (v9, i9) => [
5869
- v9.x,
5870
- v9.y,
5815
+ (v8, i9) => [
5816
+ v8.x,
5817
+ v8.y,
5871
5818
  (skFace.heights[i9] ?? 0) * tanAngle
5872
5819
  ]
5873
5820
  );
@@ -6147,9 +6094,9 @@ function parseEntities(text) {
6147
6094
  return entities;
6148
6095
  }
6149
6096
  function getNum(data, code, fallback = 0) {
6150
- const v9 = data.get(code);
6151
- if (v9 === void 0) return fallback;
6152
- const n7 = parseFloat(v9);
6097
+ const v8 = data.get(code);
6098
+ if (v8 === void 0) return fallback;
6099
+ const n7 = parseFloat(v8);
6153
6100
  return isNaN(n7) ? fallback : n7;
6154
6101
  }
6155
6102
  function entityToEdge(entity) {
@@ -6226,15 +6173,15 @@ async function importOBJ(blob) {
6226
6173
  if (line.startsWith("v ")) {
6227
6174
  const parts = line.split(/\s+/);
6228
6175
  const x7 = parseFloat(parts[1] ?? "");
6229
- const y6 = parseFloat(parts[2] ?? "");
6176
+ const y7 = parseFloat(parts[2] ?? "");
6230
6177
  const z6 = parseFloat(parts[3] ?? "");
6231
- if (isNaN(x7) || isNaN(y6) || isNaN(z6)) continue;
6232
- vertices.push([x7, y6, z6]);
6178
+ if (isNaN(x7) || isNaN(y7) || isNaN(z6)) continue;
6179
+ vertices.push([x7, y7, z6]);
6233
6180
  } else if (line.startsWith("f ")) {
6234
6181
  const parts = line.split(/\s+/).slice(1);
6235
6182
  const indices = [];
6236
- for (const p7 of parts) {
6237
- const idx = parseInt(p7.split("/")[0] ?? "", 10);
6183
+ for (const p8 of parts) {
6184
+ const idx = parseInt(p8.split("/")[0] ?? "", 10);
6238
6185
  if (!isNaN(idx)) indices.push(idx);
6239
6186
  }
6240
6187
  if (indices.length >= 3) faces.push(indices);
@@ -6384,7 +6331,7 @@ function parseModelXml(xml) {
6384
6331
  }
6385
6332
  function buildSolidFromMesh(mesh2) {
6386
6333
  const kernel = getKernel();
6387
- const points = mesh2.vertices.map(([x7, y6, z6]) => ({ x: x7, y: y6, z: z6 }));
6334
+ const points = mesh2.vertices.map(([x7, y7, z6]) => ({ x: x7, y: y7, z: z6 }));
6388
6335
  const faces = mesh2.triangles;
6389
6336
  try {
6390
6337
  const solid = kernel.buildSolidFromFaces(points, faces, 1e-6);
@@ -6629,19 +6576,19 @@ function chamfer$1(shape2, edges, distance) {
6629
6576
  filteredEdges = [];
6630
6577
  const distMap = /* @__PURE__ */ new Map();
6631
6578
  for (const edge of selectedEdges) {
6632
- const d10 = distance(edge) ?? 0;
6633
- if (typeof d10 === "number" && d10 <= 0) continue;
6634
- if (Array.isArray(d10) && (d10[0] <= 0 || d10[1] <= 0)) continue;
6579
+ const d11 = distance(edge) ?? 0;
6580
+ if (typeof d11 === "number" && d11 <= 0) continue;
6581
+ if (Array.isArray(d11) && (d11[0] <= 0 || d11[1] <= 0)) continue;
6635
6582
  filteredEdges.push(edge);
6636
- distMap.set(edge, d10);
6583
+ distMap.set(edge, d11);
6637
6584
  }
6638
6585
  const hashToDist = /* @__PURE__ */ new Map();
6639
- for (const [edge, d10] of distMap) {
6640
- hashToDist.set(getKernel().hashCode(edge.wrapped, HASH_CODE_MAX), d10);
6586
+ for (const [edge, d11] of distMap) {
6587
+ hashToDist.set(getKernel().hashCode(edge.wrapped, HASH_CODE_MAX), d11);
6641
6588
  }
6642
6589
  kernelDistance = (ocEdge) => {
6643
- const d10 = hashToDist.get(ocEdge.HashCode(HASH_CODE_MAX));
6644
- return d10 ?? 1;
6590
+ const d11 = hashToDist.get(ocEdge.HashCode(HASH_CODE_MAX));
6591
+ return d11 ?? 1;
6645
6592
  };
6646
6593
  } else {
6647
6594
  filteredEdges = [...selectedEdges];
@@ -6748,8 +6695,8 @@ function offset$1(shape2, distance, tolerance = 1e-6) {
6748
6695
  return err(kernelError("OFFSET_FAILED", `Offset operation failed: ${raw}`, e8));
6749
6696
  }
6750
6697
  }
6751
- function translate(shape2, v9) {
6752
- return translate$1(resolve(shape2), v9);
6698
+ function translate(shape2, v8) {
6699
+ return translate$1(resolve(shape2), v8);
6753
6700
  }
6754
6701
  function rotate(shape2, angle, options) {
6755
6702
  const pivotPoint = options?.at;
@@ -7132,14 +7079,14 @@ function createWrappedBase(val) {
7132
7079
  const self = {
7133
7080
  val,
7134
7081
  __wrapped: true,
7135
- translate: (v9) => wrapAny(translate(val, v9)),
7082
+ translate: (v8) => wrapAny(translate(val, v8)),
7136
7083
  rotate: (angle, opts) => wrapAny(rotate(val, angle, opts)),
7137
7084
  mirror: (opts) => wrapAny(mirror(val, opts)),
7138
7085
  scale: (factor, opts) => wrapAny(scale(val, factor, opts)),
7139
7086
  applyMatrix: (matrix) => wrapAny(applyMatrix(val, matrix)),
7140
- moveX: (d10) => wrapAny(translate(val, [d10, 0, 0])),
7141
- moveY: (d10) => wrapAny(translate(val, [0, d10, 0])),
7142
- moveZ: (d10) => wrapAny(translate(val, [0, 0, d10])),
7087
+ moveX: (d11) => wrapAny(translate(val, [d11, 0, 0])),
7088
+ moveY: (d11) => wrapAny(translate(val, [0, d11, 0])),
7089
+ moveZ: (d11) => wrapAny(translate(val, [0, 0, d11])),
7143
7090
  rotateX: (a9) => wrapAny(rotate(val, a9, { axis: [1, 0, 0] })),
7144
7091
  rotateY: (a9) => wrapAny(rotate(val, a9, { axis: [0, 1, 0] })),
7145
7092
  rotateZ: (a9) => wrapAny(rotate(val, a9, { axis: [0, 0, 1] })),
@@ -7270,21 +7217,21 @@ function shape(s6) {
7270
7217
  throw new Error("shape() requires a Sketch or branded shape type");
7271
7218
  }
7272
7219
  export {
7273
- B3 as BaseSketcher2d,
7274
- B as Blueprint,
7220
+ B4 as BaseSketcher2d,
7221
+ B2 as Blueprint,
7275
7222
  a5 as BlueprintSketcher,
7276
7223
  c2 as Blueprints,
7277
7224
  e3 as BoundingBox2d,
7278
- BrepBugError,
7225
+ B as BrepBugError,
7279
7226
  BrepErrorCode,
7280
7227
  BrepWrapperError,
7281
7228
  BrepkitAdapter,
7282
- C5 as CompoundBlueprint,
7283
- C6 as CompoundSketch,
7284
- C3 as Curve2D,
7285
- D2 as DEG2RAD,
7229
+ C4 as CompoundBlueprint,
7230
+ C5 as CompoundSketch,
7231
+ C2 as Curve2D,
7232
+ D as DEG2RAD,
7286
7233
  DisposalScope,
7287
- D4 as Drawing,
7234
+ D3 as Drawing,
7288
7235
  a6 as DrawingPen,
7289
7236
  F3 as FaceSketcher,
7290
7237
  HASH_CODE_MAX,
@@ -7298,7 +7245,7 @@ export {
7298
7245
  addMate,
7299
7246
  b5 as addStep,
7300
7247
  b7 as adjacentFaces,
7301
- A2 as all,
7248
+ E2 as all,
7302
7249
  a2 as andThen,
7303
7250
  applyGlue,
7304
7251
  applyMatrix,
@@ -7306,14 +7253,14 @@ export {
7306
7253
  M as as2D,
7307
7254
  N as as3D,
7308
7255
  l9 as asTopo,
7309
- d6 as autoHeal,
7256
+ d7 as autoHeal,
7310
7257
  b4 as basicFaceExtrusion,
7311
7258
  e5 as bezier,
7312
7259
  blueprintToDXF,
7313
7260
  boss,
7314
7261
  f7 as box,
7315
- g8 as bsplineApprox,
7316
- bug,
7262
+ g7 as bsplineApprox,
7263
+ b2 as bug,
7317
7264
  X as cameraFromPlane,
7318
7265
  Y as cameraLookAt,
7319
7266
  c5 as cast,
@@ -7330,27 +7277,27 @@ export {
7330
7277
  clone,
7331
7278
  a as closedWire,
7332
7279
  c as collect,
7333
- d3 as collectShapes,
7280
+ d4 as collectShapes,
7334
7281
  l6 as colorFaces,
7335
7282
  m6 as colorShape,
7336
7283
  f3 as complexExtrude,
7337
7284
  w4 as composeTransforms,
7338
7285
  k5 as compound,
7339
7286
  c3 as compoundSketchExtrude,
7340
- d5 as compoundSketchFace,
7287
+ d6 as compoundSketchFace,
7341
7288
  e4 as compoundSketchLoft,
7342
7289
  f5 as compoundSketchRevolve,
7343
- b2 as computationError,
7290
+ d2 as computationError,
7344
7291
  computeStraightSkeleton,
7345
7292
  l7 as cone,
7346
7293
  c7 as cornerFinder,
7347
- g5 as countNodes,
7294
+ g4 as countNodes,
7348
7295
  h4 as createAssembly,
7349
7296
  i3 as createAssemblyNode,
7350
7297
  createBlueprint,
7351
7298
  Z as createCamera,
7352
7299
  C as createCompound,
7353
- d9 as createDistanceQuery,
7300
+ d10 as createDistanceQuery,
7354
7301
  H as createEdge,
7355
7302
  I as createFace,
7356
7303
  b as createHandle,
@@ -7385,16 +7332,16 @@ export {
7385
7332
  curveStartPoint,
7386
7333
  curveTangentAt,
7387
7334
  cut,
7388
- d4 as cut2D,
7335
+ d5 as cut2D,
7389
7336
  cutAll,
7390
7337
  j3 as cutBlueprints,
7391
7338
  m7 as cylinder,
7392
7339
  dequeueTask,
7393
7340
  describe,
7394
- g7 as deserializeDrawing,
7341
+ g6 as deserializeDrawing,
7395
7342
  m4 as deserializeHistory,
7396
7343
  fromBREP$1 as deserializeShape,
7397
- d7 as downcast,
7344
+ d8 as downcast,
7398
7345
  h6 as draw,
7399
7346
  i4 as drawCircle,
7400
7347
  j4 as drawEllipse,
@@ -7403,22 +7350,22 @@ export {
7403
7350
  m5 as drawPointsInterpolation,
7404
7351
  n4 as drawPolysides,
7405
7352
  o5 as drawProjection,
7406
- p3 as drawRectangle,
7353
+ p4 as drawRectangle,
7407
7354
  q2 as drawRoundedRectangle,
7408
7355
  r3 as drawSingleCircle,
7409
7356
  s3 as drawSingleEllipse,
7410
7357
  t4 as drawText,
7411
7358
  u4 as drawingChamfer,
7412
- v5 as drawingCut,
7359
+ v4 as drawingCut,
7413
7360
  w3 as drawingFillet,
7414
7361
  x4 as drawingFuse,
7415
- y3 as drawingIntersect,
7362
+ y4 as drawingIntersect,
7416
7363
  z3 as drawingToSketchOnPlane,
7417
7364
  drill,
7418
7365
  edgeFinder,
7419
7366
  n6 as edgesOfFace,
7420
7367
  o7 as ellipse,
7421
- p5 as ellipseArc,
7368
+ p6 as ellipseArc,
7422
7369
  q4 as ellipsoid,
7423
7370
  enqueueTask,
7424
7371
  err,
@@ -7428,7 +7375,7 @@ export {
7428
7375
  exportGltf,
7429
7376
  e6 as exportIGES,
7430
7377
  exportOBJ,
7431
- d8 as exportSTEP,
7378
+ d9 as exportSTEP,
7432
7379
  f9 as exportSTL,
7433
7380
  exportThreeMF,
7434
7381
  extrude,
@@ -7444,7 +7391,7 @@ export {
7444
7391
  findCurveType,
7445
7392
  n5 as findFacesByTag,
7446
7393
  o3 as findNode,
7447
- p as findStep,
7394
+ p2 as findStep,
7448
7395
  f2 as flatMap,
7449
7396
  r8 as flipFaceOrientation,
7450
7397
  k6 as flipOrientation,
@@ -7453,12 +7400,12 @@ export {
7453
7400
  fromKernelDir,
7454
7401
  fromKernelPnt,
7455
7402
  fromKernelVec,
7456
- C2 as fromNullable,
7403
+ F as fromNullable,
7457
7404
  fuse,
7458
7405
  f4 as fuse2D,
7459
7406
  fuseAll,
7460
7407
  k3 as fuseBlueprints,
7461
- g4 as genericSweep,
7408
+ g3 as genericSweep,
7462
7409
  getBounds,
7463
7410
  getBounds2D,
7464
7411
  l8 as getCurveType,
@@ -7471,11 +7418,11 @@ export {
7471
7418
  f6 as getHashCode,
7472
7419
  q as getHistoryShape,
7473
7420
  getKernel,
7474
- g9 as getOrientation,
7421
+ g8 as getOrientation,
7475
7422
  getOrientation2D,
7476
7423
  r6 as getShapeColor,
7477
7424
  g as getShapeKind,
7478
- g6 as getSingleFace,
7425
+ g5 as getSingleFace,
7479
7426
  getSurfaceType,
7480
7427
  t7 as getTagMetadata,
7481
7428
  getVertices,
@@ -7483,7 +7430,7 @@ export {
7483
7430
  guidedSweep,
7484
7431
  heal,
7485
7432
  u6 as healFace,
7486
- v7 as healSolid,
7433
+ v6 as healSolid,
7487
7434
  w5 as healWire,
7488
7435
  x6 as helix,
7489
7436
  hull,
@@ -7512,7 +7459,7 @@ export {
7512
7459
  isDisposeRequest,
7513
7460
  isEdge,
7514
7461
  isEmpty,
7515
- y4 as isEqualShape,
7462
+ y5 as isEqualShape,
7516
7463
  isErr,
7517
7464
  isErrorResponse,
7518
7465
  isFace,
@@ -7522,7 +7469,7 @@ export {
7522
7469
  l as isLive,
7523
7470
  m as isManifoldShell,
7524
7471
  isNumber,
7525
- g2 as isOk,
7472
+ h2 as isOk,
7526
7473
  isOperationRequest,
7527
7474
  n as isOrientedFace,
7528
7475
  a0 as isProjectionPlane,
@@ -7538,29 +7485,29 @@ export {
7538
7485
  t as isVertex,
7539
7486
  isWire,
7540
7487
  z4 as iterEdges,
7541
- A5 as iterFaces,
7488
+ A4 as iterFaces,
7542
7489
  iterTopo,
7543
- B5 as iterVertices,
7544
- C7 as iterWires,
7490
+ B6 as iterVertices,
7491
+ C6 as iterWires,
7545
7492
  kernelCall,
7546
7493
  kernelCallRaw,
7547
7494
  kernelCallScoped,
7548
7495
  kernelError,
7549
- y5 as line,
7496
+ y6 as line,
7550
7497
  linearPattern,
7551
7498
  a1 as loadFont,
7552
7499
  loft,
7553
- A4 as makeBaseBox,
7500
+ A3 as makeBaseBox,
7554
7501
  u2 as makePlane,
7555
7502
  a22 as makeProjectedEdges,
7556
7503
  v as manifoldShell,
7557
7504
  m2 as map,
7558
- h2 as mapErr,
7559
- j as match,
7505
+ j as mapErr,
7506
+ l2 as match,
7560
7507
  measureArea,
7561
7508
  e7 as measureCurvatureAt,
7562
7509
  f10 as measureCurvatureAtMid,
7563
- g10 as measureDistance,
7510
+ g9 as measureDistance,
7564
7511
  h9 as measureLength,
7565
7512
  i7 as measureLinearProps,
7566
7513
  measureSurfaceProps,
@@ -7571,30 +7518,30 @@ export {
7571
7518
  minkowski,
7572
7519
  mirror,
7573
7520
  mirror2D,
7574
- B4 as mirrorDrawing,
7521
+ B5 as mirrorDrawing,
7575
7522
  mirrorJoin,
7576
7523
  t3 as modifyStep,
7577
- l2 as moduleInitError,
7524
+ n2 as moduleInitError,
7578
7525
  multiSectionSweep,
7579
7526
  normalAt,
7580
7527
  offset,
7581
7528
  z5 as offsetFace,
7582
7529
  o8 as offsetWire2D,
7583
7530
  ok,
7584
- D as or,
7585
- E2 as orElse,
7531
+ G as or,
7532
+ H2 as orElse,
7586
7533
  o4 as organiseBlueprints,
7587
7534
  w as orientedFace,
7588
7535
  outerWire,
7589
7536
  pendingCount,
7590
- F as pipeline,
7591
- p4 as pivotPlane,
7537
+ I2 as pipeline,
7538
+ p5 as pivotPlane,
7592
7539
  pocket,
7593
- p6 as pointOnSurface,
7594
- A6 as polygon,
7540
+ p7 as pointOnSurface,
7541
+ A5 as polygon,
7595
7542
  polyhedron,
7596
7543
  E4 as polysideInnerRadius,
7597
- p2 as polysidesBlueprint,
7544
+ p3 as polysidesBlueprint,
7598
7545
  a32 as projectEdges,
7599
7546
  t9 as projectPointOnFace,
7600
7547
  queryError,
@@ -7602,13 +7549,13 @@ export {
7602
7549
  registerHandler,
7603
7550
  R as registerKernel,
7604
7551
  u3 as registerOperation,
7605
- v4 as registerShape,
7552
+ v3 as registerShape,
7606
7553
  rejectAll,
7607
7554
  x3 as removeChild,
7608
- v8 as removeHolesFromFace,
7609
- y2 as replayFrom,
7555
+ v7 as removeHolesFromFace,
7556
+ y3 as replayFrom,
7610
7557
  z2 as replayHistory,
7611
- D5 as resize,
7558
+ D4 as resize,
7612
7559
  resolve,
7613
7560
  resolve3D,
7614
7561
  r4 as resolveDirection,
@@ -7626,22 +7573,22 @@ export {
7626
7573
  G3 as scaleDrawing,
7627
7574
  section,
7628
7575
  sectionToFace,
7629
- A3 as serializeHistory,
7576
+ A2 as serializeHistory,
7630
7577
  E5 as setShapeOrigin,
7631
7578
  u5 as setTagMetadata,
7632
- B6 as sewShells,
7579
+ B7 as sewShells,
7633
7580
  shape,
7634
7581
  w6 as shapeType,
7635
- C8 as sharedEdges,
7582
+ C7 as sharedEdges,
7636
7583
  shell,
7637
7584
  simplify,
7638
7585
  sketch2DOnFace,
7639
7586
  sketch2DOnPlane,
7640
7587
  H3 as sketchCircle,
7641
7588
  I3 as sketchEllipse,
7642
- J as sketchExtrude,
7643
- K as sketchFace,
7644
- L as sketchFaceOffset,
7589
+ J2 as sketchExtrude,
7590
+ K2 as sketchFace,
7591
+ L2 as sketchFaceOffset,
7645
7592
  M2 as sketchHelix,
7646
7593
  N2 as sketchLoft,
7647
7594
  O3 as sketchParametricFunction,
@@ -7654,65 +7601,65 @@ export {
7654
7601
  V as sketchWires,
7655
7602
  s2 as sketcherStateError,
7656
7603
  slice,
7657
- D6 as solid,
7604
+ D5 as solid,
7658
7605
  solveAssembly,
7659
7606
  E6 as sphere,
7660
7607
  split,
7661
- B2 as stepCount,
7662
- C4 as stepsFrom,
7608
+ B3 as stepCount,
7609
+ C3 as stepsFrom,
7663
7610
  stretch2D,
7664
7611
  F5 as subFace,
7665
- D3 as supportExtrude,
7612
+ D2 as supportExtrude,
7666
7613
  supportsConstraintSketch,
7667
7614
  supportsProjection,
7668
7615
  surfaceFromGrid,
7669
7616
  surfaceFromImage,
7670
7617
  sweep,
7671
- v6 as tagFaces,
7618
+ v5 as tagFaces,
7672
7619
  G4 as tangentArc,
7673
- G as tap,
7674
- H2 as tapErr,
7620
+ J as tap,
7621
+ K as tapErr,
7675
7622
  a52 as textBlueprints,
7676
7623
  a62 as textMetrics,
7677
7624
  thicken,
7678
7625
  H4 as threePointArc,
7679
7626
  toBREP,
7680
7627
  I4 as toBufferGeometryData,
7681
- J2 as toGroupedBufferGeometryData,
7628
+ J3 as toGroupedBufferGeometryData,
7682
7629
  toKernelVec,
7683
- K2 as toLineGeometryData,
7630
+ K3 as toLineGeometryData,
7684
7631
  toSVGPathD,
7685
7632
  t5 as toVec2,
7686
7633
  toVec3,
7687
- L2 as torus,
7634
+ L3 as torus,
7688
7635
  transformCopy,
7689
7636
  translate,
7690
7637
  translate2D,
7691
7638
  W as translateDrawing,
7692
7639
  t6 as translatePlane,
7693
7640
  t2 as tryCatch,
7694
- n2 as tryCatchAsync,
7641
+ p as tryCatchAsync,
7695
7642
  E3 as twistExtrude,
7696
7643
  typeCastError,
7697
7644
  F2 as undoLast,
7698
7645
  u as unsupportedError,
7699
7646
  unwrap$1 as unwrap,
7700
- v2 as unwrapErr,
7701
- w2 as unwrapOr,
7702
- x2 as unwrapOrElse,
7647
+ w2 as unwrapErr,
7648
+ x2 as unwrapOr,
7649
+ y2 as unwrapOrElse,
7703
7650
  G2 as updateNode,
7704
7651
  u7 as uvBounds,
7705
7652
  h8 as uvCoordinates,
7706
7653
  x as validSolid,
7707
7654
  validationError,
7708
- v3 as vecAdd,
7655
+ v2 as vecAdd,
7709
7656
  a3 as vecAngle,
7710
7657
  b3 as vecCross,
7711
7658
  vecDistance,
7712
- d2 as vecDot,
7659
+ d3 as vecDot,
7713
7660
  e2 as vecEquals,
7714
7661
  vecIsZero,
7715
- g3 as vecLength,
7662
+ g2 as vecLength,
7716
7663
  h3 as vecLengthSq,
7717
7664
  i2 as vecNegate,
7718
7665
  vecNormalize,
@@ -7737,5 +7684,5 @@ export {
7737
7684
  y as withScope,
7738
7685
  z as withScopeResult,
7739
7686
  A as withScopeResultAsync,
7740
- I2 as zipResults
7687
+ L as zipResults
7741
7688
  };