@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
|
@@ -51,17 +51,16 @@ Use [rectangle](../model/rectangle.md) for a filled Section.
|
|
|
51
51
|
|
|
52
52
|
- [Profile](Profile.md)
|
|
53
53
|
- [RectangleProfileOptions](RectangleProfileOptions.md)
|
|
54
|
-
- [matchProfiles](matchProfiles.md)
|
|
55
54
|
- [rectangleContour](rectangleContour.md)
|
|
56
55
|
|
|
57
56
|
## Guides
|
|
58
57
|
|
|
59
|
-
- [Choose a geometry representation](../../guides/geometry-values.md#
|
|
58
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
60
59
|
|
|
61
|
-
##
|
|
60
|
+
## Import
|
|
62
61
|
|
|
63
62
|
```ts
|
|
64
63
|
import { rectangleProfile } from "@metamesh/modeling/geometry";
|
|
65
64
|
```
|
|
66
65
|
|
|
67
|
-
Package: `@metamesh/modeling@0.
|
|
66
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -33,12 +33,12 @@ Total filled area in square millimetres.
|
|
|
33
33
|
|
|
34
34
|
## Guides
|
|
35
35
|
|
|
36
|
-
- [Choose a geometry representation](../../guides/geometry-values.md#
|
|
36
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
37
37
|
|
|
38
|
-
##
|
|
38
|
+
## Import
|
|
39
39
|
|
|
40
40
|
```ts
|
|
41
41
|
import { regionArea } from "@metamesh/modeling/geometry";
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
Package: `@metamesh/modeling@0.
|
|
44
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# regionBounds
|
|
2
2
|
|
|
3
|
-
Returns finite axis-aligned bounds for a
|
|
3
|
+
Returns finite axis-aligned bounds for a nonempty region.
|
|
4
4
|
|
|
5
5
|
**regionBounds**(`region`: [`RegionData`](RegionData.md)): [`Bounds2Data`](Bounds2Data.md)
|
|
6
6
|
|
|
@@ -12,6 +12,8 @@ Returns finite axis-aligned bounds for a non-empty region.
|
|
|
12
12
|
|
|
13
13
|
**`region`** · [`RegionData`](RegionData.md) · Required
|
|
14
14
|
|
|
15
|
+
Nonempty region with finite millimetre exterior coordinates.
|
|
16
|
+
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
## Returns
|
|
@@ -26,12 +28,12 @@ Returns finite axis-aligned bounds for a non-empty region.
|
|
|
26
28
|
|
|
27
29
|
## Guides
|
|
28
30
|
|
|
29
|
-
- [Choose a geometry representation](../../guides/geometry-values.md#
|
|
31
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
30
32
|
|
|
31
|
-
##
|
|
33
|
+
## Import
|
|
32
34
|
|
|
33
35
|
```ts
|
|
34
36
|
import { regionBounds } from "@metamesh/modeling/geometry";
|
|
35
37
|
```
|
|
36
38
|
|
|
37
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -52,12 +52,12 @@ readonly [`Vector2Data`](Vector2Data.md)[]
|
|
|
52
52
|
|
|
53
53
|
## Guides
|
|
54
54
|
|
|
55
|
-
- [Choose a geometry representation](../../guides/geometry-values.md#
|
|
55
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
56
56
|
|
|
57
|
-
##
|
|
57
|
+
## Import
|
|
58
58
|
|
|
59
59
|
```ts
|
|
60
60
|
import { regularPolygonContour } from "@metamesh/modeling/geometry";
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
Package: `@metamesh/modeling@0.
|
|
63
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -18,12 +18,16 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
|
|
|
18
18
|
|
|
19
19
|
**`path`** · readonly [`Vector2Data`](Vector2Data.md)[] · Required
|
|
20
20
|
|
|
21
|
+
XY points in millimetres; duplicate neighbors are removed.
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
<a id="options"></a>
|
|
24
26
|
|
|
25
27
|
**`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
|
|
26
28
|
|
|
29
|
+
Closure and exact intervals or physical edge spacing.
|
|
30
|
+
|
|
27
31
|
- [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
28
32
|
|
|
29
33
|
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
@@ -63,12 +67,12 @@ Only final 2D output vectors are copied and frozen. No immutable 3D intermediate
|
|
|
63
67
|
|
|
64
68
|
## Guides
|
|
65
69
|
|
|
66
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
70
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
67
71
|
|
|
68
|
-
##
|
|
72
|
+
## Import
|
|
69
73
|
|
|
70
74
|
```ts
|
|
71
75
|
import { resamplePolyline2 } from "@metamesh/modeling/geometry";
|
|
72
76
|
```
|
|
73
77
|
|
|
74
|
-
Package: `@metamesh/modeling@0.
|
|
78
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -18,12 +18,16 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
|
|
|
18
18
|
|
|
19
19
|
**`path`** · readonly [`Vector3Data`](Vector3Data.md)[] · Required
|
|
20
20
|
|
|
21
|
+
XYZ points in millimetres; duplicate neighbors are removed.
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
<a id="options"></a>
|
|
24
26
|
|
|
25
27
|
**`options`** · [`PolylineResamplingOptions`](PolylineResamplingOptions.md) · Optional
|
|
26
28
|
|
|
29
|
+
Closure and exact intervals or physical edge spacing.
|
|
30
|
+
|
|
27
31
|
- [`resolution`](PolylineResamplingOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
28
32
|
|
|
29
33
|
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
@@ -66,12 +70,12 @@ may bridge original corners. Sampling never silently lowers the requested detail
|
|
|
66
70
|
|
|
67
71
|
## Guides
|
|
68
72
|
|
|
69
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
73
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
70
74
|
|
|
71
|
-
##
|
|
75
|
+
## Import
|
|
72
76
|
|
|
73
77
|
```ts
|
|
74
78
|
import { resamplePolyline3 } from "@metamesh/modeling/geometry";
|
|
75
79
|
```
|
|
76
80
|
|
|
77
|
-
Package: `@metamesh/modeling@0.
|
|
81
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,7 +12,7 @@ Resolves a deterministic full-circle count aligned to reusable topology factors.
|
|
|
12
12
|
const alignedSegments = resolveAlignedCircularSegments(20, { alignTo: [4, 6] });
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
`alignTo` must be
|
|
15
|
+
`alignTo` must be nonempty and contain only positive safe integers. Its checked least common
|
|
16
16
|
multiple defines the alignment grid. An exact `segments` value wins over
|
|
17
17
|
`resolution.circularSegments` and adaptive sampling, but is never rounded: it must already be
|
|
18
18
|
aligned and meet `minSegments`. Adaptive counts are rounded upward and fail with
|
|
@@ -36,7 +36,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
|
|
|
36
36
|
|
|
37
37
|
- [`alignTo`](AlignedCircularSegmentsOptions.md#alignto) · readonly `number`[] · Required
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
Nonempty alignment factors. Every value must be a positive safe integer; the returned count
|
|
40
40
|
is divisible by their checked least common multiple.
|
|
41
41
|
|
|
42
42
|
- [`sizing`](AlignedCircularSegmentsOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
|
|
@@ -60,7 +60,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
|
|
|
60
60
|
|
|
61
61
|
- [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
62
62
|
|
|
63
|
-
|
|
63
|
+
Explicit physical tessellation policy; omitted fields use package defaults.
|
|
64
64
|
|
|
65
65
|
|
|
66
66
|
|
|
@@ -80,10 +80,10 @@ An aligned full-circle segment count.
|
|
|
80
80
|
- [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
|
|
81
81
|
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
82
82
|
|
|
83
|
-
##
|
|
83
|
+
## Import
|
|
84
84
|
|
|
85
85
|
```ts
|
|
86
86
|
import { resolveAlignedCircularSegments } from "@metamesh/modeling/geometry";
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
Package: `@metamesh/modeling@0.
|
|
89
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,8 +12,8 @@ Resolves the number of segments needed for a circular arc.
|
|
|
12
12
|
const quarterTurnSegments = resolveArcSegments(10, 90);
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
Full-circle limits and exact circular counts are scaled to the requested angular span,
|
|
16
|
-
|
|
15
|
+
Full-circle limits and exact circular counts are scaled to the requested angular span,
|
|
16
|
+
retaining at least one segment.
|
|
17
17
|
|
|
18
18
|
## Parameters
|
|
19
19
|
|
|
@@ -29,7 +29,7 @@ Arc radius in millimetres.
|
|
|
29
29
|
|
|
30
30
|
**`angle`** · `number` · Required
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
Nonzero signed sweep angle no greater than 360 degrees in magnitude.
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
|
|
@@ -37,7 +37,7 @@ Non-zero signed sweep angle no greater than 360 degrees in magnitude.
|
|
|
37
37
|
|
|
38
38
|
**`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
Explicit physical sampling policy; omitted fields use package defaults.
|
|
41
41
|
|
|
42
42
|
|
|
43
43
|
|
|
@@ -45,6 +45,8 @@ Optional operation-level policy over the active model scope.
|
|
|
45
45
|
|
|
46
46
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
47
47
|
|
|
48
|
+
Full-circle segment limit, applied before scaling to the arc.
|
|
49
|
+
|
|
48
50
|
|
|
49
51
|
|
|
50
52
|
## Returns
|
|
@@ -64,10 +66,10 @@ Segment count for the requested arc span.
|
|
|
64
66
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
65
67
|
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
66
68
|
|
|
67
|
-
##
|
|
69
|
+
## Import
|
|
68
70
|
|
|
69
71
|
```ts
|
|
70
72
|
import { resolveArcSegments } from "@metamesh/modeling/geometry";
|
|
71
73
|
```
|
|
72
74
|
|
|
73
|
-
Package: `@metamesh/modeling@0.
|
|
75
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -37,10 +37,10 @@ exhausted limits rather than coarsening. The returned record is immutable and ne
|
|
|
37
37
|
- [CircleContourOptions](CircleContourOptions.md)
|
|
38
38
|
- [CircularSampling](CircularSampling.md)
|
|
39
39
|
|
|
40
|
-
##
|
|
40
|
+
## Import
|
|
41
41
|
|
|
42
42
|
```ts
|
|
43
43
|
import { resolveCircularSampling } from "@metamesh/modeling/geometry";
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
-
Package: `@metamesh/modeling@0.
|
|
46
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -31,7 +31,7 @@ Circle radius in millimetres.
|
|
|
31
31
|
|
|
32
32
|
**`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
|
|
33
33
|
|
|
34
|
-
Optional operation-level policy under explicit sampling
|
|
34
|
+
Optional operation-level policy under explicit sampling limits.
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
@@ -39,6 +39,8 @@ Optional operation-level policy under explicit sampling ceilings.
|
|
|
39
39
|
|
|
40
40
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
41
41
|
|
|
42
|
+
Full-circle segment limits; omitted fields use defaults.
|
|
43
|
+
|
|
42
44
|
|
|
43
45
|
|
|
44
46
|
## Returns
|
|
@@ -59,10 +61,10 @@ Full-circle segment count.
|
|
|
59
61
|
- [resolveAlignedCircularSegments](resolveAlignedCircularSegments.md)
|
|
60
62
|
- [resolveArcSegments](resolveArcSegments.md)
|
|
61
63
|
|
|
62
|
-
##
|
|
64
|
+
## Import
|
|
63
65
|
|
|
64
66
|
```ts
|
|
65
67
|
import { resolveCircularSegments } from "@metamesh/modeling/geometry";
|
|
66
68
|
```
|
|
67
69
|
|
|
68
|
-
Package: `@metamesh/modeling@0.
|
|
70
|
+
Package: `@metamesh/modeling@0.20.0`.
|
package/dist/docs/reference/geometry/{resolveExtrusionDivisions.md → resolveExtrusionSlices.md}
RENAMED
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
#
|
|
1
|
+
# resolveExtrusionSlices
|
|
2
2
|
|
|
3
|
-
Resolves
|
|
3
|
+
Resolves longitudinal intervals for ordinary linear extrusion from physical curve resolution.
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**resolveExtrusionSlices**(`profile`: [`RegionData`](RegionData.md) \| [`Contour`](Contour.md), `height`: `number`, `options?`: [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md)): `number`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
Accepts one XY loop or a filled XY region, including every hole and disconnected component.
|
|
10
|
-
|
|
10
|
+
End treatments are unsupported; native finishing inserts its own treatment stations.
|
|
11
|
+
Explicit positive `slices` override physical sampling. Otherwise chord error bounds
|
|
11
12
|
the triangulated side surface, including rotation across each profile edge. Optional segment
|
|
12
|
-
length bounds station travel including Z. Straight extrusions
|
|
13
|
+
length bounds station travel including Z. Straight extrusions use one interval by default.
|
|
13
14
|
Exceeding the selected maxPathPoints ceiling raises `COMPLEXITY_LIMIT` instead of reducing fidelity.
|
|
14
15
|
|
|
15
16
|
## Parameters
|
|
16
17
|
|
|
17
18
|
<a id="profile"></a>
|
|
18
19
|
|
|
19
|
-
**`profile`** · [`
|
|
20
|
+
**`profile`** · [`RegionData`](RegionData.md) \| [`Contour`](Contour.md) · Required
|
|
20
21
|
|
|
21
22
|
Ordered XY millimetre contours with implicit closing edges.
|
|
22
23
|
|
|
@@ -34,11 +35,11 @@ Positive extrusion height in millimetres.
|
|
|
34
35
|
|
|
35
36
|
**`options`** · [`ExtrusionSamplingOptions`](ExtrusionSamplingOptions.md) · Optional
|
|
36
37
|
|
|
37
|
-
Twist, scale, exact
|
|
38
|
+
Twist, scale, exact slices, and physical resolution controls.
|
|
38
39
|
|
|
39
|
-
- [`
|
|
40
|
+
- [`slices`](ExtrusionSamplingOptions.md#slices) · `number` · Optional
|
|
40
41
|
|
|
41
|
-
|
|
42
|
+
Positive longitudinal interval count; n slices create n + 1 profile layers. Overrides ordinary extrusion's physical sampling.
|
|
42
43
|
|
|
43
44
|
- [`limits`](ExtrusionSamplingOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
44
45
|
|
|
@@ -48,9 +49,9 @@ Twist, scale, exact divisions, and physical resolution controls.
|
|
|
48
49
|
|
|
49
50
|
Operation-level physical policy over the nearest model scope.
|
|
50
51
|
|
|
51
|
-
- [`
|
|
52
|
+
- [`scale`](ExtrusionSamplingOptions.md#scale) · `number` \| [`Vector2Input`](Vector2Input.md) · Optional
|
|
52
53
|
|
|
53
|
-
|
|
54
|
+
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.
|
|
54
55
|
|
|
55
56
|
- [`twist`](ExtrusionSamplingOptions.md#twist) · `number` · Optional
|
|
56
57
|
|
|
@@ -62,7 +63,7 @@ Twist, scale, exact divisions, and physical resolution controls.
|
|
|
62
63
|
|
|
63
64
|
`number`
|
|
64
65
|
|
|
65
|
-
|
|
66
|
+
Positive interval count, creating one more profile layer than intervals.
|
|
66
67
|
|
|
67
68
|
|
|
68
69
|
## Related APIs
|
|
@@ -75,10 +76,10 @@ Number of intermediate copies, excluding the two end profiles.
|
|
|
75
76
|
|
|
76
77
|
- [Exact counts and preflight guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
77
78
|
|
|
78
|
-
##
|
|
79
|
+
## Import
|
|
79
80
|
|
|
80
81
|
```ts
|
|
81
|
-
import {
|
|
82
|
+
import { resolveExtrusionSlices } from "@metamesh/modeling/geometry";
|
|
82
83
|
```
|
|
83
84
|
|
|
84
|
-
Package: `@metamesh/modeling@0.
|
|
85
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,6 +12,8 @@ Resolves finite positive safe-integer allocation ceilings without ambient state.
|
|
|
12
12
|
|
|
13
13
|
**`overrides`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
14
14
|
|
|
15
|
+
Trusted overrides that may raise defaults; omitted fields keep them.
|
|
16
|
+
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
## Returns
|
|
@@ -25,12 +27,12 @@ Resolves finite positive safe-integer allocation ceilings without ambient state.
|
|
|
25
27
|
|
|
26
28
|
## Guides
|
|
27
29
|
|
|
28
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
30
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
29
31
|
|
|
30
|
-
##
|
|
32
|
+
## Import
|
|
31
33
|
|
|
32
34
|
```ts
|
|
33
35
|
import { resolveGeometrySamplingLimits } from "@metamesh/modeling/geometry";
|
|
34
36
|
```
|
|
35
37
|
|
|
36
|
-
Package: `@metamesh/modeling@0.
|
|
38
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -36,7 +36,7 @@ Optional policy overrides.
|
|
|
36
36
|
|
|
37
37
|
- [`relative`](GeometryToleranceOptions.md#relative) · `number` · Optional
|
|
38
38
|
|
|
39
|
-
Dimensionless scale multiplier. Must be finite and
|
|
39
|
+
Dimensionless scale multiplier. Must be finite and nonnegative.
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
@@ -56,10 +56,10 @@ A complete tolerance policy including the scale-resolved distance.
|
|
|
56
56
|
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
57
57
|
- [ResolvedGeometryTolerance](ResolvedGeometryTolerance.md)
|
|
58
58
|
|
|
59
|
-
##
|
|
59
|
+
## Import
|
|
60
60
|
|
|
61
61
|
```ts
|
|
62
62
|
import { resolveGeometryTolerance } from "@metamesh/modeling/geometry";
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
Package: `@metamesh/modeling@0.
|
|
65
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -9,8 +9,7 @@ Replaces each vertex of a non-duplicated closed polyline with a sampled quadrati
|
|
|
9
9
|
`radius` is the desired tangent distance for a right angle and is capped to
|
|
10
10
|
45% of adjacent segment lengths to prevent neighboring corners from crossing.
|
|
11
11
|
The returned path does not duplicate its closing point.
|
|
12
|
-
|
|
13
|
-
Requires a closed path value; raw tuples are interpreted as closed. Invalid inputs throw GeometryError.
|
|
12
|
+
Invalid coordinates, topology, dimensions, or exhausted budgets throw GeometryError.
|
|
14
13
|
|
|
15
14
|
## Parameters
|
|
16
15
|
|
|
@@ -18,24 +17,32 @@ Requires a closed path value; raw tuples are interpreted as closed. Invalid inpu
|
|
|
18
17
|
|
|
19
18
|
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
20
19
|
|
|
20
|
+
Closed XYZ path or points in millimetres, without a repeated seam.
|
|
21
|
+
|
|
21
22
|
|
|
22
23
|
|
|
23
24
|
<a id="radius"></a>
|
|
24
25
|
|
|
25
26
|
**`radius`** · `number` · Required
|
|
26
27
|
|
|
28
|
+
Positive right-angle tangent distance in millimetres.
|
|
29
|
+
|
|
27
30
|
|
|
28
31
|
|
|
29
32
|
<a id="segmentspercorner"></a>
|
|
30
33
|
|
|
31
34
|
**`segmentsPerCorner`** · `number` · Required
|
|
32
35
|
|
|
36
|
+
Quadratic intervals per corner; a positive integer.
|
|
37
|
+
|
|
33
38
|
|
|
34
39
|
|
|
35
40
|
<a id="limits"></a>
|
|
36
41
|
|
|
37
42
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
38
43
|
|
|
44
|
+
Limits on input and rounded path points.
|
|
45
|
+
|
|
39
46
|
|
|
40
47
|
|
|
41
48
|
## Returns
|
|
@@ -51,12 +58,12 @@ readonly [`Vector3Data`](Vector3Data.md)[]
|
|
|
51
58
|
|
|
52
59
|
## Guides
|
|
53
60
|
|
|
54
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
61
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
55
62
|
|
|
56
|
-
##
|
|
63
|
+
## Import
|
|
57
64
|
|
|
58
65
|
```ts
|
|
59
66
|
import { roundClosedPolylinePath } from "@metamesh/modeling/geometry";
|
|
60
67
|
```
|
|
61
68
|
|
|
62
|
-
Package: `@metamesh/modeling@0.
|
|
69
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -31,7 +31,7 @@ coordinate range are required. No native engine, SDK, or ambient resolution is u
|
|
|
31
31
|
|
|
32
32
|
**`curve`** · [`ContourCurve`](ContourCurve.md) · Required
|
|
33
33
|
|
|
34
|
-
Closed contour in millimetres
|
|
34
|
+
Closed contour in millimetres, or coordinates converted by the selected scales.
|
|
35
35
|
|
|
36
36
|
|
|
37
37
|
|
|
@@ -39,7 +39,7 @@ Closed contour in millimetres unless positive scales convert its coordinates.
|
|
|
39
39
|
|
|
40
40
|
**`options`** · [`SampleContourOptions`](SampleContourOptions.md) · Optional
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
Coordinate scales, physical sampling, and vertex limits.
|
|
43
43
|
|
|
44
44
|
- [`widthScale`](SampleContourOptions.md#widthscale) · `number` · Optional
|
|
45
45
|
|
|
@@ -82,12 +82,12 @@ Frozen counterclockwise loop in millimetres, without a repeated seam endpoint.
|
|
|
82
82
|
|
|
83
83
|
## Guides
|
|
84
84
|
|
|
85
|
-
- [Choose a geometry representation](../../guides/geometry-values.md#
|
|
85
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
86
86
|
|
|
87
|
-
##
|
|
87
|
+
## Import
|
|
88
88
|
|
|
89
89
|
```ts
|
|
90
90
|
import { sampleContour } from "@metamesh/modeling/geometry";
|
|
91
91
|
```
|
|
92
92
|
|
|
93
|
-
Package: `@metamesh/modeling@0.
|
|
93
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -18,12 +18,16 @@ const turn = sampleCurve2({kind: "arc", center: [0,0], radius: 10, sweepAngle: 9
|
|
|
18
18
|
|
|
19
19
|
**`curve`** · [`Curve2`](Curve2.md) · Required
|
|
20
20
|
|
|
21
|
+
XY curve in millimetres; arc angles use degrees.
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
<a id="options"></a>
|
|
24
26
|
|
|
25
27
|
**`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
|
|
26
28
|
|
|
29
|
+
Physical sampling or an exact interval count, within vertex limits.
|
|
30
|
+
|
|
27
31
|
- [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
|
|
28
32
|
|
|
29
33
|
Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
|
|
@@ -59,12 +63,12 @@ Returned planar points and tangents are copied and frozen. At stationary tangent
|
|
|
59
63
|
|
|
60
64
|
## Guides
|
|
61
65
|
|
|
62
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
66
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
63
67
|
|
|
64
|
-
##
|
|
68
|
+
## Import
|
|
65
69
|
|
|
66
70
|
```ts
|
|
67
71
|
import { sampleCurve2 } from "@metamesh/modeling/geometry";
|
|
68
72
|
```
|
|
69
73
|
|
|
70
|
-
Package: `@metamesh/modeling@0.
|
|
74
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -18,12 +18,16 @@ const path = sampleCurve3({kind: "cubic", start: [0,0,0], control1: [5,0,0], con
|
|
|
18
18
|
|
|
19
19
|
**`curve`** · [`Curve3`](Curve3.md) · Required
|
|
20
20
|
|
|
21
|
+
XYZ curve in millimetres; arc angles use degrees.
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
<a id="options"></a>
|
|
24
26
|
|
|
25
27
|
**`options`** · [`CurveSamplingOptions`](CurveSamplingOptions.md) · Optional
|
|
26
28
|
|
|
29
|
+
Physical sampling or an exact interval count, within vertex limits.
|
|
30
|
+
|
|
27
31
|
- [`segments`](CurveSamplingOptions.md#segments) · `number` · Optional
|
|
28
32
|
|
|
29
33
|
Exact segment count overrides physical criteria; curve parameters are spaced uniformly.
|
|
@@ -60,12 +64,12 @@ bound the full control hull. Full-circle arcs repeat their endpoint; closed poly
|
|
|
60
64
|
|
|
61
65
|
## Guides
|
|
62
66
|
|
|
63
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
67
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
64
68
|
|
|
65
|
-
##
|
|
69
|
+
## Import
|
|
66
70
|
|
|
67
71
|
```ts
|
|
68
72
|
import { sampleCurve3 } from "@metamesh/modeling/geometry";
|
|
69
73
|
```
|
|
70
74
|
|
|
71
|
-
Package: `@metamesh/modeling@0.
|
|
75
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -44,12 +44,12 @@ readonly [`Vector3Data`](Vector3Data.md)[]
|
|
|
44
44
|
|
|
45
45
|
## Guides
|
|
46
46
|
|
|
47
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
47
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
48
48
|
|
|
49
|
-
##
|
|
49
|
+
## Import
|
|
50
50
|
|
|
51
51
|
```ts
|
|
52
52
|
import { sampleHelix } from "@metamesh/modeling/geometry";
|
|
53
53
|
```
|
|
54
54
|
|
|
55
|
-
Package: `@metamesh/modeling@0.
|
|
55
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -27,7 +27,7 @@ no axis closure, winding normalization, or manufacturing repair is performed.
|
|
|
27
27
|
|
|
28
28
|
**`curve`** · [`SideProfileCurve`](SideProfileCurve.md) · Required
|
|
29
29
|
|
|
30
|
-
Open outline in millimetres
|
|
30
|
+
Open outline in millimetres, or coordinates converted by the selected scales.
|
|
31
31
|
|
|
32
32
|
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ Open outline in millimetres unless the positive scales convert its coordinates.
|
|
|
35
35
|
|
|
36
36
|
**`options`** · [`SampleSideProfileOptions`](SampleSideProfileOptions.md) · Optional
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
Coordinate scales, physical sampling, and vertex limits.
|
|
39
39
|
|
|
40
40
|
- [`radiusScale`](SampleSideProfileOptions.md#radiusscale) · `number` · Optional
|
|
41
41
|
|
|
@@ -78,12 +78,12 @@ Frozen open polyline in millimetres, ordered from lowest to highest anchor.
|
|
|
78
78
|
|
|
79
79
|
## Guides
|
|
80
80
|
|
|
81
|
-
- [Choose a geometry representation](../../guides/geometry-values.md#
|
|
81
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
82
82
|
|
|
83
|
-
##
|
|
83
|
+
## Import
|
|
84
84
|
|
|
85
85
|
```ts
|
|
86
86
|
import { sampleSideProfile } from "@metamesh/modeling/geometry";
|
|
87
87
|
```
|
|
88
88
|
|
|
89
|
-
Package: `@metamesh/modeling@0.
|
|
89
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -28,7 +28,7 @@ Explicit curve sampling policy; omitted uses the pure default policy.
|
|
|
28
28
|
|
|
29
29
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Profile-point and circle-segment limits.
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -54,10 +54,10 @@ Frozen contours with original glyph winding and no repeated closing vertex.
|
|
|
54
54
|
|
|
55
55
|
- [SVG preflight work and guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
56
56
|
|
|
57
|
-
##
|
|
57
|
+
## Import
|
|
58
58
|
|
|
59
59
|
```ts
|
|
60
60
|
import { sampleTextContours } from "@metamesh/modeling/geometry";
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
-
Package: `@metamesh/modeling@0.
|
|
63
|
+
Package: `@metamesh/modeling@0.20.0`.
|