brepjs 20.5.0 → 20.6.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.
- package/README.md +1 -0
- package/dist/2d.cjs +9 -11
- package/dist/2d.js +9 -11
- package/dist/{adjacencyFns-1rxgJ6Hw.cjs → adjacencyFns-CmNvIFu1.cjs} +5 -6
- package/dist/{adjacencyFns-DeyXahej.js → adjacencyFns-DO9_F2YJ.js} +5 -6
- package/dist/{arrayAccess-DrUGPADn.js → arrayAccess-BpgouNir.js} +1 -2
- package/dist/{arrayAccess-e4H9cBfh.cjs → arrayAccess-DpJYARwv.cjs} +1 -2
- package/dist/{blueprint-Yyoiz-U1.cjs → blueprint-Ci2Mw5v-.cjs} +24 -37
- package/dist/{blueprint-rwJjYPzo.js → blueprint-DHKul4EN.js} +24 -37
- package/dist/{blueprintFns-Ce6OoPSX.cjs → blueprintFns-CbJPSd5r.cjs} +5 -7
- package/dist/{blueprintFns-Q3Sq-Fse.js → blueprintFns-D68_PxRl.js} +5 -7
- package/dist/{blueprintSketcher-FywUpRiV.js → blueprintSketcher-j9vJAniE.js} +19 -31
- package/dist/{blueprintSketcher-CzKbxeTk.cjs → blueprintSketcher-pVbM0BHf.cjs} +19 -31
- package/dist/{boolean2D-D8igCYc9.js → boolean2D-D6Oc8tBx.js} +13 -19
- package/dist/{boolean2D-BzZ9iBSn.cjs → boolean2D-Dq29HCr9.cjs} +13 -19
- package/dist/brepjs.cjs +113 -187
- package/dist/brepjs.js +113 -188
- package/dist/{bug-O02CsAmt.cjs → bug-CBcpIPuf.cjs} +2 -4
- package/dist/{bug-BdOHwn_e.js → bug-ClMTAJhe.js} +2 -4
- package/dist/{cameraFns-RHCb1F1s.cjs → cameraFns-BMXugx7m.cjs} +8 -11
- package/dist/{cameraFns-Cs6v3bWQ.js → cameraFns-DVZkA2eq.js} +8 -11
- package/dist/{constants-ITRzCnCp.js → constants-iraOnb2p.js} +1 -2
- package/dist/{constants-BOVyEYGH.cjs → constants-oee0S_x6.cjs} +1 -2
- package/dist/core.cjs +8 -8
- package/dist/core.js +8 -8
- package/dist/{cornerFinder-Dlae8IX5.js → cornerFinder-DSnn8gRP.js} +4 -5
- package/dist/{cornerFinder-Cji_BK-R.cjs → cornerFinder-DshfhGHG.cjs} +4 -5
- package/dist/{curveFns-KS1BWGhF.js → curveFns-CEb6TLxC.js} +3 -4
- package/dist/{curveFns-6-ULFrEB.cjs → curveFns-Cxq5lFqU.cjs} +3 -4
- package/dist/{drawFns-Ddlgp9gQ.cjs → drawFns-CH0q-0JP.cjs} +32 -45
- package/dist/{drawFns-3yRVBDgI.js → drawFns-DMhKXGgG.js} +32 -45
- package/dist/{errors-Zb3jBa0u.js → errors-B3espUT6.js} +3 -5
- package/dist/{errors-jwhfQJZK.cjs → errors-DoMAp7mQ.cjs} +3 -5
- package/dist/{faceFns-CZeHWke7.cjs → faceFns-B8ctN5Te.cjs} +6 -8
- package/dist/{faceFns-CTlJC5IY.js → faceFns-C-wc4fX-.js} +6 -8
- package/dist/{faceRoleFns-CWU1-Pm8.js → faceRoleFns-BPxzQF-n.js} +1 -2
- package/dist/{faceRoleFns-CtH_48MO.cjs → faceRoleFns-Db5bYj4Q.cjs} +1 -2
- package/dist/{healingFns-Ct3gEMvk.js → healingFns-CJfuZMw2.js} +16 -25
- package/dist/{healingFns-DwSpJZfg.cjs → healingFns-D3mNy1rp.cjs} +16 -25
- package/dist/{helpers-BN1mVMuZ.js → helpers-BXoAMWe3.js} +15 -21
- package/dist/{helpers-NRZVshPb.cjs → helpers-BhHbDu6-.cjs} +15 -21
- package/dist/{importFns-BEi-HsSw.cjs → importFns-DHaw1x5R.cjs} +12 -19
- package/dist/{importFns-0kHGg-b8.js → importFns-YZyGYu_M.js} +12 -19
- package/dist/io.cjs +2 -2
- package/dist/io.js +2 -2
- package/dist/kernel/occtWasm/occtWasmAdapter.cjs +1 -1
- package/dist/kernel/occtWasm/occtWasmAdapter.js +1 -2
- package/dist/{loftFns-B5mq1WDh.js → loftFns-CTTia_cZ.js} +7 -10
- package/dist/{loftFns-DL9UsQhd.cjs → loftFns-DVr6PaTM.cjs} +7 -10
- package/dist/{measureFns-CyDVZomf.js → measureFns-BmdVG0_8.js} +6 -8
- package/dist/{measureFns-D_GpQw5z.cjs → measureFns-C6wgH_1a.cjs} +6 -8
- package/dist/measurement.cjs +2 -2
- package/dist/measurement.js +2 -2
- package/dist/{meshFns-CAxkaRTm.cjs → meshFns-r_p0RRoO.cjs} +6 -8
- package/dist/{meshFns-COlno8TY.js → meshFns-uNRS602U.js} +6 -8
- package/dist/{occtWasmAdapter-CA6PmIIj.cjs → occtWasmAdapter-CxSY6Ty2.cjs} +37 -56
- package/dist/{occtWasmAdapter-BX10fyla.js → occtWasmAdapter-cnV8J7Y-.js} +37 -56
- package/dist/operations.cjs +2 -2
- package/dist/operations.js +2 -2
- package/dist/{originTrackingFns-DiHy5BZC.js → originTrackingFns-BIa3TdgX.js} +4 -5
- package/dist/{originTrackingFns-CWo6NWHK.cjs → originTrackingFns-DgJ-MTtE.cjs} +4 -5
- package/dist/{planeOps-DJuclNxa.cjs → planeOps-BDt05NAD.cjs} +5 -6
- package/dist/{planeOps-Cxws4Tiu.js → planeOps-BkwaqhUj.js} +5 -6
- package/dist/{primitiveFns-ZV3aMbqG.cjs → primitiveFns-CktCbLBo.cjs} +8 -10
- package/dist/{primitiveFns-CGJzS4MO.js → primitiveFns-h_zOAbmf.js} +8 -10
- package/dist/{principalBoxFns-5FSbxAj-.cjs → principalBoxFns-28BQIeo8.cjs} +7 -8
- package/dist/{principalBoxFns-BJgGEoik.js → principalBoxFns-DkP-681E.js} +7 -8
- package/dist/projection.cjs +1 -1
- package/dist/projection.js +1 -2
- package/dist/query.cjs +2 -2
- package/dist/query.js +2 -2
- package/dist/{refResolveFns-CpVZoeOT.js → refResolveFns-DUDJqfOM.js} +14 -21
- package/dist/{refResolveFns-Ct52Uw7R.cjs → refResolveFns-fSzDZ1rx.cjs} +14 -21
- package/dist/result.cjs +2 -2
- package/dist/result.js +2 -2
- package/dist/{rolldown-runtime-C0BPl7ul.cjs → rolldown-runtime-BW-eSwOZ.cjs} +1 -2
- package/dist/{shapeFns--1wNlcc_.js → shapeFns-B5hzkmwe.js} +5 -6
- package/dist/{shapeFns-C2j6oZ2u.cjs → shapeFns-DKDlt3k2.cjs} +5 -6
- package/dist/shapeRef.cjs +1 -1
- package/dist/shapeRef.js +1 -2
- package/dist/{shapeTypes-CqNJoSam.js → shapeTypes-Bva18qvE.js} +81 -160
- package/dist/{shapeTypes-DH2ShBU_.cjs → shapeTypes-CkxvJRpq.cjs} +81 -160
- package/dist/sketching.cjs +4 -5
- package/dist/sketching.js +4 -5
- package/dist/{solidBuilders-CgicU3le.cjs → solidBuilders-BFEnqrU0.cjs} +17 -23
- package/dist/{solidBuilders-IstbiWju.js → solidBuilders-BpTN-NfM.js} +17 -23
- package/dist/{surfaceBuilders-vYgSvgI6.cjs → surfaceBuilders-CTk2lGlw.cjs} +8 -12
- package/dist/{surfaceBuilders-8nLk2PWk.js → surfaceBuilders-DAZCPa5O.js} +8 -12
- package/dist/text.cjs +2 -2
- package/dist/text.js +2 -2
- package/dist/{textBlueprints-fa7VHJZz.cjs → textBlueprints-DbEWBdhF.cjs} +24 -32
- package/dist/{textBlueprints-C13NAA3C.js → textBlueprints-DuwP72D6.js} +23 -31
- package/dist/{textMetrics--cikHkGX.cjs → textMetrics-CbNBlPsl.cjs} +4 -6
- package/dist/{textMetrics-Dcc63qRm.js → textMetrics-q6RSXX9Z.js} +4 -6
- package/dist/{threadFns-BUQPg_vI.cjs → threadFns-5FXCN-9R.cjs} +21 -33
- package/dist/{threadFns-3U9x4v_M.js → threadFns-BcsScbp4.js} +21 -33
- package/dist/topology.cjs +9 -9
- package/dist/topology.js +9 -9
- package/dist/{topologyQueryFns-q2bGyuEV.cjs → topologyQueryFns-C6HwYYpi.cjs} +6 -9
- package/dist/{topologyQueryFns-DnfjQgP7.js → topologyQueryFns-CY6YiGsk.js} +6 -9
- package/dist/{types-D24Y27N0.js → types-CKXsIm9-.js} +1 -2
- package/dist/{types-KjA8tY4Y.cjs → types-CjF9Rofr.cjs} +1 -2
- package/dist/{validityTypes-r0A2YdNq.cjs → validityTypes-D0IDDMbY.cjs} +3 -4
- package/dist/{validityTypes-t7JpS0Ki.js → validityTypes-MiXYsBZi.js} +3 -4
- package/dist/{vecOps-CCnJt-yH.cjs → vecOps-CrGEPPQM.cjs} +1 -2
- package/dist/{vecOps-SKPRvPH-.js → vecOps-S-m9H_fe.js} +1 -2
- package/dist/vectors.cjs +4 -4
- package/dist/vectors.js +4 -4
- package/dist/worker.cjs +1 -1
- package/dist/worker.js +1 -2
- package/dist/{workerPool-XcYX2UZ0.js → workerPool-Bc5hmJc4.js} +5 -10
- package/dist/{workerPool-D30NsiIW.cjs → workerPool-D5tiNXrI.cjs} +5 -10
- 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-
|
|
2
|
-
import { A as EXACT_BREP_CAPABILITIES, k as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-
|
|
3
|
-
import { i as wasmIndex, n as bug, t as BrepBugError } from "./bug-
|
|
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-
|
|
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-
|
|
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-
|
|
7
|
-
import { n as HASH_CODE_MAX, r as RAD2DEG, t as DEG2RAD } from "./constants-
|
|
8
|
-
import { n as toVec2, r as toVec3, t as resolveDirection } from "./types-
|
|
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-
|
|
10
|
-
import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s as translatePlane, t as createNamedPlane } from "./planeOps-
|
|
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-
|
|
12
|
-
import { i as setShapeOrigin, t as getFaceOrigins } from "./originTrackingFns-
|
|
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-
|
|
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-
|
|
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
|
|
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-
|
|
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-
|
|
18
|
-
import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-
|
|
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-
|
|
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-
|
|
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-
|
|
22
|
-
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-
|
|
23
|
-
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-
|
|
24
|
-
import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-
|
|
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-
|
|
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-
|
|
27
|
-
import { t as cornerFinder } from "./cornerFinder-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
35
|
-
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-
|
|
36
|
-
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-
|
|
37
|
-
import { t as principalBoundingBox } from "./principalBoxFns-
|
|
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-
|
|
39
|
-
|
|
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-Bva18qvE.js";
|
|
2
|
+
import { A as EXACT_BREP_CAPABILITIES, k as DEFAULT_CAPABILITIES, t as OcctWasmAdapter } from "./occtWasmAdapter-cnV8J7Y-.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-B3espUT6.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-CY6YiGsk.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-MiXYsBZi.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-BkwaqhUj.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-C-wc4fX-.js";
|
|
12
|
+
import { i as setShapeOrigin, t as getFaceOrigins } from "./originTrackingFns-BIa3TdgX.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-BpTN-NfM.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-h_zOAbmf.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-B5hzkmwe.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-CEb6TLxC.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-uNRS602U.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-DAZCPa5O.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-CJfuZMw2.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-BcsScbp4.js";
|
|
22
|
+
import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-j9vJAniE.js";
|
|
23
|
+
import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-BXoAMWe3.js";
|
|
24
|
+
import { _ as approximateAsSvgCompatibleCurve, o as ellipseArcFlags } from "./blueprint-DHKul4EN.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-DMhKXGgG.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-BmdVG0_8.js";
|
|
27
|
+
import { t as cornerFinder } from "./cornerFinder-DSnn8gRP.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-D6Oc8tBx.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-D68_PxRl.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-YZyGYu_M.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-DuwP72D6.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-CTTia_cZ.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-DUDJqfOM.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-DO9_F2YJ.js";
|
|
35
|
+
import { a as makeProjectedEdges, i as projectEdges, n as cameraLookAt, r as createCamera, s as isProjectionPlane, t as cameraFromPlane } from "./cameraFns-DVZkA2eq.js";
|
|
36
|
+
import { n as textMetrics, r as sketchText, t as fontMetrics } from "./textMetrics-q6RSXX9Z.js";
|
|
37
|
+
import { t as principalBoundingBox } from "./principalBoxFns-DkP-681E.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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 };
|