@metamesh/modeling 0.18.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 +82 -0
- package/README.md +96 -64
- package/dist/api/engine.d.ts +216 -160
- package/dist/api/export.d.ts +204 -0
- package/dist/api/geometry.d.ts +410 -2106
- package/dist/api/index.d.ts +545 -1821
- package/dist/api/math.d.ts +315 -0
- package/dist/api/mechanical.d.ts +1041 -0
- package/dist/api/mesh.d.ts +395 -94
- package/dist/api/text.d.ts +24 -44
- package/dist/docs/guides/concepts.md +54 -523
- package/dist/docs/guides/exporting.md +88 -0
- package/dist/docs/guides/fonts.md +7 -5
- package/dist/docs/guides/fundamentals.md +12 -24
- package/dist/docs/guides/generation.md +76 -61
- package/dist/docs/guides/geometry-values.md +251 -0
- package/dist/docs/guides/hosting.md +58 -80
- package/dist/docs/guides/profiles-and-extrusion.md +400 -0
- package/dist/docs/guides/recipes.md +52 -706
- package/dist/docs/guides/resolution-and-inspection.md +153 -0
- package/dist/docs/guides/solid-joins.md +136 -0
- package/dist/docs/guides/standalone-model.md +5 -3
- package/dist/docs/guides/svg-and-text.md +252 -0
- package/dist/docs/guides/sweeps-and-lofts.md +223 -0
- package/dist/docs/guides/transforms-and-placement.md +323 -0
- package/dist/docs/guides/workers.md +166 -0
- package/dist/docs/manifest.json +5539 -8603
- package/dist/docs/reference/engine/GenerationOptions.md +9 -4
- package/dist/docs/reference/engine/GeometryResource.md +11 -5
- package/dist/docs/reference/engine/ModelDependencies.md +9 -3
- package/dist/docs/reference/engine/ModelEngine.md +8 -3
- package/dist/docs/reference/engine/ModelEngineOptions.md +6 -5
- package/dist/docs/reference/engine/ModelPart.md +12 -6
- package/dist/docs/reference/engine/ModelResult.md +8 -2
- package/dist/docs/reference/engine/ModelRunArguments.md +7 -1
- package/dist/docs/reference/engine/ModelRunOptions.md +9 -4
- package/dist/docs/reference/engine/ModelSession.md +7 -1
- package/dist/docs/reference/engine/SessionOptions.md +9 -4
- package/dist/docs/reference/engine/categories/host-lifecycle.md +11 -10
- package/dist/docs/reference/engine/checkModel.md +11 -1
- package/dist/docs/reference/engine/createModelEngine.md +13 -4
- package/dist/docs/reference/engine/defaultModelingLimits.md +7 -8
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
- package/dist/docs/reference/engine.md +13 -7
- package/dist/docs/reference/export/Export3mfOptions.md +20 -0
- package/dist/docs/reference/export/ExportDiagnostic.md +47 -0
- package/dist/docs/reference/export/ExportFormat.md +13 -0
- package/dist/docs/reference/export/ExportGeometry.md +27 -0
- package/dist/docs/reference/export/ExportGlbOptions.md +114 -0
- package/dist/docs/reference/export/ExportLimits.md +71 -0
- package/dist/docs/reference/export/ExportMaterial.md +35 -0
- package/dist/docs/reference/export/ExportOptions.md +82 -0
- package/dist/docs/reference/export/ExportPart.md +76 -0
- package/dist/docs/reference/export/ExportReport.md +70 -0
- package/dist/docs/reference/export/ExportSink.md +29 -0
- package/dist/docs/reference/export/ExportStlOptions.md +20 -0
- package/dist/docs/reference/export/ExportedFile.md +98 -0
- package/dist/docs/reference/export/categories/mesh-serialization.md +53 -0
- package/dist/docs/reference/export/defaultExportLimits.md +20 -0
- package/dist/docs/reference/export/export3mf.md +62 -0
- package/dist/docs/reference/export/exportGlb.md +66 -0
- package/dist/docs/reference/export/exportStl.md +62 -0
- package/dist/docs/reference/export/write3mf.md +71 -0
- package/dist/docs/reference/export/writeGlb.md +75 -0
- package/dist/docs/reference/export/writeStl.md +71 -0
- package/dist/docs/reference/export.md +27 -0
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +9 -3
- package/dist/docs/reference/geometry/Anchor3-type.md +9 -3
- package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
- package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
- package/dist/docs/reference/geometry/AttachOptions.md +10 -5
- package/dist/docs/reference/geometry/Bounds2-type.md +17 -24
- package/dist/docs/reference/geometry/Bounds2Data.md +10 -9
- package/dist/docs/reference/geometry/Bounds2Input.md +10 -4
- package/dist/docs/reference/geometry/Bounds2Options.md +10 -4
- package/dist/docs/reference/geometry/Bounds3-type.md +17 -24
- package/dist/docs/reference/geometry/Bounds3Data.md +10 -9
- package/dist/docs/reference/geometry/Bounds3Input.md +10 -4
- package/dist/docs/reference/geometry/Bounds3Options.md +10 -4
- package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
- package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
- package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
- package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +9 -3
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +8 -2
- package/dist/docs/reference/geometry/CircleContourOptions.md +8 -2
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +8 -3
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
- package/dist/docs/reference/geometry/CircularSampling.md +7 -1
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
- package/dist/docs/reference/geometry/Contour.md +9 -4
- package/dist/docs/reference/geometry/ContourCurve.md +8 -2
- package/dist/docs/reference/geometry/ContourPoint.md +8 -2
- package/dist/docs/reference/geometry/ContourSegment.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingComponent.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingContour.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingProfile.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +9 -3
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
- package/dist/docs/reference/geometry/Curve2.md +8 -2
- package/dist/docs/reference/geometry/Curve3.md +8 -2
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +10 -4
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +7 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +8 -2
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +15 -10
- package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
- package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +9 -2
- package/dist/docs/reference/geometry/Frame3Options.md +69 -0
- package/dist/docs/reference/geometry/GeometryError.md +7 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +7 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +7 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +8 -2
- package/dist/docs/reference/geometry/GridPatternOptions.md +13 -5
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +8 -14
- package/dist/docs/reference/geometry/LineCurve2.md +8 -2
- package/dist/docs/reference/geometry/LineCurve3.md +8 -2
- package/dist/docs/reference/geometry/LinearPatternOptions.md +8 -2
- package/dist/docs/reference/geometry/LoftPlacement.md +19 -13
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +8 -2
- package/dist/docs/reference/geometry/ModelingLimits.md +7 -1
- package/dist/docs/reference/geometry/NumericArray.md +8 -2
- package/dist/docs/reference/geometry/Path2-type.md +158 -3
- package/dist/docs/reference/geometry/Path2Data.md +8 -2
- package/dist/docs/reference/geometry/Path2Input.md +8 -2
- package/dist/docs/reference/geometry/Path3-type.md +158 -3
- package/dist/docs/reference/geometry/Path3Data.md +8 -2
- package/dist/docs/reference/geometry/Path3Input.md +8 -2
- package/dist/docs/reference/geometry/PathFrame.md +8 -2
- package/dist/docs/reference/geometry/PathLocation.md +8 -2
- package/dist/docs/reference/geometry/PathNormalGuide.md +9 -3
- package/dist/docs/reference/geometry/PathOptions.md +8 -2
- package/dist/docs/reference/geometry/PathPatternOptions.md +9 -3
- package/dist/docs/reference/geometry/PathPlacement.md +10 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +8 -2
- 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 +9 -3
- package/dist/docs/reference/geometry/Pivot3Options.md +9 -3
- package/dist/docs/reference/geometry/PolygonData.md +9 -3
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/Profile.md +8 -3
- package/dist/docs/reference/geometry/ProfileComponent2.md +8 -2
- package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +8 -2
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +10 -3
- package/dist/docs/reference/geometry/RadialPatternOptions.md +8 -2
- package/dist/docs/reference/geometry/RadialSizing.md +7 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +7 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +9 -2
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +8 -2
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +8 -2
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +8 -2
- package/dist/docs/reference/geometry/RegionData.md +8 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
- package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +7 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
- package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
- package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
- package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
- package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +7 -1
- package/dist/docs/reference/geometry/SplineOptions.md +69 -0
- package/dist/docs/reference/geometry/StarContourOptions.md +12 -2
- package/dist/docs/reference/geometry/StrokeCap.md +8 -2
- package/dist/docs/reference/geometry/StrokeJoin.md +8 -2
- package/dist/docs/reference/geometry/StrokeOptions.md +9 -3
- package/dist/docs/reference/geometry/SvgImportOptions.md +10 -4
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
- package/dist/docs/reference/geometry/Transform2-type.md +9 -3
- package/dist/docs/reference/geometry/Transform2Data.md +9 -3
- package/dist/docs/reference/geometry/Transform2Input.md +9 -3
- package/dist/docs/reference/geometry/Transform3-type.md +10 -4
- package/dist/docs/reference/geometry/Transform3Data.md +9 -3
- package/dist/docs/reference/geometry/Transform3Input.md +12 -5
- package/dist/docs/reference/geometry/Vector2-type.md +9 -3
- package/dist/docs/reference/geometry/Vector2Data.md +9 -3
- package/dist/docs/reference/geometry/Vector2Input.md +9 -3
- package/dist/docs/reference/geometry/Vector3-type.md +33 -3
- package/dist/docs/reference/geometry/Vector3Data.md +9 -3
- package/dist/docs/reference/geometry/Vector3Input.md +9 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +8 -2
- package/dist/docs/reference/geometry/VectorTextMetrics.md +9 -3
- package/dist/docs/reference/geometry/anchor3.md +23 -26
- package/dist/docs/reference/geometry/anchorFrame3.md +11 -5
- package/dist/docs/reference/geometry/attachmentTransform3.md +14 -8
- package/dist/docs/reference/geometry/bounds2.md +16 -8
- package/dist/docs/reference/geometry/bounds3.md +14 -6
- package/dist/docs/reference/geometry/boundsCenter.md +10 -4
- package/dist/docs/reference/geometry/boundsSize.md +10 -4
- package/dist/docs/reference/geometry/boxAnchor3.md +9 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +12 -6
- 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 +11 -5
- 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 +8 -5
- package/dist/docs/reference/geometry/circleContour.md +8 -2
- package/dist/docs/reference/geometry/closeToAxis.md +12 -2
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -5
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +18 -5
- package/dist/docs/reference/geometry/contourContainsPoint.md +12 -2
- package/dist/docs/reference/geometry/cylinderAnchor3.md +11 -5
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/distributeAlongPath.md +21 -10
- package/dist/docs/reference/geometry/ellipseContour.md +8 -2
- package/dist/docs/reference/geometry/fitBounds.md +18 -4
- package/dist/docs/reference/geometry/fitTextLayout.md +11 -5
- package/dist/docs/reference/geometry/frame3.md +66 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +12 -6
- package/dist/docs/reference/geometry/immutableBuffer.md +11 -3
- package/dist/docs/reference/geometry/isGeometryError.md +7 -1
- package/dist/docs/reference/geometry/layoutRow.md +12 -4
- package/dist/docs/reference/geometry/linearPatternTransforms.md +12 -6
- package/dist/docs/reference/geometry/matchProfiles.md +10 -2
- package/dist/docs/reference/geometry/normalizeContour.md +13 -3
- package/dist/docs/reference/geometry/normalizePolygon.md +10 -2
- package/dist/docs/reference/geometry/normalizeRegion.md +10 -2
- package/dist/docs/reference/geometry/path2.md +12 -2
- package/dist/docs/reference/geometry/path3.md +12 -2
- package/dist/docs/reference/geometry/pathPatternTransforms.md +18 -8
- package/dist/docs/reference/geometry/preflightSvgRegion.md +11 -5
- package/dist/docs/reference/geometry/radialPatternTransforms.md +11 -5
- package/dist/docs/reference/geometry/rectangleContour.md +8 -2
- package/dist/docs/reference/geometry/rectangleProfile.md +8 -3
- package/dist/docs/reference/geometry/regionArea.md +8 -2
- package/dist/docs/reference/geometry/regionBounds.md +11 -3
- package/dist/docs/reference/geometry/regularPolygonContour.md +8 -2
- package/dist/docs/reference/geometry/resamplePolyline2.md +12 -2
- package/dist/docs/reference/geometry/resamplePolyline3.md +12 -2
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +10 -4
- package/dist/docs/reference/geometry/resolveArcSegments.md +13 -5
- package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
- package/dist/docs/reference/geometry/resolveCircularSegments.md +10 -2
- package/dist/docs/reference/geometry/resolveExtrusionSlices.md +85 -0
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +10 -2
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +8 -2
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +17 -4
- package/dist/docs/reference/geometry/sampleContour.md +10 -4
- package/dist/docs/reference/geometry/sampleCurve2.md +12 -2
- package/dist/docs/reference/geometry/sampleCurve3.md +12 -2
- package/dist/docs/reference/geometry/sampleHelix.md +8 -2
- package/dist/docs/reference/geometry/sampleSideProfile.md +10 -4
- package/dist/docs/reference/geometry/sampleTextContours.md +9 -3
- package/dist/docs/reference/geometry/signedContourArea.md +10 -2
- 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 +8 -2
- package/dist/docs/reference/geometry/strokeRegionData.md +14 -5
- package/dist/docs/reference/geometry/transform2.md +11 -3
- package/dist/docs/reference/geometry/transform3.md +29 -6
- package/dist/docs/reference/geometry/transformRegionData.md +12 -2
- package/dist/docs/reference/geometry/triangulateContour.md +11 -3
- package/dist/docs/reference/geometry/vector2.md +12 -4
- package/dist/docs/reference/geometry/vector3.md +14 -4
- package/dist/docs/reference/geometry.md +13 -18
- package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +8 -3
- 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 +9 -4
- package/dist/docs/reference/{geometry → mechanical}/Bevel.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +10 -6
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +11 -8
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +10 -6
- package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +10 -6
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +8 -2
- package/dist/docs/reference/{mesh/ThreadProfile.md → mechanical/ThreadProfile-type.md} +8 -6
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +12 -9
- package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +13 -10
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +12 -9
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +8 -2
- package/dist/docs/reference/mechanical/ThreadedNutShape.md +20 -0
- package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +11 -8
- package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +9 -3
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +9 -3
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +17 -5
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +18 -2
- package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +14 -6
- package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +13 -5
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +14 -6
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +13 -5
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +14 -6
- package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +12 -4
- package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +14 -7
- package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +14 -7
- package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +15 -7
- package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +13 -5
- package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +12 -2
- package/dist/docs/reference/mechanical.md +19 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +39 -40
- package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +8 -6
- package/dist/docs/reference/mesh/HeightfieldPreflight.md +8 -2
- package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +8 -6
- package/dist/docs/reference/mesh/LoftMeshStation.md +8 -7
- package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +9 -3
- package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +11 -6
- package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +13 -7
- package/dist/docs/reference/mesh/PlanarPatchQuality.md +7 -5
- package/dist/docs/reference/mesh/RenderMesh.md +68 -0
- package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +7 -5
- package/dist/docs/reference/mesh/TriangleMesh.md +16 -2
- package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +16 -11
- package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +12 -7
- package/dist/docs/reference/mesh/TriangleMeshInput.md +9 -3
- package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +10 -5
- package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +9 -4
- package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +9 -3
- package/dist/docs/reference/mesh/TriangleMeshSignature.md +9 -4
- package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +8 -2
- package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +8 -2
- package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +17 -12
- package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +9 -4
- package/dist/docs/reference/mesh/analyze.md +28 -14
- package/dist/docs/reference/mesh/analyzeQuality.md +15 -9
- package/dist/docs/reference/mesh/bounds.md +10 -5
- package/dist/docs/reference/mesh/categories/operations.md +24 -81
- package/dist/docs/reference/mesh/centroid.md +10 -5
- package/dist/docs/reference/mesh/extrude.md +25 -18
- package/dist/docs/reference/mesh/heightfield.md +13 -7
- package/dist/docs/reference/mesh/immutable.md +16 -10
- package/dist/docs/reference/mesh/join.md +11 -5
- package/dist/docs/reference/mesh/loft.md +23 -16
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +24 -18
- package/dist/docs/reference/mesh/preflightHeightfield.md +13 -7
- package/dist/docs/reference/mesh/preflightThreadSolid.md +27 -24
- package/dist/docs/reference/mesh/render.md +59 -0
- package/dist/docs/reference/mesh/reverse.md +11 -5
- package/dist/docs/reference/mesh/revolve.md +17 -13
- package/dist/docs/reference/mesh/signature.md +15 -9
- package/dist/docs/reference/mesh/sweep.md +101 -24
- package/dist/docs/reference/mesh/threadRidge.md +24 -17
- package/dist/docs/reference/mesh/threadSolid.md +28 -21
- package/dist/docs/reference/mesh/transform.md +12 -7
- package/dist/docs/reference/mesh/validate.md +15 -9
- package/dist/docs/reference/mesh/validateSolid.md +14 -8
- package/dist/docs/reference/mesh.md +8 -2
- package/dist/docs/reference/model/BoxEdge.md +11 -3
- package/dist/docs/reference/model/BoxEdgeSelection.md +11 -3
- package/dist/docs/reference/model/BoxEdgeTreatments.md +12 -5
- package/dist/docs/reference/model/BoxOptions.md +14 -9
- package/dist/docs/reference/model/CircleOptions.md +11 -6
- package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
- package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
- package/dist/docs/reference/model/CutterOverrun.md +43 -0
- package/dist/docs/reference/model/CylinderOptions.md +12 -6
- package/dist/docs/reference/model/DiagnosticOptions.md +7 -1
- package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
- package/dist/docs/reference/model/EllipseOptions.md +11 -6
- package/dist/docs/reference/model/EndTreatments.md +13 -9
- package/dist/docs/reference/model/ExtrudeOptions.md +48 -44
- package/dist/docs/reference/model/GenerateCallback.md +7 -1
- package/dist/docs/reference/model/GenerateContext.md +23 -24
- package/dist/docs/reference/model/GenerationDiagnostic.md +7 -1
- package/dist/docs/reference/model/GenerationError.md +8 -2
- package/dist/docs/reference/model/HeightfieldOptions.md +8 -8
- package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
- package/dist/docs/reference/model/HoleCutterOptions.md +19 -25
- package/dist/docs/reference/model/HoleCutterRecess.md +13 -5
- package/dist/docs/reference/model/HullOptions.md +12 -6
- package/dist/docs/reference/model/ImmutableValue.md +7 -1
- package/dist/docs/reference/model/ImplicitOptions.md +9 -9
- package/dist/docs/reference/model/JoinOptions.md +73 -0
- package/dist/docs/reference/model/JoinTransition.md +54 -0
- package/dist/docs/reference/model/KnuckleHinge-type.md +8 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
- package/dist/docs/reference/model/KnuckleHingeOptions.md +8 -4
- package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
- package/dist/docs/reference/model/LoftCorrespondence.md +13 -5
- package/dist/docs/reference/model/LoftOptions.md +16 -10
- package/dist/docs/reference/model/LoftStation.md +16 -10
- package/dist/docs/reference/model/Memo.md +54 -0
- package/dist/docs/reference/model/ModelProgram.md +7 -1
- package/dist/docs/reference/model/PartDeclaration.md +12 -8
- package/dist/docs/reference/model/PartGeometry.md +8 -4
- package/dist/docs/reference/model/PartOptions.md +12 -8
- package/dist/docs/reference/model/PatternSource.md +11 -5
- package/dist/docs/reference/model/PlaneOptions.md +11 -8
- package/dist/docs/reference/model/PolygonOptions.md +17 -16
- package/dist/docs/reference/model/PrimitiveAttachment.md +15 -4
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +18 -17
- package/dist/docs/reference/model/RectangleOptions.md +31 -30
- package/dist/docs/reference/model/RegularPolygonOptions.md +11 -38
- package/dist/docs/reference/model/RevolveOptions.md +19 -17
- package/dist/docs/reference/model/Section.md +128 -72
- package/dist/docs/reference/model/SectionHullOptions.md +12 -6
- package/dist/docs/reference/model/SectionInspection.md +8 -6
- package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
- package/dist/docs/reference/model/SectionOffsetOptions.md +11 -6
- package/dist/docs/reference/model/Solid.md +113 -53
- package/dist/docs/reference/model/SolidInspection.md +8 -6
- package/dist/docs/reference/model/SolidSegmentHit.md +9 -7
- package/dist/docs/reference/model/SphereOptions.md +12 -5
- package/dist/docs/reference/model/StarOptions.md +33 -29
- package/dist/docs/reference/model/SvgOrigin.md +10 -4
- package/dist/docs/reference/model/SvgPathSectionOptions.md +13 -9
- package/dist/docs/reference/model/SvgSectionOptions.md +14 -11
- package/dist/docs/reference/model/SweepOptions.md +21 -28
- package/dist/docs/reference/model/SweepOrientation.md +19 -16
- package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
- package/dist/docs/reference/model/TextSectionOptions.md +11 -10
- package/dist/docs/reference/model/TorusOptions.md +13 -7
- package/dist/docs/reference/model/TubeOptions.md +25 -8
- package/dist/docs/reference/model/box.md +14 -6
- package/dist/docs/reference/model/categories/boolean-operations.md +16 -4
- package/dist/docs/reference/model/categories/bounded-surfaces.md +7 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +21 -16
- package/dist/docs/reference/model/categories/generation.md +15 -12
- package/dist/docs/reference/model/categories/hinges.md +7 -4
- package/dist/docs/reference/model/categories/mesh-inspection.md +8 -6
- package/dist/docs/reference/model/categories/primitives.md +32 -20
- package/dist/docs/reference/model/categories/sections.md +11 -16
- package/dist/docs/reference/model/categories/threads.md +9 -43
- package/dist/docs/reference/model/categories/transforms-placement.md +17 -41
- package/dist/docs/reference/model/circle.md +15 -5
- package/dist/docs/reference/model/cornerCutter.md +88 -0
- package/dist/docs/reference/model/cylinder.md +11 -3
- package/dist/docs/reference/model/edgeCutter.md +91 -0
- package/dist/docs/reference/model/ellipse.md +15 -5
- package/dist/docs/reference/model/extrude.md +37 -24
- package/dist/docs/reference/model/generate.md +10 -2
- package/dist/docs/reference/model/gridPattern.md +22 -9
- package/dist/docs/reference/model/heightfield.md +7 -1
- package/dist/docs/reference/model/holeCutter.md +34 -13
- package/dist/docs/reference/model/hull.md +9 -2
- package/dist/docs/reference/model/implicit.md +10 -4
- package/dist/docs/reference/model/internalThreadCutter.md +38 -21
- package/dist/docs/reference/model/intersect.md +14 -3
- package/dist/docs/reference/model/join.md +93 -0
- package/dist/docs/reference/model/knuckleHinge.md +7 -2
- package/dist/docs/reference/model/linearPattern.md +22 -9
- package/dist/docs/reference/model/loft.md +27 -16
- package/dist/docs/reference/model/minkowskiSum.md +10 -3
- package/dist/docs/reference/model/pathPattern.md +36 -21
- package/dist/docs/reference/model/polygon.md +18 -7
- package/dist/docs/reference/model/radialPattern.md +22 -9
- package/dist/docs/reference/model/rectangle.md +22 -12
- package/dist/docs/reference/model/regularPolygon.md +15 -5
- package/dist/docs/reference/model/revolve.md +26 -13
- package/dist/docs/reference/model/solidFromMesh.md +16 -6
- package/dist/docs/reference/model/sphere.md +12 -4
- package/dist/docs/reference/model/star.md +20 -10
- package/dist/docs/reference/model/stroke.md +29 -19
- package/dist/docs/reference/model/svgPathSection.md +20 -8
- package/dist/docs/reference/model/svgSection.md +21 -9
- package/dist/docs/reference/model/sweep.md +108 -24
- package/dist/docs/reference/model/textSection.md +19 -9
- package/dist/docs/reference/model/threadRidge.md +22 -17
- package/dist/docs/reference/model/threadedNut.md +31 -22
- package/dist/docs/reference/model/threadedRod.md +27 -18
- package/dist/docs/reference/model/torus.md +13 -5
- package/dist/docs/reference/model/tube.md +11 -3
- package/dist/docs/reference/model/union.md +14 -3
- package/dist/docs/reference/model.md +11 -11
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -1
- package/dist/docs/reference/text/VectorFont.md +22 -12
- package/dist/docs/reference/text/VectorFontOptions.md +7 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +7 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +8 -2
- package/dist/docs/reference/text/VectorTextOptions.md +7 -1
- package/dist/docs/reference/text/categories/font-preparation.md +7 -10
- package/dist/docs/reference/text/prepareVectorFont.md +9 -1
- package/dist/docs/reference/text.md +7 -1
- package/dist/engine/execution.js +5 -3
- package/dist/engine/finalization.js +6 -78
- package/dist/engine/index.js +11 -6
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/construction-mesh.js +51 -0
- package/dist/engine/native/context.js +10 -7
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +4 -53
- package/dist/engine/native/mesh-observation.js +55 -0
- package/dist/engine/native/regions.js +44 -23
- 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 +15 -6
- package/dist/engine/operations/cutters.js +112 -0
- package/dist/engine/operations/environment.js +2 -2
- package/dist/engine/operations/extrusion-finishing.js +56 -29
- package/dist/engine/operations/hole-cutter.js +125 -114
- package/dist/engine/operations/join-collar-profile.js +120 -0
- package/dist/engine/operations/join.js +521 -0
- 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 +87 -31
- package/dist/engine/session/declarations.js +98 -0
- package/dist/engine/session/dependencies.js +139 -39
- package/dist/engine/session/graph.js +290 -411
- package/dist/engine/session/native-cache.js +1 -1
- package/dist/engine/session/parameters.js +78 -0
- package/dist/engine/session/session.js +7 -7
- package/dist/engine/session/snapshot-cache.js +4 -4
- package/dist/engine/shape-anchors.js +13 -6
- package/dist/export/3mf.js +197 -0
- package/dist/export/capture.js +182 -0
- package/dist/export/glb.js +214 -0
- package/dist/export/index.js +5 -0
- package/dist/export/limits.js +18 -0
- package/dist/export/stl.js +120 -0
- package/dist/export/writer.js +54 -0
- package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
- package/dist/geometry/{bounds-value.js → bounds/value.js} +24 -20
- 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 +11 -7
- 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/mesh/join-layers.js +833 -0
- 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/render-buffers.js +220 -0
- package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
- package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +45 -17
- package/dist/geometry/mesh/{mesh-solid.js → solid.js} +10 -6
- 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 -10
- 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/regions/offset.js +280 -0
- package/dist/geometry/{regions.js → regions/operations.js} +70 -23
- 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/sweep/options.js +1 -0
- 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 +4 -2
- package/dist/model/immutable-generation-data.js +15 -13
- package/dist/model/join.js +1 -0
- package/dist/model/operations.js +150 -94
- package/dist/model/recipe-declaration.js +6 -7
- package/dist/model/shape-handles.js +1 -0
- package/dist/text/index.js +3 -0
- package/dist/text/vector-text-layout.js +1 -0
- package/package.json +20 -5
- package/dist/docs/reference/engine/Export3mfOptions.md +0 -46
- package/dist/docs/reference/engine/ExportMeshPart.md +0 -31
- package/dist/docs/reference/engine/ModelingLimits.md +0 -121
- package/dist/docs/reference/engine/export3mf.md +0 -55
- package/dist/docs/reference/geometry/BoxEdge.md +0 -7
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -14
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -15
- package/dist/docs/reference/geometry/BoxOptions.md +0 -87
- package/dist/docs/reference/geometry/CylinderOptions.md +0 -53
- package/dist/docs/reference/geometry/EndTreatments.md +0 -34
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -130
- package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -146
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +0 -18
- package/dist/docs/reference/geometry/HeightfieldOptions.md +0 -72
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +0 -58
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -19
- package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +0 -43
- package/dist/docs/reference/geometry/LoftCorrespondence.md +0 -24
- package/dist/docs/reference/geometry/LoftMeshStation.md +0 -31
- package/dist/docs/reference/geometry/LoftOptions.md +0 -88
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +0 -14
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +0 -160
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +0 -124
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +0 -194
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -29
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -104
- package/dist/docs/reference/geometry/RevolveOptions.md +0 -91
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +0 -38
- package/dist/docs/reference/geometry/SphereOptions.md +0 -15
- package/dist/docs/reference/geometry/SweepOptions.md +0 -113
- package/dist/docs/reference/geometry/SweepOrientation.md +0 -113
- package/dist/docs/reference/geometry/ThreadProfile-type.md +0 -86
- package/dist/docs/reference/geometry/ThreadedNutShape.md +0 -14
- package/dist/docs/reference/geometry/TorusOptions.md +0 -105
- package/dist/docs/reference/geometry/TriangleMesh.md +0 -34
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +0 -129
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +0 -79
- package/dist/docs/reference/geometry/TriangleMeshInput.md +0 -19
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +0 -79
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +0 -43
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +0 -194
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +0 -111
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +0 -46
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +0 -34
- package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +0 -131
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +0 -55
- package/dist/docs/reference/geometry/TubeOptions.md +0 -62
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +0 -58
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +0 -115
- package/dist/docs/reference/geometry/VectorTextOptions.md +0 -54
- package/dist/docs/reference/geometry/add2.md +0 -37
- package/dist/docs/reference/geometry/add3.md +0 -43
- package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -46
- package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -44
- package/dist/docs/reference/geometry/categories/meshes.md +0 -68
- package/dist/docs/reference/geometry/composeTransform3.md +0 -45
- package/dist/docs/reference/geometry/cross2.md +0 -37
- package/dist/docs/reference/geometry/cross3.md +0 -43
- package/dist/docs/reference/geometry/distance2.md +0 -37
- package/dist/docs/reference/geometry/distance3.md +0 -37
- package/dist/docs/reference/geometry/dot2.md +0 -37
- package/dist/docs/reference/geometry/dot3.md +0 -43
- package/dist/docs/reference/geometry/eulerTransform3.md +0 -43
- package/dist/docs/reference/geometry/frameTransform3.md +0 -49
- package/dist/docs/reference/geometry/inverseTransform3.md +0 -35
- package/dist/docs/reference/geometry/length2.md +0 -31
- package/dist/docs/reference/geometry/length3.md +0 -31
- package/dist/docs/reference/geometry/lerp2.md +0 -43
- package/dist/docs/reference/geometry/lerp3.md +0 -43
- package/dist/docs/reference/geometry/normalize2.md +0 -40
- package/dist/docs/reference/geometry/normalize3.md +0 -40
- package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -37
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +0 -78
- package/dist/docs/reference/geometry/rotate2.md +0 -37
- package/dist/docs/reference/geometry/rotationTransform3.md +0 -54
- package/dist/docs/reference/geometry/scale2.md +0 -37
- package/dist/docs/reference/geometry/scale3.md +0 -43
- package/dist/docs/reference/geometry/scaleTransform3.md +0 -39
- package/dist/docs/reference/geometry/subtract2.md +0 -37
- package/dist/docs/reference/geometry/subtract3.md +0 -43
- package/dist/docs/reference/geometry/transformDeterminant3.md +0 -37
- package/dist/docs/reference/geometry/translationTransform3.md +0 -36
- package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -35
- package/dist/docs/reference/geometry/validateTransform3.md +0 -48
- package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +0 -79
- package/dist/docs/reference/mesh/Bevel.md +0 -18
- package/dist/docs/reference/mesh/BevelSize.md +0 -14
- package/dist/docs/reference/mesh/Bounds2.md +0 -125
- package/dist/docs/reference/mesh/Bounds2Data.md +0 -43
- package/dist/docs/reference/mesh/Bounds2Input.md +0 -19
- package/dist/docs/reference/mesh/Bounds3.md +0 -125
- package/dist/docs/reference/mesh/Bounds3Data.md +0 -43
- package/dist/docs/reference/mesh/Bounds3Input.md +0 -19
- package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +0 -14
- package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +0 -97
- package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +0 -60
- package/dist/docs/reference/mesh/CurveSamplingOptions.md +0 -69
- package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +0 -77
- package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +0 -81
- package/dist/docs/reference/mesh/Frame3.md +0 -62
- package/dist/docs/reference/mesh/GeometryResolution.md +0 -74
- package/dist/docs/reference/mesh/GeometrySamplingLimits.md +0 -66
- package/dist/docs/reference/mesh/GeometryToleranceOptions.md +0 -46
- package/dist/docs/reference/mesh/HeightfieldOptions.md +0 -72
- package/dist/docs/reference/mesh/ImmutableBuffer.md +0 -108
- package/dist/docs/reference/mesh/LoftCorrespondence.md +0 -24
- package/dist/docs/reference/mesh/LoftOptions.md +0 -88
- package/dist/docs/reference/mesh/LoftPlacement.md +0 -70
- package/dist/docs/reference/mesh/ModelingLimits.md +0 -130
- package/dist/docs/reference/mesh/NumericArray.md +0 -14
- package/dist/docs/reference/mesh/Path2.md +0 -197
- package/dist/docs/reference/mesh/Path2Data.md +0 -50
- package/dist/docs/reference/mesh/Path2Input.md +0 -20
- package/dist/docs/reference/mesh/Path3.md +0 -197
- package/dist/docs/reference/mesh/Path3Data.md +0 -50
- package/dist/docs/reference/mesh/Path3Input.md +0 -20
- package/dist/docs/reference/mesh/PathLocation.md +0 -69
- package/dist/docs/reference/mesh/PathNormalGuide.md +0 -43
- package/dist/docs/reference/mesh/PathResamplingOptions.md +0 -84
- package/dist/docs/reference/mesh/Pivot2Options.md +0 -26
- package/dist/docs/reference/mesh/Pivot3Options.md +0 -26
- package/dist/docs/reference/mesh/RevolveOptions.md +0 -91
- package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +0 -79
- package/dist/docs/reference/mesh/SweepOptions.md +0 -113
- package/dist/docs/reference/mesh/SweepOrientation.md +0 -113
- package/dist/docs/reference/mesh/ThreadEndStyle.md +0 -14
- package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +0 -117
- package/dist/docs/reference/mesh/ThreadHandedness.md +0 -14
- package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +0 -14
- package/dist/docs/reference/mesh/ThreadLeadInShape.md +0 -14
- package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +0 -53
- package/dist/docs/reference/mesh/ThreadProfileSpec.md +0 -23
- package/dist/docs/reference/mesh/ThreadRidgeOptions.md +0 -145
- package/dist/docs/reference/mesh/ThreadSolidOptions.md +0 -222
- package/dist/docs/reference/mesh/ThreadSolidPreflight.md +0 -58
- package/dist/docs/reference/mesh/Transform2.md +0 -256
- package/dist/docs/reference/mesh/Transform2Data.md +0 -14
- package/dist/docs/reference/mesh/Transform2Input.md +0 -19
- package/dist/docs/reference/mesh/Transform3.md +0 -296
- package/dist/docs/reference/mesh/Transform3Data.md +0 -17
- package/dist/docs/reference/mesh/Transform3Input.md +0 -19
- package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +0 -96
- package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +0 -95
- package/dist/docs/reference/mesh/Vector2.md +0 -270
- package/dist/docs/reference/mesh/Vector2Data.md +0 -14
- package/dist/docs/reference/mesh/Vector2Input.md +0 -19
- package/dist/docs/reference/mesh/Vector3.md +0 -282
- package/dist/docs/reference/mesh/Vector3Data.md +0 -14
- package/dist/docs/reference/mesh/Vector3Input.md +0 -19
- package/dist/docs/reference/model/AcmeThreadProfileSpec.md +0 -80
- package/dist/docs/reference/model/Anchor3.md +0 -55
- package/dist/docs/reference/model/AttachOptions.md +0 -69
- package/dist/docs/reference/model/Bevel.md +0 -19
- package/dist/docs/reference/model/BevelSize.md +0 -15
- package/dist/docs/reference/model/Bounds2-type.md +0 -125
- package/dist/docs/reference/model/Bounds2Data.md +0 -44
- package/dist/docs/reference/model/Bounds2Input.md +0 -19
- package/dist/docs/reference/model/Bounds2Options.md +0 -110
- package/dist/docs/reference/model/Bounds3-type.md +0 -125
- package/dist/docs/reference/model/Bounds3Data.md +0 -44
- package/dist/docs/reference/model/Bounds3Input.md +0 -19
- package/dist/docs/reference/model/Bounds3Options.md +0 -110
- package/dist/docs/reference/model/ButtressPressureFlankSide.md +0 -15
- package/dist/docs/reference/model/ButtressThreadProfileSpec.md +0 -98
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
- package/dist/docs/reference/model/CircleContourOptions.md +0 -21
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -62
- package/dist/docs/reference/model/Computed.md +0 -44
- package/dist/docs/reference/model/ComputedValue.md +0 -24
- package/dist/docs/reference/model/Contour.md +0 -24
- package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
- package/dist/docs/reference/model/CorrespondingContour.md +0 -46
- package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
- package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
- package/dist/docs/reference/model/CurveSamplingOptions.md +0 -68
- package/dist/docs/reference/model/CustomThreadProfileSpec.md +0 -78
- package/dist/docs/reference/model/EdgeTreatment.md +0 -22
- package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
- package/dist/docs/reference/model/ExtrudeMeshOptions.md +0 -133
- package/dist/docs/reference/model/ExtrusionSamplingOptions.md +0 -84
- package/dist/docs/reference/model/Frame3.md +0 -63
- package/dist/docs/reference/model/GeometryError.md +0 -102
- package/dist/docs/reference/model/GeometryErrorCode.md +0 -15
- package/dist/docs/reference/model/GeometryErrorContext.md +0 -35
- package/dist/docs/reference/model/GeometryResolution.md +0 -70
- package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
- package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
- package/dist/docs/reference/model/GridPatternOptions.md +0 -50
- package/dist/docs/reference/model/HoleCutterOverrun.md +0 -35
- package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -108
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -43
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -216
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
- package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
- package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
- package/dist/docs/reference/model/LoftPlacement.md +0 -73
- package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
- package/dist/docs/reference/model/ModelingLimits.md +0 -126
- package/dist/docs/reference/model/NumericArray.md +0 -14
- package/dist/docs/reference/model/Path2-type.md +0 -196
- package/dist/docs/reference/model/Path2Data.md +0 -50
- package/dist/docs/reference/model/Path2Input.md +0 -20
- package/dist/docs/reference/model/Path3-type.md +0 -196
- package/dist/docs/reference/model/Path3Data.md +0 -50
- package/dist/docs/reference/model/Path3Input.md +0 -20
- package/dist/docs/reference/model/PathLocation.md +0 -69
- package/dist/docs/reference/model/PathNormalGuide.md +0 -46
- package/dist/docs/reference/model/PathOptions.md +0 -38
- package/dist/docs/reference/model/PathPatternOptions.md +0 -48
- package/dist/docs/reference/model/PathResamplingOptions.md +0 -84
- package/dist/docs/reference/model/Pivot2Options.md +0 -28
- package/dist/docs/reference/model/Pivot3Options.md +0 -28
- package/dist/docs/reference/model/PolygonData.md +0 -44
- package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
- package/dist/docs/reference/model/Profile.md +0 -24
- package/dist/docs/reference/model/ProfileComponent2.md +0 -46
- package/dist/docs/reference/model/ProfileContour2.md +0 -36
- package/dist/docs/reference/model/ProfileSpan2.md +0 -47
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
- package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
- package/dist/docs/reference/model/RadialSizing.md +0 -15
- package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
- package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
- package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
- package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
- package/dist/docs/reference/model/RegionData.md +0 -19
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
- package/dist/docs/reference/model/SquareThreadProfileSpec.md +0 -80
- package/dist/docs/reference/model/StarContourOptions.md +0 -81
- package/dist/docs/reference/model/StrokeCap.md +0 -16
- package/dist/docs/reference/model/StrokeJoin.md +0 -16
- package/dist/docs/reference/model/StrokeOptions.md +0 -91
- package/dist/docs/reference/model/ThreadBevelOptions.md +0 -35
- package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
- package/dist/docs/reference/model/ThreadHandedness.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
- package/dist/docs/reference/model/ThreadProfile.md +0 -87
- package/dist/docs/reference/model/ThreadProfileBaseSpec.md +0 -54
- package/dist/docs/reference/model/ThreadProfileSpec.md +0 -24
- package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -141
- package/dist/docs/reference/model/ThreadSolidPreflight.md +0 -59
- package/dist/docs/reference/model/ThreadedNutOptions.md +0 -263
- package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -111
- package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
- package/dist/docs/reference/model/ThreadedRodOptions.md +0 -216
- package/dist/docs/reference/model/Transform2-type.md +0 -257
- package/dist/docs/reference/model/Transform2Data.md +0 -16
- package/dist/docs/reference/model/Transform2Input.md +0 -21
- package/dist/docs/reference/model/Transform3-type.md +0 -297
- package/dist/docs/reference/model/Transform3Data.md +0 -19
- package/dist/docs/reference/model/Transform3Input.md +0 -21
- package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +0 -97
- package/dist/docs/reference/model/TriangleMesh.md +0 -34
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -129
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
- package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +0 -131
- package/dist/docs/reference/model/TriangularThreadProfileSpec.md +0 -96
- package/dist/docs/reference/model/Vector2-type.md +0 -271
- package/dist/docs/reference/model/Vector2Data.md +0 -15
- package/dist/docs/reference/model/Vector2Input.md +0 -21
- package/dist/docs/reference/model/Vector3-type.md +0 -283
- package/dist/docs/reference/model/Vector3Data.md +0 -15
- package/dist/docs/reference/model/Vector3Input.md +0 -21
- package/dist/docs/reference/model/VectorTextLayout.md +0 -40
- package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
- package/dist/docs/reference/model/bounds2.md +0 -37
- package/dist/docs/reference/model/bounds3.md +0 -37
- package/dist/docs/reference/model/categories/bounds.md +0 -38
- package/dist/docs/reference/model/categories/contracts.md +0 -16
- package/dist/docs/reference/model/categories/core-values-errors.md +0 -44
- package/dist/docs/reference/model/categories/explicit-profiles.md +0 -34
- package/dist/docs/reference/model/categories/paths.md +0 -42
- package/dist/docs/reference/model/categories/resolution.md +0 -20
- package/dist/docs/reference/model/immutableBuffer.md +0 -49
- package/dist/docs/reference/model/isGeometryError.md +0 -34
- package/dist/docs/reference/model/matchProfiles.md +0 -42
- package/dist/docs/reference/model/path2.md +0 -54
- package/dist/docs/reference/model/path3.md +0 -49
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -87
- package/dist/docs/reference/model/preflightThreadedNut.md +0 -103
- package/dist/docs/reference/model/preflightThreadedRod.md +0 -87
- package/dist/docs/reference/model/transform2.md +0 -46
- package/dist/docs/reference/model/transform3.md +0 -48
- package/dist/docs/reference/model/vector2.md +0 -40
- package/dist/docs/reference/model/vector3.md +0 -47
- package/dist/docs/reference/text/Bounds2Data.md +0 -34
- package/dist/docs/reference/text/Vector2Data.md +0 -7
- package/dist/docs/reference/text/VectorTextLayout.md +0 -34
- package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
- package/dist/engine/export-3mf.js +0 -23
- package/dist/engine/operations/patterns.js +0 -47
- package/dist/engine/serialize-3mf.js +0 -116
- 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/mesh/mesh-types.js → export/types.js} +0 -0
- /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/{primitive-options.js → mesh/types.js} +0 -0
- /package/dist/{engine/mesh-view-cache.js → geometry/mesh/view-cache.js} +0 -0
- /package/dist/geometry/{text-layout.js → primitives/options.js} +0 -0
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Vectors, transforms, and attachment
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Calculate with immutable values and place geometry using frames and anchors.
|
|
4
4
|
|
|
5
|
-
Use
|
|
5
|
+
Use vector2/vector3 and transform2/transform3 for immutable authoring. Vector operands accept values or coordinate tuples; calculations return values and measurements return numbers. Bounds extrema and placement algorithms also return fluent values.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- **Order and units:** rotations use degrees and optional `{ pivot }` points in world coordinates. Calls and `andThen()` composition apply in execution order.
|
|
9
|
-
- **Transformed values:** points include translation; directions exclude it and retain scale; normals use inverse-transpose normalization. Shape methods and path helpers accept matching transforms.
|
|
10
|
-
- **Interchange:** `toData()` returns `Vector2Data`/`Vector3Data` tuples or `Transform2Data`/`Transform3Data` matrices. `to3D()`/`to2D()` convert dimensions explicitly; XY restriction requires a preserved plane.
|
|
11
|
-
- **Low-level work:** tuple kernels avoid fluent object allocation in hot loops. Matrix constructors support interoperability. `rotationTransform3` requires an explicit degrees or radians object; `composeTransform3(after, before)` applies `before` first.
|
|
7
|
+
Calls and andThen composition apply in written order. Angles use degrees; optional pivot points use world coordinates. applyPoint includes translation, applyDirection excludes it and retains scale, and applyNormal applies inverse-transpose normalization.
|
|
12
8
|
|
|
13
|
-
|
|
9
|
+
frame3 and anchor3 create validated frozen plain descriptors. Pass a Frame3 directly wherever Transform3Input is accepted, or call transform3(frame) for affine methods. attachmentTransform3 returns a reusable Transform3.
|
|
10
|
+
|
|
11
|
+
Use /geometry/math for tuple arithmetic and matrix kernels.
|
|
14
12
|
|
|
15
13
|
## Functions
|
|
16
14
|
|
|
@@ -20,22 +18,11 @@ Attachment matches source and target frames. You choose physical clearance.
|
|
|
20
18
|
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
|
|
21
19
|
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
22
20
|
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
23
|
-
| [applyTransformDirection3](../applyTransformDirection3.md) | Applies only the linear component of an affine transform to a direction. |
|
|
24
|
-
| [applyTransformPoint3](../applyTransformPoint3.md) | Applies an affine transform to a point, including translation. |
|
|
25
21
|
| [attachmentTransform3](../attachmentTransform3.md) | Builds the transform that moves a source anchor onto a target anchor. |
|
|
26
22
|
| [boxAnchor3](../boxAnchor3.md) | Creates an outward face-center anchor using the same local origin convention as box(). |
|
|
27
|
-
| [composeTransform3](../composeTransform3.md) | Composes two affine transforms without mutating either matrix. |
|
|
28
23
|
| [anchor3](../anchor3.md) | Constructs a normalized immutable attachment anchor. |
|
|
29
24
|
| [cylinderAnchor3](../cylinderAnchor3.md) | Creates a cap-center or radial-side anchor using cylinder()'s construction origin. |
|
|
30
|
-
| [
|
|
31
|
-
| [frameTransform3](../frameTransform3.md) | Converts a right-handed orthonormal frame into a local-to-world transform. |
|
|
32
|
-
| [inverseTransform3](../inverseTransform3.md) | Inverts a finite, non-singular affine transform. |
|
|
33
|
-
| [rotationTransform3](../rotationTransform3.md) | Creates a right-handed axis-angle rotation transform. |
|
|
34
|
-
| [scaleTransform3](../scaleTransform3.md) | Creates an immutable axis-aligned scale transform. |
|
|
35
|
-
| [transformDeterminant3](../transformDeterminant3.md) | Returns the determinant of a transform's linear 3x3 component. |
|
|
36
|
-
| [translationTransform3](../translationTransform3.md) | Creates an immutable translation transform. |
|
|
37
|
-
| [validateRigidTransform3](../validateRigidTransform3.md) | Validates a proper rigid transform: finite translation and a right-handed orthonormal rotation. Scale, shear, reflection, and perspective are rejected within the default angular tolerance. Returns the original row-major 4x4 matrix without copying or normalizing it. |
|
|
38
|
-
| [validateTransform3](../validateTransform3.md) | Validates that a transform is finite, affine, and non-singular. |
|
|
25
|
+
| [frame3](../frame3.md) | Creates a copied, deeply frozen plain coordinate frame in world space. Axes must be right-handed, unit length, and mutually orthogonal. Only accepted numerical roundoff is normalized; scale, shear, reflection, and materially invalid bases reject. Frames are placement inputs; use transform3(frame) when affine methods are needed. |
|
|
39
26
|
|
|
40
27
|
## Interfaces
|
|
41
28
|
|
|
@@ -51,16 +38,18 @@ Attachment matches source and target frames. You choose physical clearance.
|
|
|
51
38
|
| [AttachOptions](../AttachOptions.md) | Options controlling how one anchor is attached to another. |
|
|
52
39
|
| [BoxAnchorOptions](../BoxAnchorOptions.md) | Box dimensions and construction origin for one named face anchor. |
|
|
53
40
|
| [CylinderAnchorOptions](../CylinderAnchorOptions.md) | Cylinder dimensions and construction origin for one named face anchor. |
|
|
41
|
+
| [Frame3](../Frame3-type.md) | A right-handed orthonormal coordinate frame expressed in world coordinates. |
|
|
42
|
+
| [Frame3Options](../Frame3Options.md) | An origin in millimetres and a right-handed orthonormal basis in world coordinates. |
|
|
43
|
+
| [Anchor3Options](../Anchor3Options.md) | Attachment position in millimetres and orientation guides in local coordinates. |
|
|
54
44
|
|
|
55
45
|
## Type aliases
|
|
56
46
|
|
|
57
47
|
| API | Summary |
|
|
58
48
|
| --- | --- |
|
|
59
49
|
| [Transform2Input](../Transform2Input.md) | An immutable XY transform or its canonical row-major matrix for interchange. |
|
|
60
|
-
| [Transform3Input](../Transform3Input.md) | An immutable XYZ transform
|
|
50
|
+
| [Transform3Input](../Transform3Input.md) | An immutable XYZ transform, canonical row-major matrix, or right-handed orthonormal frame. |
|
|
61
51
|
| [Vector2Input](../Vector2Input.md) | An XY tuple or immutable fluent vector accepted by vector operations. |
|
|
62
52
|
| [Vector3Input](../Vector3Input.md) | An XYZ tuple or immutable fluent vector accepted by vector operations. |
|
|
63
|
-
| [AxisAngleRotation3](../AxisAngleRotation3.md) | One explicitly unit-labelled right-handed axis-angle rotation. |
|
|
64
53
|
| [BoxAnchorFace](../BoxAnchorFace.md) | Named face on an axis-aligned box. |
|
|
65
54
|
| [CylinderAnchorFace](../CylinderAnchorFace.md) | Named face on a cylinder parallel to +Z. |
|
|
66
55
|
| [Transform2Data](../Transform2Data.md) | A row-major affine 3x3 XY matrix applied to column vectors. Translation occupies indices 2 and 5; the final row is `[0, 0, 1]`. |
|
|
@@ -68,35 +57,15 @@ Attachment matches source and target frames. You choose physical clearance.
|
|
|
68
57
|
| [Vector2Data](../Vector2Data.md) | A two-dimensional Cartesian vector or point. |
|
|
69
58
|
| [Vector3Data](../Vector3Data.md) | A three-dimensional Cartesian vector or point. |
|
|
70
59
|
|
|
71
|
-
##
|
|
60
|
+
## Guides
|
|
72
61
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
| [add2](../add2.md) | Adds two finite XY vectors component-wise. |
|
|
76
|
-
| [add3](../add3.md) | Adds two finite XYZ vectors component-wise. |
|
|
77
|
-
| [cross3](../cross3.md) | Returns the right-handed cross product. |
|
|
78
|
-
| [cross2](../cross2.md) | Returns the signed scalar cross product; positive means `b` is counter-clockwise from `a`. |
|
|
79
|
-
| [distance2](../distance2.md) | Returns Euclidean point distance without allocating an intermediate difference vector. |
|
|
80
|
-
| [distance3](../distance3.md) | Returns Euclidean point distance without allocating an intermediate difference vector. |
|
|
81
|
-
| [dot3](../dot3.md) | Returns the scalar dot product. |
|
|
82
|
-
| [dot2](../dot2.md) | Returns the scalar dot product. |
|
|
83
|
-
| [IDENTITY_TRANSFORM3](../IDENTITY_TRANSFORM3.md) | Identity transform, safe to share because it is frozen. |
|
|
84
|
-
| [length3](../length3.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
85
|
-
| [length2](../length2.md) | Returns Euclidean vector length in the vector's coordinate units. |
|
|
86
|
-
| [lerp3](../lerp3.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
87
|
-
| [lerp2](../lerp2.md) | Linearly interpolates two vectors; `t` is dimensionless and may extrapolate. |
|
|
88
|
-
| [normalize3](../normalize3.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). |
|
|
89
|
-
| [normalize2](../normalize2.md) | Returns a unit vector; `epsilon` is a finite, non-negative length threshold (default `1e-12`). |
|
|
90
|
-
| [projectOntoPlane3](../projectOntoPlane3.md) | Removes the component parallel to a normalized plane normal. |
|
|
91
|
-
| [rotate2](../rotate2.md) | Rotates a finite vector counter-clockwise in XY by `degrees` about the origin. Throws `NON_FINITE_VALUE` for nonfinite coordinates, angles, or derived coordinates. |
|
|
92
|
-
| [scale3](../scale3.md) | Multiplies a vector by a dimensionless scalar. |
|
|
93
|
-
| [scale2](../scale2.md) | Multiplies a vector by a dimensionless scalar. |
|
|
94
|
-
| [subtract3](../subtract3.md) | Subtracts `b` from `a`. |
|
|
95
|
-
| [subtract2](../subtract2.md) | Subtracts `b` from `a` component-wise. |
|
|
62
|
+
- [Reusable transforms and vector math](../../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
63
|
+
- [Fluent values and tuple kernels](../../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
96
64
|
|
|
97
|
-
##
|
|
65
|
+
## Import
|
|
98
66
|
|
|
99
|
-
|
|
100
|
-
|
|
67
|
+
```ts
|
|
68
|
+
import * as geometry from "@metamesh/modeling/geometry";
|
|
69
|
+
```
|
|
101
70
|
|
|
102
|
-
Package: `@metamesh/modeling@0.
|
|
71
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -23,10 +23,7 @@ Font preparation belongs to the optional text entry point, outside pure parsing
|
|
|
23
23
|
| [SvgImportOptions](../SvgImportOptions.md) | Sampling controls for deterministic SVG-to-region conversion. |
|
|
24
24
|
| [SvgRegionPreflight](../SvgRegionPreflight.md) | Normalized sampled SVG region plus bounded source, geometry, and safe-repair diagnostics. |
|
|
25
25
|
| [SvgRegionPreflightRepairs](../SvgRegionPreflightRepairs.md) | Visible, appearance-preserving cleanup counters from bounded SVG import. |
|
|
26
|
-
| [VectorTextArcBaseline](../VectorTextArcBaseline.md) | A circular baseline centered at the XY origin, with rigid shaped glyph groups. |
|
|
27
26
|
| [VectorTextLayout](../VectorTextLayout.md) | Immutable vector layout with no browser, font parser, or kernel ownership. |
|
|
28
|
-
| [VectorTextLayoutOptions](../VectorTextLayoutOptions.md) | Text bounded to 512 UTF-16 units: horizontal lines or one circular line without wrapping. |
|
|
29
|
-
| [VectorTextOptions](../VectorTextOptions.md) | Shaping controls for a prepared exact font face; all lengths are in millimetres. |
|
|
30
27
|
| [SvgRegionPreflightGeometryMetrics](../SvgRegionPreflightGeometryMetrics.md) | Physical and final-topology facts for a normalized imported SVG region. |
|
|
31
28
|
| [SvgRegionPreflightSourceMetrics](../SvgRegionPreflightSourceMetrics.md) | Bounded source-complexity facts collected while parsing one SVG document. |
|
|
32
29
|
| [VectorTextMetrics](../VectorTextMetrics.md) | Text measurements from the same immutable layout that supplies geometry and SVG outlines. |
|
|
@@ -41,6 +38,12 @@ Font preparation belongs to the optional text entry point, outside pure parsing
|
|
|
41
38
|
|
|
42
39
|
## Guides
|
|
43
40
|
|
|
44
|
-
- [SVG preflight work and guarantees](../../../guides/
|
|
41
|
+
- [SVG preflight work and guarantees](../../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
45
42
|
|
|
46
|
-
|
|
43
|
+
## Import
|
|
44
|
+
|
|
45
|
+
```ts
|
|
46
|
+
import * as geometry from "@metamesh/modeling/geometry";
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -32,6 +32,12 @@ circleContour({ diameter: 20, segments: 32 });
|
|
|
32
32
|
|
|
33
33
|
## Guides
|
|
34
34
|
|
|
35
|
-
- [Choose a geometry representation](../../guides/
|
|
35
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
## Import
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import { circleContour } from "@metamesh/modeling/geometry";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -17,12 +17,16 @@ This is a solid-body closure, not a hollow-wall or mounting-bore construction.
|
|
|
17
17
|
|
|
18
18
|
**`side`** · readonly [`Vector2Data`](Vector2Data.md)[] · Required
|
|
19
19
|
|
|
20
|
+
[radius, height] points in millimetres, with increasing heights.
|
|
21
|
+
|
|
20
22
|
|
|
21
23
|
|
|
22
24
|
<a id="limits"></a>
|
|
23
25
|
|
|
24
26
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
25
27
|
|
|
28
|
+
Point limits, including any added axis endpoints.
|
|
29
|
+
|
|
26
30
|
|
|
27
31
|
|
|
28
32
|
## Returns
|
|
@@ -38,6 +42,12 @@ This is a solid-body closure, not a hollow-wall or mounting-bore construction.
|
|
|
38
42
|
|
|
39
43
|
## Guides
|
|
40
44
|
|
|
41
|
-
- [Choose a geometry representation](../../guides/
|
|
45
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
46
|
+
|
|
47
|
+
## Import
|
|
48
|
+
|
|
49
|
+
```ts
|
|
50
|
+
import { closeToAxis } from "@metamesh/modeling/geometry";
|
|
51
|
+
```
|
|
42
52
|
|
|
43
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -9,9 +9,6 @@ Builds rotation-minimizing frames for a non-duplicated closed path.
|
|
|
9
9
|
Centered cyclic tangents are parallel-transported around the loop. Transporting the last
|
|
10
10
|
normal back to the first tangent measures seam holonomy; distributing that residual rotation
|
|
11
11
|
uniformly over all path intervals avoids a visible seam or accumulated frame flip.
|
|
12
|
-
The maxPathPoints ceiling (default 100000) bounds path points and frames.
|
|
13
|
-
Requires closed path values; raw tuples are interpreted as closed and must omit their seam point.
|
|
14
|
-
Invalid paths throw GeometryError.
|
|
15
12
|
Nonfinite initial normals reject; finite parallel preferences select a canonical fallback.
|
|
16
13
|
|
|
17
14
|
## Parameters
|
|
@@ -20,18 +17,24 @@ Nonfinite initial normals reject; finite parallel preferences select a canonical
|
|
|
20
17
|
|
|
21
18
|
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
22
19
|
|
|
20
|
+
Closed XYZ path or points in millimetres, with no repeated seam.
|
|
21
|
+
|
|
23
22
|
|
|
24
23
|
|
|
25
24
|
<a id="initialnormal"></a>
|
|
26
25
|
|
|
27
26
|
**`initialNormal`** · [`Vector3Input`](Vector3Input.md) · Optional
|
|
28
27
|
|
|
28
|
+
Preferred profile X direction at the seam.
|
|
29
|
+
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
<a id="limits"></a>
|
|
32
33
|
|
|
33
34
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
34
35
|
|
|
36
|
+
Limits on input points and output frames.
|
|
37
|
+
|
|
35
38
|
|
|
36
39
|
|
|
37
40
|
## Returns
|
|
@@ -48,6 +51,12 @@ readonly [`PathFrame`](PathFrame.md)[]
|
|
|
48
51
|
|
|
49
52
|
## Guides
|
|
50
53
|
|
|
51
|
-
- [Path queries and closure-preserving interchange](../../guides/
|
|
54
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
55
|
+
|
|
56
|
+
## Import
|
|
57
|
+
|
|
58
|
+
```ts
|
|
59
|
+
import { computeClosedParallelTransportFrames } from "@metamesh/modeling/geometry";
|
|
60
|
+
```
|
|
52
61
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
62
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -7,9 +7,8 @@ Builds rotation-minimizing frames by parallel-transporting the previous normal.
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
This avoids the sudden profile flips produced by picking a fresh up-vector per ring.
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Nonfinite normals and guide results reject. A finite initial guide parallel to the tangent selects a canonical fallback.
|
|
10
|
+
Nonfinite guides and unusable path tangents throw GeometryError. A finite initial guide
|
|
11
|
+
parallel to the tangent selects a canonical fallback.
|
|
13
12
|
|
|
14
13
|
## Parameters
|
|
15
14
|
|
|
@@ -17,24 +16,32 @@ Nonfinite normals and guide results reject. A finite initial guide parallel to t
|
|
|
17
16
|
|
|
18
17
|
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
19
18
|
|
|
19
|
+
Open XYZ path or points in millimetres; at least two points.
|
|
20
|
+
|
|
20
21
|
|
|
21
22
|
|
|
22
23
|
<a id="initialnormal"></a>
|
|
23
24
|
|
|
24
25
|
**`initialNormal`** · [`Vector3Input`](Vector3Input.md) · Optional
|
|
25
26
|
|
|
27
|
+
Preferred starting X direction; the first normalGuide result wins.
|
|
28
|
+
|
|
26
29
|
|
|
27
30
|
|
|
28
31
|
<a id="normalguide"></a>
|
|
29
32
|
|
|
30
33
|
**`normalGuide`** · [`PathNormalGuide`](PathNormalGuide.md) · Optional
|
|
31
34
|
|
|
35
|
+
Profile X guide at each point; its sign follows the transported normal.
|
|
36
|
+
|
|
32
37
|
|
|
33
38
|
|
|
34
39
|
<a id="limits"></a>
|
|
35
40
|
|
|
36
41
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
37
42
|
|
|
43
|
+
Point limits, checked before creating frames or calling guides.
|
|
44
|
+
|
|
38
45
|
|
|
39
46
|
|
|
40
47
|
## Returns
|
|
@@ -52,6 +59,12 @@ readonly [`PathFrame`](PathFrame.md)[]
|
|
|
52
59
|
|
|
53
60
|
## Guides
|
|
54
61
|
|
|
55
|
-
- [Path queries and closure-preserving interchange](../../guides/
|
|
62
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
63
|
+
|
|
64
|
+
## Import
|
|
65
|
+
|
|
66
|
+
```ts
|
|
67
|
+
import { computeParallelTransportFrames } from "@metamesh/modeling/geometry";
|
|
68
|
+
```
|
|
56
69
|
|
|
57
|
-
Package: `@metamesh/modeling@0.
|
|
70
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -12,12 +12,16 @@ Returns true when a point lies inside or on the boundary of a loop.
|
|
|
12
12
|
|
|
13
13
|
**`loop`** · [`Contour`](Contour.md) · Required
|
|
14
14
|
|
|
15
|
+
Simple XY loop with either winding.
|
|
16
|
+
|
|
15
17
|
|
|
16
18
|
|
|
17
19
|
<a id="point"></a>
|
|
18
20
|
|
|
19
21
|
**`point`** · [`Vector2Data`](Vector2Data.md) · Required
|
|
20
22
|
|
|
23
|
+
Query in the loop's coordinate system.
|
|
24
|
+
|
|
21
25
|
|
|
22
26
|
|
|
23
27
|
## Returns
|
|
@@ -32,6 +36,12 @@ Returns true when a point lies inside or on the boundary of a loop.
|
|
|
32
36
|
|
|
33
37
|
## Guides
|
|
34
38
|
|
|
35
|
-
- [Choose a geometry representation](../../guides/
|
|
39
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
40
|
+
|
|
41
|
+
## Import
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
import { contourContainsPoint } from "@metamesh/modeling/geometry";
|
|
45
|
+
```
|
|
36
46
|
|
|
37
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -26,7 +26,7 @@ Creates a cap-center or radial-side anchor using cylinder()'s construction origi
|
|
|
26
26
|
|
|
27
27
|
- [`angle`](CylinderAnchorOptions.md#angle) · `number` · Optional
|
|
28
28
|
|
|
29
|
-
Side angle
|
|
29
|
+
Side angle counterclockwise from +X, in degrees; defaults to zero.
|
|
30
30
|
|
|
31
31
|
- [`center`](CylinderAnchorOptions.md#center) · `boolean` · Optional
|
|
32
32
|
|
|
@@ -44,7 +44,7 @@ Creates a cap-center or radial-side anchor using cylinder()'s construction origi
|
|
|
44
44
|
|
|
45
45
|
## Remarks
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
Cylinders use the local Z axis. Side angle uses degrees;
|
|
48
48
|
origin applies an explicit translation, and arbitrary component transforms remain explicit.
|
|
49
49
|
|
|
50
50
|
|
|
@@ -55,7 +55,13 @@ origin applies an explicit translation, and arbitrary component transforms remai
|
|
|
55
55
|
|
|
56
56
|
## Guides
|
|
57
57
|
|
|
58
|
-
- [Reusable transforms and vector math](../../guides/
|
|
59
|
-
- [Fluent values and tuple kernels](../../guides/
|
|
58
|
+
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
59
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
60
60
|
|
|
61
|
-
|
|
61
|
+
## Import
|
|
62
|
+
|
|
63
|
+
```ts
|
|
64
|
+
import { cylinderAnchor3 } from "@metamesh/modeling/geometry";
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -13,6 +13,12 @@ Conservative defaults; trusted callers can supply larger explicit ceilings.
|
|
|
13
13
|
|
|
14
14
|
## Guides
|
|
15
15
|
|
|
16
|
-
- [Path queries and closure-preserving interchange](../../guides/
|
|
16
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
## Import
|
|
19
|
+
|
|
20
|
+
```ts
|
|
21
|
+
import { defaultGeometrySamplingLimits } from "@metamesh/modeling/geometry";
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
# distributeAlongPath
|
|
2
2
|
|
|
3
|
-
Places an exact item count at equal arc-length intervals along a sampled path.
|
|
3
|
+
Places an exact item count at equal arc-length intervals along a sampled XYZ path.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**distributeAlongPath**(`input`: [`Path3Input`](Path3Input.md), `count`: `number`, `closed?`: `boolean`, `limits?`: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>): readonly [`PathPlacement`](PathPlacement.md)[]
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
limited by maxPathPoints (default 100000); exact counts exceeding that ceiling reject before length calculation.
|
|
13
|
-
Closure defaults to the path value's metadata, or false for tuples. An explicit conflicting closure rejects.
|
|
14
|
-
Invalid arguments and degenerate paths throw GeometryError.
|
|
9
|
+
Open paths retain both endpoints when count exceeds one; closed paths omit the seam endpoint.
|
|
10
|
+
Zero-length edges are skipped. Invalid counts, repeated closed seams, nonfinite lengths,
|
|
11
|
+
zero-length paths, and exhausted budgets throw GeometryError.
|
|
15
12
|
|
|
16
13
|
## Parameters
|
|
17
14
|
|
|
@@ -19,24 +16,32 @@ Invalid arguments and degenerate paths throw GeometryError.
|
|
|
19
16
|
|
|
20
17
|
**`input`** · [`Path3Input`](Path3Input.md) · Required
|
|
21
18
|
|
|
19
|
+
XYZ path or points in millimetres.
|
|
20
|
+
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
<a id="count"></a>
|
|
25
24
|
|
|
26
25
|
**`count`** · `number` · Required
|
|
27
26
|
|
|
27
|
+
Positive placement count; one selects the path start.
|
|
28
|
+
|
|
28
29
|
|
|
29
30
|
|
|
30
31
|
<a id="closed"></a>
|
|
31
32
|
|
|
32
33
|
**`closed`** · `boolean` · Optional
|
|
33
34
|
|
|
35
|
+
Raw-point closure, false by default; must match a path value.
|
|
36
|
+
|
|
34
37
|
|
|
35
38
|
|
|
36
39
|
<a id="limits"></a>
|
|
37
40
|
|
|
38
41
|
**`limits`** · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
39
42
|
|
|
43
|
+
Limits on input points and output placements.
|
|
44
|
+
|
|
40
45
|
|
|
41
46
|
|
|
42
47
|
## Returns
|
|
@@ -52,6 +57,12 @@ readonly [`PathPlacement`](PathPlacement.md)[]
|
|
|
52
57
|
|
|
53
58
|
## Guides
|
|
54
59
|
|
|
55
|
-
- [Path queries and closure-preserving interchange](../../guides/
|
|
60
|
+
- [Path queries and closure-preserving interchange](../../guides/geometry-values.md#keep-path-closure-and-traversal)
|
|
61
|
+
|
|
62
|
+
## Import
|
|
63
|
+
|
|
64
|
+
```ts
|
|
65
|
+
import { distributeAlongPath } from "@metamesh/modeling/geometry";
|
|
66
|
+
```
|
|
56
67
|
|
|
57
|
-
Package: `@metamesh/modeling@0.
|
|
68
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -32,6 +32,12 @@ ellipseContour({ size: [30, 20] });
|
|
|
32
32
|
|
|
33
33
|
## Guides
|
|
34
34
|
|
|
35
|
-
- [Choose a geometry representation](../../guides/
|
|
35
|
+
- [Choose a geometry representation](../../guides/geometry-values.md#material-boundaries-and-matching-profiles)
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
## Import
|
|
38
|
+
|
|
39
|
+
```ts
|
|
40
|
+
import { ellipseContour } from "@metamesh/modeling/geometry";
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -18,12 +18,16 @@ Fits XY bounds uniformly and centers them in the target; zero source axes do not
|
|
|
18
18
|
|
|
19
19
|
**`source`** · [`Bounds2Data`](Bounds2Data.md) · Required
|
|
20
20
|
|
|
21
|
+
Source bounds in millimetres, with at least one positive extent.
|
|
22
|
+
|
|
21
23
|
|
|
22
24
|
|
|
23
25
|
<a id="target"></a>
|
|
24
26
|
|
|
25
27
|
**`target`** · [`Bounds2Data`](Bounds2Data.md) · Required
|
|
26
28
|
|
|
29
|
+
Target bounds in the same dimension and coordinate system.
|
|
30
|
+
|
|
27
31
|
|
|
28
32
|
|
|
29
33
|
<a id="options"></a>
|
|
@@ -56,12 +60,16 @@ Fits XYZ bounds uniformly and centers them in the target; zero source axes do no
|
|
|
56
60
|
|
|
57
61
|
**`source`** · [`Bounds3Data`](Bounds3Data.md) · Required
|
|
58
62
|
|
|
63
|
+
Source bounds in millimetres, with at least one positive extent.
|
|
64
|
+
|
|
59
65
|
|
|
60
66
|
|
|
61
67
|
<a id="target-1"></a>
|
|
62
68
|
|
|
63
69
|
**`target`** · [`Bounds3Data`](Bounds3Data.md) · Required
|
|
64
70
|
|
|
71
|
+
Target bounds in the same dimension and coordinate system.
|
|
72
|
+
|
|
65
73
|
|
|
66
74
|
|
|
67
75
|
<a id="options-1"></a>
|
|
@@ -89,8 +97,14 @@ Fits XYZ bounds uniformly and centers them in the target; zero source axes do no
|
|
|
89
97
|
|
|
90
98
|
## Guides
|
|
91
99
|
|
|
92
|
-
- [Measure and compare bounds](../../guides/
|
|
93
|
-
- [Text from a Font parameter](../../guides/
|
|
94
|
-
- [Solid inspection](../../guides/
|
|
100
|
+
- [Measure and compare bounds](../../guides/transforms-and-placement.md#measure-and-compare-bounds)
|
|
101
|
+
- [Text from a Font parameter](../../guides/svg-and-text.md#text-from-a-font-parameter)
|
|
102
|
+
- [Solid inspection](../../guides/resolution-and-inspection.md#solid-inspection)
|
|
103
|
+
|
|
104
|
+
## Import
|
|
105
|
+
|
|
106
|
+
```ts
|
|
107
|
+
import { fitBounds } from "@metamesh/modeling/geometry";
|
|
108
|
+
```
|
|
95
109
|
|
|
96
|
-
Package: `@metamesh/modeling@0.
|
|
110
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Uniformly fits visible text ink inside finite XY bounds, centering it on the target.
|
|
4
4
|
|
|
5
|
-
**fitTextLayout**(`layout`: [`VectorTextLayout`](VectorTextLayout.md), `target`: [`
|
|
5
|
+
**fitTextLayout**(`layout`: [`VectorTextLayout`](VectorTextLayout.md), `target`: [`Bounds2Input`](Bounds2Input.md), `options?`: [`BoundsFitOptions`](BoundsFitOptions.md)): [`FittedTextLayout`](FittedTextLayout.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -22,7 +22,7 @@ Prepared nonempty vector text with positive visible width and height.
|
|
|
22
22
|
|
|
23
23
|
<a id="target"></a>
|
|
24
24
|
|
|
25
|
-
**`target`** · [`
|
|
25
|
+
**`target`** · [`Bounds2Input`](Bounds2Input.md) · Required
|
|
26
26
|
|
|
27
27
|
Positioned available bounds in millimetres; both extents must be positive.
|
|
28
28
|
|
|
@@ -53,13 +53,19 @@ A deeply immutable layout with transformed paths, ink bounds, and physical metri
|
|
|
53
53
|
|
|
54
54
|
## Related APIs
|
|
55
55
|
|
|
56
|
-
- [
|
|
56
|
+
- [Bounds2Input](Bounds2Input.md)
|
|
57
57
|
- [BoundsFitOptions](BoundsFitOptions.md)
|
|
58
58
|
- [FittedTextLayout](FittedTextLayout.md)
|
|
59
59
|
- [VectorTextLayout](VectorTextLayout.md)
|
|
60
60
|
|
|
61
61
|
## Guides
|
|
62
62
|
|
|
63
|
-
- [SVG preflight work and guarantees](../../guides/
|
|
63
|
+
- [SVG preflight work and guarantees](../../guides/resolution-and-inspection.md#check-preflight-guarantees)
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
## Import
|
|
66
|
+
|
|
67
|
+
```ts
|
|
68
|
+
import { fitTextLayout } from "@metamesh/modeling/geometry";
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Package: `@metamesh/modeling@0.20.0`.
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
# frame3
|
|
2
|
+
|
|
3
|
+
Creates a copied, deeply frozen plain coordinate frame in world space. Axes must be right-handed, unit length, and mutually orthogonal. Only accepted numerical roundoff is normalized; scale, shear, reflection, and materially invalid bases reject. Frames are placement inputs; use transform3(frame) when affine methods are needed.
|
|
4
|
+
|
|
5
|
+
**frame3**(`options`: [`Frame3Options`](Frame3Options.md)): [`Frame3`](Frame3-type.md)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
## Example: Place an XY profile using an analytic radial frame
|
|
10
|
+
|
|
11
|
+
```ts
|
|
12
|
+
const radial = frame3({
|
|
13
|
+
origin: [20, 0, 5],
|
|
14
|
+
xAxis: [0, 1, 0],
|
|
15
|
+
yAxis: [0, 0, 1],
|
|
16
|
+
zAxis: [1, 0, 0],
|
|
17
|
+
});
|
|
18
|
+
const placed = transform3(radial).applyPoint([2, 3, 0]).toData(); // [20, 2, 8]
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## Parameters
|
|
22
|
+
|
|
23
|
+
<a id="options"></a>
|
|
24
|
+
|
|
25
|
+
**`options`** · [`Frame3Options`](Frame3Options.md) · Required
|
|
26
|
+
|
|
27
|
+
- [`origin`](Frame3Options.md#origin) · [`Vector3Input`](Vector3Input.md) · Required
|
|
28
|
+
|
|
29
|
+
World-space origin of the local coordinate system, in millimetres.
|
|
30
|
+
|
|
31
|
+
- [`xAxis`](Frame3Options.md#xaxis) · [`Vector3Input`](Vector3Input.md) · Required
|
|
32
|
+
|
|
33
|
+
Unit vector defining local +X.
|
|
34
|
+
|
|
35
|
+
- [`yAxis`](Frame3Options.md#yaxis) · [`Vector3Input`](Vector3Input.md) · Required
|
|
36
|
+
|
|
37
|
+
Unit vector defining local +Y.
|
|
38
|
+
|
|
39
|
+
- [`zAxis`](Frame3Options.md#zaxis) · [`Vector3Input`](Vector3Input.md) · Required
|
|
40
|
+
|
|
41
|
+
Unit vector defining local +Z.
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
## Returns
|
|
46
|
+
|
|
47
|
+
[`Frame3`](Frame3-type.md)
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
## Related APIs
|
|
51
|
+
|
|
52
|
+
- [Frame3](Frame3-type.md)
|
|
53
|
+
- [Frame3Options](Frame3Options.md)
|
|
54
|
+
|
|
55
|
+
## Guides
|
|
56
|
+
|
|
57
|
+
- [Reusable transforms and vector math](../../guides/transforms-and-placement.md#reuse-a-transform-across-shapes-and-coordinates)
|
|
58
|
+
- [Fluent values and tuple kernels](../../guides/geometry-values.md#fluent-values-plain-data-and-descriptors)
|
|
59
|
+
|
|
60
|
+
## Import
|
|
61
|
+
|
|
62
|
+
```ts
|
|
63
|
+
import { frame3 } from "@metamesh/modeling/geometry";
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Package: `@metamesh/modeling@0.20.0`.
|