brepjs 20.5.0 → 20.7.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 (117) hide show
  1. package/README.md +1 -0
  2. package/dist/2d.cjs +9 -11
  3. package/dist/2d.js +9 -11
  4. package/dist/{adjacencyFns-DeyXahej.js → adjacencyFns-BgJQQjdt.js} +5 -6
  5. package/dist/{adjacencyFns-1rxgJ6Hw.cjs → adjacencyFns-_RTYhwtD.cjs} +5 -6
  6. package/dist/{arrayAccess-DrUGPADn.js → arrayAccess-BpgouNir.js} +1 -2
  7. package/dist/{arrayAccess-e4H9cBfh.cjs → arrayAccess-DpJYARwv.cjs} +1 -2
  8. package/dist/{blueprint-rwJjYPzo.js → blueprint-Bth4EVaO.js} +24 -37
  9. package/dist/{blueprint-Yyoiz-U1.cjs → blueprint-wq2TU1XP.cjs} +24 -37
  10. package/dist/{blueprintFns-Q3Sq-Fse.js → blueprintFns-DQmNe1p6.js} +5 -7
  11. package/dist/{blueprintFns-Ce6OoPSX.cjs → blueprintFns-Dd0gm1rX.cjs} +5 -7
  12. package/dist/{blueprintSketcher-CzKbxeTk.cjs → blueprintSketcher-CSDqr27-.cjs} +19 -31
  13. package/dist/{blueprintSketcher-FywUpRiV.js → blueprintSketcher-DNp87aQZ.js} +19 -31
  14. package/dist/{boolean2D-D8igCYc9.js → boolean2D-BAb4SnIL.js} +13 -19
  15. package/dist/{boolean2D-BzZ9iBSn.cjs → boolean2D-BkgOjMRt.cjs} +13 -19
  16. package/dist/brepjs.cjs +113 -187
  17. package/dist/brepjs.js +113 -188
  18. package/dist/{bug-O02CsAmt.cjs → bug-CBcpIPuf.cjs} +2 -4
  19. package/dist/{bug-BdOHwn_e.js → bug-ClMTAJhe.js} +2 -4
  20. package/dist/{cameraFns-Cs6v3bWQ.js → cameraFns-9AGyuZVp.js} +8 -11
  21. package/dist/{cameraFns-RHCb1F1s.cjs → cameraFns-CKUN90f_.cjs} +8 -11
  22. package/dist/{constants-ITRzCnCp.js → constants-iraOnb2p.js} +1 -2
  23. package/dist/{constants-BOVyEYGH.cjs → constants-oee0S_x6.cjs} +1 -2
  24. package/dist/core/errors.d.ts +3 -0
  25. package/dist/core.cjs +8 -8
  26. package/dist/core.js +8 -8
  27. package/dist/{cornerFinder-Dlae8IX5.js → cornerFinder-Cr_04etw.js} +4 -5
  28. package/dist/{cornerFinder-Cji_BK-R.cjs → cornerFinder-DJWo6h1Z.cjs} +4 -5
  29. package/dist/{curveFns-KS1BWGhF.js → curveFns-CkA2WJP2.js} +3 -4
  30. package/dist/{curveFns-6-ULFrEB.cjs → curveFns-U7srQ3ZA.cjs} +3 -4
  31. package/dist/{drawFns-3yRVBDgI.js → drawFns-C6bmFijD.js} +32 -45
  32. package/dist/{drawFns-Ddlgp9gQ.cjs → drawFns-DlCxozRP.cjs} +32 -45
  33. package/dist/{errors-jwhfQJZK.cjs → errors-GVyCnpi0.cjs} +6 -5
  34. package/dist/{errors-Zb3jBa0u.js → errors-vxP5FT8B.js} +6 -5
  35. package/dist/{faceFns-CTlJC5IY.js → faceFns-BBk6XKJO.js} +6 -8
  36. package/dist/{faceFns-CZeHWke7.cjs → faceFns-DSRREV5G.cjs} +6 -8
  37. package/dist/{faceRoleFns-CWU1-Pm8.js → faceRoleFns-BPxzQF-n.js} +1 -2
  38. package/dist/{faceRoleFns-CtH_48MO.cjs → faceRoleFns-Db5bYj4Q.cjs} +1 -2
  39. package/dist/{healingFns-DwSpJZfg.cjs → healingFns-C9G3yjOe.cjs} +148 -51
  40. package/dist/{healingFns-Ct3gEMvk.js → healingFns-CEr0afli.js} +148 -51
  41. package/dist/{helpers-NRZVshPb.cjs → helpers-JuPoaP_b.cjs} +15 -21
  42. package/dist/{helpers-BN1mVMuZ.js → helpers-sDialr0f.js} +15 -21
  43. package/dist/{importFns-BEi-HsSw.cjs → importFns-ClqPJCFR.cjs} +12 -19
  44. package/dist/{importFns-0kHGg-b8.js → importFns-DSUfSQn2.js} +12 -19
  45. package/dist/io.cjs +2 -2
  46. package/dist/io.js +2 -2
  47. package/dist/kernel/capabilities.d.ts +8 -0
  48. package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
  49. package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -2
  50. package/dist/{loftFns-B5mq1WDh.js → loftFns-B8DSoG-F.js} +7 -10
  51. package/dist/{loftFns-DL9UsQhd.cjs → loftFns-mkJeOaII.cjs} +7 -10
  52. package/dist/{measureFns-D_GpQw5z.cjs → measureFns-BvNkzSR6.cjs} +6 -8
  53. package/dist/{measureFns-CyDVZomf.js → measureFns-PRM3gOjw.js} +6 -8
  54. package/dist/measurement.cjs +2 -2
  55. package/dist/measurement.js +2 -2
  56. package/dist/{meshFns-COlno8TY.js → meshFns-CgbT3uuO.js} +6 -8
  57. package/dist/{meshFns-CAxkaRTm.cjs → meshFns-W7ZTKqiJ.cjs} +6 -8
  58. package/dist/{occtWasmAdapter-CA6PmIIj.cjs → occtWasmAdapter-BSQeA69d.cjs} +49 -57
  59. package/dist/{occtWasmAdapter-BX10fyla.js → occtWasmAdapter-PzZJHUAd.js} +44 -58
  60. package/dist/operations.cjs +2 -2
  61. package/dist/operations.js +2 -2
  62. package/dist/{originTrackingFns-DiHy5BZC.js → originTrackingFns-D8SNCDKj.js} +4 -5
  63. package/dist/{originTrackingFns-CWo6NWHK.cjs → originTrackingFns-DJDTRJh3.cjs} +4 -5
  64. package/dist/{planeOps-DJuclNxa.cjs → planeOps-C9d2Y56B.cjs} +5 -6
  65. package/dist/{planeOps-Cxws4Tiu.js → planeOps-Dp0YvuFE.js} +5 -6
  66. package/dist/{primitiveFns-ZV3aMbqG.cjs → primitiveFns-EtHyTqhw.cjs} +8 -10
  67. package/dist/{primitiveFns-CGJzS4MO.js → primitiveFns-W3RYNJcm.js} +8 -10
  68. package/dist/{principalBoxFns-BJgGEoik.js → principalBoxFns-Cbtty-2_.js} +7 -8
  69. package/dist/{principalBoxFns-5FSbxAj-.cjs → principalBoxFns-CmZa7qHi.cjs} +7 -8
  70. package/dist/projection.cjs +1 -1
  71. package/dist/projection.js +1 -2
  72. package/dist/query.cjs +2 -2
  73. package/dist/query.js +2 -2
  74. package/dist/{refResolveFns-CpVZoeOT.js → refResolveFns-BkciKtNP.js} +14 -21
  75. package/dist/{refResolveFns-Ct52Uw7R.cjs → refResolveFns-D99Vqe7a.cjs} +14 -21
  76. package/dist/result.cjs +2 -2
  77. package/dist/result.js +2 -2
  78. package/dist/{rolldown-runtime-C0BPl7ul.cjs → rolldown-runtime-BW-eSwOZ.cjs} +1 -2
  79. package/dist/{shapeFns-C2j6oZ2u.cjs → shapeFns-B54CsPyk.cjs} +5 -6
  80. package/dist/{shapeFns--1wNlcc_.js → shapeFns-DB3l3ULC.js} +5 -6
  81. package/dist/shapeRef.cjs +1 -1
  82. package/dist/shapeRef.js +1 -2
  83. package/dist/{shapeTypes-CqNJoSam.js → shapeTypes-CgbUTASh.js} +82 -161
  84. package/dist/{shapeTypes-DH2ShBU_.cjs → shapeTypes-D_anqiRe.cjs} +82 -161
  85. package/dist/sketching.cjs +4 -5
  86. package/dist/sketching.js +4 -5
  87. package/dist/{solidBuilders-CgicU3le.cjs → solidBuilders-CUd-korS.cjs} +17 -23
  88. package/dist/{solidBuilders-IstbiWju.js → solidBuilders-DE_na4G3.js} +17 -23
  89. package/dist/{surfaceBuilders-vYgSvgI6.cjs → surfaceBuilders-DOn2jWkh.cjs} +8 -12
  90. package/dist/{surfaceBuilders-8nLk2PWk.js → surfaceBuilders-wdGNiImD.js} +8 -12
  91. package/dist/text.cjs +2 -2
  92. package/dist/text.js +2 -2
  93. package/dist/{textBlueprints-fa7VHJZz.cjs → textBlueprints-BQ60Rc96.cjs} +24 -32
  94. package/dist/{textBlueprints-C13NAA3C.js → textBlueprints-B_jwMuej.js} +23 -31
  95. package/dist/{textMetrics--cikHkGX.cjs → textMetrics-Bm0a4kh7.cjs} +4 -6
  96. package/dist/{textMetrics-Dcc63qRm.js → textMetrics-Dj3yfZNQ.js} +4 -6
  97. package/dist/{threadFns-BUQPg_vI.cjs → threadFns-BuRPVenB.cjs} +21 -33
  98. package/dist/{threadFns-3U9x4v_M.js → threadFns-DlL5VnMf.js} +21 -33
  99. package/dist/topology/modifierFns.d.ts +5 -0
  100. package/dist/topology/thickResultCheck.d.ts +18 -0
  101. package/dist/topology.cjs +9 -9
  102. package/dist/topology.js +9 -9
  103. package/dist/{topologyQueryFns-DnfjQgP7.js → topologyQueryFns-6M_dbT1R.js} +10 -10
  104. package/dist/{topologyQueryFns-q2bGyuEV.cjs → topologyQueryFns-ENxs8uu2.cjs} +15 -9
  105. package/dist/{types-D24Y27N0.js → types-CKXsIm9-.js} +1 -2
  106. package/dist/{types-KjA8tY4Y.cjs → types-CjF9Rofr.cjs} +1 -2
  107. package/dist/{validityTypes-r0A2YdNq.cjs → validityTypes-BPamqRZ8.cjs} +3 -4
  108. package/dist/{validityTypes-t7JpS0Ki.js → validityTypes-BTuI0vcR.js} +3 -4
  109. package/dist/{vecOps-CCnJt-yH.cjs → vecOps-CrGEPPQM.cjs} +1 -2
  110. package/dist/{vecOps-SKPRvPH-.js → vecOps-S-m9H_fe.js} +1 -2
  111. package/dist/vectors.cjs +4 -4
  112. package/dist/vectors.js +4 -4
  113. package/dist/worker.cjs +1 -1
  114. package/dist/worker.js +1 -2
  115. package/dist/{workerPool-XcYX2UZ0.js → workerPool-Bc5hmJc4.js} +5 -10
  116. package/dist/{workerPool-D30NsiIW.cjs → workerPool-D5tiNXrI.cjs} +5 -10
  117. package/package.json +10 -10
package/dist/brepjs.js CHANGED
@@ -1,42 +1,42 @@
1
- import { $ as initFromOC, A as as3D, C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, G as _usingCtx, H as withScope, I as getDisposalStats, J as getKernel2D, K as getActiveKernelId, L as isLive, M as is3D, N as DisposalScope, P as createHandle, Q as initFromManifold, S as isShell, T as isWire, U as withScopeResult, V as withArenaCheckpoint, W as withScopeResultAsync, X as getKernelTier, Y as getKernelCapabilities, Z as init, _ as isCompound, a as castShape3D, at as withTier, b as isShape1D, c as createEdge, ct as resetPerformanceStats, d as createSolid, et as prewarm, f as createVertex, h as disposeResultShape, i as castShape, it as withQuality, j as is2D, k as as2D, l as createFace, lt as currentQuality, n as castResultShape, nt as registerKernelTier, ot as BrepkitAdapter, p as createWire, q as getKernel, rt as withKernel, s as createCompound, st as getPerformanceStats, tt as registerKernel, u as createShell, ut as qualityDeflection, v as isEdge, w as isVertex, x as isShape3D, y as isFace, z as resetDisposalStats } from "./shapeTypes-CqNJoSam.js";
2
- import { A as EXACT_BREP_CAPABILITIES, k as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-BX10fyla.js";
3
- import { i as wasmIndex, n as bug, t as BrepBugError } from "./bug-BdOHwn_e.js";
4
- import { A as tap, C as mapBoth, D as or, E as ok, F as unwrapErr, I as unwrapOr, L as unwrapOrElse, M as tryCatch, N as tryCatchAsync, O as orElse, P as unwrap, R as zip, S as map, T as match, _ as flatMap, a as moduleInitError, b as isErr, c as sketcherStateError, d as validationError, f as OK, g as err, h as collect, i as kernelError, j as tapErr, k as pipeline, l as typeCastError, m as andThen, n as computationError, o as queryError, p as all, r as ioError, t as BrepErrorCode, u as unsupportedError, v as flatten, w as mapErr, x as isOk, y as fromNullable } from "./errors-Zb3jBa0u.js";
5
- import { D as kernelCallScoped, E as kernelCallRaw, T as kernelCall, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as vertexPosition, x as iterWires, y as iterSolids } from "./topologyQueryFns-DnfjQgP7.js";
6
- import { a as isPlanarFace, c as manifoldShell, d as planarWire, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, o as isPlanarWire, r as isManifoldShell, s as isValidSolid, t as closedWire, u as planarFace } from "./validityTypes-t7JpS0Ki.js";
7
- import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
8
- import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
9
- import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-SKPRvPH-.js";
10
- import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-Cxws4Tiu.js";
11
- import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-CTlJC5IY.js";
12
- import { i as setShapeOrigin, t as getFaceOrigins } from "./originTrackingFns-DiHy5BZC.js";
13
- import { A as parseColor, D as colorShape, E as colorFaces, F as tagFaces, M as getFaceTags, N as getTagMetadata, O as getFaceColor, P as setTagMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, j as findFacesByTag, k as getShapeColor, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-IstbiWju.js";
14
- import { A as locate$1, C as threePointArc, D as wireLoop, E as wire, F as transformCopy$1, I as translate$2, M as resize, N as rotate$2, O as applyMatrix$1, P as scale$3, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, j as mirror$2, k as composeTransforms, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-CGJzS4MO.js";
15
- import { a as isSameShape, i as isEqualShape, n as getHashCode, o as simplify$1, r as isEmpty$2, s as toBREP$1, t as clone$1 } from "./shapeFns--1wNlcc_.js";
16
- import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-KS1BWGhF.js";
17
- import { a as meshEdges$1, c as meshMultiLOD, d as clearMeshCache, f as createMeshCache, i as mesh$1, l as scaleDefaultTolerance, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as buildMeshCacheKey } from "./meshFns-COlno8TY.js";
18
- import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
19
- import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, p as makeEllipseArc, r as makeFace, s as assembleWire, u as makeBezierCurve } from "./surfaceBuilders-8nLk2PWk.js";
20
- import { A as toBufferGeometryData, C as chamfer$2, D as shell$2, E as offset$1, M as toLODGeometryData, N as toLODGeometryLevels, O as thicken$1, P as toLineGeometryData, S as chamferDistAngle, T as fillet$2, _ as checkBoolean, a as healFace, b as getNurbsCurveData, c as isValid$1, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, i as heal$1, j as toGroupedBufferGeometryData, k as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, w as draft$1, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-Ct3gEMvk.js";
21
- import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, G as quatFromAxisAngle, H as circularPattern, I as createAssemblyNode, J as quatRotate, K as quatFromTo, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, a as deserializeHistory, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, q as quatMultiply, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-3U9x4v_M.js";
22
- import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-FywUpRiV.js";
23
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BN1mVMuZ.js";
24
- import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-rwJjYPzo.js";
25
- import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-3yRVBDgI.js";
26
- import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-CyDVZomf.js";
27
- import { t as cornerFinder } from "./cornerFinder-Dlae8IX5.js";
28
- import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-D8igCYc9.js";
29
- import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-Q3Sq-Fse.js";
30
- import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-0kHGg-b8.js";
31
- import { a as Sketch, b as extrudeAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, x as revolve$2, y as extrude$2 } from "./textBlueprints-C13NAA3C.js";
32
- import { a as multiSectionSweep, c as twistExtrude, i as guidedSweep, n as loftAll, o as supportExtrude, r as complexExtrude, s as sweep$1, t as loft$2 } from "./loftFns-B5mq1WDh.js";
33
- import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-CpVZoeOT.js";
34
- import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-DeyXahej.js";
35
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-Cs6v3bWQ.js";
36
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Dcc63qRm.js";
37
- import { t as principalBoundingBox } from "./principalBoxFns-BJgGEoik.js";
38
- import { _ as isSuccessResponse, a as createWorkerClient, c as enqueueTask, d as rejectAll, f as isBatchRequest, g as isOperationRequest, h as isInitRequest, i as registerHandler, l as isEmpty$1, m as isErrorResponse, n as createOperationRegistry, o as createTaskQueue, p as isDisposeRequest, r as createWorkerHandler, s as dequeueTask, t as createWorkerPool, u as pendingCount } from "./workerPool-XcYX2UZ0.js";
39
- //#region \0rolldown/runtime.js
1
+ import { $ as initFromOC, A as as3D, C as isSolid, D as getShapeKind, E as GeometryCleanupError, F as createKernelHandle, G as _usingCtx, H as withScope, I as getDisposalStats, J as getKernel2D, K as getActiveKernelId, L as isLive, M as is3D, N as DisposalScope, P as createHandle, Q as initFromManifold, S as isShell, T as isWire, U as withScopeResult, V as withArenaCheckpoint, W as withScopeResultAsync, X as getKernelTier, Y as getKernelCapabilities, Z as init, _ as isCompound, a as castShape3D, at as withTier, b as isShape1D, c as createEdge, ct as resetPerformanceStats, d as createSolid, et as prewarm, f as createVertex, h as disposeResultShape, i as castShape, it as withQuality, j as is2D, k as as2D, l as createFace, lt as currentQuality, n as castResultShape, nt as registerKernelTier, ot as BrepkitAdapter, p as createWire, q as getKernel, rt as withKernel, s as createCompound, st as getPerformanceStats, tt as registerKernel, u as createShell, ut as qualityDeflection, v as isEdge, w as isVertex, x as isShape3D, y as isFace, z as resetDisposalStats } from "./shapeTypes-CgbUTASh.js";
2
+ import { A as EXACT_BREP_CAPABILITIES, k as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-PzZJHUAd.js";
3
+ import { i as wasmIndex, n as bug, t as BrepBugError } from "./bug-ClMTAJhe.js";
4
+ import { A as tap, C as mapBoth, D as or, E as ok, F as unwrapErr, I as unwrapOr, L as unwrapOrElse, M as tryCatch, N as tryCatchAsync, O as orElse, P as unwrap, R as zip, S as map, T as match, _ as flatMap, a as moduleInitError, b as isErr, c as sketcherStateError, d as validationError, f as OK, g as err, h as collect, i as kernelError, j as tapErr, k as pipeline, l as typeCastError, m as andThen, n as computationError, o as queryError, p as all, r as ioError, t as BrepErrorCode, u as unsupportedError, v as flatten, w as mapErr, x as isOk, y as fromNullable } from "./errors-vxP5FT8B.js";
5
+ import { D as kernelCallScoped, E as kernelCallRaw, T as kernelCall, _ as iterFaces, a as getCachedSurfaceType, b as iterVertices, c as getFaces, d as getSolids, f as getVertices, g as iterEdges, h as iterCompSolids, m as invalidateShapeCache, n as getBounds, o as getCompSolids, p as getWires, s as getEdges, t as describe$1, u as getShells, v as iterShells, w as vertexPosition, x as iterWires, y as iterSolids } from "./topologyQueryFns-6M_dbT1R.js";
6
+ import { a as isPlanarFace, c as manifoldShell, d as planarWire, f as validSolid, i as isOrientedFace, l as orientedFace, n as isClosedWire, o as isPlanarWire, r as isManifoldShell, s as isValidSolid, t as closedWire, u as planarFace } from "./validityTypes-BTuI0vcR.js";
7
+ import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-iraOnb2p.js";
8
+ import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-CKXsIm9-.js";
9
+ import { a as vecDot, c as vecLength, d as vecNormalize, f as vecProjectToPlane, g as vecSub, h as vecScale, i as vecDistance, l as vecLengthSq, m as vecRotate, n as vecAngle, o as vecEquals, p as vecRepr, r as vecCross, s as vecIsZero, t as vecAdd, u as vecNegate } from "./vecOps-S-m9H_fe.js";
10
+ import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-Dp0YvuFE.js";
11
+ import { C as shapeType, S as iterTopo, _ as cast, a as faceOrientation, b as fromBREP, c as innerWires, d as pointOnSurface, f as projectPointOnFace, g as asTopo, h as uvCoordinates, i as faceGeomType, l as normalAt, m as uvBounds, n as faceAxis, o as flipFaceOrientation, p as removeHolesFromFace, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, x as isCompSolid, y as downcast } from "./faceFns-BBk6XKJO.js";
12
+ import { i as setShapeOrigin, t as getFaceOrigins } from "./originTrackingFns-D8SNCDKj.js";
13
+ import { A as parseColor, D as colorShape, E as colorFaces, F as tagFaces, M as getFaceTags, N as getTagMetadata, O as getFaceColor, P as setTagMetadata, S as hasAnyMetadata, T as propagateMetadataThroughRelocation, _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, j as findFacesByTag, k as getShapeColor, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-DE_na4G3.js";
14
+ import { A as locate$1, C as threePointArc, D as wireLoop, E as wire, F as transformCopy$1, I as translate$2, M as resize, N as rotate$2, O as applyMatrix$1, P as scale$3, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere$1, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, j as mirror$2, k as composeTransforms, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus$1, x as subFace, y as solid } from "./primitiveFns-W3RYNJcm.js";
15
+ import { a as isSameShape, i as isEqualShape, n as getHashCode, o as simplify$1, r as isEmpty$2, s as toBREP$1, t as clone$1 } from "./shapeFns-DB3l3ULC.js";
16
+ import { a as curveIsPeriodic, c as curvePointAt, d as flipOrientation, f as getCurveType, h as offsetWire2D, i as curveIsClosed, l as curveStartPoint, m as interpolateCurve, n as curveAxis, o as curveLength, p as getOrientation, r as curveEndPoint, s as curvePeriod, t as approximateCurve, u as curveTangentAt } from "./curveFns-CkA2WJP2.js";
17
+ import { a as meshEdges$1, c as meshMultiLOD, d as clearMeshCache, f as createMeshCache, i as mesh$1, l as scaleDefaultTolerance, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshLODsProgressive, t as exportIGES, u as buildMeshCacheKey } from "./meshFns-CgbT3uuO.js";
18
+ import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-BpgouNir.js";
19
+ import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, p as makeEllipseArc, r as makeFace, s as assembleWire, u as makeBezierCurve } from "./surfaceBuilders-wdGNiImD.js";
20
+ import { A as toBufferGeometryData, C as chamfer$2, D as shell$2, E as offset$1, M as toLODGeometryData, N as toLODGeometryLevels, O as thicken$1, P as toLineGeometryData, S as chamferDistAngle, T as fillet$2, _ as checkBoolean, a as healFace, b as getNurbsCurveData, c as isValid$1, d as chamferWithEvolution, f as cutWithEvolution, g as shellWithEvolution, h as intersectWithEvolution, i as heal$1, j as toGroupedBufferGeometryData, k as variableFillet, l as solidFromShell, m as fuseWithEvolution, n as fixSelfIntersection, o as healSolid, p as filletWithEvolution, r as fixShape, s as healWire, t as autoHeal, u as positionOnCurve, v as cutAllBisect, w as draft$1, x as getNurbsSurfaceData, y as fuseAllBisect } from "./healingFns-CEr0afli.js";
21
+ import { A as setJointValue, B as walkAssembly, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as countNodes, G as quatFromAxisAngle, H as circularPattern, I as createAssemblyNode, J as quatRotate, K as quatFromTo, L as findNode, M as sphericalJoint, N as addChild, O as prismaticJoint, P as collectShapes, R as removeChild, S as addJoint, T as jointTransform, U as gridPattern, V as exportAssemblySTEP, W as linearPattern, Y as createAssembly, _ as exportURDF, a as deserializeHistory, b as inverseKinematics, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as setJointValues, k as revoluteJoint, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, q as quatMultiply, r as createHistory, s as getShape, t as thread, u as registerShape, v as importURDF, w as forwardKinematics, x as jointTrajectory, y as jointsFromDH, z as updateNode } from "./threadFns-DlL5VnMf.js";
22
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DNp87aQZ.js";
23
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-sDialr0f.js";
24
+ import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-Bth4EVaO.js";
25
+ import { A as sketchEllipse, D as makeBaseBox, E as deserializeDrawing, F as sketchRectangle, I as sketchRoundedRectangle, L as FaceSketcher, M as sketchHelix, N as sketchParametricFunction, O as polysideInnerRadius, P as sketchPolysides, R as Sketcher, S as drawText, _ as drawPolysides, a as drawingIntersect, b as drawSingleCircle, c as rotateDrawing, d as drawFaceOutline, f as drawProjection, g as drawPointsInterpolation, h as drawParametricFunction, i as drawingFuse, j as sketchFaceOffset, k as sketchCircle, l as scaleDrawing, m as drawEllipse, n as drawingCut, o as drawingToSketchOnPlane, p as drawCircle, r as drawingFillet, s as mirrorDrawing, t as drawingChamfer, u as translateDrawing, v as drawRectangle, w as draw, x as drawSingleEllipse, y as drawRoundedRectangle } from "./drawFns-C6bmFijD.js";
26
+ import { a as measureDistance, c as measureLinearProps, d as measureVolumeProps, i as measureCurvatureAtMid, l as measureSurfaceProps, n as measureArea, o as measureDistanceProps, r as measureCurvatureAt, s as measureLength, t as createDistanceQuery, u as measureVolume } from "./measureFns-PRM3gOjw.js";
27
+ import { t as cornerFinder } from "./cornerFinder-Cr_04etw.js";
28
+ import { a as fuseBlueprints, c as roundedRectangleBlueprint, i as cutBlueprints, n as fuse2D, o as intersectBlueprints, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-BAb4SnIL.js";
29
+ import { S as reverseCurve, _ as curve2dIsOnCurve, a as isInside2D, b as curve2dSplitAt, c as scale2D, d as stretch2D, f as toSVGPathD, g as curve2dFirstPoint, h as curve2dDistanceFrom, i as getOrientation2D, l as sketchOnFace2D, m as curve2dBoundingBox, n as createCompoundBlueprint, o as mirror2D, p as translate2D, r as getBounds2D, s as rotate2D, t as createBlueprint, u as sketchOnPlane2D, v as curve2dLastPoint, x as curve2dTangentAt, y as curve2dParameter } from "./blueprintFns-DQmNe1p6.js";
30
+ import { a as importSVG, c as blueprintToDXF, d as exportGltf, f as exportOBJ, i as exportSTEPConfigured, l as exportDXF, n as importSTEP, o as importSVGPathD, r as importSTL, s as exportThreeMF, t as importIGES, u as exportGlb } from "./importFns-DSUfSQn2.js";
31
+ import { a as Sketch, b as extrudeAll, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch, x as revolve$2, y as extrude$2 } from "./textBlueprints-B_jwMuej.js";
32
+ import { a as multiSectionSweep, c as twistExtrude, i as guidedSweep, n as loftAll, o as supportExtrude, r as complexExtrude, s as sweep$1, t as loft$2 } from "./loftFns-B8DSoG-F.js";
33
+ import { _ as createRef, a as isVertexRef, b as defaultScorer, c as resolveRefParams, d as createVertexRef, f as resolveVertexRef, g as captureHint, h as assignRoles, i as isLineageRef, l as createDerivedFaceRef, m as resolveEdgeRef, n as isEdgeRef, o as resolveLineageRef, p as createEdgeRef, r as isFaceRef, s as resolveRefIn, t as isDerivedFaceRef, u as resolveDerivedFaceRef, v as resolveRef, y as updateRoles } from "./refResolveFns-BkciKtNP.js";
34
+ import { a as facesOfVertex, c as verticesOfFace, i as facesOfEdge, l as wiresOfFace, n as adjacentFaces, o as sharedEdges, r as edgesOfFace, s as verticesOfEdge } from "./adjacencyFns-BgJQQjdt.js";
35
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-9AGyuZVp.js";
36
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-Dj3yfZNQ.js";
37
+ import { t as principalBoundingBox } from "./principalBoxFns-Cbtty-2_.js";
38
+ import { _ as isSuccessResponse, a as createWorkerClient, c as enqueueTask, d as rejectAll, f as isBatchRequest, g as isOperationRequest, h as isInitRequest, i as registerHandler, l as isEmpty$1, m as isErrorResponse, n as createOperationRegistry, o as createTaskQueue, p as isDisposeRequest, r as createWorkerHandler, s as dequeueTask, t as createWorkerPool, u as pendingCount } from "./workerPool-Bc5hmJc4.js";
39
+ // \0rolldown/runtime.js
40
40
  var __defProp = Object.defineProperty;
41
41
  var __exportAll = (all, no_symbols) => {
42
42
  let target = {};
@@ -47,8 +47,7 @@ var __exportAll = (all, no_symbols) => {
47
47
  if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
48
48
  return target;
49
49
  };
50
- //#endregion
51
- //#region src/kernel/types.ts
50
+ // src/kernel/types.ts
52
51
  /** Check if the kernel supports hidden-line-removal projection. */
53
52
  function supportsProjection(kernel) {
54
53
  return "projectEdges" in kernel;
@@ -57,8 +56,7 @@ function supportsProjection(kernel) {
57
56
  function supportsConstraintSketch(kernel) {
58
57
  return "sketchNew" in kernel && "sketchDof" in kernel;
59
58
  }
60
- //#endregion
61
- //#region src/topology/shapeBooleans.ts
59
+ // src/topology/shapeBooleans.ts
62
60
  var BOPAlgo_GlueShift = 1;
63
61
  var BOPAlgo_GlueFull = 2;
64
62
  /**
@@ -71,8 +69,7 @@ function applyGlue(op, optimisation) {
71
69
  if (optimisation === "commonFace") op.SetGlue(BOPAlgo_GlueShift);
72
70
  if (optimisation === "sameFace") op.SetGlue(BOPAlgo_GlueFull);
73
71
  }
74
- //#endregion
75
- //#region src/topology/shapeModifiers.ts
72
+ // src/topology/shapeModifiers.ts
76
73
  function isNumber(r) {
77
74
  return typeof r === "number";
78
75
  }
@@ -89,8 +86,7 @@ function isFilletRadius(r) {
89
86
  if (Array.isArray(r) && r.length === 2) return r.every(isNumber);
90
87
  return false;
91
88
  }
92
- //#endregion
93
- //#region src/query/vertexFinder.ts
89
+ // src/query/vertexFinder.ts
94
90
  /**
95
91
  * Wrap a vertex finder so that `findAll` and `findUnique` return only the
96
92
  * single vertex closest to `nearestPoint` among candidates that pass all
@@ -144,8 +140,7 @@ function buildVertexFinder(filters) {
144
140
  function vertexFinder() {
145
141
  return buildVertexFinder([]);
146
142
  }
147
- //#endregion
148
- //#region src/voxel/registry.ts
143
+ // src/voxel/registry.ts
149
144
  var _engines = /* @__PURE__ */ new Map();
150
145
  var _defaultId = null;
151
146
  var _cached = null;
@@ -183,8 +178,7 @@ function initVoxel(engine, id = "voxel") {
183
178
  _defaultId = id;
184
179
  _cached = engine;
185
180
  }
186
- //#endregion
187
- //#region src/voxel/signFns.ts
181
+ // src/voxel/signFns.ts
188
182
  /**
189
183
  * Validate a triangle-soup mesh before it crosses into wasm: flat-xyz vertices,
190
184
  * triangle-multiple indices, and every index in range. An out-of-range index
@@ -242,8 +236,7 @@ function pointsInside(mesh, queries, id) {
242
236
  const flags = engine.value.points_inside(mesh.vertices, mesh.triangles, queries);
243
237
  return ok(Array.from(flags, (flag) => flag === 1));
244
238
  }
245
- //#endregion
246
- //#region src/voxel/repairFns.ts
239
+ // src/voxel/repairFns.ts
247
240
  var DEFAULT_RESOLUTION$4 = 48;
248
241
  var DEFAULT_PADDING$4 = 2;
249
242
  /**
@@ -289,8 +282,7 @@ function repairMesh(mesh, opts, id) {
289
282
  return err(computationError("VOXEL_REPAIR_FAILED", cause instanceof Error ? cause.message : "voxel repair failed (grid too large?).", cause));
290
283
  }
291
284
  }
292
- //#endregion
293
- //#region src/voxel/shapeMesh.ts
285
+ // src/voxel/shapeMesh.ts
294
286
  var DEFAULT_DEFLECTION = .001;
295
287
  /**
296
288
  * Mesh a B-rep shape into the flat triangle-soup {@link VoxelMeshInput} the voxel
@@ -310,8 +302,7 @@ function shapeToMeshInput(shape, deflection = DEFAULT_DEFLECTION) {
310
302
  return err(computationError("VOXEL_SHAPE_MESH_FAILED", cause instanceof Error ? cause.message : "failed to mesh shape for voxel op.", cause));
311
303
  }
312
304
  }
313
- //#endregion
314
- //#region src/voxel/meshOpsFns.ts
305
+ // src/voxel/meshOpsFns.ts
315
306
  var DEFAULT_RESOLUTION$3 = 48;
316
307
  var DEFAULT_PADDING$3 = 2;
317
308
  var BOOLEAN_OP_CODES$1 = {
@@ -466,8 +457,7 @@ function voxelBooleanShapes(a, b, op, opts, id) {
466
457
  if (isErr(meshB)) return meshB;
467
458
  return voxelBoolean(meshA.value, meshB.value, op, opts, id);
468
459
  }
469
- //#endregion
470
- //#region src/voxel/fieldFns.ts
460
+ // src/voxel/fieldFns.ts
471
461
  var DEFAULT_RESOLUTION$2 = 48;
472
462
  var DEFAULT_PADDING$2 = 2;
473
463
  var BOOLEAN_OP_CODES = {
@@ -728,8 +718,7 @@ function voxelBooleanFieldShapes(a, b, op, opts, id) {
728
718
  if (isErr(meshB)) return meshB;
729
719
  return voxelBooleanField(meshA.value, meshB.value, op, opts, id);
730
720
  }
731
- //#endregion
732
- //#region src/implicit/sdfFns.ts
721
+ // src/implicit/sdfFns.ts
733
722
  var DEFAULT_RESOLUTION$1 = 48;
734
723
  var DEFAULT_PADDING$1 = 2;
735
724
  function resolveEngine(id) {
@@ -1025,8 +1014,7 @@ function fieldFromSdf(sdf, scale, offset, id) {
1025
1014
  function fieldClamp(field, min, max, id) {
1026
1015
  return buildField((e) => e.ScalarField.clamp(field.value, min, max), id);
1027
1016
  }
1028
- //#endregion
1029
- //#region src/lattice/latticeFns.ts
1017
+ // src/lattice/latticeFns.ts
1030
1018
  var LATTICE_TAGS = {
1031
1019
  gyroid: 0,
1032
1020
  schwarzP: 1,
@@ -1140,8 +1128,7 @@ function tpmsLattice(bounds, opts, id) {
1140
1128
  return err(computationError("TPMS_LATTICE_FAILED", cause instanceof Error ? cause.message : "tpms lattice failed (grid too large?).", cause));
1141
1129
  }
1142
1130
  }
1143
- //#endregion
1144
- //#region src/csg/hash.ts
1131
+ // src/csg/hash.ts
1145
1132
  var FNV_OFFSET = 14695981039346656037n;
1146
1133
  var FNV_PRIME = 1099511628211n;
1147
1134
  var MASK_64 = 18446744073709551615n;
@@ -1199,8 +1186,7 @@ function fnvMixBool(h, b) {
1199
1186
  function toHex(h) {
1200
1187
  return (h & MASK_64).toString(16).padStart(16, "0");
1201
1188
  }
1202
- //#endregion
1203
- //#region src/csg/expressions.ts
1189
+ // src/csg/expressions.ts
1204
1190
  var EMPTY_DEPS$1 = /* @__PURE__ */ new Set();
1205
1191
  function startHash$1(tag) {
1206
1192
  return fnvMixString(fnvInit(), tag);
@@ -1437,8 +1423,7 @@ function projectEnv(env, deps) {
1437
1423
  }
1438
1424
  return Object.freeze(out);
1439
1425
  }
1440
- //#endregion
1441
- //#region src/csg/segments.ts
1426
+ // src/csg/segments.ts
1442
1427
  /**
1443
1428
  * Serializable 2D segment vocabulary — endpoint-parametrized (SVG-style)
1444
1429
  * curve segments shared by the Path node (open spines) and, later, Profile
@@ -1540,8 +1525,7 @@ function foldSegment(s, foldExpr) {
1540
1525
  });
1541
1526
  }
1542
1527
  }
1543
- //#endregion
1544
- //#region src/csg/jsonData.ts
1528
+ // src/csg/jsonData.ts
1545
1529
  /** Validate `value` as JSON-safe and return its canonical frozen copy, or a
1546
1530
  * message naming the first offending path (rooted at `path`). */
1547
1531
  function canonicalJson(value, path) {
@@ -1615,8 +1599,7 @@ function hashJson(h, v) {
1615
1599
  function isJsonArray(v) {
1616
1600
  return Array.isArray(v);
1617
1601
  }
1618
- //#endregion
1619
- //#region src/csg/types.ts
1602
+ // src/csg/types.ts
1620
1603
  var OUTPUT_KINDS = {
1621
1604
  Solid: true,
1622
1605
  Face: true,
@@ -1664,8 +1647,7 @@ function outputKindOf(node) {
1664
1647
  case "Extension": return node.output;
1665
1648
  }
1666
1649
  }
1667
- //#endregion
1668
- //#region src/csg/builders.ts
1650
+ // src/csg/builders.ts
1669
1651
  var EMPTY_DEPS = /* @__PURE__ */ new Set();
1670
1652
  function startHash(tag) {
1671
1653
  return fnvMixString(fnvInit(), tag);
@@ -2210,8 +2192,7 @@ function extension(name, output, options) {
2210
2192
  freeParams: depsOf(...children, ...params.map(([, e]) => e))
2211
2193
  };
2212
2194
  }
2213
- //#endregion
2214
- //#region src/csg/profiles.ts
2195
+ // src/csg/profiles.ts
2215
2196
  /**
2216
2197
  * Canned profile builders matching the brepjs-bim parametric profile set
2217
2198
  * (IfcProfileDef vocabulary). Parameter names mirror the bim specs 1:1 so a
@@ -2419,8 +2400,7 @@ function arbitraryProfileWithVoids(outerPoints, voids) {
2419
2400
  return contour(v[0] ?? [0, 0], v.slice(1).map((pt) => lineTo(pt)));
2420
2401
  }));
2421
2402
  }
2422
- //#endregion
2423
- //#region src/csg/evaluators/primitives.ts
2403
+ // src/csg/evaluators/primitives.ts
2424
2404
  function evalBox(node, ctx) {
2425
2405
  const x = evalScalar(node.x, ctx.env, "Box.x");
2426
2406
  if (!x.ok) return x;
@@ -2484,8 +2464,7 @@ function evalVertex(node, ctx) {
2484
2464
  if (!p.ok) return p;
2485
2465
  return ok(vertex(p.value));
2486
2466
  }
2487
- //#endregion
2488
- //#region src/csg/evaluators/booleans.ts
2467
+ // src/csg/evaluators/booleans.ts
2489
2468
  /**
2490
2469
  * Evaluators for CSG boolean nodes.
2491
2470
  *
@@ -2565,8 +2544,7 @@ function evalCutAll(node, ctx) {
2565
2544
  if (!resolved.ok) return resolved;
2566
2545
  return cutAll$2(base.value, resolved.value, boolOptions(node, ctx));
2567
2546
  }
2568
- //#endregion
2569
- //#region src/csg/evaluators/transforms.ts
2547
+ // src/csg/evaluators/transforms.ts
2570
2548
  function emptyResult(kind) {
2571
2549
  return err(computationError(BrepErrorCode.NULL_SHAPE_INPUT, `${kind}: cannot transform an Empty node`));
2572
2550
  }
@@ -2670,8 +2648,7 @@ function evalMirror(node, ctx) {
2670
2648
  if (!r.ok) return r;
2671
2649
  return ok(mirror$2(r.value, normal.value, at.value));
2672
2650
  }
2673
- //#endregion
2674
- //#region src/csg/evaluators/compound.ts
2651
+ // src/csg/evaluators/compound.ts
2675
2652
  function evalCompound(node, ctx) {
2676
2653
  const non = node.children.filter((c) => c.kind !== "Empty");
2677
2654
  if (non.length === 0) return err(computationError(BrepErrorCode.NULL_SHAPE_INPUT, "Compound: cannot materialize a compound with zero non-empty children"));
@@ -2686,8 +2663,7 @@ function evalCompound(node, ctx) {
2686
2663
  function evalEmpty() {
2687
2664
  return err(computationError(BrepErrorCode.NULL_SHAPE_INPUT, "Empty: cannot materialize an Empty node directly — only valid as boolean/transform operand"));
2688
2665
  }
2689
- //#endregion
2690
- //#region src/operations/instanceFns.ts
2666
+ // src/operations/instanceFns.ts
2691
2667
  /**
2692
2668
  * Transform-only instancing — hold ONE source shape + N placements without
2693
2669
  * copying the kernel shape. Real geometry (a Compound, or a fused solid) or a
@@ -2819,15 +2795,13 @@ function instancedMesh(inst, opts) {
2819
2795
  instances: inst.placements
2820
2796
  };
2821
2797
  }
2822
- //#endregion
2823
- //#region src/csg/evaluators/instance.ts
2798
+ // src/csg/evaluators/instance.ts
2824
2799
  function evalInstance(node, ctx) {
2825
2800
  const r = ctx.evalNode(node.source);
2826
2801
  if (!r.ok) return r;
2827
2802
  return materialize(instance(r.value, node.placements), { fuse: node.fuse });
2828
2803
  }
2829
- //#endregion
2830
- //#region src/csg/evaluators/profileFace.ts
2804
+ // src/csg/evaluators/profileFace.ts
2831
2805
  /** Evaluate a profile child and prove it is an oriented planar face — the
2832
2806
  * input contract shared by every profile-consuming feature node. */
2833
2807
  function resolveProfileFace(ctx, profile, where) {
@@ -2839,8 +2813,7 @@ function resolveProfileFace(ctx, profile, where) {
2839
2813
  if (!isPlanarFace(oriented.value)) return err(typeCastError("CSG_NOT_FACE", `${where}: face is not planar`));
2840
2814
  return ok(oriented.value);
2841
2815
  }
2842
- //#endregion
2843
- //#region src/csg/evaluators/extrude.ts
2816
+ // src/csg/evaluators/extrude.ts
2844
2817
  function evalExtrude(node, ctx) {
2845
2818
  const v = evalVec3(node.vector, ctx.env, "Extrude.vector");
2846
2819
  if (!v.ok) return v;
@@ -2848,8 +2821,7 @@ function evalExtrude(node, ctx) {
2848
2821
  if (!face.ok) return face;
2849
2822
  return extrude$2(face.value, v.value);
2850
2823
  }
2851
- //#endregion
2852
- //#region src/csg/evaluators/revolve.ts
2824
+ // src/csg/evaluators/revolve.ts
2853
2825
  function evalRevolve(node, ctx) {
2854
2826
  const a = evalScalar(node.angle, ctx.env, "Revolve.angle");
2855
2827
  if (!a.ok) return a;
@@ -2871,8 +2843,7 @@ function evalRevolve(node, ctx) {
2871
2843
  if (!face.ok) return face;
2872
2844
  return revolve$2(face.value, at.value, axis.value, deg * Math.PI / 180);
2873
2845
  }
2874
- //#endregion
2875
- //#region src/csg/evaluators/loft.ts
2846
+ // src/csg/evaluators/loft.ts
2876
2847
  function evalLoft(node, ctx) {
2877
2848
  try {
2878
2849
  var _usingCtx$8 = _usingCtx();
@@ -2893,8 +2864,7 @@ function evalLoft(node, ctx) {
2893
2864
  _usingCtx$8.d();
2894
2865
  }
2895
2866
  }
2896
- //#endregion
2897
- //#region src/csg/evaluators/path.ts
2867
+ // src/csg/evaluators/path.ts
2898
2868
  var EPS$2 = 1e-9;
2899
2869
  function v3(p) {
2900
2870
  return [
@@ -3122,8 +3092,7 @@ function evalPath(node, ctx) {
3122
3092
  _usingCtx4.d();
3123
3093
  }
3124
3094
  }
3125
- //#endregion
3126
- //#region src/csg/evaluators/sweep.ts
3095
+ // src/csg/evaluators/sweep.ts
3127
3096
  function evalSweep(node, ctx) {
3128
3097
  try {
3129
3098
  var _usingCtx$6 = _usingCtx();
@@ -3155,8 +3124,7 @@ function evalSweep(node, ctx) {
3155
3124
  _usingCtx$6.d();
3156
3125
  }
3157
3126
  }
3158
- //#endregion
3159
- //#region src/csg/evaluators/profile.ts
3127
+ // src/csg/evaluators/profile.ts
3160
3128
  function proveClosedPlanar(w, where) {
3161
3129
  const cw = closedWire(w);
3162
3130
  if (!cw.ok) return err(validationError("CSG_PROFILE_CONTOUR", `${where}: ${cw.error}`));
@@ -3188,8 +3156,7 @@ function evalProfile(node, ctx) {
3188
3156
  _usingCtx$5.d();
3189
3157
  }
3190
3158
  }
3191
- //#endregion
3192
- //#region src/csg/evaluators/color.ts
3159
+ // src/csg/evaluators/color.ts
3193
3160
  function evalColor(node, ctx) {
3194
3161
  const t = ctx.evalNode(node.target);
3195
3162
  if (!t.ok) return t;
@@ -3209,8 +3176,7 @@ function evalColor(node, ctx) {
3209
3176
  if (hasAnyMetadata(t.value)) propagateMetadataThroughRelocation(t.value, moved);
3210
3177
  return ok(colorShape(moved, [...node.color]));
3211
3178
  }
3212
- //#endregion
3213
- //#region src/csg/evaluators/fillet.ts
3179
+ // src/csg/evaluators/fillet.ts
3214
3180
  function evalFillet(node, ctx) {
3215
3181
  const radius = evalScalar(node.radius, ctx.env, "Fillet.radius");
3216
3182
  if (!radius.ok) return radius;
@@ -3225,8 +3191,7 @@ function evalFillet(node, ctx) {
3225
3191
  if (!isEdge(resolved.entity)) return err(validationError("CSG_FILLET_REF", "Fillet.ref resolved to a non-edge"));
3226
3192
  return fillet$2(solid.value, [resolved.entity], radius.value);
3227
3193
  }
3228
- //#endregion
3229
- //#region src/csg/evaluators/chamfer.ts
3194
+ // src/csg/evaluators/chamfer.ts
3230
3195
  function evalChamfer(node, ctx) {
3231
3196
  const distance = evalScalar(node.distance, ctx.env, "Chamfer.distance");
3232
3197
  if (!distance.ok) return distance;
@@ -3241,8 +3206,7 @@ function evalChamfer(node, ctx) {
3241
3206
  if (!isEdge(resolved.entity)) return err(validationError("CSG_CHAMFER_REF", "Chamfer.ref resolved to a non-edge"));
3242
3207
  return chamfer$2(solid.value, [resolved.entity], distance.value);
3243
3208
  }
3244
- //#endregion
3245
- //#region src/csg/evaluators/shell.ts
3209
+ // src/csg/evaluators/shell.ts
3246
3210
  function evalShell(node, ctx) {
3247
3211
  const thickness = evalScalar(node.thickness, ctx.env, "Shell.thickness");
3248
3212
  if (!thickness.ok) return thickness;
@@ -3262,8 +3226,7 @@ function evalShell(node, ctx) {
3262
3226
  }
3263
3227
  return shell$2(solid.value, faces, thickness.value);
3264
3228
  }
3265
- //#endregion
3266
- //#region src/csg/evaluators/extension.ts
3229
+ // src/csg/evaluators/extension.ts
3267
3230
  function evalExtension(node, ctx) {
3268
3231
  const evaluator = ctx.extensions.get(node.name);
3269
3232
  if (evaluator === void 0) return err(validationError(BrepErrorCode.CSG_EXTENSION_UNKNOWN, `Extension: no evaluator registered for '${node.name}'`, void 0, { name: node.name }, `Register one with new csg.Evaluator({ extensions: { '${node.name}': fn } })`));
@@ -3285,8 +3248,7 @@ function evalExtension(node, ctx) {
3285
3248
  children
3286
3249
  });
3287
3250
  }
3288
- //#endregion
3289
- //#region src/csg/evaluate.ts
3251
+ // src/csg/evaluate.ts
3290
3252
  function dispatch(node, ctx) {
3291
3253
  switch (node.kind) {
3292
3254
  case "Box": return evalBox(node, ctx);
@@ -3769,8 +3731,7 @@ function withEvaluator(options, fn) {
3769
3731
  _usingCtx$4.d();
3770
3732
  }
3771
3733
  }
3772
- //#endregion
3773
- //#region src/csg/edit.ts
3734
+ // src/csg/edit.ts
3774
3735
  function replaceNode(root, pred, replacement) {
3775
3736
  return walk(root, pred, replacement, /* @__PURE__ */ new Map());
3776
3737
  }
@@ -4842,8 +4803,7 @@ function readInstance(j, defs) {
4842
4803
  if (!Array.isArray(placements) || !placements.every(isMatrix4x4)) return bad("Instance.placements must be an array of 4x4 number matrices");
4843
4804
  return ok(instance$1(source.value, placements, j["fuse"] === true));
4844
4805
  }
4845
- //#endregion
4846
- //#region src/csg/optimize.ts
4806
+ // src/csg/optimize.ts
4847
4807
  function optimize(node) {
4848
4808
  return optimizeNode(node);
4849
4809
  }
@@ -5041,8 +5001,7 @@ function optimizeTranslate(target, vector) {
5041
5001
  }
5042
5002
  return translate$1(ot, ov);
5043
5003
  }
5044
- //#endregion
5045
- //#region src/sketching/blueprintContourFns.ts
5004
+ // src/sketching/blueprintContourFns.ts
5046
5005
  var EPS$1 = 1e-6;
5047
5006
  function p2(p) {
5048
5007
  return [p[0] ?? 0, p[1] ?? 0];
@@ -5203,8 +5162,7 @@ function consumePiece(piece, cur, segments) {
5203
5162
  segments.push(seg.value);
5204
5163
  return ok(to);
5205
5164
  }
5206
- //#endregion
5207
- //#region src/core/kernelBoundary.ts
5165
+ // src/core/kernelBoundary.ts
5208
5166
  /** Convert Vec3 to a kernel 3D vector. Caller must call .delete() when done. */
5209
5167
  function toKernelVec(v) {
5210
5168
  return getKernel().createVector3d(v[0], v[1], v[2]);
@@ -5268,8 +5226,7 @@ function withKernelDir(v, fn) {
5268
5226
  ocDir.delete();
5269
5227
  }
5270
5228
  }
5271
- //#endregion
5272
- //#region src/topology/surfaceFns.ts
5229
+ // src/topology/surfaceFns.ts
5273
5230
  /**
5274
5231
  * Surface creation functions — generate faces from height-map grids.
5275
5232
  */
@@ -5414,8 +5371,7 @@ async function surfaceFromImage(blob, options = {}) {
5414
5371
  if (options.scaleZ !== void 0) gridOpts.scaleZ = options.scaleZ;
5415
5372
  return surfaceFromGrid(rows, gridOpts);
5416
5373
  }
5417
- //#endregion
5418
- //#region src/topology/hullFns.ts
5374
+ // src/topology/hullFns.ts
5419
5375
  /**
5420
5376
  * Functional convex hull operation.
5421
5377
  *
@@ -5456,8 +5412,7 @@ function hull(shapes, options = {}) {
5456
5412
  return err(kernelError(BrepErrorCode.HULL_FAILED, `Hull operation failed: ${raw}`, e));
5457
5413
  }
5458
5414
  }
5459
- //#endregion
5460
- //#region src/operations/convexHullFns.ts
5415
+ // src/operations/convexHullFns.ts
5461
5416
  /**
5462
5417
  * Compute the 3D convex hull of a point cloud.
5463
5418
  *
@@ -5496,8 +5451,7 @@ function convexHull(points) {
5496
5451
  return err(kernelError(BrepErrorCode.HULL_FAILED, `convexHull failed: ${raw}`, e));
5497
5452
  }
5498
5453
  }
5499
- //#endregion
5500
- //#region src/topology/minkowskiFns.ts
5454
+ // src/topology/minkowskiFns.ts
5501
5455
  /**
5502
5456
  * Minkowski sum operation — approximates the Minkowski sum of two 3D shapes.
5503
5457
  *
@@ -5591,8 +5545,7 @@ function minkowski(shape, tool, options = {}) {
5591
5545
  if (sphereRadius !== null) return minkowskiSphere(shape, sphereRadius, tolerance);
5592
5546
  return minkowskiGeneral(shape, tool, tolerance);
5593
5547
  }
5594
- //#endregion
5595
- //#region src/topology/polyhedronFns.ts
5548
+ // src/topology/polyhedronFns.ts
5596
5549
  /**
5597
5550
  * Create a solid from vertices and face indices.
5598
5551
  */
@@ -5630,8 +5583,7 @@ function polyhedron(points, faces, options = {}) {
5630
5583
  return err(kernelError(BrepErrorCode.POLYHEDRON_FAILED, `Polyhedron failed: ${raw}`, e));
5631
5584
  }
5632
5585
  }
5633
- //#endregion
5634
- //#region src/operations/straightSkeleton.ts
5586
+ // src/operations/straightSkeleton.ts
5635
5587
  var EPS = 1e-10;
5636
5588
  function cross2(ax, ay, bx, by) {
5637
5589
  return ax * by - ay * bx;
@@ -6029,8 +5981,7 @@ function computeStraightSkeletonImpl(polygon) {
6029
5981
  faces
6030
5982
  };
6031
5983
  }
6032
- //#endregion
6033
- //#region src/operations/roofFns.ts
5984
+ // src/operations/roofFns.ts
6034
5985
  /**
6035
5986
  * Roof generation from a wire using straight skeleton extrusion.
6036
5987
  * Produces a solid roof shape where each edge slopes inward at a given angle.
@@ -6240,8 +6191,7 @@ function roof(w, options) {
6240
6191
  return err(kernelError(BrepErrorCode.ROOF_FAILED, `Roof generation failed: ${msg}`, e));
6241
6192
  }
6242
6193
  }
6243
- //#endregion
6244
- //#region src/kernel/solverAdapter.ts
6194
+ // src/kernel/solverAdapter.ts
6245
6195
  /**
6246
6196
  * Constraint solver adapter — analytical solver for simple assembly mates.
6247
6197
  */
@@ -6640,8 +6590,7 @@ function solveConstraints(nodes, constraints) {
6640
6590
  unsupported
6641
6591
  };
6642
6592
  }
6643
- //#endregion
6644
- //#region src/operations/mateFns.ts
6593
+ // src/operations/mateFns.ts
6645
6594
  function extractEntity(mate) {
6646
6595
  if (mate.face) {
6647
6596
  const axis = faceAxis(mate.face);
@@ -6788,8 +6737,7 @@ function solveAssembly(assembly) {
6788
6737
  return err(kernelError(BrepErrorCode.ASSEMBLY_SOLVE_FAILED, `Assembly solve failed: ${raw}`, e));
6789
6738
  }
6790
6739
  }
6791
- //#endregion
6792
- //#region src/measurement/interferenceFns.ts
6740
+ // src/measurement/interferenceFns.ts
6793
6741
  /**
6794
6742
  * Interference detection between shapes.
6795
6743
  *
@@ -6865,8 +6813,7 @@ function checkAllInterferences(shapes, tolerance = 1e-6) {
6865
6813
  function aabbDisjoint(a, b, tolerance) {
6866
6814
  return a.xMax + tolerance < b.xMin || b.xMax + tolerance < a.xMin || a.yMax + tolerance < b.yMin || b.yMax + tolerance < a.yMin || a.zMax + tolerance < b.zMin || b.zMax + tolerance < a.zMin;
6867
6815
  }
6868
- //#endregion
6869
- //#region src/io/dxfImportFns.ts
6816
+ // src/io/dxfImportFns.ts
6870
6817
  /**
6871
6818
  * DXF file import -- parse ASCII DXF entities into kernel wires.
6872
6819
  */
@@ -6983,8 +6930,7 @@ async function importDXF(blob, options) {
6983
6930
  for (const edge of edges) edge.delete();
6984
6931
  }
6985
6932
  }
6986
- //#endregion
6987
- //#region src/io/ioUtils.ts
6933
+ // src/io/ioUtils.ts
6988
6934
  /**
6989
6935
  * Shared mesh-to-solid sewing utilities for mesh importers.
6990
6936
  *
@@ -7024,8 +6970,7 @@ function sewMeshToSolid(triangles, errorCode, tolerance = 1e-6) {
7024
6970
  }
7025
6971
  }
7026
6972
  }
7027
- //#endregion
7028
- //#region src/io/objImportFns.ts
6973
+ // src/io/objImportFns.ts
7029
6974
  function parseVertexLine(line) {
7030
6975
  const parts = line.split(/\s+/);
7031
6976
  const x = parseFloat(parts[1] ?? "");
@@ -7099,8 +7044,7 @@ function buildSolidFromMesh$1(vertices, faces) {
7099
7044
  }
7100
7045
  return sewMeshToSolid(triangles, BrepErrorCode.OBJ_IMPORT_FAILED);
7101
7046
  }
7102
- //#endregion
7103
- //#region src/io/threemfImportFns.ts
7047
+ // src/io/threemfImportFns.ts
7104
7048
  /**
7105
7049
  * 3MF import — parses a 3MF ZIP archive and builds a solid via sewing.
7106
7050
  */
@@ -7377,8 +7321,7 @@ async function importThreeMF(blob) {
7377
7321
  return err(ioError(BrepErrorCode.THREEMF_IMPORT_FAILED, `3MF import failed: ${msg}`, e));
7378
7322
  }
7379
7323
  }
7380
- //#endregion
7381
- //#region src/io/gltfImportFns.ts
7324
+ // src/io/gltfImportFns.ts
7382
7325
  /**
7383
7326
  * Functional GLB/glTF import operations using branded shape types.
7384
7327
  */
@@ -7406,8 +7349,7 @@ async function importGLB(blob) {
7406
7349
  return err(ioError(BrepErrorCode.GLB_IMPORT_FAILED, `Failed to import GLB: ${msg}`, e));
7407
7350
  }
7408
7351
  }
7409
- //#endregion
7410
- //#region src/topology/apiTypes.ts
7352
+ // src/topology/apiTypes.ts
7411
7353
  /** Extract the raw branded shape from a Shapeable value. */
7412
7354
  function resolve(s) {
7413
7355
  if ("__wrapped" in s) return s.val;
@@ -7417,8 +7359,7 @@ function resolve(s) {
7417
7359
  function resolve3D(s) {
7418
7360
  return resolve(s);
7419
7361
  }
7420
- //#endregion
7421
- //#region src/topology/api.ts
7362
+ // src/topology/api.ts
7422
7363
  /** Translate a shape by a vector. Returns a new shape. */
7423
7364
  function translate(shape, v) {
7424
7365
  return translate$2(resolve(shape), v);
@@ -7659,8 +7600,7 @@ function isValid(shape) {
7659
7600
  function isEmpty(shape) {
7660
7601
  return isEmpty$2(resolve(shape));
7661
7602
  }
7662
- //#endregion
7663
- //#region src/operations/api.ts
7603
+ // src/operations/api.ts
7664
7604
  /**
7665
7605
  * Extrude a face to produce a solid.
7666
7606
  *
@@ -7698,8 +7638,7 @@ function loft(wires, options) {
7698
7638
  const resolvedWires = wires.map((w) => resolve(w));
7699
7639
  return loft$2(resolvedWires, options);
7700
7640
  }
7701
- //#endregion
7702
- //#region src/operations/compoundOpsFns.ts
7641
+ // src/operations/compoundOpsFns.ts
7703
7642
  /** Resolve a face selection: Face, FinderFn, or default (top Z-facing face). */
7704
7643
  function resolveTargetFace(shape, faceSpec) {
7705
7644
  if (faceSpec === void 0) {
@@ -7963,8 +7902,7 @@ function rectangularPattern(shape, options) {
7963
7902
  for (const c of owned) c[Symbol.dispose]();
7964
7903
  }
7965
7904
  }
7966
- //#endregion
7967
- //#region src/topology/wrapperFns.ts
7905
+ // src/topology/wrapperFns.ts
7968
7906
  /**
7969
7907
  * Error class thrown by the shape() wrapper when a Result<T> contains an Err.
7970
7908
  * Wraps the structured BrepError for catch-based handling.
@@ -8375,8 +8313,7 @@ function planetPlacements(params = {}) {
8375
8313
  }
8376
8314
  return ok(placements);
8377
8315
  }
8378
- //#endregion
8379
- //#region src/gear/gearProfile.ts
8316
+ // src/gear/gearProfile.ts
8380
8317
  function buildToothPeriodEdges(tm, toothIndex, totalTeeth, samples, scope) {
8381
8318
  const center = toothIndex * tm.toothPitch;
8382
8319
  const nextCenter = (toothIndex + 1) % totalTeeth * tm.toothPitch;
@@ -8478,8 +8415,7 @@ function makeProfileWire(params, isInternal) {
8478
8415
  _usingCtx$2.d();
8479
8416
  }
8480
8417
  }
8481
- //#endregion
8482
- //#region src/gear/gearFns.ts
8418
+ // src/gear/gearFns.ts
8483
8419
  function makeExternalGear(params) {
8484
8420
  const { teeth, moduleSize, thickness, pressureAngleDeg = 20, shift = 0, clearance = DEFAULT_CLEARANCE, flankThinning = 0, bore = 0, samples } = params;
8485
8421
  if (thickness <= 0) return err(validationError("GEAR_THICKNESS_NONPOSITIVE", "thickness must be > 0"));
@@ -8847,8 +8783,7 @@ function collectDiagnostics(cfg, metrics) {
8847
8783
  });
8848
8784
  return diagnostics;
8849
8785
  }
8850
- //#endregion
8851
- //#region src/ns/primitives.ts
8786
+ // src/ns/primitives.ts
8852
8787
  var primitives_exports = /* @__PURE__ */ __exportAll({
8853
8788
  addHoles: () => addHoles,
8854
8789
  bezier: () => bezier,
@@ -8880,8 +8815,7 @@ var primitives_exports = /* @__PURE__ */ __exportAll({
8880
8815
  wire: () => wire,
8881
8816
  wireLoop: () => wireLoop
8882
8817
  });
8883
- //#endregion
8884
- //#region src/ns/booleans.ts
8818
+ // src/ns/booleans.ts
8885
8819
  var booleans_exports = /* @__PURE__ */ __exportAll({
8886
8820
  checkBoolean: () => checkBoolean,
8887
8821
  convexHull: () => convexHull,
@@ -8899,8 +8833,7 @@ var booleans_exports = /* @__PURE__ */ __exportAll({
8899
8833
  slice: () => slice,
8900
8834
  split: () => split
8901
8835
  });
8902
- //#endregion
8903
- //#region src/ns/modifiers.ts
8836
+ // src/ns/modifiers.ts
8904
8837
  var modifiers_exports = /* @__PURE__ */ __exportAll({
8905
8838
  chamfer: () => chamfer,
8906
8839
  draft: () => draft,
@@ -8912,8 +8845,7 @@ var modifiers_exports = /* @__PURE__ */ __exportAll({
8912
8845
  thicken: () => thicken,
8913
8846
  variableFillet: () => variableFillet
8914
8847
  });
8915
- //#endregion
8916
- //#region src/ns/transforms.ts
8848
+ // src/ns/transforms.ts
8917
8849
  var transforms_exports = /* @__PURE__ */ __exportAll({
8918
8850
  applyMatrix: () => applyMatrix,
8919
8851
  clone: () => clone,
@@ -8924,8 +8856,7 @@ var transforms_exports = /* @__PURE__ */ __exportAll({
8924
8856
  transformCopy: () => transformCopy,
8925
8857
  translate: () => translate
8926
8858
  });
8927
- //#endregion
8928
- //#region src/ns/measurement.ts
8859
+ // src/ns/measurement.ts
8929
8860
  var measurement_exports = /* @__PURE__ */ __exportAll({
8930
8861
  checkAllInterferences: () => checkAllInterferences,
8931
8862
  checkInterference: () => checkInterference,
@@ -8942,8 +8873,7 @@ var measurement_exports = /* @__PURE__ */ __exportAll({
8942
8873
  measureVolumeProps: () => measureVolumeProps,
8943
8874
  principalBoundingBox: () => principalBoundingBox
8944
8875
  });
8945
- //#endregion
8946
- //#region src/ns/ioNs.ts
8876
+ // src/ns/ioNs.ts
8947
8877
  var ioNs_exports = /* @__PURE__ */ __exportAll({
8948
8878
  blueprintToDXF: () => blueprintToDXF,
8949
8879
  exportAssemblySTEP: () => exportAssemblySTEP,
@@ -8966,8 +8896,7 @@ var ioNs_exports = /* @__PURE__ */ __exportAll({
8966
8896
  importSVGPathD: () => importSVGPathD,
8967
8897
  importThreeMF: () => importThreeMF
8968
8898
  });
8969
- //#endregion
8970
- //#region src/ns/query.ts
8899
+ // src/ns/query.ts
8971
8900
  var query_exports = /* @__PURE__ */ __exportAll({
8972
8901
  cornerFinder: () => cornerFinder,
8973
8902
  edgeFinder: () => edgeFinder,
@@ -8976,8 +8905,7 @@ var query_exports = /* @__PURE__ */ __exportAll({
8976
8905
  vertexFinder: () => vertexFinder,
8977
8906
  wireFinder: () => wireFinder
8978
8907
  });
8979
- //#endregion
8980
- //#region src/ns/construction.ts
8908
+ // src/ns/construction.ts
8981
8909
  var construction_exports = /* @__PURE__ */ __exportAll({
8982
8910
  complexExtrude: () => complexExtrude,
8983
8911
  extrude: () => extrude,
@@ -8992,14 +8920,12 @@ var construction_exports = /* @__PURE__ */ __exportAll({
8992
8920
  sweep: () => sweep$1,
8993
8921
  twistExtrude: () => twistExtrude
8994
8922
  });
8995
- //#endregion
8996
- //#region src/ns/patterns.ts
8923
+ // src/ns/patterns.ts
8997
8924
  var patterns_exports = /* @__PURE__ */ __exportAll({
8998
8925
  circularPattern: () => circularPattern,
8999
8926
  linearPattern: () => linearPattern
9000
8927
  });
9001
- //#endregion
9002
- //#region src/ns/csg.ts
8928
+ // src/ns/csg.ts
9003
8929
  var csg_exports = /* @__PURE__ */ __exportAll({
9004
8930
  CSG_VERSION: () => 9,
9005
8931
  Evaluator: () => Evaluator,
@@ -9081,5 +9007,4 @@ var csg_exports = /* @__PURE__ */ __exportAll({
9081
9007
  zShapeProfile: () => zShapeProfile
9082
9008
  });
9083
9009
  /* v8 ignore file */
9084
- //#endregion
9085
9010
  export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, GeometryCleanupError, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addJoint, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, blueprintToContour, blueprintToDXF, booleanPipeline, booleans_exports as booleans, boss, box, bsplineApprox, bug, cameraFromPlane, cameraLookAt, captureHint, cast, castShape, castShape3D, chamfer, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkAllInterferences, checkBoolean, checkInterference, circle, circularPattern, classifyPointOnFace, clearMeshCache, clone, closedWire, collect, collectShapes, colorFaces, colorShape, complexExtrude, composeTransforms, compound, compoundSketchExtrude, compoundSketchFace, compoundSketchLoft, compoundSketchRevolve, computationError, computeStraightSkeleton, cone, construction_exports as construction, convexHull, cornerFinder, countNodes, createAssembly, createAssemblyNode, createBlueprint, createCamera, createCompound, createCompoundBlueprint, createDerivedFaceRef, createDistanceQuery, createEdge, createEdgeRef, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createVertexRef, createWire, createWorkerClient, createWorkerHandler, createWorkerPool, csg_exports as csg, currentQuality, curve2dBoundingBox, curve2dDistanceFrom, curve2dFirstPoint, curve2dIsOnCurve, curve2dLastPoint, curve2dParameter, curve2dSplitAt, curve2dTangentAt, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cut, cut2D, cutAll, cutAllBisect, cutBlueprints, cutWithEvolution, cylinder, cylindricalJoint, defaultScorer, dequeueTask, describe, deserializeDrawing, deserializeHistory, fromBREP as deserializeShape, downcast, draft, draw, drawCircle, drawEllipse, drawFaceOutline, drawParametricFunction, drawPointsInterpolation, drawPolysides, drawProjection, drawRectangle, drawRoundedRectangle, drawSingleCircle, drawSingleEllipse, drawText, drawingChamfer, drawingCut, drawingFillet, drawingFuse, drawingIntersect, drawingToSketchOnPlane, drill, edgeFinder, edgesOfFace, ellipse, ellipseArc, ellipsoid, enqueueTask, err, exportAssemblySTEP, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, exportURDF, extrude, extrudeAll, face, faceAxis, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, facesOfVertex, fieldBoolean, fieldContour, fieldOffset, fieldReinit, fieldShell, fill, filledFace, fillet, filletWithEvolution, findFacesByTag, findNode, findStep, fixSelfIntersection, fixShape, flatMap, flatten, flipFaceOrientation, flipOrientation, fontMetrics, forwardKinematics, fromBREP$1 as fromBREP, fromKernelDir, fromKernelPnt, fromKernelVec, fromNullable, fuse, fuse2D, fuseAll, fuseAllBisect, fuseBlueprints, fuseWithEvolution, gearGeometry, getActiveVoxelId, getBounds, getBounds2D, getCompSolids, getCurveType, getDisposalStats, getEdges, getFaceColor, getFaceOrigins, getFaceTags, getFaces, getFont, getHashCode, getShape as getHistoryShape, getKernel, getKernelCapabilities, getKernelTier, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getOrientation2D, getPerformanceStats, getShapeColor, getShapeKind, getShells, getSingleFace, getSolids, getSurfaceType, getTagMetadata, getVertices, getVoxel, getWires, gridPattern, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, importURDF, init, initFromManifold, initFromOC, initVoxel, innerWires, instance, instanceCount, instanceGrid, instancedMesh, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, inverseKinematics, ioNs_exports as io, ioError, is2D, is3D, isBatchRequest, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDerivedFaceRef, isDisposeRequest, isEdge, isEdgeRef, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFaceRef, isFilletRadius, isInitRequest, isInside2D, isInstanced, isLineageRef, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isVertexRef, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, jointTrajectory, jointTransform, jointsFromDH, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, locate, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, materialize, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mechanismDOF, mesh, meshEdges, meshLODs, meshLODsProgressive, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetMesh, offsetShape, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarJoint, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, principalBoundingBox, prismaticJoint, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDerivedFaceRef, resolveDirection, resolveEdgeRef, resolveLineageRef, resolvePlane, resolveRef, resolveRefIn, resolveRefParams, resolveVertexRef, reverseCurve, revoluteJoint, revolve, roof, rotate, rotate2D, rotateDrawing, roundedRectangleBlueprint, scale, scale2D, scaleDrawing, box$1 as sdfBox, capsule as sdfCapsule, cone$1 as sdfCone, cylinder$1 as sdfCylinder, fieldAxialRamp as sdfFieldAxialRamp, fieldClamp as sdfFieldClamp, fieldConst as sdfFieldConst, fieldFromSdf as sdfFieldFromSdf, fieldRadialRamp as sdfFieldRadialRamp, lattice as sdfLattice, plane as sdfPlane, roundedBox as sdfRoundedBox, sphere as sdfSphere, strutLattice as sdfStrutLattice, sweep as sdfSweep, torus as sdfTorus, section, sectionToFace, serializeHistory, setJointValue, setJointValues, setShapeOrigin, setTagMetadata, sewShells, shape, shapeToMeshInput, shapeType, sharedEdges, shell, shellMesh, shellShape, shellWithEvolution, simplify, sketchCircle, sketchEllipse, sketchExtrude, sketchFace, sketchFaceOffset, sketchHelix, sketchLoft, sketchOnFace2D, sketchOnPlane2D, sketchParametricFunction, sketchPolysides, sketchRectangle, sketchRevolve, sketchRoundedRectangle, sketchSweep, sketchText, sketchWires, sketcherStateError, slice, solid, solidFromShell, solveAssembly, sphere$1 as sphere, sphericalJoint, split, stepCount, stepsFrom, stretch2D, subFace, supportExtrude, supportsConstraintSketch, supportsProjection, surfaceFromGrid, surfaceFromImage, sweep$1 as sweep, tagFaces, tangentArc, tap, tapErr, textBlueprints, textMetrics, thicken, thread, threePointArc, toBREP, toBufferGeometryData, toGroupedBufferGeometryData, toKernelVec, toLODGeometryData, toLODGeometryLevels, toLineGeometryData, toSVGPathD, toVec2, toVec3, torus$1 as torus, tpmsLattice, transformCopy, transforms_exports as transforms, translate, translate2D, translateDrawing, translatePlane, tryCatch, tryCatchAsync, twistExtrude, typeCastError, undoLast, unsupportedError, unwrap, unwrapErr, unwrapOr, unwrapOrElse, updateNode, updateRoles, uvBounds, uvCoordinates, validSolid, validatePlanetary, validationError, variableFillet, vecAdd, vecAngle, vecCross, vecDistance, vecDot, vecEquals, vecIsZero, vecLength, vecLengthSq, vecNegate, vecNormalize, vecProjectToPlane, vecRepr, vecRotate, vecScale, vecSub, vertex, vertexFinder, vertexPosition, verticesOfEdge, verticesOfFace, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };