@metamesh/modeling 0.15.0 → 0.16.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 +19 -0
- package/README.md +33 -6
- package/dist/api/engine.d.ts +4 -3
- package/dist/api/geometry.d.ts +529 -242
- package/dist/api/index.d.ts +363 -104
- package/dist/api/text.d.ts +6 -6
- package/dist/docs/guides/concepts.md +295 -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 +35 -30
- package/dist/docs/guides/standalone-model.md +42 -0
- package/dist/docs/manifest.json +846 -243
- 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/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/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/BoundsFromSizeOptions.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/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 +5 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +6 -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 +5 -1
- 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 +38 -0
- package/dist/docs/reference/geometry/bounds3.md +38 -0
- package/dist/docs/reference/geometry/boundsCenter.md +12 -11
- package/dist/docs/reference/geometry/boundsFromSize.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 +23 -6
- 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 +5 -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/containsBounds.md +10 -9
- 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 +15 -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/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/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/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/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 +34 -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 +1 -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 +36 -0
- package/dist/docs/reference/model/bounds3.md +36 -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 +36 -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 +10 -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/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 +1 -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 +1 -1
- 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 +1 -1
- 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/knuckle-hinge-operation.js +85 -0
- package/dist/engine/loft-operations.js +1 -1
- package/dist/engine/mechanical-operations.js +3 -1
- package/dist/engine/modeling-context.js +8 -1
- package/dist/engine/recipe-realization.js +4 -2
- package/dist/engine/section-operations.js +1 -1
- package/dist/engine/transform-operations.js +3 -3
- package/dist/geometry/bounds-value.js +93 -0
- package/dist/geometry/bounds.js +10 -8
- 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 +3 -1
- 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/rectangle.js +10 -1
- package/dist/geometry/profiles/side-profile.js +2 -0
- package/dist/geometry/svg-import.js +8 -2
- 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/immutable-generation-data.js +4 -12
- package/dist/model/knuckle-hinge.js +1 -0
- package/dist/model/operations.js +57 -3
- package/dist/model/recipe-declaration.js +10 -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/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/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
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Vector2Data
|
|
2
2
|
|
|
3
3
|
A two-dimensional Cartesian vector or point.
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**Vector2Data** = readonly \[`x`: `number`, `y`: `number`\]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,4 +12,4 @@ A two-dimensional Cartesian vector or point.
|
|
|
12
12
|
- [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
|
|
13
13
|
- [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
|
|
14
14
|
|
|
15
|
-
Package: `@metamesh/modeling@0.
|
|
15
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
An XY tuple or immutable fluent vector accepted by vector operations.
|
|
4
4
|
|
|
5
|
-
**Vector2Input** = [`
|
|
5
|
+
**Vector2Input** = [`Vector2Data`](Vector2Data.md) \| [`Vector2`](Vector2-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,11 +10,12 @@ An XY tuple or immutable fluent vector accepted by vector operations.
|
|
|
10
10
|
## Related APIs
|
|
11
11
|
|
|
12
12
|
- [Vector2](Vector2-type.md)
|
|
13
|
-
- [
|
|
13
|
+
- [Vector2Data](Vector2Data.md)
|
|
14
14
|
|
|
15
15
|
## Guides
|
|
16
16
|
|
|
17
17
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
18
18
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
19
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
19
20
|
|
|
20
|
-
Package: `@metamesh/modeling@0.
|
|
21
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -254,11 +254,11 @@ Returns Euclidean distance to another vector in the same coordinate units.
|
|
|
254
254
|
|
|
255
255
|
***
|
|
256
256
|
|
|
257
|
-
###
|
|
257
|
+
### toData()
|
|
258
258
|
|
|
259
259
|
|
|
260
260
|
|
|
261
|
-
**
|
|
261
|
+
**toData**(): [`Vector3Data`](Vector3Data.md)
|
|
262
262
|
|
|
263
263
|
|
|
264
264
|
|
|
@@ -266,17 +266,18 @@ Returns this value's frozen readonly tuple for interchange; repeated calls do no
|
|
|
266
266
|
|
|
267
267
|
#### Returns
|
|
268
268
|
|
|
269
|
-
[`
|
|
269
|
+
[`Vector3Data`](Vector3Data.md)
|
|
270
270
|
|
|
271
271
|
|
|
272
272
|
## Related APIs
|
|
273
273
|
|
|
274
|
+
- [Vector3Data](Vector3Data.md)
|
|
274
275
|
- [Vector3Input](Vector3Input.md)
|
|
275
|
-
- [Vector3Tuple](Vector3Tuple.md)
|
|
276
276
|
|
|
277
277
|
## Guides
|
|
278
278
|
|
|
279
279
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
280
280
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
281
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
281
282
|
|
|
282
|
-
Package: `@metamesh/modeling@0.
|
|
283
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Vector3Data
|
|
2
2
|
|
|
3
3
|
A three-dimensional Cartesian vector or point.
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**Vector3Data** = readonly \[`x`: `number`, `y`: `number`, `z`: `number`\]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,4 +12,4 @@ A three-dimensional Cartesian vector or point.
|
|
|
12
12
|
- [Geometry vocabulary](../../guides/concepts.md#geometry-vocabulary)
|
|
13
13
|
- [Lifecycle and inspection](../../guides/concepts.md#lifecycle-and-inspection)
|
|
14
14
|
|
|
15
|
-
Package: `@metamesh/modeling@0.
|
|
15
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
An XYZ tuple or immutable fluent vector accepted by vector operations.
|
|
4
4
|
|
|
5
|
-
**Vector3Input** = [`
|
|
5
|
+
**Vector3Input** = [`Vector3Data`](Vector3Data.md) \| [`Vector3`](Vector3-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,11 +10,12 @@ An XYZ tuple or immutable fluent vector accepted by vector operations.
|
|
|
10
10
|
## Related APIs
|
|
11
11
|
|
|
12
12
|
- [Vector3](Vector3-type.md)
|
|
13
|
-
- [
|
|
13
|
+
- [Vector3Data](Vector3Data.md)
|
|
14
14
|
|
|
15
15
|
## Guides
|
|
16
16
|
|
|
17
17
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
18
18
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
19
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
19
20
|
|
|
20
|
-
Package: `@metamesh/modeling@0.
|
|
21
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -37,4 +37,4 @@ Exact measurements of these paths and their logical text layout.
|
|
|
37
37
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
38
38
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
39
39
|
|
|
40
|
-
Package: `@metamesh/modeling@0.
|
|
40
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -8,7 +8,7 @@ Text measurements from the same immutable layout that supplies geometry and SVG
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
`readonly` **bounds**: [`
|
|
11
|
+
`readonly` **bounds**: [`Bounds2Data`](Bounds2Data.md) \| `null`
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -89,7 +89,7 @@ Number of lines, including empty and trailing lines; empty text occupies one lin
|
|
|
89
89
|
|
|
90
90
|
## Related APIs
|
|
91
91
|
|
|
92
|
-
- [
|
|
92
|
+
- [Bounds2Data](Bounds2Data.md)
|
|
93
93
|
|
|
94
94
|
## Guides
|
|
95
95
|
|
|
@@ -97,4 +97,4 @@ Number of lines, including empty and trailing lines; empty text occupies one lin
|
|
|
97
97
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
98
98
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
99
99
|
|
|
100
|
-
Package: `@metamesh/modeling@0.
|
|
100
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -42,5 +42,6 @@ anchor(plate, "top"); // position [0, 0, 3], direction [0, 0, 1]
|
|
|
42
42
|
|
|
43
43
|
- [Named anchors and custom frames](../../guides/recipes.md#named-anchors-and-custom-frames)
|
|
44
44
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
45
|
+
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
45
46
|
|
|
46
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# bounds2
|
|
2
|
+
|
|
3
|
+
Snapshots finite ordered XY bounds in millimetres as an immutable fluent value.
|
|
4
|
+
|
|
5
|
+
**bounds2**(`input`: [`Bounds2Input`](Bounds2Input.md)): [`Bounds2`](Bounds2-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Zero extents are valid. Invalid dimensions, nonfinite coordinates, reversed bounds and
|
|
10
|
+
overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
|
|
11
|
+
Compiled Generator packages passing these values to host recipes or computed data require
|
|
12
|
+
runtime 8.0.0 or newer in major 8.
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
<a id="input"></a>
|
|
17
|
+
|
|
18
|
+
**`input`** · [`Bounds2Input`](Bounds2Input.md) · Required
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Returns
|
|
23
|
+
|
|
24
|
+
[`Bounds2`](Bounds2-type.md)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Related APIs
|
|
28
|
+
|
|
29
|
+
- [Bounds2](Bounds2-type.md)
|
|
30
|
+
- [Bounds2Input](Bounds2Input.md)
|
|
31
|
+
|
|
32
|
+
## Guides
|
|
33
|
+
|
|
34
|
+
- [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
|
|
35
|
+
|
|
36
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# bounds3
|
|
2
|
+
|
|
3
|
+
Snapshots finite ordered XYZ bounds in millimetres as an immutable fluent value.
|
|
4
|
+
|
|
5
|
+
**bounds3**(`input`: [`Bounds3Input`](Bounds3Input.md)): [`Bounds3`](Bounds3-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
Zero extents are valid. Invalid dimensions, nonfinite coordinates, reversed bounds and
|
|
10
|
+
overflowing extents throw `INVALID_ARGUMENT` GeometryError. Use `toData()` for plain records.
|
|
11
|
+
Compiled Generator packages passing these values to host recipes or computed data require
|
|
12
|
+
runtime 8.0.0 or newer in major 8.
|
|
13
|
+
|
|
14
|
+
## Parameters
|
|
15
|
+
|
|
16
|
+
<a id="input"></a>
|
|
17
|
+
|
|
18
|
+
**`input`** · [`Bounds3Input`](Bounds3Input.md) · Required
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## Returns
|
|
23
|
+
|
|
24
|
+
[`Bounds3`](Bounds3-type.md)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
## Related APIs
|
|
28
|
+
|
|
29
|
+
- [Bounds3](Bounds3-type.md)
|
|
30
|
+
- [Bounds3Input](Bounds3Input.md)
|
|
31
|
+
|
|
32
|
+
## Guides
|
|
33
|
+
|
|
34
|
+
- [Measure and compare bounds](../../guides/concepts.md#measure-and-compare-bounds)
|
|
35
|
+
|
|
36
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -22,7 +22,7 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
22
22
|
|
|
23
23
|
**`options`** · [`BoxOptions`](BoxOptions.md) · Required
|
|
24
24
|
|
|
25
|
-
- [`size`](BoxOptions.md#size) · `number` \| [`
|
|
25
|
+
- [`size`](BoxOptions.md#size) · `number` \| [`Vector3Data`](Vector3Data.md) · Required
|
|
26
26
|
|
|
27
27
|
Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
|
|
28
28
|
|
|
@@ -59,4 +59,4 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
59
59
|
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
60
60
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
61
61
|
|
|
62
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
-
# Boolean
|
|
1
|
+
# Boolean operations
|
|
2
2
|
|
|
3
3
|
Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
|
|
4
4
|
|
|
5
|
-
union and intersect
|
|
5
|
+
Use `union` and `intersect` with arrays of Sections or Solids, or `shape.subtract(cutters)` to cut one base. All operands must have the same dimension. Section operations preserve holes and disconnected components.
|
|
6
|
+
|
|
7
|
+
- `compose` combines solid components without a Boolean union.
|
|
8
|
+
- `hull` accepts compatible Solid or Section recipes, or finite points. `minkowskiSum` constructs solid sums.
|
|
9
|
+
- `split` returns intersection followed by subtraction, reusing the cutter setup.
|
|
10
|
+
- Plane operations use a nonzero normal and a signed millimetre offset along its normalized direction. Empty results remain queryable handles.
|
|
11
|
+
|
|
12
|
+
Keep Boolean overtravel separate from physical fit clearance.
|
|
6
13
|
|
|
7
14
|
## Functions
|
|
8
15
|
|
|
@@ -34,4 +41,4 @@ union and intersect combine arrays of Sections or Solids; shape.subtract(cutters
|
|
|
34
41
|
- [Choose the Boolean by the material you want](../../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
35
42
|
- [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
36
43
|
|
|
37
|
-
Package: `@metamesh/modeling@0.
|
|
44
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Construct bounded heightfields and positive-inside implicit fields.
|
|
4
4
|
|
|
5
|
-
Heightfields accept uniform or explicit uneven XY coordinates and close absolute heights against a flat base. Fixed or shorter-edge triangulation samples each grid point once
|
|
5
|
+
Heightfields accept uniform or explicit uneven XY coordinates and close absolute heights against a flat base. Fixed or shorter-edge triangulation samples each grid point once. Center-error selection also samples each cell centre without adding triangles.
|
|
6
|
+
|
|
7
|
+
Implicit sampling requires finite bounds, positive grid spacing, and fixed algorithm limits. The engine then checks the extracted output. Neither operation silently reduces fidelity.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
9
11
|
| API | Summary |
|
|
10
12
|
| --- | --- |
|
|
11
|
-
| [heightfield](../heightfield.md) | Closed rectilinear top above a flat base, with uniform or explicit XY coordinates.
|
|
13
|
+
| [heightfield](../heightfield.md) | Closed rectilinear top above a flat base, with uniform or explicit XY coordinates. |
|
|
12
14
|
| [implicit](../implicit.md) | Bounded positive-inside implicit field constructor. The retained callback must capture independent immutable inputs, not live session readers or parameters. |
|
|
13
15
|
|
|
14
16
|
## Interfaces
|
|
@@ -23,4 +25,4 @@ Heightfields accept uniform or explicit uneven XY coordinates and close absolute
|
|
|
23
25
|
| --- | --- |
|
|
24
26
|
| [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
|
|
25
27
|
|
|
26
|
-
Package: `@metamesh/modeling@0.
|
|
28
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Bounds
|
|
2
|
+
|
|
3
|
+
Measure immutable axis-aligned extents and test positioned containment.
|
|
4
|
+
|
|
5
|
+
Use `bounds2` and `bounds3` for immutable axis-aligned bounds. `size()` and `center()` return fluent vectors. `containsBounds()` includes boundary contact in the same coordinate frame; zero extents are valid.
|
|
6
|
+
|
|
7
|
+
Path bounds queries return values or `undefined` for empty paths. Measurements and snapshots retain `Bounds2Data`/`Bounds3Data` records: wrap them once for fluent queries, or use `toData()` for stable frozen interchange.
|
|
8
|
+
|
|
9
|
+
Containment alone does not establish a manufacturing fit.
|
|
10
|
+
|
|
11
|
+
## Functions
|
|
12
|
+
|
|
13
|
+
| API | Summary |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| [bounds2](../bounds2.md) | Snapshots finite ordered XY bounds in millimetres as an immutable fluent value. |
|
|
16
|
+
| [bounds3](../bounds3.md) | Snapshots finite ordered XYZ bounds in millimetres as an immutable fluent value. |
|
|
17
|
+
|
|
18
|
+
## Interfaces
|
|
19
|
+
|
|
20
|
+
| API | Summary |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| [Bounds2](../Bounds2-type.md) | Immutable finite XY bounds in millimetres, with tuple coordinates for data interoperability. |
|
|
23
|
+
| [Bounds3](../Bounds3-type.md) | Immutable finite XYZ bounds in millimetres, with tuple coordinates for data interoperability. |
|
|
24
|
+
|
|
25
|
+
## Type aliases
|
|
26
|
+
|
|
27
|
+
| API | Summary |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| [Bounds2Input](../Bounds2Input.md) | An immutable XY bounds value or its plain min/max representation. |
|
|
30
|
+
| [Bounds3Input](../Bounds3Input.md) | An immutable XYZ bounds value or its plain min/max representation. |
|
|
31
|
+
|
|
32
|
+
## Guides
|
|
33
|
+
|
|
34
|
+
- [Measure and compare bounds](../../../guides/concepts.md#measure-and-compare-bounds)
|
|
35
|
+
|
|
36
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.
|
|
4
4
|
|
|
5
|
-
Generation returns semantic parts
|
|
5
|
+
Generation returns semantic parts through `part(id, geometry)` with optional placement and color. Ordinary immutable recipes are portable across sessions; observed component selections retain their originating session.
|
|
6
|
+
|
|
7
|
+
Finalized snapshots contain copied manufacturing arrays and exact facts. Resource ceilings bound sampling and aggregate output.
|
|
6
8
|
|
|
7
9
|
## Interfaces
|
|
8
10
|
|
|
@@ -13,4 +15,4 @@ Generation returns semantic parts from part(id, geometry) or placement/color opt
|
|
|
13
15
|
| [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
|
|
14
16
|
| [ModelingLimits](../ModelingLimits.md) | Aggregate manufacturing output ceilings selected by a trusted host. |
|
|
15
17
|
|
|
16
|
-
Package: `@metamesh/modeling@0.
|
|
18
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
# Core
|
|
1
|
+
# Core values
|
|
2
2
|
|
|
3
|
-
Use
|
|
3
|
+
Use shared coordinate, path, polygon, and bounds data.
|
|
4
4
|
|
|
5
|
-
Use
|
|
5
|
+
Use coordinate tuples, frames, contours, polygons, regions, and bounds records for plain-data interchange. `Contour` omits the duplicated closing point; `PolygonData` associates an exterior with its holes.
|
|
6
6
|
|
|
7
7
|
## Interfaces
|
|
8
8
|
|
|
9
9
|
| API | Summary |
|
|
10
10
|
| --- | --- |
|
|
11
11
|
| [Frame3](../Frame3.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
|
|
12
|
-
| [PolygonData](../PolygonData.md) | One
|
|
13
|
-
| [
|
|
14
|
-
| [
|
|
12
|
+
| [PolygonData](../PolygonData.md) | One filled two-dimensional polygon with an exterior and optional holes. |
|
|
13
|
+
| [Bounds2Data](../Bounds2Data.md) | Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. |
|
|
14
|
+
| [Bounds3Data](../Bounds3Data.md) | Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. |
|
|
15
15
|
|
|
16
16
|
## Type aliases
|
|
17
17
|
|
|
18
18
|
| API | Summary |
|
|
19
19
|
| --- | --- |
|
|
20
|
-
| [Contour](../Contour.md) | A closed two-dimensional boundary whose first point is not repeated at the end. |
|
|
21
|
-
| [RegionData](../RegionData.md) | A two-dimensional region represented by disjoint filled polygons. |
|
|
22
|
-
| [
|
|
23
|
-
| [
|
|
20
|
+
| [Contour](../Contour.md) | A sampled closed two-dimensional boundary whose first point is not repeated at the end. |
|
|
21
|
+
| [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. |
|
|
22
|
+
| [Vector2Data](../Vector2Data.md) | A two-dimensional Cartesian vector or point. |
|
|
23
|
+
| [Vector3Data](../Vector3Data.md) | A three-dimensional Cartesian vector or point. |
|
|
24
24
|
|
|
25
25
|
## Guides
|
|
26
26
|
|
|
27
27
|
- [Geometry vocabulary](../../../guides/concepts.md#geometry-vocabulary)
|
|
28
28
|
- [Lifecycle and inspection](../../../guides/concepts.md#lifecycle-and-inspection)
|
|
29
29
|
|
|
30
|
-
Package: `@metamesh/modeling@0.
|
|
30
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Build hollow or multicomponent lofts and sweeps using stable landmarks.
|
|
4
4
|
|
|
5
|
-
Contour is
|
|
5
|
+
`Contour` is point data with an implicit closing edge. `Profile` specifies stable component, contour, and span IDs for a family; it is distinct from a filled `Section`.
|
|
6
|
+
|
|
7
|
+
Call `matchProfiles` once over the complete family to produce `CorrespondingProfile` values. Paired spans share a physical sampling grid, including logical slots for collapsed corners. `loft` and `sweep` use that correspondence without guessing topology or rematching.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
@@ -18,9 +20,9 @@ Contour is plain point data with an implicit closing edge. Profile is an identif
|
|
|
18
20
|
| [CorrespondingComponent](../CorrespondingComponent.md) | One sampled component retaining contour identities and logical point correspondence. |
|
|
19
21
|
| [CorrespondingContour](../CorrespondingContour.md) | A sampled contour retaining logical slots, including intentionally collapsed spans. |
|
|
20
22
|
| [MatchProfilesOptions](../MatchProfilesOptions.md) | Explicit family sampling settings; omitted values use physical package defaults. |
|
|
21
|
-
| [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling. |
|
|
23
|
+
| [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. |
|
|
22
24
|
| [ProfileComponent2](../ProfileComponent2.md) | One component and its explicitly identified holes. |
|
|
23
|
-
| [ProfileContour2](../ProfileContour2.md) |
|
|
25
|
+
| [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. |
|
|
24
26
|
|
|
25
27
|
## Type aliases
|
|
26
28
|
|
|
@@ -29,4 +31,4 @@ Contour is plain point data with an implicit closing edge. Profile is an identif
|
|
|
29
31
|
| [CorrespondingProfileStation](../CorrespondingProfileStation.md) | One already matched profile at an explicit height or right-handed spatial frame. |
|
|
30
32
|
| [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
|
|
31
33
|
|
|
32
|
-
Package: `@metamesh/modeling@0.
|
|
34
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
-
# Extrude,
|
|
1
|
+
# Extrude, revolve, and sweep
|
|
2
2
|
|
|
3
3
|
Turn sections and paths into extruded, lofted, revolved, or swept solids.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Turn filled Sections or explicitly matched profiles into solids:
|
|
6
|
+
|
|
7
|
+
- **Extrude:** `section.extrude({ height, twist, scaleTop })` adds +Z depth. `center` defaults to `false`.
|
|
8
|
+
- **Revolve:** `section.revolve({ degrees })` rotates radial/Z geometry around +Z and caps partial turns.
|
|
9
|
+
- **Loft:** `loft(stations, options)` places profiles at exactly one `z` or `frame` per station, in input order. `refine` controls density; slices interpolate world vertices.
|
|
10
|
+
- **Sweep:** `section.sweep(path, options)` supports implicitly closed paths, transport/fixed-normal/guide/Frenet orientation, physical-length or station twist progression, uniform/XY/per-station scales, and an explicit rotationally equivalent `seamProfileOffset`. Open sweeps have watertight end caps. Closed sweeps require compatible seam orientation and scale.
|
|
11
|
+
|
|
12
|
+
Lofts match compatible primitive landmarks directly, including circle/ellipse quadrants to rectangle corners. Other unlike primitive families use direct perimeter association from construction-local +X seams. Arbitrary Sections and loops require an explicit `direct`, `reindex`, `fast-distance`, or `distance` method. Identified `CorrespondingProfile` landmarks reject geometric remapping.
|
|
13
|
+
|
|
14
|
+
Standalone `extrude`, `revolve`, and `sweep` accept only `CorrespondingProfile` data. Use Section methods for filled Sections.
|
|
6
15
|
|
|
7
16
|
## Functions
|
|
8
17
|
|
|
@@ -39,4 +48,4 @@ Turn sections and paths into extruded, lofted, revolved, or swept solids.
|
|
|
39
48
|
- [Matched-section loft](../../../guides/recipes.md#matched-section-loft)
|
|
40
49
|
- [Choose a modeling path](../../../guides/concepts.md#choose-a-modeling-path)
|
|
41
50
|
|
|
42
|
-
Package: `@metamesh/modeling@0.
|
|
51
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
Declare typed programs, optional computations, semantic parts and structured diagnostics.
|
|
4
4
|
|
|
5
|
-
Start with `generate(({ params, part, assert }) => ...)` and return one `part(...)` or a readonly array of parts. Parameter values are ordinary readonly data.
|
|
5
|
+
Start with `generate(({ params, part, assert }) => ...)` and return one `part(...)` or a readonly array of parts. Parameter values are ordinary readonly data.
|
|
6
|
+
|
|
7
|
+
- **Cache:** `computed(id, callback)` optionally caches pure data or geometry and tracks synchronous reads. List changing outer captures with `computed(id, () => ..., [value])`; dependency arrays supplement automatic tracking.
|
|
8
|
+
- **Report issues:** assertions stop immediately. Warnings continue and must be emitted in the outer callback.
|
|
9
|
+
- **Place parts:** `position` uses millimetres; `rotation` uses fixed global XYZ degrees.
|
|
10
|
+
- **Keep cached data immutable:** use `immutableBuffer` for numeric arrays and `immutableMesh` for indexed meshes. Buffers expose only `length`, `at(index)`, and `copy()`. Snapshots still contain ordinary typed arrays.
|
|
6
11
|
|
|
7
12
|
## Functions
|
|
8
13
|
|
|
@@ -41,4 +46,8 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
41
46
|
| [GenerateCallback](../GenerateCallback.md) | Pure synchronous callback returning one declared part or an array; caches are optional. |
|
|
42
47
|
| [PartGeometry](../PartGeometry.md) | Manufacturing geometry; filled sections are intermediate construction values. |
|
|
43
48
|
|
|
44
|
-
|
|
49
|
+
## Guides
|
|
50
|
+
|
|
51
|
+
- [Complete standalone model example](../../../guides/standalone-model.md#minimal-model-entry)
|
|
52
|
+
|
|
53
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Knuckle joints
|
|
2
|
+
|
|
3
|
+
Compose reusable knuckle joints with independent mounting attachments.
|
|
4
|
+
|
|
5
|
+
Joint halves share a centered +X pin axis and +Z roll guide:
|
|
6
|
+
|
|
7
|
+
- **Captive:** A anchors the integral shaft.
|
|
8
|
+
- **Inserted pin:** neither half supplies a shaft.
|
|
9
|
+
- **Lift-off:** finite engagement with no far anchor.
|
|
10
|
+
|
|
11
|
+
Each half can have a square-edged rectangular web or remain barrels only. Outer rim chamfers preserve a positive faceted barrel wall. You supply mounting bodies, holes, retention, part placement, and attachment collision checks.
|
|
12
|
+
|
|
13
|
+
Radial clearance is per side; axial gap is the total gap between adjacent intervals. Zero allowances describe ideal contact, not printable fit.
|
|
14
|
+
|
|
15
|
+
## Functions
|
|
16
|
+
|
|
17
|
+
| API | Summary |
|
|
18
|
+
| --- | --- |
|
|
19
|
+
| [knuckleHinge](../knuckleHinge.md) | Declares separate knuckle-joint halves along the centered +X pin axis, in millimetres. |
|
|
20
|
+
|
|
21
|
+
## Interfaces
|
|
22
|
+
|
|
23
|
+
| API | Summary |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| [KnuckleHinge](../KnuckleHinge-type.md) | Portable local geometry; consumers own plates, holes, part declarations, and final placement. |
|
|
26
|
+
| [KnuckleHingeBaseSpec](../KnuckleHingeBaseSpec.md) | Shared knuckle-joint dimensions in millimetres, independent of mounting geometry. |
|
|
27
|
+
| [KnuckleHingeSamplingOptions](../KnuckleHingeSamplingOptions.md) | Shared circular sampling for barrels, shafts, and bores. |
|
|
28
|
+
| [KnuckleHingeHalfOptions](../KnuckleHingeHalfOptions.md) | Optional mounting and outer-rim treatment for one knuckle owner. |
|
|
29
|
+
| [KnuckleHingeWeb](../KnuckleHingeWeb.md) | Rectangular connection from the axis into a caller-owned mounting body, in millimetres. |
|
|
30
|
+
|
|
31
|
+
## Type aliases
|
|
32
|
+
|
|
33
|
+
| API | Summary |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| [KnuckleHingeOptions](../KnuckleHingeOptions.md) | Joint declaration with independent attachments; unspecified sampling inherits the evaluating host. |
|
|
36
|
+
| [KnuckleHingeSpec](../KnuckleHingeSpec.md) | Knuckle-joint construction modes and interval ownership. |
|
|
37
|
+
|
|
38
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,7 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
Evaluate recipes and copy observations while the host owns native resources.
|
|
4
4
|
|
|
5
|
-
Inspection returns copied scalar facts and finite bounds. Mesh extraction is explicit; finalized engine output is already copied and validated.
|
|
5
|
+
Inspection returns copied scalar facts and finite bounds. Mesh extraction is explicit; finalized engine output is already copied and validated.
|
|
6
|
+
|
|
7
|
+
- `components` accepts either dimension. Observed selections and recipes using them can only be evaluated in their originating session; ordinary recipes remain reusable after session disposal.
|
|
8
|
+
- `simplify()` returns a new shape. `Solid.projectSection()` and `Solid.sliceSection()` return Sections.
|
|
9
|
+
- `isEmpty` distinguishes empty Boolean or split results.
|
|
10
|
+
- `distance` measures minimum separation between nonempty solids, returning zero for contact or overlapping material.
|
|
11
|
+
|
|
12
|
+
Recipe handles cannot cross a Worker boundary.
|
|
6
13
|
|
|
7
14
|
## Functions
|
|
8
15
|
|
|
@@ -19,4 +26,4 @@ Inspection returns copied scalar facts and finite bounds. Mesh extraction is exp
|
|
|
19
26
|
| --- | --- |
|
|
20
27
|
| [SolidSegmentHit](../SolidSegmentHit.md) | Copied surface intersection from a finite directed segment. Distance is in millimetres. |
|
|
21
28
|
|
|
22
|
-
Package: `@metamesh/modeling@0.
|
|
29
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
# Mesh
|
|
1
|
+
# Mesh and inspection
|
|
2
2
|
|
|
3
3
|
Convert validated meshes and inspect stable section or solid measurements.
|
|
4
4
|
|
|
5
|
-
inspectSection and inspectSolid copy native scalar facts and bounds
|
|
5
|
+
`inspectSection` and `inspectSolid` copy native scalar facts and bounds during active host execution. `Solid.toTriangleMesh()` returns copied manufacturing arrays; finalized engine output also receives strict mesh analysis.
|
|
6
|
+
|
|
7
|
+
Inspection does not certify wall thickness, overhangs, printer fit, or material behavior.
|
|
6
8
|
|
|
7
9
|
## Functions
|
|
8
10
|
|
|
@@ -26,4 +28,4 @@ inspectSection and inspectSolid copy native scalar facts and bounds from recipes
|
|
|
26
28
|
|
|
27
29
|
- [Solid inspection](../../../guides/recipes.md#solid-inspection)
|
|
28
30
|
|
|
29
|
-
Package: `@metamesh/modeling@0.
|
|
31
|
+
Package: `@metamesh/modeling@0.16.0`.
|
|
@@ -2,13 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
Reusable immutable planar and spatial trajectories.
|
|
4
4
|
|
|
5
|
-
Use path2 and path3
|
|
5
|
+
Use `path2` and `path3` for immutable sampled trajectories. `transform()`, `reverse()`, and `resample()` return new values; Geometry accepts the path values directly.
|
|
6
|
+
|
|
7
|
+
`closestPoint()` reports a boundary position and fraction within an edge, rather than a filled interior or analytic-curve solution. `bounds()` returns fluent bounds, or `undefined` for an empty path. `toData()` returns points with dimension and closure metadata.
|
|
8
|
+
|
|
9
|
+
Closed paths omit the duplicated endpoint. `polygon` fills a closed planar path and establishes winding.
|
|
6
10
|
|
|
7
11
|
## Functions
|
|
8
12
|
|
|
9
13
|
| API | Summary |
|
|
10
14
|
| --- | --- |
|
|
11
|
-
| [path2](../path2.md) | Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization.
|
|
15
|
+
| [path2](../path2.md) | Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization. |
|
|
12
16
|
| [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. |
|
|
13
17
|
|
|
14
18
|
## Interfaces
|
|
@@ -20,14 +24,18 @@ Use path2 and path3 to own sampled point data and closure. Geometry consumes the
|
|
|
20
24
|
| [PathOptions](../PathOptions.md) | Topology and allocation ceiling for an immutable sampled path. |
|
|
21
25
|
| [PathLocation](../PathLocation.md) | Nearest location on a sampled boundary, rather than inside a filled shape or on an analytic curve. |
|
|
22
26
|
| [PathResamplingOptions](../PathResamplingOptions.md) | Equal arc-length sampling; the path itself owns whether its closing edge is included. |
|
|
27
|
+
| [Path2Data](../Path2Data.md) | Complete plain XY path representation, including topology and empty-path dimensional identity. |
|
|
28
|
+
| [Path3Data](../Path3Data.md) | Complete plain XYZ path representation, including topology and empty-path dimensional identity. |
|
|
23
29
|
|
|
24
30
|
## Type aliases
|
|
25
31
|
|
|
26
32
|
| API | Summary |
|
|
27
33
|
| --- | --- |
|
|
28
|
-
| [Path2Input](../Path2Input.md) |
|
|
29
|
-
| [Path3Input](../Path3Input.md) |
|
|
30
|
-
|
|
31
|
-
|
|
34
|
+
| [Path2Input](../Path2Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
|
|
35
|
+
| [Path3Input](../Path3Input.md) | A matching path value, complete plain path data, or a collection of vectors. |
|
|
36
|
+
|
|
37
|
+
## Guides
|
|
38
|
+
|
|
39
|
+
- [Path queries and closure-preserving interchange](../../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
32
40
|
|
|
33
|
-
Package: `@metamesh/modeling@0.
|
|
41
|
+
Package: `@metamesh/modeling@0.16.0`.
|