@metamesh/modeling 0.17.0 → 0.19.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 +186 -0
- package/README.md +147 -157
- package/dist/api/engine.d.ts +106 -83
- package/dist/api/export-3mf.d.ts +2 -0
- package/dist/api/export-glb.d.ts +2 -0
- package/dist/api/export-stl.d.ts +2 -0
- package/dist/api/export.d.ts +160 -0
- package/dist/api/geometry.d.ts +250 -461
- package/dist/api/index.d.ts +470 -445
- package/dist/api/mesh.d.ts +489 -0
- package/dist/api/text.d.ts +1 -1
- package/dist/docs/guides/concepts.md +32 -495
- package/dist/docs/guides/fonts.md +14 -13
- package/dist/docs/guides/fundamentals.md +30 -29
- package/dist/docs/guides/generation.md +84 -64
- package/dist/docs/guides/geometry-values.md +193 -0
- package/dist/docs/guides/hosting.md +147 -48
- package/dist/docs/guides/profiles-and-extrusion.md +252 -0
- package/dist/docs/guides/recipes.md +33 -769
- package/dist/docs/guides/resolution-and-inspection.md +133 -0
- package/dist/docs/guides/solid-joins.md +126 -0
- package/dist/docs/guides/standalone-model.md +8 -7
- package/dist/docs/guides/svg-and-text.md +215 -0
- package/dist/docs/guides/sweeps-and-lofts.md +179 -0
- package/dist/docs/guides/transforms-and-placement.md +313 -0
- package/dist/docs/manifest.json +3224 -4430
- package/dist/docs/reference/engine/GenerationOptions.md +12 -5
- package/dist/docs/reference/engine/GeometryResource.md +19 -13
- package/dist/docs/reference/engine/ModelDependencies.md +9 -3
- package/dist/docs/reference/engine/ModelEngine.md +33 -24
- package/dist/docs/reference/engine/ModelEngineOptions.md +13 -2
- package/dist/docs/reference/engine/ModelPart.md +114 -0
- package/dist/docs/reference/engine/ModelResult.md +181 -0
- package/dist/docs/reference/engine/ModelRunArguments.md +34 -0
- package/dist/docs/reference/engine/ModelRunOptions.md +110 -0
- package/dist/docs/reference/engine/ModelSession.md +22 -16
- package/dist/docs/reference/engine/SessionOptions.md +21 -10
- package/dist/docs/reference/engine/categories/host-lifecycle.md +20 -15
- package/dist/docs/reference/engine/checkModel.md +49 -0
- package/dist/docs/reference/engine/createModelEngine.md +11 -13
- package/dist/docs/reference/engine/defaultModelingLimits.md +15 -2
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
- package/dist/docs/reference/engine.md +8 -15
- package/dist/docs/reference/export/Export3mfOptions.md +24 -0
- package/dist/docs/reference/export/ExportDiagnostic.md +59 -0
- package/dist/docs/reference/export/ExportFormat.md +25 -0
- package/dist/docs/reference/export/ExportGeometry.md +39 -0
- package/dist/docs/reference/export/ExportGlbOptions.md +118 -0
- package/dist/docs/reference/export/ExportLimits.md +83 -0
- package/dist/docs/reference/export/ExportMaterial.md +47 -0
- package/dist/docs/reference/export/ExportOptions.md +94 -0
- package/dist/docs/reference/export/ExportPart.md +88 -0
- package/dist/docs/reference/export/ExportReport.md +82 -0
- package/dist/docs/reference/export/ExportSink.md +39 -0
- package/dist/docs/reference/export/ExportStlOptions.md +24 -0
- package/dist/docs/reference/export/ExportedFile.md +110 -0
- package/dist/docs/reference/export/categories/mesh-serialization.md +47 -0
- package/dist/docs/reference/export/defaultExportLimits.md +20 -0
- package/dist/docs/reference/export/export3mf.md +64 -0
- package/dist/docs/reference/export/exportGlb.md +68 -0
- package/dist/docs/reference/export/exportStl.md +64 -0
- package/dist/docs/reference/export/write3mf.md +71 -0
- package/dist/docs/reference/export/writeGlb.md +75 -0
- package/dist/docs/reference/export/writeStl.md +71 -0
- package/dist/docs/reference/export.md +21 -0
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +7 -1
- package/dist/docs/reference/geometry/Anchor3-type.md +13 -3
- package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
- package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
- package/dist/docs/reference/geometry/AttachOptions.md +13 -3
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +9 -3
- package/dist/docs/reference/geometry/Bevel.md +32 -0
- package/dist/docs/reference/geometry/BevelSize.md +28 -0
- package/dist/docs/reference/geometry/Bounds2-type.md +18 -4
- package/dist/docs/reference/geometry/Bounds2Data.md +22 -4
- package/dist/docs/reference/geometry/Bounds2Input.md +18 -4
- package/dist/docs/reference/geometry/Bounds2Options.md +61 -11
- package/dist/docs/reference/geometry/Bounds3-type.md +18 -4
- package/dist/docs/reference/geometry/Bounds3Data.md +18 -4
- package/dist/docs/reference/geometry/Bounds3Input.md +18 -4
- package/dist/docs/reference/geometry/Bounds3Options.md +61 -11
- package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
- package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
- package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
- package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +12 -6
- package/dist/docs/reference/geometry/BoxEdge.md +11 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +11 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +11 -1
- package/dist/docs/reference/geometry/BoxOptions.md +13 -3
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +16 -2
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +12 -2
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +15 -3
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
- package/dist/docs/reference/geometry/CircularSampling.md +7 -1
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +8 -2
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +8 -2
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +8 -2
- package/dist/docs/reference/geometry/Contour.md +12 -2
- package/dist/docs/reference/geometry/ContourCurve.md +8 -2
- package/dist/docs/reference/geometry/ContourPoint.md +8 -2
- package/dist/docs/reference/geometry/ContourSegment.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingComponent.md +12 -2
- package/dist/docs/reference/geometry/CorrespondingContour.md +12 -2
- package/dist/docs/reference/geometry/CorrespondingProfile.md +12 -2
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +12 -2
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
- package/dist/docs/reference/geometry/Curve2.md +8 -2
- package/dist/docs/reference/geometry/Curve3.md +8 -2
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +16 -2
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +11 -5
- package/dist/docs/reference/geometry/CylinderOptions.md +11 -1
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +8 -2
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +8 -2
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +14 -4
- package/dist/docs/reference/geometry/EndTreatments.md +12 -2
- package/dist/docs/reference/{model/ExtrudeOptions.md → geometry/ExtrudeMeshOptions.md} +30 -26
- package/dist/docs/reference/geometry/ExtrudeOptions.md +29 -11
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +18 -4
- package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
- package/dist/docs/reference/geometry/Frame3.md +16 -2
- package/dist/docs/reference/geometry/GeometryError.md +11 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +11 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +11 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +15 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +16 -2
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +15 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +12 -2
- package/dist/docs/reference/geometry/HeightfieldOptions.md +18 -3
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +12 -2
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +9 -3
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +110 -0
- package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +57 -0
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +63 -84
- package/dist/docs/reference/geometry/KnuckleHingeBaseSpec.md +12 -2
- package/dist/docs/reference/geometry/KnuckleHingeDimensions.md +8 -2
- package/dist/docs/reference/geometry/KnuckleHingeInterval.md +8 -2
- package/dist/docs/reference/geometry/KnuckleHingeSamplingOptions.md +12 -2
- package/dist/docs/reference/geometry/KnuckleHingeSpec.md +12 -2
- package/dist/docs/reference/geometry/LineCurve2.md +8 -2
- package/dist/docs/reference/geometry/LineCurve3.md +8 -2
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/LoftCorrespondence.md +16 -2
- package/dist/docs/reference/geometry/LoftMeshStation.md +12 -2
- package/dist/docs/reference/geometry/LoftOptions.md +18 -4
- package/dist/docs/reference/geometry/LoftPlacement.md +16 -2
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +8 -2
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +12 -2
- package/dist/docs/reference/geometry/MetricFastenerSize.md +8 -2
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +8 -2
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +8 -2
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +8 -2
- package/dist/docs/reference/geometry/ModelingLimits.md +19 -1
- package/dist/docs/reference/geometry/NumericArray.md +28 -0
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
- package/dist/docs/reference/geometry/Path2-type.md +16 -2
- package/dist/docs/reference/geometry/Path2Data.md +16 -2
- package/dist/docs/reference/geometry/Path2Input.md +16 -2
- package/dist/docs/reference/geometry/Path3-type.md +16 -2
- package/dist/docs/reference/geometry/Path3Data.md +16 -2
- package/dist/docs/reference/geometry/Path3Input.md +16 -2
- package/dist/docs/reference/geometry/PathFrame.md +8 -2
- package/dist/docs/reference/geometry/PathLocation.md +16 -2
- package/dist/docs/reference/geometry/PathNormalGuide.md +16 -2
- package/dist/docs/reference/geometry/PathOptions.md +12 -2
- package/dist/docs/reference/geometry/PathPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/PathPlacement.md +8 -2
- package/dist/docs/reference/geometry/PathResamplingOptions.md +16 -2
- package/dist/docs/reference/geometry/Pivot2Options.md +17 -3
- package/dist/docs/reference/geometry/Pivot3Options.md +17 -3
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +12 -2
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +12 -2
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +12 -2
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +12 -2
- package/dist/docs/reference/geometry/PolygonData.md +12 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +11 -3
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +11 -1
- package/dist/docs/reference/geometry/PrintableThreadFit.md +12 -2
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +12 -2
- package/dist/docs/reference/geometry/Profile.md +8 -2
- package/dist/docs/reference/geometry/ProfileComponent2.md +12 -2
- package/dist/docs/reference/geometry/ProfileContour2.md +12 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +12 -2
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/RackPitchDimensions.md +8 -2
- package/dist/docs/reference/geometry/RackPitchSpec.md +8 -2
- package/dist/docs/reference/geometry/RadialPatternOptions.md +12 -2
- package/dist/docs/reference/geometry/RadialSizing.md +11 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +11 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +14 -4
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +12 -2
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +12 -2
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +10 -4
- package/dist/docs/reference/geometry/RegionData.md +12 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +17 -3
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
- package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
- package/dist/docs/reference/geometry/SampledThreadHelices.md +8 -2
- package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
- package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
- package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +11 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +12 -2
- package/dist/docs/reference/geometry/SphereOptions.md +11 -1
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/StarContourOptions.md +84 -0
- package/dist/docs/reference/geometry/StrokeCap.md +12 -2
- package/dist/docs/reference/geometry/StrokeJoin.md +12 -2
- package/dist/docs/reference/geometry/StrokeOptions.md +12 -2
- package/dist/docs/reference/geometry/SvgImportOptions.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
- package/dist/docs/reference/geometry/SweepOptions.md +16 -2
- package/dist/docs/reference/geometry/SweepOrientation.md +16 -2
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +18 -31
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +8 -2
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +8 -2
- package/dist/docs/reference/geometry/ThreadEndStyle.md +16 -2
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +16 -2
- package/dist/docs/reference/geometry/ThreadHandedness.md +16 -2
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +8 -2
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +16 -2
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +16 -2
- package/dist/docs/reference/geometry/ThreadProfile-type.md +17 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +16 -2
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/{HelicalThreadRidgeMeshOptions.md → ThreadRidgeOptions.md} +19 -5
- package/dist/docs/reference/geometry/ThreadRole.md +8 -2
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshOptions.md → ThreadSolidOptions.md} +29 -66
- package/dist/docs/reference/geometry/{HelicalThreadSolidMeshPreflight.md → ThreadSolidPreflight.md} +17 -3
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +86 -87
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +29 -7
- package/dist/docs/reference/geometry/ThreadedNutShape.md +12 -2
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +63 -84
- package/dist/docs/reference/geometry/TorusOptions.md +11 -1
- package/dist/docs/reference/geometry/Transform2-type.md +17 -3
- package/dist/docs/reference/geometry/Transform2Data.md +17 -3
- package/dist/docs/reference/geometry/Transform2Input.md +17 -3
- package/dist/docs/reference/geometry/Transform3-type.md +17 -3
- package/dist/docs/reference/geometry/Transform3Data.md +17 -3
- package/dist/docs/reference/geometry/Transform3Input.md +17 -3
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/TriangleMesh.md +19 -6
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +25 -5
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +13 -3
- package/dist/docs/reference/geometry/TriangleMeshInput.md +29 -0
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +16 -2
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +14 -4
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +12 -2
- package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +145 -0
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +12 -2
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +16 -2
- package/dist/docs/reference/geometry/TubeOptions.md +20 -86
- package/dist/docs/reference/geometry/Vector2-type.md +17 -3
- package/dist/docs/reference/geometry/Vector2Data.md +21 -3
- package/dist/docs/reference/geometry/Vector2Input.md +17 -3
- package/dist/docs/reference/geometry/Vector3-type.md +17 -3
- package/dist/docs/reference/geometry/Vector3Data.md +17 -3
- package/dist/docs/reference/geometry/Vector3Input.md +17 -3
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +12 -2
- package/dist/docs/reference/geometry/VectorTextLayout.md +16 -2
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +14 -4
- package/dist/docs/reference/geometry/VectorTextMetrics.md +16 -2
- package/dist/docs/reference/geometry/VectorTextOptions.md +12 -2
- package/dist/docs/reference/geometry/add2.md +9 -3
- package/dist/docs/reference/geometry/add3.md +9 -3
- package/dist/docs/reference/geometry/anchor3.md +9 -3
- package/dist/docs/reference/geometry/anchorFrame3.md +8 -2
- package/dist/docs/reference/geometry/applyTransformDirection3.md +9 -3
- package/dist/docs/reference/geometry/applyTransformPoint3.md +9 -3
- package/dist/docs/reference/geometry/attachmentTransform3.md +9 -3
- package/dist/docs/reference/geometry/bounds2.md +18 -8
- package/dist/docs/reference/geometry/bounds3.md +18 -8
- package/dist/docs/reference/geometry/boundsCenter.md +10 -4
- package/dist/docs/reference/geometry/boundsSize.md +10 -4
- package/dist/docs/reference/geometry/boxAnchor3.md +11 -5
- package/dist/docs/reference/geometry/categories/bounds-layout.md +6 -6
- package/dist/docs/reference/geometry/categories/curves-paths.md +3 -3
- package/dist/docs/reference/geometry/categories/mechanical.md +9 -11
- package/dist/docs/reference/geometry/categories/meshes.md +20 -33
- package/dist/docs/reference/geometry/categories/pattern-placement.md +3 -3
- package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +6 -5
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -3
- package/dist/docs/reference/geometry/categories/transforms-math.md +5 -4
- package/dist/docs/reference/geometry/categories/vector-import.md +4 -4
- package/dist/docs/reference/geometry/circleContour.md +8 -2
- package/dist/docs/reference/geometry/closeToAxis.md +8 -2
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +8 -2
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +8 -2
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +8 -2
- package/dist/docs/reference/geometry/composeTransform3.md +9 -3
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +8 -2
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -2
- package/dist/docs/reference/geometry/contourContainsPoint.md +8 -2
- package/dist/docs/reference/geometry/cross2.md +9 -3
- package/dist/docs/reference/geometry/cross3.md +9 -3
- package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -4
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/distance2.md +9 -3
- package/dist/docs/reference/geometry/distance3.md +9 -3
- package/dist/docs/reference/geometry/distributeAlongPath.md +8 -2
- package/dist/docs/reference/geometry/dot2.md +9 -3
- package/dist/docs/reference/geometry/dot3.md +9 -3
- package/dist/docs/reference/geometry/ellipseContour.md +8 -2
- package/dist/docs/reference/geometry/eulerTransform3.md +9 -3
- package/dist/docs/reference/geometry/fitBounds.md +10 -4
- package/dist/docs/reference/geometry/fitTextLayout.md +8 -2
- package/dist/docs/reference/geometry/frameTransform3.md +9 -3
- package/dist/docs/reference/geometry/getMetricClearanceHoleDiameter.md +8 -2
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +8 -2
- package/dist/docs/reference/geometry/gridPatternTransforms.md +8 -2
- package/dist/docs/reference/{model → geometry}/immutableBuffer.md +13 -2
- package/dist/docs/reference/geometry/inverseTransform3.md +9 -3
- package/dist/docs/reference/geometry/isGeometryError.md +11 -1
- package/dist/docs/reference/geometry/layoutRow.md +10 -4
- package/dist/docs/reference/geometry/length2.md +9 -3
- package/dist/docs/reference/geometry/length3.md +9 -3
- package/dist/docs/reference/geometry/lerp2.md +9 -3
- package/dist/docs/reference/geometry/lerp3.md +9 -3
- package/dist/docs/reference/geometry/linearPatternTransforms.md +8 -2
- package/dist/docs/reference/geometry/matchProfiles.md +8 -2
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +8 -2
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +8 -2
- package/dist/docs/reference/geometry/normalize2.md +9 -3
- package/dist/docs/reference/geometry/normalize3.md +9 -3
- package/dist/docs/reference/geometry/normalizeContour.md +8 -2
- package/dist/docs/reference/geometry/normalizePolygon.md +8 -2
- package/dist/docs/reference/geometry/normalizeRegion.md +8 -2
- package/dist/docs/reference/geometry/path2.md +12 -2
- package/dist/docs/reference/geometry/path3.md +12 -2
- package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -2
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +25 -26
- package/dist/docs/reference/geometry/preflightSvgRegion.md +8 -2
- package/dist/docs/reference/geometry/preflightThreadedNut.md +31 -27
- package/dist/docs/reference/geometry/preflightThreadedRod.md +25 -26
- package/dist/docs/reference/geometry/projectOntoPlane3.md +9 -3
- package/dist/docs/reference/geometry/radialPatternTransforms.md +8 -2
- package/dist/docs/reference/geometry/rectangleContour.md +17 -6
- package/dist/docs/reference/geometry/rectangleProfile.md +9 -3
- package/dist/docs/reference/geometry/regionArea.md +8 -2
- package/dist/docs/reference/geometry/regionBounds.md +8 -2
- package/dist/docs/reference/geometry/regularPolygonContour.md +9 -3
- package/dist/docs/reference/geometry/resamplePolyline2.md +8 -2
- package/dist/docs/reference/geometry/resamplePolyline3.md +8 -2
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +7 -1
- package/dist/docs/reference/geometry/resolveArcSegments.md +7 -1
- package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
- package/dist/docs/reference/geometry/resolveCircularSegments.md +7 -1
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +8 -2
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +8 -2
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +8 -2
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +7 -1
- package/dist/docs/reference/geometry/resolveKnuckleHinge.md +8 -2
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +8 -2
- package/dist/docs/reference/geometry/resolveRackPitch.md +8 -2
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +8 -2
- package/dist/docs/reference/geometry/rotate2.md +9 -3
- package/dist/docs/reference/geometry/rotationTransform3.md +9 -3
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -2
- package/dist/docs/reference/geometry/sampleContour.md +8 -2
- package/dist/docs/reference/geometry/sampleCurve2.md +8 -2
- package/dist/docs/reference/geometry/sampleCurve3.md +8 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +8 -2
- package/dist/docs/reference/geometry/sampleHelix.md +8 -2
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +8 -2
- package/dist/docs/reference/geometry/sampleRackToothPath.md +8 -2
- package/dist/docs/reference/geometry/sampleSideProfile.md +8 -2
- package/dist/docs/reference/geometry/sampleTextContours.md +8 -2
- package/dist/docs/reference/geometry/sampleThreadHelices.md +8 -2
- package/dist/docs/reference/geometry/scale2.md +9 -3
- package/dist/docs/reference/geometry/scale3.md +9 -3
- package/dist/docs/reference/geometry/scaleTransform3.md +9 -3
- package/dist/docs/reference/geometry/signedContourArea.md +8 -2
- package/dist/docs/reference/geometry/starContour.md +24 -16
- package/dist/docs/reference/geometry/strokeRegionData.md +8 -2
- package/dist/docs/reference/geometry/subtract2.md +9 -3
- package/dist/docs/reference/geometry/subtract3.md +9 -3
- package/dist/docs/reference/geometry/threadProfile.md +8 -2
- package/dist/docs/reference/geometry/transform2.md +13 -3
- package/dist/docs/reference/geometry/transform3.md +13 -3
- package/dist/docs/reference/geometry/transformDeterminant3.md +9 -3
- package/dist/docs/reference/geometry/transformRegionData.md +8 -2
- package/dist/docs/reference/geometry/translationTransform3.md +9 -3
- package/dist/docs/reference/geometry/triangulateContour.md +8 -2
- package/dist/docs/reference/geometry/validateRigidTransform3.md +41 -0
- package/dist/docs/reference/geometry/validateTransform3.md +9 -3
- package/dist/docs/reference/geometry/vector2.md +13 -3
- package/dist/docs/reference/geometry/vector3.md +13 -3
- package/dist/docs/reference/geometry.md +10 -10
- package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
- package/dist/docs/reference/mesh/RenderMesh.md +68 -0
- package/dist/docs/reference/mesh/analyze.md +102 -0
- package/dist/docs/reference/mesh/analyzeQuality.md +62 -0
- package/dist/docs/reference/mesh/bounds.md +45 -0
- package/dist/docs/reference/mesh/categories/operations.md +57 -0
- package/dist/docs/reference/mesh/centroid.md +45 -0
- package/dist/docs/reference/mesh/extrude.md +79 -0
- package/dist/docs/reference/mesh/heightfield.md +57 -0
- package/dist/docs/reference/mesh/immutable.md +51 -0
- package/dist/docs/reference/mesh/join.md +47 -0
- package/dist/docs/reference/mesh/loft.md +83 -0
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +102 -0
- package/dist/docs/reference/mesh/preflightHeightfield.md +48 -0
- package/dist/docs/reference/mesh/preflightThreadSolid.md +96 -0
- package/dist/docs/reference/mesh/render.md +57 -0
- package/dist/docs/reference/mesh/reverse.md +41 -0
- package/dist/docs/reference/{geometry/revolveMesh.md → mesh/revolve.md} +23 -17
- package/dist/docs/reference/mesh/signature.md +70 -0
- package/dist/docs/reference/mesh/sweep.md +92 -0
- package/dist/docs/reference/mesh/threadRidge.md +78 -0
- package/dist/docs/reference/mesh/threadSolid.md +96 -0
- package/dist/docs/reference/mesh/transform.md +53 -0
- package/dist/docs/reference/mesh/validate.md +75 -0
- package/dist/docs/reference/{geometry/validateSolidMesh.md → mesh/validateSolid.md} +23 -11
- package/dist/docs/reference/mesh.md +21 -0
- package/dist/docs/reference/model/CircleOptions.md +13 -7
- package/dist/docs/reference/model/DiagnosticOptions.md +21 -1
- package/dist/docs/reference/model/EllipseOptions.md +13 -7
- package/dist/docs/reference/model/GenerateCallback.md +11 -5
- package/dist/docs/reference/model/GenerateContext.md +26 -99
- package/dist/docs/reference/model/GenerationDiagnostic.md +19 -1
- package/dist/docs/reference/model/GenerationError.md +8 -2
- package/dist/docs/reference/model/HoleCutterOptions.md +17 -10
- package/dist/docs/reference/model/HoleCutterOverrun.md +10 -3
- package/dist/docs/reference/model/HoleCutterRecess.md +10 -3
- package/dist/docs/reference/model/HullOptions.md +13 -6
- package/dist/docs/reference/model/ImmutableValue.md +26 -0
- package/dist/docs/reference/model/ImplicitOptions.md +12 -6
- package/dist/docs/reference/model/JoinOptions.md +76 -0
- package/dist/docs/reference/model/JoinTransition.md +54 -0
- package/dist/docs/reference/model/KnuckleHinge-type.md +9 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
- package/dist/docs/reference/model/KnuckleHingeOptions.md +10 -4
- package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
- package/dist/docs/reference/model/LoftStation.md +16 -9
- package/dist/docs/reference/model/Memo.md +54 -0
- package/dist/docs/reference/model/ModelProgram.md +8 -2
- package/dist/docs/reference/model/PartDeclaration.md +87 -0
- package/dist/docs/reference/model/PartGeometry.md +10 -4
- package/dist/docs/reference/model/PartOptions.md +16 -22
- package/dist/docs/reference/model/PatternSource.md +10 -4
- package/dist/docs/reference/model/PlaneOptions.md +11 -4
- package/dist/docs/reference/model/PolygonOptions.md +20 -14
- package/dist/docs/reference/model/Profile.md +10 -4
- package/dist/docs/reference/model/RectangleOptions.md +28 -22
- package/dist/docs/reference/model/RegularPolygonOptions.md +13 -7
- package/dist/docs/reference/model/Section.md +196 -77
- package/dist/docs/reference/model/SectionHullOptions.md +13 -6
- package/dist/docs/reference/model/SectionInspection.md +12 -18
- package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
- package/dist/docs/reference/model/SectionOffsetOptions.md +12 -6
- package/dist/docs/reference/model/Solid.md +339 -54
- package/dist/docs/reference/model/SolidInspection.md +12 -18
- package/dist/docs/reference/model/SolidSegmentHit.md +14 -4
- package/dist/docs/reference/model/StarOptions.md +53 -25
- package/dist/docs/reference/model/SvgOrigin.md +10 -4
- package/dist/docs/reference/model/SvgPathSectionOptions.md +14 -8
- package/dist/docs/reference/model/SvgSectionOptions.md +16 -10
- package/dist/docs/reference/model/TextSectionOptions.md +14 -8
- package/dist/docs/reference/model/box.md +18 -11
- package/dist/docs/reference/model/categories/boolean-operations.md +13 -11
- package/dist/docs/reference/model/categories/bounded-surfaces.md +1 -7
- package/dist/docs/reference/model/categories/explicit-profiles.md +1 -14
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +11 -23
- package/dist/docs/reference/model/categories/generation.md +10 -15
- package/dist/docs/reference/model/categories/hinges.md +1 -4
- package/dist/docs/reference/model/categories/mesh-inspection.md +14 -9
- package/dist/docs/reference/model/categories/primitives.md +8 -24
- package/dist/docs/reference/model/categories/sections.md +6 -16
- package/dist/docs/reference/model/categories/threads.md +3 -30
- package/dist/docs/reference/model/categories/transforms-placement.md +5 -35
- package/dist/docs/reference/model/circle.md +10 -4
- package/dist/docs/reference/model/cylinder.md +13 -6
- package/dist/docs/reference/model/ellipse.md +10 -4
- package/dist/docs/reference/model/extrude.md +28 -20
- package/dist/docs/reference/model/generate.md +10 -4
- package/dist/docs/reference/model/gridPattern.md +15 -9
- package/dist/docs/reference/model/heightfield.md +10 -4
- package/dist/docs/reference/model/holeCutter.md +21 -4
- package/dist/docs/reference/model/hull.md +9 -2
- package/dist/docs/reference/model/implicit.md +9 -3
- package/dist/docs/reference/model/internalThreadCutter.md +31 -33
- package/dist/docs/reference/model/intersect.md +11 -4
- package/dist/docs/reference/model/join.md +89 -0
- package/dist/docs/reference/model/knuckleHinge.md +8 -2
- package/dist/docs/reference/model/linearPattern.md +15 -9
- package/dist/docs/reference/model/loft.md +36 -28
- package/dist/docs/reference/model/matchProfiles.md +14 -8
- package/dist/docs/reference/model/minkowskiSum.md +9 -2
- package/dist/docs/reference/model/pathPattern.md +25 -19
- package/dist/docs/reference/model/polygon.md +13 -7
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +33 -35
- package/dist/docs/reference/model/preflightThreadedNut.md +43 -40
- package/dist/docs/reference/model/preflightThreadedRod.md +33 -35
- package/dist/docs/reference/model/radialPattern.md +15 -9
- package/dist/docs/reference/model/rectangle.md +14 -8
- package/dist/docs/reference/model/regularPolygon.md +10 -4
- package/dist/docs/reference/model/revolve.md +25 -17
- package/dist/docs/reference/model/solidFromMesh.md +16 -9
- package/dist/docs/reference/model/sphere.md +13 -6
- package/dist/docs/reference/model/star.md +17 -11
- package/dist/docs/reference/model/stroke.md +21 -15
- package/dist/docs/reference/model/svgPathSection.md +12 -6
- package/dist/docs/reference/model/svgSection.md +13 -7
- package/dist/docs/reference/model/sweep.md +29 -21
- package/dist/docs/reference/model/textSection.md +15 -9
- package/dist/docs/reference/model/threadRidge.md +21 -15
- package/dist/docs/reference/model/threadedNut.md +41 -38
- package/dist/docs/reference/model/threadedRod.md +31 -33
- package/dist/docs/reference/model/torus.md +20 -13
- package/dist/docs/reference/model/tube.md +13 -41
- package/dist/docs/reference/model/union.md +11 -4
- package/dist/docs/reference/model.md +11 -20
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +8 -2
- package/dist/docs/reference/text/VectorFont.md +39 -33
- package/dist/docs/reference/text/VectorFontOptions.md +7 -1
- package/dist/docs/reference/text/categories/font-preparation.md +3 -15
- package/dist/docs/reference/text/prepareVectorFont.md +7 -1
- package/dist/docs/reference/text.md +4 -4
- package/dist/engine/execution.js +10 -6
- package/dist/engine/finalization.js +2 -74
- package/dist/engine/index.js +24 -30
- package/dist/engine/model-parts.js +8 -0
- package/dist/engine/model-summary.js +5 -5
- package/dist/engine/native/construction-mesh.js +41 -0
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +5 -54
- package/dist/engine/native/mesh-observation.js +55 -0
- package/dist/engine/native/operations.js +0 -7
- package/dist/engine/native/regions.js +2 -1
- 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} +12 -10
- package/dist/engine/{operation-environment.js → operations/environment.js} +2 -2
- package/dist/engine/{extrusion-finishing.js → operations/extrusion-finishing.js} +23 -22
- 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/operations/join-collar-profile.js +120 -0
- package/dist/engine/operations/join.js +508 -0
- 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 +2 -2
- package/dist/engine/{deferred-context.js → session/deferred-context.js} +4 -4
- package/dist/engine/session/dependencies.js +93 -0
- package/dist/engine/session/graph.js +428 -0
- package/dist/engine/{session-native.js → session/native-cache.js} +2 -2
- package/dist/engine/{session.js → session/session.js} +20 -14
- package/dist/engine/{session-snapshot.js → session/snapshot-cache.js} +30 -60
- package/dist/export/3mf.js +190 -0
- package/dist/export/capture.js +178 -0
- package/dist/export/glb.js +209 -0
- package/dist/export/index.js +5 -0
- package/dist/export/limits.js +18 -0
- package/dist/export/stl.js +105 -0
- package/dist/export/types.js +1 -0
- package/dist/export/writer.js +54 -0
- package/dist/geometry/anchors.js +4 -11
- package/dist/geometry/bounds-value.js +22 -12
- package/dist/geometry/heightfield.js +10 -12
- package/dist/{model → geometry}/immutable-buffer.js +31 -12
- package/dist/geometry/index.js +16 -22
- package/dist/geometry/join-geometry.js +839 -0
- 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-render.js +205 -0
- package/dist/geometry/mesh/mesh-signature.js +7 -6
- package/dist/geometry/mesh/mesh-solid-intersections.js +43 -17
- package/dist/geometry/mesh/mesh-solid.js +8 -5
- package/dist/geometry/mesh/mesh-types.js +1 -0
- package/dist/geometry/mesh/mesh.js +13 -22
- package/dist/geometry/mesh-api.js +15 -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/region-offset.js +278 -0
- package/dist/geometry/regions.js +11 -1
- 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 +9 -3
- package/dist/model/geometry-recipes.js +1 -1
- package/dist/model/immutable-generation-data.js +45 -14
- package/dist/model/join.js +1 -0
- package/dist/model/operations.js +34 -144
- package/dist/model/recipe-declaration.js +7 -2
- package/dist/model/shape-handles.js +31 -7
- package/dist/text/index.js +1 -1
- package/package.json +38 -11
- package/dist/docs/reference/engine/Export3mfOptions.md +0 -29
- package/dist/docs/reference/engine/ExportMeshPart.md +0 -65
- 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/analyzeTriangleMeshQuality.md +0 -56
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +0 -39
- package/dist/docs/reference/geometry/computeTriangleMeshSignature.md +0 -64
- package/dist/docs/reference/geometry/extrudeMesh.md +0 -77
- package/dist/docs/reference/geometry/heightfieldMesh.md +0 -52
- package/dist/docs/reference/geometry/helicalThreadRidgeMesh.md +0 -72
- package/dist/docs/reference/geometry/helicalThreadSolidMesh.md +0 -106
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +0 -40
- package/dist/docs/reference/geometry/loftMesh.md +0 -77
- package/dist/docs/reference/geometry/meshBounds.md +0 -39
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +0 -95
- package/dist/docs/reference/geometry/preflightHeightfield.md +0 -43
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +0 -105
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +0 -34
- package/dist/docs/reference/geometry/sweepMesh.md +0 -86
- package/dist/docs/reference/geometry/transformTriangleMesh.md +0 -46
- package/dist/docs/reference/geometry/validateTriangleMesh.md +0 -63
- package/dist/docs/reference/model/Anchor3.md +0 -55
- package/dist/docs/reference/model/AttachOptions.md +0 -69
- package/dist/docs/reference/model/Bounds2-type.md +0 -125
- package/dist/docs/reference/model/Bounds2Data.md +0 -44
- package/dist/docs/reference/model/Bounds2Input.md +0 -19
- package/dist/docs/reference/model/Bounds2Options.md +0 -70
- package/dist/docs/reference/model/Bounds3-type.md +0 -125
- package/dist/docs/reference/model/Bounds3Data.md +0 -44
- package/dist/docs/reference/model/Bounds3Input.md +0 -19
- package/dist/docs/reference/model/Bounds3Options.md +0 -70
- package/dist/docs/reference/model/BoxEdge.md +0 -15
- package/dist/docs/reference/model/BoxEdgeSelection.md +0 -19
- package/dist/docs/reference/model/BoxEdgeTreatments.md +0 -20
- package/dist/docs/reference/model/BoxOptions.md +0 -92
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
- package/dist/docs/reference/model/CircleContourOptions.md +0 -21
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -64
- package/dist/docs/reference/model/Computed.md +0 -40
- package/dist/docs/reference/model/ComputedValue.md +0 -24
- package/dist/docs/reference/model/Contour.md +0 -24
- package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
- package/dist/docs/reference/model/CorrespondingContour.md +0 -46
- package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
- package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
- package/dist/docs/reference/model/CylinderOptions.md +0 -58
- package/dist/docs/reference/model/EdgeTreatment.md +0 -22
- package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
- package/dist/docs/reference/model/EndTreatments.md +0 -39
- package/dist/docs/reference/model/FinalizedModel.md +0 -131
- package/dist/docs/reference/model/FinalizedPart.md +0 -87
- package/dist/docs/reference/model/Frame3.md +0 -63
- package/dist/docs/reference/model/GeneratedPart.md +0 -97
- package/dist/docs/reference/model/GeometryResolution.md +0 -70
- package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
- package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
- package/dist/docs/reference/model/GridPatternOptions.md +0 -50
- package/dist/docs/reference/model/HeightfieldOptions.md +0 -67
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +0 -141
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +0 -59
- package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -84
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -38
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -246
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
- package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
- package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
- package/dist/docs/reference/model/LoftCorrespondence.md +0 -27
- package/dist/docs/reference/model/LoftOptions.md +0 -91
- package/dist/docs/reference/model/LoftPlacement.md +0 -73
- package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
- package/dist/docs/reference/model/ModelingLimits.md +0 -126
- package/dist/docs/reference/model/NumericArray.md +0 -14
- package/dist/docs/reference/model/Path2-type.md +0 -196
- package/dist/docs/reference/model/Path2Data.md +0 -50
- package/dist/docs/reference/model/Path2Input.md +0 -20
- package/dist/docs/reference/model/Path3-type.md +0 -196
- package/dist/docs/reference/model/Path3Data.md +0 -50
- package/dist/docs/reference/model/Path3Input.md +0 -20
- package/dist/docs/reference/model/PathLocation.md +0 -69
- package/dist/docs/reference/model/PathNormalGuide.md +0 -46
- package/dist/docs/reference/model/PathOptions.md +0 -38
- package/dist/docs/reference/model/PathPatternOptions.md +0 -48
- package/dist/docs/reference/model/PathResamplingOptions.md +0 -83
- package/dist/docs/reference/model/Pivot2Options.md +0 -28
- package/dist/docs/reference/model/Pivot3Options.md +0 -28
- package/dist/docs/reference/model/PolygonData.md +0 -44
- package/dist/docs/reference/model/PrimitiveAttachment.md +0 -41
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +0 -110
- package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
- package/dist/docs/reference/model/ProfileComponent2.md +0 -46
- package/dist/docs/reference/model/ProfileContour2.md +0 -36
- package/dist/docs/reference/model/ProfileSpan2.md +0 -47
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
- package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
- package/dist/docs/reference/model/RadialSizing.md +0 -15
- package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
- package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
- package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
- package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
- package/dist/docs/reference/model/RegionData.md +0 -19
- package/dist/docs/reference/model/RevolveOptions.md +0 -94
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
- package/dist/docs/reference/model/SphereOptions.md +0 -20
- package/dist/docs/reference/model/StrokeCap.md +0 -16
- package/dist/docs/reference/model/StrokeJoin.md +0 -16
- package/dist/docs/reference/model/StrokeOptions.md +0 -91
- package/dist/docs/reference/model/SweepOptions.md +0 -116
- package/dist/docs/reference/model/SweepOrientation.md +0 -116
- package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
- package/dist/docs/reference/model/ThreadHandedness.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
- package/dist/docs/reference/model/ThreadProfile.md +0 -87
- package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -19
- package/dist/docs/reference/model/ThreadedNutBevel.md +0 -15
- package/dist/docs/reference/model/ThreadedNutOptions.md +0 -274
- package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -99
- package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
- package/dist/docs/reference/model/ThreadedRodOptions.md +0 -246
- package/dist/docs/reference/model/TorusOptions.md +0 -110
- package/dist/docs/reference/model/Transform2-type.md +0 -257
- package/dist/docs/reference/model/Transform2Data.md +0 -16
- package/dist/docs/reference/model/Transform2Input.md +0 -21
- package/dist/docs/reference/model/Transform3-type.md +0 -297
- package/dist/docs/reference/model/Transform3Data.md +0 -19
- package/dist/docs/reference/model/Transform3Input.md +0 -21
- package/dist/docs/reference/model/TriangleMesh.md +0 -42
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -123
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
- package/dist/docs/reference/model/TubeOptions.md +0 -143
- package/dist/docs/reference/model/Vector2-type.md +0 -271
- package/dist/docs/reference/model/Vector2Data.md +0 -15
- package/dist/docs/reference/model/Vector2Input.md +0 -21
- package/dist/docs/reference/model/Vector3-type.md +0 -283
- package/dist/docs/reference/model/Vector3Data.md +0 -15
- package/dist/docs/reference/model/Vector3Input.md +0 -21
- package/dist/docs/reference/model/VectorTextLayout.md +0 -40
- package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
- package/dist/docs/reference/model/anchor.md +0 -47
- package/dist/docs/reference/model/bounds2.md +0 -37
- package/dist/docs/reference/model/bounds3.md +0 -37
- package/dist/docs/reference/model/castSegment.md +0 -40
- package/dist/docs/reference/model/categories/bounds.md +0 -38
- package/dist/docs/reference/model/categories/contracts.md +0 -18
- package/dist/docs/reference/model/categories/core-values-errors.md +0 -30
- package/dist/docs/reference/model/categories/inspection.md +0 -29
- package/dist/docs/reference/model/categories/paths.md +0 -41
- package/dist/docs/reference/model/categories/resolution.md +0 -20
- 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/path2.md +0 -54
- package/dist/docs/reference/model/path3.md +0 -49
- package/dist/docs/reference/model/split.md +0 -54
- package/dist/docs/reference/model/splitByPlane.md +0 -66
- package/dist/docs/reference/model/transform2.md +0 -46
- package/dist/docs/reference/model/transform3.md +0 -48
- package/dist/docs/reference/model/vector2.md +0 -40
- package/dist/docs/reference/model/vector3.md +0 -47
- package/dist/docs/reference/text/Bounds2Data.md +0 -34
- package/dist/docs/reference/text/Vector2Data.md +0 -7
- package/dist/docs/reference/text/VectorTextArcBaseline.md +0 -53
- package/dist/docs/reference/text/VectorTextLayout.md +0 -34
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +0 -111
- package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
- package/dist/docs/reference/text/VectorTextOptions.md +0 -50
- package/dist/engine/export-3mf.js +0 -116
- package/dist/engine/model-dependencies.js +0 -46
- package/dist/engine/session-graph.js +0 -449
- package/dist/geometry/profiles/profiles.js +0 -71
- /package/dist/engine/{primitive-profile-types.js → operations/primitives/profile-types.js} +0 -0
- /package/dist/{engine → geometry/mesh}/mesh-view-cache.js +0 -0
- /package/dist/geometry/profiles/{matched.js → match-profiles.js} +0 -0
|
@@ -4,7 +4,8 @@ Alternating outer and inner vertices, centered on the XY origin.
|
|
|
4
4
|
|
|
5
5
|
## Extends
|
|
6
6
|
|
|
7
|
-
- [`
|
|
7
|
+
- [`StarContourOptions`](../geometry/StarContourOptions.md)
|
|
8
|
+
- [`PrimitiveAttachment`](../geometry/PrimitiveAttachment.md)
|
|
8
9
|
|
|
9
10
|
## Properties
|
|
10
11
|
|
|
@@ -12,7 +13,7 @@ Alternating outer and inner vertices, centered on the XY origin.
|
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
`readonly` `optional` **attachment?**: [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md)
|
|
16
|
+
`readonly` `optional` **attachment?**: [`PrimitiveAttachmentOptions`](../geometry/PrimitiveAttachmentOptions.md)
|
|
16
17
|
|
|
17
18
|
|
|
18
19
|
|
|
@@ -20,19 +21,7 @@ Applied after local construction; Section attachment must preserve the XY plane.
|
|
|
20
21
|
|
|
21
22
|
#### Inherited from
|
|
22
23
|
|
|
23
|
-
[`PrimitiveAttachment`](PrimitiveAttachment.md).[`attachment`](PrimitiveAttachment.md#attachment)
|
|
24
|
-
|
|
25
|
-
***
|
|
26
|
-
|
|
27
|
-
### limits?
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Explicit sampling ceilings, bounded by the host policy.
|
|
24
|
+
[`PrimitiveAttachment`](../geometry/PrimitiveAttachment.md).[`attachment`](../geometry/PrimitiveAttachment.md#attachment)
|
|
36
25
|
|
|
37
26
|
***
|
|
38
27
|
|
|
@@ -46,6 +35,10 @@ Explicit sampling ceilings, bounded by the host policy.
|
|
|
46
35
|
|
|
47
36
|
Positive outer vertex radius in millimetres.
|
|
48
37
|
|
|
38
|
+
#### Inherited from
|
|
39
|
+
|
|
40
|
+
[`StarContourOptions`](../geometry/StarContourOptions.md).[`outerRadius`](../geometry/StarContourOptions.md#outerradius)
|
|
41
|
+
|
|
49
42
|
***
|
|
50
43
|
|
|
51
44
|
### innerRadius
|
|
@@ -56,7 +49,11 @@ Positive outer vertex radius in millimetres.
|
|
|
56
49
|
|
|
57
50
|
|
|
58
51
|
|
|
59
|
-
Positive inner vertex radius, smaller than the outer radius.
|
|
52
|
+
Positive inner vertex radius in millimetres, smaller than the outer radius.
|
|
53
|
+
|
|
54
|
+
#### Inherited from
|
|
55
|
+
|
|
56
|
+
[`StarContourOptions`](../geometry/StarContourOptions.md).[`innerRadius`](../geometry/StarContourOptions.md#innerradius)
|
|
60
57
|
|
|
61
58
|
***
|
|
62
59
|
|
|
@@ -68,7 +65,11 @@ Positive inner vertex radius, smaller than the outer radius.
|
|
|
68
65
|
|
|
69
66
|
|
|
70
67
|
|
|
71
|
-
Integer outer point count
|
|
68
|
+
Integer outer point count, at least three; output contains twice as many vertices.
|
|
69
|
+
|
|
70
|
+
#### Inherited from
|
|
71
|
+
|
|
72
|
+
[`StarContourOptions`](../geometry/StarContourOptions.md).[`points`](../geometry/StarContourOptions.md#points)
|
|
72
73
|
|
|
73
74
|
***
|
|
74
75
|
|
|
@@ -80,19 +81,46 @@ Integer outer point count from three through 50000.
|
|
|
80
81
|
|
|
81
82
|
|
|
82
83
|
|
|
83
|
-
|
|
84
|
+
Counterclockwise rotation in degrees; defaults to zero with an outer vertex on +X.
|
|
85
|
+
|
|
86
|
+
#### Inherited from
|
|
87
|
+
|
|
88
|
+
[`StarContourOptions`](../geometry/StarContourOptions.md).[`rotation`](../geometry/StarContourOptions.md#rotation)
|
|
89
|
+
|
|
90
|
+
***
|
|
91
|
+
|
|
92
|
+
### limits?
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\>
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
Explicit sampling ceilings, bounded by the host policy during modeling.
|
|
101
|
+
|
|
102
|
+
#### Inherited from
|
|
103
|
+
|
|
104
|
+
[`StarContourOptions`](../geometry/StarContourOptions.md).[`limits`](../geometry/StarContourOptions.md#limits)
|
|
84
105
|
|
|
85
106
|
|
|
86
107
|
## Related APIs
|
|
87
108
|
|
|
88
|
-
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
89
|
-
- [PrimitiveAttachment](PrimitiveAttachment.md)
|
|
90
|
-
- [PrimitiveAttachmentOptions](PrimitiveAttachmentOptions.md)
|
|
109
|
+
- [GeometrySamplingLimits](../geometry/GeometrySamplingLimits.md)
|
|
110
|
+
- [PrimitiveAttachment](../geometry/PrimitiveAttachment.md)
|
|
111
|
+
- [PrimitiveAttachmentOptions](../geometry/PrimitiveAttachmentOptions.md)
|
|
112
|
+
- [StarContourOptions](../geometry/StarContourOptions.md)
|
|
91
113
|
|
|
92
114
|
## Guides
|
|
93
115
|
|
|
94
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
95
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
96
|
-
- [Text and font variability](../../guides/
|
|
116
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
117
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
118
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
119
|
+
|
|
120
|
+
## Supported imports
|
|
121
|
+
|
|
122
|
+
```ts
|
|
123
|
+
import type { StarOptions } from "@metamesh/modeling";
|
|
124
|
+
```
|
|
97
125
|
|
|
98
|
-
Package: `@metamesh/modeling@0.
|
|
126
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -9,8 +9,14 @@ Placement of painted SVG geometry after SVG Y-axis inversion.
|
|
|
9
9
|
|
|
10
10
|
## Guides
|
|
11
11
|
|
|
12
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
13
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
14
|
-
- [Text and font variability](../../guides/
|
|
12
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
13
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
14
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
## Supported imports
|
|
17
|
+
|
|
18
|
+
```ts
|
|
19
|
+
import type { SvgOrigin } from "@metamesh/modeling";
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -8,7 +8,7 @@ Bounded filled SVG path sampling. Path scale converts user units to millimetres.
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
|
|
11
|
+
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\>
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -32,7 +32,7 @@ Nonzero or even-odd filled-contour rule; defaults to nonzero.
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
`readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
|
|
35
|
+
`readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
@@ -65,14 +65,20 @@ Positive uniform factor converting SVG user units to millimetres; defaults to on
|
|
|
65
65
|
|
|
66
66
|
## Related APIs
|
|
67
67
|
|
|
68
|
-
- [GeometryResolution](GeometryResolution.md)
|
|
69
|
-
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
68
|
+
- [GeometryResolution](../geometry/GeometryResolution.md)
|
|
69
|
+
- [GeometrySamplingLimits](../geometry/GeometrySamplingLimits.md)
|
|
70
70
|
- [SvgOrigin](SvgOrigin.md)
|
|
71
71
|
|
|
72
72
|
## Guides
|
|
73
73
|
|
|
74
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
75
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
76
|
-
- [Text and font variability](../../guides/
|
|
74
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
75
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
76
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
77
77
|
|
|
78
|
-
|
|
78
|
+
## Supported imports
|
|
79
|
+
|
|
80
|
+
```ts
|
|
81
|
+
import type { SvgPathSectionOptions } from "@metamesh/modeling";
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -8,7 +8,7 @@ Bounded SVG document sampling. Center origin uses the final painted bounds.
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
`readonly` `optional` **fit?**: [`Bounds2Input`](Bounds2Input.md)
|
|
11
|
+
`readonly` `optional` **fit?**: [`Bounds2Input`](../geometry/Bounds2Input.md)
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -20,7 +20,7 @@ Fit painted bounds uniformly inside positioned XY millimetre bounds; adaptive re
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
|
|
23
|
+
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\>
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
@@ -44,7 +44,7 @@ Exact circular tessellation count overriding physical sampling.
|
|
|
44
44
|
|
|
45
45
|
|
|
46
46
|
|
|
47
|
-
`readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
|
|
47
|
+
`readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
@@ -65,15 +65,21 @@ Place the painted bounds around the origin or preserve document coordinates.
|
|
|
65
65
|
|
|
66
66
|
## Related APIs
|
|
67
67
|
|
|
68
|
-
- [Bounds2Input](Bounds2Input.md)
|
|
69
|
-
- [GeometryResolution](GeometryResolution.md)
|
|
70
|
-
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
68
|
+
- [Bounds2Input](../geometry/Bounds2Input.md)
|
|
69
|
+
- [GeometryResolution](../geometry/GeometryResolution.md)
|
|
70
|
+
- [GeometrySamplingLimits](../geometry/GeometrySamplingLimits.md)
|
|
71
71
|
- [SvgOrigin](SvgOrigin.md)
|
|
72
72
|
|
|
73
73
|
## Guides
|
|
74
74
|
|
|
75
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
76
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
77
|
-
- [Text and font variability](../../guides/
|
|
75
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
76
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
77
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
## Supported imports
|
|
80
|
+
|
|
81
|
+
```ts
|
|
82
|
+
import type { SvgSectionOptions } from "@metamesh/modeling";
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -8,7 +8,7 @@ Physical curve sampling applied to already prepared vector text.
|
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\>
|
|
11
|
+
`readonly` `optional` **limits?**: `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\>
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
|
|
@@ -20,7 +20,7 @@ Local allocation ceilings may only lower the configured engine policy.
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
`readonly` `optional` **resolution?**: [`GeometryResolution`](GeometryResolution.md)
|
|
23
|
+
`readonly` `optional` **resolution?**: [`GeometryResolution`](../geometry/GeometryResolution.md)
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
@@ -29,13 +29,19 @@ Local physical sampling policy; exact interval counts take precedence.
|
|
|
29
29
|
|
|
30
30
|
## Related APIs
|
|
31
31
|
|
|
32
|
-
- [GeometryResolution](GeometryResolution.md)
|
|
33
|
-
- [GeometrySamplingLimits](GeometrySamplingLimits.md)
|
|
32
|
+
- [GeometryResolution](../geometry/GeometryResolution.md)
|
|
33
|
+
- [GeometrySamplingLimits](../geometry/GeometrySamplingLimits.md)
|
|
34
34
|
|
|
35
35
|
## Guides
|
|
36
36
|
|
|
37
|
-
- [Section, hole, offset, and extrusion](../../guides/
|
|
38
|
-
- [SVG sections: fills and strokes are different inputs](../../guides/
|
|
39
|
-
- [Text and font variability](../../guides/
|
|
37
|
+
- [Section, hole, offset, and extrusion](../../guides/profiles-and-extrusion.md#section-hole-offset-and-extrusion)
|
|
38
|
+
- [SVG sections: fills and strokes are different inputs](../../guides/svg-and-text.md#svg-sections-fills-and-strokes-are-different-inputs)
|
|
39
|
+
- [Text and font variability](../../guides/svg-and-text.md#text-and-font-variability)
|
|
40
40
|
|
|
41
|
-
|
|
41
|
+
## Supported imports
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
import type { TextSectionOptions } from "@metamesh/modeling";
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Axis-aligned box with uniform or disjoint named edge/group treatments.
|
|
4
4
|
|
|
5
|
-
**box**(`options`: [`BoxOptions`](BoxOptions.md)): [`Solid`](Solid.md)
|
|
5
|
+
**box**(`options`: [`BoxOptions`](../geometry/BoxOptions.md)): [`Solid`](Solid.md)
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -20,25 +20,25 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
20
20
|
|
|
21
21
|
<a id="options"></a>
|
|
22
22
|
|
|
23
|
-
**`options`** · [`BoxOptions`](BoxOptions.md) · Required
|
|
23
|
+
**`options`** · [`BoxOptions`](../geometry/BoxOptions.md) · Required
|
|
24
24
|
|
|
25
|
-
- [`size`](BoxOptions.md#size) · `number` \| [`
|
|
25
|
+
- [`size`](../geometry/BoxOptions.md#size) · `number` \| [`Vector3Input`](../geometry/Vector3Input.md) · Required
|
|
26
26
|
|
|
27
27
|
Positive uniform size or explicit `[X, Y, Z]` extents in millimetres.
|
|
28
28
|
|
|
29
|
-
- [`limits`](BoxOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](GeometrySamplingLimits.md)\> · Optional
|
|
29
|
+
- [`limits`](../geometry/BoxOptions.md#limits) · `Partial`\<[`GeometrySamplingLimits`](../geometry/GeometrySamplingLimits.md)\> · Optional
|
|
30
30
|
|
|
31
31
|
Explicit sampling ceilings for edge treatments, bounded by the host policy.
|
|
32
32
|
|
|
33
|
-
- [`center`](BoxOptions.md#center) · `boolean` · Optional · Default: `true`
|
|
33
|
+
- [`center`](../geometry/BoxOptions.md#center) · `boolean` · Optional · Default: `true`
|
|
34
34
|
|
|
35
35
|
Centers the box on the XYZ origin when `true`; otherwise its minimum corner is at the origin.
|
|
36
36
|
|
|
37
|
-
- [`treatment`](BoxOptions.md#treatment) · [`EdgeTreatment`](EdgeTreatment.md) \| `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](BoxEdgeSelection.md), [`EdgeTreatment`](EdgeTreatment.md)\>\>\> · Optional
|
|
37
|
+
- [`treatment`](../geometry/BoxOptions.md#treatment) · [`EdgeTreatment`](../geometry/EdgeTreatment.md) \| `Readonly`\<`Partial`\<`Record`\<[`BoxEdgeSelection`](../geometry/BoxEdgeSelection.md), [`EdgeTreatment`](../geometry/EdgeTreatment.md)\>\>\> · Optional
|
|
38
38
|
|
|
39
39
|
Uniform treatment or independent disjoint nominal edge/group treatments.
|
|
40
40
|
|
|
41
|
-
- [`attachment`](BoxOptions.md#attachment) · [`PrimitiveAttachmentOptions`](PrimitiveAttachmentOptions.md) · Optional
|
|
41
|
+
- [`attachment`](../geometry/BoxOptions.md#attachment) · [`PrimitiveAttachmentOptions`](../geometry/PrimitiveAttachmentOptions.md) · Optional
|
|
42
42
|
|
|
43
43
|
Applied after local construction; Section attachment must preserve the XY plane.
|
|
44
44
|
|
|
@@ -51,12 +51,19 @@ box({ size: [30, 20, 8], treatment: { kind: "round", radius: 2 } });
|
|
|
51
51
|
|
|
52
52
|
## Related APIs
|
|
53
53
|
|
|
54
|
-
- [BoxOptions](BoxOptions.md)
|
|
54
|
+
- [BoxOptions](../geometry/BoxOptions.md)
|
|
55
55
|
- [Solid](Solid.md)
|
|
56
56
|
|
|
57
57
|
## Guides
|
|
58
58
|
|
|
59
|
-
- [Choose a primitive](../../guides/
|
|
60
|
-
- [Treated boxes, frustums, and mirrored arrays](../../guides/
|
|
59
|
+
- [Choose a primitive](../../guides/profiles-and-extrusion.md#choose-a-primitive)
|
|
60
|
+
- [Treated boxes, frustums, and mirrored arrays](../../guides/profiles-and-extrusion.md#treated-boxes-frustums-and-mirrored-arrays)
|
|
61
|
+
- [Finish a profile with a hole](../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
61
62
|
|
|
62
|
-
|
|
63
|
+
## Supported imports
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
import { box } from "@metamesh/modeling";
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
|
|
3
3
|
Combine, intersect and subtract same-dimensional shapes; construct solid envelopes and sums.
|
|
4
4
|
|
|
5
|
-
Use `union` and `intersect`
|
|
5
|
+
Use `shape.union(operands)`, `shape.subtract(operands)`, and `shape.intersect(operands)` when continuing work on one body. Each method accepts one same-dimensional shape or a readonly array; an empty array preserves the receiver. Collection `union(shapes)` and `intersect(shapes)` combine peers and require at least one shape. Section operations preserve holes and disconnected components.
|
|
6
6
|
|
|
7
|
-
- `compose` combines solid components without a Boolean union.
|
|
8
7
|
- `hull` accepts compatible Solid or Section recipes, or finite points. `minkowskiSum` constructs solid sums.
|
|
9
|
-
- `split` returns intersection followed by subtraction, reusing the cutter setup.
|
|
10
|
-
-
|
|
8
|
+
- `solid.split(cutter)` returns intersection followed by subtraction, reusing the cutter setup.
|
|
9
|
+
- `solid.splitByPlane(plane)` returns the positive-normal side followed by the negative side. The plane uses a nonzero normal and a signed millimetre offset along its normalized direction. Empty results can still be queried.
|
|
10
|
+
|
|
11
|
+
Use `base.join(feature, { source, transition: { width, height } })` to add a smooth or straight connection between independently positioned solids. `source` names a feature datum or supplies an explicit anchor. Only the local feature collar must be straight; a regular actual support patch may be angled or curved. The join preserves both operands and does not move or extend the feature. The default `transition.kind` is `"smooth"`; `"straight"` uses a linear profile along each sampled support facet. It does not promise a constant angle on curved support. Width/height describe projected offset and axial reach, not a circular radius.
|
|
11
12
|
|
|
12
13
|
Keep Boolean overtravel separate from physical fit clearance.
|
|
13
14
|
|
|
@@ -15,18 +16,18 @@ Keep Boolean overtravel separate from physical fit clearance.
|
|
|
15
16
|
|
|
16
17
|
| API | Summary |
|
|
17
18
|
| --- | --- |
|
|
18
|
-
| [compose](../compose.md) | Combines disjoint components without resolving overlap. |
|
|
19
19
|
| [hull](../hull.md) | Convex hull of points or solids. |
|
|
20
|
-
| [intersect](../intersect.md) | Robust intersection. |
|
|
20
|
+
| [intersect](../intersect.md) | Robust intersection of one or more shapes; empty input rejects during declaration. |
|
|
21
|
+
| [join](../join.md) | Fuses two positioned solids with a dimensioned transition at the feature's source datum. |
|
|
21
22
|
| [minkowskiSum](../minkowskiSum.md) | Three-dimensional Minkowski sum. |
|
|
22
|
-
| [union](../union.md) | Robust union. |
|
|
23
|
-
| [split](../split.md) | Splits a solid into [inside the cutter, outside the cutter]. |
|
|
24
|
-
| [splitByPlane](../splitByPlane.md) | Splits a solid into [positive-normal side, negative side] at a world-space plane. |
|
|
23
|
+
| [union](../union.md) | Robust union of one or more shapes; empty input rejects during declaration. |
|
|
25
24
|
|
|
26
25
|
## Interfaces
|
|
27
26
|
|
|
28
27
|
| API | Summary |
|
|
29
28
|
| --- | --- |
|
|
29
|
+
| [JoinOptions](../JoinOptions.md) | Options for joining two positioned solids through a validated local straight feature collar. |
|
|
30
|
+
| [JoinTransition](../JoinTransition.md) | Connection profile and setbacks, independent of feature construction. |
|
|
30
31
|
| [PlaneOptions](../PlaneOptions.md) | A world-space cutting plane, retaining the half-space in the normal's direction. |
|
|
31
32
|
|
|
32
33
|
## Type aliases
|
|
@@ -39,6 +40,7 @@ Keep Boolean overtravel separate from physical fit clearance.
|
|
|
39
40
|
## Guides
|
|
40
41
|
|
|
41
42
|
- [Choose the Boolean by the material you want](../../../guides/fundamentals.md#choose-the-boolean-by-the-material-you-want)
|
|
42
|
-
- [Primitive booleans and repeated placement](../../../guides/
|
|
43
|
+
- [Primitive booleans and repeated placement](../../../guides/transforms-and-placement.md#primitive-booleans-and-repeated-placement)
|
|
44
|
+
- [Join an independently modeled feature](../../../guides/solid-joins.md#join-an-independently-modeled-feature)
|
|
43
45
|
|
|
44
|
-
Package: `@metamesh/modeling@0.
|
|
46
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -19,10 +19,4 @@ Implicit sampling requires finite bounds, positive grid spacing, and fixed algor
|
|
|
19
19
|
| --- | --- |
|
|
20
20
|
| [ImplicitOptions](../ImplicitOptions.md) | Positive-inside sampling, bounded to 4M native BCC grid slots and 8M field calls. |
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| API | Summary |
|
|
25
|
-
| --- | --- |
|
|
26
|
-
| [HeightfieldOptions](../HeightfieldOptions.md) | A closed rectilinear heightfield above a flat base, with uniform or explicit XY samples in millimetres. |
|
|
27
|
-
|
|
28
|
-
Package: `@metamesh/modeling@0.17.0`.
|
|
22
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -16,19 +16,6 @@ Call `matchProfiles` once over the complete family to produce `CorrespondingProf
|
|
|
16
16
|
|
|
17
17
|
| API | Summary |
|
|
18
18
|
| --- | --- |
|
|
19
|
-
| [CorrespondingProfile](../CorrespondingProfile.md) | Shared logical contour sampling suitable for a loft or hollow sweep. |
|
|
20
|
-
| [CorrespondingComponent](../CorrespondingComponent.md) | One sampled component retaining contour identities and logical point correspondence. |
|
|
21
|
-
| [CorrespondingContour](../CorrespondingContour.md) | A sampled contour retaining logical slots, including intentionally collapsed spans. |
|
|
22
|
-
| [MatchProfilesOptions](../MatchProfilesOptions.md) | Explicit family sampling settings; omitted values use physical package defaults. |
|
|
23
19
|
| [Profile](../Profile.md) | An explicit component/contour/span topology, before shared family sampling with matchProfiles. Component, contour and span identities establish correspondence across a loft or sweep family. |
|
|
24
|
-
| [ProfileComponent2](../ProfileComponent2.md) | One component and its explicitly identified holes. |
|
|
25
|
-
| [ProfileContour2](../ProfileContour2.md) | An identified closed boundary of curve spans, before shared family sampling. Outer winding is CCW and hole winding is CW. matchProfiles retains span identities in sampled contours. |
|
|
26
20
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
| API | Summary |
|
|
30
|
-
| --- | --- |
|
|
31
|
-
| [CorrespondingProfileStation](../CorrespondingProfileStation.md) | One already matched profile at an explicit height or right-handed spatial frame. |
|
|
32
|
-
| [ProfileSpan2](../ProfileSpan2.md) | An identified line, circular arc, or cubic Bézier between corresponding landmarks. |
|
|
33
|
-
|
|
34
|
-
Package: `@metamesh/modeling@0.17.0`.
|
|
21
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -11,41 +11,29 @@ 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.
|
|
24
|
-
|
|
25
|
-
## Interfaces
|
|
26
|
-
|
|
27
|
-
| API | Summary |
|
|
28
|
-
| --- | --- |
|
|
29
|
-
| [ExtrudeOptions](../ExtrudeOptions.md) | Dimensions and sampling shared by native and pure +Z extrusion. |
|
|
30
|
-
| [LoftOptions](../LoftOptions.md) | Shared controls for native and pure lofts. Point data and arbitrary Sections require explicit correspondence. |
|
|
31
|
-
| [RevolveOptions](../RevolveOptions.md) | Circumferential sampling and degree sweep shared by pure and filled revolution. |
|
|
32
|
-
| [SweepOptions](../SweepOptions.md) | Controls shared by pure mesh construction and filled modeling sweeps. |
|
|
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. |
|
|
33
24
|
|
|
34
25
|
## Type aliases
|
|
35
26
|
|
|
36
27
|
| API | Summary |
|
|
37
28
|
| --- | --- |
|
|
38
|
-
| [LoftCorrespondence](../LoftCorrespondence.md) | Associates ordered loft contours without inferring component identities or repairing topology. |
|
|
39
|
-
| [LoftPlacement](../LoftPlacement.md) | A horizontal XY station height, or an explicit right-handed spatial frame, never both. |
|
|
40
29
|
| [LoftStation](../LoftStation.md) | A Section or point loop at an explicit height or frame. |
|
|
41
|
-
| [PathNormalGuide](../PathNormalGuide.md) | Supplies a profile-X orientation guide for each original normalized sweep station. |
|
|
42
|
-
| [SweepOrientation](../SweepOrientation.md) | Explicit profile-X frame policy; all normals are directed, and selected singular policies reject. |
|
|
43
30
|
|
|
44
31
|
## Guides
|
|
45
32
|
|
|
46
|
-
- [
|
|
47
|
-
- [
|
|
48
|
-
- [
|
|
49
|
-
- [
|
|
33
|
+
- [Finish a profile with a hole](../../../guides/profiles-and-extrusion.md#finish-a-profile-with-a-hole)
|
|
34
|
+
- [Revolve a radial profile](../../../guides/profiles-and-extrusion.md#revolve-a-radial-profile)
|
|
35
|
+
- [Rotation-minimizing path sweep](../../../guides/sweeps-and-lofts.md#rotation-minimizing-path-sweep)
|
|
36
|
+
- [Matched-section loft](../../../guides/sweeps-and-lofts.md#matched-section-loft)
|
|
37
|
+
- [Choose a modeling path](../../../guides/recipes.md#choose-a-technique)
|
|
50
38
|
|
|
51
|
-
Package: `@metamesh/modeling@0.
|
|
39
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -1,38 +1,34 @@
|
|
|
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
|
-
- **Cache:** `
|
|
7
|
+
- **Cache:** `memo(fn, ...args)` eagerly reuses stable pure functions and returns immutable data or geometry. Pass actual inputs as arguments; the exact current params/context tracks fields read by the helper. Fresh functions safely recompute; ordinary object arguments must be deeply immutable.
|
|
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 `
|
|
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. |
|
|
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 `memo` only for work worth reusing. |
|
|
19
17
|
|
|
20
18
|
## Classes
|
|
21
19
|
|
|
22
20
|
| API | Summary |
|
|
23
21
|
| --- | --- |
|
|
24
|
-
| [GenerationError](../GenerationError.md) | A user-correctable assertion failure. Successful
|
|
22
|
+
| [GenerationError](../GenerationError.md) | A user-correctable assertion failure. Successful memo caches never retain failures. |
|
|
25
23
|
|
|
26
24
|
## Interfaces
|
|
27
25
|
|
|
28
26
|
| API | Summary |
|
|
29
27
|
| --- | --- |
|
|
30
|
-
| [
|
|
31
|
-
| [ImmutableTriangleMesh](../ImmutableTriangleMesh.md) | Immutable local XYZ positions and triangle indices, suitable for a computed value or part. |
|
|
32
|
-
| [Computed](../Computed.md) | Reads immutable data or a deferred recipe; evaluation is synchronous and cached. |
|
|
28
|
+
| [Memo](../Memo.md) | Invokes fn(...args) and returns captured immutable data. Stable helpers reuse work across runs. Arguments compare with Object.is and must be deeply immutable; the exact current params or generation context instead tracks parameter fields read by the function. Functions must be pure: supply changing inputs explicitly, and do not read changing globals or ambient state. |
|
|
33
29
|
| [DiagnosticOptions](../DiagnosticOptions.md) | Typed parameter association for an assertion or warning. |
|
|
34
30
|
| [GenerateContext](../GenerateContext.md) | The sole synchronous authoring context, supplied independently of Studio. |
|
|
35
|
-
| [
|
|
31
|
+
| [PartDeclaration](../PartDeclaration.md) | One declared output part. Construct with the context's `part` helper. |
|
|
36
32
|
| [GenerationDiagnostic](../GenerationDiagnostic.md) | Structured user-facing issue associated with the attempted revision. |
|
|
37
33
|
| [ModelProgram](../ModelProgram.md) | Stateless portable program descriptor. Execution and caches belong to an engine session. |
|
|
38
34
|
| [PartOptions](../PartOptions.md) | Appearance and rigid placement of a finished local manufacturing part. |
|
|
@@ -41,8 +37,7 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
41
37
|
|
|
42
38
|
| API | Summary |
|
|
43
39
|
| --- | --- |
|
|
44
|
-
| [
|
|
45
|
-
| [ComputedValue](../ComputedValue.md) | A value supplied immediately or by a lazy computed reader. |
|
|
40
|
+
| [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. |
|
|
46
41
|
| [GenerateCallback](../GenerateCallback.md) | Pure synchronous callback returning one declared part or an array; caches are optional. |
|
|
47
42
|
| [PartGeometry](../PartGeometry.md) | Manufacturing geometry; filled sections are intermediate construction values. |
|
|
48
43
|
|
|
@@ -50,4 +45,4 @@ Start with `generate(({ params, part, assert }) => ...)` and return one `part(..
|
|
|
50
45
|
|
|
51
46
|
- [Complete standalone model example](../../../guides/standalone-model.md#minimal-model-entry)
|
|
52
47
|
|
|
53
|
-
Package: `@metamesh/modeling@0.
|
|
48
|
+
Package: `@metamesh/modeling@0.19.0`.
|
|
@@ -23,8 +23,6 @@ Radial clearance is per side; axial gap is the total gap between adjacent interv
|
|
|
23
23
|
| API | Summary |
|
|
24
24
|
| --- | --- |
|
|
25
25
|
| [KnuckleHinge](../KnuckleHinge-type.md) | Portable local geometry; consumers own plates, holes, part declarations, and final placement. |
|
|
26
|
-
| [KnuckleHingeBaseSpec](../KnuckleHingeBaseSpec.md) | Shared knuckle-joint dimensions in millimetres, independent of mounting geometry. |
|
|
27
|
-
| [KnuckleHingeSamplingOptions](../KnuckleHingeSamplingOptions.md) | Shared circular sampling for barrels, shafts, and bores. |
|
|
28
26
|
| [KnuckleHingeHalfOptions](../KnuckleHingeHalfOptions.md) | Optional mounting and edge treatment for one knuckle owner. |
|
|
29
27
|
| [KnuckleHingeWeb](../KnuckleHingeWeb.md) | Rectangular connection from the axis into a caller-owned mounting body, in millimetres. |
|
|
30
28
|
|
|
@@ -33,6 +31,5 @@ Radial clearance is per side; axial gap is the total gap between adjacent interv
|
|
|
33
31
|
| API | Summary |
|
|
34
32
|
| --- | --- |
|
|
35
33
|
| [KnuckleHingeOptions](../KnuckleHingeOptions.md) | Joint declaration with independent attachments; unspecified sampling inherits the evaluating host. |
|
|
36
|
-
| [KnuckleHingeSpec](../KnuckleHingeSpec.md) | Knuckle-joint construction modes and interval ownership. |
|
|
37
34
|
|
|
38
|
-
Package: `@metamesh/modeling@0.
|
|
35
|
+
Package: `@metamesh/modeling@0.19.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,10 @@ 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
|
-
| [
|
|
24
|
-
| [TriangleMeshAnalysis](../TriangleMeshAnalysis.md) | Measurements and optional edge-connected topology from one validated mesh traversal. |
|
|
25
|
-
| [TriangleMeshMeasurements](../TriangleMeshMeasurements.md) | Geometric measurements derived from a validated, non-empty triangle mesh. |
|
|
30
|
+
| [SolidSegmentHit](../SolidSegmentHit.md) | Copied surface intersection from a finite directed segment. Distance is in millimetres. |
|
|
26
31
|
|
|
27
32
|
## Guides
|
|
28
33
|
|
|
29
|
-
- [Solid inspection](../../../guides/
|
|
34
|
+
- [Solid inspection](../../../guides/resolution-and-inspection.md#solid-inspection)
|
|
30
35
|
|
|
31
|
-
Package: `@metamesh/modeling@0.
|
|
36
|
+
Package: `@metamesh/modeling@0.19.0`.
|