@metamesh/modeling 0.19.0 → 0.20.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/CHANGELOG.md +49 -0
- package/README.md +34 -18
- package/dist/api/engine.d.ts +217 -121
- package/dist/api/export.d.ts +123 -79
- package/dist/api/geometry.d.ts +406 -2102
- package/dist/api/index.d.ts +472 -1798
- package/dist/api/math.d.ts +315 -0
- package/dist/api/mechanical.d.ts +1041 -0
- package/dist/api/mesh.d.ts +360 -88
- package/dist/api/text.d.ts +24 -44
- package/dist/docs/guides/concepts.md +67 -33
- package/dist/docs/guides/exporting.md +88 -0
- package/dist/docs/guides/fonts.md +5 -3
- package/dist/docs/guides/fundamentals.md +12 -24
- package/dist/docs/guides/generation.md +24 -16
- package/dist/docs/guides/geometry-values.md +192 -134
- package/dist/docs/guides/hosting.md +51 -96
- package/dist/docs/guides/profiles-and-extrusion.md +159 -11
- package/dist/docs/guides/recipes.md +121 -28
- package/dist/docs/guides/resolution-and-inspection.md +43 -23
- package/dist/docs/guides/solid-joins.md +12 -2
- package/dist/docs/guides/standalone-model.md +4 -2
- package/dist/docs/guides/svg-and-text.md +76 -39
- package/dist/docs/guides/sweeps-and-lofts.md +88 -44
- package/dist/docs/guides/transforms-and-placement.md +113 -103
- package/dist/docs/guides/workers.md +166 -0
- package/dist/docs/manifest.json +4133 -4153
- package/dist/docs/reference/engine/GenerationOptions.md +2 -3
- package/dist/docs/reference/engine/GeometryResource.md +6 -6
- package/dist/docs/reference/engine/ModelDependencies.md +2 -2
- package/dist/docs/reference/engine/ModelEngine.md +2 -3
- package/dist/docs/reference/engine/ModelEngineOptions.md +2 -7
- package/dist/docs/reference/engine/ModelPart.md +6 -6
- package/dist/docs/reference/engine/ModelResult.md +2 -2
- package/dist/docs/reference/engine/ModelRunArguments.md +2 -2
- package/dist/docs/reference/engine/ModelRunOptions.md +2 -3
- package/dist/docs/reference/engine/ModelSession.md +2 -2
- package/dist/docs/reference/engine/SessionOptions.md +2 -3
- package/dist/docs/reference/engine/categories/host-lifecycle.md +9 -3
- package/dist/docs/reference/engine/checkModel.md +6 -2
- package/dist/docs/reference/engine/createModelEngine.md +5 -3
- package/dist/docs/reference/engine/defaultModelingLimits.md +4 -11
- package/dist/docs/reference/engine/modelingWasmUrl.md +2 -2
- package/dist/docs/reference/engine.md +7 -1
- package/dist/docs/reference/export/Export3mfOptions.md +2 -6
- package/dist/docs/reference/export/ExportDiagnostic.md +2 -14
- package/dist/docs/reference/export/ExportFormat.md +2 -14
- package/dist/docs/reference/export/ExportGeometry.md +3 -15
- package/dist/docs/reference/export/ExportGlbOptions.md +14 -18
- package/dist/docs/reference/export/ExportLimits.md +2 -14
- package/dist/docs/reference/export/ExportMaterial.md +2 -14
- package/dist/docs/reference/export/ExportOptions.md +2 -14
- package/dist/docs/reference/export/ExportPart.md +2 -14
- package/dist/docs/reference/export/ExportReport.md +2 -14
- package/dist/docs/reference/export/ExportSink.md +5 -15
- package/dist/docs/reference/export/ExportStlOptions.md +2 -6
- package/dist/docs/reference/export/ExportedFile.md +14 -26
- package/dist/docs/reference/export/categories/mesh-serialization.md +9 -3
- package/dist/docs/reference/export/defaultExportLimits.md +2 -2
- package/dist/docs/reference/export/export3mf.md +4 -6
- package/dist/docs/reference/export/exportGlb.md +8 -10
- package/dist/docs/reference/export/exportStl.md +4 -6
- package/dist/docs/reference/export/write3mf.md +6 -6
- package/dist/docs/reference/export/writeGlb.md +10 -10
- package/dist/docs/reference/export/writeStl.md +6 -6
- package/dist/docs/reference/export.md +9 -3
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
- package/dist/docs/reference/geometry/Anchor3-type.md +3 -7
- package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
- package/dist/docs/reference/geometry/ArcCurve3.md +3 -3
- package/dist/docs/reference/geometry/AttachOptions.md +4 -9
- package/dist/docs/reference/geometry/Bounds2-type.md +9 -30
- package/dist/docs/reference/geometry/Bounds2Data.md +2 -19
- package/dist/docs/reference/geometry/Bounds2Input.md +2 -10
- package/dist/docs/reference/geometry/Bounds2Options.md +2 -6
- package/dist/docs/reference/geometry/Bounds3-type.md +9 -30
- package/dist/docs/reference/geometry/Bounds3Data.md +2 -15
- package/dist/docs/reference/geometry/Bounds3Input.md +2 -10
- package/dist/docs/reference/geometry/Bounds3Options.md +2 -6
- package/dist/docs/reference/geometry/BoundsFit2.md +2 -2
- package/dist/docs/reference/geometry/BoundsFit3.md +2 -2
- package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -2
- package/dist/docs/reference/geometry/BoxAnchorFace.md +3 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +3 -3
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +3 -7
- package/dist/docs/reference/geometry/CircleContourOptions.md +3 -7
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +3 -12
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +2 -2
- package/dist/docs/reference/geometry/CircularSampling.md +2 -2
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +2 -2
- package/dist/docs/reference/geometry/Contour.md +4 -9
- package/dist/docs/reference/geometry/ContourCurve.md +3 -3
- package/dist/docs/reference/geometry/ContourPoint.md +3 -3
- package/dist/docs/reference/geometry/ContourSegment.md +3 -3
- package/dist/docs/reference/geometry/CorrespondingComponent.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingContour.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingProfile.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +4 -8
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +3 -3
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +3 -3
- package/dist/docs/reference/geometry/Curve2.md +3 -3
- package/dist/docs/reference/geometry/Curve3.md +3 -3
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +3 -11
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +3 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -4
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +2 -2
- package/dist/docs/reference/geometry/EdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -7
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -18
- package/dist/docs/reference/geometry/FittedTextLayout.md +2 -2
- package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +4 -11
- package/dist/docs/reference/geometry/Frame3Options.md +69 -0
- package/dist/docs/reference/geometry/GeometryError.md +2 -6
- package/dist/docs/reference/geometry/GeometryErrorCode.md +2 -6
- package/dist/docs/reference/geometry/GeometryErrorContext.md +2 -6
- package/dist/docs/reference/geometry/GeometryResolution.md +2 -10
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +3 -11
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +3 -11
- package/dist/docs/reference/geometry/GridPatternOptions.md +7 -9
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +2 -10
- package/dist/docs/reference/geometry/LineCurve2.md +3 -3
- package/dist/docs/reference/geometry/LineCurve3.md +3 -3
- package/dist/docs/reference/geometry/LinearPatternOptions.md +2 -6
- package/dist/docs/reference/geometry/LoftPlacement.md +13 -21
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +3 -7
- package/dist/docs/reference/geometry/ModelingLimits.md +2 -14
- package/dist/docs/reference/geometry/NumericArray.md +2 -10
- package/dist/docs/reference/geometry/Path2-type.md +153 -12
- package/dist/docs/reference/geometry/Path2Data.md +3 -11
- package/dist/docs/reference/geometry/Path2Input.md +3 -11
- package/dist/docs/reference/geometry/Path3-type.md +153 -12
- package/dist/docs/reference/geometry/Path3Data.md +3 -11
- package/dist/docs/reference/geometry/Path3Input.md +3 -11
- package/dist/docs/reference/geometry/PathFrame.md +3 -3
- package/dist/docs/reference/geometry/PathLocation.md +3 -11
- package/dist/docs/reference/geometry/PathNormalGuide.md +4 -12
- package/dist/docs/reference/geometry/PathOptions.md +3 -7
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -7
- package/dist/docs/reference/geometry/PathPlacement.md +5 -5
- package/dist/docs/reference/geometry/PathResamplingOptions.md +3 -11
- package/dist/docs/reference/geometry/PathStation.md +87 -0
- package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +3 -11
- package/dist/docs/reference/geometry/Pivot3Options.md +3 -11
- package/dist/docs/reference/geometry/PolygonData.md +4 -8
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +3 -3
- package/dist/docs/reference/geometry/Profile.md +3 -4
- package/dist/docs/reference/geometry/ProfileComponent2.md +3 -7
- package/dist/docs/reference/geometry/ProfileContour2.md +3 -7
- package/dist/docs/reference/geometry/ProfileSpan2.md +3 -7
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +5 -8
- package/dist/docs/reference/geometry/RadialPatternOptions.md +2 -6
- package/dist/docs/reference/geometry/RadialSizing.md +2 -6
- package/dist/docs/reference/geometry/RadialSizingOptions.md +2 -6
- package/dist/docs/reference/geometry/RectangleContourOptions.md +4 -7
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +3 -7
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +3 -7
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +3 -7
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
- package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +2 -2
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -2
- package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve3.md +3 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +3 -3
- package/dist/docs/reference/geometry/SideProfilePoint.md +3 -3
- package/dist/docs/reference/geometry/SideProfileSegment.md +3 -3
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/SplineOptions.md +69 -0
- package/dist/docs/reference/geometry/StarContourOptions.md +7 -7
- package/dist/docs/reference/geometry/StrokeCap.md +2 -6
- package/dist/docs/reference/geometry/StrokeJoin.md +2 -6
- package/dist/docs/reference/geometry/StrokeOptions.md +3 -7
- package/dist/docs/reference/geometry/SvgImportOptions.md +4 -4
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +2 -2
- package/dist/docs/reference/geometry/Transform2-type.md +3 -11
- package/dist/docs/reference/geometry/Transform2Data.md +3 -11
- package/dist/docs/reference/geometry/Transform2Input.md +3 -11
- package/dist/docs/reference/geometry/Transform3-type.md +4 -12
- package/dist/docs/reference/geometry/Transform3Data.md +3 -11
- package/dist/docs/reference/geometry/Transform3Input.md +6 -13
- package/dist/docs/reference/geometry/Vector2-type.md +3 -11
- package/dist/docs/reference/geometry/Vector2Data.md +3 -15
- package/dist/docs/reference/geometry/Vector2Input.md +3 -11
- package/dist/docs/reference/geometry/Vector3-type.md +27 -11
- package/dist/docs/reference/geometry/Vector3Data.md +3 -11
- package/dist/docs/reference/geometry/Vector3Input.md +3 -11
- package/dist/docs/reference/geometry/VectorTextLayout.md +2 -10
- package/dist/docs/reference/geometry/VectorTextMetrics.md +3 -11
- package/dist/docs/reference/geometry/anchor3.md +17 -26
- package/dist/docs/reference/geometry/anchorFrame3.md +6 -6
- package/dist/docs/reference/geometry/attachmentTransform3.md +8 -8
- package/dist/docs/reference/geometry/bounds2.md +6 -8
- package/dist/docs/reference/geometry/bounds3.md +4 -6
- package/dist/docs/reference/geometry/boundsCenter.md +2 -2
- package/dist/docs/reference/geometry/boundsSize.md +2 -2
- package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +9 -3
- package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
- package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +10 -4
- package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
- package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
- package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
- package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
- package/dist/docs/reference/geometry/categories/vector-import.md +7 -4
- package/dist/docs/reference/geometry/circleContour.md +3 -3
- package/dist/docs/reference/geometry/closeToAxis.md +7 -3
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +9 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +13 -6
- package/dist/docs/reference/geometry/contourContainsPoint.md +7 -3
- package/dist/docs/reference/geometry/cylinderAnchor3.md +5 -5
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +3 -3
- package/dist/docs/reference/geometry/distributeAlongPath.md +16 -11
- package/dist/docs/reference/geometry/ellipseContour.md +3 -3
- package/dist/docs/reference/geometry/fitBounds.md +10 -2
- package/dist/docs/reference/geometry/fitTextLayout.md +5 -5
- package/dist/docs/reference/geometry/frame3.md +66 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/immutableBuffer.md +5 -7
- package/dist/docs/reference/geometry/isGeometryError.md +2 -6
- package/dist/docs/reference/geometry/layoutRow.md +4 -2
- package/dist/docs/reference/geometry/linearPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/matchProfiles.md +5 -3
- package/dist/docs/reference/geometry/normalizeContour.md +8 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -3
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -3
- package/dist/docs/reference/geometry/path2.md +7 -7
- package/dist/docs/reference/geometry/path3.md +7 -7
- package/dist/docs/reference/geometry/pathPatternTransforms.md +12 -8
- package/dist/docs/reference/geometry/preflightSvgRegion.md +5 -5
- package/dist/docs/reference/geometry/radialPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/rectangleContour.md +3 -3
- package/dist/docs/reference/geometry/rectangleProfile.md +3 -4
- package/dist/docs/reference/geometry/regionArea.md +3 -3
- package/dist/docs/reference/geometry/regionBounds.md +6 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +3 -3
- package/dist/docs/reference/geometry/resamplePolyline2.md +7 -3
- package/dist/docs/reference/geometry/resamplePolyline3.md +7 -3
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -5
- package/dist/docs/reference/geometry/resolveArcSegments.md +8 -6
- package/dist/docs/reference/geometry/resolveCircularSampling.md +2 -2
- package/dist/docs/reference/geometry/resolveCircularSegments.md +5 -3
- package/dist/docs/reference/geometry/{resolveExtrusionDivisions.md → resolveExtrusionSlices.md} +16 -15
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -3
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +3 -3
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -5
- package/dist/docs/reference/geometry/sampleContour.md +5 -5
- package/dist/docs/reference/geometry/sampleCurve2.md +7 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +7 -3
- package/dist/docs/reference/geometry/sampleHelix.md +3 -3
- package/dist/docs/reference/geometry/sampleSideProfile.md +5 -5
- package/dist/docs/reference/geometry/sampleTextContours.md +3 -3
- package/dist/docs/reference/geometry/signedContourArea.md +5 -3
- package/dist/docs/reference/geometry/spline2.md +68 -0
- package/dist/docs/reference/geometry/spline3.md +62 -0
- package/dist/docs/reference/geometry/starContour.md +3 -3
- package/dist/docs/reference/geometry/strokeRegionData.md +8 -5
- package/dist/docs/reference/geometry/transform2.md +5 -7
- package/dist/docs/reference/geometry/transform3.md +23 -10
- package/dist/docs/reference/geometry/transformRegionData.md +7 -3
- package/dist/docs/reference/geometry/triangulateContour.md +6 -4
- package/dist/docs/reference/geometry/vector2.md +6 -8
- package/dist/docs/reference/geometry/vector3.md +8 -8
- package/dist/docs/reference/geometry.md +13 -18
- package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +4 -5
- package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
- package/dist/docs/reference/math/add2.md +38 -0
- package/dist/docs/reference/math/add3.md +46 -0
- package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
- package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
- package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
- package/dist/docs/reference/math/cross2.md +38 -0
- package/dist/docs/reference/math/cross3.md +44 -0
- package/dist/docs/reference/math/distance2.md +38 -0
- package/dist/docs/reference/math/distance3.md +38 -0
- package/dist/docs/reference/math/dot2.md +38 -0
- package/dist/docs/reference/math/dot3.md +44 -0
- package/dist/docs/reference/math/eulerTransform3.md +43 -0
- package/dist/docs/reference/math/inverseTransform3.md +36 -0
- package/dist/docs/reference/math/length2.md +32 -0
- package/dist/docs/reference/math/length3.md +32 -0
- package/dist/docs/reference/math/lerp2.md +46 -0
- package/dist/docs/reference/math/lerp3.md +46 -0
- package/dist/docs/reference/math/multiplyTransform3.md +46 -0
- package/dist/docs/reference/math/normalize2.md +45 -0
- package/dist/docs/reference/math/normalize3.md +45 -0
- package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
- package/dist/docs/reference/math/rotate2.md +40 -0
- package/dist/docs/reference/math/rotationTransform3.md +56 -0
- package/dist/docs/reference/math/scale2.md +38 -0
- package/dist/docs/reference/math/scale3.md +44 -0
- package/dist/docs/reference/math/scaleTransform3.md +39 -0
- package/dist/docs/reference/math/subtract2.md +38 -0
- package/dist/docs/reference/math/subtract3.md +44 -0
- package/dist/docs/reference/math/transformDeterminant3.md +38 -0
- package/dist/docs/reference/math/translationTransform3.md +36 -0
- package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
- package/dist/docs/reference/math/validateTransform3.md +48 -0
- package/dist/docs/reference/math.md +22 -0
- package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/Bevel.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +5 -15
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +5 -10
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +6 -13
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +4 -5
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +5 -14
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +4 -8
- package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +5 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +4 -5
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +5 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfile-type.md +5 -17
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +7 -18
- package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +8 -15
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +7 -14
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutShape.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +6 -13
- package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +4 -4
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +12 -6
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +13 -3
- package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +7 -5
- package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +10 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +7 -3
- package/dist/docs/reference/mechanical.md +19 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +128 -0
- package/dist/docs/reference/{geometry → mesh}/HeightfieldMeshLimits.md +5 -13
- package/dist/docs/reference/{geometry → mesh}/HeightfieldPreflight.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/ImmutableTriangleMesh.md +5 -17
- package/dist/docs/reference/mesh/LoftMeshStation.md +32 -0
- package/dist/docs/reference/mesh/MeshRenderOptions.md +3 -3
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationFallbackReason.md +4 -8
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationResult.md +4 -8
- package/dist/docs/reference/{geometry → mesh}/PlanarPatchQuality.md +4 -12
- package/dist/docs/reference/mesh/RenderMesh.md +19 -19
- package/dist/docs/reference/{geometry → mesh}/SolidMeshValidationOptions.md +4 -12
- package/dist/docs/reference/{geometry → mesh}/TriangleMesh.md +8 -12
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysis.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysisOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshInput.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshMeasurements.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityReport.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignature.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureOptions.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureTolerances.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshTopologyAnalysis.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshValidationOptions.md +4 -9
- package/dist/docs/reference/mesh/analyze.md +26 -18
- package/dist/docs/reference/mesh/analyzeQuality.md +12 -12
- package/dist/docs/reference/mesh/bounds.md +5 -6
- package/dist/docs/reference/mesh/categories/operations.md +37 -4
- package/dist/docs/reference/mesh/centroid.md +5 -6
- package/dist/docs/reference/mesh/extrude.md +21 -20
- package/dist/docs/reference/mesh/heightfield.md +8 -8
- package/dist/docs/reference/mesh/immutable.md +7 -5
- package/dist/docs/reference/mesh/join.md +7 -7
- package/dist/docs/reference/mesh/loft.md +19 -18
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +21 -21
- package/dist/docs/reference/mesh/preflightHeightfield.md +8 -8
- package/dist/docs/reference/mesh/preflightThreadSolid.md +22 -25
- package/dist/docs/reference/mesh/render.md +7 -5
- package/dist/docs/reference/mesh/reverse.md +7 -7
- package/dist/docs/reference/mesh/revolve.md +12 -14
- package/dist/docs/reference/mesh/signature.md +12 -12
- package/dist/docs/reference/mesh/sweep.md +96 -25
- package/dist/docs/reference/mesh/threadRidge.md +19 -18
- package/dist/docs/reference/mesh/threadSolid.md +23 -22
- package/dist/docs/reference/mesh/transform.md +8 -9
- package/dist/docs/reference/mesh/validate.md +11 -11
- package/dist/docs/reference/mesh/validateSolid.md +10 -10
- package/dist/docs/reference/mesh.md +8 -2
- package/dist/docs/reference/model/BoxEdge.md +23 -0
- package/dist/docs/reference/model/BoxEdgeSelection.md +27 -0
- package/dist/docs/reference/model/BoxEdgeTreatments.md +27 -0
- package/dist/docs/reference/{geometry → model}/BoxOptions.md +12 -12
- package/dist/docs/reference/model/CircleOptions.md +4 -5
- package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
- package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
- package/dist/docs/reference/model/{HoleCutterOverrun.md → CutterOverrun.md} +8 -7
- package/dist/docs/reference/model/CylinderOptions.md +64 -0
- package/dist/docs/reference/model/DiagnosticOptions.md +2 -2
- package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
- package/dist/docs/reference/model/EllipseOptions.md +4 -5
- package/dist/docs/reference/model/EndTreatments.md +43 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +153 -0
- package/dist/docs/reference/model/GenerateCallback.md +2 -2
- package/dist/docs/reference/model/GenerateContext.md +27 -3
- package/dist/docs/reference/model/GenerationDiagnostic.md +2 -2
- package/dist/docs/reference/model/GenerationError.md +2 -2
- package/dist/docs/reference/{geometry → model}/HeightfieldOptions.md +5 -23
- package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
- package/dist/docs/reference/model/HoleCutterOptions.md +9 -22
- package/dist/docs/reference/model/HoleCutterRecess.md +5 -4
- package/dist/docs/reference/model/HullOptions.md +2 -3
- package/dist/docs/reference/model/ImmutableValue.md +2 -2
- package/dist/docs/reference/model/ImplicitOptions.md +3 -9
- package/dist/docs/reference/model/JoinOptions.md +2 -5
- package/dist/docs/reference/model/JoinTransition.md +2 -2
- package/dist/docs/reference/model/KnuckleHinge-type.md +2 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +2 -2
- package/dist/docs/reference/model/KnuckleHingeOptions.md +3 -5
- package/dist/docs/reference/model/KnuckleHingeWeb.md +2 -2
- package/dist/docs/reference/{geometry → model}/LoftCorrespondence.md +8 -11
- package/dist/docs/reference/{geometry → model}/LoftOptions.md +11 -16
- package/dist/docs/reference/model/LoftStation.md +4 -5
- package/dist/docs/reference/model/Memo.md +2 -2
- package/dist/docs/reference/model/ModelProgram.md +2 -2
- package/dist/docs/reference/model/PartDeclaration.md +4 -5
- package/dist/docs/reference/model/PartGeometry.md +3 -5
- package/dist/docs/reference/model/PartOptions.md +4 -5
- package/dist/docs/reference/model/PatternSource.md +4 -4
- package/dist/docs/reference/model/PlaneOptions.md +3 -7
- package/dist/docs/reference/model/PolygonOptions.md +2 -7
- package/dist/docs/reference/model/PrimitiveAttachment.md +50 -0
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +111 -0
- package/dist/docs/reference/model/RectangleOptions.md +21 -26
- package/dist/docs/reference/model/RegularPolygonOptions.md +4 -37
- package/dist/docs/reference/{geometry → model}/RevolveOptions.md +15 -24
- package/dist/docs/reference/model/Section.md +115 -53
- package/dist/docs/reference/model/SectionHullOptions.md +2 -3
- package/dist/docs/reference/model/SectionInspection.md +2 -6
- package/dist/docs/reference/model/SectionOffsetJoin.md +2 -2
- package/dist/docs/reference/model/SectionOffsetOptions.md +2 -3
- package/dist/docs/reference/model/Solid.md +24 -12
- package/dist/docs/reference/model/SolidInspection.md +2 -6
- package/dist/docs/reference/model/SolidSegmentHit.md +2 -6
- package/dist/docs/reference/model/SphereOptions.md +27 -0
- package/dist/docs/reference/model/StarOptions.md +21 -23
- package/dist/docs/reference/model/SvgOrigin.md +2 -2
- package/dist/docs/reference/model/SvgPathSectionOptions.md +3 -5
- package/dist/docs/reference/model/SvgSectionOptions.md +3 -6
- package/dist/docs/reference/model/SweepOptions.md +109 -0
- package/dist/docs/reference/model/SweepOrientation.md +119 -0
- package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
- package/dist/docs/reference/model/TextSectionOptions.md +2 -7
- package/dist/docs/reference/{geometry → model}/TorusOptions.md +11 -10
- package/dist/docs/reference/model/TubeOptions.md +84 -0
- package/dist/docs/reference/model/box.md +11 -10
- package/dist/docs/reference/model/categories/boolean-operations.md +9 -3
- package/dist/docs/reference/model/categories/bounded-surfaces.md +13 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +26 -7
- package/dist/docs/reference/model/categories/generation.md +11 -3
- package/dist/docs/reference/model/categories/hinges.md +7 -1
- package/dist/docs/reference/model/categories/mesh-inspection.md +7 -1
- package/dist/docs/reference/model/categories/primitives.md +34 -6
- package/dist/docs/reference/model/categories/sections.md +8 -2
- package/dist/docs/reference/model/categories/threads.md +8 -5
- package/dist/docs/reference/model/categories/transforms-placement.md +15 -10
- package/dist/docs/reference/model/circle.md +7 -3
- package/dist/docs/reference/model/cornerCutter.md +88 -0
- package/dist/docs/reference/model/cylinder.md +6 -5
- package/dist/docs/reference/model/edgeCutter.md +91 -0
- package/dist/docs/reference/model/ellipse.md +7 -3
- package/dist/docs/reference/model/extrude.md +29 -23
- package/dist/docs/reference/model/generate.md +4 -2
- package/dist/docs/reference/model/gridPattern.md +11 -4
- package/dist/docs/reference/model/heightfield.md +5 -5
- package/dist/docs/reference/model/holeCutter.md +26 -12
- package/dist/docs/reference/model/hull.md +2 -2
- package/dist/docs/reference/model/implicit.md +3 -3
- package/dist/docs/reference/model/internalThreadCutter.md +32 -21
- package/dist/docs/reference/model/intersect.md +7 -3
- package/dist/docs/reference/model/join.md +6 -2
- package/dist/docs/reference/model/knuckleHinge.md +2 -3
- package/dist/docs/reference/model/linearPattern.md +11 -4
- package/dist/docs/reference/model/loft.md +28 -24
- package/dist/docs/reference/model/minkowskiSum.md +3 -3
- package/dist/docs/reference/model/pathPattern.md +17 -8
- package/dist/docs/reference/model/polygon.md +8 -3
- package/dist/docs/reference/model/radialPattern.md +11 -4
- package/dist/docs/reference/model/rectangle.md +11 -7
- package/dist/docs/reference/model/regularPolygon.md +7 -3
- package/dist/docs/reference/model/revolve.md +18 -12
- package/dist/docs/reference/model/solidFromMesh.md +10 -6
- package/dist/docs/reference/model/sphere.md +7 -6
- package/dist/docs/reference/model/star.md +11 -7
- package/dist/docs/reference/model/stroke.md +12 -8
- package/dist/docs/reference/model/svgPathSection.md +10 -4
- package/dist/docs/reference/model/svgSection.md +10 -4
- package/dist/docs/reference/model/sweep.md +102 -25
- package/dist/docs/reference/model/textSection.md +7 -3
- package/dist/docs/reference/model/threadRidge.md +16 -17
- package/dist/docs/reference/model/threadedNut.md +25 -22
- package/dist/docs/reference/model/threadedRod.md +21 -18
- package/dist/docs/reference/model/torus.md +13 -12
- package/dist/docs/reference/model/tube.md +6 -5
- package/dist/docs/reference/model/union.md +7 -3
- package/dist/docs/reference/model.md +10 -5
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
- package/dist/docs/reference/text/VectorFont.md +38 -34
- package/dist/docs/reference/text/VectorFontOptions.md +2 -2
- package/dist/docs/reference/{geometry → text}/VectorTextArcBaseline.md +2 -11
- package/dist/docs/reference/{geometry → text}/VectorTextLayoutOptions.md +3 -11
- package/dist/docs/reference/{geometry → text}/VectorTextOptions.md +2 -10
- package/dist/docs/reference/text/categories/font-preparation.md +10 -1
- package/dist/docs/reference/text/prepareVectorFont.md +4 -2
- package/dist/docs/reference/text.md +7 -1
- package/dist/engine/execution.js +5 -3
- package/dist/engine/finalization.js +5 -5
- package/dist/engine/index.js +9 -4
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/construction-mesh.js +15 -5
- package/dist/engine/native/context.js +10 -7
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +2 -2
- package/dist/engine/native/mesh-observation.js +1 -1
- package/dist/engine/native/regions.js +44 -24
- package/dist/engine/native/scoped-primitives.js +3 -3
- package/dist/engine/native/scoped-threads.js +1 -13
- package/dist/engine/native/threads.js +2 -2
- package/dist/engine/native/transforms.js +2 -2
- package/dist/engine/operations/construction.js +77 -27
- package/dist/engine/operations/context.js +13 -6
- package/dist/engine/operations/cutters.js +112 -0
- package/dist/engine/operations/environment.js +2 -2
- package/dist/engine/operations/extrusion-finishing.js +42 -16
- package/dist/engine/operations/hole-cutter.js +125 -114
- package/dist/engine/operations/join-collar-profile.js +19 -19
- package/dist/engine/operations/join.js +86 -73
- package/dist/engine/operations/knuckle-hinge.js +25 -20
- package/dist/engine/operations/loft.js +9 -16
- package/dist/engine/operations/mechanical.js +4 -15
- package/dist/engine/operations/primitives/anchors.js +23 -19
- package/dist/engine/operations/primitives/construction.js +38 -12
- package/dist/engine/operations/primitives/correspondence.js +2 -2
- package/dist/engine/operations/primitives/profile-mesh.js +41 -80
- package/dist/engine/operations/primitives/profiles.js +5 -5
- package/dist/engine/operations/sections.js +8 -8
- package/dist/engine/operations/transforms.js +19 -39
- package/dist/engine/placement.js +3 -3
- package/dist/engine/recipe-realization.js +86 -30
- package/dist/engine/session/declarations.js +98 -0
- package/dist/engine/session/dependencies.js +81 -28
- package/dist/engine/session/graph.js +39 -137
- package/dist/engine/session/parameters.js +78 -0
- package/dist/engine/session/session.js +2 -2
- package/dist/engine/session/snapshot-cache.js +2 -2
- package/dist/engine/shape-anchors.js +13 -6
- package/dist/export/3mf.js +9 -2
- package/dist/export/capture.js +10 -6
- package/dist/export/glb.js +7 -2
- package/dist/export/stl.js +21 -6
- package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
- package/dist/geometry/{bounds-value.js → bounds/value.js} +20 -16
- package/dist/geometry/curves/evaluation.js +5 -6
- package/dist/geometry/curves/sampling.js +30 -6
- package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
- package/dist/geometry/extrusion/mesh.js +92 -0
- package/dist/geometry/extrusion/stations.js +35 -0
- package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
- package/dist/geometry/immutable-buffer.js +7 -1
- package/dist/geometry/index.js +24 -32
- package/dist/geometry/{model-limits.js → limits.js} +1 -1
- package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
- package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
- package/dist/geometry/loft/mesh.js +53 -0
- package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
- package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
- package/dist/geometry/math/interpolation.js +9 -0
- package/dist/geometry/math/vector-value.js +12 -3
- package/dist/geometry/math/vector2.js +18 -5
- package/dist/geometry/math/vector3.js +28 -5
- package/dist/geometry/math-api.js +4 -0
- package/dist/geometry/mechanical/gear-motion.js +7 -5
- package/dist/geometry/mechanical/gears.js +21 -4
- package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
- package/dist/geometry/mechanical/threads/fit.js +8 -2
- package/dist/geometry/mechanical/threads/helices.js +4 -2
- package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
- package/dist/geometry/mechanical/threads/mesh.js +12 -9
- package/dist/geometry/mechanical/threads/profiles.js +18 -4
- package/dist/geometry/mechanical/threads/solids.js +11 -2
- package/dist/geometry/mechanical-api.js +10 -0
- package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
- package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
- package/dist/geometry/{join-geometry.js → mesh/join-layers.js} +53 -59
- package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
- package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
- package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
- package/dist/geometry/mesh/{mesh-render.js → render-buffers.js} +22 -7
- package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
- package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +2 -0
- package/dist/geometry/mesh/{mesh-solid.js → solid.js} +4 -4
- package/dist/geometry/mesh/triangle-quality.js +42 -0
- package/dist/geometry/mesh/winding.js +11 -0
- package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
- package/dist/geometry/mesh-api.js +12 -11
- package/dist/geometry/paths/distribution.js +43 -0
- package/dist/geometry/paths/editing.js +76 -0
- package/dist/geometry/paths/frames.js +16 -11
- package/dist/geometry/paths/helix.js +1 -1
- package/dist/geometry/paths/resampling.js +46 -61
- package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
- package/dist/geometry/paths/spline.js +116 -0
- package/dist/geometry/paths/traversal.js +107 -0
- package/dist/geometry/paths/{path-value.js → value.js} +97 -18
- package/dist/geometry/patterns/placements.js +20 -29
- package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
- package/dist/geometry/primitives/cutters.js +70 -0
- package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
- package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
- package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
- package/dist/geometry/primitives/sampling.js +41 -0
- package/dist/geometry/profiles/contour.js +19 -7
- package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
- package/dist/geometry/profiles/primitives/circle.js +1 -1
- package/dist/geometry/profiles/primitives/ellipse.js +2 -2
- package/dist/geometry/profiles/primitives/rectangle.js +8 -8
- package/dist/geometry/profiles/primitives/star.js +1 -1
- package/dist/geometry/profiles/side-profile.js +8 -5
- package/dist/geometry/profiles/validation.js +1 -1
- package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
- package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
- package/dist/geometry/{region-offset.js → regions/offset.js} +7 -5
- package/dist/geometry/{regions.js → regions/operations.js} +59 -22
- package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
- package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
- package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
- package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
- package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
- package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
- package/dist/geometry/svg/fill.js +4 -3
- package/dist/geometry/svg/import.js +47 -64
- package/dist/geometry/svg/path.js +3 -3
- package/dist/geometry/sweep/closed.js +55 -0
- package/dist/geometry/sweep/mesh.js +30 -0
- package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
- package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
- package/dist/geometry/sweep/seam.js +30 -0
- package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
- package/dist/geometry/sweep/transforms.js +30 -0
- package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
- package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
- package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
- package/dist/geometry/text/layout.js +1 -0
- package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
- package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
- package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
- package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
- package/dist/geometry/transforms/frame.js +64 -0
- package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
- package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
- package/dist/index.js +3 -9
- package/dist/model/cutters.js +1 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +2 -0
- package/dist/model/immutable-generation-data.js +2 -0
- package/dist/model/operations.js +130 -94
- package/dist/model/recipe-declaration.js +5 -7
- package/dist/text/index.js +3 -0
- package/dist/text/vector-text-layout.js +1 -0
- package/package.json +15 -17
- package/dist/api/export-3mf.d.ts +0 -2
- package/dist/api/export-glb.d.ts +0 -2
- package/dist/api/export-stl.d.ts +0 -2
- package/dist/docs/reference/geometry/BoxEdge.md +0 -17
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -24
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -25
- package/dist/docs/reference/geometry/CylinderOptions.md +0 -63
- package/dist/docs/reference/geometry/EndTreatments.md +0 -44
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -144
- package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -156
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -25
- package/dist/docs/reference/geometry/LoftMeshStation.md +0 -41
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -39
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -114
- package/dist/docs/reference/geometry/SphereOptions.md +0 -25
- package/dist/docs/reference/geometry/SweepOptions.md +0 -127
- package/dist/docs/reference/geometry/SweepOrientation.md +0 -127
- package/dist/docs/reference/geometry/TubeOptions.md +0 -72
- package/dist/docs/reference/geometry/add2.md +0 -43
- package/dist/docs/reference/geometry/add3.md +0 -49
- package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -52
- package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -50
- package/dist/docs/reference/geometry/categories/meshes.md +0 -68
- package/dist/docs/reference/geometry/composeTransform3.md +0 -51
- package/dist/docs/reference/geometry/cross2.md +0 -43
- package/dist/docs/reference/geometry/cross3.md +0 -49
- package/dist/docs/reference/geometry/distance2.md +0 -43
- package/dist/docs/reference/geometry/distance3.md +0 -43
- package/dist/docs/reference/geometry/dot2.md +0 -43
- package/dist/docs/reference/geometry/dot3.md +0 -49
- package/dist/docs/reference/geometry/eulerTransform3.md +0 -49
- package/dist/docs/reference/geometry/frameTransform3.md +0 -55
- package/dist/docs/reference/geometry/inverseTransform3.md +0 -41
- package/dist/docs/reference/geometry/length2.md +0 -37
- package/dist/docs/reference/geometry/length3.md +0 -37
- package/dist/docs/reference/geometry/lerp2.md +0 -49
- package/dist/docs/reference/geometry/lerp3.md +0 -49
- package/dist/docs/reference/geometry/normalize2.md +0 -46
- package/dist/docs/reference/geometry/normalize3.md +0 -46
- package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -43
- package/dist/docs/reference/geometry/rotate2.md +0 -43
- package/dist/docs/reference/geometry/rotationTransform3.md +0 -60
- package/dist/docs/reference/geometry/scale2.md +0 -43
- package/dist/docs/reference/geometry/scale3.md +0 -49
- package/dist/docs/reference/geometry/scaleTransform3.md +0 -45
- package/dist/docs/reference/geometry/subtract2.md +0 -43
- package/dist/docs/reference/geometry/subtract3.md +0 -49
- package/dist/docs/reference/geometry/transformDeterminant3.md +0 -43
- package/dist/docs/reference/geometry/translationTransform3.md +0 -42
- package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -41
- package/dist/docs/reference/geometry/validateTransform3.md +0 -54
- package/dist/docs/reference/model/Profile.md +0 -30
- package/dist/docs/reference/model/categories/explicit-profiles.md +0 -21
- package/dist/docs/reference/model/matchProfiles.md +0 -48
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -93
- package/dist/docs/reference/model/preflightThreadedNut.md +0 -109
- package/dist/docs/reference/model/preflightThreadedRod.md +0 -93
- package/dist/engine/operations/patterns.js +0 -47
- package/dist/geometry/loft/loft.js +0 -105
- package/dist/geometry/mechanical/index.js +0 -14
- package/dist/geometry/primitive-resolution.js +0 -20
- package/dist/geometry/svg/index.js +0 -1
- package/dist/geometry/sweeps/options.js +0 -29
- package/dist/geometry/sweeps/sweep-closed.js +0 -96
- package/dist/geometry/sweeps/sweep-mesh.js +0 -32
- /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
- /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
- /package/dist/geometry/mesh/{mesh-types.js → types.js} +0 -0
- /package/dist/geometry/mesh/{mesh-view-cache.js → view-cache.js} +0 -0
- /package/dist/geometry/{primitive-options.js → primitives/options.js} +0 -0
- /package/dist/geometry/{text-layout.js → sweep/options.js} +0 -0
|
@@ -36,7 +36,7 @@ Require two oppositely wound faces per edge; geometric self-intersections are no
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
`readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)
|
|
39
|
+
`readonly` `optional` **tolerance?**: [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md)
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
@@ -45,21 +45,16 @@ Numeric comparison overrides used for zero-area triangle detection.
|
|
|
45
45
|
|
|
46
46
|
## Related APIs
|
|
47
47
|
|
|
48
|
-
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
49
48
|
- [TriangleMeshAnalysisOptions](TriangleMeshAnalysisOptions.md)
|
|
50
49
|
|
|
51
50
|
## Guides
|
|
52
51
|
|
|
53
52
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
54
53
|
|
|
55
|
-
##
|
|
54
|
+
## Import
|
|
56
55
|
|
|
57
56
|
```ts
|
|
58
|
-
import type { TriangleMeshValidationOptions } from "@metamesh/modeling/geometry";
|
|
57
|
+
import type { TriangleMeshValidationOptions } from "@metamesh/modeling/geometry/mesh";
|
|
59
58
|
```
|
|
60
59
|
|
|
61
|
-
|
|
62
|
-
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
60
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -6,7 +6,7 @@ Validates and measures a mesh with one pass over positions and one over triangle
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
**analyze**(`mesh`: [`TriangleMeshInput`](
|
|
9
|
+
**analyze**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options`: [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md) & `object`): [`TriangleMeshTopologyAnalysis`](TriangleMeshTopologyAnalysis.md)
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
|
|
@@ -23,25 +23,29 @@ inspected on every call, never cached.
|
|
|
23
23
|
|
|
24
24
|
<a id="mesh"></a>
|
|
25
25
|
|
|
26
|
-
**`mesh`** · [`TriangleMeshInput`](
|
|
26
|
+
**`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
|
|
27
|
+
|
|
28
|
+
Indexed triangle buffers in consistent units; source buffers remain unchanged.
|
|
27
29
|
|
|
28
30
|
|
|
29
31
|
|
|
30
32
|
<a id="options"></a>
|
|
31
33
|
|
|
32
|
-
**`options`** · [`TriangleMeshAnalysisOptions`](
|
|
34
|
+
**`options`** · [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md) & `object` · Required
|
|
35
|
+
|
|
36
|
+
Validation policy with indexed edge and shell counts explicitly requested.
|
|
33
37
|
|
|
34
38
|
|
|
35
39
|
|
|
36
40
|
### Returns
|
|
37
41
|
|
|
38
|
-
[`TriangleMeshTopologyAnalysis`](
|
|
42
|
+
[`TriangleMeshTopologyAnalysis`](TriangleMeshTopologyAnalysis.md)
|
|
39
43
|
|
|
40
44
|
## Call Signature
|
|
41
45
|
|
|
42
46
|
|
|
43
47
|
|
|
44
|
-
**analyze**(`mesh`: [`TriangleMeshInput`](
|
|
48
|
+
**analyze**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options?`: [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md)): [`TriangleMeshAnalysis`](TriangleMeshAnalysis.md)
|
|
45
49
|
|
|
46
50
|
|
|
47
51
|
|
|
@@ -51,27 +55,31 @@ Measures a mesh; topology fields are present only when includeTopology is enable
|
|
|
51
55
|
|
|
52
56
|
<a id="mesh-1"></a>
|
|
53
57
|
|
|
54
|
-
**`mesh`** · [`TriangleMeshInput`](
|
|
58
|
+
**`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
|
|
59
|
+
|
|
60
|
+
Indexed triangle buffers in consistent units; source buffers remain unchanged.
|
|
55
61
|
|
|
56
62
|
|
|
57
63
|
|
|
58
64
|
<a id="options-1"></a>
|
|
59
65
|
|
|
60
|
-
**`options`** · [`TriangleMeshAnalysisOptions`](
|
|
66
|
+
**`options`** · [`TriangleMeshAnalysisOptions`](TriangleMeshAnalysisOptions.md) · Optional
|
|
67
|
+
|
|
68
|
+
Validation policy and optional indexed edge and shell counts.
|
|
61
69
|
|
|
62
|
-
- [`includeTopology`](
|
|
70
|
+
- [`includeTopology`](TriangleMeshAnalysisOptions.md#includetopology) · `boolean` · Optional
|
|
63
71
|
|
|
64
72
|
Compute indexed edge/shell counts and reject unreferenced vertices; defaults to false.
|
|
65
73
|
|
|
66
|
-
- [`allowEmpty`](
|
|
74
|
+
- [`allowEmpty`](TriangleMeshAnalysisOptions.md#allowempty) · `boolean` · Optional
|
|
67
75
|
|
|
68
76
|
Permit an empty position and index buffer. Defaults to `false`.
|
|
69
77
|
|
|
70
|
-
- [`requireClosed`](
|
|
78
|
+
- [`requireClosed`](TriangleMeshAnalysisOptions.md#requireclosed) · `boolean` · Optional
|
|
71
79
|
|
|
72
80
|
Require two oppositely wound faces per edge; geometric self-intersections are not detected.
|
|
73
81
|
|
|
74
|
-
- [`tolerance`](
|
|
82
|
+
- [`tolerance`](TriangleMeshAnalysisOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
|
|
75
83
|
|
|
76
84
|
Numeric comparison overrides used for zero-area triangle detection.
|
|
77
85
|
|
|
@@ -79,24 +87,24 @@ Measures a mesh; topology fields are present only when includeTopology is enable
|
|
|
79
87
|
|
|
80
88
|
### Returns
|
|
81
89
|
|
|
82
|
-
[`TriangleMeshAnalysis`](
|
|
90
|
+
[`TriangleMeshAnalysis`](TriangleMeshAnalysis.md)
|
|
83
91
|
|
|
84
92
|
|
|
85
93
|
## Related APIs
|
|
86
94
|
|
|
87
|
-
- [TriangleMeshAnalysis](
|
|
88
|
-
- [TriangleMeshAnalysisOptions](
|
|
89
|
-
- [TriangleMeshInput](
|
|
90
|
-
- [TriangleMeshTopologyAnalysis](
|
|
95
|
+
- [TriangleMeshAnalysis](TriangleMeshAnalysis.md)
|
|
96
|
+
- [TriangleMeshAnalysisOptions](TriangleMeshAnalysisOptions.md)
|
|
97
|
+
- [TriangleMeshInput](TriangleMeshInput.md)
|
|
98
|
+
- [TriangleMeshTopologyAnalysis](TriangleMeshTopologyAnalysis.md)
|
|
91
99
|
|
|
92
100
|
## Guides
|
|
93
101
|
|
|
94
102
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
95
103
|
|
|
96
|
-
##
|
|
104
|
+
## Import
|
|
97
105
|
|
|
98
106
|
```ts
|
|
99
107
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
100
108
|
```
|
|
101
109
|
|
|
102
|
-
Package: `@metamesh/modeling@0.
|
|
110
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Measures triangle shape, edge topology, vertex concentration, and connected planar patches.
|
|
4
4
|
|
|
5
|
-
**analyzeQuality**(`mesh`: [`TriangleMeshInput`](
|
|
5
|
+
**analyzeQuality**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md), `options?`: [`TriangleMeshQualityOptions`](TriangleMeshQualityOptions.md)): [`TriangleMeshQualityReport`](TriangleMeshQualityReport.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -14,23 +14,23 @@ positions, missing vertex references, and the configured complexity limit throw.
|
|
|
14
14
|
|
|
15
15
|
<a id="mesh"></a>
|
|
16
16
|
|
|
17
|
-
**`mesh`** · [`TriangleMeshInput`](
|
|
17
|
+
**`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
|
|
18
18
|
|
|
19
|
-
Indexed triangle mesh in
|
|
19
|
+
Indexed triangle mesh in consistent units.
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
<a id="options"></a>
|
|
24
24
|
|
|
25
|
-
**`options`** · [`TriangleMeshQualityOptions`](
|
|
25
|
+
**`options`** · [`TriangleMeshQualityOptions`](TriangleMeshQualityOptions.md) · Optional
|
|
26
26
|
|
|
27
27
|
Scale-aware tolerance and analysis budget.
|
|
28
28
|
|
|
29
|
-
- [`maxTriangles`](
|
|
29
|
+
- [`maxTriangles`](TriangleMeshQualityOptions.md#maxtriangles) · `number` · Optional
|
|
30
30
|
|
|
31
31
|
Maximum number of triangles inspected. Defaults to `200000`.
|
|
32
32
|
|
|
33
|
-
- [`tolerance`](
|
|
33
|
+
- [`tolerance`](TriangleMeshQualityOptions.md#tolerance) · [`GeometryToleranceOptions`](../geometry/GeometryToleranceOptions.md) · Optional
|
|
34
34
|
|
|
35
35
|
Numeric comparison overrides; model coordinates are interpreted in their existing units.
|
|
36
36
|
|
|
@@ -38,25 +38,25 @@ Scale-aware tolerance and analysis budget.
|
|
|
38
38
|
|
|
39
39
|
## Returns
|
|
40
40
|
|
|
41
|
-
[`TriangleMeshQualityReport`](
|
|
41
|
+
[`TriangleMeshQualityReport`](TriangleMeshQualityReport.md)
|
|
42
42
|
|
|
43
43
|
A deterministic report without mutating or copying the mesh.
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
## Related APIs
|
|
47
47
|
|
|
48
|
-
- [TriangleMeshInput](
|
|
49
|
-
- [TriangleMeshQualityOptions](
|
|
50
|
-
- [TriangleMeshQualityReport](
|
|
48
|
+
- [TriangleMeshInput](TriangleMeshInput.md)
|
|
49
|
+
- [TriangleMeshQualityOptions](TriangleMeshQualityOptions.md)
|
|
50
|
+
- [TriangleMeshQualityReport](TriangleMeshQualityReport.md)
|
|
51
51
|
|
|
52
52
|
## Guides
|
|
53
53
|
|
|
54
54
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
55
55
|
|
|
56
|
-
##
|
|
56
|
+
## Import
|
|
57
57
|
|
|
58
58
|
```ts
|
|
59
59
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Computes axis-aligned bounds for a non-empty mesh.
|
|
4
4
|
|
|
5
|
-
`const` **bounds**: (`mesh`: [`TriangleMeshInput`](
|
|
5
|
+
`const` **bounds**: (`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md)) => [`Bounds3Data`](../geometry/Bounds3Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Computes axis-aligned bounds for a non-empty mesh.
|
|
|
10
10
|
|
|
11
11
|
<a id="mesh"></a>
|
|
12
12
|
|
|
13
|
-
**`mesh`** · [`TriangleMeshInput`](
|
|
13
|
+
**`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
|
|
14
14
|
|
|
15
15
|
Mesh whose finite complete vertices will be measured.
|
|
16
16
|
|
|
@@ -29,17 +29,16 @@ Fresh immutable minimum and maximum XYZ tuples.
|
|
|
29
29
|
|
|
30
30
|
## Related APIs
|
|
31
31
|
|
|
32
|
-
- [
|
|
33
|
-
- [TriangleMeshInput](../geometry/TriangleMeshInput.md)
|
|
32
|
+
- [TriangleMeshInput](TriangleMeshInput.md)
|
|
34
33
|
|
|
35
34
|
## Guides
|
|
36
35
|
|
|
37
36
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
38
37
|
|
|
39
|
-
##
|
|
38
|
+
## Import
|
|
40
39
|
|
|
41
40
|
```ts
|
|
42
41
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
43
42
|
```
|
|
44
43
|
|
|
45
|
-
Package: `@metamesh/modeling@0.
|
|
44
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -7,7 +7,7 @@ Use `import * as mesh from "@metamesh/modeling/geometry/mesh"` for static, remov
|
|
|
7
7
|
Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle indices. Mesh analysis accepts raw arrays or stable immutable buffers directly; signatures add quantized topology and a regression hash. Predictable constructors reject unsafe allocations before sampling.
|
|
8
8
|
|
|
9
9
|
- **Construct:** `mesh.extrude`, `mesh.loft`, `mesh.sweep`, `mesh.revolve`, `mesh.threadRidge`, and `mesh.threadSolid` return `TriangleMesh` data without a host engine. `LoftOptions`, `SweepOptions`, and `ExtrudeMeshOptions` describe pure construction. Native `ExtrudeOptions` additionally accepts end treatments.
|
|
10
|
-
- **Match lofts:** `mesh.loft` defaults to `direct` correspondence; select `reindex`, `fast-distance`, or `distance` explicitly when needed. Stations specify exactly one `z` or `
|
|
10
|
+
- **Match lofts:** `mesh.loft` defaults to `direct` correspondence; select `reindex`, `fast-distance`, or `distance` explicitly when needed. Stations specify exactly one `z` or `transform`, retain original vertices, and interpolate slices in world coordinates. Profile association and sampling-grid work have explicit limits; fidelity isn't reduced to meet them.
|
|
11
11
|
- **Validate:** closed oriented-edge checks do not establish freedom from self-intersections. `mesh.validateSolid` adds bounded floating-point intersection and nested-shell orientation checks, including cavity boundaries. Contacts within tolerance reject conservatively; exhausted work limits fail explicitly.
|
|
12
12
|
- **Measure:** `mesh.centroid` returns the uniform-density volume centroid of consistently oriented closed geometry, including cavities.
|
|
13
13
|
|
|
@@ -16,8 +16,8 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
|
|
|
16
16
|
| API | Summary |
|
|
17
17
|
| --- | --- |
|
|
18
18
|
| [extrude](../extrude.md) | Linearly extrudes one simple profile along +Z with robust ear-clipped caps. Path2 profiles must be closed; raw point collections have an implicit closing edge. End treatments are unsupported and reject at runtime. Use Section.extrude for finished ends. |
|
|
19
|
-
| [loft](../loft.md) | Lofts simple point
|
|
20
|
-
| [sweep](../sweep.md) | Sweeps one
|
|
19
|
+
| [loft](../loft.md) | Lofts simple point contours at z heights or explicit affine transforms, in input order. |
|
|
20
|
+
| [sweep](../sweep.md) | Sweeps one ordered point loop along a path or explicit affine placements. Path mode computes orientation and deformation, automatically matching compatible closed seams. Transform mode connects only the supplied stations, preserving profile indices without refinement. |
|
|
21
21
|
| [heightfield](../heightfield.md) | Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base. |
|
|
22
22
|
| [preflightHeightfield](../preflightHeightfield.md) | Checks grid options, Float32 axis precision, and output limits; returns exact mesh buffer counts. |
|
|
23
23
|
| [threadRidge](../threadRidge.md) | Builds closed thread-ridge components with every profile locked to the shaft's radial/axial frame. The mesh is intended for union with its minor-envelope cylinder and never owns WASM objects. |
|
|
@@ -42,6 +42,33 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
|
|
|
42
42
|
| --- | --- |
|
|
43
43
|
| [MeshRenderOptions](../MeshRenderOptions.md) | Shading policy for a render copy; manufacturing positions and triangle order never change. |
|
|
44
44
|
| [RenderMesh](../RenderMesh.md) | Owned indexed render buffers with unit vertex normals and positions in millimetres. |
|
|
45
|
+
| [SolidMeshValidationOptions](../SolidMeshValidationOptions.md) | Bounded floating-point intersection and shell-orientation validation settings. |
|
|
46
|
+
| [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with mutable owned XYZ buffers. |
|
|
47
|
+
| [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
|
|
48
|
+
| [TriangleMeshTopologyAnalysis](../TriangleMeshTopologyAnalysis.md) | Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology. |
|
|
49
|
+
| [TriangleMeshAnalysisOptions](../TriangleMeshAnalysisOptions.md) | Validation and optional connectivity controls for a shared mesh analysis. |
|
|
50
|
+
| [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
|
|
51
|
+
| [TriangleMeshValidationOptions](../TriangleMeshValidationOptions.md) | Options controlling structural and manufacturing validation of a mesh. |
|
|
52
|
+
| [TriangleMeshSignature](../TriangleMeshSignature.md) | Immutable deterministic measurements for a closed, oriented triangle mesh. |
|
|
53
|
+
| [TriangleMeshSignatureOptions](../TriangleMeshSignatureOptions.md) | Options controlling deterministic triangle-mesh regression signatures. |
|
|
54
|
+
| [TriangleMeshSignatureTolerances](../TriangleMeshSignatureTolerances.md) | Absolute tolerances recorded in a triangle-mesh regression signature. |
|
|
55
|
+
| [PlanarMeshOptimizationOptions](../PlanarMeshOptimizationOptions.md) | Options controlling bounded, connectivity-only optimization of planar triangle patches. |
|
|
56
|
+
| [PlanarMeshOptimizationResult](../PlanarMeshOptimizationResult.md) | Outcome of bounded planar-patch optimization, including before/after diagnostics. |
|
|
57
|
+
| [PlanarPatchQuality](../PlanarPatchQuality.md) | Quality measurements for one edge-connected coplanar triangle patch. |
|
|
58
|
+
| [TriangleMeshQualityOptions](../TriangleMeshQualityOptions.md) | Options controlling bounded triangle-mesh quality analysis. |
|
|
59
|
+
| [TriangleMeshQualityReport](../TriangleMeshQualityReport.md) | Structural, topological, and planar-patch measurements for one indexed triangle mesh. |
|
|
60
|
+
| [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a memo result or part. |
|
|
61
|
+
| [HeightfieldPreflight](../HeightfieldPreflight.md) | Exact grid and mesh buffer allocation counts resolved without evaluating the height callback. |
|
|
62
|
+
| [ExtrudeMeshOptions](../ExtrudeMeshOptions.md) | Dimensions and sampling for pure +Z mesh extrusion, without end treatments. |
|
|
63
|
+
|
|
64
|
+
## Type aliases
|
|
65
|
+
|
|
66
|
+
| API | Summary |
|
|
67
|
+
| --- | --- |
|
|
68
|
+
| [PlanarMeshOptimizationFallbackReason](../PlanarMeshOptimizationFallbackReason.md) | Stable reason why planar optimization preserved the original connectivity. |
|
|
69
|
+
| [TriangleMeshInput](../TriangleMeshInput.md) | Raw construction buffers or immutable captured geometry accepted by mesh utilities. |
|
|
70
|
+
| [HeightfieldMeshLimits](../HeightfieldMeshLimits.md) | Trusted output ceilings for pure construction; omitted fields use package defaults. |
|
|
71
|
+
| [LoftMeshStation](../LoftMeshStation.md) | One point-data profile at a horizontal height or explicit affine transform. |
|
|
45
72
|
|
|
46
73
|
## Values
|
|
47
74
|
|
|
@@ -54,4 +81,10 @@ Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle
|
|
|
54
81
|
|
|
55
82
|
- [Exact counts and preflight guarantees](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
56
83
|
|
|
57
|
-
|
|
84
|
+
## Import
|
|
85
|
+
|
|
86
|
+
```ts
|
|
87
|
+
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.
|
|
4
4
|
|
|
5
|
-
**centroid**(`mesh`: [`TriangleMeshInput`](
|
|
5
|
+
**centroid**(`mesh`: [`TriangleMeshInput`](TriangleMeshInput.md)): [`Vector3Data`](../geometry/Vector3Data.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ Fresh mutable input is inspected on every call, and buffers are never changed.
|
|
|
14
14
|
|
|
15
15
|
<a id="mesh"></a>
|
|
16
16
|
|
|
17
|
-
**`mesh`** · [`TriangleMeshInput`](
|
|
17
|
+
**`mesh`** · [`TriangleMeshInput`](TriangleMeshInput.md) · Required
|
|
18
18
|
|
|
19
19
|
Consistently oriented closed mesh with positive enclosed volume.
|
|
20
20
|
|
|
@@ -29,17 +29,16 @@ A fresh immutable XYZ volume centroid.
|
|
|
29
29
|
|
|
30
30
|
## Related APIs
|
|
31
31
|
|
|
32
|
-
- [TriangleMeshInput](
|
|
33
|
-
- [Vector3Data](../geometry/Vector3Data.md)
|
|
32
|
+
- [TriangleMeshInput](TriangleMeshInput.md)
|
|
34
33
|
|
|
35
34
|
## Guides
|
|
36
35
|
|
|
37
36
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
38
37
|
|
|
39
|
-
##
|
|
38
|
+
## Import
|
|
40
39
|
|
|
41
40
|
```ts
|
|
42
41
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
43
42
|
```
|
|
44
43
|
|
|
45
|
-
Package: `@metamesh/modeling@0.
|
|
44
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Linearly extrudes one simple profile along +Z with robust ear-clipped caps. Path2 profiles must be closed; raw point collections have an implicit closing edge. End treatments are unsupported and reject at runtime. Use Section.extrude for finished ends.
|
|
4
4
|
|
|
5
|
-
**extrude**(`input`: [`Path2Input`](../geometry/Path2Input.md), `options`: [`ExtrudeMeshOptions`](
|
|
5
|
+
**extrude**(`input`: [`Path2Input`](../geometry/Path2Input.md), `options`: [`ExtrudeMeshOptions`](ExtrudeMeshOptions.md)): [`TriangleMesh`](TriangleMesh.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -19,61 +19,62 @@ mesh.extrude(outline, { height: 8 });
|
|
|
19
19
|
|
|
20
20
|
**`input`** · [`Path2Input`](../geometry/Path2Input.md) · Required
|
|
21
21
|
|
|
22
|
+
Closed XY path or simple contour, in millimetres.
|
|
23
|
+
|
|
22
24
|
|
|
23
25
|
|
|
24
26
|
<a id="options"></a>
|
|
25
27
|
|
|
26
|
-
**`options`** · [`ExtrudeMeshOptions`](
|
|
28
|
+
**`options`** · [`ExtrudeMeshOptions`](ExtrudeMeshOptions.md) · Required
|
|
27
29
|
|
|
28
|
-
- [`height`](
|
|
30
|
+
- [`height`](ExtrudeMeshOptions.md#height) · `number` · Required
|
|
29
31
|
|
|
30
32
|
Positive extrusion height in millimetres.
|
|
31
33
|
|
|
32
|
-
- [`
|
|
33
|
-
|
|
34
|
-
Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false.
|
|
35
|
-
|
|
36
|
-
- [`divisions`](../geometry/ExtrudeMeshOptions.md#divisions) · `number` · Optional
|
|
34
|
+
- [`slices`](ExtrudeMeshOptions.md#slices) · `number` · Optional
|
|
37
35
|
|
|
38
|
-
|
|
36
|
+
Positive longitudinal interval count; n slices create n + 1 profile layers. Overrides ordinary extrusion's physical sampling.
|
|
39
37
|
|
|
40
|
-
- [`limits`](
|
|
38
|
+
- [`limits`](ExtrudeMeshOptions.md#limits) · `Partial`\<[`ModelingLimits`](../geometry/ModelingLimits.md)\> · Optional
|
|
41
39
|
|
|
42
40
|
Explicit output and sampling allocation ceilings.
|
|
43
41
|
|
|
44
|
-
- [`resolution`](
|
|
42
|
+
- [`resolution`](ExtrudeMeshOptions.md#resolution) · [`GeometryResolution`](../geometry/GeometryResolution.md) · Optional
|
|
45
43
|
|
|
46
44
|
Operation-level physical policy over the nearest model scope.
|
|
47
45
|
|
|
48
|
-
- [`
|
|
46
|
+
- [`scale`](ExtrudeMeshOptions.md#scale) · `number` \| [`Vector2Input`](../geometry/Vector2Input.md) · Optional
|
|
49
47
|
|
|
50
|
-
|
|
48
|
+
Final profile-local uniform or XY scale, interpolated from one before twisting. Both components must be positive or both zero for an apex of one simple boundary. Defaults to one.
|
|
51
49
|
|
|
52
|
-
- [`twist`](
|
|
50
|
+
- [`twist`](ExtrudeMeshOptions.md#twist) · `number` · Optional
|
|
53
51
|
|
|
54
52
|
Finite rotation of the top profile about +Z, in degrees; defaults to zero.
|
|
55
53
|
|
|
54
|
+
- [`center`](ExtrudeMeshOptions.md#center) · `boolean` · Optional
|
|
55
|
+
|
|
56
|
+
Center the extrusion on Z; otherwise its bottom is at zero. Defaults to false.
|
|
57
|
+
|
|
56
58
|
|
|
57
59
|
|
|
58
60
|
## Returns
|
|
59
61
|
|
|
60
|
-
[`TriangleMesh`](
|
|
62
|
+
[`TriangleMesh`](TriangleMesh.md)
|
|
61
63
|
|
|
62
64
|
|
|
63
65
|
## Related APIs
|
|
64
66
|
|
|
65
|
-
- [ExtrudeMeshOptions](
|
|
66
|
-
- [
|
|
67
|
-
- [TriangleMesh](../geometry/TriangleMesh.md)
|
|
67
|
+
- [ExtrudeMeshOptions](ExtrudeMeshOptions.md)
|
|
68
|
+
- [TriangleMesh](TriangleMesh.md)
|
|
68
69
|
|
|
69
70
|
## Guides
|
|
70
71
|
|
|
71
72
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
72
73
|
|
|
73
|
-
##
|
|
74
|
+
## Import
|
|
74
75
|
|
|
75
76
|
```ts
|
|
76
77
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
77
78
|
```
|
|
78
79
|
|
|
79
|
-
Package: `@metamesh/modeling@0.
|
|
80
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base.
|
|
4
4
|
|
|
5
|
-
**heightfield**(`options`: [`HeightfieldOptions`](../
|
|
5
|
+
**heightfield**(`options`: [`HeightfieldOptions`](../model/HeightfieldOptions.md), `limits?`: `Partial`\<`Pick`\<[`ModelingLimits`](../geometry/ModelingLimits.md), `"maxVertices"` \| `"maxTriangles"` \| `"maxBytes"`\>\>): [`TriangleMesh`](TriangleMesh.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -23,7 +23,9 @@ Float32 storage. Explicit axes are captured before sampling; shared wall vertice
|
|
|
23
23
|
|
|
24
24
|
<a id="options"></a>
|
|
25
25
|
|
|
26
|
-
**`options`** · [`HeightfieldOptions`](../
|
|
26
|
+
**`options`** · [`HeightfieldOptions`](../model/HeightfieldOptions.md) · Required
|
|
27
|
+
|
|
28
|
+
Grid and absolute height callback in millimetres.
|
|
27
29
|
|
|
28
30
|
|
|
29
31
|
|
|
@@ -35,23 +37,21 @@ Float32 storage. Explicit axes are captured before sampling; shared wall vertice
|
|
|
35
37
|
|
|
36
38
|
## Returns
|
|
37
39
|
|
|
38
|
-
[`TriangleMesh`](
|
|
40
|
+
[`TriangleMesh`](TriangleMesh.md)
|
|
39
41
|
|
|
40
42
|
|
|
41
43
|
## Related APIs
|
|
42
44
|
|
|
43
|
-
- [
|
|
44
|
-
- [ModelingLimits](../geometry/ModelingLimits.md)
|
|
45
|
-
- [TriangleMesh](../geometry/TriangleMesh.md)
|
|
45
|
+
- [TriangleMesh](TriangleMesh.md)
|
|
46
46
|
|
|
47
47
|
## Guides
|
|
48
48
|
|
|
49
49
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
50
50
|
|
|
51
|
-
##
|
|
51
|
+
## Import
|
|
52
52
|
|
|
53
53
|
```ts
|
|
54
54
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
-
Package: `@metamesh/modeling@0.
|
|
57
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing.
|
|
4
4
|
|
|
5
|
-
**immutable**(`mesh`: `object`): [`ImmutableTriangleMesh`](
|
|
5
|
+
**immutable**(`mesh`: `object`): [`ImmutableTriangleMesh`](ImmutableTriangleMesh.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -21,6 +21,8 @@ const model = generate(({ memo, part }) => part("surface", memo(buildSurface)));
|
|
|
21
21
|
|
|
22
22
|
### mesh
|
|
23
23
|
|
|
24
|
+
Triangle buffers to copy; the consumer validates topology.
|
|
25
|
+
|
|
24
26
|
#### positions
|
|
25
27
|
|
|
26
28
|
`Float32Array`
|
|
@@ -31,21 +33,21 @@ const model = generate(({ memo, part }) => part("surface", memo(buildSurface)));
|
|
|
31
33
|
|
|
32
34
|
## Returns
|
|
33
35
|
|
|
34
|
-
[`ImmutableTriangleMesh`](
|
|
36
|
+
[`ImmutableTriangleMesh`](ImmutableTriangleMesh.md)
|
|
35
37
|
|
|
36
38
|
|
|
37
39
|
## Related APIs
|
|
38
40
|
|
|
39
|
-
- [ImmutableTriangleMesh](
|
|
41
|
+
- [ImmutableTriangleMesh](ImmutableTriangleMesh.md)
|
|
40
42
|
|
|
41
43
|
## Guides
|
|
42
44
|
|
|
43
45
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
44
46
|
|
|
45
|
-
##
|
|
47
|
+
## Import
|
|
46
48
|
|
|
47
49
|
```ts
|
|
48
50
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
49
51
|
```
|
|
50
52
|
|
|
51
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Concatenates meshes into one indexed mesh without welding coincident vertices.
|
|
4
4
|
|
|
5
|
-
**join**(`meshes`: readonly [`TriangleMeshInput`](
|
|
5
|
+
**join**(`meshes`: readonly [`TriangleMeshInput`](TriangleMeshInput.md)[]): [`TriangleMesh`](TriangleMesh.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,7 +12,7 @@ Inputs are validated and never mutated. Face order and winding remain stable.
|
|
|
12
12
|
|
|
13
13
|
<a id="meshes"></a>
|
|
14
14
|
|
|
15
|
-
**`meshes`** · readonly [`TriangleMeshInput`](
|
|
15
|
+
**`meshes`** · readonly [`TriangleMeshInput`](TriangleMeshInput.md)[] · Required
|
|
16
16
|
|
|
17
17
|
One or more meshes to concatenate.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ One or more meshes to concatenate.
|
|
|
20
20
|
|
|
21
21
|
## Returns
|
|
22
22
|
|
|
23
|
-
[`TriangleMesh`](
|
|
23
|
+
[`TriangleMesh`](TriangleMesh.md)
|
|
24
24
|
|
|
25
25
|
Fresh typed arrays with indices offset to their source vertex ranges.
|
|
26
26
|
|
|
@@ -31,17 +31,17 @@ Fresh typed arrays with indices offset to their source vertex ranges.
|
|
|
31
31
|
|
|
32
32
|
## Related APIs
|
|
33
33
|
|
|
34
|
-
- [TriangleMesh](
|
|
35
|
-
- [TriangleMeshInput](
|
|
34
|
+
- [TriangleMesh](TriangleMesh.md)
|
|
35
|
+
- [TriangleMeshInput](TriangleMeshInput.md)
|
|
36
36
|
|
|
37
37
|
## Guides
|
|
38
38
|
|
|
39
39
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
40
40
|
|
|
41
|
-
##
|
|
41
|
+
## Import
|
|
42
42
|
|
|
43
43
|
```ts
|
|
44
44
|
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.20.0`.
|