brepjs 18.78.0 → 18.79.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 (79) hide show
  1. package/dist/2d.cjs +6 -6
  2. package/dist/2d.js +6 -6
  3. package/dist/{blueprint-BE93BNYE.cjs → blueprint-B59GQsSD.cjs} +5 -5
  4. package/dist/{blueprint-BVe9JU-L.js → blueprint-BQmmwEKa.js} +5 -5
  5. package/dist/{blueprintFns-B_7kKwEZ.cjs → blueprintFns-C1kKA5qn.cjs} +2 -2
  6. package/dist/{blueprintFns-DWinspVK.js → blueprintFns-DSK1nrwo.js} +2 -2
  7. package/dist/{blueprintSketcher-D75tuXkF.cjs → blueprintSketcher-BJPBKhF3.cjs} +3 -3
  8. package/dist/{blueprintSketcher-DL-wgnVs.js → blueprintSketcher-EYqKWQh0.js} +3 -3
  9. package/dist/{boolean2D-C4Txi8U1.cjs → boolean2D-B1Di3Bpn.cjs} +4 -4
  10. package/dist/{boolean2D-OtHT7POp.js → boolean2D-COHH5tLX.js} +4 -4
  11. package/dist/brepjs.cjs +41 -310
  12. package/dist/brepjs.js +25 -298
  13. package/dist/{cameraFns-DCXqzH_m.js → cameraFns-BMrhkkOV.js} +2 -2
  14. package/dist/{cameraFns-DfSRnD1k.cjs → cameraFns-BZ_8L3gd.cjs} +2 -2
  15. package/dist/core.cjs +1 -1
  16. package/dist/core.js +1 -1
  17. package/dist/{cornerFinder-KuLU-4pQ.cjs → cornerFinder-Ey3oibK1.cjs} +1 -1
  18. package/dist/{cornerFinder-DPkLU1Of.js → cornerFinder-Fi7obttG.js} +1 -1
  19. package/dist/{curveFns-C0oCmjV2.cjs → curveFns-Ca59CNS0.cjs} +1 -1
  20. package/dist/{curveFns-B4KEYU1M.js → curveFns-CoD5E2Vl.js} +1 -1
  21. package/dist/{drawFns-DxjMxRpE.cjs → drawFns-DTpCthM5.cjs} +12 -12
  22. package/dist/{drawFns-C6h_w03r.js → drawFns-D_LwehLr.js} +12 -12
  23. package/dist/{faceFns-p0lyVuyw.cjs → faceFns-0sI6cbHe.cjs} +2 -2
  24. package/dist/{faceFns-BJ2hzXJp.js → faceFns-Cuxdy-7R.js} +2 -2
  25. package/dist/{healingFns-B7dElsC4.cjs → healingFns--PtL9j2K.cjs} +5 -5
  26. package/dist/{healingFns-DS_nK9KF.js → healingFns-Bm-NdBj_.js} +5 -5
  27. package/dist/{helpers-DTBDjbdR.cjs → helpers-B8mE35Fm.cjs} +6 -6
  28. package/dist/{helpers-C78MY-s6.js → helpers-CD8EMZ5l.js} +6 -6
  29. package/dist/{importFns-CUAiLgt_.cjs → importFns-BHEgzDLw.cjs} +2 -2
  30. package/dist/{importFns-Rv22QSn6.js → importFns-vnxBqXwv.js} +2 -2
  31. package/dist/index.d.ts +1 -1
  32. package/dist/io.cjs +2 -2
  33. package/dist/io.js +2 -2
  34. package/dist/kernel/occt/geometryQueryOps.d.ts +1 -1
  35. package/dist/{loftFns-DuxEscJB.js → loftFns-CsHOwded.js} +1 -1
  36. package/dist/{loftFns-DycLH1Pq.cjs → loftFns-DiSsI2PM.cjs} +1 -1
  37. package/dist/{measureFns-C8c6xRUE.js → measureFns-CdcufPNp.js} +3 -3
  38. package/dist/{measureFns-DnxobCbD.cjs → measureFns-nF-OXcDV.cjs} +3 -3
  39. package/dist/measurement.cjs +1 -1
  40. package/dist/measurement.js +1 -1
  41. package/dist/{meshFns-CuYzpojl.js → meshFns-BCgtjlbs.js} +3 -3
  42. package/dist/{meshFns-BawS1xNA.cjs → meshFns-CnckZa6H.cjs} +3 -3
  43. package/dist/operations/jointFns.d.ts +88 -14
  44. package/dist/operations.cjs +13 -2
  45. package/dist/operations.d.ts +1 -0
  46. package/dist/operations.js +3 -3
  47. package/dist/{primitiveFns-BxH5omw3.js → primitiveFns-BSKbI4Kl.js} +5 -5
  48. package/dist/{primitiveFns-JRmXxbRr.cjs → primitiveFns-DEBQdEkG.cjs} +5 -5
  49. package/dist/projection.cjs +1 -1
  50. package/dist/projection.js +1 -1
  51. package/dist/query.cjs +2 -2
  52. package/dist/query.js +2 -2
  53. package/dist/{shapeFns-DZ6poxP7.js → shapeFns-BzlBMNRO.js} +2 -2
  54. package/dist/{shapeFns-D5WNrq3s.cjs → shapeFns-CecvqmYJ.cjs} +2 -2
  55. package/dist/shapeRef.cjs +1 -1
  56. package/dist/shapeRef.js +1 -1
  57. package/dist/{shapeRefFns-BOWP8n4j.cjs → shapeRefFns-BDACYYRr.cjs} +4 -4
  58. package/dist/{shapeRefFns-ClsyeZp4.js → shapeRefFns-CpRRMBKz.js} +4 -4
  59. package/dist/{shapeTypes-CxSqNvHA.cjs → shapeTypes-DWxL75W3.cjs} +4 -9
  60. package/dist/{shapeTypes-CyTY0prh.js → shapeTypes-DfQi9Kvk.js} +4 -9
  61. package/dist/sketching.cjs +3 -3
  62. package/dist/sketching.js +3 -3
  63. package/dist/{solidBuilders-BtEFUFQ9.js → solidBuilders-DnIrQYZd.js} +2 -2
  64. package/dist/{solidBuilders-diw2zyyN.cjs → solidBuilders-osLCTRG0.cjs} +2 -2
  65. package/dist/{surfaceBuilders-CPHOXRLE.cjs → surfaceBuilders-B8aVZamB.cjs} +2 -2
  66. package/dist/{surfaceBuilders-Do0rypyD.js → surfaceBuilders-hTXdNCYm.js} +2 -2
  67. package/dist/text.cjs +2 -2
  68. package/dist/text.js +2 -2
  69. package/dist/{textBlueprints-C3IbySW_.js → textBlueprints-BpqDGwdx.js} +7 -7
  70. package/dist/{textBlueprints-SKuamOmI.cjs → textBlueprints-CI3k7Izc.cjs} +7 -7
  71. package/dist/{textMetrics-Bzbkal_A.cjs → textMetrics-C4RrG9jL.cjs} +1 -1
  72. package/dist/{textMetrics--BwiJH2B.js → textMetrics-kFw-DE2w.js} +1 -1
  73. package/dist/{threadFns-aWgxzqmT.cjs → threadFns-B7a1EVpS.cjs} +503 -5
  74. package/dist/{threadFns-D8-zfJ0b.js → threadFns-Cra0yHSF.js} +420 -6
  75. package/dist/topology.cjs +7 -7
  76. package/dist/topology.js +7 -7
  77. package/dist/{topologyQueryFns-BomrmBie.js → topologyQueryFns-CqjEReSt.js} +1 -1
  78. package/dist/{topologyQueryFns-Dzxrwn-E.cjs → topologyQueryFns-DfOxu8tG.cjs} +1 -1
  79. package/package.json +1 -1
package/dist/brepjs.js CHANGED
@@ -1,35 +1,35 @@
1
- import { $ as getKernelCapabilities, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as registerKernel, b as closedWire, c as createSolid, ct as withQuality, d as isCompound, dt as supportsProjection, et as getKernelTier, f as isEdge, ft as BrepkitAdapter, g as isShell, h as isShape3D, ht as currentQuality, i as createCompound, it as prewarm, j as validSolid, k as planarFace, l as createVertex, lt as withTier, m as isShape1D, mt as resetPerformanceStats, n as castShape3D, nt as initFromManifold, o as createFace, ot as registerKernelTier, p as isFace, pt as getPerformanceStats, q as withScopeResult, rt as initFromOC, s as createShell, st as withKernel, t as castShape, tt as init, u as createWire, ut as supportsConstraintSketch, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-CyTY0prh.js";
1
+ import { $ as getKernelCapabilities, A as planarWire, B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, F as as3D, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, P as as2D, R as DisposalScope, S as isManifoldShell, T as isPlanarWire, V as getDisposalStats, W as resetDisposalStats, X as getActiveKernelId, Y as _usingCtx, Z as getKernel, _ as isSolid, a as createEdge, at as registerKernel, b as closedWire, c as createSolid, ct as withQuality, d as isCompound, dt as supportsProjection, et as getKernelTier, f as isEdge, ft as BrepkitAdapter, g as isShell, h as isShape3D, ht as currentQuality, i as createCompound, it as prewarm, j as validSolid, k as planarFace, l as createVertex, lt as withTier, m as isShape1D, mt as resetPerformanceStats, n as castShape3D, nt as initFromManifold, o as createFace, ot as registerKernelTier, p as isFace, pt as getPerformanceStats, q as withScopeResult, rt as initFromOC, s as createShell, st as withKernel, t as castShape, tt as init, u as createWire, ut as supportsConstraintSketch, v as isVertex, w as isPlanarFace, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { E as EXACT_BREP_CAPABILITIES, T as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-BrTkhQYK.js";
3
3
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
4
4
  import { A as ok, B as unwrapOr, C as fromNullable, D as mapBoth, E as map, F as tapErr, H as zip, I as tryCatch, L as tryCatchAsync, M as orElse, N as pipeline, O as mapErr, P as tap, R as unwrap, S as flatten, T as isOk, V as unwrapOrElse, _ as all, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, j as or, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, t as BrepErrorCode, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
5
- import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ 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 kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-BomrmBie.js";
5
+ import { C as kernelCall, S as vertexPosition, T as kernelCallScoped, _ 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 kernelCallRaw, x as iterWires, y as iterSolids } from "./topologyQueryFns-CqjEReSt.js";
6
6
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
7
7
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
8
8
  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";
9
9
  import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-DSjjtrjg.js";
10
- import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, 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, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-BJ2hzXJp.js";
11
- import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$3, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$2, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-DZ6poxP7.js";
12
- 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-B4KEYU1M.js";
13
- import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-CuYzpojl.js";
10
+ import { S as shapeType, _ as cast, a as faceOrientation, b as isCompSolid, 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, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-Cuxdy-7R.js";
11
+ import { C as findFacesByTag, D as tagFaces, E as setTagMetadata, O as getFaceOrigins, S as getShapeColor, T as getTagMetadata, a as isSameShape, b as colorShape, c as applyMatrix$1, d as resize, f as rotate$2, h as translate$2, i as isEqualShape, k as setShapeOrigin, l as composeTransforms, m as transformCopy$1, n as getHashCode, o as simplify$1, p as scale$3, r as isEmpty$2, s as toBREP$1, t as clone$1, u as mirror$2, w as getFaceTags, x as getFaceColor, y as colorFaces } from "./shapeFns-BzlBMNRO.js";
12
+ 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-CoD5E2Vl.js";
13
+ import { a as meshEdges$1, c as createMeshCache, i as mesh$1, n as exportSTEP, o as meshMultiLOD, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-BCgtjlbs.js";
14
14
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
15
- import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-Do0rypyD.js";
16
- import { A as cutAll, C as threePointArc, D as wireLoop, E as wire, F as sectionToFace$1, I as slice$1, L as split$1, M as fuseAll, N as intersect$2, O as booleanPipeline, P as section$1, 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 fuse$2, k as cut$2, 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-BxH5omw3.js";
17
- import { A as edgesOfFace, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, F as chamferDistAngle, I as toBufferGeometryData, L as toGroupedBufferGeometryData, M as sharedEdges, N as verticesOfEdge, O as getNurbsSurfaceData, P as wiresOfFace, R as toLODGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as facesOfEdge, k as adjacentFaces, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution, z as toLineGeometryData } from "./healingFns-DS_nK9KF.js";
18
- import { C as updateNode, D as linearPattern, O as exportAssemblySTEP, S as removeChild, T as circularPattern, _ as addChild, a as deserializeHistory, b as createAssemblyNode, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, k as createAssembly, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, r as createHistory, s as getShape, t as thread, u as registerShape, v as collectShapes, w as walkAssembly, x as findNode, y as countNodes } from "./threadFns-D8-zfJ0b.js";
19
- import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-DL-wgnVs.js";
20
- import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-C78MY-s6.js";
21
- 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-C6h_w03r.js";
22
- import { r as makeCylinder } from "./solidBuilders-BtEFUFQ9.js";
23
- 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-C8c6xRUE.js";
24
- import { t as cornerFinder } from "./cornerFinder-DPkLU1Of.js";
25
- 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-OtHT7POp.js";
26
- 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-DWinspVK.js";
27
- 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-Rv22QSn6.js";
28
- import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-DuxEscJB.js";
29
- import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-C3IbySW_.js";
30
- import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DCXqzH_m.js";
31
- import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics--BwiJH2B.js";
32
- import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-ClsyeZp4.js";
15
+ import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-hTXdNCYm.js";
16
+ import { A as cutAll, C as threePointArc, D as wireLoop, E as wire, F as sectionToFace$1, I as slice$1, L as split$1, M as fuseAll, N as intersect$2, O as booleanPipeline, P as section$1, 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 fuse$2, k as cut$2, 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-BSKbI4Kl.js";
17
+ import { A as edgesOfFace, C as shellWithEvolution, D as getNurbsCurveData, E as fuseAllBisect, F as chamferDistAngle, I as toBufferGeometryData, L as toGroupedBufferGeometryData, M as sharedEdges, N as verticesOfEdge, O as getNurbsSurfaceData, P as wiresOfFace, R as toLODGeometryData, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, c as isValid$1, d as draft$1, f as fillet$1, g as variableFillet, h as thicken$1, i as heal$1, j as facesOfEdge, k as adjacentFaces, l as solidFromShell, m as shell$1, n as fixSelfIntersection, o as healSolid, p as offset$1, r as fixShape, s as healWire, t as autoHeal, u as chamfer$1, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution, z as toLineGeometryData } from "./healingFns-Bm-NdBj_.js";
18
+ import { A as quatRotate, C as prismaticJoint, D as sphericalJoint, E as setJointValues, F as findNode, H as exportAssemblySTEP, I as removeChild, L as updateNode, M as collectShapes, N as countNodes, O as quatFromAxisAngle, P as createAssemblyNode, R as walkAssembly, S as planarJoint, T as setJointValue, U as createAssembly, V as linearPattern, _ as addJoint, a as deserializeHistory, b as jointTransform, c as modifyStep, d as replayFrom, f as replayHistory, g as undoLast, h as stepsFrom, i as createRegistry, j as addChild, k as quatFromTo, l as registerOperation, m as stepCount, n as addStep, o as findStep, p as serializeHistory, r as createHistory, s as getShape, t as thread, u as registerShape, v as cylindricalJoint, w as revoluteJoint, x as mechanismDOF, y as forwardKinematics, z as circularPattern } from "./threadFns-Cra0yHSF.js";
19
+ import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-EYqKWQh0.js";
20
+ import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-CD8EMZ5l.js";
21
+ 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-D_LwehLr.js";
22
+ import { r as makeCylinder } from "./solidBuilders-DnIrQYZd.js";
23
+ 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-CdcufPNp.js";
24
+ import { t as cornerFinder } from "./cornerFinder-Fi7obttG.js";
25
+ 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-COHH5tLX.js";
26
+ 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-DSK1nrwo.js";
27
+ 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-vnxBqXwv.js";
28
+ import { a as revolve$1, c as multiSectionSweep, d as twistExtrude, i as extrudeAll, l as supportExtrude, n as loftAll, o as complexExtrude, r as extrude$1, s as guidedSweep, t as loft$1, u as sweep$1 } from "./loftFns-CsHOwded.js";
29
+ import { a as Sketch, c as compoundSketchLoft, d as sketchFace, f as sketchLoft, h as sketchWires, i as Sketches, l as compoundSketchRevolve, m as sketchSweep, n as getFont, o as compoundSketchExtrude, p as sketchRevolve, r as loadFont, s as compoundSketchFace, t as textBlueprints, u as sketchExtrude, v as CompoundSketch } from "./textBlueprints-BpqDGwdx.js";
30
+ import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-BMrhkkOV.js";
31
+ import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-kFw-DE2w.js";
32
+ import { a as updateRoles, i as resolveRef, n as captureHint, o as defaultScorer, r as createRef, t as assignRoles } from "./shapeRefFns-CpRRMBKz.js";
33
33
  import { a as createTaskQueue, c as isEmpty$1, d as isDisposeRequest, f as isErrorResponse, h as isSuccessResponse, i as createWorkerClient, l as pendingCount, m as isOperationRequest, n as createWorkerHandler, o as dequeueTask, p as isInitRequest, r as registerHandler, s as enqueueTask, t as createOperationRegistry, u as rejectAll } from "./workerHandler-CFetYgIm.js";
34
34
  //#region \0rolldown/runtime.js
35
35
  var __defProp = Object.defineProperty;
@@ -2143,94 +2143,6 @@ function roof(w, options) {
2143
2143
  }
2144
2144
  }
2145
2145
  //#endregion
2146
- //#region src/utils/quaternion.ts
2147
- function dot$1(a, b) {
2148
- return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
2149
- }
2150
- function cross$1(a, b) {
2151
- return [
2152
- a[1] * b[2] - a[2] * b[1],
2153
- a[2] * b[0] - a[0] * b[2],
2154
- a[0] * b[1] - a[1] * b[0]
2155
- ];
2156
- }
2157
- function normalize$1(a) {
2158
- const l = Math.hypot(a[0], a[1], a[2]) || 1;
2159
- return [
2160
- a[0] / l,
2161
- a[1] / l,
2162
- a[2] / l
2163
- ];
2164
- }
2165
- /** A unit vector perpendicular to `v` (for the 180°/parallel degenerate cases). */
2166
- function anyPerpendicular$1(v) {
2167
- return normalize$1(cross$1(v, Math.abs(v[0]) < .9 ? [
2168
- 1,
2169
- 0,
2170
- 0
2171
- ] : [
2172
- 0,
2173
- 1,
2174
- 0
2175
- ]));
2176
- }
2177
- /** Rotate vector `v` by quaternion `q`. */
2178
- function quatRotate(q, v) {
2179
- const [w, x, y, z] = q;
2180
- const tx = 2 * (y * v[2] - z * v[1]);
2181
- const ty = 2 * (z * v[0] - x * v[2]);
2182
- const tz = 2 * (x * v[1] - y * v[0]);
2183
- return [
2184
- v[0] + w * tx + (y * tz - z * ty),
2185
- v[1] + w * ty + (z * tx - x * tz),
2186
- v[2] + w * tz + (x * ty - y * tx)
2187
- ];
2188
- }
2189
- /** Quaternion for a rotation of `angle` radians about (unit-normalized) `axis`. */
2190
- function quatFromAxisAngle(axis, angle) {
2191
- const h = angle / 2;
2192
- const s = Math.sin(h);
2193
- const u = normalize$1(axis);
2194
- return [
2195
- Math.cos(h),
2196
- u[0] * s,
2197
- u[1] * s,
2198
- u[2] * s
2199
- ];
2200
- }
2201
- /** Shortest-arc quaternion rotating unit vector `from` onto unit vector `to`. */
2202
- function quatFromTo(from, to) {
2203
- const a = normalize$1(from);
2204
- const b = normalize$1(to);
2205
- const d = dot$1(a, b);
2206
- if (d >= .999999999) return [
2207
- 1,
2208
- 0,
2209
- 0,
2210
- 0
2211
- ];
2212
- if (d <= -.999999999) return quatFromAxisAngle(anyPerpendicular$1(a), Math.PI);
2213
- const c = cross$1(a, b);
2214
- const len = Math.hypot(1 + d, c[0], c[1], c[2]) || 1;
2215
- return [
2216
- (1 + d) / len,
2217
- c[0] / len,
2218
- c[1] / len,
2219
- c[2] / len
2220
- ];
2221
- }
2222
- /** Hamilton product `a ⊗ b` — the rotation that applies `b` first, then `a`. */
2223
- function quatMultiply(a, b) {
2224
- const [aw, ax, ay, az] = a;
2225
- const [bw, bx, by, bz] = b;
2226
- return [
2227
- aw * bw - ax * bx - ay * by - az * bz,
2228
- aw * bx + ax * bw + ay * bz - az * by,
2229
- aw * by - ax * bz + ay * bw + az * bx,
2230
- aw * bz + ax * by - ay * bx + az * bw
2231
- ];
2232
- }
2233
- //#endregion
2234
2146
  //#region src/kernel/solverAdapter.ts
2235
2147
  /**
2236
2148
  * Constraint solver adapter — analytical solver for simple assembly mates.
@@ -2630,191 +2542,6 @@ function solveAssembly(assembly) {
2630
2542
  }
2631
2543
  }
2632
2544
  //#endregion
2633
- //#region src/operations/jointFns.ts
2634
- var DEG2RAD$1 = Math.PI / 180;
2635
- function clamp(value, min, max) {
2636
- return Math.min(max, Math.max(min, value));
2637
- }
2638
- function unit(v) {
2639
- const l = Math.hypot(v[0], v[1], v[2]) || 1;
2640
- return [
2641
- v[0] / l,
2642
- v[1] / l,
2643
- v[2] / l
2644
- ];
2645
- }
2646
- function makeJoint(type, parent, child, axis, opts, defMin, defMax) {
2647
- const a = opts.min ?? defMin;
2648
- const b = opts.max ?? defMax;
2649
- const min = Math.min(a, b);
2650
- const max = Math.max(a, b);
2651
- return {
2652
- type,
2653
- parent,
2654
- child,
2655
- axis: {
2656
- origin: axis.origin,
2657
- direction: unit(axis.direction)
2658
- },
2659
- min,
2660
- max,
2661
- value: clamp(opts.value ?? 0, min, max)
2662
- };
2663
- }
2664
- /** A revolute (hinge) joint — the child rotates about `axis` by `value` degrees. */
2665
- function revoluteJoint(parent, child, axis, opts = {}) {
2666
- return makeJoint("revolute", parent, child, axis, opts, -180, 180);
2667
- }
2668
- /**
2669
- * A prismatic (slider) joint — the child translates along `axis` by `value`
2670
- * units. Only `axis.direction` is used; `axis.origin` is ignored (a pure
2671
- * translation has no anchor point), unlike a revolute joint which rotates about
2672
- * the axis line through `origin`.
2673
- */
2674
- function prismaticJoint(parent, child, axis, opts = {}) {
2675
- return makeJoint("prismatic", parent, child, axis, opts, 0, 100);
2676
- }
2677
- /** Return a copy of `joint` with its drivable parameter set (clamped to range). */
2678
- function setJointValue(joint, value) {
2679
- return {
2680
- ...joint,
2681
- value: clamp(value, joint.min, joint.max)
2682
- };
2683
- }
2684
- /**
2685
- * The child's local rigid transform (relative to the parent) for a joint value.
2686
- * Defaults to the joint's stored value; an explicit value is clamped to range.
2687
- *
2688
- * - **revolute**: rotation of `value` degrees about the axis line. Rotating
2689
- * about a line through `origin` is `p ↦ R·p + (origin − R·origin)`.
2690
- * - **prismatic**: translation of `value` units along the axis direction.
2691
- */
2692
- function jointTransform(joint, value = joint.value) {
2693
- const v = clamp(value, joint.min, joint.max);
2694
- const dir = unit(joint.axis.direction);
2695
- if (joint.type === "prismatic") return {
2696
- position: [
2697
- dir[0] * v,
2698
- dir[1] * v,
2699
- dir[2] * v
2700
- ],
2701
- rotation: [
2702
- 1,
2703
- 0,
2704
- 0,
2705
- 0
2706
- ]
2707
- };
2708
- const rotation = quatFromAxisAngle(dir, v * DEG2RAD$1);
2709
- const o = joint.axis.origin;
2710
- const ro = quatRotate(rotation, o);
2711
- return {
2712
- position: [
2713
- o[0] - ro[0],
2714
- o[1] - ro[1],
2715
- o[2] - ro[2]
2716
- ],
2717
- rotation
2718
- };
2719
- }
2720
- /** Attach a joint to an assembly node. Returns a new node (immutable). */
2721
- function addJoint(assembly, joint) {
2722
- const existing = assembly.joints ?? [];
2723
- return {
2724
- ...assembly,
2725
- joints: [...existing, joint]
2726
- };
2727
- }
2728
- var IDENTITY_POSE = {
2729
- position: [
2730
- 0,
2731
- 0,
2732
- 0
2733
- ],
2734
- rotation: [
2735
- 1,
2736
- 0,
2737
- 0,
2738
- 0
2739
- ]
2740
- };
2741
- /** Compose two poses: the result applies `b` in `a`'s frame (`a ∘ b`). */
2742
- function composePose(a, b) {
2743
- const rb = quatRotate(a.rotation, b.position);
2744
- return {
2745
- position: [
2746
- a.position[0] + rb[0],
2747
- a.position[1] + rb[1],
2748
- a.position[2] + rb[2]
2749
- ],
2750
- rotation: quatMultiply(a.rotation, b.rotation)
2751
- };
2752
- }
2753
- /** Collect every joint attached anywhere in the assembly tree. */
2754
- function collectJoints(assembly) {
2755
- const joints = [];
2756
- walkAssembly(assembly, (node) => {
2757
- if (node.joints) joints.push(...node.joints);
2758
- });
2759
- return joints;
2760
- }
2761
- /**
2762
- * Forward kinematics: set joint values and propagate world poses down the
2763
- * kinematic chain. Each joint's axis is interpreted in its **parent's** frame,
2764
- * so a child's world pose is `parentWorld ∘ jointTransform(joint, value)`.
2765
- *
2766
- * Bodies not driven by a joint (chain roots) start at the origin. `jointValues`
2767
- * overrides a joint's stored value, keyed by the **child** node name; omitted
2768
- * joints use `joint.value`. Resolution is topological (reuses the Phase-0
2769
- * ordering), so chains of any depth compose. Returns a world pose for every node.
2770
- */
2771
- function forwardKinematics(assembly, jointValues = {}) {
2772
- const joints = [];
2773
- const names = /* @__PURE__ */ new Set();
2774
- walkAssembly(assembly, (node) => {
2775
- names.add(node.name);
2776
- if (node.joints) joints.push(...node.joints);
2777
- });
2778
- const byChild = /* @__PURE__ */ new Map();
2779
- for (const j of joints) {
2780
- byChild.set(j.child, j);
2781
- names.add(j.parent);
2782
- names.add(j.child);
2783
- }
2784
- const poses = /* @__PURE__ */ new Map();
2785
- for (const name of names) if (!byChild.has(name)) poses.set(name, IDENTITY_POSE);
2786
- const pending = [...joints];
2787
- let progress = true;
2788
- while (progress && pending.length > 0) {
2789
- progress = false;
2790
- for (let i = pending.length - 1; i >= 0; i--) {
2791
- const j = pending[i];
2792
- if (!j) continue;
2793
- const parentPose = poses.get(j.parent);
2794
- if (!parentPose) continue;
2795
- pending.splice(i, 1);
2796
- progress = true;
2797
- if (poses.has(j.child)) continue;
2798
- const value = jointValues[j.child] ?? j.value;
2799
- poses.set(j.child, composePose(parentPose, jointTransform(j, value)));
2800
- }
2801
- }
2802
- for (const j of pending) if (!poses.has(j.child)) poses.set(j.child, IDENTITY_POSE);
2803
- return poses;
2804
- }
2805
- var JOINT_FREEDOM = {
2806
- revolute: 1,
2807
- prismatic: 1
2808
- };
2809
- /**
2810
- * Open-chain mobility — the number of independent degrees of freedom. Each
2811
- * revolute/prismatic joint contributes 1, so for a serial chain this equals the
2812
- * joint count. (Closed-loop Grübler/Kutzbach analysis is future work.)
2813
- */
2814
- function mechanismDOF(assembly) {
2815
- return collectJoints(assembly).reduce((sum, j) => sum + JOINT_FREEDOM[j.type], 0);
2816
- }
2817
- //#endregion
2818
2545
  //#region src/measurement/interferenceFns.ts
2819
2546
  /**
2820
2547
  * Interference detection between shapes.
@@ -6584,4 +6311,4 @@ var csg_exports = /* @__PURE__ */ __exportAll({
6584
6311
  withEvaluator: () => withEvaluator
6585
6312
  });
6586
6313
  //#endregion
6587
- export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addJoint, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, 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, createDistanceQuery, createEdge, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createWire, createWorkerClient, createWorkerHandler, 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, 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, extrude, extrudeAll, face, faceAxis, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, 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, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, init, initFromManifold, initFromOC, initVoxel, innerWires, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, ioNs_exports as io, ioError, is2D, is3D, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, jointTransform, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mechanismDOF, mesh, meshEdges, 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, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, prismaticJoint, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDirection, resolvePlane, resolveRef, 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, 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, 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, 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, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
6314
+ export { BaseSketcher2d, BlueprintSketcher, BrepBugError, BrepErrorCode, BrepWrapperError, BrepkitAdapter, CompoundSketch, DEFAULT_CAPABILITIES, DEG2RAD, DisposalScope, EXACT_BREP_CAPABILITIES, FaceSketcher, HASH_CODE_MAX, OK, OcctWasmAdapter, RAD2DEG, Sketch, Sketcher, Sketches, addChild, addHoles, addJoint, addMate, addStep, adjacentFaces, all, andThen, applyGlue, applyMatrix, approximateCurve, as2D, as3D, asTopo, assignRoles, autoHeal, bezier, 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, createDistanceQuery, createEdge, createFace, createHandle, createHistory, createKernelHandle, createMeshCache, createNamedPlane, createOperationRegistry, createPlane, createRef, createRegistry, createShell, createSolid, createTaskQueue, createVertex, createWire, createWorkerClient, createWorkerHandler, 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, extrude, extrudeAll, face, faceAxis, faceCenter, faceFinder, faceGeomType, faceOrientation, facesOfEdge, 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, guidedSweep, heal, healFace, healSolid, healWire, helix, hull, importDXF, importGLB, importIGES, importOBJ, importSTEP, importSTL, importSVG, importSVGPathD, importThreeMF, init, initFromManifold, initFromOC, initVoxel, innerWires, interpolateCurve, intersect, intersect2D, intersectBlueprints, intersectWithEvolution, invalidateShapeCache, ioNs_exports as io, ioError, is2D, is3D, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isLive, isManifoldShell, isNumber, isOk, isOperationRequest, isOrientedFace, isPlanarFace, isPlanarWire, isProjectionPlane, isEmpty$1 as isQueueEmpty, isSameShape, isShape1D, isShape3D, isShell, isSolid, isSuccessResponse, isValid, isValidSolid, isVertex, isWire, iterCompSolids, iterEdges, iterFaces, iterShells, iterSolids, iterTopo, iterVertices, iterWires, jointTransform, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, loft, loftAll, makeBaseBox, makeExternalGear, makeInternalGear, makePlane, makePlanetaryGear, makeProjectedEdges, manifoldShell, map, mapBoth, mapErr, match, measureArea, measureCurvatureAt, measureCurvatureAtMid, measureDistance, measureDistanceProps, measureLength, measureLinearProps, measureSurfaceProps, measureVolume, measureVolumeProps, measurement_exports as measurement, mechanismDOF, mesh, meshEdges, meshMultiLOD, minkowski, mirror, mirror2D, mirrorDrawing, mirrorJoin, modifiers_exports as modifiers, modifyStep, moduleInitError, multiSectionSweep, normalAt, offset, offsetFace, offsetMesh, offsetShape, offsetWire2D, ok, or, orElse, organiseBlueprints, orientedFace, outerWire, patterns_exports as patterns, pendingCount, pipeline, pivotPlane, planarFace, planarJoint, planarWire, planetPlacements, pocket, pointOnSurface, pointsInside, polygon, polyhedron, polysideInnerRadius, polysidesBlueprint, positionOnCurve, prewarm, primitives_exports as primitives, prismaticJoint, projectEdges, projectPointOnFace, query_exports as query, queryError, rectangularPattern, registerHandler, registerKernel, registerKernelTier, registerOperation, registerShape, registerVoxel, rejectAll, removeChild, removeHolesFromFace, repairMesh, replayFrom, replayHistory, resetDisposalStats, resetPerformanceStats, resize, resolve, resolve3D, resolveDirection, resolvePlane, resolveRef, 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, 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, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CyTY0prh.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { A as ok, b as err, d as validationError } from "./errors-DNWJsfVU.js";
3
- import { s as getEdges } from "./topologyQueryFns-BomrmBie.js";
3
+ import { s as getEdges } from "./topologyQueryFns-CqjEReSt.js";
4
4
  import { c as vecLength, d as vecNormalize, g as vecSub, r as vecCross } from "./vecOps-SKPRvPH-.js";
5
5
  //#region src/projection/projectionPlanes.ts
6
6
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
4
4
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
5
5
  //#region src/projection/projectionPlanes.ts
6
6
  /** Lookup table mapping each {@link ProjectionPlane} to its camera configuration. */
package/dist/core.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
3
3
  const require_errors = require("./errors-CXJtc4I7.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
5
  const require_types = require("./types-KjA8tY4Y.cjs");
package/dist/core.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, R as DisposalScope, S as isManifoldShell, _ as isSolid, b as closedWire, d as isCompound, f as isEdge, g as isShell, h as isShape3D, j as validSolid, m as isShape1D, p as isFace, q as withScopeResult, t as castShape, v as isVertex, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-CyTY0prh.js";
1
+ import { B as createKernelHandle, C as isOrientedFace, D as manifoldShell, E as isValidSolid, H as isLive, I as is2D, J as withScopeResultAsync, K as withScope, L as is3D, M as getShapeKind, O as orientedFace, R as DisposalScope, S as isManifoldShell, _ as isSolid, b as closedWire, d as isCompound, f as isEdge, g as isShell, h as isShape3D, j as validSolid, m as isShape1D, p as isFace, q as withScopeResult, t as castShape, v as isVertex, x as isClosedWire, y as isWire, z as createHandle } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { A as ok, B as unwrapOr, E as map, I as tryCatch, L as tryCatchAsync, O as mapErr, R as unwrap, T as isOk, V as unwrapOrElse, a as moduleInitError, b as err, c as sketcherStateError, d as validationError, g as OK, h as bug, i as kernelError, k as match, l as typeCastError, m as BrepBugError, n as computationError, o as queryError, r as ioError, u as unsupportedError, v as andThen, w as isErr, x as flatMap, y as collect, z as unwrapErr } from "./errors-DNWJsfVU.js";
3
3
  import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-ITRzCnCp.js";
4
4
  import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-D24Y27N0.js";
@@ -1,6 +1,6 @@
1
1
  const require_constants = require("./constants-BOVyEYGH.cjs");
2
2
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
3
- const require_helpers = require("./helpers-DTBDjbdR.cjs");
3
+ const require_helpers = require("./helpers-B8mE35Fm.cjs");
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,6 +1,6 @@
1
1
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
2
2
  import { n as getAtOrThrow } from "./arrayAccess-DrUGPADn.js";
3
- import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-C78MY-s6.js";
3
+ import { _ as samePoint, p as distance2d, u as angle2d } from "./helpers-CD8EMZ5l.js";
4
4
  //#region src/query/cornerFinder.ts
5
5
  var PI_2 = 2 * Math.PI;
6
6
  function positiveHalfAngle(angle) {
@@ -1,4 +1,4 @@
1
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
3
  //#region src/topology/curveFns.ts
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Z as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-CyTY0prh.js";
1
+ import { Z as getKernel, f as isEdge, t as castShape, y as isWire } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { A as ok, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
3
  //#region src/topology/curveFns.ts
4
4
  /**
@@ -1,22 +1,22 @@
1
- const require_textBlueprints = require("./textBlueprints-SKuamOmI.cjs");
2
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_textBlueprints = require("./textBlueprints-CI3k7Izc.cjs");
2
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
3
3
  const require_vec3 = require("./vec3-CFwOI0ZI.cjs");
4
4
  const require_errors = require("./errors-CXJtc4I7.cjs");
5
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
5
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
6
6
  const require_constants = require("./constants-BOVyEYGH.cjs");
7
7
  const require_types = require("./types-KjA8tY4Y.cjs");
8
8
  const require_vecOps = require("./vecOps-CCnJt-yH.cjs");
9
9
  const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
10
- const require_faceFns = require("./faceFns-p0lyVuyw.cjs");
11
- const require_curveFns = require("./curveFns-C0oCmjV2.cjs");
10
+ const require_faceFns = require("./faceFns-0sI6cbHe.cjs");
11
+ const require_curveFns = require("./curveFns-Ca59CNS0.cjs");
12
12
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
13
- const require_surfaceBuilders = require("./surfaceBuilders-CPHOXRLE.cjs");
14
- const require_blueprintSketcher = require("./blueprintSketcher-D75tuXkF.cjs");
15
- const require_helpers = require("./helpers-DTBDjbdR.cjs");
16
- const require_blueprint = require("./blueprint-BE93BNYE.cjs");
17
- const require_cornerFinder = require("./cornerFinder-KuLU-4pQ.cjs");
18
- const require_boolean2D = require("./boolean2D-C4Txi8U1.cjs");
19
- const require_cameraFns = require("./cameraFns-DfSRnD1k.cjs");
13
+ const require_surfaceBuilders = require("./surfaceBuilders-B8aVZamB.cjs");
14
+ const require_blueprintSketcher = require("./blueprintSketcher-BJPBKhF3.cjs");
15
+ const require_helpers = require("./helpers-B8mE35Fm.cjs");
16
+ const require_blueprint = require("./blueprint-B59GQsSD.cjs");
17
+ const require_cornerFinder = require("./cornerFinder-Ey3oibK1.cjs");
18
+ const require_boolean2D = require("./boolean2D-B1Di3Bpn.cjs");
19
+ const require_cameraFns = require("./cameraFns-BZ_8L3gd.cjs");
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -1,22 +1,22 @@
1
- import { R as DisposalScope, Y as _usingCtx, Z as getKernel, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-CyTY0prh.js";
1
+ import { R as DisposalScope, Y as _usingCtx, Z as getKernel, a as createEdge, o as createFace, u as createWire } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { n as wasmIndex } from "./vec3-Dpha8d5k.js";
3
3
  import { R as unwrap, h as bug, s as safeIndex } from "./errors-DNWJsfVU.js";
4
- import { s as getEdges } from "./topologyQueryFns-BomrmBie.js";
4
+ import { s as getEdges } from "./topologyQueryFns-CqjEReSt.js";
5
5
  import { t as DEG2RAD } from "./constants-ITRzCnCp.js";
6
6
  import { r as toVec3 } from "./types-D24Y27N0.js";
7
7
  import { d as vecNormalize, g as vecSub, h as vecScale, m as vecRotate, r as vecCross } from "./vecOps-SKPRvPH-.js";
8
8
  import { a as planeToWorld, o as resolvePlane } from "./planeOps-DSjjtrjg.js";
9
- import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as downcast } from "./faceFns-BJ2hzXJp.js";
10
- import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-B4KEYU1M.js";
9
+ import { d as pointOnSurface, l as normalAt, m as uvBounds, r as faceCenter, u as outerWire, v as downcast } from "./faceFns-Cuxdy-7R.js";
10
+ import { h as offsetWire2D, i as curveIsClosed, l as curveStartPoint } from "./curveFns-CoD5E2Vl.js";
11
11
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
12
- import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-Do0rypyD.js";
13
- import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-DL-wgnVs.js";
14
- import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-C78MY-s6.js";
15
- import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-BVe9JU-L.js";
16
- import { t as cornerFinder } from "./cornerFinder-DPkLU1Of.js";
17
- import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-OtHT7POp.js";
18
- import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-C3IbySW_.js";
19
- import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-DCXqzH_m.js";
12
+ import { c as makeBSplineApproximation, d as makeCircle, f as makeEllipse, m as makeHelix, r as makeFace, s as assembleWire } from "./surfaceBuilders-hTXdNCYm.js";
13
+ import { a as Blueprints, c as make2dOffset, i as CompoundBlueprint, l as intersectCurves, n as BaseSketcher2d, o as chamferCurves, s as filletCurves, u as Flatbush } from "./blueprintSketcher-EYqKWQh0.js";
14
+ import { _ as samePoint$1, b as subtract2d, c as PRECISION_OFFSET, l as add2d, y as squareDistance2d } from "./helpers-CD8EMZ5l.js";
15
+ import { _ as Curve2D, a as edgeToCurve, c as make2dCircle, d as make2dInerpolatedBSplineCurve, f as make2dSegmentCurve, g as approximateAsSvgCompatibleCurve, i as curvesAsEdgesOnPlane, l as make2dEllipse, o as make2dArcFromCenter, t as Blueprint, v as deserializeCurve2D, y as BoundingBox2d } from "./blueprint-BQmmwEKa.js";
16
+ import { t as cornerFinder } from "./cornerFinder-Fi7obttG.js";
17
+ import { c as roundedRectangleBlueprint, n as fuse2D, r as intersect2D, s as polysidesBlueprint, t as cut2D } from "./boolean2D-COHH5tLX.js";
18
+ import { _ as wrapSketchDataArray, a as Sketch, g as wrapSketchData, i as Sketches, t as textBlueprints } from "./textBlueprints-BpqDGwdx.js";
19
+ import { i as projectEdges, t as cameraFromPlane } from "./cameraFns-BMrhkkOV.js";
20
20
  //#region src/2d/lib/stitching.ts
21
21
  /**
22
22
  * Group a flat list of curves into connected chains by matching endpoints.
@@ -1,6 +1,6 @@
1
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
4
4
  const require_types = require("./types-KjA8tY4Y.cjs");
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,6 +1,6 @@
1
- import { Z as getKernel, t as castShape } from "./shapeTypes-CyTY0prh.js";
1
+ import { Z as getKernel, t as castShape } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { A as ok, R as unwrap, b as err, l as typeCastError } from "./errors-DNWJsfVU.js";
3
- import { a as getCachedSurfaceType } from "./topologyQueryFns-BomrmBie.js";
3
+ import { a as getCachedSurfaceType } from "./topologyQueryFns-CqjEReSt.js";
4
4
  import { r as toVec3 } from "./types-D24Y27N0.js";
5
5
  //#region src/topology/cast.ts
6
6
  var TOPO_ENUM = {
@@ -1,11 +1,11 @@
1
- const require_shapeTypes = require("./shapeTypes-CxSqNvHA.cjs");
1
+ const require_shapeTypes = require("./shapeTypes-DWxL75W3.cjs");
2
2
  const require_errors = require("./errors-CXJtc4I7.cjs");
3
- const require_topologyQueryFns = require("./topologyQueryFns-Dzxrwn-E.cjs");
3
+ const require_topologyQueryFns = require("./topologyQueryFns-DfOxu8tG.cjs");
4
4
  const require_constants = require("./constants-BOVyEYGH.cjs");
5
- const require_faceFns = require("./faceFns-p0lyVuyw.cjs");
6
- const require_shapeFns = require("./shapeFns-D5WNrq3s.cjs");
5
+ const require_faceFns = require("./faceFns-0sI6cbHe.cjs");
6
+ const require_shapeFns = require("./shapeFns-CecvqmYJ.cjs");
7
7
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
8
- const require_primitiveFns = require("./primitiveFns-JRmXxbRr.cjs");
8
+ const require_primitiveFns = require("./primitiveFns-DEBQdEkG.cjs");
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.
@@ -1,11 +1,11 @@
1
- import { Z as getKernel, _ as isSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, y as isWire } from "./shapeTypes-CyTY0prh.js";
1
+ import { Z as getKernel, _ as isSolid, h as isShape3D, p as isFace, r as castShapeWithKnownType, t as castShape, y as isWire } from "./shapeTypes-DfQi9Kvk.js";
2
2
  import { A as ok, T as isOk, b as err, d as validationError, i as kernelError, l as typeCastError, t as BrepErrorCode, w as isErr } from "./errors-DNWJsfVU.js";
3
- import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-BomrmBie.js";
3
+ import { c as getFaces, i as getCachedIsValid, l as getOrCreateCache, m as invalidateShapeCache, p as getWires, s as getEdges } from "./topologyQueryFns-CqjEReSt.js";
4
4
  import { n as HASH_CODE_MAX } from "./constants-ITRzCnCp.js";
5
- import { v as downcast } from "./faceFns-BJ2hzXJp.js";
6
- import { _ as propagateAllMetadata, g as collectInputFaceHashes } from "./shapeFns-DZ6poxP7.js";
5
+ import { v as downcast } from "./faceFns-Cuxdy-7R.js";
6
+ import { _ as propagateAllMetadata, g as collectInputFaceHashes } from "./shapeFns-BzlBMNRO.js";
7
7
  import { t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
8
- import { A as cutAll, M as fuseAll, j as fuse, k as cut } from "./primitiveFns-BxH5omw3.js";
8
+ import { A as cutAll, M as fuseAll, j as fuse, k as cut } from "./primitiveFns-BSKbI4Kl.js";
9
9
  //#region src/topology/threeHelpers.ts
10
10
  /**
11
11
  * Convert a ShapeMesh into BufferGeometry-compatible typed arrays.