@metamesh/modeling 0.19.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/README.md +34 -18
- package/dist/api/engine.d.ts +217 -121
- package/dist/api/export.d.ts +123 -79
- package/dist/api/geometry.d.ts +406 -2102
- package/dist/api/index.d.ts +472 -1798
- package/dist/api/math.d.ts +315 -0
- package/dist/api/mechanical.d.ts +1041 -0
- package/dist/api/mesh.d.ts +360 -88
- package/dist/api/text.d.ts +24 -44
- package/dist/docs/guides/concepts.md +67 -33
- package/dist/docs/guides/exporting.md +88 -0
- package/dist/docs/guides/fonts.md +5 -3
- package/dist/docs/guides/fundamentals.md +12 -24
- package/dist/docs/guides/generation.md +24 -16
- package/dist/docs/guides/geometry-values.md +192 -134
- package/dist/docs/guides/hosting.md +51 -96
- package/dist/docs/guides/profiles-and-extrusion.md +159 -11
- package/dist/docs/guides/recipes.md +121 -28
- package/dist/docs/guides/resolution-and-inspection.md +43 -23
- package/dist/docs/guides/solid-joins.md +12 -2
- package/dist/docs/guides/standalone-model.md +4 -2
- package/dist/docs/guides/svg-and-text.md +76 -39
- package/dist/docs/guides/sweeps-and-lofts.md +88 -44
- package/dist/docs/guides/transforms-and-placement.md +113 -103
- package/dist/docs/guides/workers.md +166 -0
- package/dist/docs/manifest.json +4133 -4153
- package/dist/docs/reference/engine/GenerationOptions.md +2 -3
- package/dist/docs/reference/engine/GeometryResource.md +6 -6
- package/dist/docs/reference/engine/ModelDependencies.md +2 -2
- package/dist/docs/reference/engine/ModelEngine.md +2 -3
- package/dist/docs/reference/engine/ModelEngineOptions.md +2 -7
- package/dist/docs/reference/engine/ModelPart.md +6 -6
- package/dist/docs/reference/engine/ModelResult.md +2 -2
- package/dist/docs/reference/engine/ModelRunArguments.md +2 -2
- package/dist/docs/reference/engine/ModelRunOptions.md +2 -3
- package/dist/docs/reference/engine/ModelSession.md +2 -2
- package/dist/docs/reference/engine/SessionOptions.md +2 -3
- package/dist/docs/reference/engine/categories/host-lifecycle.md +9 -3
- package/dist/docs/reference/engine/checkModel.md +6 -2
- package/dist/docs/reference/engine/createModelEngine.md +5 -3
- package/dist/docs/reference/engine/defaultModelingLimits.md +4 -11
- package/dist/docs/reference/engine/modelingWasmUrl.md +2 -2
- package/dist/docs/reference/engine.md +7 -1
- package/dist/docs/reference/export/Export3mfOptions.md +2 -6
- package/dist/docs/reference/export/ExportDiagnostic.md +2 -14
- package/dist/docs/reference/export/ExportFormat.md +2 -14
- package/dist/docs/reference/export/ExportGeometry.md +3 -15
- package/dist/docs/reference/export/ExportGlbOptions.md +14 -18
- package/dist/docs/reference/export/ExportLimits.md +2 -14
- package/dist/docs/reference/export/ExportMaterial.md +2 -14
- package/dist/docs/reference/export/ExportOptions.md +2 -14
- package/dist/docs/reference/export/ExportPart.md +2 -14
- package/dist/docs/reference/export/ExportReport.md +2 -14
- package/dist/docs/reference/export/ExportSink.md +5 -15
- package/dist/docs/reference/export/ExportStlOptions.md +2 -6
- package/dist/docs/reference/export/ExportedFile.md +14 -26
- package/dist/docs/reference/export/categories/mesh-serialization.md +9 -3
- package/dist/docs/reference/export/defaultExportLimits.md +2 -2
- package/dist/docs/reference/export/export3mf.md +4 -6
- package/dist/docs/reference/export/exportGlb.md +8 -10
- package/dist/docs/reference/export/exportStl.md +4 -6
- package/dist/docs/reference/export/write3mf.md +6 -6
- package/dist/docs/reference/export/writeGlb.md +10 -10
- package/dist/docs/reference/export/writeStl.md +6 -6
- package/dist/docs/reference/export.md +9 -3
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +4 -4
- package/dist/docs/reference/geometry/Anchor3-type.md +3 -7
- package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +3 -3
- package/dist/docs/reference/geometry/ArcCurve3.md +3 -3
- package/dist/docs/reference/geometry/AttachOptions.md +4 -9
- package/dist/docs/reference/geometry/Bounds2-type.md +9 -30
- package/dist/docs/reference/geometry/Bounds2Data.md +2 -19
- package/dist/docs/reference/geometry/Bounds2Input.md +2 -10
- package/dist/docs/reference/geometry/Bounds2Options.md +2 -6
- package/dist/docs/reference/geometry/Bounds3-type.md +9 -30
- package/dist/docs/reference/geometry/Bounds3Data.md +2 -15
- package/dist/docs/reference/geometry/Bounds3Input.md +2 -10
- package/dist/docs/reference/geometry/Bounds3Options.md +2 -6
- package/dist/docs/reference/geometry/BoundsFit2.md +2 -2
- package/dist/docs/reference/geometry/BoundsFit3.md +2 -2
- package/dist/docs/reference/geometry/BoundsFitOptions.md +2 -2
- package/dist/docs/reference/geometry/BoxAnchorFace.md +3 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +3 -3
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +3 -7
- package/dist/docs/reference/geometry/CircleContourOptions.md +3 -7
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +3 -12
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +2 -2
- package/dist/docs/reference/geometry/CircularSampling.md +2 -2
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +2 -2
- package/dist/docs/reference/geometry/Contour.md +4 -9
- package/dist/docs/reference/geometry/ContourCurve.md +3 -3
- package/dist/docs/reference/geometry/ContourPoint.md +3 -3
- package/dist/docs/reference/geometry/ContourSegment.md +3 -3
- package/dist/docs/reference/geometry/CorrespondingComponent.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingContour.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingProfile.md +3 -7
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +4 -8
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +3 -3
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +3 -3
- package/dist/docs/reference/geometry/Curve2.md +3 -3
- package/dist/docs/reference/geometry/Curve3.md +3 -3
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +3 -11
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +3 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +4 -4
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +2 -2
- package/dist/docs/reference/geometry/EdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -7
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +9 -18
- package/dist/docs/reference/geometry/FittedTextLayout.md +2 -2
- package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +4 -11
- package/dist/docs/reference/geometry/Frame3Options.md +69 -0
- package/dist/docs/reference/geometry/GeometryError.md +2 -6
- package/dist/docs/reference/geometry/GeometryErrorCode.md +2 -6
- package/dist/docs/reference/geometry/GeometryErrorContext.md +2 -6
- package/dist/docs/reference/geometry/GeometryResolution.md +2 -10
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +3 -11
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +3 -11
- package/dist/docs/reference/geometry/GridPatternOptions.md +7 -9
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +2 -10
- package/dist/docs/reference/geometry/LineCurve2.md +3 -3
- package/dist/docs/reference/geometry/LineCurve3.md +3 -3
- package/dist/docs/reference/geometry/LinearPatternOptions.md +2 -6
- package/dist/docs/reference/geometry/LoftPlacement.md +13 -21
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +3 -7
- package/dist/docs/reference/geometry/ModelingLimits.md +2 -14
- package/dist/docs/reference/geometry/NumericArray.md +2 -10
- package/dist/docs/reference/geometry/Path2-type.md +153 -12
- package/dist/docs/reference/geometry/Path2Data.md +3 -11
- package/dist/docs/reference/geometry/Path2Input.md +3 -11
- package/dist/docs/reference/geometry/Path3-type.md +153 -12
- package/dist/docs/reference/geometry/Path3Data.md +3 -11
- package/dist/docs/reference/geometry/Path3Input.md +3 -11
- package/dist/docs/reference/geometry/PathFrame.md +3 -3
- package/dist/docs/reference/geometry/PathLocation.md +3 -11
- package/dist/docs/reference/geometry/PathNormalGuide.md +4 -12
- package/dist/docs/reference/geometry/PathOptions.md +3 -7
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -7
- package/dist/docs/reference/geometry/PathPlacement.md +5 -5
- package/dist/docs/reference/geometry/PathResamplingOptions.md +3 -11
- package/dist/docs/reference/geometry/PathStation.md +87 -0
- package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +3 -11
- package/dist/docs/reference/geometry/Pivot3Options.md +3 -11
- package/dist/docs/reference/geometry/PolygonData.md +4 -8
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +3 -3
- package/dist/docs/reference/geometry/Profile.md +3 -4
- package/dist/docs/reference/geometry/ProfileComponent2.md +3 -7
- package/dist/docs/reference/geometry/ProfileContour2.md +3 -7
- package/dist/docs/reference/geometry/ProfileSpan2.md +3 -7
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +5 -8
- package/dist/docs/reference/geometry/RadialPatternOptions.md +2 -6
- package/dist/docs/reference/geometry/RadialSizing.md +2 -6
- package/dist/docs/reference/geometry/RadialSizingOptions.md +2 -6
- package/dist/docs/reference/geometry/RectangleContourOptions.md +4 -7
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +3 -7
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +3 -7
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +3 -7
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
- package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +2 -2
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/RowLayoutOptions.md +2 -2
- package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve3.md +3 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +3 -3
- package/dist/docs/reference/geometry/SideProfilePoint.md +3 -3
- package/dist/docs/reference/geometry/SideProfileSegment.md +3 -3
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +2 -6
- package/dist/docs/reference/geometry/SplineOptions.md +69 -0
- package/dist/docs/reference/geometry/StarContourOptions.md +7 -7
- package/dist/docs/reference/geometry/StrokeCap.md +2 -6
- package/dist/docs/reference/geometry/StrokeJoin.md +2 -6
- package/dist/docs/reference/geometry/StrokeOptions.md +3 -7
- package/dist/docs/reference/geometry/SvgImportOptions.md +4 -4
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +2 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +2 -2
- package/dist/docs/reference/geometry/Transform2-type.md +3 -11
- package/dist/docs/reference/geometry/Transform2Data.md +3 -11
- package/dist/docs/reference/geometry/Transform2Input.md +3 -11
- package/dist/docs/reference/geometry/Transform3-type.md +4 -12
- package/dist/docs/reference/geometry/Transform3Data.md +3 -11
- package/dist/docs/reference/geometry/Transform3Input.md +6 -13
- package/dist/docs/reference/geometry/Vector2-type.md +3 -11
- package/dist/docs/reference/geometry/Vector2Data.md +3 -15
- package/dist/docs/reference/geometry/Vector2Input.md +3 -11
- package/dist/docs/reference/geometry/Vector3-type.md +27 -11
- package/dist/docs/reference/geometry/Vector3Data.md +3 -11
- package/dist/docs/reference/geometry/Vector3Input.md +3 -11
- package/dist/docs/reference/geometry/VectorTextLayout.md +2 -10
- package/dist/docs/reference/geometry/VectorTextMetrics.md +3 -11
- package/dist/docs/reference/geometry/anchor3.md +17 -26
- package/dist/docs/reference/geometry/anchorFrame3.md +6 -6
- package/dist/docs/reference/geometry/attachmentTransform3.md +8 -8
- package/dist/docs/reference/geometry/bounds2.md +6 -8
- package/dist/docs/reference/geometry/bounds3.md +4 -6
- package/dist/docs/reference/geometry/boundsCenter.md +2 -2
- package/dist/docs/reference/geometry/boundsSize.md +2 -2
- package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +9 -3
- package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
- package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +10 -4
- package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
- package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
- package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
- package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
- package/dist/docs/reference/geometry/categories/vector-import.md +7 -4
- package/dist/docs/reference/geometry/circleContour.md +3 -3
- package/dist/docs/reference/geometry/closeToAxis.md +7 -3
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +9 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +13 -6
- package/dist/docs/reference/geometry/contourContainsPoint.md +7 -3
- package/dist/docs/reference/geometry/cylinderAnchor3.md +5 -5
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +3 -3
- package/dist/docs/reference/geometry/distributeAlongPath.md +16 -11
- package/dist/docs/reference/geometry/ellipseContour.md +3 -3
- package/dist/docs/reference/geometry/fitBounds.md +10 -2
- package/dist/docs/reference/geometry/fitTextLayout.md +5 -5
- package/dist/docs/reference/geometry/frame3.md +66 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/immutableBuffer.md +5 -7
- package/dist/docs/reference/geometry/isGeometryError.md +2 -6
- package/dist/docs/reference/geometry/layoutRow.md +4 -2
- package/dist/docs/reference/geometry/linearPatternTransforms.md +6 -6
- package/dist/docs/reference/geometry/matchProfiles.md +5 -3
- package/dist/docs/reference/geometry/normalizeContour.md +8 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -3
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -3
- package/dist/docs/reference/geometry/path2.md +7 -7
- package/dist/docs/reference/geometry/path3.md +7 -7
- package/dist/docs/reference/geometry/pathPatternTransforms.md +12 -8
- package/dist/docs/reference/geometry/preflightSvgRegion.md +5 -5
- package/dist/docs/reference/geometry/radialPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/rectangleContour.md +3 -3
- package/dist/docs/reference/geometry/rectangleProfile.md +3 -4
- package/dist/docs/reference/geometry/regionArea.md +3 -3
- package/dist/docs/reference/geometry/regionBounds.md +6 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +3 -3
- package/dist/docs/reference/geometry/resamplePolyline2.md +7 -3
- package/dist/docs/reference/geometry/resamplePolyline3.md +7 -3
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +5 -5
- package/dist/docs/reference/geometry/resolveArcSegments.md +8 -6
- package/dist/docs/reference/geometry/resolveCircularSampling.md +2 -2
- package/dist/docs/reference/geometry/resolveCircularSegments.md +5 -3
- package/dist/docs/reference/geometry/{resolveExtrusionDivisions.md → resolveExtrusionSlices.md} +16 -15
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +5 -3
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +3 -3
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +12 -5
- package/dist/docs/reference/geometry/sampleContour.md +5 -5
- package/dist/docs/reference/geometry/sampleCurve2.md +7 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +7 -3
- package/dist/docs/reference/geometry/sampleHelix.md +3 -3
- package/dist/docs/reference/geometry/sampleSideProfile.md +5 -5
- package/dist/docs/reference/geometry/sampleTextContours.md +3 -3
- package/dist/docs/reference/geometry/signedContourArea.md +5 -3
- package/dist/docs/reference/geometry/spline2.md +68 -0
- package/dist/docs/reference/geometry/spline3.md +62 -0
- package/dist/docs/reference/geometry/starContour.md +3 -3
- package/dist/docs/reference/geometry/strokeRegionData.md +8 -5
- package/dist/docs/reference/geometry/transform2.md +5 -7
- package/dist/docs/reference/geometry/transform3.md +23 -10
- package/dist/docs/reference/geometry/transformRegionData.md +7 -3
- package/dist/docs/reference/geometry/triangulateContour.md +6 -4
- package/dist/docs/reference/geometry/vector2.md +6 -8
- package/dist/docs/reference/geometry/vector3.md +8 -8
- package/dist/docs/reference/geometry.md +13 -18
- package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +4 -5
- package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
- package/dist/docs/reference/math/add2.md +38 -0
- package/dist/docs/reference/math/add3.md +46 -0
- package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
- package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
- package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
- package/dist/docs/reference/math/cross2.md +38 -0
- package/dist/docs/reference/math/cross3.md +44 -0
- package/dist/docs/reference/math/distance2.md +38 -0
- package/dist/docs/reference/math/distance3.md +38 -0
- package/dist/docs/reference/math/dot2.md +38 -0
- package/dist/docs/reference/math/dot3.md +44 -0
- package/dist/docs/reference/math/eulerTransform3.md +43 -0
- package/dist/docs/reference/math/inverseTransform3.md +36 -0
- package/dist/docs/reference/math/length2.md +32 -0
- package/dist/docs/reference/math/length3.md +32 -0
- package/dist/docs/reference/math/lerp2.md +46 -0
- package/dist/docs/reference/math/lerp3.md +46 -0
- package/dist/docs/reference/math/multiplyTransform3.md +46 -0
- package/dist/docs/reference/math/normalize2.md +45 -0
- package/dist/docs/reference/math/normalize3.md +45 -0
- package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
- package/dist/docs/reference/math/rotate2.md +40 -0
- package/dist/docs/reference/math/rotationTransform3.md +56 -0
- package/dist/docs/reference/math/scale2.md +38 -0
- package/dist/docs/reference/math/scale3.md +44 -0
- package/dist/docs/reference/math/scaleTransform3.md +39 -0
- package/dist/docs/reference/math/subtract2.md +38 -0
- package/dist/docs/reference/math/subtract3.md +44 -0
- package/dist/docs/reference/math/transformDeterminant3.md +38 -0
- package/dist/docs/reference/math/translationTransform3.md +36 -0
- package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
- package/dist/docs/reference/math/validateTransform3.md +48 -0
- package/dist/docs/reference/math.md +22 -0
- package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/Bevel.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +5 -15
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +5 -10
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +6 -13
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +4 -5
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +5 -14
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +4 -8
- package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +5 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +4 -5
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +5 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfile-type.md +5 -17
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +7 -18
- package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +8 -15
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +3 -11
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +7 -14
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutShape.md +3 -7
- package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +6 -13
- package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +4 -13
- package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +4 -4
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +12 -6
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +13 -3
- package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +3 -3
- package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +9 -7
- package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +5 -3
- package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +7 -5
- package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +10 -8
- package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +7 -3
- package/dist/docs/reference/mechanical.md +19 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +128 -0
- package/dist/docs/reference/{geometry → mesh}/HeightfieldMeshLimits.md +5 -13
- package/dist/docs/reference/{geometry → mesh}/HeightfieldPreflight.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/ImmutableTriangleMesh.md +5 -17
- package/dist/docs/reference/mesh/LoftMeshStation.md +32 -0
- package/dist/docs/reference/mesh/MeshRenderOptions.md +3 -3
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationFallbackReason.md +4 -8
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/PlanarMeshOptimizationResult.md +4 -8
- package/dist/docs/reference/{geometry → mesh}/PlanarPatchQuality.md +4 -12
- package/dist/docs/reference/mesh/RenderMesh.md +19 -19
- package/dist/docs/reference/{geometry → mesh}/SolidMeshValidationOptions.md +4 -12
- package/dist/docs/reference/{geometry → mesh}/TriangleMesh.md +8 -12
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysis.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshAnalysisOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshInput.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshMeasurements.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityOptions.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshQualityReport.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignature.md +4 -9
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureOptions.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshSignatureTolerances.md +3 -7
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshTopologyAnalysis.md +5 -14
- package/dist/docs/reference/{geometry → mesh}/TriangleMeshValidationOptions.md +4 -9
- package/dist/docs/reference/mesh/analyze.md +26 -18
- package/dist/docs/reference/mesh/analyzeQuality.md +12 -12
- package/dist/docs/reference/mesh/bounds.md +5 -6
- package/dist/docs/reference/mesh/categories/operations.md +37 -4
- package/dist/docs/reference/mesh/centroid.md +5 -6
- package/dist/docs/reference/mesh/extrude.md +21 -20
- package/dist/docs/reference/mesh/heightfield.md +8 -8
- package/dist/docs/reference/mesh/immutable.md +7 -5
- package/dist/docs/reference/mesh/join.md +7 -7
- package/dist/docs/reference/mesh/loft.md +19 -18
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +21 -21
- package/dist/docs/reference/mesh/preflightHeightfield.md +8 -8
- package/dist/docs/reference/mesh/preflightThreadSolid.md +22 -25
- package/dist/docs/reference/mesh/render.md +7 -5
- package/dist/docs/reference/mesh/reverse.md +7 -7
- package/dist/docs/reference/mesh/revolve.md +12 -14
- package/dist/docs/reference/mesh/signature.md +12 -12
- package/dist/docs/reference/mesh/sweep.md +96 -25
- package/dist/docs/reference/mesh/threadRidge.md +19 -18
- package/dist/docs/reference/mesh/threadSolid.md +23 -22
- package/dist/docs/reference/mesh/transform.md +8 -9
- package/dist/docs/reference/mesh/validate.md +11 -11
- package/dist/docs/reference/mesh/validateSolid.md +10 -10
- package/dist/docs/reference/mesh.md +8 -2
- package/dist/docs/reference/model/BoxEdge.md +23 -0
- package/dist/docs/reference/model/BoxEdgeSelection.md +27 -0
- package/dist/docs/reference/model/BoxEdgeTreatments.md +27 -0
- package/dist/docs/reference/{geometry → model}/BoxOptions.md +12 -12
- package/dist/docs/reference/model/CircleOptions.md +4 -5
- package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
- package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
- package/dist/docs/reference/model/{HoleCutterOverrun.md → CutterOverrun.md} +8 -7
- package/dist/docs/reference/model/CylinderOptions.md +64 -0
- package/dist/docs/reference/model/DiagnosticOptions.md +2 -2
- package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
- package/dist/docs/reference/model/EllipseOptions.md +4 -5
- package/dist/docs/reference/model/EndTreatments.md +43 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +153 -0
- package/dist/docs/reference/model/GenerateCallback.md +2 -2
- package/dist/docs/reference/model/GenerateContext.md +27 -3
- package/dist/docs/reference/model/GenerationDiagnostic.md +2 -2
- package/dist/docs/reference/model/GenerationError.md +2 -2
- package/dist/docs/reference/{geometry → model}/HeightfieldOptions.md +5 -23
- package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
- package/dist/docs/reference/model/HoleCutterOptions.md +9 -22
- package/dist/docs/reference/model/HoleCutterRecess.md +5 -4
- package/dist/docs/reference/model/HullOptions.md +2 -3
- package/dist/docs/reference/model/ImmutableValue.md +2 -2
- package/dist/docs/reference/model/ImplicitOptions.md +3 -9
- package/dist/docs/reference/model/JoinOptions.md +2 -5
- package/dist/docs/reference/model/JoinTransition.md +2 -2
- package/dist/docs/reference/model/KnuckleHinge-type.md +2 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +2 -2
- package/dist/docs/reference/model/KnuckleHingeOptions.md +3 -5
- package/dist/docs/reference/model/KnuckleHingeWeb.md +2 -2
- package/dist/docs/reference/{geometry → model}/LoftCorrespondence.md +8 -11
- package/dist/docs/reference/{geometry → model}/LoftOptions.md +11 -16
- package/dist/docs/reference/model/LoftStation.md +4 -5
- package/dist/docs/reference/model/Memo.md +2 -2
- package/dist/docs/reference/model/ModelProgram.md +2 -2
- package/dist/docs/reference/model/PartDeclaration.md +4 -5
- package/dist/docs/reference/model/PartGeometry.md +3 -5
- package/dist/docs/reference/model/PartOptions.md +4 -5
- package/dist/docs/reference/model/PatternSource.md +4 -4
- package/dist/docs/reference/model/PlaneOptions.md +3 -7
- package/dist/docs/reference/model/PolygonOptions.md +2 -7
- package/dist/docs/reference/model/PrimitiveAttachment.md +50 -0
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +111 -0
- package/dist/docs/reference/model/RectangleOptions.md +21 -26
- package/dist/docs/reference/model/RegularPolygonOptions.md +4 -37
- package/dist/docs/reference/{geometry → model}/RevolveOptions.md +15 -24
- package/dist/docs/reference/model/Section.md +115 -53
- package/dist/docs/reference/model/SectionHullOptions.md +2 -3
- package/dist/docs/reference/model/SectionInspection.md +2 -6
- package/dist/docs/reference/model/SectionOffsetJoin.md +2 -2
- package/dist/docs/reference/model/SectionOffsetOptions.md +2 -3
- package/dist/docs/reference/model/Solid.md +24 -12
- package/dist/docs/reference/model/SolidInspection.md +2 -6
- package/dist/docs/reference/model/SolidSegmentHit.md +2 -6
- package/dist/docs/reference/model/SphereOptions.md +27 -0
- package/dist/docs/reference/model/StarOptions.md +21 -23
- package/dist/docs/reference/model/SvgOrigin.md +2 -2
- package/dist/docs/reference/model/SvgPathSectionOptions.md +3 -5
- package/dist/docs/reference/model/SvgSectionOptions.md +3 -6
- package/dist/docs/reference/model/SweepOptions.md +109 -0
- package/dist/docs/reference/model/SweepOrientation.md +119 -0
- package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
- package/dist/docs/reference/model/TextSectionOptions.md +2 -7
- package/dist/docs/reference/{geometry → model}/TorusOptions.md +11 -10
- package/dist/docs/reference/model/TubeOptions.md +84 -0
- package/dist/docs/reference/model/box.md +11 -10
- package/dist/docs/reference/model/categories/boolean-operations.md +9 -3
- package/dist/docs/reference/model/categories/bounded-surfaces.md +13 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +26 -7
- package/dist/docs/reference/model/categories/generation.md +11 -3
- package/dist/docs/reference/model/categories/hinges.md +7 -1
- package/dist/docs/reference/model/categories/mesh-inspection.md +7 -1
- package/dist/docs/reference/model/categories/primitives.md +34 -6
- package/dist/docs/reference/model/categories/sections.md +8 -2
- package/dist/docs/reference/model/categories/threads.md +8 -5
- package/dist/docs/reference/model/categories/transforms-placement.md +15 -10
- package/dist/docs/reference/model/circle.md +7 -3
- package/dist/docs/reference/model/cornerCutter.md +88 -0
- package/dist/docs/reference/model/cylinder.md +6 -5
- package/dist/docs/reference/model/edgeCutter.md +91 -0
- package/dist/docs/reference/model/ellipse.md +7 -3
- package/dist/docs/reference/model/extrude.md +29 -23
- package/dist/docs/reference/model/generate.md +4 -2
- package/dist/docs/reference/model/gridPattern.md +11 -4
- package/dist/docs/reference/model/heightfield.md +5 -5
- package/dist/docs/reference/model/holeCutter.md +26 -12
- package/dist/docs/reference/model/hull.md +2 -2
- package/dist/docs/reference/model/implicit.md +3 -3
- package/dist/docs/reference/model/internalThreadCutter.md +32 -21
- package/dist/docs/reference/model/intersect.md +7 -3
- package/dist/docs/reference/model/join.md +6 -2
- package/dist/docs/reference/model/knuckleHinge.md +2 -3
- package/dist/docs/reference/model/linearPattern.md +11 -4
- package/dist/docs/reference/model/loft.md +28 -24
- package/dist/docs/reference/model/minkowskiSum.md +3 -3
- package/dist/docs/reference/model/pathPattern.md +17 -8
- package/dist/docs/reference/model/polygon.md +8 -3
- package/dist/docs/reference/model/radialPattern.md +11 -4
- package/dist/docs/reference/model/rectangle.md +11 -7
- package/dist/docs/reference/model/regularPolygon.md +7 -3
- package/dist/docs/reference/model/revolve.md +18 -12
- package/dist/docs/reference/model/solidFromMesh.md +10 -6
- package/dist/docs/reference/model/sphere.md +7 -6
- package/dist/docs/reference/model/star.md +11 -7
- package/dist/docs/reference/model/stroke.md +12 -8
- package/dist/docs/reference/model/svgPathSection.md +10 -4
- package/dist/docs/reference/model/svgSection.md +10 -4
- package/dist/docs/reference/model/sweep.md +102 -25
- package/dist/docs/reference/model/textSection.md +7 -3
- package/dist/docs/reference/model/threadRidge.md +16 -17
- package/dist/docs/reference/model/threadedNut.md +25 -22
- package/dist/docs/reference/model/threadedRod.md +21 -18
- package/dist/docs/reference/model/torus.md +13 -12
- package/dist/docs/reference/model/tube.md +6 -5
- package/dist/docs/reference/model/union.md +7 -3
- package/dist/docs/reference/model.md +10 -5
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
- package/dist/docs/reference/text/VectorFont.md +38 -34
- package/dist/docs/reference/text/VectorFontOptions.md +2 -2
- package/dist/docs/reference/{geometry → text}/VectorTextArcBaseline.md +2 -11
- package/dist/docs/reference/{geometry → text}/VectorTextLayoutOptions.md +3 -11
- package/dist/docs/reference/{geometry → text}/VectorTextOptions.md +2 -10
- package/dist/docs/reference/text/categories/font-preparation.md +10 -1
- package/dist/docs/reference/text/prepareVectorFont.md +4 -2
- package/dist/docs/reference/text.md +7 -1
- package/dist/engine/execution.js +5 -3
- package/dist/engine/finalization.js +5 -5
- package/dist/engine/index.js +9 -4
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/construction-mesh.js +15 -5
- package/dist/engine/native/context.js +10 -7
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +2 -2
- package/dist/engine/native/mesh-observation.js +1 -1
- package/dist/engine/native/regions.js +44 -24
- package/dist/engine/native/scoped-primitives.js +3 -3
- package/dist/engine/native/scoped-threads.js +1 -13
- package/dist/engine/native/threads.js +2 -2
- package/dist/engine/native/transforms.js +2 -2
- package/dist/engine/operations/construction.js +77 -27
- package/dist/engine/operations/context.js +13 -6
- package/dist/engine/operations/cutters.js +112 -0
- package/dist/engine/operations/environment.js +2 -2
- package/dist/engine/operations/extrusion-finishing.js +42 -16
- package/dist/engine/operations/hole-cutter.js +125 -114
- package/dist/engine/operations/join-collar-profile.js +19 -19
- package/dist/engine/operations/join.js +86 -73
- package/dist/engine/operations/knuckle-hinge.js +25 -20
- package/dist/engine/operations/loft.js +9 -16
- package/dist/engine/operations/mechanical.js +4 -15
- package/dist/engine/operations/primitives/anchors.js +23 -19
- package/dist/engine/operations/primitives/construction.js +38 -12
- package/dist/engine/operations/primitives/correspondence.js +2 -2
- package/dist/engine/operations/primitives/profile-mesh.js +41 -80
- package/dist/engine/operations/primitives/profiles.js +5 -5
- package/dist/engine/operations/sections.js +8 -8
- package/dist/engine/operations/transforms.js +19 -39
- package/dist/engine/placement.js +3 -3
- package/dist/engine/recipe-realization.js +86 -30
- package/dist/engine/session/declarations.js +98 -0
- package/dist/engine/session/dependencies.js +81 -28
- package/dist/engine/session/graph.js +39 -137
- package/dist/engine/session/parameters.js +78 -0
- package/dist/engine/session/session.js +2 -2
- package/dist/engine/session/snapshot-cache.js +2 -2
- package/dist/engine/shape-anchors.js +13 -6
- package/dist/export/3mf.js +9 -2
- package/dist/export/capture.js +10 -6
- package/dist/export/glb.js +7 -2
- package/dist/export/stl.js +21 -6
- package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
- package/dist/geometry/{bounds-value.js → bounds/value.js} +20 -16
- package/dist/geometry/curves/evaluation.js +5 -6
- package/dist/geometry/curves/sampling.js +30 -6
- package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
- package/dist/geometry/extrusion/mesh.js +92 -0
- package/dist/geometry/extrusion/stations.js +35 -0
- package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
- package/dist/geometry/immutable-buffer.js +7 -1
- package/dist/geometry/index.js +24 -32
- package/dist/geometry/{model-limits.js → limits.js} +1 -1
- package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
- package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
- package/dist/geometry/loft/mesh.js +53 -0
- package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
- package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
- package/dist/geometry/math/interpolation.js +9 -0
- package/dist/geometry/math/vector-value.js +12 -3
- package/dist/geometry/math/vector2.js +18 -5
- package/dist/geometry/math/vector3.js +28 -5
- package/dist/geometry/math-api.js +4 -0
- package/dist/geometry/mechanical/gear-motion.js +7 -5
- package/dist/geometry/mechanical/gears.js +21 -4
- package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
- package/dist/geometry/mechanical/threads/fit.js +8 -2
- package/dist/geometry/mechanical/threads/helices.js +4 -2
- package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
- package/dist/geometry/mechanical/threads/mesh.js +12 -9
- package/dist/geometry/mechanical/threads/profiles.js +18 -4
- package/dist/geometry/mechanical/threads/solids.js +11 -2
- package/dist/geometry/mechanical-api.js +10 -0
- package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
- package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
- package/dist/geometry/{join-geometry.js → mesh/join-layers.js} +53 -59
- package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
- package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
- package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
- package/dist/geometry/mesh/{mesh-render.js → render-buffers.js} +22 -7
- package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
- package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +2 -0
- package/dist/geometry/mesh/{mesh-solid.js → solid.js} +4 -4
- package/dist/geometry/mesh/triangle-quality.js +42 -0
- package/dist/geometry/mesh/winding.js +11 -0
- package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
- package/dist/geometry/mesh-api.js +12 -11
- package/dist/geometry/paths/distribution.js +43 -0
- package/dist/geometry/paths/editing.js +76 -0
- package/dist/geometry/paths/frames.js +16 -11
- package/dist/geometry/paths/helix.js +1 -1
- package/dist/geometry/paths/resampling.js +46 -61
- package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
- package/dist/geometry/paths/spline.js +116 -0
- package/dist/geometry/paths/traversal.js +107 -0
- package/dist/geometry/paths/{path-value.js → value.js} +97 -18
- package/dist/geometry/patterns/placements.js +20 -29
- package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
- package/dist/geometry/primitives/cutters.js +70 -0
- package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
- package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
- package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
- package/dist/geometry/primitives/sampling.js +41 -0
- package/dist/geometry/profiles/contour.js +19 -7
- package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
- package/dist/geometry/profiles/primitives/circle.js +1 -1
- package/dist/geometry/profiles/primitives/ellipse.js +2 -2
- package/dist/geometry/profiles/primitives/rectangle.js +8 -8
- package/dist/geometry/profiles/primitives/star.js +1 -1
- package/dist/geometry/profiles/side-profile.js +8 -5
- package/dist/geometry/profiles/validation.js +1 -1
- package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
- package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
- package/dist/geometry/{region-offset.js → regions/offset.js} +7 -5
- package/dist/geometry/{regions.js → regions/operations.js} +59 -22
- package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
- package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
- package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
- package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
- package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
- package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
- package/dist/geometry/svg/fill.js +4 -3
- package/dist/geometry/svg/import.js +47 -64
- package/dist/geometry/svg/path.js +3 -3
- package/dist/geometry/sweep/closed.js +55 -0
- package/dist/geometry/sweep/mesh.js +30 -0
- package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
- package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
- package/dist/geometry/sweep/seam.js +30 -0
- package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
- package/dist/geometry/sweep/transforms.js +30 -0
- package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
- package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
- package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
- package/dist/geometry/text/layout.js +1 -0
- package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
- package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
- package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
- package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
- package/dist/geometry/transforms/frame.js +64 -0
- package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
- package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
- package/dist/index.js +3 -9
- package/dist/model/cutters.js +1 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +2 -0
- package/dist/model/immutable-generation-data.js +2 -0
- package/dist/model/operations.js +130 -94
- package/dist/model/recipe-declaration.js +5 -7
- package/dist/text/index.js +3 -0
- package/dist/text/vector-text-layout.js +1 -0
- package/package.json +15 -17
- package/dist/api/export-3mf.d.ts +0 -2
- package/dist/api/export-glb.d.ts +0 -2
- package/dist/api/export-stl.d.ts +0 -2
- package/dist/docs/reference/geometry/BoxEdge.md +0 -17
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -24
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -25
- package/dist/docs/reference/geometry/CylinderOptions.md +0 -63
- package/dist/docs/reference/geometry/EndTreatments.md +0 -44
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -144
- package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -156
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -25
- package/dist/docs/reference/geometry/LoftMeshStation.md +0 -41
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -39
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -114
- package/dist/docs/reference/geometry/SphereOptions.md +0 -25
- package/dist/docs/reference/geometry/SweepOptions.md +0 -127
- package/dist/docs/reference/geometry/SweepOrientation.md +0 -127
- package/dist/docs/reference/geometry/TubeOptions.md +0 -72
- package/dist/docs/reference/geometry/add2.md +0 -43
- package/dist/docs/reference/geometry/add3.md +0 -49
- package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -52
- package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -50
- package/dist/docs/reference/geometry/categories/meshes.md +0 -68
- package/dist/docs/reference/geometry/composeTransform3.md +0 -51
- package/dist/docs/reference/geometry/cross2.md +0 -43
- package/dist/docs/reference/geometry/cross3.md +0 -49
- package/dist/docs/reference/geometry/distance2.md +0 -43
- package/dist/docs/reference/geometry/distance3.md +0 -43
- package/dist/docs/reference/geometry/dot2.md +0 -43
- package/dist/docs/reference/geometry/dot3.md +0 -49
- package/dist/docs/reference/geometry/eulerTransform3.md +0 -49
- package/dist/docs/reference/geometry/frameTransform3.md +0 -55
- package/dist/docs/reference/geometry/inverseTransform3.md +0 -41
- package/dist/docs/reference/geometry/length2.md +0 -37
- package/dist/docs/reference/geometry/length3.md +0 -37
- package/dist/docs/reference/geometry/lerp2.md +0 -49
- package/dist/docs/reference/geometry/lerp3.md +0 -49
- package/dist/docs/reference/geometry/normalize2.md +0 -46
- package/dist/docs/reference/geometry/normalize3.md +0 -46
- package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -43
- package/dist/docs/reference/geometry/rotate2.md +0 -43
- package/dist/docs/reference/geometry/rotationTransform3.md +0 -60
- package/dist/docs/reference/geometry/scale2.md +0 -43
- package/dist/docs/reference/geometry/scale3.md +0 -49
- package/dist/docs/reference/geometry/scaleTransform3.md +0 -45
- package/dist/docs/reference/geometry/subtract2.md +0 -43
- package/dist/docs/reference/geometry/subtract3.md +0 -49
- package/dist/docs/reference/geometry/transformDeterminant3.md +0 -43
- package/dist/docs/reference/geometry/translationTransform3.md +0 -42
- package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -41
- package/dist/docs/reference/geometry/validateTransform3.md +0 -54
- package/dist/docs/reference/model/Profile.md +0 -30
- package/dist/docs/reference/model/categories/explicit-profiles.md +0 -21
- package/dist/docs/reference/model/matchProfiles.md +0 -48
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -93
- package/dist/docs/reference/model/preflightThreadedNut.md +0 -109
- package/dist/docs/reference/model/preflightThreadedRod.md +0 -93
- package/dist/engine/operations/patterns.js +0 -47
- package/dist/geometry/loft/loft.js +0 -105
- package/dist/geometry/mechanical/index.js +0 -14
- package/dist/geometry/primitive-resolution.js +0 -20
- package/dist/geometry/svg/index.js +0 -1
- package/dist/geometry/sweeps/options.js +0 -29
- package/dist/geometry/sweeps/sweep-closed.js +0 -96
- package/dist/geometry/sweeps/sweep-mesh.js +0 -32
- /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
- /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
- /package/dist/geometry/mesh/{mesh-types.js → types.js} +0 -0
- /package/dist/geometry/mesh/{mesh-view-cache.js → view-cache.js} +0 -0
- /package/dist/geometry/{primitive-options.js → primitives/options.js} +0 -0
- /package/dist/geometry/{text-layout.js → sweep/options.js} +0 -0
|
@@ -10,24 +10,12 @@ A two-dimensional Cartesian vector or point.
|
|
|
10
10
|
## Guides
|
|
11
11
|
|
|
12
12
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
13
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
13
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
14
14
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
import type { Vector2Data } from "@metamesh/modeling";
|
|
19
|
-
```
|
|
15
|
+
## Import
|
|
20
16
|
|
|
21
17
|
```ts
|
|
22
18
|
import type { Vector2Data } from "@metamesh/modeling/geometry";
|
|
23
19
|
```
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
```ts
|
|
30
|
-
import type { Vector2Data } from "@metamesh/modeling/text";
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
21
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -15,20 +15,12 @@ An XY tuple or immutable fluent vector accepted by vector operations.
|
|
|
15
15
|
## Guides
|
|
16
16
|
|
|
17
17
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
18
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
18
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
19
19
|
|
|
20
|
-
##
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
import type { Vector2Input } from "@metamesh/modeling";
|
|
24
|
-
```
|
|
20
|
+
## Import
|
|
25
21
|
|
|
26
22
|
```ts
|
|
27
23
|
import type { Vector2Input } from "@metamesh/modeling/geometry";
|
|
28
24
|
```
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
26
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -208,6 +208,30 @@ Returns the right-handed cross product as a new vector.
|
|
|
208
208
|
|
|
209
209
|
|
|
210
210
|
|
|
211
|
+
#### Returns
|
|
212
|
+
|
|
213
|
+
`Vector3`
|
|
214
|
+
|
|
215
|
+
***
|
|
216
|
+
|
|
217
|
+
### projectOntoPlane()
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
**projectOntoPlane**(`normal`: [`Vector3Input`](Vector3Input.md)): `Vector3`
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
Projects onto the plane through the origin; finite nonzero normals are normalized first.
|
|
226
|
+
|
|
227
|
+
#### Parameters
|
|
228
|
+
|
|
229
|
+
<a id="normal"></a>
|
|
230
|
+
|
|
231
|
+
**`normal`** · [`Vector3Input`](Vector3Input.md) · Required
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
211
235
|
#### Returns
|
|
212
236
|
|
|
213
237
|
`Vector3`
|
|
@@ -277,20 +301,12 @@ Returns this value's frozen readonly tuple for interchange; repeated calls do no
|
|
|
277
301
|
## Guides
|
|
278
302
|
|
|
279
303
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
280
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
304
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
281
305
|
|
|
282
|
-
##
|
|
283
|
-
|
|
284
|
-
```ts
|
|
285
|
-
import type { Vector3 } from "@metamesh/modeling";
|
|
286
|
-
```
|
|
306
|
+
## Import
|
|
287
307
|
|
|
288
308
|
```ts
|
|
289
309
|
import type { Vector3 } from "@metamesh/modeling/geometry";
|
|
290
310
|
```
|
|
291
311
|
|
|
292
|
-
|
|
293
|
-
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
312
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -10,20 +10,12 @@ A three-dimensional Cartesian vector or point.
|
|
|
10
10
|
## Guides
|
|
11
11
|
|
|
12
12
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
13
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
13
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
14
14
|
|
|
15
|
-
##
|
|
16
|
-
|
|
17
|
-
```ts
|
|
18
|
-
import type { Vector3Data } from "@metamesh/modeling";
|
|
19
|
-
```
|
|
15
|
+
## Import
|
|
20
16
|
|
|
21
17
|
```ts
|
|
22
18
|
import type { Vector3Data } from "@metamesh/modeling/geometry";
|
|
23
19
|
```
|
|
24
20
|
|
|
25
|
-
|
|
26
|
-
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
21
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -15,20 +15,12 @@ An XYZ tuple or immutable fluent vector accepted by vector operations.
|
|
|
15
15
|
## Guides
|
|
16
16
|
|
|
17
17
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
18
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
18
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
19
19
|
|
|
20
|
-
##
|
|
21
|
-
|
|
22
|
-
```ts
|
|
23
|
-
import type { Vector3Input } from "@metamesh/modeling";
|
|
24
|
-
```
|
|
20
|
+
## Import
|
|
25
21
|
|
|
26
22
|
```ts
|
|
27
23
|
import type { Vector3Input } from "@metamesh/modeling/geometry";
|
|
28
24
|
```
|
|
29
25
|
|
|
30
|
-
|
|
31
|
-
import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
26
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -40,18 +40,10 @@ Exact measurements of these paths and their logical text layout.
|
|
|
40
40
|
|
|
41
41
|
- [SVG preflight work and guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
42
42
|
|
|
43
|
-
##
|
|
44
|
-
|
|
45
|
-
```ts
|
|
46
|
-
import type { VectorTextLayout } from "@metamesh/modeling";
|
|
47
|
-
```
|
|
43
|
+
## Import
|
|
48
44
|
|
|
49
45
|
```ts
|
|
50
46
|
import type { VectorTextLayout } from "@metamesh/modeling/geometry";
|
|
51
47
|
```
|
|
52
48
|
|
|
53
|
-
|
|
54
|
-
import type { VectorTextLayout } from "@metamesh/modeling/text";
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
49
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -60,7 +60,7 @@ Selected font's ascender distance above a baseline in millimetres, independent o
|
|
|
60
60
|
|
|
61
61
|
|
|
62
62
|
|
|
63
|
-
Selected font's descender distance below a baseline in millimetres, a
|
|
63
|
+
Selected font's descender distance below a baseline in millimetres, a nonnegative value.
|
|
64
64
|
|
|
65
65
|
***
|
|
66
66
|
|
|
@@ -95,18 +95,10 @@ Number of lines, including empty and trailing lines; empty text occupies one lin
|
|
|
95
95
|
|
|
96
96
|
- [SVG preflight work and guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
97
97
|
|
|
98
|
-
##
|
|
99
|
-
|
|
100
|
-
```ts
|
|
101
|
-
import type { VectorTextMetrics } from "@metamesh/modeling";
|
|
102
|
-
```
|
|
98
|
+
## Import
|
|
103
99
|
|
|
104
100
|
```ts
|
|
105
101
|
import type { VectorTextMetrics } from "@metamesh/modeling/geometry";
|
|
106
102
|
```
|
|
107
103
|
|
|
108
|
-
|
|
109
|
-
import type { VectorTextMetrics } from "@metamesh/modeling/text";
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Package: `@metamesh/modeling@0.19.0`.
|
|
104
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Constructs a normalized immutable attachment anchor.
|
|
4
4
|
|
|
5
|
-
**anchor3**(`
|
|
5
|
+
**anchor3**(`options`: [`Anchor3Options`](Anchor3Options.md)): [`Anchor3`](Anchor3-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -11,35 +11,27 @@ input drift while preserving its roll intent.
|
|
|
11
11
|
|
|
12
12
|
## Parameters
|
|
13
13
|
|
|
14
|
-
<a id="
|
|
14
|
+
<a id="options"></a>
|
|
15
15
|
|
|
16
|
-
**`
|
|
16
|
+
**`options`** · [`Anchor3Options`](Anchor3Options.md) · Required
|
|
17
17
|
|
|
18
|
-
Finite
|
|
18
|
+
Finite position, orientation guides, and optional comparison overrides.
|
|
19
19
|
|
|
20
|
+
- [`position`](Anchor3Options.md#position) · [`Vector3Input`](Vector3Input.md) · Required
|
|
20
21
|
|
|
22
|
+
Finite attachment position in millimetres.
|
|
21
23
|
|
|
22
|
-
|
|
24
|
+
- [`direction`](Anchor3Options.md#direction) · [`Vector3Input`](Vector3Input.md) · Required
|
|
23
25
|
|
|
24
|
-
|
|
26
|
+
Nonzero outward normal; its magnitude is ignored.
|
|
25
27
|
|
|
26
|
-
|
|
28
|
+
- [`up`](Anchor3Options.md#up) · [`Vector3Input`](Vector3Input.md) · Optional
|
|
27
29
|
|
|
30
|
+
Nonparallel roll reference projected onto the attachment plane; defaults to +Y.
|
|
28
31
|
|
|
32
|
+
- [`tolerance`](Anchor3Options.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
**`up`** · [`Vector3Input`](Vector3Input.md) · Optional
|
|
33
|
-
|
|
34
|
-
Non-parallel roll reference; defaults to +Y.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
<a id="tolerance"></a>
|
|
39
|
-
|
|
40
|
-
**`tolerance`** · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
41
|
-
|
|
42
|
-
Optional comparison overrides.
|
|
34
|
+
Optional numeric comparison overrides.
|
|
43
35
|
|
|
44
36
|
|
|
45
37
|
|
|
@@ -52,23 +44,22 @@ A frozen anchor with unit, orthogonal direction and up vectors.
|
|
|
52
44
|
|
|
53
45
|
## Throws
|
|
54
46
|
|
|
55
|
-
- GeometryError For
|
|
47
|
+
- GeometryError For nonfinite or degenerate inputs.
|
|
56
48
|
|
|
57
49
|
## Related APIs
|
|
58
50
|
|
|
59
51
|
- [Anchor3](Anchor3-type.md)
|
|
60
|
-
- [
|
|
61
|
-
- [Vector3Input](Vector3Input.md)
|
|
52
|
+
- [Anchor3Options](Anchor3Options.md)
|
|
62
53
|
|
|
63
54
|
## Guides
|
|
64
55
|
|
|
65
56
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
66
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
57
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
67
58
|
|
|
68
|
-
##
|
|
59
|
+
## Import
|
|
69
60
|
|
|
70
61
|
```ts
|
|
71
62
|
import { anchor3 } from "@metamesh/modeling/geometry";
|
|
72
63
|
```
|
|
73
64
|
|
|
74
|
-
Package: `@metamesh/modeling@0.
|
|
65
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Converts an anchor into a right-handed frame with direction as local +Z.
|
|
4
4
|
|
|
5
|
-
**anchorFrame3**(`anchor`: [`Anchor3`](Anchor3-type.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Frame3`](Frame3.md)
|
|
5
|
+
**anchorFrame3**(`anchor`: [`Anchor3`](Anchor3-type.md), `tolerance?`: [`GeometryToleranceOptions`](GeometryToleranceOptions.md)): [`Frame3`](Frame3-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -26,7 +26,7 @@ Optional comparison overrides.
|
|
|
26
26
|
|
|
27
27
|
## Returns
|
|
28
28
|
|
|
29
|
-
[`Frame3`](Frame3.md)
|
|
29
|
+
[`Frame3`](Frame3-type.md)
|
|
30
30
|
|
|
31
31
|
A normalized right-handed frame at the anchor position.
|
|
32
32
|
|
|
@@ -34,17 +34,17 @@ A normalized right-handed frame at the anchor position.
|
|
|
34
34
|
## Related APIs
|
|
35
35
|
|
|
36
36
|
- [Anchor3](Anchor3-type.md)
|
|
37
|
-
- [Frame3](Frame3.md)
|
|
37
|
+
- [Frame3](Frame3-type.md)
|
|
38
38
|
- [GeometryToleranceOptions](GeometryToleranceOptions.md)
|
|
39
39
|
|
|
40
40
|
## Guides
|
|
41
41
|
|
|
42
|
-
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#
|
|
42
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
43
43
|
|
|
44
|
-
##
|
|
44
|
+
## Import
|
|
45
45
|
|
|
46
46
|
```ts
|
|
47
47
|
import { anchorFrame3 } from "@metamesh/modeling/geometry";
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
Package: `@metamesh/modeling@0.
|
|
50
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Builds the transform that moves a source anchor onto a target anchor.
|
|
4
4
|
|
|
5
|
-
**attachmentTransform3**(`source`: [`Anchor3`](Anchor3-type.md), `target`: [`Anchor3`](Anchor3-type.md), `options?`: [`AttachOptions`](AttachOptions.md)): [`
|
|
5
|
+
**attachmentTransform3**(`source`: [`Anchor3`](Anchor3-type.md), `target`: [`Anchor3`](Anchor3-type.md), `options?`: [`AttachOptions`](AttachOptions.md)): [`Transform3`](Transform3-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -55,30 +55,30 @@ Alignment, gap, spin, and tolerance policy.
|
|
|
55
55
|
|
|
56
56
|
## Returns
|
|
57
57
|
|
|
58
|
-
[`
|
|
58
|
+
[`Transform3`](Transform3-type.md)
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
An immutable affine transform for the moving object.
|
|
61
61
|
|
|
62
62
|
|
|
63
63
|
## Throws
|
|
64
64
|
|
|
65
|
-
- GeometryError For invalid anchors or
|
|
65
|
+
- GeometryError For invalid anchors or nonfinite options.
|
|
66
66
|
|
|
67
67
|
## Related APIs
|
|
68
68
|
|
|
69
69
|
- [Anchor3](Anchor3-type.md)
|
|
70
70
|
- [AttachOptions](AttachOptions.md)
|
|
71
|
-
- [
|
|
71
|
+
- [Transform3](Transform3-type.md)
|
|
72
72
|
|
|
73
73
|
## Guides
|
|
74
74
|
|
|
75
75
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
76
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
76
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
77
77
|
|
|
78
|
-
##
|
|
78
|
+
## Import
|
|
79
79
|
|
|
80
80
|
```ts
|
|
81
81
|
import { attachmentTransform3 } from "@metamesh/modeling/geometry";
|
|
82
82
|
```
|
|
83
83
|
|
|
84
|
-
Package: `@metamesh/modeling@0.
|
|
84
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Constructs immutable finite XY bounds from ordered extrema or nonnegative size in millimetres.
|
|
4
4
|
|
|
5
|
-
**bounds2**(`input`: [`
|
|
5
|
+
**bounds2**(`input`: [`Bounds2`](Bounds2-type.md) \| [`Bounds2Options`](Bounds2Options.md)): [`Bounds2`](Bounds2-type.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -16,7 +16,9 @@ the current Modeling runtime.
|
|
|
16
16
|
|
|
17
17
|
<a id="input"></a>
|
|
18
18
|
|
|
19
|
-
**`input`** · [`
|
|
19
|
+
**`input`** · [`Bounds2`](Bounds2-type.md) \| [`Bounds2Options`](Bounds2Options.md) · Required
|
|
20
|
+
|
|
21
|
+
Ordered extrema, nonnegative size, or an existing XY bounds value to snapshot.
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
|
|
@@ -36,14 +38,10 @@ the current Modeling runtime.
|
|
|
36
38
|
- [Text from a Font parameter](../../guides/svg-and-text.md#text-from-a-font-parameter)
|
|
37
39
|
- [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
|
|
38
40
|
|
|
39
|
-
##
|
|
40
|
-
|
|
41
|
-
```ts
|
|
42
|
-
import { bounds2 } from "@metamesh/modeling";
|
|
43
|
-
```
|
|
41
|
+
## Import
|
|
44
42
|
|
|
45
43
|
```ts
|
|
46
44
|
import { bounds2 } from "@metamesh/modeling/geometry";
|
|
47
45
|
```
|
|
48
46
|
|
|
49
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -18,6 +18,8 @@ the current Modeling runtime.
|
|
|
18
18
|
|
|
19
19
|
**`input`** · [`Bounds3Options`](Bounds3Options.md) \| [`Bounds3`](Bounds3-type.md) · Required
|
|
20
20
|
|
|
21
|
+
Ordered extrema, nonnegative size, or an existing XYZ bounds value to snapshot.
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
## Returns
|
|
@@ -36,14 +38,10 @@ the current Modeling runtime.
|
|
|
36
38
|
- [Text from a Font parameter](../../guides/svg-and-text.md#text-from-a-font-parameter)
|
|
37
39
|
- [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
|
|
38
40
|
|
|
39
|
-
##
|
|
40
|
-
|
|
41
|
-
```ts
|
|
42
|
-
import { bounds3 } from "@metamesh/modeling";
|
|
43
|
-
```
|
|
41
|
+
## Import
|
|
44
42
|
|
|
45
43
|
```ts
|
|
46
44
|
import { bounds3 } from "@metamesh/modeling/geometry";
|
|
47
45
|
```
|
|
48
46
|
|
|
49
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -60,10 +60,10 @@ Midpoint of finite XYZ bounds in millimetres.
|
|
|
60
60
|
- [Text from a Font parameter](../../guides/svg-and-text.md#text-from-a-font-parameter)
|
|
61
61
|
- [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
|
|
62
62
|
|
|
63
|
-
##
|
|
63
|
+
## Import
|
|
64
64
|
|
|
65
65
|
```ts
|
|
66
66
|
import { boundsCenter } from "@metamesh/modeling/geometry";
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Package: `@metamesh/modeling@0.
|
|
69
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -60,10 +60,10 @@ Inclusive XYZ dimensions in millimetres; zero extents are retained.
|
|
|
60
60
|
- [Text from a Font parameter](../../guides/svg-and-text.md#text-from-a-font-parameter)
|
|
61
61
|
- [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
|
|
62
62
|
|
|
63
|
-
##
|
|
63
|
+
## Import
|
|
64
64
|
|
|
65
65
|
```ts
|
|
66
66
|
import { boundsSize } from "@metamesh/modeling/geometry";
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
Package: `@metamesh/modeling@0.
|
|
69
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -48,12 +48,12 @@ resulting anchor frame explicitly; no anchor is inherited from a Boolean result.
|
|
|
48
48
|
## Guides
|
|
49
49
|
|
|
50
50
|
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
51
|
-
- [Fluent values and tuple kernels](../../guides/geometry-values.md#
|
|
51
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
52
52
|
|
|
53
|
-
##
|
|
53
|
+
## Import
|
|
54
54
|
|
|
55
55
|
```ts
|
|
56
56
|
import { boxAnchor3 } from "@metamesh/modeling/geometry";
|
|
57
57
|
```
|
|
58
58
|
|
|
59
|
-
Package: `@metamesh/modeling@0.
|
|
59
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -24,8 +24,8 @@ Use `bounds2` and `bounds3` for immutable extents with fluent `size()`, `center(
|
|
|
24
24
|
|
|
25
25
|
| API | Summary |
|
|
26
26
|
| --- | --- |
|
|
27
|
-
| [Bounds2](../Bounds2-type.md) | Immutable finite XY bounds in millimetres, with
|
|
28
|
-
| [Bounds3](../Bounds3-type.md) | Immutable finite XYZ bounds in millimetres, with
|
|
27
|
+
| [Bounds2](../Bounds2-type.md) | Immutable finite XY bounds in millimetres, with fluent extrema and measurements. |
|
|
28
|
+
| [Bounds3](../Bounds3-type.md) | Immutable finite XYZ bounds in millimetres, with fluent extrema and measurements. |
|
|
29
29
|
| [Bounds2Data](../Bounds2Data.md) | Plain axis-aligned XY bounds for interchange; use bounds2 for immutable measurement methods. |
|
|
30
30
|
| [Bounds3Data](../Bounds3Data.md) | Plain axis-aligned XYZ bounds for interchange; use bounds3 for immutable measurement methods. |
|
|
31
31
|
| [BoundsFitOptions](../BoundsFitOptions.md) | Uniform fitting controls; fitting centers the source inside the target. |
|
|
@@ -48,4 +48,10 @@ Use `bounds2` and `bounds3` for immutable extents with fluent `size()`, `center(
|
|
|
48
48
|
- [Text from a Font parameter](../../../guides/svg-and-text.md#text-from-a-font-parameter)
|
|
49
49
|
- [Solid inspection](../../../guides/resolution-and-inspection.md#solid-inspection)
|
|
50
50
|
|
|
51
|
-
|
|
51
|
+
## Import
|
|
52
|
+
|
|
53
|
+
```ts
|
|
54
|
+
import * as geometry from "@metamesh/modeling/geometry";
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
# Curves and paths
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Query, edit, refine, and interpolate paths with explicit closure and physical sampling settings.
|
|
4
4
|
|
|
5
|
-
Use immutable `path2
|
|
5
|
+
Use immutable `path2` and `path3` values for sampled trajectories; closed paths omit the repeated seam.
|
|
6
6
|
|
|
7
|
-
- **
|
|
8
|
-
- **
|
|
9
|
-
- **
|
|
10
|
-
- **
|
|
11
|
-
- **
|
|
7
|
+
- **Query:** `length()` includes the closing edge. `bounds()` is undefined for an empty path. `closestPoint()` measures nearest-boundary distance. `atDistance()` and `atFraction()` return a `PathStation` with point, tangent, arc-length offset, original edge index, and local edge fraction. Zero-length edges are skipped; exact vertices use the outgoing edge, except an open final endpoint.
|
|
8
|
+
- **Edit:** `splitAt()` returns two open paths; `trim()` extracts an increasing distance range. Original interior vertices survive, and closed traversal starts at its authored seam.
|
|
9
|
+
- **Refine:** `subdivide({ maxSegmentLength })` retains original corners. Equal-distance `resample()` can bridge corners and rejects a repeated closed seam. Both preserve closure and enforce output ceilings.
|
|
10
|
+
- **Interpolate:** `spline2` and `spline3` sample centripetal Catmull–Rom spans through every waypoint. Physical policies bound cubic control hulls; `segmentsPerSpan` overrides them with exact intervals.
|
|
11
|
+
- **Sample curves:** `sampleCurve2` and `sampleCurve3` retain directed endpoints and tangents; exact intervals are uniform in the analytic curve parameter.
|
|
12
|
+
- **Interchange:** `toData()` returns a frozen record with dimension, closure, and points.
|
|
12
13
|
|
|
13
|
-
Sweep frames
|
|
14
|
+
Path distribution and tangent patterns share the outgoing-edge convention. Sweep frames have their own centered-tangent orientation contract.
|
|
14
15
|
|
|
15
16
|
## Functions
|
|
16
17
|
|
|
17
18
|
| API | Summary |
|
|
18
19
|
| --- | --- |
|
|
19
20
|
| [anchorFrame3](../anchorFrame3.md) | Converts an anchor into a right-handed frame with direction as local +Z. |
|
|
21
|
+
| [distributeAlongPath](../distributeAlongPath.md) | Places an exact item count at equal arc-length intervals along a sampled XYZ path. |
|
|
20
22
|
| [sampleCurve2](../sampleCurve2.md) | Samples a planar curve with the same guarantees and policy as spatial sampling. |
|
|
21
23
|
| [sampleCurve3](../sampleCurve3.md) | Samples a spatial curve, preserving endpoints and directed unit tangents. |
|
|
22
24
|
| [resolveGeometrySamplingLimits](../resolveGeometrySamplingLimits.md) | Resolves finite positive safe-integer allocation ceilings without ambient state. |
|
|
@@ -24,6 +26,8 @@ Sweep frames require explicit seam and orientation choices.
|
|
|
24
26
|
| [resamplePolyline3](../resamplePolyline3.md) | Resamples a spatial polyline at equal arc lengths with directed outgoing tangents. |
|
|
25
27
|
| [path2](../path2.md) | Snapshots finite XY coordinates as an immutable sampled path, independent of engine initialization. |
|
|
26
28
|
| [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. |
|
|
29
|
+
| [spline2](../spline2.md) | Samples an immutable XY centripetal Catmull–Rom path through every waypoint in traversal order. Open endpoints use one-sided secants; closed paths are periodic and omit their repeated seam. Adjacent duplicate waypoints reject. The default physical policy bounds each cubic control hull; segmentsPerSpan instead selects exact uniform parameters per span. Sampling never coarsens to fit maxPathPoints. Invalid topology, nonfinite arithmetic, and exhausted budgets throw GeometryError. |
|
|
30
|
+
| [spline3](../spline3.md) | Samples an immutable XYZ centripetal Catmull–Rom path with the same interpolation, seam, sampling, and ceiling rules as spline2. |
|
|
27
31
|
|
|
28
32
|
## Interfaces
|
|
29
33
|
|
|
@@ -34,14 +38,13 @@ Sweep frames require explicit seam and orientation choices.
|
|
|
34
38
|
| [CubicBezierCurve2](../CubicBezierCurve2.md) | Planar cubic Bézier with explicit endpoint and control coordinates. |
|
|
35
39
|
| [CubicBezierCurve3](../CubicBezierCurve3.md) | Spatial cubic Bézier with explicit endpoint and control coordinates. |
|
|
36
40
|
| [CurveSamplingOptions](../CurveSamplingOptions.md) | Explicit physical sampling and allocation policy for reusable curves. |
|
|
37
|
-
| [Frame3](../Frame3.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
|
|
38
41
|
| [GeometrySamplingLimits](../GeometrySamplingLimits.md) | Explicit allocation ceilings for pure sampling and host-owned modeling operations. |
|
|
39
42
|
| [LineCurve2](../LineCurve2.md) | Straight planar curve in millimetres. |
|
|
40
43
|
| [LineCurve3](../LineCurve3.md) | Straight spatial curve in millimetres. |
|
|
41
44
|
| [Path2](../Path2-type.md) | Immutable directed XY polyline. Closure is explicit and does not imply a filled Section. |
|
|
42
45
|
| [Path3](../Path3-type.md) | Immutable directed XYZ polyline; it represents sampled edges, not an analytic curve. |
|
|
43
46
|
| [PathFrame](../PathFrame.md) | Orthonormal right-handed frame sampled along a path. |
|
|
44
|
-
| [PathPlacement](../PathPlacement.md) | Position and unit tangent for one path-distributed item. |
|
|
47
|
+
| [PathPlacement](../PathPlacement.md) | Position and directed unit edge tangent for one path-distributed item. |
|
|
45
48
|
| [SampledCurve2](../SampledCurve2.md) | Immutable planar points and corresponding directed unit tangents. |
|
|
46
49
|
| [SampledCurve3](../SampledCurve3.md) | Immutable spatial points and corresponding directed unit tangents. |
|
|
47
50
|
| [SampleHelixOptions](../SampleHelixOptions.md) | Options for a sampled +Z helix with millimetre dimensions. |
|
|
@@ -51,6 +54,9 @@ Sweep frames require explicit seam and orientation choices.
|
|
|
51
54
|
| [PathResamplingOptions](../PathResamplingOptions.md) | Equal arc-length sampling; the path itself owns whether its closing edge is included. |
|
|
52
55
|
| [Path2Data](../Path2Data.md) | Complete plain XY path representation, including topology and empty-path dimensional identity. |
|
|
53
56
|
| [Path3Data](../Path3Data.md) | Complete plain XYZ path representation, including topology and empty-path dimensional identity. |
|
|
57
|
+
| [PathStation](../PathStation.md) | Directed location at an arc-length offset along a sampled path. |
|
|
58
|
+
| [PathSubdivisionOptions](../PathSubdivisionOptions.md) | Corner-preserving edge refinement; the original vertices remain in traversal order. |
|
|
59
|
+
| [SplineOptions](../SplineOptions.md) | Physical or exact sampling of a centripetal Catmull–Rom spline through authored waypoints. |
|
|
54
60
|
|
|
55
61
|
## Type aliases
|
|
56
62
|
|
|
@@ -69,12 +75,17 @@ Sweep frames require explicit seam and orientation choices.
|
|
|
69
75
|
| [computeClosedParallelTransportFrames](../computeClosedParallelTransportFrames.md) | Builds rotation-minimizing frames for a non-duplicated closed path. |
|
|
70
76
|
| [computeParallelTransportFrames](../computeParallelTransportFrames.md) | Builds rotation-minimizing frames by parallel-transporting the previous normal. |
|
|
71
77
|
| [defaultGeometrySamplingLimits](../defaultGeometrySamplingLimits.md) | Conservative defaults; trusted callers can supply larger explicit ceilings. |
|
|
72
|
-
| [distributeAlongPath](../distributeAlongPath.md) | Places an exact item count at equal arc-length intervals along a sampled path. |
|
|
73
78
|
| [roundClosedPolylinePath](../roundClosedPolylinePath.md) | Replaces each vertex of a non-duplicated closed polyline with a sampled quadratic corner in the same coordinate system as the input. |
|
|
74
79
|
| [sampleHelix](../sampleHelix.md) | Creates `segments + 1` points including exact helix endpoints from finite positive dimensions. |
|
|
75
80
|
|
|
76
81
|
## Guides
|
|
77
82
|
|
|
78
|
-
- [Path queries and closure-preserving interchange](../../../guides/geometry-values.md#
|
|
83
|
+
- [Path queries and closure-preserving interchange](../../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
79
84
|
|
|
80
|
-
|
|
85
|
+
## Import
|
|
86
|
+
|
|
87
|
+
```ts
|
|
88
|
+
import * as geometry from "@metamesh/modeling/geometry";
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Immutable geometry data
|
|
2
|
+
|
|
3
|
+
Capture reusable numeric data and construction placement contracts.
|
|
4
|
+
|
|
5
|
+
Use immutableBuffer to capture numeric data for memoized preparation. Captured buffers expose indexed reads and iteration; copy() creates owned mutable storage. Bounds, vector, path, and transform values expose frozen toData() snapshots.
|
|
6
|
+
|
|
7
|
+
Use /geometry/mesh for mesh construction, buffers, analysis, and validation contracts. LoftPlacement retains explicit z-or-transform station placement; ExtrusionSamplingOptions controls longitudinal sampling.
|
|
8
|
+
|
|
9
|
+
## Functions
|
|
10
|
+
|
|
11
|
+
| API | Summary |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| [resolveExtrusionSlices](../resolveExtrusionSlices.md) | Resolves longitudinal intervals for ordinary linear extrusion from physical curve resolution. |
|
|
14
|
+
| [immutableBuffer](../immutableBuffer.md) | Copies numeric data once into private storage. This pure helper needs no active generation. |
|
|
15
|
+
|
|
16
|
+
## Interfaces
|
|
17
|
+
|
|
18
|
+
| API | Summary |
|
|
19
|
+
| --- | --- |
|
|
20
|
+
| [ExtrusionSamplingOptions](../ExtrusionSamplingOptions.md) | Shared sampling controls for a twisted or scaled linear extrusion. |
|
|
21
|
+
| [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data. Iterate without copying; use copy() for mutable storage. |
|
|
22
|
+
|
|
23
|
+
## Type aliases
|
|
24
|
+
|
|
25
|
+
| API | Summary |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| [LoftPlacement](../LoftPlacement.md) | A horizontal XY station height, or an explicit affine transform, never both. |
|
|
28
|
+
| [NumericArray](../NumericArray.md) | Numeric storage supported by immutable generation buffers. |
|
|
29
|
+
|
|
30
|
+
## Guides
|
|
31
|
+
|
|
32
|
+
- [Exact counts and preflight guarantees](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
33
|
+
|
|
34
|
+
## Import
|
|
35
|
+
|
|
36
|
+
```ts
|
|
37
|
+
import * as geometry from "@metamesh/modeling/geometry";
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Package: `@metamesh/modeling@0.20.0`.
|