@metamesh/modeling 0.17.0 → 0.18.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 +153 -0
- package/README.md +137 -163
- package/dist/api/engine.d.ts +128 -65
- package/dist/api/geometry.d.ts +246 -457
- package/dist/api/index.d.ts +394 -419
- package/dist/api/mesh.d.ts +460 -0
- package/dist/api/text.d.ts +1 -1
- package/dist/docs/guides/concepts.md +126 -86
- package/dist/docs/guides/fonts.md +11 -10
- package/dist/docs/guides/fundamentals.md +30 -29
- package/dist/docs/guides/generation.md +44 -31
- package/dist/docs/guides/hosting.md +122 -46
- package/dist/docs/guides/recipes.md +65 -54
- package/dist/docs/guides/standalone-model.md +8 -7
- package/dist/docs/manifest.json +2740 -902
- package/dist/docs/reference/engine/Export3mfOptions.md +19 -2
- package/dist/docs/reference/engine/ExportMeshPart.md +5 -39
- package/dist/docs/reference/engine/GenerationOptions.md +4 -3
- package/dist/docs/reference/engine/GeometryResource.md +13 -13
- package/dist/docs/reference/engine/ModelDependencies.md +1 -1
- package/dist/docs/reference/engine/ModelEngine.md +26 -23
- package/dist/docs/reference/engine/ModelEngineOptions.md +6 -1
- package/dist/docs/reference/engine/ModelPart.md +108 -0
- package/dist/docs/reference/engine/ModelResult.md +175 -0
- package/dist/docs/reference/engine/ModelRunArguments.md +28 -0
- package/dist/docs/reference/engine/ModelRunOptions.md +104 -0
- package/dist/docs/reference/engine/ModelSession.md +16 -16
- package/dist/docs/reference/engine/ModelingLimits.md +121 -0
- package/dist/docs/reference/engine/SessionOptions.md +13 -8
- package/dist/docs/reference/engine/categories/host-lifecycle.md +25 -15
- package/dist/docs/reference/engine/checkModel.md +43 -0
- package/dist/docs/reference/engine/createModelEngine.md +4 -13
- package/dist/docs/reference/engine/defaultModelingLimits.md +8 -1
- package/dist/docs/reference/engine/export3mf.md +55 -0
- package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
- package/dist/docs/reference/engine.md +8 -15
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +1 -1
- package/dist/docs/reference/geometry/Anchor3-type.md +1 -1
- package/dist/docs/reference/geometry/ArcCurve2.md +1 -1
- package/dist/docs/reference/geometry/ArcCurve3.md +1 -1
- package/dist/docs/reference/geometry/AttachOptions.md +1 -1
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +1 -1
- package/dist/docs/reference/geometry/Bevel.md +18 -0
- package/dist/docs/reference/geometry/BevelSize.md +14 -0
- package/dist/docs/reference/geometry/Bounds2-type.md +1 -1
- package/dist/docs/reference/geometry/Bounds2Data.md +1 -1
- package/dist/docs/reference/geometry/Bounds2Input.md +1 -1
- package/dist/docs/reference/geometry/Bounds2Options.md +48 -8
- package/dist/docs/reference/geometry/Bounds3-type.md +1 -1
- package/dist/docs/reference/geometry/Bounds3Data.md +1 -1
- package/dist/docs/reference/geometry/Bounds3Input.md +1 -1
- package/dist/docs/reference/geometry/Bounds3Options.md +48 -8
- package/dist/docs/reference/geometry/BoundsFit2.md +1 -1
- package/dist/docs/reference/geometry/BoundsFit3.md +1 -1
- package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +4 -4
- package/dist/docs/reference/geometry/BoxEdge.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/geometry/BoxOptions.md +3 -3
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -3
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularSampling.md +1 -1
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/Contour.md +1 -1
- package/dist/docs/reference/geometry/ContourCurve.md +1 -1
- package/dist/docs/reference/geometry/ContourPoint.md +1 -1
- package/dist/docs/reference/geometry/ContourSegment.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +1 -1
- package/dist/docs/reference/geometry/Curve2.md +1 -1
- package/dist/docs/reference/geometry/Curve3.md +1 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +1 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +3 -3
- package/dist/docs/reference/geometry/CylinderOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +1 -1
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +130 -0
- package/dist/docs/reference/geometry/ExtrudeOptions.md +17 -9
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +3 -3
- package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
- package/dist/docs/reference/geometry/Frame3.md +1 -1
- package/dist/docs/reference/geometry/GeometryError.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +1 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +3 -2
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +1 -1
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +108 -0
- package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +43 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +52 -83
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +1 -1
- package/dist/docs/reference/geometry/LineCurve2.md +1 -1
- package/dist/docs/reference/geometry/LineCurve3.md +1 -1
- package/dist/docs/reference/geometry/LinearPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +1 -1
- package/dist/docs/reference/geometry/LoftOptions.md +3 -3
- package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/NumericArray.md +14 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
- package/dist/docs/reference/geometry/Path2-type.md +1 -1
- package/dist/docs/reference/geometry/Path2Data.md +1 -1
- package/dist/docs/reference/geometry/Path2Input.md +1 -1
- package/dist/docs/reference/geometry/Path3-type.md +1 -1
- package/dist/docs/reference/geometry/Path3Data.md +1 -1
- package/dist/docs/reference/geometry/Path3Input.md +1 -1
- package/dist/docs/reference/geometry/PathFrame.md +1 -1
- package/dist/docs/reference/geometry/PathLocation.md +1 -1
- package/dist/docs/reference/geometry/PathNormalGuide.md +1 -1
- package/dist/docs/reference/geometry/PathOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/PathPlacement.md +1 -1
- package/dist/docs/reference/geometry/PathResamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/Pivot2Options.md +1 -1
- package/dist/docs/reference/geometry/Pivot3Options.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +1 -1
- package/dist/docs/reference/geometry/PolygonData.md +1 -1
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +1 -1
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +1 -3
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/Profile.md +1 -1
- package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
- package/dist/docs/reference/geometry/ProfileSpan2.md +1 -1
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +1 -1
- package/dist/docs/reference/geometry/RadialPatternOptions.md +1 -1
- package/dist/docs/reference/geometry/RadialSizing.md +1 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +1 -1
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +1 -1
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +2 -2
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +1 -1
- package/dist/docs/reference/geometry/SampledCurve2.md +1 -1
- package/dist/docs/reference/geometry/SampledCurve3.md +1 -1
- package/dist/docs/reference/geometry/SampledThreadHelices.md +1 -1
- package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/SphereOptions.md +1 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/StarContourOptions.md +74 -0
- package/dist/docs/reference/geometry/StrokeCap.md +1 -1
- package/dist/docs/reference/geometry/StrokeJoin.md +1 -1
- package/dist/docs/reference/geometry/StrokeOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +1 -1
- package/dist/docs/reference/geometry/SweepOptions.md +1 -1
- package/dist/docs/reference/geometry/SweepOrientation.md +1 -1
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +7 -30
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfile-type.md +2 -2
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +4 -4
- package/dist/docs/reference/geometry/ThreadRole.md +1 -1
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +18 -65
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +75 -86
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +18 -6
- package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +52 -83
- package/dist/docs/reference/geometry/TorusOptions.md +1 -1
- package/dist/docs/reference/geometry/Transform2-type.md +1 -1
- package/dist/docs/reference/geometry/Transform2Data.md +1 -1
- package/dist/docs/reference/geometry/Transform2Input.md +1 -1
- package/dist/docs/reference/geometry/Transform3-type.md +1 -1
- package/dist/docs/reference/geometry/Transform3Data.md +1 -1
- package/dist/docs/reference/geometry/Transform3Input.md +1 -1
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TriangleMesh.md +3 -8
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +10 -4
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshInput.md +19 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +131 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TubeOptions.md +10 -86
- package/dist/docs/reference/geometry/Vector2-type.md +1 -1
- package/dist/docs/reference/geometry/Vector2Data.md +1 -1
- package/dist/docs/reference/geometry/Vector2Input.md +1 -1
- package/dist/docs/reference/geometry/Vector3-type.md +1 -1
- package/dist/docs/reference/geometry/Vector3Data.md +1 -1
- package/dist/docs/reference/geometry/Vector3Input.md +1 -1
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +3 -3
- package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
- package/dist/docs/reference/geometry/add2.md +1 -1
- package/dist/docs/reference/geometry/add3.md +1 -1
- package/dist/docs/reference/geometry/anchor3.md +1 -1
- package/dist/docs/reference/geometry/anchorFrame3.md +1 -1
- package/dist/docs/reference/geometry/applyTransformDirection3.md +1 -1
- package/dist/docs/reference/geometry/applyTransformPoint3.md +1 -1
- package/dist/docs/reference/geometry/attachmentTransform3.md +1 -1
- package/dist/docs/reference/geometry/bounds2.md +4 -4
- package/dist/docs/reference/geometry/bounds3.md +4 -4
- package/dist/docs/reference/geometry/boundsCenter.md +1 -1
- package/dist/docs/reference/geometry/boundsSize.md +1 -1
- package/dist/docs/reference/geometry/boxAnchor3.md +3 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +3 -3
- package/dist/docs/reference/geometry/categories/curves-paths.md +2 -2
- package/dist/docs/reference/geometry/categories/mechanical.md +8 -10
- package/dist/docs/reference/geometry/categories/meshes.md +19 -32
- package/dist/docs/reference/geometry/categories/pattern-placement.md +2 -2
- package/dist/docs/reference/geometry/categories/primitive-options.md +3 -3
- package/dist/docs/reference/geometry/categories/profiles-regions.md +5 -4
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +3 -2
- package/dist/docs/reference/geometry/categories/vector-import.md +3 -3
- package/dist/docs/reference/geometry/circleContour.md +1 -1
- package/dist/docs/reference/geometry/closeToAxis.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +1 -1
- package/dist/docs/reference/geometry/composeTransform3.md +1 -1
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +1 -1
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +1 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +1 -1
- package/dist/docs/reference/geometry/cross2.md +1 -1
- package/dist/docs/reference/geometry/cross3.md +1 -1
- package/dist/docs/reference/geometry/cylinderAnchor3.md +2 -2
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/distance2.md +1 -1
- package/dist/docs/reference/geometry/distance3.md +1 -1
- package/dist/docs/reference/geometry/distributeAlongPath.md +1 -1
- package/dist/docs/reference/geometry/dot2.md +1 -1
- package/dist/docs/reference/geometry/dot3.md +1 -1
- package/dist/docs/reference/geometry/ellipseContour.md +1 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +1 -1
- package/dist/docs/reference/geometry/fitBounds.md +1 -1
- package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
- package/dist/docs/reference/geometry/frameTransform3.md +1 -1
- package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +1 -1
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/immutableBuffer.md +49 -0
- package/dist/docs/reference/geometry/inverseTransform3.md +1 -1
- package/dist/docs/reference/geometry/isGeometryError.md +1 -1
- package/dist/docs/reference/geometry/layoutRow.md +1 -1
- package/dist/docs/reference/geometry/length2.md +1 -1
- package/dist/docs/reference/geometry/length3.md +1 -1
- package/dist/docs/reference/geometry/lerp2.md +1 -1
- package/dist/docs/reference/geometry/lerp3.md +1 -1
- package/dist/docs/reference/geometry/linearPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/matchProfiles.md +1 -1
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +1 -1
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +1 -1
- package/dist/docs/reference/geometry/normalize2.md +1 -1
- package/dist/docs/reference/geometry/normalize3.md +1 -1
- package/dist/docs/reference/geometry/normalizeContour.md +1 -1
- package/dist/docs/reference/geometry/normalizePolygon.md +1 -1
- package/dist/docs/reference/geometry/normalizeRegion.md +1 -1
- package/dist/docs/reference/geometry/path2.md +1 -1
- package/dist/docs/reference/geometry/path3.md +1 -1
- package/dist/docs/reference/geometry/pathPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +18 -25
- package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedNut.md +24 -26
- package/dist/docs/reference/geometry/preflightThreadedRod.md +18 -25
- package/dist/docs/reference/geometry/projectOntoPlane3.md +1 -1
- package/dist/docs/reference/geometry/radialPatternTransforms.md +1 -1
- package/dist/docs/reference/geometry/rectangleContour.md +10 -5
- package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
- package/dist/docs/reference/geometry/regionArea.md +1 -1
- package/dist/docs/reference/geometry/regionBounds.md +1 -1
- package/dist/docs/reference/geometry/regularPolygonContour.md +2 -2
- package/dist/docs/reference/geometry/resamplePolyline2.md +1 -1
- package/dist/docs/reference/geometry/resamplePolyline3.md +1 -1
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCircularSampling.md +1 -1
- package/dist/docs/reference/geometry/resolveCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +1 -1
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +1 -1
- package/dist/docs/reference/geometry/rotate2.md +1 -1
- package/dist/docs/reference/geometry/rotationTransform3.md +1 -1
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +1 -1
- package/dist/docs/reference/geometry/sampleContour.md +1 -1
- package/dist/docs/reference/geometry/sampleCurve2.md +1 -1
- package/dist/docs/reference/geometry/sampleCurve3.md +1 -1
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleHelix.md +1 -1
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +1 -1
- package/dist/docs/reference/geometry/sampleSideProfile.md +1 -1
- package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +1 -1
- package/dist/docs/reference/geometry/scale2.md +1 -1
- package/dist/docs/reference/geometry/scale3.md +1 -1
- package/dist/docs/reference/geometry/scaleTransform3.md +1 -1
- package/dist/docs/reference/geometry/signedContourArea.md +1 -1
- package/dist/docs/reference/geometry/starContour.md +17 -15
- package/dist/docs/reference/geometry/strokeRegionData.md +1 -1
- package/dist/docs/reference/geometry/subtract2.md +1 -1
- package/dist/docs/reference/geometry/subtract3.md +1 -1
- package/dist/docs/reference/geometry/threadProfile.md +1 -1
- package/dist/docs/reference/geometry/transform2.md +1 -1
- package/dist/docs/reference/geometry/transform3.md +1 -1
- package/dist/docs/reference/geometry/transformDeterminant3.md +1 -1
- package/dist/docs/reference/geometry/transformRegionData.md +1 -1
- package/dist/docs/reference/geometry/translationTransform3.md +1 -1
- package/dist/docs/reference/geometry/triangulateContour.md +1 -1
- package/dist/docs/reference/geometry/validateRigidTransform3.md +35 -0
- package/dist/docs/reference/geometry/validateTransform3.md +1 -1
- package/dist/docs/reference/geometry/vector2.md +1 -1
- package/dist/docs/reference/geometry/vector3.md +1 -1
- package/dist/docs/reference/geometry.md +9 -9
- package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +79 -0
- package/dist/docs/reference/mesh/Bevel.md +18 -0
- package/dist/docs/reference/mesh/BevelSize.md +14 -0
- package/dist/docs/reference/mesh/Bounds2.md +125 -0
- package/dist/docs/reference/mesh/Bounds2Data.md +43 -0
- package/dist/docs/reference/mesh/Bounds2Input.md +19 -0
- package/dist/docs/reference/mesh/Bounds3.md +125 -0
- package/dist/docs/reference/mesh/Bounds3Data.md +43 -0
- package/dist/docs/reference/mesh/Bounds3Input.md +19 -0
- package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +14 -0
- package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +97 -0
- package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +60 -0
- package/dist/docs/reference/mesh/CurveSamplingOptions.md +69 -0
- package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +77 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +129 -0
- package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +81 -0
- package/dist/docs/reference/mesh/Frame3.md +62 -0
- package/dist/docs/reference/mesh/GeometryResolution.md +74 -0
- package/dist/docs/reference/mesh/GeometrySamplingLimits.md +66 -0
- package/dist/docs/reference/mesh/GeometryToleranceOptions.md +46 -0
- package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +18 -0
- package/dist/docs/reference/mesh/HeightfieldOptions.md +72 -0
- package/dist/docs/reference/mesh/HeightfieldPreflight.md +58 -0
- package/dist/docs/reference/mesh/ImmutableBuffer.md +108 -0
- package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +43 -0
- package/dist/docs/reference/mesh/LoftCorrespondence.md +24 -0
- package/dist/docs/reference/mesh/LoftMeshStation.md +31 -0
- package/dist/docs/reference/mesh/LoftOptions.md +88 -0
- package/dist/docs/reference/mesh/LoftPlacement.md +70 -0
- package/dist/docs/reference/mesh/ModelingLimits.md +130 -0
- package/dist/docs/reference/mesh/NumericArray.md +14 -0
- package/dist/docs/reference/mesh/Path2.md +197 -0
- package/dist/docs/reference/mesh/Path2Data.md +50 -0
- package/dist/docs/reference/mesh/Path2Input.md +20 -0
- package/dist/docs/reference/mesh/Path3.md +197 -0
- package/dist/docs/reference/mesh/Path3Data.md +50 -0
- package/dist/docs/reference/mesh/Path3Input.md +20 -0
- package/dist/docs/reference/mesh/PathLocation.md +69 -0
- package/dist/docs/reference/mesh/PathNormalGuide.md +43 -0
- package/dist/docs/reference/mesh/PathResamplingOptions.md +84 -0
- package/dist/docs/reference/mesh/Pivot2Options.md +26 -0
- package/dist/docs/reference/mesh/Pivot3Options.md +26 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +14 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +160 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +124 -0
- package/dist/docs/reference/mesh/PlanarPatchQuality.md +194 -0
- package/dist/docs/reference/mesh/RevolveOptions.md +91 -0
- package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +38 -0
- package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +79 -0
- package/dist/docs/reference/mesh/SweepOptions.md +113 -0
- package/dist/docs/reference/mesh/SweepOrientation.md +113 -0
- package/dist/docs/reference/mesh/ThreadEndStyle.md +14 -0
- package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +117 -0
- package/dist/docs/reference/mesh/ThreadHandedness.md +14 -0
- package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +14 -0
- package/dist/docs/reference/mesh/ThreadLeadInShape.md +14 -0
- package/dist/docs/reference/mesh/ThreadProfile.md +86 -0
- package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +53 -0
- package/dist/docs/reference/mesh/ThreadProfileSpec.md +23 -0
- package/dist/docs/reference/{model/HelicalThreadRidgeMeshOptions.md → mesh/ThreadRidgeOptions.md} +14 -10
- package/dist/docs/reference/mesh/ThreadSolidOptions.md +222 -0
- package/dist/docs/reference/mesh/ThreadSolidPreflight.md +58 -0
- package/dist/docs/reference/mesh/Transform2.md +256 -0
- package/dist/docs/reference/mesh/Transform2Data.md +14 -0
- package/dist/docs/reference/mesh/Transform2Input.md +19 -0
- package/dist/docs/reference/mesh/Transform3.md +296 -0
- package/dist/docs/reference/mesh/Transform3Data.md +17 -0
- package/dist/docs/reference/mesh/Transform3Input.md +19 -0
- package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +96 -0
- package/dist/docs/reference/mesh/TriangleMesh.md +34 -0
- package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +129 -0
- package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +79 -0
- package/dist/docs/reference/mesh/TriangleMeshInput.md +19 -0
- package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +79 -0
- package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +43 -0
- package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +194 -0
- package/dist/docs/reference/mesh/TriangleMeshSignature.md +111 -0
- package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +46 -0
- package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +34 -0
- package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +131 -0
- package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +55 -0
- package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +95 -0
- package/dist/docs/reference/mesh/Vector2.md +270 -0
- package/dist/docs/reference/mesh/Vector2Data.md +14 -0
- package/dist/docs/reference/mesh/Vector2Input.md +19 -0
- package/dist/docs/reference/mesh/Vector3.md +282 -0
- package/dist/docs/reference/mesh/Vector3Data.md +14 -0
- package/dist/docs/reference/mesh/Vector3Input.md +19 -0
- package/dist/docs/reference/mesh/analyze.md +96 -0
- package/dist/docs/reference/{geometry/analyzeTriangleMeshQuality.md → mesh/analyzeQuality.md} +9 -9
- package/dist/docs/reference/mesh/bounds.md +39 -0
- package/dist/docs/reference/mesh/categories/operations.md +147 -0
- package/dist/docs/reference/{geometry/computeTriangleMeshCentroid.md → mesh/centroid.md} +7 -7
- package/dist/docs/reference/mesh/extrude.md +73 -0
- package/dist/docs/reference/{geometry/heightfieldMesh.md → mesh/heightfield.md} +7 -8
- package/dist/docs/reference/mesh/immutable.md +47 -0
- package/dist/docs/reference/{geometry/joinTriangleMeshes.md → mesh/join.md} +7 -6
- package/dist/docs/reference/{geometry/loftMesh.md → mesh/loft.md} +15 -15
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +96 -0
- package/dist/docs/reference/{geometry → mesh}/preflightHeightfield.md +5 -6
- package/dist/docs/reference/mesh/preflightThreadSolid.md +90 -0
- package/dist/docs/reference/{geometry/reverseTriangleMesh.md → mesh/reverse.md} +6 -5
- package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +13 -13
- package/dist/docs/reference/{geometry/computeTriangleMeshSignature.md → mesh/signature.md} +11 -11
- package/dist/docs/reference/mesh/sweep.md +86 -0
- package/dist/docs/reference/mesh/threadRidge.md +72 -0
- package/dist/docs/reference/mesh/threadSolid.md +90 -0
- package/dist/docs/reference/{geometry/transformTriangleMesh.md → mesh/transform.md} +7 -6
- package/dist/docs/reference/{geometry/validateTriangleMesh.md → mesh/validate.md} +17 -11
- package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +15 -9
- package/dist/docs/reference/mesh.md +21 -0
- package/dist/docs/reference/model/AcmeThreadProfileSpec.md +80 -0
- package/dist/docs/reference/model/Anchor3.md +1 -1
- package/dist/docs/reference/model/AttachOptions.md +1 -1
- package/dist/docs/reference/model/Bevel.md +19 -0
- package/dist/docs/reference/model/{ThreadedNutBevel.md → BevelSize.md} +4 -4
- package/dist/docs/reference/model/Bounds2-type.md +1 -1
- package/dist/docs/reference/model/Bounds2Data.md +1 -1
- package/dist/docs/reference/model/Bounds2Input.md +1 -1
- package/dist/docs/reference/model/Bounds2Options.md +48 -8
- package/dist/docs/reference/model/Bounds3-type.md +1 -1
- package/dist/docs/reference/model/Bounds3Data.md +1 -1
- package/dist/docs/reference/model/Bounds3Input.md +1 -1
- package/dist/docs/reference/model/Bounds3Options.md +48 -8
- package/dist/docs/reference/model/BoxEdge.md +1 -1
- package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/model/BoxOptions.md +3 -3
- package/dist/docs/reference/model/ButtressPressureFlankSide.md +15 -0
- package/dist/docs/reference/model/ButtressThreadProfileSpec.md +98 -0
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/CircleContourOptions.md +1 -1
- package/dist/docs/reference/model/CircleOptions.md +1 -1
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -3
- package/dist/docs/reference/model/Computed.md +7 -3
- package/dist/docs/reference/model/ComputedValue.md +1 -1
- package/dist/docs/reference/model/Contour.md +1 -1
- package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/model/CorrespondingContour.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/model/CurveSamplingOptions.md +68 -0
- package/dist/docs/reference/model/CustomThreadProfileSpec.md +78 -0
- package/dist/docs/reference/model/CylinderOptions.md +1 -1
- package/dist/docs/reference/model/DiagnosticOptions.md +15 -1
- package/dist/docs/reference/model/EdgeTreatment.md +1 -1
- package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/model/EllipseOptions.md +1 -1
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeMeshOptions.md +133 -0
- package/dist/docs/reference/model/ExtrudeOptions.md +17 -8
- package/dist/docs/reference/model/ExtrusionSamplingOptions.md +84 -0
- package/dist/docs/reference/model/Frame3.md +1 -1
- package/dist/docs/reference/model/GenerateCallback.md +5 -5
- package/dist/docs/reference/model/GenerateContext.md +15 -63
- package/dist/docs/reference/model/GenerationDiagnostic.md +13 -1
- package/dist/docs/reference/model/GenerationError.md +1 -1
- package/dist/docs/reference/model/GeometryError.md +102 -0
- package/dist/docs/reference/model/GeometryErrorCode.md +15 -0
- package/dist/docs/reference/model/GeometryErrorContext.md +35 -0
- package/dist/docs/reference/model/GeometryResolution.md +1 -1
- package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/model/GridPatternOptions.md +1 -1
- package/dist/docs/reference/model/HeightfieldOptions.md +3 -2
- package/dist/docs/reference/model/HoleCutterOptions.md +1 -1
- package/dist/docs/reference/model/HoleCutterOverrun.md +1 -1
- package/dist/docs/reference/model/HoleCutterRecess.md +1 -1
- package/dist/docs/reference/model/HullOptions.md +1 -1
- package/dist/docs/reference/model/ImmutableBuffer-type.md +27 -3
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +8 -3
- package/dist/docs/reference/model/ImmutableValue.md +20 -0
- package/dist/docs/reference/model/ImplicitOptions.md +1 -1
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +54 -84
- package/dist/docs/reference/model/KnuckleHinge-type.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeOptions.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeSpec.md +1 -1
- package/dist/docs/reference/model/KnuckleHingeWeb.md +1 -1
- package/dist/docs/reference/model/LinearPatternOptions.md +1 -1
- package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/model/LoftOptions.md +3 -3
- package/dist/docs/reference/model/LoftPlacement.md +1 -1
- package/dist/docs/reference/model/LoftStation.md +1 -1
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +2 -2
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +1 -1
- package/dist/docs/reference/model/{GeneratedPart.md → PartDeclaration.md} +8 -23
- package/dist/docs/reference/model/PartGeometry.md +2 -2
- package/dist/docs/reference/model/PartOptions.md +8 -19
- package/dist/docs/reference/model/Path2-type.md +1 -1
- package/dist/docs/reference/model/Path2Data.md +1 -1
- package/dist/docs/reference/model/Path2Input.md +1 -1
- package/dist/docs/reference/model/Path3-type.md +1 -1
- package/dist/docs/reference/model/Path3Data.md +1 -1
- package/dist/docs/reference/model/Path3Input.md +1 -1
- package/dist/docs/reference/model/PathLocation.md +1 -1
- package/dist/docs/reference/model/PathNormalGuide.md +1 -1
- package/dist/docs/reference/model/PathOptions.md +1 -1
- package/dist/docs/reference/model/PathPatternOptions.md +1 -1
- package/dist/docs/reference/model/PathResamplingOptions.md +7 -6
- package/dist/docs/reference/model/PatternSource.md +1 -1
- package/dist/docs/reference/model/Pivot2Options.md +1 -1
- package/dist/docs/reference/model/Pivot3Options.md +1 -1
- package/dist/docs/reference/model/PlaneOptions.md +1 -1
- package/dist/docs/reference/model/PolygonData.md +1 -1
- package/dist/docs/reference/model/PolygonOptions.md +1 -1
- package/dist/docs/reference/model/PrimitiveAttachment.md +1 -3
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/model/Profile.md +1 -1
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +1 -1
- package/dist/docs/reference/model/ProfileSpan2.md +1 -1
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/RadialPatternOptions.md +1 -1
- package/dist/docs/reference/model/RadialSizing.md +1 -1
- package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/model/RectangleOptions.md +3 -3
- package/dist/docs/reference/model/RegionData.md +1 -1
- package/dist/docs/reference/model/RegularPolygonOptions.md +1 -1
- package/dist/docs/reference/model/RevolveOptions.md +2 -2
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +131 -6
- package/dist/docs/reference/model/SectionHullOptions.md +1 -1
- package/dist/docs/reference/model/SectionInspection.md +5 -17
- package/dist/docs/reference/model/SectionOffsetJoin.md +1 -1
- package/dist/docs/reference/model/SectionOffsetOptions.md +1 -1
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +245 -8
- package/dist/docs/reference/model/SolidInspection.md +5 -17
- package/dist/docs/reference/model/SolidSegmentHit.md +5 -1
- package/dist/docs/reference/model/SphereOptions.md +1 -1
- package/dist/docs/reference/model/SquareThreadProfileSpec.md +80 -0
- package/dist/docs/reference/model/StarContourOptions.md +81 -0
- package/dist/docs/reference/model/StarOptions.md +38 -16
- package/dist/docs/reference/model/StrokeCap.md +1 -1
- package/dist/docs/reference/model/StrokeJoin.md +1 -1
- package/dist/docs/reference/model/StrokeOptions.md +1 -1
- package/dist/docs/reference/model/SvgOrigin.md +1 -1
- package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
- package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
- package/dist/docs/reference/model/SweepOptions.md +1 -1
- package/dist/docs/reference/model/SweepOrientation.md +1 -1
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadBevelOptions.md +35 -0
- package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/model/ThreadHandedness.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/model/ThreadProfile.md +2 -2
- package/dist/docs/reference/model/ThreadProfileBaseSpec.md +54 -0
- package/dist/docs/reference/model/ThreadProfileSpec.md +24 -0
- package/dist/docs/reference/model/ThreadRidgeOptions.md +126 -4
- package/dist/docs/reference/model/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +2 -2
- package/dist/docs/reference/model/ThreadedNutOptions.md +75 -86
- package/dist/docs/reference/model/ThreadedNutPreflight.md +18 -6
- package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +54 -84
- package/dist/docs/reference/model/TorusOptions.md +1 -1
- package/dist/docs/reference/model/Transform2-type.md +1 -1
- package/dist/docs/reference/model/Transform2Data.md +1 -1
- package/dist/docs/reference/model/Transform2Input.md +1 -1
- package/dist/docs/reference/model/Transform3-type.md +1 -1
- package/dist/docs/reference/model/Transform3Data.md +1 -1
- package/dist/docs/reference/model/Transform3Input.md +1 -1
- package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +97 -0
- package/dist/docs/reference/model/TriangleMesh.md +3 -11
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +10 -4
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +131 -0
- package/dist/docs/reference/model/TriangularThreadProfileSpec.md +96 -0
- package/dist/docs/reference/model/TubeOptions.md +10 -86
- package/dist/docs/reference/model/Vector2-type.md +1 -1
- package/dist/docs/reference/model/Vector2Data.md +1 -1
- package/dist/docs/reference/model/Vector2Input.md +1 -1
- package/dist/docs/reference/model/Vector3-type.md +1 -1
- package/dist/docs/reference/model/Vector3Data.md +1 -1
- package/dist/docs/reference/model/Vector3Input.md +1 -1
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/model/bounds2.md +4 -4
- package/dist/docs/reference/model/bounds3.md +4 -4
- package/dist/docs/reference/model/box.md +2 -2
- package/dist/docs/reference/model/categories/boolean-operations.md +6 -10
- package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -1
- package/dist/docs/reference/model/categories/bounds.md +2 -2
- package/dist/docs/reference/model/categories/contracts.md +3 -5
- package/dist/docs/reference/model/categories/core-values-errors.md +17 -3
- package/dist/docs/reference/model/categories/explicit-profiles.md +1 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +10 -8
- package/dist/docs/reference/model/categories/generation.md +8 -8
- package/dist/docs/reference/model/categories/hinges.md +1 -1
- package/dist/docs/reference/model/categories/mesh-inspection.md +15 -6
- package/dist/docs/reference/model/categories/paths.md +4 -3
- package/dist/docs/reference/model/categories/primitives.md +5 -5
- package/dist/docs/reference/model/categories/resolution.md +1 -1
- package/dist/docs/reference/model/categories/sections.md +4 -3
- package/dist/docs/reference/model/categories/threads.md +16 -6
- package/dist/docs/reference/model/categories/transforms-placement.md +2 -3
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/cylinder.md +1 -1
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +5 -4
- package/dist/docs/reference/model/generate.md +4 -4
- package/dist/docs/reference/model/gridPattern.md +1 -1
- package/dist/docs/reference/model/heightfield.md +1 -1
- package/dist/docs/reference/model/holeCutter.md +12 -2
- package/dist/docs/reference/model/hull.md +1 -1
- package/dist/docs/reference/model/immutableBuffer.md +5 -4
- package/dist/docs/reference/model/implicit.md +1 -1
- package/dist/docs/reference/model/internalThreadCutter.md +12 -20
- package/dist/docs/reference/model/intersect.md +3 -3
- package/dist/docs/reference/model/isGeometryError.md +34 -0
- package/dist/docs/reference/model/knuckleHinge.md +2 -2
- package/dist/docs/reference/model/linearPattern.md +1 -1
- package/dist/docs/reference/model/loft.md +6 -5
- package/dist/docs/reference/model/matchProfiles.md +1 -1
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +1 -1
- package/dist/docs/reference/model/path3.md +1 -1
- package/dist/docs/reference/model/pathPattern.md +1 -1
- package/dist/docs/reference/model/polygon.md +1 -1
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +15 -23
- package/dist/docs/reference/model/preflightThreadedNut.md +22 -25
- package/dist/docs/reference/model/preflightThreadedRod.md +15 -23
- package/dist/docs/reference/model/radialPattern.md +1 -1
- package/dist/docs/reference/model/rectangle.md +2 -2
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +6 -5
- package/dist/docs/reference/model/solidFromMesh.md +7 -6
- package/dist/docs/reference/model/sphere.md +1 -1
- package/dist/docs/reference/model/star.md +7 -7
- package/dist/docs/reference/model/stroke.md +1 -1
- package/dist/docs/reference/model/svgPathSection.md +1 -1
- package/dist/docs/reference/model/svgSection.md +1 -1
- package/dist/docs/reference/model/sweep.md +5 -4
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +14 -14
- package/dist/docs/reference/model/threadedNut.md +22 -25
- package/dist/docs/reference/model/threadedRod.md +12 -20
- package/dist/docs/reference/model/torus.md +1 -1
- package/dist/docs/reference/model/transform2.md +1 -1
- package/dist/docs/reference/model/transform3.md +1 -1
- package/dist/docs/reference/model/tube.md +1 -36
- package/dist/docs/reference/model/union.md +3 -3
- package/dist/docs/reference/model/vector2.md +1 -1
- package/dist/docs/reference/model/vector3.md +1 -1
- package/dist/docs/reference/model.md +15 -19
- package/dist/docs/reference/text/Bounds2Data.md +1 -1
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +2 -2
- package/dist/docs/reference/text/Vector2Data.md +1 -1
- package/dist/docs/reference/text/VectorFont.md +7 -7
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +1 -1
- package/dist/docs/reference/text/VectorTextLayout.md +1 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +3 -3
- package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +3 -3
- package/dist/docs/reference/text/prepareVectorFont.md +1 -1
- package/dist/docs/reference/text.md +4 -4
- package/dist/engine/execution.js +10 -6
- package/dist/engine/export-3mf.js +22 -115
- package/dist/engine/finalization.js +10 -10
- package/dist/engine/index.js +25 -31
- package/dist/engine/model-parts.js +8 -0
- package/dist/engine/model-summary.js +5 -5
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +3 -3
- package/dist/engine/native/operations.js +0 -7
- package/dist/engine/native/scoped-primitives.js +5 -4
- package/dist/engine/native/threads.js +14 -14
- package/dist/engine/{construction-operations.js → operations/construction.js} +25 -23
- package/dist/engine/{modeling-context.js → operations/context.js} +10 -10
- package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
- package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +7 -7
- package/dist/engine/{hole-cutter-operation.js → operations/hole-cutter.js} +3 -3
- package/dist/engine/{inspection-operations.js → operations/inspection.js} +6 -6
- package/dist/engine/{knuckle-hinge-operation.js → operations/knuckle-hinge.js} +4 -4
- package/dist/engine/{loft-operations.js → operations/loft.js} +13 -12
- package/dist/engine/{mechanical-operations.js → operations/mechanical.js} +2 -2
- package/dist/engine/{pattern-operations.js → operations/patterns.js} +4 -4
- package/dist/engine/{primitive-anchors.js → operations/primitives/anchors.js} +9 -4
- package/dist/engine/{primitive-operations.js → operations/primitives/construction.js} +18 -19
- package/dist/engine/{primitive-correspondence.js → operations/primitives/correspondence.js} +4 -4
- package/dist/engine/{profile-mesh.js → operations/primitives/profile-mesh.js} +12 -12
- package/dist/engine/{primitive-profiles.js → operations/primitives/profiles.js} +7 -7
- package/dist/engine/{section-operations.js → operations/sections.js} +8 -8
- package/dist/engine/{transform-operations.js → operations/transforms.js} +8 -8
- package/dist/engine/placement.js +3 -4
- package/dist/engine/recipe-realization.js +1 -1
- package/dist/engine/serialize-3mf.js +116 -0
- package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
- package/dist/engine/{model-dependencies.js → session/dependencies.js} +1 -1
- package/dist/engine/{session-graph.js → session/graph.js} +13 -11
- package/dist/engine/{session-native.js → session/native-cache.js} +1 -1
- package/dist/engine/{session.js → session/session.js} +16 -10
- package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +29 -59
- package/dist/geometry/anchors.js +4 -11
- package/dist/geometry/bounds-value.js +20 -10
- package/dist/geometry/heightfield.js +10 -12
- package/dist/{model → geometry}/immutable-buffer.js +28 -7
- package/dist/geometry/index.js +16 -22
- package/dist/geometry/loft/loft.js +11 -6
- package/dist/geometry/mechanical/index.js +5 -5
- package/dist/geometry/mechanical/threads/bevel.js +24 -0
- package/dist/geometry/mechanical/{threads.js → threads/fit.js} +4 -4
- package/dist/geometry/mechanical/{thread-helices.js → threads/helices.js} +3 -3
- package/dist/geometry/mechanical/{thread-mesh-plan.js → threads/mesh-plan.js} +38 -53
- package/dist/geometry/mechanical/{thread-mesh.js → threads/mesh.js} +9 -9
- package/dist/geometry/mechanical/{thread-profiles.js → threads/profiles.js} +3 -3
- package/dist/geometry/mechanical/{thread-solids.js → threads/solids.js} +58 -89
- package/dist/geometry/mechanical/{thread-surface.js → threads/surface.js} +7 -8
- package/dist/geometry/mesh/mesh-centroid.js +3 -2
- package/dist/geometry/mesh/mesh-planar.js +27 -8
- package/dist/geometry/mesh/mesh-quality.js +2 -1
- package/dist/geometry/mesh/mesh-signature.js +7 -6
- package/dist/geometry/mesh/mesh-solid.js +2 -3
- package/dist/geometry/mesh/mesh-types.js +1 -0
- package/dist/geometry/mesh/mesh.js +13 -22
- package/dist/geometry/mesh-api.js +14 -0
- package/dist/geometry/primitive-resolvers.js +42 -14
- package/dist/geometry/profiles/primitives/circle.js +19 -0
- package/dist/geometry/profiles/{shapes.js → primitives/ellipse.js} +6 -10
- package/dist/geometry/profiles/{rectangle.js → primitives/rectangle.js} +14 -12
- package/dist/geometry/profiles/primitives/regular-polygon.js +33 -0
- package/dist/geometry/profiles/primitives/star.js +28 -0
- package/dist/geometry/revolve/revolve-mesh.js +1 -1
- package/dist/geometry/{svg-import.js → svg/import.js} +10 -10
- package/dist/geometry/sweeps/sweep-mesh.js +1 -1
- package/dist/geometry/transform3.js +29 -0
- package/dist/index.js +2 -1
- package/dist/model/diagnostic-path.js +26 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +8 -2
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +33 -2
- package/dist/model/operations.js +14 -144
- package/dist/model/recipe-declaration.js +6 -2
- package/dist/model/shape-handles.js +30 -7
- package/dist/text/index.js +1 -1
- package/package.json +21 -11
- package/dist/docs/reference/engine/ModelSnapshot.md +0 -184
- package/dist/docs/reference/engine/SnapshotPart.md +0 -133
- package/dist/docs/reference/engine/validateModel.md +0 -48
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +0 -14
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +0 -61
- package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
- package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
- package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
- package/dist/docs/reference/geometry/meshBounds.md +0 -39
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
- package/dist/docs/reference/geometry/sweepMesh.md +0 -86
- package/dist/docs/reference/model/FinalizedModel.md +0 -131
- package/dist/docs/reference/model/FinalizedPart.md +0 -87
- package/dist/docs/reference/model/anchor.md +0 -47
- package/dist/docs/reference/model/castSegment.md +0 -40
- package/dist/docs/reference/model/categories/inspection.md +0 -29
- package/dist/docs/reference/model/components.md +0 -71
- package/dist/docs/reference/model/compose.md +0 -31
- package/dist/docs/reference/model/distance.md +0 -45
- package/dist/docs/reference/model/immutableMesh.md +0 -44
- package/dist/docs/reference/model/inspectSection.md +0 -38
- package/dist/docs/reference/model/inspectSolid.md +0 -38
- package/dist/docs/reference/model/isEmpty.md +0 -39
- package/dist/docs/reference/model/split.md +0 -54
- package/dist/docs/reference/model/splitByPlane.md +0 -66
- package/dist/geometry/profiles/profiles.js +0 -71
- /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
- /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
|
@@ -11,25 +11,27 @@ Turn filled Sections or explicitly matched profiles into solids:
|
|
|
11
11
|
|
|
12
12
|
Lofts match compatible primitive landmarks directly, including circle/ellipse quadrants to rectangle corners. Other unlike primitive families use direct perimeter association from construction-local +X seams. Arbitrary Sections and loops require an explicit `direct`, `reindex`, `fast-distance`, or `distance` method. Identified `CorrespondingProfile` landmarks reject geometric remapping.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Use Section methods in fluent modeling sequences. Imported `extrude`, `revolve`, and `sweep` accept `Section | CorrespondingProfile` for generic profile functions without branching. Both forms use the same operation contracts. Use `mesh.extrude`, `mesh.revolve`, and `mesh.sweep` for direct triangle-buffer construction.
|
|
15
15
|
|
|
16
16
|
## Functions
|
|
17
17
|
|
|
18
18
|
| API | Summary |
|
|
19
19
|
| --- | --- |
|
|
20
|
-
| [extrude](../extrude.md) | Extrudes explicit corresponding contours along +Z with degree twist and top scaling.
|
|
21
|
-
| [loft](../loft.md) | Lofts
|
|
22
|
-
| [revolve](../revolve.md) | Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps.
|
|
23
|
-
| [sweep](../sweep.md) | Sweeps explicit corresponding contours using the selected frame policy.
|
|
20
|
+
| [extrude](../extrude.md) | Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling. Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs. |
|
|
21
|
+
| [loft](../loft.md) | Lofts Sections and point loops at z heights or frames. Known primitive landmarks are retained; other profiles default to direct correspondence, preserving their supplied seams. |
|
|
22
|
+
| [revolve](../revolve.md) | Revolves a filled Section or explicit corresponding radial/Z contours around +Z, with caps for partial sweeps. Use `section.revolve(options)` in fluent sequences, or this function for generic profile inputs. |
|
|
23
|
+
| [sweep](../sweep.md) | Sweeps a filled Section or explicit corresponding contours using the selected frame policy. Use `section.sweep(path, options)` in fluent sequences, or this function for generic profile inputs. |
|
|
24
24
|
|
|
25
25
|
## Interfaces
|
|
26
26
|
|
|
27
27
|
| API | Summary |
|
|
28
28
|
| --- | --- |
|
|
29
|
-
| [ExtrudeOptions](../ExtrudeOptions.md) |
|
|
30
|
-
| [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections
|
|
29
|
+
| [ExtrudeOptions](../ExtrudeOptions.md) | Native +Z extrusion with optional inward end treatments. |
|
|
30
|
+
| [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections default to direct correspondence. |
|
|
31
31
|
| [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
|
|
32
32
|
| [SweepOptions](../SweepOptions.md) | Controls shared by pure mesh construction and filled modeling sweeps. |
|
|
33
|
+
| [ExtrudeMeshOptions](../ExtrudeMeshOptions.md) | Dimensions and sampling for pure +Z mesh extrusion, without end treatments. |
|
|
34
|
+
| [ExtrusionSamplingOptions](../ExtrusionSamplingOptions.md) | Shared sampling controls for a twisted or scaled linear extrusion. |
|
|
33
35
|
|
|
34
36
|
## Type aliases
|
|
35
37
|
|
|
@@ -48,4 +50,4 @@ Standalone `extrude`, `revolve`, and `sweep` accept only `CorrespondingProfile`
|
|
|
48
50
|
- [Matched-section loft](../../../guides/recipes.md#matched-section-loft)
|
|
49
51
|
- [Choose a modeling path](../../../guides/concepts.md#choose-a-modeling-path)
|
|
50
52
|
|
|
51
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
# Model generation
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Build typed models with optional cached computations, named parts, and structured warnings or errors.
|
|
4
4
|
|
|
5
5
|
Start with `generate(({ params, part, assert }) => ...)` and return one `part(...)` or a readonly array of parts. Parameter values are ordinary readonly data.
|
|
6
6
|
|
|
7
7
|
- **Cache:** `computed(id, callback)` optionally caches pure data or geometry and tracks synchronous reads. List changing outer captures with `computed(id, () => ..., [value])`; dependency arrays supplement automatic tracking.
|
|
8
8
|
- **Report issues:** assertions stop immediately. Warnings continue and must be emitted in the outer callback.
|
|
9
|
-
- **Place parts:** `
|
|
10
|
-
- **Keep cached data immutable:** use `immutableBuffer` for numeric arrays and `
|
|
9
|
+
- **Place parts:** `transform` accepts a fluent `transform3()` value or row-major 16-number matrix. Only translation and proper rotation are supported; omission means identity. Pattern and attachment matrices work directly.
|
|
10
|
+
- **Keep cached data immutable:** use `immutableBuffer` for numeric arrays and `mesh.immutable` for indexed meshes. Buffers expose `length`, `at(index)`, standard iteration, and `copy()`. Results expose these immutable buffers; call `copy()` for mutable typed arrays.
|
|
11
11
|
|
|
12
12
|
## Functions
|
|
13
13
|
|
|
14
14
|
| API | Summary |
|
|
15
15
|
| --- | --- |
|
|
16
|
-
| [generate](../generate.md) | Defines a typed model without executing it. Use `computed` only for work worth reusing. |
|
|
16
|
+
| [generate](../generate.md) | Defines a typed model without executing it. Parameters are an object map of capturable data; runtime capture rejects arrays at the root, ordinary class instances, mutable buffers, and functions. Supply live capabilities through services. Use `computed` only for work worth reusing. |
|
|
17
17
|
| [immutableBuffer](../immutableBuffer.md) | Copies numeric data once into private storage. This pure helper needs no active generation. |
|
|
18
|
-
| [immutableMesh](../immutableMesh.md) | Copies mesh buffers into immutable data; geometric validation still occurs when modeling or finalizing. |
|
|
19
18
|
|
|
20
19
|
## Classes
|
|
21
20
|
|
|
@@ -27,12 +26,12 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
27
26
|
|
|
28
27
|
| API | Summary |
|
|
29
28
|
| --- | --- |
|
|
30
|
-
| [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data.
|
|
29
|
+
| [ImmutableBuffer](../ImmutableBuffer-type.md) | Owned immutable numeric data. Iterate without copying; use copy() for mutable storage. |
|
|
31
30
|
| [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a computed value or part. |
|
|
32
31
|
| [Computed](../Computed.md) | Reads immutable data or a deferred recipe; evaluation is synchronous and cached. |
|
|
33
32
|
| [DiagnosticOptions](../DiagnosticOptions.md) | Typed parameter association for an assertion or warning. |
|
|
34
33
|
| [GenerateContext](../GenerateContext.md) | The sole synchronous authoring context, supplied independently of Studio. |
|
|
35
|
-
| [
|
|
34
|
+
| [PartDeclaration](../PartDeclaration.md) | One declared output part. Construct with the context's `part` helper. |
|
|
36
35
|
| [GenerationDiagnostic](../GenerationDiagnostic.md) | Structured user-facing issue associated with the attempted revision. |
|
|
37
36
|
| [ModelProgram](../ModelProgram.md) | Stateless portable program descriptor. Execution and caches belong to an engine session. |
|
|
38
37
|
| [PartOptions](../PartOptions.md) | Appearance and rigid placement of a finished local manufacturing part. |
|
|
@@ -42,6 +41,7 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
42
41
|
| API | Summary |
|
|
43
42
|
| --- | --- |
|
|
44
43
|
| [NumericArray](../NumericArray.md) | Numeric storage supported by immutable generation buffers. |
|
|
44
|
+
| [ImmutableValue](../ImmutableValue.md) | Deeply readonly view of captured generation data, including nested arrays and tuples. Modeling value methods keep their signatures, including explicit mutable copies. This type does not make unsupported runtime values valid generation data. |
|
|
45
45
|
| [ComputedValue](../ComputedValue.md) | A value supplied immediately or by a lazy computed reader. |
|
|
46
46
|
| [GenerateCallback](../GenerateCallback.md) | Pure synchronous callback returning one declared part or an array; caches are optional. |
|
|
47
47
|
| [PartGeometry](../PartGeometry.md) | Manufacturing geometry; filled sections are intermediate construction values. |
|
|
@@ -50,4 +50,4 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
50
50
|
|
|
51
51
|
- [Complete standalone model example](../../../guides/standalone-model.md#minimal-model-entry)
|
|
52
52
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
53
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -35,4 +35,4 @@ Radial clearance is per side; axial gap is the total gap between adjacent interv
|
|
|
35
35
|
| [KnuckleHingeOptions](../KnuckleHingeOptions.md) | Joint declaration with independent attachments; unspecified sampling inherits the evaluating host. |
|
|
36
36
|
| [KnuckleHingeSpec](../KnuckleHingeSpec.md) | Knuckle-joint construction modes and interval ownership. |
|
|
37
37
|
|
|
38
|
-
Package: `@metamesh/modeling@0.
|
|
38
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,8 +1,17 @@
|
|
|
1
1
|
# Mesh and inspection
|
|
2
2
|
|
|
3
|
-
Convert validated meshes and
|
|
3
|
+
Convert validated meshes and read stable section or solid measurements.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Shape queries return copied scalar facts and finite bounds; the host owns the native resources. Call `shape.inspect()` during active synchronous execution. Mesh extraction with `solid.toMesh()` is explicit; finalized engine output is already copied and validated.
|
|
6
|
+
|
|
7
|
+
- `shape.components()` works with Sections or Solids. Observed selections and recipes using them can only be evaluated in their originating session; ordinary recipes remain reusable after session disposal.
|
|
8
|
+
- `simplify()` returns a new shape. `solid.projectSection()` and `solid.sliceSection()` return Sections.
|
|
9
|
+
- `shape.isEmpty()` distinguishes empty Boolean or split results.
|
|
10
|
+
- `solid.distance(other)` measures minimum separation between nonempty solids, returning zero for contact or overlapping material.
|
|
11
|
+
- `solid.castSegment(origin, endpoint)` returns intersections along a finite directed segment.
|
|
12
|
+
- `shape.anchor(name)` reads a copied named attachment frame.
|
|
13
|
+
|
|
14
|
+
Recipe handles cannot cross a Worker boundary.
|
|
6
15
|
|
|
7
16
|
Inspection does not certify wall thickness, overhangs, printer fit, or material behavior.
|
|
8
17
|
|
|
@@ -10,8 +19,6 @@ Inspection does not certify wall thickness, overhangs, printer fit, or material
|
|
|
10
19
|
|
|
11
20
|
| API | Summary |
|
|
12
21
|
| --- | --- |
|
|
13
|
-
| [inspectSection](../inspectSection.md) | Copies lightweight section measurements. |
|
|
14
|
-
| [inspectSolid](../inspectSolid.md) | Reads immutable native facts once per solid; temporary components are owned by the build. |
|
|
15
22
|
| [solidFromMesh](../solidFromMesh.md) | Imports a bounded closed indexed mesh. |
|
|
16
23
|
|
|
17
24
|
## Interfaces
|
|
@@ -20,12 +27,14 @@ Inspection does not certify wall thickness, overhangs, printer fit, or material
|
|
|
20
27
|
| --- | --- |
|
|
21
28
|
| [SectionInspection](../SectionInspection.md) | Immutable native filled section facts in millimetres and square millimetres. Repeated inspections of the same native shape share these facts within one revision. |
|
|
22
29
|
| [SolidInspection](../SolidInspection.md) | Immutable solid bounds, emptiness, component count, volume, surface area and native tolerance. Repeated inspections of the same native shape share these facts within one revision. |
|
|
23
|
-
| [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with XYZ
|
|
30
|
+
| [TriangleMesh](../TriangleMesh.md) | A topology-preserving indexed triangle mesh with mutable owned XYZ buffers. |
|
|
24
31
|
| [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
|
|
32
|
+
| [TriangleMeshTopologyAnalysis](../TriangleMeshTopologyAnalysis.md) | Mesh measurements with the indexed surface-shell and edge counts requested by includeTopology. |
|
|
25
33
|
| [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
|
|
34
|
+
| [SolidSegmentHit](../SolidSegmentHit.md) | Copied surface intersection from a finite directed segment. Distance is in millimetres. |
|
|
26
35
|
|
|
27
36
|
## Guides
|
|
28
37
|
|
|
29
38
|
- [Solid inspection](../../../guides/recipes.md#solid-inspection)
|
|
30
39
|
|
|
31
|
-
Package: `@metamesh/modeling@0.
|
|
40
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Sampled paths
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Reuse immutable sampled paths in 2D or 3D.
|
|
4
4
|
|
|
5
|
-
Use `path2` and `path3` for immutable sampled
|
|
5
|
+
Use `path2` and `path3` for immutable sampled paths. `transform()`, `reverse()`, and `resample()` return new values; Geometry accepts the path values directly.
|
|
6
6
|
|
|
7
7
|
`closestPoint()` reports a boundary position and fraction within an edge, rather than a filled interior or analytic-curve solution. `bounds()` returns fluent bounds, or `undefined` for an empty path. `toData()` returns points with dimension and closure metadata.
|
|
8
8
|
|
|
@@ -26,6 +26,7 @@ Closed paths omit the duplicated endpoint. `polygon` fills a closed planar path
|
|
|
26
26
|
| [PathResamplingOptions](../PathResamplingOptions.md) | Equal arc-length sampling; the path itself owns whether its closing edge is included. |
|
|
27
27
|
| [Path2Data](../Path2Data.md) | Complete plain XY path representation, including topology and empty-path dimensional identity. |
|
|
28
28
|
| [Path3Data](../Path3Data.md) | Complete plain XYZ path representation, including topology and empty-path dimensional identity. |
|
|
29
|
+
| [CurveSamplingOptions](../CurveSamplingOptions.md) | Explicit physical sampling and allocation policy for reusable curves. |
|
|
29
30
|
|
|
30
31
|
## Type aliases
|
|
31
32
|
|
|
@@ -38,4 +39,4 @@ Closed paths omit the duplicated endpoint. `polygon` fills a closed planar path
|
|
|
38
39
|
|
|
39
40
|
- [Path queries and closure-preserving interchange](../../../guides/concepts.md#query-paths-and-preserve-closure)
|
|
40
41
|
|
|
41
|
-
Package: `@metamesh/modeling@0.
|
|
42
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Primitives
|
|
2
2
|
|
|
3
|
-
Create
|
|
3
|
+
Create basic solids with explicit dimensions and tessellation.
|
|
4
4
|
|
|
5
5
|
All primitives use millimetres and one options object. Boxes, cylinders, and tubes are centered by default.
|
|
6
6
|
|
|
@@ -15,7 +15,7 @@ import { box, cylinder, generate } from "@metamesh/modeling";
|
|
|
15
15
|
export default generate(({ part }) => {
|
|
16
16
|
const plate = box({ size: [30, 20, 6], treatment: { kind: "chamfer", distance: 0.5 } });
|
|
17
17
|
const bore = cylinder({ radius: 3, height: 8, sizing: "face" });
|
|
18
|
-
return [part("plate", plate.subtract(
|
|
18
|
+
return [part("plate", plate.subtract(bore))];
|
|
19
19
|
});
|
|
20
20
|
```
|
|
21
21
|
|
|
@@ -27,7 +27,7 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
27
27
|
| --- | --- |
|
|
28
28
|
| [box](../box.md) | Axis-aligned box with uniform or disjoint named edge/group treatments. |
|
|
29
29
|
| [cylinder](../cylinder.md) | +Z cylinder or frustum. Face sizing compensates polygon faceting. |
|
|
30
|
-
| [holeCutter](../holeCutter.md) | Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
30
|
+
| [holeCutter](../holeCutter.md) | Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres. |
|
|
31
31
|
| [sphere](../sphere.md) | Origin-centered sphere. |
|
|
32
32
|
| [torus](../torus.md) | Torus around +Z. |
|
|
33
33
|
| [tube](../tube.md) | Hollow +Z tube. |
|
|
@@ -45,7 +45,6 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
45
45
|
| [RadialSizingOptions](../RadialSizingOptions.md) | Nominal radial sizing shared by circular and regular polygon construction. |
|
|
46
46
|
| [RoundedEdgeTreatment](../RoundedEdgeTreatment.md) | A circular edge or corner roundover with explicit physical sampling. |
|
|
47
47
|
| [TorusOptions](../TorusOptions.md) | Dimensions and independent ring/profile tessellation for a torus around the Z axis. |
|
|
48
|
-
| [TubeOptions](../TubeOptions.md) | Dimensions, placement, and tessellation for a hollow Z-axis tube. |
|
|
49
48
|
| [SmoothEdgeTreatment](../SmoothEdgeTreatment.md) | A cubic corner transition with zero curvature at its straight tangent joins. |
|
|
50
49
|
| [ProfiledEdgeTreatment](../ProfiledEdgeTreatment.md) | A deliberately sampled, inward-only corner profile with exact polyline geometry. |
|
|
51
50
|
|
|
@@ -59,6 +58,7 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
59
58
|
| [EdgeTreatment](../EdgeTreatment.md) | Uniform finishing vocabulary shared by applicable solid edges and profile corners. |
|
|
60
59
|
| [RadialSizing](../RadialSizing.md) | Radial dimensions refer to polygon vertices or compensate faceting to meet polygon faces. |
|
|
61
60
|
| [SphereOptions](../SphereOptions.md) | Exactly one radius or diameter, placement, and tessellation for an origin-centered sphere. |
|
|
61
|
+
| [TubeOptions](../TubeOptions.md) | Dimensions, placement, and tessellation for a hollow Z-axis tube. |
|
|
62
62
|
| [BoxEdge](../BoxEdge.md) | Box edges use +Z top, +Y front and +X right; vertical names list front/back first. |
|
|
63
63
|
| [BoxEdgeSelection](../BoxEdgeSelection.md) | Named individual edges or top/bottom rims and all four vertical edges. |
|
|
64
64
|
| [BoxEdgeTreatments](../BoxEdgeTreatments.md) | Independent treatments for disjoint named edge selections; overlapping selections fail. |
|
|
@@ -68,4 +68,4 @@ A zero round radius or zero chamfer/smooth setback leaves a feature untreated. S
|
|
|
68
68
|
- [Choose a primitive](../../../guides/recipes.md#choose-a-primitive)
|
|
69
69
|
- [Treated boxes, frustums, and mirrored arrays](../../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
70
70
|
|
|
71
|
-
Package: `@metamesh/modeling@0.
|
|
71
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -17,4 +17,4 @@ Exact operation counts override the operation's resolution policy, which overrid
|
|
|
17
17
|
|
|
18
18
|
- [Coordinates, units, and resolution](../../../guides/concepts.md#coordinates-units-and-resolution)
|
|
19
19
|
|
|
20
|
-
Package: `@metamesh/modeling@0.
|
|
20
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Create immutable filled XY shapes, including prepared text and bounded painted SVG.
|
|
4
4
|
|
|
5
|
-
`Section` is an immutable filled XY shape with holes and disconnected components. `RegionData` is its serialized polygon data.
|
|
5
|
+
`Section` is an immutable filled XY shape with holes and disconnected components. `RegionData` is its serialized polygon data. You can construct and compose Sections without an engine; the host handles native evaluation.
|
|
6
6
|
|
|
7
7
|
- **Construct:** use `polygon(points)`, `polygon({ outer, holes })`, `polygon({ contours, fillRule })`, or `polygon({ polygons: data })`. Explicit topology validates boundaries and winding. Compound contours default to `nonzero` fill; select `evenodd` when needed.
|
|
8
8
|
- **Inspect:** call `section.toRegionData()` during synchronous host execution.
|
|
9
|
-
- **Build solids:** extrusion, revolution, and sweeps preserve filled topology. Compatible primitive Sections retain loft landmarks; arbitrary Sections
|
|
9
|
+
- **Build solids:** extrusion, revolution, and sweeps preserve filled topology. Compatible primitive Sections retain loft landmarks; arbitrary Sections use direct correspondence by default.
|
|
10
10
|
- **Add text:** `textSection` consumes a prepared `VectorTextLayout` without shaping again.
|
|
11
11
|
|
|
12
12
|
## Functions
|
|
@@ -34,6 +34,7 @@ Create immutable filled XY shapes, including prepared text and bounded painted S
|
|
|
34
34
|
| [RectangleOptions](../RectangleOptions.md) | Rectangle dimensions, placement and uniform or per-corner treatment. |
|
|
35
35
|
| [SectionOffsetOptions](../SectionOffsetOptions.md) | Options controlling robust Clipper2 region offsets. |
|
|
36
36
|
| [StarOptions](../StarOptions.md) | Alternating outer and inner vertices, centered on the XY origin. |
|
|
37
|
+
| [StarContourOptions](../StarContourOptions.md) | Alternating vertex radii and exact point count for a centered XY star. |
|
|
37
38
|
| [SvgPathSectionOptions](../SvgPathSectionOptions.md) | Bounded filled SVG path sampling. Path scale converts user units to millimetres. |
|
|
38
39
|
| [SvgSectionOptions](../SvgSectionOptions.md) | Bounded SVG document sampling. Center origin uses the final painted bounds. |
|
|
39
40
|
| [TextSectionOptions](../TextSectionOptions.md) | Physical curve sampling applied to already prepared vector text. |
|
|
@@ -63,4 +64,4 @@ Create immutable filled XY shapes, including prepared text and bounded painted S
|
|
|
63
64
|
- [SVG sections: fills and strokes are different inputs](../../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
64
65
|
- [Text and font variability](../../../guides/concepts.md#text-and-font-variability)
|
|
65
66
|
|
|
66
|
-
Package: `@metamesh/modeling@0.
|
|
67
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -4,7 +4,7 @@ Construct compensated thread forms and inspect bounded preflight facts.
|
|
|
4
4
|
|
|
5
5
|
Thread pitch is adjacent axial spacing; lead is `pitch × starts`. Prepare shared dimensions once. Native rods, internal cutters, and nuts share printable fit and end-treatment options.
|
|
6
6
|
|
|
7
|
-
Constructors enforce safety automatically.
|
|
7
|
+
Constructors enforce safety automatically. Use optional preflight to estimate resources or validate individual controls before construction. These forms do not certify a structural rating or metrology class.
|
|
8
8
|
|
|
9
9
|
## Functions
|
|
10
10
|
|
|
@@ -22,8 +22,7 @@ Constructors enforce safety automatically. Optional preflight provides resource
|
|
|
22
22
|
|
|
23
23
|
| API | Summary |
|
|
24
24
|
| --- | --- |
|
|
25
|
-
| [
|
|
26
|
-
| [HelicalThreadSolidMeshPreflight](../HelicalThreadSolidMeshPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
|
|
25
|
+
| [ThreadSolidPreflight](../ThreadSolidPreflight.md) | Selected sampling counts and conservative allocation estimates, before thread mesh construction. |
|
|
27
26
|
| [InternalThreadCutterOptions](../InternalThreadCutterOptions.md) | Options for a compensated internal-thread subtraction tool along +Z. |
|
|
28
27
|
| [PrintableThreadFitPolicy](../PrintableThreadFitPolicy.md) | Explicit radial and axial allowances for a mating printed thread pair. |
|
|
29
28
|
| [ThreadedNutOptions](../ThreadedNutOptions.md) | Options for a compensated nut with an internal thread. |
|
|
@@ -31,23 +30,34 @@ Constructors enforce safety automatically. Optional preflight provides resource
|
|
|
31
30
|
| [ThreadedRodOptions](../ThreadedRodOptions.md) | Options for a compensated external threaded rod along +Z. |
|
|
32
31
|
| [ThreadEndTreatmentOptions](../ThreadEndTreatmentOptions.md) | Axial end controls for a generated ridge. |
|
|
33
32
|
| [ThreadProfile](../ThreadProfile.md) | A validated immutable periodic thread profile in `[axial, radial]` millimetres. |
|
|
33
|
+
| [ThreadRidgeOptions](../ThreadRidgeOptions.md) | Runtime-neutral options for the dedicated helical ridge mesher. |
|
|
34
|
+
| [ThreadBevelOptions](../ThreadBevelOptions.md) | 45-degree end bevels for compensated rods and cutters. |
|
|
35
|
+
| [ThreadProfileBaseSpec](../ThreadProfileBaseSpec.md) | Fields shared by all thread profile specifications. |
|
|
36
|
+
| [AcmeThreadProfileSpec](../AcmeThreadProfileSpec.md) | ACME 29-degree included-angle profile. |
|
|
37
|
+
| [ButtressThreadProfileSpec](../ButtressThreadProfileSpec.md) | Asymmetric printable buttress profile with 7/45-degree flanks. |
|
|
38
|
+
| [CustomThreadProfileSpec](../CustomThreadProfileSpec.md) | Caller-defined periodic axial/radial profile in millimetres. |
|
|
39
|
+
| [SquareThreadProfileSpec](../SquareThreadProfileSpec.md) | Square profile with equal crest and root widths. |
|
|
40
|
+
| [TrapezoidalThreadProfileSpec](../TrapezoidalThreadProfileSpec.md) | Trapezoidal thread profile with a configurable included angle. |
|
|
41
|
+
| [TriangularThreadProfileSpec](../TriangularThreadProfileSpec.md) | ISO/UTS-like 60-degree truncated triangular profile. |
|
|
34
42
|
|
|
35
43
|
## Type aliases
|
|
36
44
|
|
|
37
45
|
| API | Summary |
|
|
38
46
|
| --- | --- |
|
|
39
47
|
| [PrintableThreadFit](../PrintableThreadFit.md) | Named baseline fit policies for calibrated FDM-style printed threads. |
|
|
40
|
-
| [
|
|
48
|
+
| [Bevel](../Bevel.md) | One size for both ends, or independent sizes in bottom/top order. Zero disables an end. |
|
|
49
|
+
| [BevelSize](../BevelSize.md) | Nonnegative 45-degree axial/radial bevel size in millimetres, or factory automatic sizing. |
|
|
41
50
|
| [ThreadedNutShape](../ThreadedNutShape.md) | Supported printable nut body shapes. |
|
|
42
51
|
| [ThreadEndStyle](../ThreadEndStyle.md) | End shape of a generated helical ridge. |
|
|
43
52
|
| [ThreadHandedness](../ThreadHandedness.md) | Direction in which a conventional helical thread advances around +Z. |
|
|
44
53
|
| [ThreadLeadInEnvelope](../ThreadLeadInEnvelope.md) | Radial envelope toward which a blunt lead-in collapses. |
|
|
45
54
|
| [ThreadLeadInShape](../ThreadLeadInShape.md) | BOSL2-compatible cross-section scaling curve for a blunt thread lead-in. |
|
|
46
|
-
| [
|
|
55
|
+
| [ThreadProfileSpec](../ThreadProfileSpec.md) | Supported built-in and caller-defined thread profiles. |
|
|
56
|
+
| [ButtressPressureFlankSide](../ButtressPressureFlankSide.md) | Axial side carrying the near-normal pressure flank of a buttress thread. |
|
|
47
57
|
|
|
48
58
|
## Guides
|
|
49
59
|
|
|
50
60
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
51
61
|
- [Preflight guarantees and host settings](../../../guides/concepts.md#check-preflight-guarantees)
|
|
52
62
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
63
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Transforms, vectors, and placement
|
|
2
2
|
|
|
3
|
-
Calculate with immutable vectors, reuse transforms, and
|
|
3
|
+
Calculate with immutable vectors, reuse transforms, and position geometry.
|
|
4
4
|
|
|
5
5
|
Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` for reusable placements. Tuples are accepted as operands; `dot()`, `length()`, and `distance()` return numbers. Shape `transform()` methods accept matching transforms directly.
|
|
6
6
|
|
|
@@ -19,7 +19,6 @@ Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` f
|
|
|
19
19
|
| [transform3](../transform3.md) | Creates an immutable XYZ transform, identity by default. |
|
|
20
20
|
| [vector2](../vector2.md) | Creates immutable XY arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
21
21
|
| [vector3](../vector3.md) | Creates immutable XYZ arithmetic from a finite tuple or vector, snapshotting the coordinates. |
|
|
22
|
-
| [anchor](../anchor.md) | Reads a copied, immutable named anchor from this exact active generation. |
|
|
23
22
|
| [gridPattern](../gridPattern.md) | XY or XYZ copies, optionally centered or placed in an explicit frame. |
|
|
24
23
|
| [linearPattern](../linearPattern.md) | Repeats one solid along a normalized direction. |
|
|
25
24
|
| [pathPattern](../pathPattern.md) | Physical arc-length copies along a sampled path, with optional tangent orientation. |
|
|
@@ -62,4 +61,4 @@ Use `vector2`/`vector3` for immutable arithmetic and `transform2`/`transform3` f
|
|
|
62
61
|
- [Primitive booleans and repeated placement](../../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
63
62
|
- [Fluent values and standalone algorithms](../../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
64
63
|
|
|
65
|
-
Package: `@metamesh/modeling@0.
|
|
64
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -36,4 +36,4 @@ circle({ diameter: 12, sizing: "face" });
|
|
|
36
36
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
37
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
38
38
|
|
|
39
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -49,4 +49,4 @@ cylinder({ height: 20, radius: [10, 0] });
|
|
|
49
49
|
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
50
50
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
51
51
|
|
|
52
|
-
Package: `@metamesh/modeling@0.
|
|
52
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -36,4 +36,4 @@ ellipse({ size: [30, 20] });
|
|
|
36
36
|
- [SVG sections: fills and strokes are different inputs](../../guides/concepts.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
37
37
|
- [Text and font variability](../../guides/concepts.md#text-and-font-variability)
|
|
38
38
|
|
|
39
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# extrude
|
|
2
2
|
|
|
3
|
-
Extrudes explicit corresponding contours along +Z with degree twist and top scaling.
|
|
3
|
+
Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling. Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs.
|
|
4
4
|
|
|
5
|
-
**extrude**(`shape`: [`CorrespondingProfile`](CorrespondingProfile.md), `options`: [`ExtrudeOptions`](ExtrudeOptions.md)): [`Solid`](Solid.md)
|
|
5
|
+
**extrude**(`shape`: [`Section`](Section.md) \| [`CorrespondingProfile`](CorrespondingProfile.md), `options`: [`ExtrudeOptions`](ExtrudeOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -20,7 +20,7 @@ extrude(profile!, { height: 8 });
|
|
|
20
20
|
|
|
21
21
|
<a id="shape"></a>
|
|
22
22
|
|
|
23
|
-
**`shape`** · [`CorrespondingProfile`](CorrespondingProfile.md) · Required
|
|
23
|
+
**`shape`** · [`Section`](Section.md) \| [`CorrespondingProfile`](CorrespondingProfile.md) · Required
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
@@ -71,6 +71,7 @@ extrude(profile!, { height: 8 });
|
|
|
71
71
|
|
|
72
72
|
- [CorrespondingProfile](CorrespondingProfile.md)
|
|
73
73
|
- [ExtrudeOptions](ExtrudeOptions.md)
|
|
74
|
+
- [Section](Section.md)
|
|
74
75
|
- [Solid](Solid.md)
|
|
75
76
|
|
|
76
77
|
## Guides
|
|
@@ -80,4 +81,4 @@ extrude(profile!, { height: 8 });
|
|
|
80
81
|
- [Matched-section loft](../../guides/recipes.md#matched-section-loft)
|
|
81
82
|
- [Choose a modeling path](../../guides/concepts.md#choose-a-modeling-path)
|
|
82
83
|
|
|
83
|
-
Package: `@metamesh/modeling@0.
|
|
84
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# generate
|
|
2
2
|
|
|
3
|
-
Defines a typed model without executing it. Use `computed` only for work worth reusing.
|
|
3
|
+
Defines a typed model without executing it. Parameters are an object map of capturable data; runtime capture rejects arrays at the root, ordinary class instances, mutable buffers, and functions. Supply live capabilities through services. Use `computed` only for work worth reusing.
|
|
4
4
|
|
|
5
|
-
**generate**\<`P`, `S` = `Record`\<`never`, `never`\>\>(`callback`: [`GenerateCallback`](GenerateCallback.md)\<`P`, `S`\>): [`ModelProgram`](ModelProgram.md)\<`P`, `S`\>
|
|
5
|
+
**generate**\<`P` *extends* `object`, `S` = `Record`\<`never`, `never`\>\>(`callback`: [`GenerateCallback`](GenerateCallback.md)\<`P`, `S`\>): [`ModelProgram`](ModelProgram.md)\<`P`, `S`\>
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -19,7 +19,7 @@ const model = generate<{ height: number }>(({ params, part, assert }) => {
|
|
|
19
19
|
|
|
20
20
|
### P
|
|
21
21
|
|
|
22
|
-
`P`
|
|
22
|
+
`P` *extends* `object`
|
|
23
23
|
|
|
24
24
|
### S
|
|
25
25
|
|
|
@@ -47,4 +47,4 @@ const model = generate<{ height: number }>(({ params, part, assert }) => {
|
|
|
47
47
|
|
|
48
48
|
- [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
|
|
49
49
|
|
|
50
|
-
Package: `@metamesh/modeling@0.
|
|
50
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -78,4 +78,4 @@ readonly [`Section`](Section.md)[]
|
|
|
78
78
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
79
79
|
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
80
80
|
|
|
81
|
-
Package: `@metamesh/modeling@0.
|
|
81
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# holeCutter
|
|
2
2
|
|
|
3
|
-
Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
3
|
+
Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
4
4
|
|
|
5
5
|
**holeCutter**(`options`: [`HoleCutterOptions`](HoleCutterOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
@@ -31,6 +31,16 @@ holeCutter({
|
|
|
31
31
|
|
|
32
32
|
[`Solid`](Solid.md)
|
|
33
33
|
|
|
34
|
+
## Remarks
|
|
35
|
+
|
|
36
|
+
Choose exactly one circular diameter or existing Section. A 45-degree entry chamfer
|
|
37
|
+
supports one strictly convex contour without holes; plain profiles may have any topology.
|
|
38
|
+
Circular entries retain nominal frustum radii; profile entries offset the supplied polygon edges.
|
|
39
|
+
Circular head recesses are mutually exclusive with entryChamfer. Both overrun ends default
|
|
40
|
+
to zero, so the nominal bottom remains at Z=0 and blind pocket floors are preserved.
|
|
41
|
+
Existing Section samples are authoritative; limits and unspecified circular sampling belong
|
|
42
|
+
to the evaluating host.
|
|
43
|
+
|
|
34
44
|
|
|
35
45
|
## Related APIs
|
|
36
46
|
|
|
@@ -42,4 +52,4 @@ holeCutter({
|
|
|
42
52
|
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
43
53
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
44
54
|
|
|
45
|
-
Package: `@metamesh/modeling@0.
|
|
55
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -71,4 +71,4 @@ Convex filled XY hull of finite points or filled section recipes.
|
|
|
71
71
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
72
72
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
73
73
|
|
|
74
|
-
Package: `@metamesh/modeling@0.
|
|
74
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Copies numeric data once into private storage. This pure helper needs no active generation.
|
|
4
4
|
|
|
5
|
-
**immutableBuffer**\<`T` *extends* [`NumericArray`](NumericArray.md)\>(`source`: `T`): [`ImmutableBuffer`](ImmutableBuffer-type.md)\<`T`\>
|
|
5
|
+
**immutableBuffer**\<`T` *extends* [`NumericArray`](../geometry/NumericArray.md)\>(`source`: `T`): [`ImmutableBuffer`](../geometry/ImmutableBuffer-type.md)\<`T`\>
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -13,6 +13,7 @@ import { immutableBuffer } from "@metamesh/modeling";
|
|
|
13
13
|
const heights = immutableBuffer(new Float32Array([2, 4, 6]));
|
|
14
14
|
const count = heights.length;
|
|
15
15
|
const first = heights.at(0);
|
|
16
|
+
const doubled = Array.from(heights, (height) => height * 2);
|
|
16
17
|
const editable = heights.copy();
|
|
17
18
|
editable[0] = 8; // heights still contains 2, 4, 6.
|
|
18
19
|
```
|
|
@@ -21,7 +22,7 @@ editable[0] = 8; // heights still contains 2, 4, 6.
|
|
|
21
22
|
|
|
22
23
|
### T
|
|
23
24
|
|
|
24
|
-
`T` *extends* [`NumericArray`](NumericArray.md)
|
|
25
|
+
`T` *extends* [`NumericArray`](../geometry/NumericArray.md)
|
|
25
26
|
|
|
26
27
|
## Parameters
|
|
27
28
|
|
|
@@ -33,7 +34,7 @@ editable[0] = 8; // heights still contains 2, 4, 6.
|
|
|
33
34
|
|
|
34
35
|
## Returns
|
|
35
36
|
|
|
36
|
-
[`ImmutableBuffer`](ImmutableBuffer-type.md)\<`T`\>
|
|
37
|
+
[`ImmutableBuffer`](../geometry/ImmutableBuffer-type.md)\<`T`\>
|
|
37
38
|
|
|
38
39
|
|
|
39
40
|
## Related APIs
|
|
@@ -45,4 +46,4 @@ editable[0] = 8; // heights still contains 2, 4, 6.
|
|
|
45
46
|
|
|
46
47
|
- [Complete standalone model example](../../guides/standalone-model.md#minimal-model-entry)
|
|
47
48
|
|
|
48
|
-
Package: `@metamesh/modeling@0.
|
|
49
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -23,6 +23,10 @@ body.subtract([cutter]);
|
|
|
23
23
|
|
|
24
24
|
**`options`** · [`InternalThreadCutterOptions`](InternalThreadCutterOptions.md) · Required
|
|
25
25
|
|
|
26
|
+
- [`nominalMajorDiameter`](InternalThreadCutterOptions.md#nominalmajordiameter) · `number` · Required
|
|
27
|
+
|
|
28
|
+
Nominal major diameter before female compensation and faceting correction.
|
|
29
|
+
|
|
26
30
|
- [`length`](InternalThreadCutterOptions.md#length) · `number` · Required
|
|
27
31
|
|
|
28
32
|
Total threaded axial length in millimetres.
|
|
@@ -31,9 +35,14 @@ body.subtract([cutter]);
|
|
|
31
35
|
|
|
32
36
|
Validated periodic profile repeated around the shaft.
|
|
33
37
|
|
|
34
|
-
- [`
|
|
38
|
+
- [`fit`](InternalThreadCutterOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
35
39
|
|
|
36
|
-
|
|
40
|
+
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
41
|
+
|
|
42
|
+
- [`bevel`](InternalThreadCutterOptions.md#bevel) · [`Bevel`](Bevel.md) · Optional
|
|
43
|
+
|
|
44
|
+
Bottom/top sizes in millimetres. Omitted disables both. Auto uses profile depth for standard/tapered ends,
|
|
45
|
+
or one sixth of the compensated male minor/female major radius for blunt ends.
|
|
37
46
|
|
|
38
47
|
- [`ends`](InternalThreadCutterOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
|
|
39
48
|
|
|
@@ -64,23 +73,6 @@ body.subtract([cutter]);
|
|
|
64
73
|
|
|
65
74
|
Optional numerical tolerance overrides.
|
|
66
75
|
|
|
67
|
-
- [`fit`](InternalThreadCutterOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
68
|
-
|
|
69
|
-
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
70
|
-
|
|
71
|
-
- [`bevelBottom`](InternalThreadCutterOptions.md#bevelbottom) · `boolean` · Optional
|
|
72
|
-
|
|
73
|
-
Apply a 45-degree bevel at Z=0.
|
|
74
|
-
|
|
75
|
-
- [`bevelSize`](InternalThreadCutterOptions.md#bevelsize) · `number` · Optional
|
|
76
|
-
|
|
77
|
-
Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
|
|
78
|
-
male minor radius or female major radius; other ends default to the profile depth.
|
|
79
|
-
|
|
80
|
-
- [`bevelTop`](InternalThreadCutterOptions.md#beveltop) · `boolean` · Optional
|
|
81
|
-
|
|
82
|
-
Apply a 45-degree bevel at Z=length.
|
|
83
|
-
|
|
84
76
|
|
|
85
77
|
|
|
86
78
|
## Returns
|
|
@@ -98,4 +90,4 @@ body.subtract([cutter]);
|
|
|
98
90
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
99
91
|
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
100
92
|
|
|
101
|
-
Package: `@metamesh/modeling@0.
|
|
93
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# intersect
|
|
2
2
|
|
|
3
|
-
Robust intersection.
|
|
3
|
+
Robust intersection of one or more shapes; empty input rejects during declaration.
|
|
4
4
|
|
|
5
5
|
## Call Signature
|
|
6
6
|
|
|
@@ -20,7 +20,7 @@ intersect([box({ size: 20 }), sphere({ radius: 12 })]);
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
Robust intersection.
|
|
23
|
+
Robust intersection of one or more shapes; empty input rejects during declaration.
|
|
24
24
|
|
|
25
25
|
### Parameters
|
|
26
26
|
|
|
@@ -67,4 +67,4 @@ Native filled section intersection; dimensions cannot be mixed.
|
|
|
67
67
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
68
68
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
69
69
|
|
|
70
|
-
Package: `@metamesh/modeling@0.
|
|
70
|
+
Package: `@metamesh/modeling@0.18.0`.
|