@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
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Helical ridge mesh construction.
|
|
4
4
|
|
|
5
|
-
**threadRidge**(`options`: [`
|
|
5
|
+
**threadRidge**(`options`: [`ThreadRidgeOptions`](ThreadRidgeOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -10,46 +10,46 @@ Helical ridge mesh construction.
|
|
|
10
10
|
|
|
11
11
|
<a id="options"></a>
|
|
12
12
|
|
|
13
|
-
**`options`** · [`
|
|
13
|
+
**`options`** · [`ThreadRidgeOptions`](ThreadRidgeOptions.md) · Required
|
|
14
14
|
|
|
15
|
-
- [`length`](
|
|
15
|
+
- [`length`](ThreadRidgeOptions.md#length) · `number` · Required
|
|
16
16
|
|
|
17
17
|
Total threaded axial length in millimetres.
|
|
18
18
|
|
|
19
|
-
- [`majorDiameter`](
|
|
19
|
+
- [`majorDiameter`](ThreadRidgeOptions.md#majordiameter) · `number` · Required
|
|
20
20
|
|
|
21
21
|
Nominal major diameter before any caller-owned fit compensation.
|
|
22
22
|
|
|
23
|
-
- [`profile`](
|
|
23
|
+
- [`profile`](ThreadRidgeOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
24
24
|
|
|
25
25
|
Validated periodic profile repeated around the shaft.
|
|
26
26
|
|
|
27
|
-
- [`ends`](
|
|
27
|
+
- [`ends`](ThreadRidgeOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
|
|
28
28
|
|
|
29
29
|
Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
|
|
30
30
|
BOSL2-style non-cut lead-in scaling is available on complete thread solids.
|
|
31
31
|
|
|
32
|
-
- [`handedness`](
|
|
32
|
+
- [`handedness`](ThreadRidgeOptions.md#handedness) · [`ThreadHandedness`](ThreadHandedness.md) · Optional
|
|
33
33
|
|
|
34
34
|
Helix direction. Default: `right`.
|
|
35
35
|
|
|
36
|
-
- [`limits`](
|
|
36
|
+
- [`limits`](ThreadRidgeOptions.md#limits) · `Partial`\<[`ModelingLimits`](ModelingLimits.md)\> · Optional
|
|
37
37
|
|
|
38
38
|
Explicit output and circular allocation ceilings.
|
|
39
39
|
|
|
40
|
-
- [`phase`](
|
|
40
|
+
- [`phase`](ThreadRidgeOptions.md#phase) · `number` · Optional
|
|
41
41
|
|
|
42
42
|
Angular offset of the first start in degrees. Default: `0`.
|
|
43
43
|
|
|
44
|
-
- [`resolution`](
|
|
44
|
+
- [`resolution`](ThreadRidgeOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
45
45
|
|
|
46
46
|
Optional circular-resolution policy.
|
|
47
47
|
|
|
48
|
-
- [`starts`](
|
|
48
|
+
- [`starts`](ThreadRidgeOptions.md#starts) · `number` · Optional
|
|
49
49
|
|
|
50
50
|
Number of evenly phased starts. Default: `1`.
|
|
51
51
|
|
|
52
|
-
- [`tolerance`](
|
|
52
|
+
- [`tolerance`](ThreadRidgeOptions.md#tolerance) · [`GeometryToleranceOptions`](GeometryToleranceOptions.md) · Optional
|
|
53
53
|
|
|
54
54
|
Optional numerical tolerance overrides.
|
|
55
55
|
|
|
@@ -62,12 +62,12 @@ Helical ridge mesh construction.
|
|
|
62
62
|
|
|
63
63
|
## Related APIs
|
|
64
64
|
|
|
65
|
-
- [HelicalThreadRidgeMeshOptions](HelicalThreadRidgeMeshOptions.md)
|
|
66
65
|
- [Solid](Solid.md)
|
|
66
|
+
- [ThreadRidgeOptions](ThreadRidgeOptions.md)
|
|
67
67
|
|
|
68
68
|
## Guides
|
|
69
69
|
|
|
70
70
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
71
71
|
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
72
72
|
|
|
73
|
-
Package: `@metamesh/modeling@0.
|
|
73
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -22,10 +22,6 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
|
|
|
22
22
|
|
|
23
23
|
**`options`** · [`ThreadedNutOptions`](ThreadedNutOptions.md) · Required
|
|
24
24
|
|
|
25
|
-
- [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
26
|
-
|
|
27
|
-
Validated periodic profile repeated around the shaft.
|
|
28
|
-
|
|
29
25
|
- [`nominalMajorDiameter`](ThreadedNutOptions.md#nominalmajordiameter) · `number` · Required
|
|
30
26
|
|
|
31
27
|
Nominal major diameter before female compensation and faceting correction.
|
|
@@ -42,6 +38,27 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
|
|
|
42
38
|
|
|
43
39
|
Across-flats width for hex/square or diameter for round, in millimetres.
|
|
44
40
|
|
|
41
|
+
- [`profile`](ThreadedNutOptions.md#profile) · [`ThreadProfile`](ThreadProfile.md) · Required
|
|
42
|
+
|
|
43
|
+
Validated periodic profile repeated around the shaft.
|
|
44
|
+
|
|
45
|
+
- [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
46
|
+
|
|
47
|
+
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
48
|
+
|
|
49
|
+
- [`innerBevel`](ThreadedNutOptions.md#innerbevel) · [`Bevel`](Bevel.md) · Optional
|
|
50
|
+
|
|
51
|
+
Opening bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4); zero disables.
|
|
52
|
+
|
|
53
|
+
- [`outerBevel`](ThreadedNutOptions.md#outerbevel) · [`Bevel`](Bevel.md) · Optional
|
|
54
|
+
|
|
55
|
+
Body bevels in [bottom, top] order. Omitted or auto uses min(profile.depth, thickness/4).
|
|
56
|
+
Use [0, "auto"] to keep the outside bottom flat without disabling its inner opening bevel.
|
|
57
|
+
|
|
58
|
+
- [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
59
|
+
|
|
60
|
+
Optional physical policy for a round body, independent of the thread's matched facet grid.
|
|
61
|
+
|
|
45
62
|
- [`ends`](ThreadedNutOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
|
|
46
63
|
|
|
47
64
|
Optional bottom/top ridge-end treatments. Standalone ridges honor the requested boundaries;
|
|
@@ -71,26 +88,6 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
|
|
|
71
88
|
|
|
72
89
|
Optional numerical tolerance overrides.
|
|
73
90
|
|
|
74
|
-
- [`fit`](ThreadedNutOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
75
|
-
|
|
76
|
-
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
77
|
-
|
|
78
|
-
- [`bevel`](ThreadedNutOptions.md#bevel) · [`ThreadedNutBevel`](ThreadedNutBevel.md) · Optional
|
|
79
|
-
|
|
80
|
-
Nut body bevel selection. Default: `automatic`.
|
|
81
|
-
|
|
82
|
-
- [`bodyResolution`](ThreadedNutOptions.md#bodyresolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
83
|
-
|
|
84
|
-
Optional physical policy for a round body, independent of the thread's matched facet grid.
|
|
85
|
-
|
|
86
|
-
- [`chamferSize`](ThreadedNutOptions.md#chamfersize) · `number` · Optional
|
|
87
|
-
|
|
88
|
-
45-degree body chamfer extent. Default: `min(profile.depth, thickness/4)`.
|
|
89
|
-
|
|
90
|
-
- [`flushBuildPlateBottom`](ThreadedNutOptions.md#flushbuildplatebottom) · `boolean` · Optional
|
|
91
|
-
|
|
92
|
-
Leave the bottom outside edge flat for build-plate adhesion. Default: `false`.
|
|
93
|
-
|
|
94
91
|
|
|
95
92
|
|
|
96
93
|
## Returns
|
|
@@ -108,4 +105,4 @@ threadedNut({ nominalMajorDiameter: 12, thickness: 8, width: 20, shape: "hex", p
|
|
|
108
105
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
109
106
|
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
110
107
|
|
|
111
|
-
Package: `@metamesh/modeling@0.
|
|
108
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -22,6 +22,10 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
|
|
|
22
22
|
|
|
23
23
|
**`options`** · [`ThreadedRodOptions`](ThreadedRodOptions.md) · Required
|
|
24
24
|
|
|
25
|
+
- [`nominalMajorDiameter`](ThreadedRodOptions.md#nominalmajordiameter) · `number` · Required
|
|
26
|
+
|
|
27
|
+
Nominal major diameter before male compensation.
|
|
28
|
+
|
|
25
29
|
- [`length`](ThreadedRodOptions.md#length) · `number` · Required
|
|
26
30
|
|
|
27
31
|
Total threaded axial length in millimetres.
|
|
@@ -30,9 +34,14 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
|
|
|
30
34
|
|
|
31
35
|
Validated periodic profile repeated around the shaft.
|
|
32
36
|
|
|
33
|
-
- [`
|
|
37
|
+
- [`bevel`](ThreadedRodOptions.md#bevel) · [`Bevel`](Bevel.md) · Optional
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
Bottom/top sizes in millimetres. Omitted disables both. Auto uses profile depth for standard/tapered ends,
|
|
40
|
+
or one sixth of the compensated male minor/female major radius for blunt ends.
|
|
41
|
+
|
|
42
|
+
- [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
43
|
+
|
|
44
|
+
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
36
45
|
|
|
37
46
|
- [`ends`](ThreadedRodOptions.md#ends) · [`ThreadEndTreatmentOptions`](ThreadEndTreatmentOptions.md) · Optional
|
|
38
47
|
|
|
@@ -63,23 +72,6 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
|
|
|
63
72
|
|
|
64
73
|
Optional numerical tolerance overrides.
|
|
65
74
|
|
|
66
|
-
- [`bevelBottom`](ThreadedRodOptions.md#bevelbottom) · `boolean` · Optional
|
|
67
|
-
|
|
68
|
-
Apply a 45-degree bevel at Z=0.
|
|
69
|
-
|
|
70
|
-
- [`bevelSize`](ThreadedRodOptions.md#bevelsize) · `number` · Optional
|
|
71
|
-
|
|
72
|
-
Axial bevel extent in millimetres. Active blunt ends default to one sixth of the compensated
|
|
73
|
-
male minor radius or female major radius; other ends default to the profile depth.
|
|
74
|
-
|
|
75
|
-
- [`bevelTop`](ThreadedRodOptions.md#beveltop) · `boolean` · Optional
|
|
76
|
-
|
|
77
|
-
Apply a 45-degree bevel at Z=length.
|
|
78
|
-
|
|
79
|
-
- [`fit`](ThreadedRodOptions.md#fit) · [`PrintableThreadFit`](PrintableThreadFit.md) \| [`PrintableThreadFitPolicy`](PrintableThreadFitPolicy.md) · Optional
|
|
80
|
-
|
|
81
|
-
Printable fit or caller-calibrated allowances. Default: `normal`.
|
|
82
|
-
|
|
83
75
|
|
|
84
76
|
|
|
85
77
|
## Returns
|
|
@@ -97,4 +89,4 @@ threadedRod({ nominalMajorDiameter: 12, length: 24, profile, fit: "normal" });
|
|
|
97
89
|
- [Build printable threads](https://metamesh.studio/docs/develop/printable-threads#build-the-first-mating-pair)
|
|
98
90
|
- [Preflight guarantees and host settings](../../guides/concepts.md#check-preflight-guarantees)
|
|
99
91
|
|
|
100
|
-
Package: `@metamesh/modeling@0.
|
|
92
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -67,4 +67,4 @@ torus({ majorRadius: 12, minorRadius: 3 });
|
|
|
67
67
|
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
68
68
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
69
69
|
|
|
70
|
-
Package: `@metamesh/modeling@0.
|
|
70
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -43,4 +43,4 @@ Use `toData()` for frozen matrix interchange.
|
|
|
43
43
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
44
44
|
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
45
45
|
|
|
46
|
-
Package: `@metamesh/modeling@0.
|
|
46
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -45,4 +45,4 @@ Use `toData()` for frozen matrix interchange.
|
|
|
45
45
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
46
46
|
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
47
47
|
|
|
48
|
-
Package: `@metamesh/modeling@0.
|
|
48
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -22,41 +22,6 @@ tube({ height: 20, outerRadius: 10, innerRadius: 6 });
|
|
|
22
22
|
|
|
23
23
|
**`options`** · [`TubeOptions`](TubeOptions.md) · Required
|
|
24
24
|
|
|
25
|
-
- [`height`](TubeOptions.md#height) · `number` · Required
|
|
26
|
-
|
|
27
|
-
Total height along Z in millimetres.
|
|
28
|
-
|
|
29
|
-
- [`innerRadius`](TubeOptions.md#innerradius) · `number` · Required
|
|
30
|
-
|
|
31
|
-
Positive inner radius in millimetres.
|
|
32
|
-
|
|
33
|
-
- [`outerRadius`](TubeOptions.md#outerradius) · `number` · Required
|
|
34
|
-
|
|
35
|
-
Outer radius in millimetres; greater than [TubeOptions.innerRadius](TubeOptions.md#innerradius).
|
|
36
|
-
|
|
37
|
-
- [`limits`](TubeOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
38
|
-
|
|
39
|
-
Explicit sampling ceilings; bound modeling operations may only lower the host policy.
|
|
40
|
-
|
|
41
|
-
- [`segments`](TubeOptions.md#segments) · `number` · Optional
|
|
42
|
-
|
|
43
|
-
Exact circumferential segment count from three through the configured safety limit.
|
|
44
|
-
|
|
45
|
-
This local topology override takes precedence over [CircularPrimitiveOptions.resolution](CircularPrimitiveOptions.md#resolution)
|
|
46
|
-
and any active model-wide resolution policy.
|
|
47
|
-
|
|
48
|
-
- [`resolution`](TubeOptions.md#resolution) · [`GeometryResolution`](GeometryResolution.md) · Optional
|
|
49
|
-
|
|
50
|
-
Operation-level physical tessellation policy over the active model-wide policy.
|
|
51
|
-
|
|
52
|
-
- [`attachment`](TubeOptions.md#attachment) · [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md) · Optional
|
|
53
|
-
|
|
54
|
-
Applied after local construction; Section attachment must preserve the XY plane.
|
|
55
|
-
|
|
56
|
-
- [`center`](TubeOptions.md#center) · `boolean` · Optional · Default: `true`
|
|
57
|
-
|
|
58
|
-
Centers the tube on the Z origin when `true`; otherwise its bottom is at `Z = 0`.
|
|
59
|
-
|
|
60
25
|
|
|
61
26
|
|
|
62
27
|
## Returns
|
|
@@ -74,4 +39,4 @@ tube({ height: 20, outerRadius: 10, innerRadius: 6 });
|
|
|
74
39
|
- [Choose a primitive](../../guides/recipes.md#choose-a-primitive)
|
|
75
40
|
- [Treated boxes, frustums, and mirrored arrays](../../guides/recipes.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
76
41
|
|
|
77
|
-
Package: `@metamesh/modeling@0.
|
|
42
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# union
|
|
2
2
|
|
|
3
|
-
Robust union.
|
|
3
|
+
Robust union of one or more shapes; empty input rejects during declaration.
|
|
4
4
|
|
|
5
5
|
## Call Signature
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ union([block, cap]);
|
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
25
|
-
Robust union.
|
|
25
|
+
Robust union of one or more shapes; empty input rejects during declaration.
|
|
26
26
|
|
|
27
27
|
### Parameters
|
|
28
28
|
|
|
@@ -69,4 +69,4 @@ Native filled section union; dimensions cannot be mixed.
|
|
|
69
69
|
- [Choose the Boolean by the material you want](../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
70
70
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
71
71
|
|
|
72
|
-
Package: `@metamesh/modeling@0.
|
|
72
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -37,4 +37,4 @@ Use `toData()` for frozen tuple interchange, or
|
|
|
37
37
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
38
38
|
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
39
39
|
|
|
40
|
-
Package: `@metamesh/modeling@0.
|
|
40
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -44,4 +44,4 @@ Use `toData()` for frozen tuple interchange, or
|
|
|
44
44
|
- [Primitive booleans and repeated placement](../../guides/recipes.md#primitive-booleans-and-repeated-placement)
|
|
45
45
|
- [Fluent values and standalone algorithms](../../guides/concepts.md#choose-fluent-values-or-standalone-algorithms)
|
|
46
46
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
47
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -2,46 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
Immutable shapes, vectors and transforms with fluent operations and host-owned geometry evaluation.
|
|
4
4
|
|
|
5
|
-
Import `generate`, shape constructors, vectors, transforms and collection functions
|
|
5
|
+
Build models from immutable shapes with `@metamesh/modeling`. Import `generate`, shape constructors, vectors, transforms, and collection functions, then chain shape methods to transform, combine, query, and finish recipes. A host session runs the model and manages optional computed caches.
|
|
6
6
|
|
|
7
7
|
```ts
|
|
8
8
|
import { box, cylinder, generate } from "@metamesh/modeling";
|
|
9
9
|
import { createModelEngine } from "@metamesh/modeling/engine";
|
|
10
|
-
const model = generate<Record<never, never>>(({ part }) => [part("plate", box({ size: [30, 20, 6] }).subtract(
|
|
10
|
+
const model = generate<Record<never, never>>(({ part }) => [part("plate", box({ size: [30, 20, 6] }).subtract(cylinder({ radius: 3, height: 8 })))]);
|
|
11
11
|
const engine = await createModelEngine();
|
|
12
|
-
const
|
|
13
|
-
const snapshot = session.run({});
|
|
14
|
-
snapshot.dispose();
|
|
15
|
-
session.dispose();
|
|
12
|
+
const result = engine.run(model);
|
|
16
13
|
```
|
|
17
14
|
|
|
18
|
-
Computed data and recipes reuse unchanged work.
|
|
15
|
+
Computed data and recipes let you reuse unchanged work. Keep part placement and color separate from local geometry. Section recipes preserve holes through Boolean and offset chains.
|
|
19
16
|
|
|
20
17
|
- **Construction:** recipes and composition require no engine. Ordinary recipes can be reused across sessions, wherever constructed.
|
|
21
18
|
- **Resolution:** explicit settings are captured; unspecified settings inherit the evaluating host's defaults.
|
|
22
|
-
- **Observation:** synchronous host execution
|
|
23
|
-
- **Ownership:** the current transaction owns temporary native allocations; sessions may
|
|
19
|
+
- **Observation:** call `shape.inspect()`, `shape.isEmpty()`, `shape.components()`, or `shape.anchor(name)` during synchronous host execution. Solids also expose `distance`, `castSegment`, `split`, `splitByPlane`, and `toMesh` methods. Observed component selections stay restricted to their originating session.
|
|
20
|
+
- **Ownership:** the current transaction owns temporary native allocations; sessions may keep evaluated geometry in bounded private caches. Both run methods return durable immutable results without disposal; sessions alone own cache and native-resource lifetimes.
|
|
24
21
|
|
|
25
22
|
See [host lifecycle](engine.md) and [pure foundations](geometry.md).
|
|
26
23
|
|
|
27
24
|
## Categories
|
|
28
25
|
|
|
29
|
-
- [Primitives](model/categories/primitives.md) — Create
|
|
26
|
+
- [Primitives](model/categories/primitives.md) — Create basic solids with explicit dimensions and tessellation.
|
|
30
27
|
- [Local resolution](model/categories/resolution.md) — Choose physical curve sampling and explicit native tolerance.
|
|
31
28
|
- [2D sections](model/categories/sections.md) — Create immutable filled XY shapes, including prepared text and bounded painted SVG.
|
|
32
|
-
- [Sampled paths](model/categories/paths.md) —
|
|
29
|
+
- [Sampled paths](model/categories/paths.md) — Reuse immutable sampled paths in 2D or 3D.
|
|
33
30
|
- [Boolean operations](model/categories/boolean-operations.md) — Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
|
|
34
|
-
- [Transforms, vectors, and placement](model/categories/transforms-placement.md) — Calculate with immutable vectors, reuse transforms, and
|
|
31
|
+
- [Transforms, vectors, and placement](model/categories/transforms-placement.md) — Calculate with immutable vectors, reuse transforms, and position geometry.
|
|
35
32
|
- [Extrude, revolve, and sweep](model/categories/extrude-revolve-sweep.md) — Turn sections and paths into extruded, lofted, revolved, or swept solids.
|
|
36
33
|
- [Knuckle joints](model/categories/hinges.md) — Compose reusable knuckle joints with independent mounting attachments.
|
|
37
34
|
- [Printable threads](model/categories/threads.md) — Construct compensated thread forms and inspect bounded preflight facts.
|
|
38
|
-
- [Mesh and inspection](model/categories/mesh-inspection.md) — Convert validated meshes and
|
|
39
|
-
- [Core values](model/categories/core-values-errors.md) — Use shared coordinate
|
|
40
|
-
- [Bounds](model/categories/bounds.md) — Measure immutable axis-aligned
|
|
35
|
+
- [Mesh and inspection](model/categories/mesh-inspection.md) — Convert validated meshes and read stable section or solid measurements.
|
|
36
|
+
- [Core values and errors](model/categories/core-values-errors.md) — Use shared coordinate data and recognize structured geometry errors.
|
|
37
|
+
- [Bounds](model/categories/bounds.md) — Measure immutable axis-aligned bounds and check whether positioned bounds contain one another.
|
|
41
38
|
- [Explicit matching profiles](model/categories/explicit-profiles.md) — Build hollow or multicomponent lofts and sweeps using stable landmarks.
|
|
42
39
|
- [Sampled surfaces](model/categories/bounded-surfaces.md) — Construct bounded heightfields and positive-inside implicit fields.
|
|
43
|
-
- [
|
|
44
|
-
- [Model
|
|
45
|
-
- [Model contracts](model/categories/contracts.md) — Describe opaque handles, dimensions, manufacturing parts, and completed snapshots.
|
|
40
|
+
- [Model generation](model/categories/generation.md) — Build typed models with optional cached computations, named parts, and structured warnings or errors.
|
|
41
|
+
- [Model contracts](model/categories/contracts.md) — Understand opaque shape handles, dimensions, manufacturing parts, and durable model results.
|
|
46
42
|
|
|
47
|
-
Package: `@metamesh/modeling@0.
|
|
43
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# MAX_VECTOR_FONT_BYTES
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Maximum input font size in bytes, checked before parsing or shaping untrusted font data.
|
|
4
4
|
|
|
5
5
|
`const` **MAX\_VECTOR\_FONT\_BYTES**: `number`
|
|
6
6
|
|
|
7
|
-
Package: `@metamesh/modeling@0.
|
|
7
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -30,7 +30,7 @@ Shape horizontal lines or one circular line; bounded to 512 UTF-16 units and sup
|
|
|
30
30
|
|
|
31
31
|
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
32
32
|
|
|
33
|
-
- [`align`](VectorTextLayoutOptions.md#align) · `"
|
|
33
|
+
- [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
|
|
34
34
|
|
|
35
35
|
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
36
36
|
|
|
@@ -42,7 +42,7 @@ Shape horizontal lines or one circular line; bounded to 512 UTF-16 units and sup
|
|
|
42
42
|
|
|
43
43
|
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
44
44
|
|
|
45
|
-
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"
|
|
45
|
+
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
|
|
46
46
|
|
|
47
47
|
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
48
48
|
|
|
@@ -88,7 +88,7 @@ Measure the same cached vector layout; all returned lengths are in millimetres.
|
|
|
88
88
|
|
|
89
89
|
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
90
90
|
|
|
91
|
-
- [`align`](VectorTextLayoutOptions.md#align) · `"
|
|
91
|
+
- [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
|
|
92
92
|
|
|
93
93
|
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
94
94
|
|
|
@@ -100,7 +100,7 @@ Measure the same cached vector layout; all returned lengths are in millimetres.
|
|
|
100
100
|
|
|
101
101
|
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
102
102
|
|
|
103
|
-
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"
|
|
103
|
+
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
|
|
104
104
|
|
|
105
105
|
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
106
106
|
|
|
@@ -146,7 +146,7 @@ Serialize visible horizontal or circular outlines as bounded path-only SVG in ph
|
|
|
146
146
|
|
|
147
147
|
Em size in millimetres, greater than zero and at most 10000; not the visible glyph height.
|
|
148
148
|
|
|
149
|
-
- [`align`](VectorTextLayoutOptions.md#align) · `"
|
|
149
|
+
- [`align`](VectorTextLayoutOptions.md#align) · `"left"` \| `"right"` \| `"center"` · Optional
|
|
150
150
|
|
|
151
151
|
Place the advance's start, midpoint or end at the datum; defaults to center on arcs, otherwise left.
|
|
152
152
|
|
|
@@ -158,7 +158,7 @@ Serialize visible horizontal or circular outlines as bounded path-only SVG in ph
|
|
|
158
158
|
|
|
159
159
|
Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural vertical metrics.
|
|
160
160
|
|
|
161
|
-
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"
|
|
161
|
+
- [`verticalAlign`](VectorTextLayoutOptions.md#verticalalign) · `"top"` \| `"bottom"` \| `"center"` \| `"baseline"` · Optional
|
|
162
162
|
|
|
163
163
|
Place the first baseline or complete ink bounds at Y=0; arcs only accept baseline.
|
|
164
164
|
|
|
@@ -183,4 +183,4 @@ Serialize visible horizontal or circular outlines as bounded path-only SVG in ph
|
|
|
183
183
|
- [VectorTextLayoutOptions](VectorTextLayoutOptions.md)
|
|
184
184
|
- [VectorTextMetrics](VectorTextMetrics.md)
|
|
185
185
|
|
|
186
|
-
Package: `@metamesh/modeling@0.
|
|
186
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -12,7 +12,7 @@ Text bounded to 512 UTF-16 units: horizontal lines or one circular line without
|
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
`readonly` `optional` **align?**: `"
|
|
15
|
+
`readonly` `optional` **align?**: `"left"` \| `"right"` \| `"center"`
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
@@ -48,7 +48,7 @@ Baseline spacing in ems, 0.5–5; omitted uses the selected face's natural verti
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
`readonly` `optional` **verticalAlign?**: `"
|
|
51
|
+
`readonly` `optional` **verticalAlign?**: `"top"` \| `"bottom"` \| `"center"` \| `"baseline"`
|
|
52
52
|
|
|
53
53
|
|
|
54
54
|
|
|
@@ -108,4 +108,4 @@ Tracking between glyph clusters in millimetres, -100–100; defaults to zero.
|
|
|
108
108
|
- [VectorTextArcBaseline](VectorTextArcBaseline.md)
|
|
109
109
|
- [VectorTextOptions](VectorTextOptions.md)
|
|
110
110
|
|
|
111
|
-
Package: `@metamesh/modeling@0.
|
|
111
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Font preparation
|
|
2
2
|
|
|
3
|
-
Prepare
|
|
3
|
+
Prepare exact font bytes within limits and reuse vector layouts.
|
|
4
4
|
|
|
5
5
|
Prepare fonts before modeling. TTF, OTF, and WOFF are parsed directly; WOFF2 decoding loads lazily. Supply font bytes yourself; this library never fetches fonts.
|
|
6
6
|
|
|
@@ -35,6 +35,6 @@ Layout returns immutable paths and metrics in Y-up millimetres. Pass the prepare
|
|
|
35
35
|
|
|
36
36
|
| API | Summary |
|
|
37
37
|
| --- | --- |
|
|
38
|
-
| [MAX_VECTOR_FONT_BYTES](../MAX_VECTOR_FONT_BYTES.md) |
|
|
38
|
+
| [MAX_VECTOR_FONT_BYTES](../MAX_VECTOR_FONT_BYTES.md) | Maximum input font size in bytes, checked before parsing or shaping untrusted font data. |
|
|
39
39
|
|
|
40
|
-
Package: `@metamesh/modeling@0.
|
|
40
|
+
Package: `@metamesh/modeling@0.18.0`.
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
Prepare exact font bytes and shape reusable vector layouts before entering synchronous modeling.
|
|
4
4
|
|
|
5
|
-
Install `fontkit` for font preparation and `woff2-encoder` for WOFF2 decoding.
|
|
5
|
+
Use the optional `@metamesh/modeling/text` entry point to prepare exact font bytes and reusable vector layouts. Install `fontkit` for font preparation and `woff2-encoder` for WOFF2 decoding.
|
|
6
6
|
|
|
7
|
-
Supply font bytes yourself; this entry point never fetches fonts. Shape once during preparation
|
|
7
|
+
Supply font bytes yourself; this entry point never fetches fonts. Shape text once during preparation, then pass the immutable layout to modeling.
|
|
8
8
|
|
|
9
9
|
```ts
|
|
10
10
|
import { prepareVectorFont } from "@metamesh/modeling/text";
|
|
@@ -18,6 +18,6 @@ Paths and metrics use Y-up millimetres and a baseline origin. Empty layouts can
|
|
|
18
18
|
|
|
19
19
|
## Categories
|
|
20
20
|
|
|
21
|
-
- [Font preparation](text/categories/font-preparation.md) — Prepare
|
|
21
|
+
- [Font preparation](text/categories/font-preparation.md) — Prepare exact font bytes within limits and reuse vector layouts.
|
|
22
22
|
|
|
23
|
-
Package: `@metamesh/modeling@0.
|
|
23
|
+
Package: `@metamesh/modeling@0.18.0`.
|
package/dist/engine/execution.js
CHANGED
|
@@ -3,12 +3,12 @@ import { analyzeTriangleMesh, } from "../geometry/mesh/mesh.js";
|
|
|
3
3
|
import { assertMeshAllocationWithinLimits } from "../geometry/model-limits.js";
|
|
4
4
|
import { assertSamplingCount } from "../geometry/sampling-limits.js";
|
|
5
5
|
import { createSectionHandle, createSolidHandle } from "../model/shape-handles.js";
|
|
6
|
-
import { createModelingContext } from "./modeling-context.js";
|
|
7
6
|
import { ownScopedManifoldValue, scopedManifoldScope, trackScopedManifoldValue, } from "./native/context.js";
|
|
8
7
|
import { copiedFloat32Array, copiedUint32Array } from "./native/copied-views.js";
|
|
9
8
|
import * as kernel from "./native/index.js";
|
|
10
9
|
import { solidMaterialComponents } from "./native/material-components.js";
|
|
11
10
|
import { assertNativeSolidStatus } from "./native/status.js";
|
|
11
|
+
import { createModelingContext } from "./operations/context.js";
|
|
12
12
|
import { createShapeAnchorOwner } from "./shape-anchors.js";
|
|
13
13
|
/** Internal execution owner; no native value or constructor crosses the public facade. */
|
|
14
14
|
export function createExecutionContext(module, scope, limits, initialResolution = {}) {
|
|
@@ -101,8 +101,10 @@ export function createExecutionContext(module, scope, limits, initialResolution
|
|
|
101
101
|
const bounds = native.boundingBox();
|
|
102
102
|
const components = solidComponentsFor(handle);
|
|
103
103
|
const facts = Object.freeze({
|
|
104
|
-
|
|
105
|
-
|
|
104
|
+
bounds: Object.freeze({
|
|
105
|
+
min: Object.freeze([...bounds.min]),
|
|
106
|
+
max: Object.freeze([...bounds.max]),
|
|
107
|
+
}),
|
|
106
108
|
isEmpty: native.isEmpty(),
|
|
107
109
|
componentCount: components.length,
|
|
108
110
|
volume: native.volume(),
|
|
@@ -121,8 +123,10 @@ export function createExecutionContext(module, scope, limits, initialResolution
|
|
|
121
123
|
const empty = native.isEmpty();
|
|
122
124
|
const components = sectionComponentsFor(handle);
|
|
123
125
|
const facts = Object.freeze({
|
|
124
|
-
|
|
125
|
-
|
|
126
|
+
bounds: Object.freeze({
|
|
127
|
+
min: Object.freeze([...bounds.min]),
|
|
128
|
+
max: Object.freeze([...bounds.max]),
|
|
129
|
+
}),
|
|
126
130
|
isEmpty: empty,
|
|
127
131
|
area: native.area(),
|
|
128
132
|
contourCount: native.numContour(),
|
|
@@ -166,7 +170,7 @@ export function createExecutionContext(module, scope, limits, initialResolution
|
|
|
166
170
|
assertMeshAllocationWithinLimits(vertices, triangles, bytes, operation, limits);
|
|
167
171
|
};
|
|
168
172
|
const copyNativeMesh = (native) => {
|
|
169
|
-
assertNativeSolidStatus(native, "
|
|
173
|
+
assertNativeSolidStatus(native, "toMesh");
|
|
170
174
|
const raw = native.getMesh();
|
|
171
175
|
assertMeshAllocation(raw.numVert, raw.numTri, (raw.numVert + raw.numTri) * 12, "copyMesh");
|
|
172
176
|
const positions = copiedFloat32Array(raw.numVert * 3);
|