@metamesh/modeling 0.15.0 → 0.17.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 +59 -0
- package/README.md +54 -6
- package/dist/api/engine.d.ts +4 -3
- package/dist/api/geometry.d.ts +608 -266
- package/dist/api/index.d.ts +516 -110
- package/dist/api/text.d.ts +6 -6
- package/dist/docs/guides/concepts.md +298 -106
- package/dist/docs/guides/fonts.md +9 -8
- package/dist/docs/guides/fundamentals.md +17 -21
- package/dist/docs/guides/generation.md +24 -23
- package/dist/docs/guides/hosting.md +25 -20
- package/dist/docs/guides/recipes.md +68 -36
- package/dist/docs/guides/standalone-model.md +42 -0
- package/dist/docs/manifest.json +1034 -296
- package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
- package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
- package/dist/docs/reference/engine/GenerationOptions.md +1 -1
- package/dist/docs/reference/engine/GeometryResource.md +1 -1
- package/dist/docs/reference/engine/ModelDependencies.md +1 -1
- package/dist/docs/reference/engine/ModelEngine.md +1 -1
- package/dist/docs/reference/engine/ModelEngineOptions.md +1 -1
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +2 -2
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +7 -4
- package/dist/docs/reference/engine/categories/host-lifecycle.md +8 -3
- package/dist/docs/reference/engine/createModelEngine.md +1 -1
- package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
- package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
- package/dist/docs/reference/engine/validateModel.md +1 -1
- package/dist/docs/reference/engine.md +6 -2
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +1 -1
- package/dist/docs/reference/geometry/Anchor3-type.md +6 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +7 -3
- package/dist/docs/reference/geometry/ArcCurve3.md +9 -5
- package/dist/docs/reference/geometry/AttachOptions.md +2 -1
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +2 -1
- package/dist/docs/reference/geometry/Bounds2-type.md +127 -0
- package/dist/docs/reference/geometry/Bounds2Data.md +45 -0
- package/dist/docs/reference/geometry/Bounds2Input.md +21 -0
- package/dist/docs/reference/geometry/Bounds2Options.md +72 -0
- package/dist/docs/reference/geometry/Bounds3-type.md +127 -0
- package/dist/docs/reference/geometry/Bounds3Data.md +45 -0
- package/dist/docs/reference/geometry/Bounds3Input.md +21 -0
- package/dist/docs/reference/geometry/Bounds3Options.md +72 -0
- package/dist/docs/reference/geometry/BoundsFit2.md +6 -5
- package/dist/docs/reference/geometry/BoundsFit3.md +6 -5
- package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +2 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +5 -4
- package/dist/docs/reference/geometry/BoxEdge.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/geometry/BoxOptions.md +3 -3
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +8 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +5 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularSampling.md +41 -0
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +14 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +6 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +6 -1
- package/dist/docs/reference/geometry/Contour.md +10 -4
- package/dist/docs/reference/geometry/ContourCurve.md +5 -1
- package/dist/docs/reference/geometry/ContourPoint.md +6 -1
- package/dist/docs/reference/geometry/ContourSegment.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +5 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +5 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +10 -6
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +10 -6
- package/dist/docs/reference/geometry/Curve2.md +5 -1
- package/dist/docs/reference/geometry/Curve3.md +5 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +5 -1
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +7 -3
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +2 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -3
- package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +6 -1
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +6 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +5 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +6 -1
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +7 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +5 -1
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -1
- package/dist/docs/reference/geometry/FittedTextLayout.md +7 -3
- package/dist/docs/reference/geometry/Frame3.md +10 -6
- package/dist/docs/reference/geometry/GeometryError.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +4 -4
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +5 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +9 -5
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +9 -4
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +5 -1
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +5 -1
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +7 -2
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +4 -3
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +5 -1
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +82 -0
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +148 -0
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +46 -0
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +51 -0
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +22 -0
- package/dist/docs/reference/geometry/LineCurve2.md +8 -4
- package/dist/docs/reference/geometry/LineCurve3.md +8 -4
- package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/LoftCorrespondence.md +6 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +5 -1
- package/dist/docs/reference/geometry/LoftOptions.md +5 -1
- package/dist/docs/reference/geometry/LoftPlacement.md +5 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +5 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +5 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +9 -2
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +6 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +6 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +5 -1
- package/dist/docs/reference/geometry/Path2-type.md +12 -8
- package/dist/docs/reference/geometry/Path2Data.md +40 -4
- package/dist/docs/reference/geometry/Path2Input.md +8 -3
- package/dist/docs/reference/geometry/Path3-type.md +12 -8
- package/dist/docs/reference/geometry/Path3Data.md +40 -4
- package/dist/docs/reference/geometry/Path3Input.md +8 -3
- package/dist/docs/reference/geometry/PathFrame.md +9 -5
- package/dist/docs/reference/geometry/PathLocation.md +5 -1
- package/dist/docs/reference/geometry/PathNormalGuide.md +8 -4
- package/dist/docs/reference/geometry/PathOptions.md +5 -1
- package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPlacement.md +8 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +5 -1
- package/dist/docs/reference/geometry/Pivot2Options.md +2 -1
- package/dist/docs/reference/geometry/Pivot3Options.md +2 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +8 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +5 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +5 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +7 -3
- package/dist/docs/reference/geometry/PolygonData.md +7 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +5 -1
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -1
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFit.md +8 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +6 -1
- package/dist/docs/reference/geometry/Profile.md +8 -2
- package/dist/docs/reference/geometry/ProfileComponent2.md +5 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +7 -3
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/geometry/RackPitchDimensions.md +6 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +6 -1
- package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/RadialSizing.md +1 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +7 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +5 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +5 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +7 -3
- package/dist/docs/reference/geometry/RegionData.md +6 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +5 -1
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +5 -1
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +5 -1
- package/dist/docs/reference/geometry/SampleHelixOptions.md +5 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +5 -1
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -4
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -4
- package/dist/docs/reference/geometry/SampledThreadHelices.md +7 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +5 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +6 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +5 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +5 -1
- package/dist/docs/reference/geometry/SphereOptions.md +1 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/StrokeCap.md +8 -1
- package/dist/docs/reference/geometry/StrokeJoin.md +8 -1
- package/dist/docs/reference/geometry/StrokeOptions.md +5 -1
- package/dist/docs/reference/geometry/SvgImportOptions.md +20 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +21 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +7 -3
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +6 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +6 -1
- package/dist/docs/reference/geometry/SweepOptions.md +5 -1
- package/dist/docs/reference/geometry/SweepOrientation.md +5 -1
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +8 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +8 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +8 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +8 -1
- package/dist/docs/reference/geometry/ThreadProfile-type.md +7 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +5 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/ThreadRole.md +8 -1
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +8 -1
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +5 -1
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +7 -3
- package/dist/docs/reference/geometry/ThreadedNutShape.md +8 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +5 -1
- package/dist/docs/reference/geometry/TorusOptions.md +1 -1
- package/dist/docs/reference/geometry/Transform2-type.md +6 -5
- package/dist/docs/reference/geometry/Transform2Data.md +15 -0
- package/dist/docs/reference/geometry/Transform2Input.md +4 -3
- package/dist/docs/reference/geometry/Transform3-type.md +6 -5
- package/dist/docs/reference/geometry/Transform3Data.md +18 -0
- package/dist/docs/reference/geometry/Transform3Input.md +4 -3
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/TriangleMesh.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +5 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +7 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +6 -1
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +5 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +5 -1
- package/dist/docs/reference/geometry/TubeOptions.md +1 -1
- package/dist/docs/reference/geometry/Vector2-type.md +6 -5
- package/dist/docs/reference/geometry/Vector2Data.md +15 -0
- package/dist/docs/reference/geometry/Vector2Input.md +4 -3
- package/dist/docs/reference/geometry/Vector3-type.md +6 -5
- package/dist/docs/reference/geometry/Vector3Data.md +15 -0
- package/dist/docs/reference/geometry/Vector3Input.md +4 -3
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +6 -1
- package/dist/docs/reference/geometry/VectorTextLayout.md +5 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +7 -3
- package/dist/docs/reference/geometry/VectorTextMetrics.md +7 -3
- package/dist/docs/reference/geometry/VectorTextOptions.md +5 -1
- package/dist/docs/reference/geometry/add2.md +7 -6
- package/dist/docs/reference/geometry/add3.md +7 -6
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +5 -1
- package/dist/docs/reference/geometry/anchor3.md +2 -1
- package/dist/docs/reference/geometry/anchorFrame3.md +5 -1
- package/dist/docs/reference/geometry/applyTransformDirection3.md +8 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +8 -7
- package/dist/docs/reference/geometry/attachmentTransform3.md +5 -4
- package/dist/docs/reference/geometry/bounds2.md +39 -0
- package/dist/docs/reference/geometry/bounds3.md +39 -0
- package/dist/docs/reference/geometry/boundsCenter.md +12 -11
- package/dist/docs/reference/geometry/boundsSize.md +12 -11
- package/dist/docs/reference/geometry/boxAnchor3.md +4 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +25 -9
- package/dist/docs/reference/geometry/categories/curves-paths.md +21 -9
- package/dist/docs/reference/geometry/categories/mechanical.md +22 -10
- package/dist/docs/reference/geometry/categories/meshes.md +16 -7
- package/dist/docs/reference/geometry/categories/pattern-placement.md +6 -4
- package/dist/docs/reference/geometry/categories/primitive-options.md +8 -2
- package/dist/docs/reference/geometry/categories/profiles-regions.md +21 -12
- package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +21 -12
- package/dist/docs/reference/geometry/categories/vector-import.md +11 -5
- package/dist/docs/reference/geometry/circleContour.md +5 -1
- package/dist/docs/reference/geometry/closeToAxis.md +14 -5
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +5 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +5 -1
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -1
- package/dist/docs/reference/geometry/composeTransform3.md +7 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +5 -1
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +11 -2
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +13 -5
- package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +5 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +8 -4
- package/dist/docs/reference/geometry/cross2.md +6 -5
- package/dist/docs/reference/geometry/cross3.md +7 -6
- package/dist/docs/reference/geometry/cylinderAnchor3.md +3 -2
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/distance2.md +6 -5
- package/dist/docs/reference/geometry/distance3.md +6 -5
- package/dist/docs/reference/geometry/distributeAlongPath.md +5 -1
- package/dist/docs/reference/geometry/dot2.md +6 -5
- package/dist/docs/reference/geometry/dot3.md +6 -5
- package/dist/docs/reference/geometry/ellipseContour.md +5 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +7 -6
- package/dist/docs/reference/geometry/extrudeMesh.md +5 -1
- package/dist/docs/reference/geometry/fitBounds.md +10 -9
- package/dist/docs/reference/geometry/fitTextLayout.md +13 -5
- package/dist/docs/reference/geometry/frameTransform3.md +5 -4
- package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +5 -1
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +5 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +4 -4
- package/dist/docs/reference/geometry/heightfieldMesh.md +11 -2
- package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +5 -1
- package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +5 -1
- package/dist/docs/reference/geometry/inverseTransform3.md +6 -5
- package/dist/docs/reference/geometry/isGeometryError.md +5 -2
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +5 -1
- package/dist/docs/reference/geometry/layoutRow.md +11 -7
- package/dist/docs/reference/geometry/length2.md +5 -4
- package/dist/docs/reference/geometry/length3.md +5 -4
- package/dist/docs/reference/geometry/lerp2.md +7 -6
- package/dist/docs/reference/geometry/lerp3.md +7 -6
- package/dist/docs/reference/geometry/linearPatternTransforms.md +4 -4
- package/dist/docs/reference/geometry/loftMesh.md +5 -1
- package/dist/docs/reference/geometry/matchProfiles.md +11 -2
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +5 -1
- package/dist/docs/reference/geometry/meshBounds.md +8 -4
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +5 -1
- package/dist/docs/reference/geometry/normalize2.md +10 -6
- package/dist/docs/reference/geometry/normalize3.md +10 -6
- package/dist/docs/reference/geometry/normalizeContour.md +8 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -1
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -1
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +5 -1
- package/dist/docs/reference/geometry/path2.md +14 -2
- package/dist/docs/reference/geometry/path3.md +8 -1
- package/dist/docs/reference/geometry/pathPatternTransforms.md +9 -5
- package/dist/docs/reference/geometry/preflightHeightfield.md +11 -2
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +11 -2
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +13 -2
- package/dist/docs/reference/geometry/preflightSvgRegion.md +24 -2
- package/dist/docs/reference/geometry/preflightThreadedNut.md +12 -2
- package/dist/docs/reference/geometry/preflightThreadedRod.md +12 -2
- package/dist/docs/reference/geometry/projectOntoPlane3.md +7 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -4
- package/dist/docs/reference/geometry/rectangleContour.md +10 -3
- package/dist/docs/reference/geometry/rectangleProfile.md +10 -2
- package/dist/docs/reference/geometry/regionArea.md +5 -1
- package/dist/docs/reference/geometry/regionBounds.md +8 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +8 -4
- package/dist/docs/reference/geometry/resamplePolyline2.md +8 -4
- package/dist/docs/reference/geometry/resamplePolyline3.md +8 -4
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCircularSampling.md +40 -0
- package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +5 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +5 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +5 -1
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +59 -0
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +5 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +5 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +5 -1
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/revolveMesh.md +5 -1
- package/dist/docs/reference/geometry/rotate2.md +6 -5
- package/dist/docs/reference/geometry/rotationTransform3.md +7 -6
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -4
- package/dist/docs/reference/geometry/sampleContour.md +12 -2
- package/dist/docs/reference/geometry/sampleCurve2.md +6 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +5 -1
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +5 -1
- package/dist/docs/reference/geometry/sampleHelix.md +13 -5
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +5 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -4
- package/dist/docs/reference/geometry/sampleSideProfile.md +15 -5
- package/dist/docs/reference/geometry/sampleTextContours.md +5 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +5 -1
- package/dist/docs/reference/geometry/scale2.md +6 -5
- package/dist/docs/reference/geometry/scale3.md +6 -5
- package/dist/docs/reference/geometry/scaleTransform3.md +7 -6
- package/dist/docs/reference/geometry/signedContourArea.md +5 -1
- package/dist/docs/reference/geometry/starContour.md +8 -4
- package/dist/docs/reference/geometry/strokeRegionData.md +5 -1
- package/dist/docs/reference/geometry/subtract2.md +7 -6
- package/dist/docs/reference/geometry/subtract3.md +7 -6
- package/dist/docs/reference/geometry/sweepMesh.md +5 -1
- package/dist/docs/reference/geometry/threadProfile.md +5 -1
- package/dist/docs/reference/geometry/transform2.md +14 -7
- package/dist/docs/reference/geometry/transform3.md +16 -7
- package/dist/docs/reference/geometry/transformDeterminant3.md +5 -4
- package/dist/docs/reference/geometry/transformRegionData.md +5 -1
- package/dist/docs/reference/geometry/transformTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/translationTransform3.md +7 -6
- package/dist/docs/reference/geometry/triangulateContour.md +5 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +9 -2
- package/dist/docs/reference/geometry/validateTransform3.md +6 -5
- package/dist/docs/reference/geometry/validateTriangleMesh.md +5 -1
- package/dist/docs/reference/geometry/vector2.md +10 -2
- package/dist/docs/reference/geometry/vector3.md +10 -2
- package/dist/docs/reference/geometry.md +7 -5
- package/dist/docs/reference/model/Anchor3.md +6 -5
- package/dist/docs/reference/model/AttachOptions.md +2 -1
- package/dist/docs/reference/model/Bounds2-type.md +125 -0
- package/dist/docs/reference/model/Bounds2Data.md +44 -0
- package/dist/docs/reference/model/Bounds2Input.md +19 -0
- package/dist/docs/reference/model/Bounds2Options.md +70 -0
- package/dist/docs/reference/model/Bounds3-type.md +125 -0
- package/dist/docs/reference/model/Bounds3Data.md +44 -0
- package/dist/docs/reference/model/Bounds3Input.md +19 -0
- package/dist/docs/reference/model/Bounds3Options.md +70 -0
- package/dist/docs/reference/model/BoxEdge.md +1 -1
- package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/model/BoxOptions.md +3 -3
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/CircleContourOptions.md +1 -1
- package/dist/docs/reference/model/CircleOptions.md +1 -1
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/model/Computed.md +6 -1
- package/dist/docs/reference/model/ComputedValue.md +5 -1
- package/dist/docs/reference/model/Contour.md +6 -4
- package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/model/CorrespondingContour.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/model/CylinderOptions.md +1 -1
- package/dist/docs/reference/model/DiagnosticOptions.md +6 -1
- package/dist/docs/reference/model/EdgeTreatment.md +1 -1
- package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/model/EllipseOptions.md +1 -1
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +1 -1
- package/dist/docs/reference/model/FinalizedModel.md +3 -3
- package/dist/docs/reference/model/FinalizedPart.md +1 -1
- package/dist/docs/reference/model/Frame3.md +6 -6
- package/dist/docs/reference/model/GenerateCallback.md +5 -1
- package/dist/docs/reference/model/GenerateContext.md +5 -1
- package/dist/docs/reference/model/GeneratedPart.md +5 -1
- package/dist/docs/reference/model/GenerationDiagnostic.md +6 -1
- package/dist/docs/reference/model/GenerationError.md +5 -1
- package/dist/docs/reference/model/GeometryResolution.md +1 -1
- package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/model/GridPatternOptions.md +5 -4
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +2 -1
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +3 -2
- package/dist/docs/reference/model/HoleCutterOptions.md +77 -0
- package/dist/docs/reference/model/HoleCutterOverrun.md +35 -0
- package/dist/docs/reference/model/HoleCutterRecess.md +87 -0
- package/dist/docs/reference/model/HullOptions.md +1 -1
- package/dist/docs/reference/model/ImmutableBuffer-type.md +5 -1
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +5 -1
- package/dist/docs/reference/model/ImplicitOptions.md +6 -6
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +2 -1
- package/dist/docs/reference/model/KnuckleHinge-type.md +47 -0
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +77 -0
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +38 -0
- package/dist/docs/reference/model/KnuckleHingeOptions.md +38 -0
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +47 -0
- package/dist/docs/reference/model/KnuckleHingeSpec.md +18 -0
- package/dist/docs/reference/model/KnuckleHingeWeb.md +53 -0
- package/dist/docs/reference/model/LinearPatternOptions.md +2 -1
- package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/model/LoftOptions.md +1 -1
- package/dist/docs/reference/model/LoftPlacement.md +1 -1
- package/dist/docs/reference/model/LoftStation.md +1 -1
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +5 -1
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +8 -1
- package/dist/docs/reference/model/PartGeometry.md +5 -1
- package/dist/docs/reference/model/PartOptions.md +5 -1
- package/dist/docs/reference/model/Path2-type.md +12 -8
- package/dist/docs/reference/model/Path2Data.md +40 -4
- package/dist/docs/reference/model/Path2Input.md +8 -3
- package/dist/docs/reference/model/Path3-type.md +12 -8
- package/dist/docs/reference/model/Path3Data.md +40 -4
- package/dist/docs/reference/model/Path3Input.md +8 -3
- package/dist/docs/reference/model/PathLocation.md +5 -1
- package/dist/docs/reference/model/PathNormalGuide.md +4 -4
- package/dist/docs/reference/model/PathOptions.md +5 -1
- package/dist/docs/reference/model/PathPatternOptions.md +2 -1
- package/dist/docs/reference/model/PathResamplingOptions.md +5 -1
- package/dist/docs/reference/model/PatternSource.md +2 -1
- package/dist/docs/reference/model/Pivot2Options.md +2 -1
- package/dist/docs/reference/model/Pivot3Options.md +2 -1
- package/dist/docs/reference/model/PlaneOptions.md +1 -1
- package/dist/docs/reference/model/PolygonData.md +3 -2
- package/dist/docs/reference/model/PolygonOptions.md +1 -1
- package/dist/docs/reference/model/PrimitiveAttachment.md +2 -1
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +2 -1
- package/dist/docs/reference/model/PrintableThreadFit.md +2 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +2 -1
- package/dist/docs/reference/model/Profile.md +4 -2
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +4 -2
- package/dist/docs/reference/model/ProfileSpan2.md +3 -3
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/model/RadialPatternOptions.md +2 -1
- package/dist/docs/reference/model/RadialSizing.md +1 -1
- package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/model/RectangleOptions.md +3 -3
- package/dist/docs/reference/model/RegionData.md +2 -2
- package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
- package/dist/docs/reference/model/RevolveOptions.md +1 -1
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +9 -2
- package/dist/docs/reference/model/SectionHullOptions.md +1 -1
- package/dist/docs/reference/model/SectionInspection.md +4 -4
- package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
- package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +9 -2
- package/dist/docs/reference/model/SolidInspection.md +4 -4
- package/dist/docs/reference/model/SolidSegmentHit.md +4 -4
- package/dist/docs/reference/model/SphereOptions.md +1 -1
- package/dist/docs/reference/model/StarOptions.md +1 -1
- package/dist/docs/reference/model/StrokeCap.md +1 -1
- package/dist/docs/reference/model/StrokeJoin.md +1 -1
- package/dist/docs/reference/model/StrokeOptions.md +1 -1
- package/dist/docs/reference/model/SvgOrigin.md +1 -1
- package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
- package/dist/docs/reference/model/SvgSectionOptions.md +14 -1
- package/dist/docs/reference/model/SweepOptions.md +1 -1
- package/dist/docs/reference/model/SweepOrientation.md +1 -1
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadEndStyle.md +2 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +2 -1
- package/dist/docs/reference/model/ThreadHandedness.md +2 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +2 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +2 -1
- package/dist/docs/reference/model/ThreadProfile.md +4 -3
- package/dist/docs/reference/model/ThreadRidgeOptions.md +2 -1
- package/dist/docs/reference/model/ThreadedNutBevel.md +2 -1
- package/dist/docs/reference/model/ThreadedNutOptions.md +2 -1
- package/dist/docs/reference/model/ThreadedNutPreflight.md +4 -3
- package/dist/docs/reference/model/ThreadedNutShape.md +2 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +2 -1
- package/dist/docs/reference/model/TorusOptions.md +1 -1
- package/dist/docs/reference/model/Transform2-type.md +6 -5
- package/dist/docs/reference/model/Transform2Data.md +16 -0
- package/dist/docs/reference/model/Transform2Input.md +4 -3
- package/dist/docs/reference/model/Transform3-type.md +6 -5
- package/dist/docs/reference/model/Transform3Data.md +19 -0
- package/dist/docs/reference/model/Transform3Input.md +4 -3
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +3 -3
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +3 -3
- package/dist/docs/reference/model/TubeOptions.md +1 -1
- package/dist/docs/reference/model/Vector2-type.md +6 -5
- package/dist/docs/reference/model/{Vector2Tuple.md → Vector2Data.md} +3 -3
- package/dist/docs/reference/model/Vector2Input.md +4 -3
- package/dist/docs/reference/model/Vector3-type.md +6 -5
- package/dist/docs/reference/model/{Vector3Tuple.md → Vector3Data.md} +3 -3
- package/dist/docs/reference/model/Vector3Input.md +4 -3
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +3 -3
- package/dist/docs/reference/model/anchor.md +2 -1
- package/dist/docs/reference/model/bounds2.md +37 -0
- package/dist/docs/reference/model/bounds3.md +37 -0
- package/dist/docs/reference/model/box.md +2 -2
- package/dist/docs/reference/model/castSegment.md +1 -1
- package/dist/docs/reference/model/categories/boolean-operations.md +10 -3
- package/dist/docs/reference/model/categories/bounded-surfaces.md +5 -3
- package/dist/docs/reference/model/categories/bounds.md +38 -0
- package/dist/docs/reference/model/categories/contracts.md +4 -2
- package/dist/docs/reference/model/categories/core-values-errors.md +11 -11
- package/dist/docs/reference/model/categories/explicit-profiles.md +6 -4
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +12 -3
- package/dist/docs/reference/model/categories/generation.md +11 -2
- package/dist/docs/reference/model/categories/hinges.md +38 -0
- package/dist/docs/reference/model/categories/inspection.md +9 -2
- package/dist/docs/reference/model/categories/mesh-inspection.md +5 -3
- package/dist/docs/reference/model/categories/paths.md +15 -7
- package/dist/docs/reference/model/categories/primitives.md +14 -4
- package/dist/docs/reference/model/categories/resolution.md +4 -2
- package/dist/docs/reference/model/categories/sections.md +10 -5
- package/dist/docs/reference/model/categories/threads.md +10 -7
- package/dist/docs/reference/model/categories/transforms-placement.md +17 -9
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +1 -1
- package/dist/docs/reference/model/compose.md +1 -1
- package/dist/docs/reference/model/cylinder.md +1 -1
- package/dist/docs/reference/model/distance.md +1 -1
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +1 -1
- package/dist/docs/reference/model/generate.md +5 -1
- package/dist/docs/reference/model/gridPattern.md +2 -1
- package/dist/docs/reference/model/heightfield.md +5 -2
- package/dist/docs/reference/model/holeCutter.md +45 -0
- package/dist/docs/reference/model/hull.md +1 -1
- package/dist/docs/reference/model/immutableBuffer.md +5 -1
- package/dist/docs/reference/model/immutableMesh.md +5 -1
- package/dist/docs/reference/model/implicit.md +3 -3
- package/dist/docs/reference/model/inspectSection.md +1 -1
- package/dist/docs/reference/model/inspectSolid.md +1 -1
- package/dist/docs/reference/model/internalThreadCutter.md +2 -1
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +1 -1
- package/dist/docs/reference/model/knuckleHinge.md +47 -0
- package/dist/docs/reference/model/linearPattern.md +2 -1
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +1 -1
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +14 -2
- package/dist/docs/reference/model/path3.md +8 -1
- package/dist/docs/reference/model/pathPattern.md +2 -1
- package/dist/docs/reference/model/polygon.md +5 -2
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +8 -2
- package/dist/docs/reference/model/preflightThreadedNut.md +8 -2
- package/dist/docs/reference/model/preflightThreadedRod.md +8 -2
- package/dist/docs/reference/model/radialPattern.md +2 -1
- package/dist/docs/reference/model/rectangle.md +5 -2
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +1 -1
- package/dist/docs/reference/model/solidFromMesh.md +1 -1
- package/dist/docs/reference/model/sphere.md +1 -1
- package/dist/docs/reference/model/split.md +1 -1
- package/dist/docs/reference/model/splitByPlane.md +1 -1
- package/dist/docs/reference/model/star.md +1 -1
- package/dist/docs/reference/model/stroke.md +1 -1
- package/dist/docs/reference/model/svgPathSection.md +1 -1
- package/dist/docs/reference/model/svgSection.md +5 -1
- package/dist/docs/reference/model/sweep.md +1 -1
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +2 -1
- package/dist/docs/reference/model/threadedNut.md +2 -1
- package/dist/docs/reference/model/threadedRod.md +2 -1
- package/dist/docs/reference/model/torus.md +1 -1
- package/dist/docs/reference/model/transform2.md +14 -7
- package/dist/docs/reference/model/transform3.md +16 -7
- package/dist/docs/reference/model/tube.md +1 -1
- package/dist/docs/reference/model/union.md +1 -1
- package/dist/docs/reference/model/vector2.md +10 -2
- package/dist/docs/reference/model/vector3.md +10 -2
- package/dist/docs/reference/model.md +15 -8
- package/dist/docs/reference/text/Bounds2Data.md +34 -0
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Data.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +7 -7
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
- package/dist/docs/reference/text/VectorTextLayout.md +1 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +3 -3
- package/dist/docs/reference/text/VectorTextMetrics.md +3 -3
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +6 -4
- package/dist/docs/reference/text/prepareVectorFont.md +1 -1
- package/dist/docs/reference/text.md +4 -2
- package/dist/engine/construction-operations.js +1 -1
- package/dist/engine/extrusion-finishing.js +2 -29
- package/dist/engine/hole-cutter-operation.js +148 -0
- package/dist/engine/knuckle-hinge-operation.js +128 -0
- package/dist/engine/loft-operations.js +1 -1
- package/dist/engine/mechanical-operations.js +3 -1
- package/dist/engine/modeling-context.js +20 -1
- package/dist/engine/primitive-operations.js +19 -6
- package/dist/engine/recipe-realization.js +4 -2
- package/dist/engine/section-operations.js +2 -2
- package/dist/engine/transform-operations.js +3 -3
- package/dist/geometry/bounds-value.js +121 -0
- package/dist/geometry/bounds.js +10 -25
- package/dist/geometry/circular-sampling.js +45 -0
- package/dist/geometry/convex-offset.js +41 -0
- package/dist/geometry/curves/sampling.js +1 -2
- package/dist/geometry/errors.js +1 -0
- package/dist/geometry/heightfield.js +12 -1
- package/dist/geometry/index.js +5 -2
- package/dist/geometry/math/immutable-value.js +1 -1
- package/dist/geometry/math/vector-value.js +11 -3
- package/dist/geometry/math/vector2.js +1 -0
- package/dist/geometry/math/vector3.js +1 -0
- package/dist/geometry/mechanical/index.js +1 -0
- package/dist/geometry/mechanical/knuckle-hinge.js +110 -0
- package/dist/geometry/mechanical/thread-mesh-plan.js +7 -2
- package/dist/geometry/mechanical/thread-solids.js +29 -4
- package/dist/geometry/mesh/mesh-centroid.js +1 -0
- package/dist/geometry/mesh/mesh-solid.js +1 -0
- package/dist/geometry/paths/frames.js +1 -0
- package/dist/geometry/paths/helix.js +1 -0
- package/dist/geometry/paths/path-value.js +43 -27
- package/dist/geometry/paths/resampling.js +2 -2
- package/dist/geometry/patterns/placements.js +3 -3
- package/dist/geometry/patterns.js +3 -1
- package/dist/geometry/profiles/contour.js +1 -0
- package/dist/geometry/profiles/matched.js +1 -0
- package/dist/geometry/profiles/profiles.js +3 -23
- package/dist/geometry/profiles/rectangle.js +10 -1
- package/dist/geometry/profiles/side-profile.js +2 -0
- package/dist/geometry/svg/matrix.js +21 -0
- package/dist/geometry/svg-import.js +140 -52
- package/dist/geometry/sweeps/options.js +1 -1
- package/dist/geometry/text-fitting.js +1 -0
- package/dist/geometry/transform-matrix.js +1 -1
- package/dist/geometry/{transform-chain.js → transform-value.js} +24 -15
- package/dist/index.js +2 -1
- package/dist/model/execution-binding.js +1 -1
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/hole-cutter.js +1 -0
- package/dist/model/immutable-generation-data.js +4 -12
- package/dist/model/knuckle-hinge.js +1 -0
- package/dist/model/operations.js +78 -3
- package/dist/model/recipe-declaration.js +11 -2
- package/package.json +1 -1
- package/dist/docs/reference/geometry/Bounds2.md +0 -39
- package/dist/docs/reference/geometry/Bounds3.md +0 -39
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +0 -23
- package/dist/docs/reference/geometry/Transform2Matrix.md +0 -14
- package/dist/docs/reference/geometry/Transform3Matrix.md +0 -17
- package/dist/docs/reference/geometry/Vector2Tuple.md +0 -14
- package/dist/docs/reference/geometry/Vector3Tuple.md +0 -14
- package/dist/docs/reference/geometry/boundsFromSize.md +0 -83
- package/dist/docs/reference/geometry/containsBounds.md +0 -72
- package/dist/docs/reference/model/Bounds2.md +0 -39
- package/dist/docs/reference/model/Bounds3.md +0 -39
- package/dist/docs/reference/model/Transform2Matrix.md +0 -15
- package/dist/docs/reference/model/Transform3Matrix.md +0 -18
- package/dist/docs/reference/text/Bounds2.md +0 -34
- package/dist/docs/reference/text/Vector2Tuple.md +0 -7
|
@@ -2,7 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Sample reusable lines, arcs, cubic curves, and path frames with explicit physical policies.
|
|
4
4
|
|
|
5
|
-
Use immutable `path2(points, { closed })` and `path3(points, { closed })` values for sampled trajectories.
|
|
5
|
+
Use immutable `path2(points, { closed })` and `path3(points, { closed })` values for sampled trajectories. Closed paths omit the duplicated endpoint. Geometry accepts matching path values directly.
|
|
6
|
+
|
|
7
|
+
- **Transform:** `transform()`, `reverse()`, and `resample()` return new paths. Reflections preserve traversal; polygon construction handles filled-shape winding.
|
|
8
|
+
- **Query:** `length()` includes the closing edge. `bounds()` returns fluent bounds or `undefined` for empty paths. `closestPoint()` returns a fluent point, distance, edge index, and fraction within that edge.
|
|
9
|
+
- **Interchange:** `toData()` returns `Path2Data` or `Path3Data` with dimension, closure, and point tuples.
|
|
10
|
+
- **Sample curves:** analytic `Curve` definitions are separate. `sampleCurve2`/`sampleCurve3` retain directed endpoints and tangents; exact intervals are uniform in the curve parameter.
|
|
11
|
+
- **Resample:** `resamplePolyline2`/`resamplePolyline3` return tuple points and tangents at equal arc lengths. Sampling uses physical policies and checked vertex ceilings.
|
|
12
|
+
|
|
13
|
+
Sweep frames require explicit seam and orientation choices.
|
|
6
14
|
|
|
7
15
|
## Functions
|
|
8
16
|
|
|
@@ -14,7 +22,7 @@ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values
|
|
|
14
22
|
| [resolveGeometrySamplingLimits](../resolveGeometrySamplingLimits.md) | Resolves finite positive safe-integer allocation ceilings without ambient state. |
|
|
15
23
|
| [resamplePolyline2](../resamplePolyline2.md) | Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D. |
|
|
16
24
|
| [resamplePolyline3](../resamplePolyline3.md) | Resamples a spatial polyline at equal arc lengths with directed outgoing tangents. |
|
|
17
|
-
| [path2](../path2.md) | Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization.
|
|
25
|
+
| [path2](../path2.md) | Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization. |
|
|
18
26
|
| [path3](../path3.md) | Snapshots finite XYZ coordinates as an immutable sampled path with the same closure, seam, allocation and error rules as path2. Analytic curves must be sampled explicitly first. |
|
|
19
27
|
|
|
20
28
|
## Interfaces
|
|
@@ -41,6 +49,8 @@ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values
|
|
|
41
49
|
| [PathOptions](../PathOptions.md) | Topology and allocation ceiling for an immutable sampled path. |
|
|
42
50
|
| [PathLocation](../PathLocation.md) | Nearest location on a sampled boundary, rather than inside a filled shape or on an analytic curve. |
|
|
43
51
|
| [PathResamplingOptions](../PathResamplingOptions.md) | Equal arc-length sampling; the path itself owns whether its closing edge is included. |
|
|
52
|
+
| [Path2Data](../Path2Data.md) | Complete plain XY path representation, including topology and empty-path dimensional identity. |
|
|
53
|
+
| [Path3Data](../Path3Data.md) | Complete plain XYZ path representation, including topology and empty-path dimensional identity. |
|
|
44
54
|
|
|
45
55
|
## Type aliases
|
|
46
56
|
|
|
@@ -49,20 +59,22 @@ Use immutable `path2(points, { closed })` and `path3(points, { closed })` values
|
|
|
49
59
|
| [Curve2](../Curve2.md) | Reusable planar curve definition. |
|
|
50
60
|
| [Curve3](../Curve3.md) | Reusable spatial curve definition. |
|
|
51
61
|
| [PathNormalGuide](../PathNormalGuide.md) | Supplies a profile-X orientation guide for each original normalized sweep station. |
|
|
52
|
-
| [Path2Input](../Path2Input.md) |
|
|
53
|
-
| [Path3Input](../Path3Input.md) |
|
|
54
|
-
| [Path2Data](../Path2Data.md) | XY point tuples for interchange; closure is supplied by the consuming operation or Path2 value. |
|
|
55
|
-
| [Path3Data](../Path3Data.md) | XYZ point tuples for interchange; closure is supplied by the consuming operation or Path3 value. |
|
|
62
|
+
| [Path2Input](../Path2Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
|
|
63
|
+
| [Path3Input](../Path3Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
|
|
56
64
|
|
|
57
65
|
## Values
|
|
58
66
|
|
|
59
67
|
| API | Summary |
|
|
60
68
|
| --- | --- |
|
|
61
69
|
| [computeClosedParallelTransportFrames](../computeClosedParallelTransportFrames.md) | Builds rotation-minimizing frames for a non-duplicated closed path. |
|
|
62
|
-
| [computeParallelTransportFrames](../computeParallelTransportFrames.md) | Builds rotation-minimizing frames by parallel-transporting the previous normal.
|
|
70
|
+
| [computeParallelTransportFrames](../computeParallelTransportFrames.md) | Builds rotation-minimizing frames by parallel-transporting the previous normal. |
|
|
63
71
|
| [defaultGeometrySamplingLimits](../defaultGeometrySamplingLimits.md) | Conservative defaults; trusted callers can supply larger explicit ceilings. |
|
|
64
72
|
| [distributeAlongPath](../distributeAlongPath.md) | Places an exact item count at equal arc-length intervals along a sampled path. |
|
|
65
73
|
| [roundClosedPolylinePath](../roundClosedPolylinePath.md) | Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input. |
|
|
66
|
-
| [sampleHelix](../sampleHelix.md) | Creates `segments + 1` points including exact helix endpoints from finite positive dimensions.
|
|
74
|
+
| [sampleHelix](../sampleHelix.md) | Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. |
|
|
75
|
+
|
|
76
|
+
## Guides
|
|
77
|
+
|
|
78
|
+
- [Path queries and closure-preserving interchange](../../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
67
79
|
|
|
68
|
-
Package: `@metamesh/modeling@0.
|
|
80
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
# Mechanical foundations
|
|
2
2
|
|
|
3
|
-
Resolve gears, fastener standards, thread profiles, fit, and predictable allocations.
|
|
3
|
+
Resolve gears, knuckle joints, fastener standards, thread profiles, fit, and predictable allocations.
|
|
4
4
|
|
|
5
|
-
Pure kernels resolve dimensions and emit outlines or meshes without native state. Keep physical clearance separate from Boolean overtravel.
|
|
5
|
+
Pure kernels resolve dimensions and emit outlines or meshes without native state. Keep physical clearance separate from Boolean overtravel.
|
|
6
|
+
|
|
7
|
+
Thread and gear results are modeling aids, not certified manufacturing or strength specifications.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
9
11
|
| API | Summary |
|
|
10
12
|
| --- | --- |
|
|
13
|
+
| [resolveKnuckleHinge](../resolveKnuckleHinge.md) | Resolves equal alternating knuckles along +X, centered at the origin, in millimetres. |
|
|
11
14
|
| [helicalThreadRidgeMesh](../helicalThreadRidgeMesh.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. |
|
|
12
15
|
| [helicalThreadSolidMesh](../helicalThreadSolidMesh.md) | Builds one closed threaded cylinder without a ridge/core Boolean seam. |
|
|
13
16
|
| [compensateThreadDiameters](../compensateThreadDiameters.md) | Applies role-specific radial compensation while preserving thread depth. |
|
|
@@ -18,10 +21,10 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
18
21
|
| [getMetricFastenerStandard](../getMetricFastenerStandard.md) | Returns the immutable standards record for one supported metric size. |
|
|
19
22
|
| [measureInternalCylindricalGearPairMotion](../measureInternalCylindricalGearPairMotion.md) | Measures sampled kinematic interference over one tooth cycle of an internal gear pair. |
|
|
20
23
|
| [minimumCylindricalGearToothCountWithoutUndercut](../minimumCylindricalGearToothCountWithoutUndercut.md) | Returns the smallest unshifted full-depth external tooth count that avoids rack-cutter undercut. |
|
|
21
|
-
| [preflightHelicalThreadSolidMesh](../preflightHelicalThreadSolidMesh.md) |
|
|
22
|
-
| [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) |
|
|
23
|
-
| [preflightThreadedNut](../preflightThreadedNut.md) |
|
|
24
|
-
| [preflightThreadedRod](../preflightThreadedRod.md) |
|
|
24
|
+
| [preflightHelicalThreadSolidMesh](../preflightHelicalThreadSolidMesh.md) | Checks thread dimensions, profile, end treatments, sampling, and conservative estimates against output limits. |
|
|
25
|
+
| [preflightInternalThreadCutter](../preflightInternalThreadCutter.md) | Resolves compensated cutter dimensions and checks extended mesh estimates against output limits. |
|
|
26
|
+
| [preflightThreadedNut](../preflightThreadedNut.md) | Checks nut dimensions, chamfers, end-face wall, and the extended compensated cutter's allocation plan. |
|
|
27
|
+
| [preflightThreadedRod](../preflightThreadedRod.md) | Resolves compensated rod dimensions and checks conservative mesh estimates against output limits. |
|
|
25
28
|
| [resolveCylindricalGear](../resolveCylindricalGear.md) | Resolves a validated unshifted full-depth external cylindrical gear. |
|
|
26
29
|
| [resolveCylindricalGearPair](../resolveCylindricalGearPair.md) | Resolves ratio, center distance, and helix relationship for a gear pair. |
|
|
27
30
|
| [resolvePrintableThreadFitPolicy](../resolvePrintableThreadFitPolicy.md) | Resolves and validates a named or caller-defined print-fit policy. |
|
|
@@ -37,6 +40,10 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
37
40
|
| API | Summary |
|
|
38
41
|
| --- | --- |
|
|
39
42
|
| [AcmeThreadProfileSpec](../AcmeThreadProfileSpec.md) | ACME 29-degree included-angle profile. |
|
|
43
|
+
| [KnuckleHingeBaseSpec](../KnuckleHingeBaseSpec.md) | Shared knuckle-joint dimensions in millimetres, independent of mounting geometry. |
|
|
44
|
+
| [KnuckleHingeSamplingOptions](../KnuckleHingeSamplingOptions.md) | Shared circular sampling for barrels, shafts, and bores. |
|
|
45
|
+
| [KnuckleHingeDimensions](../KnuckleHingeDimensions.md) | Immutable joint layout and conservative faceted envelopes; no engine initialization. |
|
|
46
|
+
| [KnuckleHingeInterval](../KnuckleHingeInterval.md) | One equal-length barrel interval in the shared pin-centered frame. |
|
|
40
47
|
| [ButtressThreadProfileSpec](../ButtressThreadProfileSpec.md) | Asymmetric printable buttress profile with 7/45-degree flanks. |
|
|
41
48
|
| [ClearanceHoleDimensions](../ClearanceHoleDimensions.md) | Close, normal, and loose metric clearance-hole diameters in millimetres. |
|
|
42
49
|
| [CompensatedThreadDiameters](../CompensatedThreadDiameters.md) | Compensated major/minor envelopes and the policy values used. |
|
|
@@ -50,7 +57,7 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
50
57
|
| [CylindricalGearSpec](../CylindricalGearSpec.md) | Nominal dimensions for a standard full-depth cylindrical involute gear. |
|
|
51
58
|
| [HelicalThreadRidgeMeshOptions](../HelicalThreadRidgeMeshOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
|
|
52
59
|
| [HelicalThreadSolidMeshOptions](../HelicalThreadSolidMeshOptions.md) | Options for a complete threaded-cylinder mesh; base semantics match the ridge builder. |
|
|
53
|
-
| [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) |
|
|
60
|
+
| [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
|
|
54
61
|
| [InternalThreadCutterOptions](../InternalThreadCutterOptions.md) | Options for a compensated internal-thread subtraction tool along +Z. |
|
|
55
62
|
| [MetricFastenerStandard](../MetricFastenerStandard.md) | Small immutable metric fastener record for modeling common mating features. |
|
|
56
63
|
| [MetricHexNutDimensions](../MetricHexNutDimensions.md) | Regular hex-nut envelope dimensions in millimetres. |
|
|
@@ -64,7 +71,7 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
64
71
|
| [ThreadCircularSegmentsOptions](../ThreadCircularSegmentsOptions.md) | Inputs for resolving one shared circular facet count for a mating thread pair. |
|
|
65
72
|
| [ThreadCompensationOptions](../ThreadCompensationOptions.md) | Options for compensating nominal male or female thread diameters. |
|
|
66
73
|
| [ThreadedNutOptions](../ThreadedNutOptions.md) | Options for a compensated nut with an internal thread. |
|
|
67
|
-
| [ThreadedNutPreflight](../ThreadedNutPreflight.md) |
|
|
74
|
+
| [ThreadedNutPreflight](../ThreadedNutPreflight.md) | Resolved body and end-face dimensions plus conservative allocation estimates for the thread cutter. |
|
|
68
75
|
| [ThreadedRodOptions](../ThreadedRodOptions.md) | Options for a compensated external threaded rod along +Z. |
|
|
69
76
|
| [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
|
|
70
77
|
| [ThreadHelixOptions](../ThreadHelixOptions.md) | Conventional helix options: `pitch` is adjacent spacing and lead is `pitch * starts`. |
|
|
@@ -77,10 +84,11 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
77
84
|
|
|
78
85
|
| API | Summary |
|
|
79
86
|
| --- | --- |
|
|
87
|
+
| [KnuckleHingeSpec](../KnuckleHingeSpec.md) | Knuckle-joint construction modes and interval ownership. |
|
|
80
88
|
| [ButtressPressureFlankSide](../ButtressPressureFlankSide.md) | Axial side carrying the near-normal pressure flank of a buttress thread. |
|
|
81
89
|
| [ClearanceHoleFit](../ClearanceHoleFit.md) | Common clearance-hole fit categories, ordered from smallest to largest. |
|
|
82
90
|
| [CylindricalGearMeshKind](../CylindricalGearMeshKind.md) | Whether two cylindrical gears mesh on their outside teeth or as a pinion inside a ring. |
|
|
83
|
-
| [MetricFastenerSize](../MetricFastenerSize.md) |
|
|
91
|
+
| [MetricFastenerSize](../MetricFastenerSize.md) | Supported metric fastener sizes. |
|
|
84
92
|
| [PrintableThreadFit](../PrintableThreadFit.md) | Named baseline fit policies for calibrated FDM-style printed threads. |
|
|
85
93
|
| [ThreadedNutBevel](../ThreadedNutBevel.md) | Nut-edge bevel selection. |
|
|
86
94
|
| [ThreadedNutShape](../ThreadedNutShape.md) | Supported printable nut body shapes. |
|
|
@@ -98,4 +106,8 @@ Pure kernels resolve dimensions and emit outlines or meshes without native state
|
|
|
98
106
|
| [METRIC_FASTENER_STANDARDS](../METRIC_FASTENER_STANDARDS.md) | Curated metric modeling dimensions for clearance holes, regular hex nuts, and socket-head cap screws. |
|
|
99
107
|
| [PRINTABLE_THREAD_FIT_POLICIES](../PRINTABLE_THREAD_FIT_POLICIES.md) | Conservative baseline print-fit policies in millimetres. |
|
|
100
108
|
|
|
101
|
-
|
|
109
|
+
## Guides
|
|
110
|
+
|
|
111
|
+
- [Conservative estimates and preflight guarantees](../../../guides/concepts.md#check-preflight-guarantees)
|
|
112
|
+
|
|
113
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Build, transform, validate, analyze, and locally optimize copied indexed meshes.
|
|
4
4
|
|
|
5
|
-
Manufacturing meshes use
|
|
5
|
+
Manufacturing meshes use `Float32Array` XYZ positions and `Uint32Array` triangle indices. Analysis freshly inspects caller-owned arrays; signatures add quantized topology and a regression hash. Predictable constructors reject unsafe allocations before sampling.
|
|
6
|
+
|
|
7
|
+
- **Construct:** `extrudeMesh`, `loftMesh`, `sweepMesh`, and `revolveMesh` return `TriangleMesh` data without a host engine. `LoftOptions`, `SweepOptions`, and `ExtrudeOptions` share the filled modeling vocabulary.
|
|
8
|
+
- **Match lofts:** `loftMesh` requires a `direct`, `reindex`, `fast-distance`, or `distance` method. Stations specify exactly one `z` or `frame`, retain original vertices, and interpolate slices in world coordinates. Association and grid work are bounded without reducing fidelity.
|
|
9
|
+
- **Validate:** closed oriented-edge checks do not establish freedom from self-intersections. `validateSolidMesh` adds bounded floating-point intersection and nested-shell orientation checks, including cavity boundaries. Contacts within tolerance reject conservatively; exhausted work limits fail explicitly.
|
|
10
|
+
- **Measure:** `computeTriangleMeshCentroid` returns the uniform-density volume centroid of consistently oriented closed geometry, including cavities.
|
|
6
11
|
|
|
7
12
|
## Functions
|
|
8
13
|
|
|
@@ -10,26 +15,26 @@ Manufacturing meshes use Float32 XYZ positions and Uint32 triangle indices. Clos
|
|
|
10
15
|
| --- | --- |
|
|
11
16
|
| [analyzeTriangleMesh](../analyzeTriangleMesh.md) | Validates and measures a mesh in one position and one triangle traversal. |
|
|
12
17
|
| [analyzeTriangleMeshQuality](../analyzeTriangleMeshQuality.md) | Measures triangle shape, edge topology, vertex concentration, and connected planar patches. |
|
|
13
|
-
| [heightfieldMesh](../heightfieldMesh.md) | Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base.
|
|
18
|
+
| [heightfieldMesh](../heightfieldMesh.md) | Builds a closed indexed mesh from a rectilinear top, matched boundary walls, and flat base. |
|
|
14
19
|
| [computeTriangleMeshSignature](../computeTriangleMeshSignature.md) | Creates an order-independent regression signature for a manufacturing mesh. |
|
|
15
20
|
| [joinTriangleMeshes](../joinTriangleMeshes.md) | Concatenates meshes into one indexed mesh without welding coincident vertices. |
|
|
16
21
|
| [extrudeMesh](../extrudeMesh.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. |
|
|
17
22
|
| [loftMesh](../loftMesh.md) | Lofts simple point loops at z heights or explicit right-handed frames, in input order. |
|
|
18
|
-
| [preflightHeightfield](../preflightHeightfield.md) | Checks grid
|
|
23
|
+
| [preflightHeightfield](../preflightHeightfield.md) | Checks grid options, Float32 axis precision, and output limits; returns exact mesh buffer counts. |
|
|
19
24
|
| [reverseTriangleMesh](../reverseTriangleMesh.md) | Returns a copy of a mesh with every triangle winding reversed. |
|
|
20
25
|
| [sweepMesh](../sweepMesh.md) | Sweeps one explicitly ordered point loop, with caps or a geometrically matching closed seam. |
|
|
21
26
|
| [transformTriangleMesh](../transformTriangleMesh.md) | Applies an affine transform to a mesh and preserves outward face orientation. |
|
|
22
27
|
| [validateTriangleMesh](../validateTriangleMesh.md) | Validates mesh buffers, indices, triangle area, and optionally closed topology. |
|
|
23
28
|
| [optimizePlanarPatches](../optimizePlanarPatches.md) | Improves pathological planar triangulation with bounded legal diagonal flips. |
|
|
24
29
|
| [resolveExtrusionDivisions](../resolveExtrusionDivisions.md) | Resolves intermediate profile copies for linear extrusion from physical curve resolution. |
|
|
25
|
-
| [validateSolidMesh](../validateSolidMesh.md) | Checks closed indexed topology, triangle intersections, and alternating nested shell orientation.
|
|
26
|
-
| [computeTriangleMeshCentroid](../computeTriangleMeshCentroid.md) | Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells.
|
|
30
|
+
| [validateSolidMesh](../validateSolidMesh.md) | Checks closed indexed topology, triangle intersections, and alternating nested shell orientation. |
|
|
31
|
+
| [computeTriangleMeshCentroid](../computeTriangleMeshCentroid.md) | Computes the uniform-density volume centroid of an oriented closed solid, including cavity shells. |
|
|
27
32
|
|
|
28
33
|
## Interfaces
|
|
29
34
|
|
|
30
35
|
| API | Summary |
|
|
31
36
|
| --- | --- |
|
|
32
|
-
| [HeightfieldPreflight](../HeightfieldPreflight.md) |
|
|
37
|
+
| [HeightfieldPreflight](../HeightfieldPreflight.md) | Exact grid and mesh buffer allocation counts resolved without evaluating the height callback. |
|
|
33
38
|
| [PlanarMeshOptimizationOptions](../PlanarMeshOptimizationOptions.md) | Options controlling bounded, connectivity-only optimization of planar triangle patches. |
|
|
34
39
|
| [PlanarMeshOptimizationResult](../PlanarMeshOptimizationResult.md) | Outcome of bounded planar-patch optimization, including before/after diagnostics. |
|
|
35
40
|
| [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
|
|
@@ -69,4 +74,8 @@ Manufacturing meshes use Float32 XYZ positions and Uint32 triangle indices. Clos
|
|
|
69
74
|
| [meshBounds](../meshBounds.md) | Computes axis-aligned bounds for a non-empty mesh. |
|
|
70
75
|
| [revolveMesh](../revolveMesh.md) | Revolves a non-duplicated closed `[radius, z]` profile around +Z. |
|
|
71
76
|
|
|
72
|
-
|
|
77
|
+
## Guides
|
|
78
|
+
|
|
79
|
+
- [Exact counts and preflight guarantees](../../../guides/concepts.md#check-preflight-guarantees)
|
|
80
|
+
|
|
81
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
# Pattern
|
|
1
|
+
# Pattern placement
|
|
2
2
|
|
|
3
3
|
Calculate pure linear, radial, grid, and path transforms.
|
|
4
4
|
|
|
5
|
-
Pure pattern transforms
|
|
5
|
+
Pure pattern transforms share counts, spacing, centering, and frames with root pattern operations. Use `Transform3Data` to place points, meshes, or explicit geometry without a native engine.
|
|
6
|
+
|
|
7
|
+
Linear and grid spacing use millimetres; radial angles use degrees. Paths use physical arc-length intervals and omit the repeated seam when closed.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
@@ -11,7 +13,7 @@ Pure pattern transforms use the same counts, spacing, centering and frames as ro
|
|
|
11
13
|
| [linearPatternTransforms](../linearPatternTransforms.md) | Spatial XYZ matrix placements in millimetres, including the original at the origin. |
|
|
12
14
|
| [radialPatternTransforms](../radialPatternTransforms.md) | Rotations about an explicit axis; angles use degrees and the first placement is identity. |
|
|
13
15
|
| [gridPatternTransforms](../gridPatternTransforms.md) | Spatial XYZ matrices for an XY or XYZ grid, in X-fastest order. |
|
|
14
|
-
| [pathPatternTransforms](../pathPatternTransforms.md) | Equal physical arc-length placements along a sampled XYZ path.
|
|
16
|
+
| [pathPatternTransforms](../pathPatternTransforms.md) | Equal physical arc-length placements along a sampled XYZ path. |
|
|
15
17
|
|
|
16
18
|
## Interfaces
|
|
17
19
|
|
|
@@ -31,4 +33,4 @@ Pure pattern transforms use the same counts, spacing, centering and frames as ro
|
|
|
31
33
|
|
|
32
34
|
- [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
33
35
|
|
|
34
|
-
Package: `@metamesh/modeling@0.
|
|
36
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -2,7 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Share one option contract for dimensional primitives and edge treatments.
|
|
4
4
|
|
|
5
|
-
Dimensional shapes share object options, millimetre units and explicit placement
|
|
5
|
+
Dimensional shapes share object options, millimetre units, and explicit placement:
|
|
6
|
+
|
|
7
|
+
- Boxes use a scalar or XYZ size.
|
|
8
|
+
- Cylinders use uniform or bottom/top radii and independent end treatments.
|
|
9
|
+
- Circular shapes share exact segments, physical resolution, and vertex/face radial sizing where applicable.
|
|
10
|
+
- `EdgeTreatment` distinguishes circular radius, equal or unequal setbacks, smooth cubic transitions, and exact custom setback profiles.
|
|
11
|
+
- `PrimitiveAttachmentOptions` maps a local anchor to a target with alignment, gap, and degree spin.
|
|
6
12
|
|
|
7
13
|
## Interfaces
|
|
8
14
|
|
|
@@ -33,4 +39,4 @@ Dimensional shapes share object options, millimetre units and explicit placement
|
|
|
33
39
|
| [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
|
|
34
40
|
| [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
|
|
35
41
|
|
|
36
|
-
Package: `@metamesh/modeling@0.
|
|
42
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Define winding, holes, stable profile landmarks, and reusable planar boundaries.
|
|
4
4
|
|
|
5
|
-
Outer contours are counterclockwise and holes clockwise in Y-up coordinates, with implicit closing edges.
|
|
5
|
+
Outer contours are counterclockwise and holes clockwise in Y-up coordinates, with implicit closing edges.
|
|
6
|
+
|
|
7
|
+
- **Contours:** factories return point data. `regularPolygonContour` uses degree rotation and explicit vertex/face sizing.
|
|
8
|
+
- **Transforms:** `Path2.transform()` preserves traversal. `transformRegionData` accepts a `Transform2` or canonical `Transform2Data`, preserving filled winding after reflection. Use `Section.transform()` for filled-shape authoring and `transformRegionData` for serialized data preparation.
|
|
9
|
+
- **Profile families:** `rectangleProfile({ size, treatment, id })` returns identified spans. Families preserve component, contour, and span identities; `matchProfiles` creates `CorrespondingProfile` values with shared landmarks. It does not guess topology or reorder components.
|
|
10
|
+
- **Side outlines:** `closeToAxis` closes an upward radius/height outline into a solid-body contour. Hollow walls and bores require explicit material contours.
|
|
6
11
|
|
|
7
12
|
## Functions
|
|
8
13
|
|
|
@@ -10,20 +15,20 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
10
15
|
| --- | --- |
|
|
11
16
|
| [ellipseContour](../ellipseContour.md) | Creates an immutable centered CCW ellipse with +X seam within the selected sampling ceiling. |
|
|
12
17
|
| [contourContainsPoint](../contourContainsPoint.md) | Returns true when a point lies inside or on the boundary of a loop. |
|
|
13
|
-
| [matchProfiles](../matchProfiles.md) | Explicitly matches identified component/contour/span topology across a family.
|
|
18
|
+
| [matchProfiles](../matchProfiles.md) | Explicitly matches identified component/contour/span topology across a family. |
|
|
14
19
|
| [normalizeContour](../normalizeContour.md) | Cleans and validates one closed loop. |
|
|
15
20
|
| [normalizePolygon](../normalizePolygon.md) | Validates explicit polygon topology and normalizes its winding. |
|
|
16
21
|
| [normalizeRegion](../normalizeRegion.md) | Validates a disjoint explicit region and returns immutable normalized data. Previously validated immutable results may be returned unchanged under the same tolerance policy. |
|
|
17
|
-
| [rectangleContour](../rectangleContour.md) | Creates an immutable CCW rectangle
|
|
22
|
+
| [rectangleContour](../rectangleContour.md) | Creates an immutable sampled CCW rectangle boundary. Round radius zero is square; tangent saturated endpoints occur once. |
|
|
18
23
|
| [regionArea](../regionArea.md) | Returns the total filled area of a normalized region in square millimetres. |
|
|
19
24
|
| [regionBounds](../regionBounds.md) | Returns finite axis-aligned bounds for a non-empty region. |
|
|
20
25
|
| [rectangleProfile](../rectangleProfile.md) | Creates an identified rectangle whose edge/corner spans survive zero and saturated round radii. Outer winding is CCW. |
|
|
21
|
-
| [sampleSideProfile](../sampleSideProfile.md) | Samples 1–31 line/cubic segments into a deeply immutable open [radius,height] polyline.
|
|
22
|
-
| [sampleContour](../sampleContour.md) | Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop.
|
|
26
|
+
| [sampleSideProfile](../sampleSideProfile.md) | Samples 1–31 line/cubic segments into a deeply immutable open [radius,height] polyline. |
|
|
27
|
+
| [sampleContour](../sampleContour.md) | Samples 2–32 connected line/cubic segments into a simple, nonzero-area, immutable CCW XY loop. |
|
|
23
28
|
| [signedContourArea](../signedContourArea.md) | Returns the signed area of a non-duplicated loop; positive means CCW. |
|
|
24
29
|
| [transformRegionData](../transformRegionData.md) | Transforms serialized polygon data with reflection-safe winding, without an engine. Use Section.transform(placement) when authoring filled geometry; this utility serves pure data preparation. |
|
|
25
30
|
| [triangulateContour](../triangulateContour.md) | Ear-clips one normalized simple CCW loop into stable local vertex indices. |
|
|
26
|
-
| [closeToAxis](../closeToAxis.md) | Closes an open, strictly upward [radius, height] side outline to the radius-zero axis.
|
|
31
|
+
| [closeToAxis](../closeToAxis.md) | Closes an open, strictly upward [radius, height] side outline to the radius-zero axis. |
|
|
27
32
|
|
|
28
33
|
## Interfaces
|
|
29
34
|
|
|
@@ -35,10 +40,10 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
35
40
|
| [ContourCurve](../ContourCurve.md) | One explicitly closed planar contour, independent of editor metadata and parameter contracts. |
|
|
36
41
|
| [ContourPoint](../ContourPoint.md) | Planar X and upward Y in millimetres, or in units converted by sampling scales. |
|
|
37
42
|
| [SideProfilePoint](../SideProfilePoint.md) | Radius and upward height in millimetres, or in units converted by sampling scales. |
|
|
38
|
-
| [PolygonData](../PolygonData.md) | One
|
|
39
|
-
| [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling. |
|
|
43
|
+
| [PolygonData](../PolygonData.md) | One filled two-dimensional polygon with an exterior and optional holes. |
|
|
44
|
+
| [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling with matchProfiles. Component, contour and span identities establish correspondence across a loft or sweep family. |
|
|
40
45
|
| [ProfileComponent2](../ProfileComponent2.md) | One component and its explicitly identified holes. |
|
|
41
|
-
| [ProfileContour2](../ProfileContour2.md) |
|
|
46
|
+
| [ProfileContour2](../ProfileContour2.md) | An identified closed boundary of curve spans, before shared family sampling. Outer winding is CCW and hole winding is CW. matchProfiles retains span identities in sampled contours. |
|
|
42
47
|
| [RectangleContourOptions](../RectangleContourOptions.md) | Shared rectangle dimensions, origin and uniform or per-corner treatment. |
|
|
43
48
|
| [RectangleProfileOptions](../RectangleProfileOptions.md) | Shared rectangle options with an identified component for explicit profile families. |
|
|
44
49
|
| [SampleSideProfileOptions](../SampleSideProfileOptions.md) | Physical scaling and bounded adaptive subdivision for an open profile. |
|
|
@@ -53,12 +58,12 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
53
58
|
| --- | --- |
|
|
54
59
|
| [CircleContourOptions](../CircleContourOptions.md) | Circular profile dimensions with exactly one radius or diameter and explicit sampling. |
|
|
55
60
|
| [EllipseContourOptions](../EllipseContourOptions.md) | Ellipse dimensions with exactly one XY radii or full-size tuple and explicit sampling. |
|
|
56
|
-
| [Contour](../Contour.md) | A closed two-dimensional boundary whose first point is not repeated at the end. |
|
|
61
|
+
| [Contour](../Contour.md) | A sampled closed two-dimensional boundary whose first point is not repeated at the end. |
|
|
57
62
|
| [CorrespondingProfileStation](../CorrespondingProfileStation.md) | One already matched profile at an explicit height or right-handed spatial frame. |
|
|
58
63
|
| [ContourSegment](../ContourSegment.md) | Straight or cubic Bézier segment in one closed planar contour. |
|
|
59
64
|
| [SideProfileSegment](../SideProfileSegment.md) | One straight or cubic segment of an open, upward-progressing radius/height outline. |
|
|
60
65
|
| [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
|
|
61
|
-
| [RegionData](../RegionData.md) | A two-dimensional region represented by disjoint filled polygons. |
|
|
66
|
+
| [RegionData](../RegionData.md) | A two-dimensional region represented by disjoint filled polygons. Each PolygonData owns one exterior and its holes; an empty region contains no material. |
|
|
62
67
|
| [RectangleCornerTreatment](../RectangleCornerTreatment.md) | A rectangle corner, including an explicitly untreated corner in a treatment tuple. |
|
|
63
68
|
| [RectangleCornerTreatments](../RectangleCornerTreatments.md) | Corner treatments ordered top-right, top-left, bottom-left, bottom-right. |
|
|
64
69
|
|
|
@@ -70,4 +75,8 @@ Outer contours are counterclockwise and holes clockwise in Y-up coordinates, wit
|
|
|
70
75
|
| [regularPolygonContour](../regularPolygonContour.md) | Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam. |
|
|
71
76
|
| [starContour](../starContour.md) | Creates a centered CCW alternating-radius star within the selected profile sampling ceiling. |
|
|
72
77
|
|
|
73
|
-
|
|
78
|
+
## Guides
|
|
79
|
+
|
|
80
|
+
- [Choose a geometry representation](../../../guides/concepts.md#geometry-vocabulary)
|
|
81
|
+
|
|
82
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -2,16 +2,19 @@
|
|
|
2
2
|
|
|
3
3
|
Resolve physical sampling, numerical tolerances, and contextual failures.
|
|
4
4
|
|
|
5
|
-
Defaults are 0.05 mm maximum circular chord error and 16–512 segments per complete circle. Face-sized circular sampling bounds outward radial excess and actual edge lengths.
|
|
5
|
+
Defaults are 0.05 mm maximum circular chord error and 16–512 segments per complete circle. Face-sized circular sampling bounds outward radial excess and actual edge lengths. `resolveCircularSampling` returns the full-circle count and sampled vertex/face radii without constructing boundary points; `circleContour` uses the same calculation. Exact local counts take precedence.
|
|
6
|
+
|
|
7
|
+
Algorithm limits fail explicitly. `GeometryError` provides structured codes and operation context; resolution has no ambient state.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
9
11
|
| API | Summary |
|
|
10
12
|
| --- | --- |
|
|
11
|
-
| [isGeometryError](../isGeometryError.md) | Recognizes structured geometry errors from separately bundled Modeling copies in the same realm.
|
|
13
|
+
| [isGeometryError](../isGeometryError.md) | Recognizes structured geometry errors from separately bundled Modeling copies in the same realm. |
|
|
12
14
|
| [resolveAlignedCircularSegments](../resolveAlignedCircularSegments.md) | Resolves a deterministic full-circle count aligned to reusable topology factors. |
|
|
13
15
|
| [resolveArcSegments](../resolveArcSegments.md) | Resolves the number of segments needed for a circular arc. |
|
|
14
16
|
| [resolveCircularSegments](../resolveCircularSegments.md) | Resolves a deterministic full-circle segment count for one radius. |
|
|
17
|
+
| [resolveCircularSampling](../resolveCircularSampling.md) | Resolves circular sampling and its actual radial envelopes without allocating boundary points. |
|
|
15
18
|
| [resolveGeometryTolerance](../resolveGeometryTolerance.md) | Resolves comparison tolerances for a characteristic model scale. |
|
|
16
19
|
|
|
17
20
|
## Classes
|
|
@@ -26,6 +29,7 @@ Defaults are 0.05 mm maximum circular chord error and 16–512 segments per comp
|
|
|
26
29
|
| --- | --- |
|
|
27
30
|
| [AlignedCircularSegmentsOptions](../AlignedCircularSegmentsOptions.md) | Controls full-circle sampling that must satisfy one or more topology alignments. |
|
|
28
31
|
| [CircularResolutionOptions](../CircularResolutionOptions.md) | Circular sampling measured from the nominal inscribed or circumscribed radius. |
|
|
32
|
+
| [CircularSampling](../CircularSampling.md) | Full-circle count and radial envelopes of its regular sampled polygon, in millimetres. |
|
|
29
33
|
| [GeometryErrorContext](../GeometryErrorContext.md) | Serializable context attached to a geometry failure. |
|
|
30
34
|
| [GeometryResolution](../GeometryResolution.md) | Tessellation policy for sampled geometry measured in millimetres. |
|
|
31
35
|
| [GeometryToleranceOptions](../GeometryToleranceOptions.md) | Optional overrides for MetaMesh's geometry comparison policy. |
|
|
@@ -36,6 +40,7 @@ Defaults are 0.05 mm maximum circular chord error and 16–512 segments per comp
|
|
|
36
40
|
|
|
37
41
|
| API | Summary |
|
|
38
42
|
| --- | --- |
|
|
43
|
+
| [CircularSamplingOptions](../CircularSamplingOptions.md) | Nominal circle size and explicit physical sampling; supply exactly one radius or diameter. |
|
|
39
44
|
| [GeometryErrorCode](../GeometryErrorCode.md) | Stable categories for invalid inputs, topology, allocation, and runtime failures. |
|
|
40
45
|
|
|
41
46
|
## Values
|
|
@@ -44,4 +49,4 @@ Defaults are 0.05 mm maximum circular chord error and 16–512 segments per comp
|
|
|
44
49
|
| --- | --- |
|
|
45
50
|
| [DEFAULT_GEOMETRY_TOLERANCE](../DEFAULT_GEOMETRY_TOLERANCE.md) | Default absolute, relative, and angular tolerances for millimetre-scale models. |
|
|
46
51
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
52
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -2,16 +2,24 @@
|
|
|
2
2
|
|
|
3
3
|
Build immutable reusable placements and calculate with fluent vectors or tuple kernels.
|
|
4
4
|
|
|
5
|
-
Use immutable vector2
|
|
5
|
+
Use immutable `vector2`/`vector3` and `transform2`/`transform3` values for ordinary authoring. Operations return new values; tuples remain convenient inputs.
|
|
6
|
+
|
|
7
|
+
- **Arithmetic:** `dot()`, `length()`, and `distance()` return numbers. `cross()` returns a signed scalar in 2D and a right-handed vector in 3D. Normalization rejects zero vectors; fluent values reject nonfinite inputs and results.
|
|
8
|
+
- **Order and units:** rotations use degrees and optional `{ pivot }` points in world coordinates. Calls and `andThen()` composition apply in execution order.
|
|
9
|
+
- **Transformed values:** points include translation; directions exclude it and retain scale; normals use inverse-transpose normalization. Shape methods and path helpers accept matching transforms.
|
|
10
|
+
- **Interchange:** `toData()` returns `Vector2Data`/`Vector3Data` tuples or `Transform2Data`/`Transform3Data` matrices. `to3D()`/`to2D()` convert dimensions explicitly; XY restriction requires a preserved plane.
|
|
11
|
+
- **Low-level work:** tuple kernels avoid fluent object allocation in hot loops. Matrix constructors support interoperability. `rotationTransform3` requires an explicit degrees or radians object; `composeTransform3(after, before)` applies `before` first.
|
|
12
|
+
|
|
13
|
+
Attachment matches source and target frames. You choose physical clearance.
|
|
6
14
|
|
|
7
15
|
## Functions
|
|
8
16
|
|
|
9
17
|
| API | Summary |
|
|
10
18
|
| --- | --- |
|
|
11
|
-
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default.
|
|
12
|
-
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default.
|
|
13
|
-
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates.
|
|
14
|
-
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates.
|
|
19
|
+
| [transform2](../transform2.md) | Creates an immutable XY transform, identity by default. |
|
|
20
|
+
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
|
|
21
|
+
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
22
|
+
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
15
23
|
| [applyTransformDirection3](../applyTransformDirection3.md) | Applies only the linear component of an affine transform to a direction. |
|
|
16
24
|
| [applyTransformPoint3](../applyTransformPoint3.md) | Applies an affine transform to a point, including translation. |
|
|
17
25
|
| [attachmentTransform3](../attachmentTransform3.md) | Builds the transform that moves a source anchor onto a target anchor. |
|
|
@@ -54,10 +62,10 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
54
62
|
| [AxisAngleRotation3](../AxisAngleRotation3.md) | One explicitly unit-labelled right-handed axis-angle rotation. |
|
|
55
63
|
| [BoxAnchorFace](../BoxAnchorFace.md) | Named face on an axis-aligned box. |
|
|
56
64
|
| [CylinderAnchorFace](../CylinderAnchorFace.md) | Named face on a cylinder parallel to +Z. |
|
|
57
|
-
| [
|
|
58
|
-
| [
|
|
59
|
-
| [
|
|
60
|
-
| [
|
|
65
|
+
| [Transform2Data](../Transform2Data.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
|
|
66
|
+
| [Transform3Data](../Transform3Data.md) | A row-major affine 4x4 matrix applied to column vectors. |
|
|
67
|
+
| [Vector2Data](../Vector2Data.md) | A two-dimensional Cartesian vector or point. |
|
|
68
|
+
| [Vector3Data](../Vector3Data.md) | A three-dimensional Cartesian vector or point. |
|
|
61
69
|
|
|
62
70
|
## Values
|
|
63
71
|
|
|
@@ -76,8 +84,8 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
76
84
|
| [length2](../length2.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
77
85
|
| [lerp3](../lerp3.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
78
86
|
| [lerp2](../lerp2.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
79
|
-
| [normalize3](../normalize3.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`).
|
|
80
|
-
| [normalize2](../normalize2.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`).
|
|
87
|
+
| [normalize3](../normalize3.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). |
|
|
88
|
+
| [normalize2](../normalize2.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). |
|
|
81
89
|
| [projectOntoPlane3](../projectOntoPlane3.md) | Removes the component parallel to a normalized plane normal. |
|
|
82
90
|
| [rotate2](../rotate2.md) | Rotates a finite vector counter-clockwise in XY by `degrees` about the origin. Throws `NON_FINITE_VALUE` for nonfinite coordinates, angles, or derived coordinates. |
|
|
83
91
|
| [scale3](../scale3.md) | Multiplies a vector by a dimensionless scalar. |
|
|
@@ -88,5 +96,6 @@ Use immutable vector2/vector3 and transform2/transform3 values for ordinary auth
|
|
|
88
96
|
## Guides
|
|
89
97
|
|
|
90
98
|
- [Reusable transforms and vector math](../../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
99
|
+
- [Fluent values and tuple kernels](../../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
91
100
|
|
|
92
|
-
Package: `@metamesh/modeling@0.
|
|
101
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -2,16 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Parse bounded painted SVG and carry explicit prepared text geometry.
|
|
4
4
|
|
|
5
|
-
SVG
|
|
5
|
+
SVG parsing bounds input and reports unsupported resources or content with context. Transforms and physical unit conversion precede sampling; Y-down input converts to model Y-up coordinates.
|
|
6
|
+
|
|
7
|
+
Font preparation belongs to the optional text entry point, outside pure parsing and synchronous modeling. `fitTextLayout` uniformly fits and centers visible ink before sampling, preserving final millimetre tolerance. It rejects invisible layouts; `maxScale: 1` prevents enlargement.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
9
11
|
| API | Summary |
|
|
10
12
|
| --- | --- |
|
|
11
|
-
| [preflightSvgRegion](../preflightSvgRegion.md) |
|
|
13
|
+
| [preflightSvgRegion](../preflightSvgRegion.md) | Parses and validates bounded SVG input, constructing its normalized sampled region and diagnostics. |
|
|
12
14
|
| [sampleTextContours](../sampleTextContours.md) | Samples a prepared text layout without shaping text again or loading a font. |
|
|
13
15
|
| [strokeRegionData](../strokeRegionData.md) | Converts a sampled millimetre path into the filled region covered by a centered stroke. |
|
|
14
|
-
| [fitTextLayout](../fitTextLayout.md) | Uniformly fits visible text ink inside finite XY bounds, centering it on the target.
|
|
16
|
+
| [fitTextLayout](../fitTextLayout.md) | Uniformly fits visible text ink inside finite XY bounds, centering it on the target. |
|
|
15
17
|
|
|
16
18
|
## Interfaces
|
|
17
19
|
|
|
@@ -19,7 +21,7 @@ SVG input is bounded and rejects unsupported resources or content contextually.
|
|
|
19
21
|
| --- | --- |
|
|
20
22
|
| [StrokeOptions](../StrokeOptions.md) | Physical stroke and topology controls shared by pure regions and native Sections. |
|
|
21
23
|
| [SvgImportOptions](../SvgImportOptions.md) | Sampling controls for deterministic SVG-to-region conversion. |
|
|
22
|
-
| [SvgRegionPreflight](../SvgRegionPreflight.md) |
|
|
24
|
+
| [SvgRegionPreflight](../SvgRegionPreflight.md) | Normalized sampled SVG region plus bounded source, geometry, and safe-repair diagnostics. |
|
|
23
25
|
| [SvgRegionPreflightRepairs](../SvgRegionPreflightRepairs.md) | Visible, appearance-preserving cleanup counters from bounded SVG import. |
|
|
24
26
|
| [VectorTextArcBaseline](../VectorTextArcBaseline.md) | A circular baseline centered at the XY origin, with rigid shaped glyph groups. |
|
|
25
27
|
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
@@ -37,4 +39,8 @@ SVG input is bounded and rejects unsupported resources or content contextually.
|
|
|
37
39
|
| [StrokeCap](../StrokeCap.md) | End-cap treatment for an open stroked path. |
|
|
38
40
|
| [StrokeJoin](../StrokeJoin.md) | Join treatment where adjacent stroked path segments meet. |
|
|
39
41
|
|
|
40
|
-
|
|
42
|
+
## Guides
|
|
43
|
+
|
|
44
|
+
- [SVG preflight work and guarantees](../../../guides/concepts.md#check-preflight-guarantees)
|
|
45
|
+
|
|
46
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -30,4 +30,8 @@ circleContour({ diameter: 20, segments: 32 });
|
|
|
30
30
|
- [CircleContourOptions](CircleContourOptions.md)
|
|
31
31
|
- [Contour](Contour.md)
|
|
32
32
|
|
|
33
|
-
|
|
33
|
+
## Guides
|
|
34
|
+
|
|
35
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
36
|
+
|
|
37
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
# closeToAxis
|
|
2
2
|
|
|
3
|
-
Closes an open, strictly upward [radius, height] side outline to the radius-zero axis.
|
|
3
|
+
Closes an open, strictly upward [radius, height] side outline to the radius-zero axis.
|
|
4
4
|
|
|
5
|
-
**closeToAxis**(`side`: readonly [`
|
|
5
|
+
**closeToAxis**(`side`: readonly [`Vector2Data`](Vector2Data.md)[], `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): [`Contour`](Contour.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
Adds horizontal bottom/top edges at the endpoint heights, retaining axis endpoints once.
|
|
10
|
+
Returns a counterclockwise filled-boundary contour without a repeated seam vertex.
|
|
11
|
+
Radii must be nonnegative; the result must enclose nonzero area without touching itself.
|
|
12
|
+
This is a solid-body closure, not a hollow-wall or mounting-bore construction.
|
|
13
|
+
|
|
9
14
|
## Parameters
|
|
10
15
|
|
|
11
16
|
<a id="side"></a>
|
|
12
17
|
|
|
13
|
-
**`side`** · readonly [`
|
|
18
|
+
**`side`** · readonly [`Vector2Data`](Vector2Data.md)[] · Required
|
|
14
19
|
|
|
15
20
|
|
|
16
21
|
|
|
@@ -29,6 +34,10 @@ Closes an open, strictly upward [radius, height] side outline to the radius-zero
|
|
|
29
34
|
|
|
30
35
|
- [Contour](Contour.md)
|
|
31
36
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
32
|
-
- [
|
|
37
|
+
- [Vector2Data](Vector2Data.md)
|
|
38
|
+
|
|
39
|
+
## Guides
|
|
40
|
+
|
|
41
|
+
- [Choose a geometry representation](../../guides/concepts.md#geometry-vocabulary)
|
|
33
42
|
|
|
34
|
-
Package: `@metamesh/modeling@0.
|
|
43
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -48,4 +48,8 @@ allowances as radial mating clearance.
|
|
|
48
48
|
- [CompensatedThreadDiameters](CompensatedThreadDiameters.md)
|
|
49
49
|
- [ThreadCompensationOptions](ThreadCompensationOptions.md)
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
## Guides
|
|
52
|
+
|
|
53
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
54
|
+
|
|
55
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -39,4 +39,8 @@ change. The returned profile is a new deeply immutable value.
|
|
|
39
39
|
|
|
40
40
|
- [ThreadProfile](ThreadProfile-type.md)
|
|
41
41
|
|
|
42
|
-
|
|
42
|
+
## Guides
|
|
43
|
+
|
|
44
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
45
|
+
|
|
46
|
+
Package: `@metamesh/modeling@0.17.0`.
|
|
@@ -53,4 +53,8 @@ it exactly.
|
|
|
53
53
|
|
|
54
54
|
- [ThreadProfile](ThreadProfile-type.md)
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
## Guides
|
|
57
|
+
|
|
58
|
+
- [Conservative estimates and preflight guarantees](../../guides/concepts.md#check-preflight-guarantees)
|
|
59
|
+
|
|
60
|
+
Package: `@metamesh/modeling@0.17.0`.
|