brepjs 18.104.0 → 18.105.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/dist/brepjs.cjs CHANGED
@@ -12,11 +12,11 @@ const require_planeOps = require("./planeOps-BA4HfgQu.cjs");
12
12
  const require_faceFns = require("./faceFns-DKg2St8b.cjs");
13
13
  const require_shapeFns = require("./shapeFns-L4a8kH_A.cjs");
14
14
  const require_curveFns = require("./curveFns-Dx7_wMut.cjs");
15
- const require_meshFns = require("./meshFns-DeKdpmu7.cjs");
15
+ const require_meshFns = require("./meshFns-DNDsv2vH.cjs");
16
16
  const require_arrayAccess = require("./arrayAccess-e4H9cBfh.cjs");
17
17
  const require_surfaceBuilders = require("./surfaceBuilders-FLnYYA70.cjs");
18
18
  const require_solidBuilders = require("./solidBuilders-CgRmJEdn.cjs");
19
- const require_healingFns = require("./healingFns-CM5mVMow.cjs");
19
+ const require_healingFns = require("./healingFns-OL0bBSSY.cjs");
20
20
  const require_threadFns = require("./threadFns-DGYdomjN.cjs");
21
21
  const require_blueprintSketcher = require("./blueprintSketcher-DCttG3KS.cjs");
22
22
  const require_helpers = require("./helpers-8zxf2gkc.cjs");
@@ -7096,6 +7096,7 @@ Object.defineProperty(exports, "measurement", {
7096
7096
  exports.mechanismDOF = require_threadFns.mechanismDOF;
7097
7097
  exports.mesh = mesh;
7098
7098
  exports.meshEdges = meshEdges;
7099
+ exports.meshLODs = require_meshFns.meshLODs;
7099
7100
  exports.meshMultiLOD = require_meshFns.meshMultiLOD;
7100
7101
  exports.minkowski = minkowski;
7101
7102
  exports.mirror = mirror;
@@ -7275,6 +7276,7 @@ exports.toBufferGeometryData = require_healingFns.toBufferGeometryData;
7275
7276
  exports.toGroupedBufferGeometryData = require_healingFns.toGroupedBufferGeometryData;
7276
7277
  exports.toKernelVec = toKernelVec;
7277
7278
  exports.toLODGeometryData = require_healingFns.toLODGeometryData;
7279
+ exports.toLODGeometryLevels = require_healingFns.toLODGeometryLevels;
7278
7280
  exports.toLineGeometryData = require_healingFns.toLineGeometryData;
7279
7281
  exports.toSVGPathD = require_blueprintFns.toSVGPathD;
7280
7282
  exports.toVec2 = require_types.toVec2;
package/dist/brepjs.js CHANGED
@@ -10,11 +10,11 @@ import { i as pivotPlane, n as createPlane, o as resolvePlane, r as makePlane, s
10
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-mo4ThIHz.js";
11
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-DyBbhU30.js";
12
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-CG05Jygr.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-CAAarhVm.js";
13
+ import { a as meshEdges$1, c as clearMeshCache, i as mesh$1, l as createMeshCache, n as exportSTEP, o as meshLODs, r as exportSTL, s as meshMultiLOD, t as exportIGES } from "./meshFns-DoVH8EPW.js";
14
14
  import { n as getAtOrThrow, r as lastOrThrow, t as firstOrThrow } from "./arrayAccess-DrUGPADn.js";
15
15
  import { _ as makeThreePointArc, d as makeCircle, h as makeLine, l as makeBSplineInterpolation, n as fill, r as makeFace, s as assembleWire } from "./surfaceBuilders-Bww4jhBo.js";
16
16
  import { _ as section$1, b as split$1, d as booleanPipeline, f as cut$2, g as intersect$2, h as fuseAll$2, m as fuse$2, p as cutAll$2, r as makeCylinder, t as makeCompound, v as sectionToFace$1, y as slice$1 } from "./solidBuilders-Biwv2cW3.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-Bb3eEBNm.js";
17
+ import { A as edgesOfFace, B as toLineGeometryData, 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 toLODGeometryLevels } from "./healingFns-C5AomW4j.js";
18
18
  import { A as setJointValue, B as findNode, C as cylindricalJoint, D as planarJoint, E as mechanismDOF, F as quatRotate, G as gridPattern, H as updateNode, I as addChild, J as createAssembly, K as linearPattern, L as collectShapes, M as sphericalJoint, N as quatFromAxisAngle, O as prismaticJoint, P as quatFromTo, R as countNodes, S as addJoint, T as jointTransform, U as walkAssembly, V as removeChild, W as circularPattern, _ 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 exportAssemblySTEP, 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 createAssemblyNode } from "./threadFns-8rKpQXiR.js";
19
19
  import { n as BaseSketcher2d, r as organiseBlueprints, t as BlueprintSketcher } from "./blueprintSketcher-CEQ8s7TD.js";
20
20
  import { a as createTypedFinder, i as wireFinder, n as edgeFinder, r as faceFinder, t as getSingleFace } from "./helpers-DT44wBAD.js";
@@ -6702,4 +6702,4 @@ var csg_exports = /* @__PURE__ */ __exportAll({
6702
6702
  withEvaluator: () => withEvaluator
6703
6703
  });
6704
6704
  //#endregion
6705
- 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, 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, 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, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isInstanced, 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, jointTrajectory, jointTransform, jointsFromDH, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, 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, 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 };
6705
+ 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, 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, 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, isChamferRadius, isClosedWire, isCompSolid, isCompound, isDisposeRequest, isEdge, isEmpty, isEqualShape, isErr, isErrorResponse, isFace, isFilletRadius, isInitRequest, isInside2D, isInstanced, 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, jointTrajectory, jointTransform, jointsFromDH, kernelCall, kernelCallRaw, kernelCallScoped, kernelError, latticeInfill, latticeInfillShape, line, linearPattern, loadFont, 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, 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, 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, voxelBoolean, voxelBooleanField, voxelBooleanFieldShapes, voxelBooleanShapes, voxelField, voxelFieldFromShape, walkAssembly, windingNumbers, wire, wireFinder, wireLoop, wiresOfFace, withKernel, withKernelDir, withKernelPnt, withKernelVec, withQuality, withScope, withScopeResult, withScopeResultAsync, withTier, zip as zipResults };
@@ -84,6 +84,29 @@ function toLODGeometryData(multiLOD, distances) {
84
84
  fineDistance: distances?.fine ?? 0
85
85
  };
86
86
  }
87
+ /**
88
+ * Convert N LOD meshes (from `meshLODs`, coarse → fine) into THREE.LOD level
89
+ * data. The finest level gets distance 0 and each coarser level steps out by
90
+ * `step`; pass `distances` (indexed coarse → fine) to set them explicitly.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const lod = new THREE.LOD();
95
+ * for (const { geometry, distance } of toLODGeometryLevels(meshLODs(shape))) {
96
+ * lod.addLevel(new THREE.Mesh(toBufferGeometry(geometry), mat), distance);
97
+ * }
98
+ * ```
99
+ */
100
+ function toLODGeometryLevels(lods, options) {
101
+ const step = options?.step ?? 50;
102
+ const distances = options?.distances;
103
+ if (distances && distances.length !== lods.length) throw new Error(`toLODGeometryLevels: distances must have one entry per level (got ${distances.length} for ${lods.length} levels)`);
104
+ const last = lods.length - 1;
105
+ return lods.map((lod, idx) => ({
106
+ geometry: toBufferGeometryData(lod.mesh),
107
+ distance: distances?.[idx] ?? (last - idx) * step
108
+ }));
109
+ }
87
110
  //#endregion
88
111
  //#region src/topology/chamferAngleFns.ts
89
112
  /**
@@ -1353,4 +1376,4 @@ function fixSelfIntersection(wire) {
1353
1376
  }
1354
1377
  }
1355
1378
  //#endregion
1356
- export { edgesOfFace as A, shellWithEvolution as C, getNurbsCurveData as D, fuseAllBisect as E, chamferDistAngle as F, toBufferGeometryData as I, toGroupedBufferGeometryData as L, sharedEdges as M, verticesOfEdge as N, getNurbsSurfaceData as O, wiresOfFace as P, toLODGeometryData as R, intersectWithEvolution as S, cutAllBisect as T, positionOnCurve as _, healFace as a, filletWithEvolution as b, isValid as c, draft as d, fillet as f, variableFillet as g, thicken as h, heal as i, facesOfEdge as j, adjacentFaces as k, solidFromShell as l, shell as m, fixSelfIntersection as n, healSolid as o, offset as p, fixShape as r, healWire as s, autoHeal as t, chamfer as u, chamferWithEvolution as v, checkBoolean as w, fuseWithEvolution as x, cutWithEvolution as y, toLineGeometryData as z };
1379
+ export { edgesOfFace as A, toLineGeometryData as B, shellWithEvolution as C, getNurbsCurveData as D, fuseAllBisect as E, chamferDistAngle as F, toBufferGeometryData as I, toGroupedBufferGeometryData as L, sharedEdges as M, verticesOfEdge as N, getNurbsSurfaceData as O, wiresOfFace as P, toLODGeometryData as R, intersectWithEvolution as S, cutAllBisect as T, positionOnCurve as _, healFace as a, filletWithEvolution as b, isValid as c, draft as d, fillet as f, variableFillet as g, thicken as h, heal as i, facesOfEdge as j, adjacentFaces as k, solidFromShell as l, shell as m, fixSelfIntersection as n, healSolid as o, offset as p, fixShape as r, healWire as s, autoHeal as t, chamfer as u, chamferWithEvolution as v, checkBoolean as w, fuseWithEvolution as x, cutWithEvolution as y, toLODGeometryLevels as z };
@@ -84,6 +84,29 @@ function toLODGeometryData(multiLOD, distances) {
84
84
  fineDistance: distances?.fine ?? 0
85
85
  };
86
86
  }
87
+ /**
88
+ * Convert N LOD meshes (from `meshLODs`, coarse → fine) into THREE.LOD level
89
+ * data. The finest level gets distance 0 and each coarser level steps out by
90
+ * `step`; pass `distances` (indexed coarse → fine) to set them explicitly.
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * const lod = new THREE.LOD();
95
+ * for (const { geometry, distance } of toLODGeometryLevels(meshLODs(shape))) {
96
+ * lod.addLevel(new THREE.Mesh(toBufferGeometry(geometry), mat), distance);
97
+ * }
98
+ * ```
99
+ */
100
+ function toLODGeometryLevels(lods, options) {
101
+ const step = options?.step ?? 50;
102
+ const distances = options?.distances;
103
+ if (distances && distances.length !== lods.length) throw new Error(`toLODGeometryLevels: distances must have one entry per level (got ${distances.length} for ${lods.length} levels)`);
104
+ const last = lods.length - 1;
105
+ return lods.map((lod, idx) => ({
106
+ geometry: toBufferGeometryData(lod.mesh),
107
+ distance: distances?.[idx] ?? (last - idx) * step
108
+ }));
109
+ }
87
110
  //#endregion
88
111
  //#region src/topology/chamferAngleFns.ts
89
112
  /**
@@ -1563,6 +1586,12 @@ Object.defineProperty(exports, "toLODGeometryData", {
1563
1586
  return toLODGeometryData;
1564
1587
  }
1565
1588
  });
1589
+ Object.defineProperty(exports, "toLODGeometryLevels", {
1590
+ enumerable: true,
1591
+ get: function() {
1592
+ return toLODGeometryLevels;
1593
+ }
1594
+ });
1566
1595
  Object.defineProperty(exports, "toLineGeometryData", {
1567
1596
  enumerable: true,
1568
1597
  get: function() {
package/dist/index.d.ts CHANGED
@@ -92,9 +92,9 @@ export { getCurveType, curveStartPoint, curveEndPoint, curvePointAt, curveTangen
92
92
  export { getNurbsCurveData, getNurbsSurfaceData } from './topology/nurbsFns.js';
93
93
  export type { NurbsCurveData, NurbsSurfaceData } from './kernel/types.js';
94
94
  export { getSurfaceType, faceGeomType, faceOrientation, flipFaceOrientation, uvBounds, pointOnSurface, uvCoordinates, normalAt, faceCenter, faceAxis, classifyPointOnFace, outerWire, innerWires, removeHolesFromFace, projectPointOnFace, type UVBounds, type PointProjectionResult, } from './topology/faceFns.js';
95
- export { exportSTEP, exportSTL, exportIGES, meshMultiLOD, type ShapeMesh, type EdgeMesh, type MeshOptions, type MultiLODMesh, } from './topology/meshFns.js';
95
+ export { exportSTEP, exportSTL, exportIGES, meshMultiLOD, meshLODs, type ShapeMesh, type EdgeMesh, type MeshOptions, type MultiLODMesh, type LODMesh, type MeshLODsOptions, } from './topology/meshFns.js';
96
96
  export { clearMeshCache, createMeshCache, type MeshCacheContext } from './topology/meshCache.js';
97
- export { toBufferGeometryData, toLineGeometryData, toGroupedBufferGeometryData, type BufferGeometryData, type LineGeometryData, type GroupedBufferGeometryData, type BufferGeometryGroup, toLODGeometryData, type LODGeometryData, } from './topology/threeHelpers.js';
97
+ export { toBufferGeometryData, toLineGeometryData, toGroupedBufferGeometryData, type BufferGeometryData, type LineGeometryData, type GroupedBufferGeometryData, type BufferGeometryGroup, toLODGeometryData, type LODGeometryData, toLODGeometryLevels, type LODGeometryLevel, } from './topology/threeHelpers.js';
98
98
  export { booleanPipeline, type BooleanOptions, type BooleanPipelineStep, } from './topology/booleanFns.js';
99
99
  export { fuseAllBisect, cutAllBisect, type BatchBisectResult, type BatchBisectTelemetry, } from './topology/booleanBatchFns.js';
100
100
  export { type PipelineOp } from './topology/booleanFns.js';
package/dist/io.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_meshFns = require("./meshFns-DeKdpmu7.cjs");
2
+ const require_meshFns = require("./meshFns-DNDsv2vH.cjs");
3
3
  const require_importFns = require("./importFns-B6hw9Nhx.cjs");
4
4
  exports.blueprintToDXF = require_importFns.blueprintToDXF;
5
5
  exports.exportDXF = require_importFns.exportDXF;
package/dist/io.js CHANGED
@@ -1,3 +1,3 @@
1
- import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-CAAarhVm.js";
1
+ import { n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-DoVH8EPW.js";
2
2
  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-CEczwPdN.js";
3
3
  export { blueprintToDXF, exportDXF, exportGlb, exportGltf, exportIGES, exportOBJ, exportSTEP, exportSTEPConfigured, exportSTL, exportThreeMF, importIGES, importSTEP, importSTL, importSVG, importSVGPathD };
@@ -314,6 +314,54 @@ function meshMultiLOD(shape, options) {
314
314
  })
315
315
  };
316
316
  }
317
+ function boundsDiagonal(shape) {
318
+ const b = require_topologyQueryFns.getBounds(shape);
319
+ const dx = b.xMax - b.xMin;
320
+ const dy = b.yMax - b.yMin;
321
+ const dz = b.zMax - b.zMin;
322
+ return Math.sqrt(dx * dx + dy * dy + dz * dz) || 1;
323
+ }
324
+ /**
325
+ * Mesh a shape at several levels of detail, coarse → fine.
326
+ *
327
+ * Tolerances are **scale-relative** by default: the finest level is a fraction
328
+ * (`relativeTolerance`) of the shape's bounding-box diagonal and each coarser
329
+ * level steps up by `spacing`×, so the same call gives sensible detail whether
330
+ * the part is millimetres or metres. Pass `tolerances` for absolute control.
331
+ * Each level goes through {@link mesh}, so levels are cached individually.
332
+ *
333
+ * @returns LOD levels ordered coarsest → finest.
334
+ * @see toLODGeometryLevels — convert to THREE.LOD geometry data
335
+ */
336
+ function meshLODs(shape, options = {}) {
337
+ const quality = require_shapeTypes.qualityDeflection();
338
+ const finestAngular = options.angularTolerance ?? quality.angularTolerance;
339
+ const cache = options.cache ?? true;
340
+ let tolerances;
341
+ if (options.tolerances && options.tolerances.length > 0) tolerances = [...options.tolerances];
342
+ else {
343
+ const levels = Math.max(1, Math.floor(options.levels ?? 3));
344
+ const spacing = options.spacing ?? 4;
345
+ const finest = (options.relativeTolerance ?? 5e-4) * boundsDiagonal(shape) || Number.EPSILON;
346
+ tolerances = [];
347
+ for (let i = levels - 1; i >= 0; i--) tolerances.push(finest * spacing ** i);
348
+ }
349
+ tolerances.sort((a, b) => b - a);
350
+ const finestTol = Math.min(...tolerances);
351
+ return tolerances.map((tolerance) => {
352
+ const angularTolerance = Math.min(finestAngular * (tolerance / finestTol), 1);
353
+ return {
354
+ tolerance,
355
+ angularTolerance,
356
+ mesh: mesh(shape, {
357
+ tolerance,
358
+ angularTolerance,
359
+ cache,
360
+ ...options.signal ? { signal: options.signal } : {}
361
+ })
362
+ };
363
+ });
364
+ }
317
365
  //#endregion
318
366
  Object.defineProperty(exports, "clearMeshCache", {
319
367
  enumerable: true,
@@ -357,6 +405,12 @@ Object.defineProperty(exports, "meshEdges", {
357
405
  return meshEdges;
358
406
  }
359
407
  });
408
+ Object.defineProperty(exports, "meshLODs", {
409
+ enumerable: true,
410
+ get: function() {
411
+ return meshLODs;
412
+ }
413
+ });
360
414
  Object.defineProperty(exports, "meshMultiLOD", {
361
415
  enumerable: true,
362
416
  get: function() {
@@ -314,5 +314,53 @@ function meshMultiLOD(shape, options) {
314
314
  })
315
315
  };
316
316
  }
317
+ function boundsDiagonal(shape) {
318
+ const b = getBounds(shape);
319
+ const dx = b.xMax - b.xMin;
320
+ const dy = b.yMax - b.yMin;
321
+ const dz = b.zMax - b.zMin;
322
+ return Math.sqrt(dx * dx + dy * dy + dz * dz) || 1;
323
+ }
324
+ /**
325
+ * Mesh a shape at several levels of detail, coarse → fine.
326
+ *
327
+ * Tolerances are **scale-relative** by default: the finest level is a fraction
328
+ * (`relativeTolerance`) of the shape's bounding-box diagonal and each coarser
329
+ * level steps up by `spacing`×, so the same call gives sensible detail whether
330
+ * the part is millimetres or metres. Pass `tolerances` for absolute control.
331
+ * Each level goes through {@link mesh}, so levels are cached individually.
332
+ *
333
+ * @returns LOD levels ordered coarsest → finest.
334
+ * @see toLODGeometryLevels — convert to THREE.LOD geometry data
335
+ */
336
+ function meshLODs(shape, options = {}) {
337
+ const quality = qualityDeflection();
338
+ const finestAngular = options.angularTolerance ?? quality.angularTolerance;
339
+ const cache = options.cache ?? true;
340
+ let tolerances;
341
+ if (options.tolerances && options.tolerances.length > 0) tolerances = [...options.tolerances];
342
+ else {
343
+ const levels = Math.max(1, Math.floor(options.levels ?? 3));
344
+ const spacing = options.spacing ?? 4;
345
+ const finest = (options.relativeTolerance ?? 5e-4) * boundsDiagonal(shape) || Number.EPSILON;
346
+ tolerances = [];
347
+ for (let i = levels - 1; i >= 0; i--) tolerances.push(finest * spacing ** i);
348
+ }
349
+ tolerances.sort((a, b) => b - a);
350
+ const finestTol = Math.min(...tolerances);
351
+ return tolerances.map((tolerance) => {
352
+ const angularTolerance = Math.min(finestAngular * (tolerance / finestTol), 1);
353
+ return {
354
+ tolerance,
355
+ angularTolerance,
356
+ mesh: mesh(shape, {
357
+ tolerance,
358
+ angularTolerance,
359
+ cache,
360
+ ...options.signal ? { signal: options.signal } : {}
361
+ })
362
+ };
363
+ });
364
+ }
317
365
  //#endregion
318
- export { meshEdges as a, createMeshCache as c, mesh as i, exportSTEP as n, meshMultiLOD as o, exportSTL as r, clearMeshCache as s, exportIGES as t };
366
+ export { meshEdges as a, clearMeshCache as c, mesh as i, createMeshCache as l, exportSTEP as n, meshLODs as o, exportSTL as r, meshMultiLOD as s, exportIGES as t };
@@ -93,3 +93,49 @@ export declare function meshMultiLOD(shape: AnyShape<Dimension>, options?: {
93
93
  readonly fineTolerance?: number | undefined;
94
94
  readonly angularTolerance?: number | undefined;
95
95
  }): MultiLODMesh;
96
+ /** One level of a multi-resolution mesh: the geometry plus the tolerances it was meshed at. */
97
+ export interface LODMesh {
98
+ /** Linear deflection (model units) used for this level. */
99
+ readonly tolerance: number;
100
+ /** Angular deflection (radians) used for this level. */
101
+ readonly angularTolerance: number;
102
+ /** The meshed geometry at this level. */
103
+ readonly mesh: ShapeMesh;
104
+ }
105
+ /** Options for {@link meshLODs}. */
106
+ export interface MeshLODsOptions {
107
+ /** Number of levels, coarsest → finest (>= 1). Default 3. Ignored when `tolerances` is given. */
108
+ readonly levels?: number;
109
+ /**
110
+ * The finest level's linear tolerance as a fraction of the shape's bounding-box
111
+ * diagonal, so detail is scale-invariant across part sizes. Default 0.0005
112
+ * (0.05% of the diagonal). Ignored when `tolerances` is given.
113
+ */
114
+ readonly relativeTolerance?: number;
115
+ /**
116
+ * Geometric ratio between successive levels: each coarser level's tolerance is
117
+ * `spacing`× the next finer one. Default 4. Ignored when `tolerances` is given.
118
+ */
119
+ readonly spacing?: number;
120
+ /** Explicit absolute linear tolerances (one per level). Overrides `levels`/`relativeTolerance`/`spacing`; sorted coarse → fine. */
121
+ readonly tolerances?: readonly number[];
122
+ /** The finest level's angular deflection (radians). Defaults to the active quality level; coarser levels scale up with the tolerance ratio (capped at 1 rad). */
123
+ readonly angularTolerance?: number;
124
+ /** Abort signal forwarded to each level's mesh call. */
125
+ readonly signal?: AbortSignal;
126
+ /** Whether to use the mesh cache per level. Default true. */
127
+ readonly cache?: boolean;
128
+ }
129
+ /**
130
+ * Mesh a shape at several levels of detail, coarse → fine.
131
+ *
132
+ * Tolerances are **scale-relative** by default: the finest level is a fraction
133
+ * (`relativeTolerance`) of the shape's bounding-box diagonal and each coarser
134
+ * level steps up by `spacing`×, so the same call gives sensible detail whether
135
+ * the part is millimetres or metres. Pass `tolerances` for absolute control.
136
+ * Each level goes through {@link mesh}, so levels are cached individually.
137
+ *
138
+ * @returns LOD levels ordered coarsest → finest.
139
+ * @see toLODGeometryLevels — convert to THREE.LOD geometry data
140
+ */
141
+ export declare function meshLODs(shape: AnyShape<Dimension>, options?: MeshLODsOptions): LODMesh[];
@@ -1,4 +1,4 @@
1
- import { ShapeMesh, EdgeMesh, MultiLODMesh } from './meshFns.js';
1
+ import { ShapeMesh, EdgeMesh, MultiLODMesh, LODMesh } from './meshFns.js';
2
2
  /** Data ready to be used with THREE.BufferGeometry. */
3
3
  export interface BufferGeometryData {
4
4
  /** Flat float array of vertex positions (x,y,z interleaved). */
@@ -91,3 +91,27 @@ export declare function toLODGeometryData(multiLOD: MultiLODMesh, distances?: {
91
91
  readonly coarse?: number | undefined;
92
92
  readonly fine?: number | undefined;
93
93
  }): LODGeometryData;
94
+ /** One LOD level of THREE.LOD-ready geometry: geometry plus its switch distance. */
95
+ export interface LODGeometryLevel {
96
+ /** Geometry for this level. */
97
+ readonly geometry: BufferGeometryData;
98
+ /** Camera distance at which THREE.LOD switches to this level (finest = 0). */
99
+ readonly distance: number;
100
+ }
101
+ /**
102
+ * Convert N LOD meshes (from `meshLODs`, coarse → fine) into THREE.LOD level
103
+ * data. The finest level gets distance 0 and each coarser level steps out by
104
+ * `step`; pass `distances` (indexed coarse → fine) to set them explicitly.
105
+ *
106
+ * @example
107
+ * ```ts
108
+ * const lod = new THREE.LOD();
109
+ * for (const { geometry, distance } of toLODGeometryLevels(meshLODs(shape))) {
110
+ * lod.addLevel(new THREE.Mesh(toBufferGeometry(geometry), mat), distance);
111
+ * }
112
+ * ```
113
+ */
114
+ export declare function toLODGeometryLevels(lods: ReadonlyArray<LODMesh>, options?: {
115
+ readonly distances?: readonly number[];
116
+ readonly step?: number;
117
+ }): LODGeometryLevel[];
package/dist/topology.cjs CHANGED
@@ -3,9 +3,9 @@ const require_topologyQueryFns = require("./topologyQueryFns-ygBBXxnP.cjs");
3
3
  const require_faceFns = require("./faceFns-DKg2St8b.cjs");
4
4
  const require_shapeFns = require("./shapeFns-L4a8kH_A.cjs");
5
5
  const require_curveFns = require("./curveFns-Dx7_wMut.cjs");
6
- const require_meshFns = require("./meshFns-DeKdpmu7.cjs");
6
+ const require_meshFns = require("./meshFns-DNDsv2vH.cjs");
7
7
  const require_solidBuilders = require("./solidBuilders-CgRmJEdn.cjs");
8
- const require_healingFns = require("./healingFns-CM5mVMow.cjs");
8
+ const require_healingFns = require("./healingFns-OL0bBSSY.cjs");
9
9
  const require_primitiveFns = require("./primitiveFns-BAWtMd9H.cjs");
10
10
  exports.addHoles = require_primitiveFns.addHoles;
11
11
  exports.adjacentFaces = require_healingFns.adjacentFaces;
package/dist/topology.js CHANGED
@@ -2,8 +2,8 @@ import { S as vertexPosition, _ as iterFaces, b as iterVertices, c as getFaces,
2
2
  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, r as faceCenter, s as getSurfaceType, t as classifyPointOnFace, u as outerWire, v as downcast, x as iterTopo, y as fromBREP } from "./faceFns-mo4ThIHz.js";
3
3
  import { a as isSameShape, i as isEqualShape, n as getHashCode } from "./shapeFns-DyBbhU30.js";
4
4
  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-CG05Jygr.js";
5
- import { c as createMeshCache, n as exportSTEP, r as exportSTL, s as clearMeshCache, t as exportIGES } from "./meshFns-CAAarhVm.js";
5
+ import { c as clearMeshCache, l as createMeshCache, n as exportSTEP, r as exportSTL, t as exportIGES } from "./meshFns-DoVH8EPW.js";
6
6
  import { h as fuseAll, p as cutAll } from "./solidBuilders-Biwv2cW3.js";
7
- 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, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as facesOfEdge, k as adjacentFaces, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution, z as toLineGeometryData } from "./healingFns-Bb3eEBNm.js";
7
+ import { A as edgesOfFace, B as toLineGeometryData, 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, S as intersectWithEvolution, T as cutAllBisect, _ as positionOnCurve, a as healFace, b as filletWithEvolution, g as variableFillet, j as facesOfEdge, k as adjacentFaces, l as solidFromShell, n as fixSelfIntersection, o as healSolid, r as fixShape, s as healWire, t as autoHeal, v as chamferWithEvolution, w as checkBoolean, x as fuseWithEvolution, y as cutWithEvolution } from "./healingFns-C5AomW4j.js";
8
8
  import { C as threePointArc, D as wireLoop, E as wire, S as tangentArc, T as vertex, _ as polygon, a as circle, b as sphere, c as cylinder, d as ellipsoid, f as face, g as offsetFace, h as line, i as bsplineApprox, l as ellipse, m as helix, n as bezier, o as compound, p as filledFace, r as box, s as cone, t as addHoles, u as ellipseArc, v as sewShells, w as torus, x as subFace, y as solid } from "./primitiveFns-62SO4ti5.js";
9
9
  export { addHoles, adjacentFaces, approximateCurve, asTopo, autoHeal, bezier, box, bsplineApprox, cast, chamferDistAngle as chamferDistAngleShape, chamferWithEvolution, checkBoolean, circle, classifyPointOnFace, clearMeshCache, compound, cone, createMeshCache, curveAxis, curveEndPoint, curveIsClosed, curveIsPeriodic, curveLength, curvePeriod, curvePointAt, curveStartPoint, curveTangentAt, cutAll, cutAllBisect, cutWithEvolution, cylinder, fromBREP as deserializeShape, downcast, edgesOfFace, ellipse, ellipseArc, ellipsoid, exportIGES, exportSTEP, exportSTL, face, faceAxis, faceCenter, faceGeomType, faceOrientation, facesOfEdge, filledFace, filletWithEvolution, fixSelfIntersection, fixShape, flipFaceOrientation, flipOrientation, fuseAll, fuseAllBisect, fuseWithEvolution, getBounds, getCurveType, getEdges, getFaces, getHashCode, getNurbsCurveData, getNurbsSurfaceData, getOrientation, getSurfaceType, getVertices, getWires, healFace, healSolid, healWire, helix, innerWires, interpolateCurve, intersectWithEvolution, invalidateShapeCache, isCompSolid, isEqualShape, isSameShape, iterEdges, iterFaces, iterTopo, iterVertices, iterWires, line, normalAt, offsetFace, offsetWire2D, outerWire, pointOnSurface, polygon, positionOnCurve, projectPointOnFace, sewShells, shapeType, sharedEdges, shellWithEvolution, solid, solidFromShell, sphere, subFace, tangentArc, threePointArc, toBufferGeometryData, toGroupedBufferGeometryData, toLineGeometryData, torus, uvBounds, uvCoordinates, variableFillet, vertex, vertexPosition, verticesOfEdge, wire, wireLoop, wiresOfFace };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brepjs",
3
- "version": "18.104.0",
3
+ "version": "18.105.0",
4
4
  "description": "Web CAD library with pluggable geometry kernel",
5
5
  "keywords": [
6
6
  "cad",