@metamesh/modeling 0.13.0 → 0.15.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 +55 -0
- package/README.md +67 -9
- package/dist/api/engine.d.ts +14 -7
- package/dist/api/geometry.d.ts +787 -447
- package/dist/api/index.d.ts +637 -250
- package/dist/api/text.d.ts +6 -4
- package/dist/docs/guides/concepts.md +135 -17
- package/dist/docs/guides/fonts.md +8 -0
- package/dist/docs/guides/fundamentals.md +8 -3
- package/dist/docs/guides/generation.md +6 -4
- package/dist/docs/guides/hosting.md +27 -14
- package/dist/docs/guides/recipes.md +82 -11
- package/dist/docs/manifest.json +1911 -856
- 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 +4 -8
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +20 -9
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +4 -4
- package/dist/docs/reference/engine/categories/host-lifecycle.md +2 -2
- package/dist/docs/reference/engine/createModelEngine.md +3 -3
- 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 +2 -2
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +17 -4
- package/dist/docs/reference/geometry/{Anchor3.md → Anchor3-type.md} +9 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +7 -7
- package/dist/docs/reference/geometry/ArcCurve3.md +9 -9
- package/dist/docs/reference/geometry/{AttachTransformOptions.md → AttachOptions.md} +14 -5
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +6 -1
- package/dist/docs/reference/geometry/Bounds2.md +4 -4
- package/dist/docs/reference/geometry/Bounds3.md +4 -4
- package/dist/docs/reference/geometry/BoundsFit2.md +3 -3
- package/dist/docs/reference/geometry/BoundsFit3.md +3 -3
- package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +8 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +8 -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 +10 -10
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +107 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/Contour.md +3 -3
- package/dist/docs/reference/geometry/ContourCurve.md +1 -1
- package/dist/docs/reference/geometry/ContourPoint.md +1 -1
- package/dist/docs/reference/geometry/ContourSegment.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +6 -6
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +6 -6
- package/dist/docs/reference/geometry/Curve2.md +1 -1
- package/dist/docs/reference/geometry/Curve3.md +1 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +5 -3
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +3 -3
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +8 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +9 -5
- package/dist/docs/reference/geometry/CylinderOptions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +6 -6
- 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 +3 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -5
- package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
- package/dist/docs/reference/geometry/Frame3.md +6 -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 +14 -5
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +11 -5
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +5 -5
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +6 -6
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +7 -3
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +6 -6
- package/dist/docs/reference/geometry/LineCurve2.md +4 -4
- package/dist/docs/reference/geometry/LineCurve3.md +4 -4
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +4 -4
- package/dist/docs/reference/geometry/LoftOptions.md +1 -1
- package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
- package/dist/docs/reference/geometry/Path2-type.md +192 -0
- package/dist/docs/reference/geometry/Path2Data.md +14 -0
- package/dist/docs/reference/geometry/Path2Input.md +15 -0
- package/dist/docs/reference/geometry/Path3-type.md +192 -0
- package/dist/docs/reference/geometry/Path3Data.md +14 -0
- package/dist/docs/reference/geometry/Path3Input.md +15 -0
- package/dist/docs/reference/geometry/PathFrame.md +5 -5
- package/dist/docs/reference/geometry/PathLocation.md +65 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +6 -5
- package/dist/docs/reference/geometry/PathOptions.md +34 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -3
- package/dist/docs/reference/geometry/PathPlacement.md +4 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +80 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
- package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +22 -22
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +3 -3
- package/dist/docs/reference/geometry/{Polygon.md → PolygonData.md} +2 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +4 -4
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +31 -0
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +104 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/Profile.md +1 -1
- package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
- package/dist/docs/reference/geometry/ProfileSpan2.md +3 -3
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +5 -5
- package/dist/docs/reference/geometry/RadialPatternOptions.md +17 -22
- 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 +3 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +14 -0
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +9 -4
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +4 -4
- package/dist/docs/reference/geometry/SampledCurve3.md +4 -4
- package/dist/docs/reference/geometry/SampledThreadHelices.md +3 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +3 -3
- package/dist/docs/reference/geometry/SphereOptions.md +3 -3
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/StrokeCap.md +7 -0
- package/dist/docs/reference/geometry/StrokeJoin.md +7 -0
- package/dist/docs/reference/geometry/{StrokePathRegionOptions.md → StrokeOptions.md} +8 -8
- package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +3 -3
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +13 -13
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +11 -11
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +9 -9
- package/dist/docs/reference/geometry/SweepOptions.md +6 -6
- package/dist/docs/reference/geometry/SweepOrientation.md +7 -7
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -5
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +3 -3
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/geometry/{ThreadProfile.md → ThreadProfile-type.md} +3 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadRole.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +6 -6
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +6 -6
- package/dist/docs/reference/geometry/TorusOptions.md +8 -8
- package/dist/docs/reference/geometry/Transform2-type.md +255 -0
- package/dist/docs/reference/geometry/Transform2Input.md +19 -0
- package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
- package/dist/docs/reference/geometry/Transform3-type.md +295 -0
- package/dist/docs/reference/geometry/Transform3Input.md +19 -0
- package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +5 -4
- package/dist/docs/reference/geometry/TriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TubeOptions.md +8 -8
- package/dist/docs/reference/geometry/Vector2-type.md +269 -0
- package/dist/docs/reference/geometry/Vector2Input.md +19 -0
- package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
- package/dist/docs/reference/geometry/Vector3-type.md +281 -0
- package/dist/docs/reference/geometry/Vector3Input.md +19 -0
- package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +3 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
- package/dist/docs/reference/geometry/add2.md +36 -0
- package/dist/docs/reference/geometry/add3.md +10 -6
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +2 -2
- package/dist/docs/reference/geometry/{createAnchor3.md → anchor3.md} +13 -9
- package/dist/docs/reference/geometry/anchorFrame3.md +5 -5
- package/dist/docs/reference/geometry/applyTransformDirection3.md +11 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +11 -7
- package/dist/docs/reference/geometry/attachmentTransform3.md +77 -0
- package/dist/docs/reference/geometry/boundsCenter.md +7 -7
- package/dist/docs/reference/geometry/boundsFromSize.md +7 -7
- package/dist/docs/reference/geometry/boundsSize.md +7 -7
- package/dist/docs/reference/geometry/boxAnchor3.md +10 -6
- package/dist/docs/reference/geometry/categories/bounds-layout.md +1 -1
- package/dist/docs/reference/geometry/categories/curves-paths.md +15 -10
- package/dist/docs/reference/geometry/categories/mechanical.md +6 -6
- package/dist/docs/reference/geometry/categories/meshes.md +3 -4
- package/dist/docs/reference/geometry/categories/pattern-placement.md +7 -7
- package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +5 -6
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -2
- package/dist/docs/reference/geometry/categories/transforms-math.md +41 -12
- package/dist/docs/reference/geometry/categories/vector-import.md +5 -5
- package/dist/docs/reference/geometry/circleContour.md +1 -1
- package/dist/docs/reference/geometry/closeToAxis.md +4 -4
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +5 -5
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -5
- package/dist/docs/reference/geometry/composeTransform3.md +10 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +10 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -7
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +4 -4
- package/dist/docs/reference/geometry/{createTriangleMeshSignature.md → computeTriangleMeshSignature.md} +4 -4
- package/dist/docs/reference/geometry/containsBounds.md +1 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +4 -4
- package/dist/docs/reference/geometry/cross2.md +36 -0
- package/dist/docs/reference/geometry/cross3.md +10 -6
- package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -6
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/distance2.md +36 -0
- package/dist/docs/reference/geometry/distance3.md +36 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +8 -6
- package/dist/docs/reference/geometry/dot2.md +36 -0
- package/dist/docs/reference/geometry/dot3.md +9 -5
- package/dist/docs/reference/geometry/ellipseContour.md +1 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +10 -6
- package/dist/docs/reference/geometry/extrudeMesh.md +8 -8
- package/dist/docs/reference/geometry/fitBounds.md +1 -1
- package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
- package/dist/docs/reference/geometry/frameTransform3.md +8 -4
- package/dist/docs/reference/geometry/{getMetricClearanceHole.md → getMetricClearanceHoleDiameter.md} +3 -3
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/heightfieldMesh.md +1 -1
- package/dist/docs/reference/geometry/{buildHelicalThreadRidgeMesh.md → helicalThreadRidgeMesh.md} +5 -5
- package/dist/docs/reference/geometry/{buildHelicalThreadSolidMesh.md → helicalThreadSolidMesh.md} +5 -5
- package/dist/docs/reference/geometry/inverseTransform3.md +9 -5
- package/dist/docs/reference/geometry/isGeometryError.md +1 -1
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +1 -1
- package/dist/docs/reference/geometry/layoutRow.md +4 -4
- package/dist/docs/reference/geometry/length2.md +30 -0
- package/dist/docs/reference/geometry/length3.md +8 -4
- package/dist/docs/reference/geometry/lerp2.md +42 -0
- package/dist/docs/reference/geometry/lerp3.md +10 -6
- package/dist/docs/reference/geometry/linearPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/loftMesh.md +2 -1
- package/dist/docs/reference/geometry/matchProfiles.md +1 -1
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +3 -2
- package/dist/docs/reference/geometry/meshBounds.md +1 -1
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +3 -3
- package/dist/docs/reference/geometry/normalize2.md +36 -0
- package/dist/docs/reference/geometry/normalize3.md +10 -6
- package/dist/docs/reference/geometry/normalizeContour.md +4 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -5
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -5
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +11 -11
- package/dist/docs/reference/geometry/path2.md +42 -0
- package/dist/docs/reference/geometry/path3.md +42 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -8
- package/dist/docs/reference/geometry/preflightHeightfield.md +1 -1
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +3 -3
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +3 -3
- package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedNut.md +3 -3
- package/dist/docs/reference/geometry/preflightThreadedRod.md +3 -3
- package/dist/docs/reference/geometry/projectOntoPlane3.md +10 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -20
- package/dist/docs/reference/geometry/rectangleContour.md +2 -2
- package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
- package/dist/docs/reference/geometry/regionArea.md +4 -4
- package/dist/docs/reference/geometry/regionBounds.md +4 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +5 -5
- package/dist/docs/reference/geometry/resamplePolyline2.md +5 -5
- package/dist/docs/reference/geometry/resamplePolyline3.md +5 -5
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +8 -4
- package/dist/docs/reference/geometry/resolveArcSegments.md +6 -6
- package/dist/docs/reference/geometry/resolveCircularSegments.md +6 -5
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +6 -6
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +4 -4
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/revolveMesh.md +10 -10
- package/dist/docs/reference/geometry/rotate2.md +36 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +10 -6
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -6
- package/dist/docs/reference/geometry/sampleContour.md +3 -3
- package/dist/docs/reference/geometry/sampleCurve2.md +3 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +2 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleHelix.md +5 -5
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +4 -4
- package/dist/docs/reference/geometry/sampleSideProfile.md +6 -6
- package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +2 -2
- package/dist/docs/reference/geometry/scale2.md +36 -0
- package/dist/docs/reference/geometry/scale3.md +9 -5
- package/dist/docs/reference/geometry/scaleTransform3.md +10 -6
- package/dist/docs/reference/geometry/signedContourArea.md +1 -1
- package/dist/docs/reference/geometry/starContour.md +4 -4
- package/dist/docs/reference/geometry/strokeRegionData.md +63 -0
- package/dist/docs/reference/geometry/subtract2.md +36 -0
- package/dist/docs/reference/geometry/subtract3.md +10 -6
- package/dist/docs/reference/geometry/sweepMesh.md +9 -9
- package/dist/docs/reference/geometry/{createThreadProfile.md → threadProfile.md} +6 -6
- package/dist/docs/reference/geometry/transform2.md +38 -0
- package/dist/docs/reference/geometry/transform3.md +38 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +8 -4
- package/dist/docs/reference/geometry/transformRegionData.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +6 -6
- package/dist/docs/reference/geometry/translationTransform3.md +10 -6
- package/dist/docs/reference/geometry/triangulateContour.md +1 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +2 -2
- package/dist/docs/reference/geometry/validateTransform3.md +9 -5
- package/dist/docs/reference/geometry/validateTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/vector2.md +31 -0
- package/dist/docs/reference/geometry/vector3.md +38 -0
- package/dist/docs/reference/geometry.md +3 -3
- package/dist/docs/reference/model/Anchor3.md +5 -5
- package/dist/docs/reference/model/AttachOptions.md +10 -5
- package/dist/docs/reference/model/Bounds2.md +4 -4
- package/dist/docs/reference/model/Bounds3.md +4 -4
- 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 +10 -10
- 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 +3 -3
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/model/Computed.md +1 -1
- package/dist/docs/reference/model/ComputedValue.md +1 -1
- package/dist/docs/reference/model/Contour.md +3 -3
- 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 +3 -3
- package/dist/docs/reference/model/DiagnosticOptions.md +1 -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 +3 -3
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/model/FinalizedModel.md +18 -8
- 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 +1 -1
- package/dist/docs/reference/model/GenerateContext.md +5 -5
- package/dist/docs/reference/model/GeneratedPart.md +6 -6
- package/dist/docs/reference/model/GenerationDiagnostic.md +1 -1
- package/dist/docs/reference/model/GenerationError.md +1 -1
- package/dist/docs/reference/model/GeometryResolution.md +5 -5
- 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 +11 -5
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +3 -3
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/model/HullOptions.md +7 -7
- package/dist/docs/reference/model/ImmutableBuffer-type.md +1 -1
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +1 -1
- package/dist/docs/reference/model/ImplicitOptions.md +4 -4
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +4 -4
- package/dist/docs/reference/model/LinearPatternOptions.md +12 -5
- 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 +4 -4
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +1 -1
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +1 -1
- package/dist/docs/reference/model/PartGeometry.md +1 -1
- package/dist/docs/reference/model/PartOptions.md +6 -6
- package/dist/docs/reference/model/Path2-type.md +192 -0
- package/dist/docs/reference/model/Path2Data.md +14 -0
- package/dist/docs/reference/model/Path2Input.md +15 -0
- package/dist/docs/reference/model/Path3-type.md +192 -0
- package/dist/docs/reference/model/Path3Data.md +14 -0
- package/dist/docs/reference/model/Path3Input.md +15 -0
- package/dist/docs/reference/model/PathLocation.md +65 -0
- package/dist/docs/reference/model/PathNormalGuide.md +6 -5
- package/dist/docs/reference/model/PathOptions.md +34 -0
- package/dist/docs/reference/model/PathPatternOptions.md +3 -3
- package/dist/docs/reference/model/PathResamplingOptions.md +79 -0
- package/dist/docs/reference/model/PatternSource.md +2 -2
- package/dist/docs/reference/model/Pivot2Options.md +27 -0
- package/dist/docs/reference/model/Pivot3Options.md +27 -0
- package/dist/docs/reference/model/PlaneOptions.md +3 -3
- package/dist/docs/reference/model/{Polygon-type.md → PolygonData.md} +2 -2
- package/dist/docs/reference/model/PolygonOptions.md +85 -8
- package/dist/docs/reference/model/{PrimitivePlacement.md → PrimitiveAttachment.md} +7 -7
- package/dist/docs/reference/model/{PrimitivePlacementOptions.md → PrimitiveAttachmentOptions.md} +41 -20
- package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/model/Profile.md +1 -1
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +1 -1
- 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 +17 -22
- 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 +10 -10
- package/dist/docs/reference/model/{Region.md → RegionData.md} +4 -4
- package/dist/docs/reference/model/RegularPolygonOptions.md +5 -5
- package/dist/docs/reference/model/RevolveOptions.md +9 -4
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +81 -40
- package/dist/docs/reference/model/SectionHullOptions.md +7 -7
- package/dist/docs/reference/model/SectionInspection.md +10 -10
- package/dist/docs/reference/model/{RegionOffsetJoin.md → SectionOffsetJoin.md} +3 -3
- package/dist/docs/reference/model/{RegionOffsetOptions.md → SectionOffsetOptions.md} +4 -4
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +66 -26
- package/dist/docs/reference/model/SolidInspection.md +7 -7
- package/dist/docs/reference/model/{SolidRayHit.md → SolidSegmentHit.md} +6 -6
- package/dist/docs/reference/model/SphereOptions.md +3 -3
- package/dist/docs/reference/model/StarOptions.md +10 -10
- package/dist/docs/reference/model/StrokeCap.md +16 -0
- package/dist/docs/reference/model/StrokeJoin.md +16 -0
- package/dist/docs/reference/model/StrokeOptions.md +91 -0
- 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 +6 -6
- package/dist/docs/reference/model/SweepOrientation.md +7 -7
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/model/ThreadHandedness.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/model/ThreadProfile.md +3 -3
- package/dist/docs/reference/model/ThreadRidgeOptions.md +1 -1
- package/dist/docs/reference/model/ThreadedNutBevel.md +1 -1
- package/dist/docs/reference/model/ThreadedNutOptions.md +4 -4
- package/dist/docs/reference/model/ThreadedNutPreflight.md +1 -1
- package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +4 -4
- package/dist/docs/reference/model/TorusOptions.md +8 -8
- package/dist/docs/reference/model/Transform2-type.md +256 -0
- package/dist/docs/reference/model/Transform2Input.md +20 -0
- package/dist/docs/reference/model/Transform2Matrix.md +15 -0
- package/dist/docs/reference/model/Transform3-type.md +296 -0
- package/dist/docs/reference/model/Transform3Input.md +20 -0
- package/dist/docs/reference/model/{Transform3.md → Transform3Matrix.md} +3 -3
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +2 -2
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/model/TubeOptions.md +8 -8
- package/dist/docs/reference/model/Vector2-type.md +270 -0
- package/dist/docs/reference/model/Vector2Input.md +20 -0
- package/dist/docs/reference/model/{Vector2.md → Vector2Tuple.md} +3 -3
- package/dist/docs/reference/model/Vector3-type.md +282 -0
- package/dist/docs/reference/model/Vector3Input.md +20 -0
- package/dist/docs/reference/model/{Vector3.md → Vector3Tuple.md} +3 -3
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/model/anchor.md +1 -1
- package/dist/docs/reference/model/box.md +4 -4
- package/dist/docs/reference/model/castSegment.md +40 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +4 -4
- package/dist/docs/reference/model/categories/bounded-surfaces.md +3 -3
- package/dist/docs/reference/model/categories/contracts.md +2 -2
- package/dist/docs/reference/model/categories/core-values-errors.md +5 -5
- package/dist/docs/reference/model/categories/explicit-profiles.md +3 -3
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +2 -2
- package/dist/docs/reference/model/categories/generation.md +1 -1
- package/dist/docs/reference/model/categories/inspection.md +7 -8
- package/dist/docs/reference/model/categories/mesh-inspection.md +2 -2
- package/dist/docs/reference/model/categories/paths.md +33 -0
- package/dist/docs/reference/model/categories/primitives.md +3 -3
- package/dist/docs/reference/model/categories/resolution.md +2 -2
- package/dist/docs/reference/model/categories/sections.md +10 -8
- package/dist/docs/reference/model/categories/threads.md +5 -5
- package/dist/docs/reference/model/categories/transforms-placement.md +27 -13
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +10 -7
- 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 +2 -2
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +3 -3
- package/dist/docs/reference/model/generate.md +1 -1
- package/dist/docs/reference/model/gridPattern.md +4 -4
- package/dist/docs/reference/model/heightfield.md +2 -2
- package/dist/docs/reference/model/hull.md +2 -2
- package/dist/docs/reference/model/immutableBuffer.md +1 -1
- package/dist/docs/reference/model/immutableMesh.md +1 -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 +4 -4
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +2 -2
- package/dist/docs/reference/model/linearPattern.md +4 -4
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +2 -2
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +42 -0
- package/dist/docs/reference/model/path3.md +42 -0
- package/dist/docs/reference/model/pathPattern.md +13 -12
- package/dist/docs/reference/model/polygon.md +4 -4
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +3 -3
- package/dist/docs/reference/model/preflightThreadedNut.md +3 -3
- package/dist/docs/reference/model/preflightThreadedRod.md +3 -3
- package/dist/docs/reference/model/radialPattern.md +5 -37
- package/dist/docs/reference/model/rectangle.md +4 -4
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +5 -4
- 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 +4 -4
- package/dist/docs/reference/model/stroke.md +74 -0
- 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 +7 -7
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +2 -2
- package/dist/docs/reference/model/threadedNut.md +4 -4
- package/dist/docs/reference/model/threadedRod.md +4 -4
- package/dist/docs/reference/model/torus.md +3 -3
- package/dist/docs/reference/model/transform2.md +39 -0
- package/dist/docs/reference/model/transform3.md +39 -0
- package/dist/docs/reference/model/tube.md +3 -3
- package/dist/docs/reference/model/union.md +1 -1
- package/dist/docs/reference/model/vector2.md +32 -0
- package/dist/docs/reference/model/vector3.md +39 -0
- package/dist/docs/reference/model.md +9 -8
- package/dist/docs/reference/text/Bounds2.md +4 -4
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Tuple.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +2 -2
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +3 -3
- 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 +1 -1
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +4 -4
- package/dist/docs/reference/text/prepareVectorFont.md +2 -2
- package/dist/docs/reference/text.md +1 -1
- package/dist/engine/construction-operations.js +31 -14
- package/dist/engine/deferred-context.js +11 -181
- package/dist/engine/execution.js +39 -8
- package/dist/engine/extrusion-finishing.js +1 -1
- package/dist/engine/index.js +6 -1
- package/dist/engine/inspection-operations.js +13 -11
- package/dist/engine/loft-operations.js +35 -14
- package/dist/engine/model-summary.js +8 -5
- package/dist/engine/native/material-components.js +305 -0
- package/dist/engine/native/regions.js +2 -1
- package/dist/engine/native/threads.js +3 -3
- package/dist/engine/native/transforms.js +11 -8
- package/dist/engine/operation-environment.js +2 -2
- package/dist/engine/pattern-operations.js +3 -3
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-anchors.js +17 -17
- package/dist/engine/primitive-operations.js +1 -1
- package/dist/engine/primitive-profiles.js +8 -7
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/recipe-realization.js +35 -21
- package/dist/engine/section-operations.js +52 -11
- package/dist/engine/session-graph.js +1 -1
- package/dist/engine/session-native.js +1 -1
- package/dist/engine/session-snapshot.js +17 -6
- package/dist/engine/session.js +13 -8
- package/dist/engine/shape-anchors.js +5 -11
- package/dist/engine/transform-operations.js +66 -49
- package/dist/geometry/anchors.js +40 -33
- package/dist/geometry/curves/sampling.js +14 -14
- package/dist/geometry/edge-finishing.js +1 -1
- package/dist/geometry/extrusion.js +13 -16
- package/dist/geometry/index.js +13 -10
- package/dist/geometry/loft/loft-simple-mesh.js +6 -6
- package/dist/geometry/loft/loft.js +22 -13
- package/dist/geometry/math/immutable-value.js +20 -0
- package/dist/geometry/math/vector-value.js +168 -0
- package/dist/geometry/math/vector2.js +80 -0
- package/dist/geometry/math/vector3.js +37 -7
- package/dist/geometry/mechanical/gear-motion.js +8 -5
- package/dist/geometry/mechanical/gears.js +38 -38
- package/dist/geometry/mechanical/index.js +3 -3
- package/dist/geometry/mechanical/standards.js +1 -1
- package/dist/geometry/mechanical/thread-helices.js +2 -3
- package/dist/geometry/mechanical/thread-mesh-plan.js +4 -5
- package/dist/geometry/mechanical/thread-mesh.js +7 -7
- package/dist/geometry/mechanical/thread-profiles.js +5 -5
- package/dist/geometry/mechanical/thread-solids.js +2 -2
- package/dist/geometry/mechanical/thread-surface.js +1 -1
- package/dist/geometry/mechanical/threads.js +8 -8
- package/dist/geometry/mesh/mesh-planar.js +25 -27
- package/dist/geometry/mesh/mesh-quality.js +5 -5
- package/dist/geometry/mesh/mesh-signature.js +13 -13
- package/dist/geometry/mesh/mesh-solid-intersections.js +5 -1
- package/dist/geometry/mesh/mesh-solid.js +7 -7
- package/dist/geometry/mesh/mesh.js +4 -15
- package/dist/geometry/paths/closest-point.js +63 -0
- package/dist/geometry/paths/frames.js +44 -14
- package/dist/geometry/paths/helix.js +16 -6
- package/dist/geometry/paths/path-value.js +252 -0
- package/dist/geometry/paths/planar.js +36 -23
- package/dist/geometry/paths/resampling.js +27 -5
- package/dist/geometry/patterns/placements.js +100 -27
- package/dist/geometry/patterns.js +2 -2
- package/dist/geometry/polygon-clipping.js +17 -0
- package/dist/geometry/primitive-resolution.js +4 -1
- package/dist/geometry/profiles/contour.js +6 -6
- package/dist/geometry/profiles/matched.js +4 -4
- package/dist/geometry/profiles/profiles.js +4 -4
- package/dist/geometry/profiles/rectangle.js +4 -4
- package/dist/geometry/profiles/side-profile.js +7 -7
- package/dist/geometry/profiles/span-sampling.js +1 -1
- package/dist/geometry/resolution.js +51 -39
- package/dist/geometry/revolve/revolve-mesh.js +12 -7
- package/dist/geometry/stroke-path.js +57 -68
- package/dist/geometry/svg/fill.js +7 -21
- package/dist/geometry/svg-import.js +23 -23
- package/dist/geometry/sweeps/options.js +5 -4
- package/dist/geometry/sweeps/orientation.js +5 -5
- package/dist/geometry/sweeps/stations.js +14 -14
- package/dist/geometry/sweeps/sweep-closed.js +5 -5
- package/dist/geometry/sweeps/sweep-mesh.js +9 -3
- package/dist/geometry/sweeps/sweep-open.js +4 -4
- package/dist/geometry/sweeps/validation.js +4 -7
- package/dist/geometry/transform-chain.js +172 -0
- package/dist/geometry/transform-geometry.js +27 -30
- package/dist/geometry/transform-matrix.js +14 -0
- package/dist/geometry/transform2.js +60 -0
- package/dist/geometry/transform3.js +70 -26
- package/dist/index.js +4 -0
- package/dist/model/execution-binding.js +10 -5
- package/dist/model/geometry-recipes.js +15 -0
- package/dist/{engine → model}/immutable-generation-data.js +88 -6
- package/dist/model/operation-dispatch.js +10 -3
- package/dist/model/operations.js +45 -35
- package/dist/model/recipe-declaration.js +199 -0
- package/dist/model/shape-handles.js +17 -5
- package/dist/text/index.js +15 -9
- package/dist/text/vector-text-layout.js +31 -26
- package/package.json +1 -1
- package/dist/docs/reference/geometry/Path2.md +0 -14
- package/dist/docs/reference/geometry/Path3.md +0 -14
- package/dist/docs/reference/geometry/PrimitivePlacement.md +0 -31
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +0 -83
- package/dist/docs/reference/geometry/Region.md +0 -14
- package/dist/docs/reference/geometry/StrokePathCap.md +0 -7
- package/dist/docs/reference/geometry/StrokePathJoin.md +0 -7
- package/dist/docs/reference/geometry/Transform3.md +0 -12
- package/dist/docs/reference/geometry/Vector2.md +0 -7
- package/dist/docs/reference/geometry/Vector3.md +0 -7
- package/dist/docs/reference/geometry/attachTransform.md +0 -73
- package/dist/docs/reference/geometry/cumulativePathLengths.md +0 -33
- package/dist/docs/reference/geometry/measureTriangleMesh.md +0 -55
- package/dist/docs/reference/geometry/pathLength.md +0 -33
- package/dist/docs/reference/geometry/rotateAroundAxis3.md +0 -38
- package/dist/docs/reference/geometry/strokePathRegion.md +0 -63
- package/dist/docs/reference/geometry/transformContour.md +0 -42
- package/dist/docs/reference/geometry/transformPath2.md +0 -40
- package/dist/docs/reference/geometry/transformPath3.md +0 -33
- package/dist/docs/reference/geometry/transformRegion.md +0 -40
- package/dist/docs/reference/model/Transform2.md +0 -15
- package/dist/docs/reference/model/fromRegion.md +0 -33
- package/dist/docs/reference/model/rayCast.md +0 -40
- package/dist/docs/reference/model/toRegion.md +0 -33
- package/dist/docs/reference/model/toTriangleMesh.md +0 -27
- package/dist/docs/reference/text/Vector2.md +0 -7
- package/dist/engine/geometry-recipes.js +0 -12
- package/dist/engine/pattern-transform.js +0 -9
- package/dist/geometry/paths/path.js +0 -32
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# path2
|
|
2
|
+
|
|
3
|
+
Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization. Open paths may be empty or have one point; closed paths need three vertices and omit a duplicated seam. Repeated adjacent vertices are retained. No winding normalization or filling is performed. Malformed dimensions or topology throw INVALID_ARGUMENT; nonfinite coordinates or measurement overflow throw NON_FINITE_VALUE; exhausted allocation ceilings throw COMPLEXITY_LIMIT GeometryError. A path input retains its closure. Limits bound construction only; resampling takes its own limits.
|
|
4
|
+
|
|
5
|
+
**path2**(`input`: [`Path2Input`](Path2Input.md), `options?`: [`PathOptions`](PathOptions.md)): [`Path2`](Path2-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="input"></a>
|
|
12
|
+
|
|
13
|
+
**`input`** · [`Path2Input`](Path2Input.md) · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<a id="options"></a>
|
|
18
|
+
|
|
19
|
+
**`options`** · [`PathOptions`](PathOptions.md) · Optional
|
|
20
|
+
|
|
21
|
+
- [`closed`](PathOptions.md#closed) · `boolean` · Optional
|
|
22
|
+
|
|
23
|
+
Connects the last vertex to the first; closed paths omit the repeated seam. Defaults to false.
|
|
24
|
+
|
|
25
|
+
- [`limits`](PathOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
26
|
+
|
|
27
|
+
Construction point ceiling; defaults to package sampling limits. Later sampling has its own options.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Returns
|
|
32
|
+
|
|
33
|
+
[`Path2`](Path2-type.md)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Related APIs
|
|
37
|
+
|
|
38
|
+
- [Path2](Path2-type.md)
|
|
39
|
+
- [Path2Input](Path2Input.md)
|
|
40
|
+
- [PathOptions](PathOptions.md)
|
|
41
|
+
|
|
42
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# path3
|
|
2
|
+
|
|
3
|
+
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.
|
|
4
|
+
|
|
5
|
+
**path3**(`input`: [`Path3Input`](Path3Input.md), `options?`: [`PathOptions`](PathOptions.md)): [`Path3`](Path3-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Parameters
|
|
10
|
+
|
|
11
|
+
<a id="input"></a>
|
|
12
|
+
|
|
13
|
+
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<a id="options"></a>
|
|
18
|
+
|
|
19
|
+
**`options`** · [`PathOptions`](PathOptions.md) · Optional
|
|
20
|
+
|
|
21
|
+
- [`closed`](PathOptions.md#closed) · `boolean` · Optional
|
|
22
|
+
|
|
23
|
+
Connects the last vertex to the first; closed paths omit the repeated seam. Defaults to false.
|
|
24
|
+
|
|
25
|
+
- [`limits`](PathOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
26
|
+
|
|
27
|
+
Construction point ceiling; defaults to package sampling limits. Later sampling has its own options.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
## Returns
|
|
32
|
+
|
|
33
|
+
[`Path3`](Path3-type.md)
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
## Related APIs
|
|
37
|
+
|
|
38
|
+
- [Path3](Path3-type.md)
|
|
39
|
+
- [Path3Input](Path3Input.md)
|
|
40
|
+
- [PathOptions](PathOptions.md)
|
|
41
|
+
|
|
42
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Equal physical arc-length placements along a sampled XYZ path. Tangent orientation maps +Z onto the local path tangent; fixed orientation only translates. Closed paths omit a repeated seam. Explicit sampling ceilings bound both input points and output placements.
|
|
4
4
|
|
|
5
|
-
**pathPatternTransforms**(`path`:
|
|
5
|
+
**pathPatternTransforms**(`path`: [`Path3Input`](Path3Input.md), `options`: [`PathPatternOptions`](PathPatternOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`Transform3Matrix`](Transform3Matrix.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Equal physical arc-length placements along a sampled XYZ path. Tangent orientati
|
|
|
10
10
|
|
|
11
11
|
<a id="path"></a>
|
|
12
12
|
|
|
13
|
-
**`path`** ·
|
|
13
|
+
**`path`** · [`Path3Input`](Path3Input.md) · Required
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -24,11 +24,11 @@ Equal physical arc-length placements along a sampled XYZ path. Tangent orientati
|
|
|
24
24
|
|
|
25
25
|
- [`closed`](PathPatternOptions.md#closed) · `boolean` · Optional
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Raw point closure defaults to false; a path value supplies closure and rejects conflicts.
|
|
28
28
|
|
|
29
29
|
- [`orientation`](PathPatternOptions.md#orientation) · `"fixed"` \| `"tangent"` · Optional
|
|
30
30
|
|
|
31
|
-
Preserve
|
|
31
|
+
Preserve orientation, or align local +X for Sections / +Z for Solids to the tangent. Defaults to fixed.
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
@@ -40,18 +40,18 @@ Equal physical arc-length placements along a sampled XYZ path. Tangent orientati
|
|
|
40
40
|
|
|
41
41
|
## Returns
|
|
42
42
|
|
|
43
|
-
readonly [`
|
|
43
|
+
readonly [`Transform3Matrix`](Transform3Matrix.md)[]
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
## Related APIs
|
|
47
47
|
|
|
48
48
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
49
|
+
- [Path3Input](Path3Input.md)
|
|
49
50
|
- [PathPatternOptions](PathPatternOptions.md)
|
|
50
|
-
- [
|
|
51
|
-
- [Vector3](Vector3.md)
|
|
51
|
+
- [Transform3Matrix](Transform3Matrix.md)
|
|
52
52
|
|
|
53
53
|
## Guides
|
|
54
54
|
|
|
55
55
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
56
56
|
|
|
57
|
-
Package: `@metamesh/modeling@0.
|
|
57
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -20,7 +20,7 @@ Validates a direct thread solid and returns its conservative allocation estimate
|
|
|
20
20
|
|
|
21
21
|
Nominal major diameter before any caller-owned fit compensation.
|
|
22
22
|
|
|
23
|
-
- [`profile`](HelicalThreadSolidMeshOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
23
|
+
- [`profile`](HelicalThreadSolidMeshOptions.md#profile) · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
24
24
|
|
|
25
25
|
Validated periodic profile repeated around the shaft.
|
|
26
26
|
|
|
@@ -37,7 +37,7 @@ Validates a direct thread solid and returns its conservative allocation estimate
|
|
|
37
37
|
|
|
38
38
|
Explicit output and circular allocation ceilings.
|
|
39
39
|
|
|
40
|
-
- [`
|
|
40
|
+
- [`phase`](HelicalThreadSolidMeshOptions.md#phase) · `number` · Optional
|
|
41
41
|
|
|
42
42
|
Angular offset of the first start in degrees. Default: `0`.
|
|
43
43
|
|
|
@@ -93,4 +93,4 @@ Validates a direct thread solid and returns its conservative allocation estimate
|
|
|
93
93
|
- [HelicalThreadSolidMeshOptions](HelicalThreadSolidMeshOptions.md)
|
|
94
94
|
- [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
|
|
95
95
|
|
|
96
|
-
Package: `@metamesh/modeling@0.
|
|
96
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -16,7 +16,7 @@ Preflights the exact extended mesh used by the internal thread cutter constructo
|
|
|
16
16
|
|
|
17
17
|
Total threaded axial length in millimetres.
|
|
18
18
|
|
|
19
|
-
- [`profile`](InternalThreadCutterOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
19
|
+
- [`profile`](InternalThreadCutterOptions.md#profile) · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
20
20
|
|
|
21
21
|
Validated periodic profile repeated around the shaft.
|
|
22
22
|
|
|
@@ -37,7 +37,7 @@ Preflights the exact extended mesh used by the internal thread cutter constructo
|
|
|
37
37
|
|
|
38
38
|
Explicit output and circular allocation ceilings.
|
|
39
39
|
|
|
40
|
-
- [`
|
|
40
|
+
- [`phase`](InternalThreadCutterOptions.md#phase) · `number` · Optional
|
|
41
41
|
|
|
42
42
|
Angular offset of the first start in degrees. Default: `0`.
|
|
43
43
|
|
|
@@ -82,4 +82,4 @@ Preflights the exact extended mesh used by the internal thread cutter constructo
|
|
|
82
82
|
- [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
|
|
83
83
|
- [InternalThreadCutterOptions](InternalThreadCutterOptions.md)
|
|
84
84
|
|
|
85
|
-
Package: `@metamesh/modeling@0.
|
|
85
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -12,7 +12,7 @@ Resolves a nut's exact body/cutter chamfer and preflights its extended thread me
|
|
|
12
12
|
|
|
13
13
|
**`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
|
|
14
14
|
|
|
15
|
-
- [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
15
|
+
- [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
16
16
|
|
|
17
17
|
Validated periodic profile repeated around the shaft.
|
|
18
18
|
|
|
@@ -45,7 +45,7 @@ Resolves a nut's exact body/cutter chamfer and preflights its extended thread me
|
|
|
45
45
|
|
|
46
46
|
Explicit output and circular allocation ceilings.
|
|
47
47
|
|
|
48
|
-
- [`
|
|
48
|
+
- [`phase`](ThreadedNutOptions.md#phase) · `number` · Optional
|
|
49
49
|
|
|
50
50
|
Angular offset of the first start in degrees. Default: `0`.
|
|
51
51
|
|
|
@@ -93,4 +93,4 @@ Resolves a nut's exact body/cutter chamfer and preflights its extended thread me
|
|
|
93
93
|
- [ThreadedNutOptions](ThreadedNutOptions.md)
|
|
94
94
|
- [ThreadedNutPreflight](ThreadedNutPreflight.md)
|
|
95
95
|
|
|
96
|
-
Package: `@metamesh/modeling@0.
|
|
96
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -16,7 +16,7 @@ Preflights the exact compensated direct mesh used by the threaded rod constructo
|
|
|
16
16
|
|
|
17
17
|
Total threaded axial length in millimetres.
|
|
18
18
|
|
|
19
|
-
- [`profile`](ThreadedRodOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
19
|
+
- [`profile`](ThreadedRodOptions.md#profile) · [`ThreadProfile`](ThreadProfile-type.md) · Required
|
|
20
20
|
|
|
21
21
|
Validated periodic profile repeated around the shaft.
|
|
22
22
|
|
|
@@ -37,7 +37,7 @@ Preflights the exact compensated direct mesh used by the threaded rod constructo
|
|
|
37
37
|
|
|
38
38
|
Explicit output and circular allocation ceilings.
|
|
39
39
|
|
|
40
|
-
- [`
|
|
40
|
+
- [`phase`](ThreadedRodOptions.md#phase) · `number` · Optional
|
|
41
41
|
|
|
42
42
|
Angular offset of the first start in degrees. Default: `0`.
|
|
43
43
|
|
|
@@ -82,4 +82,4 @@ Preflights the exact compensated direct mesh used by the threaded rod constructo
|
|
|
82
82
|
- [HelicalThreadSolidMeshPreflight](HelicalThreadSolidMeshPreflight.md)
|
|
83
83
|
- [ThreadedRodOptions](ThreadedRodOptions.md)
|
|
84
84
|
|
|
85
|
-
Package: `@metamesh/modeling@0.
|
|
85
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Removes the component parallel to a normalized plane normal.
|
|
4
4
|
|
|
5
|
-
`const` **projectOntoPlane3**: (`vector`: [`
|
|
5
|
+
`const` **projectOntoPlane3**: (`vector`: [`Vector3Tuple`](Vector3Tuple.md), `normal`: [`Vector3Tuple`](Vector3Tuple.md)) => [`Vector3Tuple`](Vector3Tuple.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,23 +10,27 @@ Removes the component parallel to a normalized plane normal.
|
|
|
10
10
|
|
|
11
11
|
<a id="vector"></a>
|
|
12
12
|
|
|
13
|
-
**`vector`** · [`
|
|
13
|
+
**`vector`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
<a id="normal"></a>
|
|
18
18
|
|
|
19
|
-
**`normal`** · [`
|
|
19
|
+
**`normal`** · [`Vector3Tuple`](Vector3Tuple.md) · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
23
|
## Returns
|
|
24
24
|
|
|
25
|
-
[`
|
|
25
|
+
[`Vector3Tuple`](Vector3Tuple.md)
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
## Related APIs
|
|
29
29
|
|
|
30
|
-
- [
|
|
30
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
31
31
|
|
|
32
|
-
|
|
32
|
+
## Guides
|
|
33
|
+
|
|
34
|
+
- [Reusable transforms and vector math](../../guides/concepts.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
35
|
+
|
|
36
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Rotations about an explicit axis; angles use degrees and the first placement is identity.
|
|
4
4
|
|
|
5
|
-
**radialPatternTransforms**(`options`: [`RadialPatternOptions`](RadialPatternOptions.md)): readonly [`
|
|
5
|
+
**radialPatternTransforms**(`options`: [`RadialPatternOptions`](RadialPatternOptions.md)): readonly [`Transform3Matrix`](Transform3Matrix.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -12,36 +12,20 @@ Rotations about an explicit axis; angles use degrees and the first placement is
|
|
|
12
12
|
|
|
13
13
|
**`options`** · [`RadialPatternOptions`](RadialPatternOptions.md) · Required
|
|
14
14
|
|
|
15
|
-
- [`count`](RadialPatternOptions.md#count) · `number` · Required
|
|
16
|
-
|
|
17
|
-
Number of solids to return, including the original.
|
|
18
|
-
|
|
19
|
-
- [`axis`](RadialPatternOptions.md#axis) · [`Vector3`](Vector3.md) · Required
|
|
20
|
-
|
|
21
|
-
Axis of the right-handed rotation. Its magnitude is ignored.
|
|
22
|
-
|
|
23
|
-
- [`angleDegrees`](RadialPatternOptions.md#angledegrees) · `number` · Required
|
|
24
|
-
|
|
25
|
-
Signed rotation from one copy to the next, in degrees.
|
|
26
|
-
|
|
27
|
-
- [`center`](RadialPatternOptions.md#center) · [`Vector3`](Vector3.md) · Optional
|
|
28
|
-
|
|
29
|
-
Rotation center in world coordinates. Defaults to the origin.
|
|
30
|
-
|
|
31
15
|
|
|
32
16
|
|
|
33
17
|
## Returns
|
|
34
18
|
|
|
35
|
-
readonly [`
|
|
19
|
+
readonly [`Transform3Matrix`](Transform3Matrix.md)[]
|
|
36
20
|
|
|
37
21
|
|
|
38
22
|
## Related APIs
|
|
39
23
|
|
|
40
24
|
- [RadialPatternOptions](RadialPatternOptions.md)
|
|
41
|
-
- [
|
|
25
|
+
- [Transform3Matrix](Transform3Matrix.md)
|
|
42
26
|
|
|
43
27
|
## Guides
|
|
44
28
|
|
|
45
29
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
46
30
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
31
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -18,7 +18,7 @@ rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
|
18
18
|
|
|
19
19
|
**`options`** · [`RectangleContourOptions`](RectangleContourOptions.md) · Required
|
|
20
20
|
|
|
21
|
-
- [`size`](RectangleContourOptions.md#size) · `number` \| [`
|
|
21
|
+
- [`size`](RectangleContourOptions.md#size) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) · Required
|
|
22
22
|
|
|
23
23
|
Positive uniform size or explicit XY extents in millimetres.
|
|
24
24
|
|
|
@@ -46,4 +46,4 @@ rectangleContour({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
|
46
46
|
- [Contour](Contour.md)
|
|
47
47
|
- [RectangleContourOptions](RectangleContourOptions.md)
|
|
48
48
|
|
|
49
|
-
Package: `@metamesh/modeling@0.
|
|
49
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -18,7 +18,7 @@ rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
|
18
18
|
|
|
19
19
|
**`options`** · [`RectangleProfileOptions`](RectangleProfileOptions.md) · Required
|
|
20
20
|
|
|
21
|
-
- [`size`](RectangleProfileOptions.md#size) · `number` \| [`
|
|
21
|
+
- [`size`](RectangleProfileOptions.md#size) · `number` \| [`Vector2Tuple`](Vector2Tuple.md) · Required
|
|
22
22
|
|
|
23
23
|
Positive uniform size or explicit XY extents in millimetres.
|
|
24
24
|
|
|
@@ -50,4 +50,4 @@ rectangleProfile({ size: [30, 20], treatment: { kind: "round", radius: 3 } });
|
|
|
50
50
|
- [Profile](Profile.md)
|
|
51
51
|
- [RectangleProfileOptions](RectangleProfileOptions.md)
|
|
52
52
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Returns the total filled area of a normalized region in square millimetres.
|
|
4
4
|
|
|
5
|
-
**regionArea**(`region`: [`
|
|
5
|
+
**regionArea**(`region`: [`RegionData`](RegionData.md)): `number`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -14,7 +14,7 @@ canonical.
|
|
|
14
14
|
|
|
15
15
|
<a id="region"></a>
|
|
16
16
|
|
|
17
|
-
**`region`** · [`
|
|
17
|
+
**`region`** · [`RegionData`](RegionData.md) · Required
|
|
18
18
|
|
|
19
19
|
Normalized disjoint polygons with CCW outers and clockwise holes.
|
|
20
20
|
|
|
@@ -29,6 +29,6 @@ Total filled area in square millimetres.
|
|
|
29
29
|
|
|
30
30
|
## Related APIs
|
|
31
31
|
|
|
32
|
-
- [
|
|
32
|
+
- [RegionData](RegionData.md)
|
|
33
33
|
|
|
34
|
-
Package: `@metamesh/modeling@0.
|
|
34
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Returns finite axis-aligned bounds for a non-empty region.
|
|
4
4
|
|
|
5
|
-
**regionBounds**(`region`: [`
|
|
5
|
+
**regionBounds**(`region`: [`RegionData`](RegionData.md)): [`Bounds2`](Bounds2.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,7 +10,7 @@ Returns finite axis-aligned bounds for a non-empty region.
|
|
|
10
10
|
|
|
11
11
|
<a id="region"></a>
|
|
12
12
|
|
|
13
|
-
**`region`** · [`
|
|
13
|
+
**`region`** · [`RegionData`](RegionData.md) · Required
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
@@ -22,6 +22,6 @@ Returns finite axis-aligned bounds for a non-empty region.
|
|
|
22
22
|
## Related APIs
|
|
23
23
|
|
|
24
24
|
- [Bounds2](Bounds2.md)
|
|
25
|
-
- [
|
|
25
|
+
- [RegionData](RegionData.md)
|
|
26
26
|
|
|
27
|
-
Package: `@metamesh/modeling@0.
|
|
27
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Creates a centered CCW point loop with vertex or face radial sizing and an implicit seam.
|
|
4
4
|
|
|
5
|
-
`const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`
|
|
5
|
+
`const` **regularPolygonContour**: (`options`: [`RegularPolygonContourOptions`](RegularPolygonContourOptions.md)) => readonly [`Vector2Tuple`](Vector2Tuple.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -34,7 +34,7 @@ regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
|
|
|
34
34
|
|
|
35
35
|
Vertex sizing is inscribed; face sizing circumscribes the nominal radius. Defaults to vertex.
|
|
36
36
|
|
|
37
|
-
- [`
|
|
37
|
+
- [`rotation`](RegularPolygonContourOptions.md#rotation) · `number` · Optional
|
|
38
38
|
|
|
39
39
|
Counterclockwise rotation in degrees; defaults to zero with a vertex on +X.
|
|
40
40
|
|
|
@@ -42,12 +42,12 @@ regularPolygonContour({ radius: 10, sides: 6, sizing: "face" });
|
|
|
42
42
|
|
|
43
43
|
## Returns
|
|
44
44
|
|
|
45
|
-
readonly [`
|
|
45
|
+
readonly [`Vector2Tuple`](Vector2Tuple.md)[]
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
## Related APIs
|
|
49
49
|
|
|
50
50
|
- [RegularPolygonContourOptions](RegularPolygonContourOptions.md)
|
|
51
|
-
- [
|
|
51
|
+
- [Vector2Tuple](Vector2Tuple.md)
|
|
52
52
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resamples a planar polyline with the same point, tangent, seam and budget guarantees as 3D.
|
|
4
4
|
|
|
5
|
-
**resamplePolyline2**(`path`: readonly [`
|
|
5
|
+
**resamplePolyline2**(`path`: readonly [`Vector2Tuple`](Vector2Tuple.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve2`](SampledCurve2.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
|
|
|
16
16
|
|
|
17
17
|
<a id="path"></a>
|
|
18
18
|
|
|
19
|
-
**`path`** · readonly [`
|
|
19
|
+
**`path`** · readonly [`Vector2Tuple`](Vector2Tuple.md)[] · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ const loop = resamplePolyline2([[0,0],[5,0],[5,5],[0,5]], {closed: true, segment
|
|
|
28
28
|
|
|
29
29
|
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
30
30
|
|
|
31
|
-
- [`
|
|
31
|
+
- [`maxVertices`](PolylineResamplingOptions.md#maxvertices) · `number` · Optional
|
|
32
32
|
|
|
33
33
|
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
34
34
|
|
|
@@ -59,6 +59,6 @@ Only final 2D output vectors are copied and frozen. No immutable 3D intermediate
|
|
|
59
59
|
|
|
60
60
|
- [PolylineResamplingOptions](PolylineResamplingOptions.md)
|
|
61
61
|
- [SampledCurve2](SampledCurve2.md)
|
|
62
|
-
- [
|
|
62
|
+
- [Vector2Tuple](Vector2Tuple.md)
|
|
63
63
|
|
|
64
|
-
Package: `@metamesh/modeling@0.
|
|
64
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resamples a spatial polyline at equal arc lengths with directed outgoing tangents.
|
|
4
4
|
|
|
5
|
-
**resamplePolyline3**(`path`: readonly [`
|
|
5
|
+
**resamplePolyline3**(`path`: readonly [`Vector3Tuple`](Vector3Tuple.md)[], `options?`: [`PolylineResamplingOptions`](PolylineResamplingOptions.md)): [`SampledCurve3`](SampledCurve3.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,7 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
|
|
|
16
16
|
|
|
17
17
|
<a id="path"></a>
|
|
18
18
|
|
|
19
|
-
**`path`** · readonly [`
|
|
19
|
+
**`path`** · readonly [`Vector3Tuple`](Vector3Tuple.md)[] · Required
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
@@ -28,7 +28,7 @@ const path = resamplePolyline3([[0,0,0],[10,0,0],[10,10,0]], {segments: 8});
|
|
|
28
28
|
|
|
29
29
|
Millimetre sampling policy; circularSegments applies only to arcs.
|
|
30
30
|
|
|
31
|
-
- [`
|
|
31
|
+
- [`maxVertices`](PolylineResamplingOptions.md#maxvertices) · `number` · Optional
|
|
32
32
|
|
|
33
33
|
Output vertex ceiling of at least two; may only lower limits.maxPathPoints.
|
|
34
34
|
|
|
@@ -62,6 +62,6 @@ may bridge original corners. Sampling never silently lowers the requested detail
|
|
|
62
62
|
|
|
63
63
|
- [PolylineResamplingOptions](PolylineResamplingOptions.md)
|
|
64
64
|
- [SampledCurve3](SampledCurve3.md)
|
|
65
|
-
- [
|
|
65
|
+
- [Vector3Tuple](Vector3Tuple.md)
|
|
66
66
|
|
|
67
|
-
Package: `@metamesh/modeling@0.
|
|
67
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -15,7 +15,7 @@ const alignedSegments = resolveAlignedCircularSegments(20, { alignTo: [4, 6] });
|
|
|
15
15
|
`alignTo` must be non-empty and contain only positive safe integers. Its checked least common
|
|
16
16
|
multiple defines the alignment grid. An exact `segments` value wins over
|
|
17
17
|
`resolution.circularSegments` and adaptive sampling, but is never rounded: it must already be
|
|
18
|
-
aligned and meet `
|
|
18
|
+
aligned and meet `minSegments`. Adaptive counts are rounded upward and fail with
|
|
19
19
|
`COMPLEXITY_LIMIT` when the aligned result exceeds the configured safety cap.
|
|
20
20
|
|
|
21
21
|
## Parameters
|
|
@@ -39,11 +39,15 @@ Required alignment factors plus optional floor, exact count, and resolution.
|
|
|
39
39
|
Non-empty alignment factors. Every value must be a positive safe integer; the returned count
|
|
40
40
|
is divisible by their checked least common multiple.
|
|
41
41
|
|
|
42
|
+
- [`sizing`](AlignedCircularSegmentsOptions.md#sizing) · [`RadialSizing`](RadialSizing.md) · Optional
|
|
43
|
+
|
|
44
|
+
Radial sizing used by adaptive error and edge-length checks. Defaults to vertex.
|
|
45
|
+
|
|
42
46
|
- [`limits`](AlignedCircularSegmentsOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
43
47
|
|
|
44
48
|
Explicit sampling allocation ceilings.
|
|
45
49
|
|
|
46
|
-
- [`
|
|
50
|
+
- [`minSegments`](AlignedCircularSegmentsOptions.md#minsegments) · `number` · Optional · Default: `3`
|
|
47
51
|
|
|
48
52
|
Additional full-circle segment floor, as a safe integer of at least three.
|
|
49
53
|
|
|
@@ -52,7 +56,7 @@ Required alignment factors plus optional floor, exact count, and resolution.
|
|
|
52
56
|
Exact full-circle segment count.
|
|
53
57
|
|
|
54
58
|
This takes precedence over `resolution.circularSegments` and adaptive sampling, and must
|
|
55
|
-
already satisfy every alignment factor and `
|
|
59
|
+
already satisfy every alignment factor and `minSegments`.
|
|
56
60
|
|
|
57
61
|
- [`resolution`](AlignedCircularSegmentsOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
58
62
|
|
|
@@ -76,4 +80,4 @@ An aligned full-circle segment count.
|
|
|
76
80
|
- [AlignedCircularSegmentsOptions](AlignedCircularSegmentsOptions.md)
|
|
77
81
|
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
78
82
|
|
|
79
|
-
Package: `@metamesh/modeling@0.
|
|
83
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resolves the number of segments needed for a circular arc.
|
|
4
4
|
|
|
5
|
-
**resolveArcSegments**(`radius`: `number`, `
|
|
5
|
+
**resolveArcSegments**(`radius`: `number`, `angle`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -25,9 +25,9 @@ Arc radius in millimetres.
|
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
|
|
28
|
-
<a id="
|
|
28
|
+
<a id="angle"></a>
|
|
29
29
|
|
|
30
|
-
**`
|
|
30
|
+
**`angle`** · `number` · Required
|
|
31
31
|
|
|
32
32
|
Non-zero signed sweep angle no greater than 360 degrees in magnitude.
|
|
33
33
|
|
|
@@ -35,7 +35,7 @@ Non-zero signed sweep angle no greater than 360 degrees in magnitude.
|
|
|
35
35
|
|
|
36
36
|
<a id="policy"></a>
|
|
37
37
|
|
|
38
|
-
**`policy`** · [`
|
|
38
|
+
**`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
|
|
39
39
|
|
|
40
40
|
Optional operation-level policy over the active model scope.
|
|
41
41
|
|
|
@@ -60,8 +60,8 @@ Segment count for the requested arc span.
|
|
|
60
60
|
|
|
61
61
|
## Related APIs
|
|
62
62
|
|
|
63
|
-
- [
|
|
63
|
+
- [CircularResolutionOptions](CircularResolutionOptions.md)
|
|
64
64
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
65
65
|
- [resolveCircularSegments](resolveCircularSegments.md)
|
|
66
66
|
|
|
67
|
-
Package: `@metamesh/modeling@0.
|
|
67
|
+
Package: `@metamesh/modeling@0.15.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Resolves a deterministic full-circle segment count for one radius.
|
|
4
4
|
|
|
5
|
-
**resolveCircularSegments**(`radius`: `number`, `policy?`: [`
|
|
5
|
+
**resolveCircularSegments**(`radius`: `number`, `policy?`: [`CircularResolutionOptions`](CircularResolutionOptions.md), `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): `number`
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -13,7 +13,8 @@ const circleSegments = resolveCircularSegments(25, { maxChordError: 0.05 });
|
|
|
13
13
|
```
|
|
14
14
|
|
|
15
15
|
An exact `circularSegments` value wins. Otherwise the smallest regular polygon satisfying both
|
|
16
|
-
physical error criteria is used.
|
|
16
|
+
physical error criteria is used. Face sizing bounds the circumscribed polygon's outward
|
|
17
|
+
excess and actual edge length. A safety cap that would violate either criterion raises
|
|
17
18
|
`COMPLEXITY_LIMIT` rather than silently reducing quality.
|
|
18
19
|
|
|
19
20
|
## Parameters
|
|
@@ -28,7 +29,7 @@ Circle radius in millimetres.
|
|
|
28
29
|
|
|
29
30
|
<a id="policy"></a>
|
|
30
31
|
|
|
31
|
-
**`policy`** · [`
|
|
32
|
+
**`policy`** · [`CircularResolutionOptions`](CircularResolutionOptions.md) · Optional
|
|
32
33
|
|
|
33
34
|
Optional operation-level policy under explicit sampling ceilings.
|
|
34
35
|
|
|
@@ -53,9 +54,9 @@ Full-circle segment count.
|
|
|
53
54
|
|
|
54
55
|
## Related APIs
|
|
55
56
|
|
|
56
|
-
- [
|
|
57
|
+
- [CircularResolutionOptions](CircularResolutionOptions.md)
|
|
57
58
|
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
58
59
|
- [resolveAlignedCircularSegments](resolveAlignedCircularSegments.md)
|
|
59
60
|
- [resolveArcSegments](resolveArcSegments.md)
|
|
60
61
|
|
|
61
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.15.0`.
|