@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
|
@@ -1,14 +1,45 @@
|
|
|
1
1
|
import { GeometryError } from "../geometry/errors.js";
|
|
2
|
+
import { adoptImmutableBuffer, immutableBuffer, immutableBufferView, isImmutableBuffer, } from "../geometry/immutable-buffer.js";
|
|
2
3
|
import { isImmutableMathValue } from "../geometry/math/immutable-value.js";
|
|
3
4
|
import { geometryRecipe, isGeometryRecipe } from "./geometry-recipes.js";
|
|
4
|
-
|
|
5
|
-
const mutableBufferMessage = "Generation data cannot contain mutable typed arrays or raw ArrayBuffers. Use immutableBuffer(array) or immutableMesh(mesh) before caching them or declaring dependencies.";
|
|
5
|
+
const mutableBufferMessage = "Generation data cannot contain mutable typed arrays or raw ArrayBuffers. Use immutableBuffer(array) or mesh.immutable(mesh) before caching them or declaring dependencies.";
|
|
6
6
|
const capturedMetadata = new WeakMap();
|
|
7
|
+
const immutableInputs = new WeakSet();
|
|
7
8
|
const noChildren = Object.freeze([]);
|
|
8
9
|
/** Reuses field accounting only for containers captured or deeply validated by this owner. */
|
|
9
10
|
export function generationDataMetadata(value) {
|
|
10
11
|
return capturedMetadata.get(value);
|
|
11
12
|
}
|
|
13
|
+
/** Identity reuse is safe only for owned values or completely frozen plain-data graphs. */
|
|
14
|
+
export function isImmutableGenerationValue(value) {
|
|
15
|
+
if (typeof value !== "object" || value === null)
|
|
16
|
+
return typeof value !== "function";
|
|
17
|
+
const seen = new Set();
|
|
18
|
+
const immutable = (input) => {
|
|
19
|
+
if (typeof input !== "object" || input === null)
|
|
20
|
+
return typeof input !== "function";
|
|
21
|
+
if (immutableInputs.has(input) ||
|
|
22
|
+
capturedMetadata.has(input) ||
|
|
23
|
+
isGeometryRecipe(input) ||
|
|
24
|
+
isImmutableMathValue(input) ||
|
|
25
|
+
isImmutableBuffer(input))
|
|
26
|
+
return true;
|
|
27
|
+
if (!Object.isFrozen(input))
|
|
28
|
+
return false;
|
|
29
|
+
if (seen.has(input))
|
|
30
|
+
return true;
|
|
31
|
+
seen.add(input);
|
|
32
|
+
for (const [, field] of generationDataEntries(input))
|
|
33
|
+
if (!immutable(field))
|
|
34
|
+
return false;
|
|
35
|
+
return true;
|
|
36
|
+
};
|
|
37
|
+
if (!immutable(value))
|
|
38
|
+
return false;
|
|
39
|
+
for (const input of seen)
|
|
40
|
+
immutableInputs.add(input);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
12
43
|
const scalarBytes = (value) => (typeof value === "string" ? value.length * 2 : 8);
|
|
13
44
|
/** Iterates plain fields; recipe capture may read each enumerable accessor once. */
|
|
14
45
|
export function* generationDataEntries(value, captureAccessors = false) {
|
package/dist/model/operations.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
import { GeometryError } from "../geometry/errors.js";
|
|
2
1
|
import { invokeModelOperation as invoke } from "./operation-dispatch.js";
|
|
3
|
-
function requireProfile(shape, operation) {
|
|
4
|
-
if (typeof shape !== "object" || shape === null || !("components" in shape)) {
|
|
5
|
-
throw new GeometryError("INVALID_ARGUMENT", `${operation}() requires a CorrespondingProfile. Use section.${operation}() for a Section.`, { operation });
|
|
6
|
-
}
|
|
7
|
-
}
|
|
8
2
|
/**
|
|
9
3
|
* Axis-aligned box with uniform or disjoint named edge/group treatments.
|
|
10
4
|
*
|
|
@@ -34,13 +28,15 @@ export function cylinder(options) {
|
|
|
34
28
|
}
|
|
35
29
|
/**
|
|
36
30
|
* Declares a +Z hole or blind-pocket cutter with explicit end overrun in millimetres.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
37
33
|
* Choose exactly one circular diameter or existing Section. A 45-degree entry chamfer
|
|
38
34
|
* supports one strictly convex contour without holes; plain profiles may have any topology.
|
|
39
35
|
* Circular entries retain nominal frustum radii; profile entries offset the supplied polygon edges.
|
|
40
36
|
* Circular head recesses are mutually exclusive with entryChamfer. Both overrun ends default
|
|
41
37
|
* to zero, so the nominal bottom remains at Z=0 and blind pocket floors are preserved.
|
|
42
38
|
* Existing Section samples are authoritative; limits and unspecified circular sampling belong
|
|
43
|
-
* to the evaluating host.
|
|
39
|
+
* to the evaluating host.
|
|
44
40
|
*
|
|
45
41
|
* @example A blind hex pocket with an open top
|
|
46
42
|
* ```ts
|
|
@@ -92,52 +88,6 @@ export function union(shapes) {
|
|
|
92
88
|
export function intersect(shapes) {
|
|
93
89
|
return invoke("intersect", [shapes]);
|
|
94
90
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Splits a solid into [inside the cutter, outside the cutter].
|
|
97
|
-
*
|
|
98
|
-
* The first result is the intersection; the second is the subtraction. The cutter itself
|
|
99
|
-
* is not returned. Either result may be empty or contain multiple disconnected components.
|
|
100
|
-
*
|
|
101
|
-
* @example Keep the plug and the surrounding body
|
|
102
|
-
* ```ts
|
|
103
|
-
* const body = box({ size: [30, 20, 8] });
|
|
104
|
-
* const cutter = cylinder({ height: 10, diameter: 8 });
|
|
105
|
-
* const [plug, remainder] = split(body, cutter);
|
|
106
|
-
* // Move the plug beside the body to show both results.
|
|
107
|
-
* union([plug.translate([0, -20, 0]), remainder]);
|
|
108
|
-
* ```
|
|
109
|
-
*/
|
|
110
|
-
export function split(solid, cutter) {
|
|
111
|
-
return invoke("split", [solid, cutter]);
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Splits a solid into [positive-normal side, negative side] at a world-space plane.
|
|
115
|
-
*
|
|
116
|
-
* The nonzero normal is normalized; offset is the signed distance from the origin in
|
|
117
|
-
* millimetres, defaulting to zero. Both cut faces are closed. Select either tuple result
|
|
118
|
-
* to retain one side; either result may be empty.
|
|
119
|
-
*
|
|
120
|
-
* @example Separate two halves at X = 0
|
|
121
|
-
* ```ts
|
|
122
|
-
* const body = box({ size: [30, 20, 8] });
|
|
123
|
-
* const [right, left] = splitByPlane(body, { normal: [1, 0, 0] });
|
|
124
|
-
* // The gap is only for display; the cut itself removes no material.
|
|
125
|
-
* union([right.translate([4, 0, 0]), left.translate([-4, 0, 0])]);
|
|
126
|
-
* ```
|
|
127
|
-
*
|
|
128
|
-
* @example Keep only the positive half
|
|
129
|
-
* ```ts
|
|
130
|
-
* const [right] = splitByPlane(box({ size: [30, 20, 8] }), { normal: [1, 0, 0] });
|
|
131
|
-
* right;
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
export function splitByPlane(solid, plane) {
|
|
135
|
-
return invoke("splitByPlane", [solid, plane]);
|
|
136
|
-
}
|
|
137
|
-
/** Combines disjoint components without resolving overlap. */
|
|
138
|
-
export function compose(solids) {
|
|
139
|
-
return invoke("compose", [solids]);
|
|
140
|
-
}
|
|
141
91
|
export function hull(options) {
|
|
142
92
|
return invoke("hull", [options]);
|
|
143
93
|
}
|
|
@@ -151,27 +101,16 @@ export function minkowskiSum(a, b) {
|
|
|
151
101
|
* @example Mesh import
|
|
152
102
|
* ```ts
|
|
153
103
|
* import { solidFromMesh } from "@metamesh/modeling";
|
|
154
|
-
* import
|
|
104
|
+
* import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
105
|
+
* import { rectangleContour } from "@metamesh/modeling/geometry";
|
|
155
106
|
*
|
|
156
|
-
* const
|
|
157
|
-
* solidFromMesh(
|
|
107
|
+
* const plate = mesh.extrude(rectangleContour({ size: [20, 12] }), { height: 6 });
|
|
108
|
+
* solidFromMesh(plate);
|
|
158
109
|
* ```
|
|
159
110
|
*/
|
|
160
111
|
export function solidFromMesh(mesh) {
|
|
161
112
|
return invoke("solidFromMesh", [mesh]);
|
|
162
113
|
}
|
|
163
|
-
/**
|
|
164
|
-
* Reads a copied, immutable named anchor from this exact active generation.
|
|
165
|
-
*
|
|
166
|
-
* @example Read the top datum
|
|
167
|
-
* ```ts
|
|
168
|
-
* const plate = box({ size: [30, 20, 6] });
|
|
169
|
-
* anchor(plate, "top"); // position [0, 0, 3], direction [0, 0, 1]
|
|
170
|
-
* ```
|
|
171
|
-
*/
|
|
172
|
-
export function anchor(shape, name) {
|
|
173
|
-
return invoke("anchor", [shape, name]);
|
|
174
|
-
}
|
|
175
114
|
/**
|
|
176
115
|
* Fills one closed millimetre XY outline, explicit outer/hole topology, or compound contours.
|
|
177
116
|
*
|
|
@@ -260,8 +199,8 @@ export function star(options) {
|
|
|
260
199
|
return invoke("star", [options]);
|
|
261
200
|
}
|
|
262
201
|
/**
|
|
263
|
-
* Extrudes explicit corresponding contours along +Z with degree twist and top scaling.
|
|
264
|
-
*
|
|
202
|
+
* Extrudes a filled Section or explicit corresponding contours along +Z with degree twist and top scaling.
|
|
203
|
+
* Use `section.extrude(options)` in fluent sequences, or this function for generic profile inputs.
|
|
265
204
|
*
|
|
266
205
|
* @example Extrude
|
|
267
206
|
* ```ts
|
|
@@ -273,12 +212,11 @@ export function star(options) {
|
|
|
273
212
|
* ```
|
|
274
213
|
*/
|
|
275
214
|
export function extrude(shape, options) {
|
|
276
|
-
requireProfile(shape, "extrude");
|
|
277
215
|
return invoke("extrude", [shape, options]);
|
|
278
216
|
}
|
|
279
217
|
/**
|
|
280
|
-
* Revolves explicit corresponding radial/Z contours around +Z, with caps for partial sweeps.
|
|
281
|
-
*
|
|
218
|
+
* Revolves a filled Section or explicit corresponding radial/Z contours around +Z, with caps for partial sweeps.
|
|
219
|
+
* Use `section.revolve(options)` in fluent sequences, or this function for generic profile inputs.
|
|
282
220
|
*
|
|
283
221
|
* @example Revolve
|
|
284
222
|
* ```ts
|
|
@@ -291,7 +229,6 @@ export function extrude(shape, options) {
|
|
|
291
229
|
* ```
|
|
292
230
|
*/
|
|
293
231
|
export function revolve(shape, options) {
|
|
294
|
-
requireProfile(shape, "revolve");
|
|
295
232
|
return invoke("revolve", [shape, options]);
|
|
296
233
|
}
|
|
297
234
|
export function loft(stations, options) {
|
|
@@ -305,8 +242,8 @@ export function matchProfiles(profiles, options) {
|
|
|
305
242
|
return invoke("matchProfiles", [profiles, options]);
|
|
306
243
|
}
|
|
307
244
|
/**
|
|
308
|
-
* Sweeps explicit corresponding contours using the selected frame policy.
|
|
309
|
-
*
|
|
245
|
+
* Sweeps a filled Section or explicit corresponding contours using the selected frame policy.
|
|
246
|
+
* Use `section.sweep(path, options)` in fluent sequences, or this function for generic profile inputs.
|
|
310
247
|
*
|
|
311
248
|
* @example Sweep
|
|
312
249
|
* ```ts
|
|
@@ -320,75 +257,8 @@ export function matchProfiles(profiles, options) {
|
|
|
320
257
|
* ```
|
|
321
258
|
*/
|
|
322
259
|
export function sweep(shape, path, options) {
|
|
323
|
-
requireProfile(shape, "sweep");
|
|
324
260
|
return invoke("sweep", [shape, path, options]);
|
|
325
261
|
}
|
|
326
|
-
/**
|
|
327
|
-
* Copies lightweight section measurements.
|
|
328
|
-
*
|
|
329
|
-
* @example Check filled area
|
|
330
|
-
* ```ts
|
|
331
|
-
* const facts = inspectSection(rectangle({ size: [20, 10] }));
|
|
332
|
-
* facts.area; // 200 mm²
|
|
333
|
-
* ```
|
|
334
|
-
*/
|
|
335
|
-
export function inspectSection(section) {
|
|
336
|
-
return invoke("inspectSection", [section]);
|
|
337
|
-
}
|
|
338
|
-
/**
|
|
339
|
-
* Reads immutable native facts once per solid; temporary components are owned by the build.
|
|
340
|
-
*
|
|
341
|
-
* @example Check dimensions and volume
|
|
342
|
-
* ```ts
|
|
343
|
-
* const facts = inspectSolid(box({ size: [30, 20, 6] }));
|
|
344
|
-
* facts.volume; // 3600 mm³
|
|
345
|
-
* ```
|
|
346
|
-
*/
|
|
347
|
-
export function inspectSolid(solid) {
|
|
348
|
-
return invoke("inspectSolid", [solid]);
|
|
349
|
-
}
|
|
350
|
-
/**
|
|
351
|
-
* Checks whether a solid or filled section contains no geometry during host execution.
|
|
352
|
-
*
|
|
353
|
-
* Accepts a 3D Solid or 2D Section handle, not a finalized model or raw triangle mesh.
|
|
354
|
-
* Useful after a Boolean operation whose inputs may not overlap; no mesh is extracted.
|
|
355
|
-
*
|
|
356
|
-
* @example Check a missed intersection
|
|
357
|
-
* ```ts
|
|
358
|
-
* const body = box({ size: 10 });
|
|
359
|
-
* const distant = box({ size: 10 }).translate([30, 0, 0]);
|
|
360
|
-
* const empty = intersect([body, distant]);
|
|
361
|
-
* const missed = isEmpty(empty); // true
|
|
362
|
-
* ```
|
|
363
|
-
*/
|
|
364
|
-
export function isEmpty(shape) {
|
|
365
|
-
return invoke("isEmpty", [shape]);
|
|
366
|
-
}
|
|
367
|
-
/**
|
|
368
|
-
* Measures the minimum separation between two nonempty solids in millimetres.
|
|
369
|
-
*
|
|
370
|
-
* Uses actual geometry, not bounding-box separation or distance between object origins.
|
|
371
|
-
* Contact or overlapping material returns zero, including one solid inside another.
|
|
372
|
-
* The kernel's search range is managed internally; the result is not capped at a caller limit.
|
|
373
|
-
* Empty geometry and component selections from another session reject. Results follow native numeric precision.
|
|
374
|
-
*
|
|
375
|
-
* @example Measure the gap between two blocks
|
|
376
|
-
* ```ts
|
|
377
|
-
* const left = box({ size: 10 });
|
|
378
|
-
* const right = box({ size: 10 }).translate([13, 0, 0]);
|
|
379
|
-
* const gap = distance(left, right); // 3 mm
|
|
380
|
-
* ```
|
|
381
|
-
*/
|
|
382
|
-
export function distance(solid, other) {
|
|
383
|
-
return invoke("distance", [solid, other]);
|
|
384
|
-
}
|
|
385
|
-
/** Copies intersections along the finite directed origin-to-endpoint segment. */
|
|
386
|
-
export function castSegment(solid, origin, endpoint) {
|
|
387
|
-
return invoke("castSegment", [solid, origin, endpoint]);
|
|
388
|
-
}
|
|
389
|
-
export function components(shape) {
|
|
390
|
-
return invoke("components", [shape]);
|
|
391
|
-
}
|
|
392
262
|
/**
|
|
393
263
|
* Bounded positive-inside implicit field constructor.
|
|
394
264
|
* The retained callback must capture independent immutable inputs, not live session readers or parameters.
|
|
@@ -439,7 +309,7 @@ export function threadRidge(options) {
|
|
|
439
309
|
* Each half's `chamfer` bevels its barrel outer rims and all web edges. Consumers own plates, screw holes,
|
|
440
310
|
* pin retention, fit policy, and part placement. Added mounting material must preserve the bores.
|
|
441
311
|
* No opening range or collision freedom is implied for arbitrary caller attachments.
|
|
442
|
-
* Compiled Generator packages using this operation require runtime
|
|
312
|
+
* Compiled Generator packages using this operation require runtime 10.0.0 or newer in major 10.
|
|
443
313
|
*
|
|
444
314
|
* @example Integral-pin hinge with two mounting webs
|
|
445
315
|
* ```ts
|
|
@@ -20,7 +20,6 @@ const operationBehaviors = {
|
|
|
20
20
|
revolve: "solid",
|
|
21
21
|
loft: "solid",
|
|
22
22
|
sweep: "solid",
|
|
23
|
-
compose: "solid",
|
|
24
23
|
minkowskiSum: "solid",
|
|
25
24
|
solidFromMesh: "solid",
|
|
26
25
|
withTolerance: "solid",
|
|
@@ -54,7 +53,7 @@ const operationBehaviors = {
|
|
|
54
53
|
intersect: "preserve",
|
|
55
54
|
subtract: "preserve",
|
|
56
55
|
hull: "preserve",
|
|
57
|
-
|
|
56
|
+
toMesh: "observation",
|
|
58
57
|
toRegionData: "observation",
|
|
59
58
|
inspectSection: "observation",
|
|
60
59
|
inspectSolid: "observation",
|
|
@@ -97,6 +96,11 @@ export function declareRecipeOperation(operation, resolution, supplied, declarat
|
|
|
97
96
|
if (behavior === "pattern")
|
|
98
97
|
return declarePattern(operation, resolution, supplied, declaration);
|
|
99
98
|
const args = captureRecipeInputs(supplied);
|
|
99
|
+
if ((operation === "union" || operation === "intersect") &&
|
|
100
|
+
(!Array.isArray(args[0]) || args[0].length === 0))
|
|
101
|
+
throw new GeometryError("INVALID_ARGUMENT", `${operation} requires at least one shape.`, {
|
|
102
|
+
operation,
|
|
103
|
+
});
|
|
100
104
|
const call = { method: operation, args, resolution };
|
|
101
105
|
if (behavior === "observation")
|
|
102
106
|
return requireRealization(declaration, operation).invoke(call);
|
|
@@ -4,11 +4,23 @@ const dispatchers = new WeakMap();
|
|
|
4
4
|
// created them. Neither instances nor these shared methods retain an execution or native value.
|
|
5
5
|
function forward(name) {
|
|
6
6
|
return function (...args) {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
return invoke(this, name, [this, ...args]);
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
function invoke(receiver, name, args) {
|
|
11
|
+
const dispatch = dispatchers.get(receiver);
|
|
12
|
+
if (dispatch !== undefined)
|
|
13
|
+
return dispatch(name, args);
|
|
14
|
+
const context = currentModelContext(name);
|
|
15
|
+
return Reflect.apply(context[name], undefined, args);
|
|
16
|
+
}
|
|
17
|
+
/** Receiver and collection forms share one batch operation and preserve declared operand order. */
|
|
18
|
+
function booleanMethod(name) {
|
|
19
|
+
return function (operand) {
|
|
20
|
+
const operands = Array.isArray(operand) ? operand : [operand];
|
|
21
|
+
if (operands.length === 0)
|
|
22
|
+
return this;
|
|
23
|
+
return invoke(this, name, name === "subtract" ? [this, operands] : [[this, ...operands]]);
|
|
12
24
|
};
|
|
13
25
|
}
|
|
14
26
|
function prototype(methods) {
|
|
@@ -20,17 +32,27 @@ const common = {
|
|
|
20
32
|
scale: forward("scale"),
|
|
21
33
|
mirror: forward("mirror"),
|
|
22
34
|
transform: forward("transform"),
|
|
23
|
-
|
|
35
|
+
union: booleanMethod("union"),
|
|
36
|
+
intersect: booleanMethod("intersect"),
|
|
37
|
+
subtract: booleanMethod("subtract"),
|
|
24
38
|
simplify: forward("simplify"),
|
|
25
39
|
withAnchors: forward("withAnchors"),
|
|
40
|
+
isEmpty: forward("isEmpty"),
|
|
41
|
+
components: forward("components"),
|
|
42
|
+
anchor: forward("anchor"),
|
|
26
43
|
};
|
|
27
44
|
const solidPrototype = prototype({
|
|
28
45
|
...common,
|
|
29
|
-
|
|
46
|
+
toMesh: forward("toMesh"),
|
|
30
47
|
attach: forward("attach"),
|
|
31
48
|
withTolerance: forward("withTolerance"),
|
|
32
49
|
projectSection: forward("projectSection"),
|
|
33
50
|
sliceSection: forward("sliceSection"),
|
|
51
|
+
inspect: forward("inspectSolid"),
|
|
52
|
+
distance: forward("distance"),
|
|
53
|
+
castSegment: forward("castSegment"),
|
|
54
|
+
split: forward("split"),
|
|
55
|
+
splitByPlane: forward("splitByPlane"),
|
|
34
56
|
});
|
|
35
57
|
const sectionPrototype = prototype({
|
|
36
58
|
...common,
|
|
@@ -39,6 +61,7 @@ const sectionPrototype = prototype({
|
|
|
39
61
|
extrude: forward("extrude"),
|
|
40
62
|
revolve: forward("revolve"),
|
|
41
63
|
sweep: forward("sweep"),
|
|
64
|
+
inspect: forward("inspectSection"),
|
|
42
65
|
});
|
|
43
66
|
/** Creates only the immutable public facade; the caller owns its private geometry identity. */
|
|
44
67
|
export function createSolidHandle(dispatch, properties) {
|
package/dist/text/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { SVGPathData, SVGPathDataTransformer } from "svg-pathdata";
|
|
2
2
|
import { GeometryError } from "../geometry/errors.js";
|
|
3
3
|
import { createVectorTextLayout } from "./vector-text-layout.js";
|
|
4
|
-
/**
|
|
4
|
+
/** Maximum input font size in bytes, checked before parsing or shaping untrusted font data. */
|
|
5
5
|
export const MAX_VECTOR_FONT_BYTES = 16 * 1024 * 1024;
|
|
6
6
|
function fail(message, code = "INVALID_ARGUMENT") {
|
|
7
7
|
throw new GeometryError(code, message, { operation: "prepareVectorFont" });
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metamesh/modeling",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Scoped solid modeling and pure geometry foundations for Node and browsers.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
"url": "https://github.com/JasonKoolman/metamesh/issues"
|
|
14
14
|
},
|
|
15
15
|
"type": "module",
|
|
16
|
+
"engines": {
|
|
17
|
+
"node": ">=24"
|
|
18
|
+
},
|
|
16
19
|
"sideEffects": false,
|
|
17
20
|
"files": [
|
|
18
21
|
"CHANGELOG.md",
|
|
@@ -23,7 +26,8 @@
|
|
|
23
26
|
"dist/**/*.wasm",
|
|
24
27
|
"dist/engine/kernel/LICENSE",
|
|
25
28
|
"!dist/geometry-module.js",
|
|
26
|
-
"!dist/modeling-module.js"
|
|
29
|
+
"!dist/modeling-module.js",
|
|
30
|
+
"!dist/mesh-module.js"
|
|
27
31
|
],
|
|
28
32
|
"exports": {
|
|
29
33
|
".": {
|
|
@@ -34,6 +38,10 @@
|
|
|
34
38
|
"types": "./dist/api/geometry.d.ts",
|
|
35
39
|
"import": "./dist/geometry/index.js"
|
|
36
40
|
},
|
|
41
|
+
"./geometry/mesh": {
|
|
42
|
+
"types": "./dist/api/mesh.d.ts",
|
|
43
|
+
"import": "./dist/geometry/mesh-api.js"
|
|
44
|
+
},
|
|
37
45
|
"./engine": {
|
|
38
46
|
"types": "./dist/api/engine.d.ts",
|
|
39
47
|
"import": "./dist/engine/index.js"
|
|
@@ -49,10 +57,10 @@
|
|
|
49
57
|
"registry": "https://registry.npmjs.org/"
|
|
50
58
|
},
|
|
51
59
|
"dependencies": {
|
|
60
|
+
"fflate": "^0.8.3",
|
|
52
61
|
"polygon-clipping": "^0.15.7",
|
|
53
62
|
"saxes": "^6.0.0",
|
|
54
|
-
"svg-pathdata": "^9.0.0"
|
|
55
|
-
"fflate": "^0.8.3"
|
|
63
|
+
"svg-pathdata": "^9.0.0"
|
|
56
64
|
},
|
|
57
65
|
"devDependencies": {
|
|
58
66
|
"@metamesh/config": "0.0.0",
|
|
@@ -61,12 +69,13 @@
|
|
|
61
69
|
"@vitest/coverage-v8": "^5.0.5",
|
|
62
70
|
"esbuild": "^0.28.2",
|
|
63
71
|
"fast-check": "4.10.2",
|
|
72
|
+
"fontkit": "^2.0.4",
|
|
73
|
+
"manifold-3d": "3.5.4",
|
|
74
|
+
"rolldown": "1.2.14",
|
|
64
75
|
"typedoc": "0.28.20",
|
|
65
76
|
"typedoc-plugin-markdown": "4.14.0",
|
|
66
77
|
"typescript": "6.0.3",
|
|
67
78
|
"vitest": "^5.0.5",
|
|
68
|
-
"manifold-3d": "3.5.4",
|
|
69
|
-
"fontkit": "^2.0.4",
|
|
70
79
|
"woff2-encoder": "2.0.0"
|
|
71
80
|
},
|
|
72
81
|
"peerDependencies": {
|
|
@@ -82,11 +91,11 @@
|
|
|
82
91
|
}
|
|
83
92
|
},
|
|
84
93
|
"scripts": {
|
|
85
|
-
"api:extract:check": "
|
|
86
|
-
"api:extract:update": "
|
|
94
|
+
"api:extract:check": "node --test scripts/extract-api.spec.mjs && node scripts/extract-api.mjs",
|
|
95
|
+
"api:extract:update": "node --test scripts/extract-api.spec.mjs && node scripts/extract-api.mjs --local",
|
|
87
96
|
"build": "pnpm run build:declarations && pnpm run api:extract:check && pnpm run runtime:verify && node ../../scripts/package-docs/build.mjs modeling",
|
|
88
97
|
"build:update-api": "pnpm run build:declarations && pnpm run api:extract:update && pnpm run runtime:verify && node ../../scripts/package-docs/build.mjs modeling",
|
|
89
|
-
"build:declarations": "node ../../scripts/clean-dist.mjs && node scripts/build-kernel-assets.mjs && tsc -p tsconfig.build.json && node scripts/build-geometry-module.mjs && node scripts/build-modeling-module.mjs",
|
|
98
|
+
"build:declarations": "node ../../scripts/clean-dist.mjs && node scripts/build-kernel-assets.mjs && tsc -p tsconfig.build.json && node scripts/build-geometry-module.mjs && node scripts/build-modeling-module.mjs && node scripts/build-mesh-module.mjs",
|
|
90
99
|
"coverage": "node scripts/build-kernel-assets.mjs && vitest run src --coverage",
|
|
91
100
|
"docs": "pnpm run build && typedoc --options typedoc.json",
|
|
92
101
|
"docs:reference:generate": "pnpm run build:update-api && pnpm --filter @metamesh/generator-sdk build && pnpm run docs:reference:test && node scripts/reference/generate-reference-docs.mjs",
|
|
@@ -94,12 +103,13 @@
|
|
|
94
103
|
"docs:reference:test": "node --test scripts/reference/reference-model.spec.mjs",
|
|
95
104
|
"docs:reference:verify": "pnpm run docs:reference:test && node scripts/reference/generate-reference-docs.mjs --check",
|
|
96
105
|
"fixtures:check": "pnpm run build && pnpm run fixtures:verify",
|
|
97
|
-
"fixtures:verify": "tsc -p fixtures/tsconfig.json --pretty false && node scripts/check-pure-virtual-module.mjs",
|
|
106
|
+
"fixtures:verify": "tsc -p fixtures/tsconfig.json --pretty false && node scripts/check-pure-virtual-module.mjs && pnpm run mesh:verify",
|
|
98
107
|
"lint": "node scripts/check-import-boundaries.mjs && eslint .",
|
|
99
108
|
"runtime:verify": "node scripts/check-runtime-entrypoints.mjs",
|
|
100
109
|
"test": "node scripts/build-kernel-assets.mjs && vitest run src",
|
|
101
110
|
"test:mesh-snapshots": "vitest run src/geometry/mechanical/mesh-regression.spec.ts",
|
|
102
111
|
"test:mesh-snapshots:update": "vitest run src/geometry/mechanical/mesh-regression.spec.ts -u",
|
|
103
|
-
"typecheck": "tsc --noEmit --pretty false"
|
|
112
|
+
"typecheck": "tsc --noEmit --pretty false",
|
|
113
|
+
"mesh:verify": "node scripts/check-mesh-bundles.mjs"
|
|
104
114
|
}
|
|
105
115
|
}
|
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
# ModelSnapshot
|
|
2
|
-
|
|
3
|
-
Captured immutable revision; disposal never changes another snapshot or an in-flight export.
|
|
4
|
-
|
|
5
|
-
## Extends
|
|
6
|
-
|
|
7
|
-
- [`FinalizedModel`](../model/FinalizedModel.md)
|
|
8
|
-
|
|
9
|
-
## Properties
|
|
10
|
-
|
|
11
|
-
### parts
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
`readonly` **parts**: readonly [`SnapshotPart`](SnapshotPart.md)[]
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
Ordered world-space parts, each referring to reusable local geometry.
|
|
20
|
-
|
|
21
|
-
#### Overrides
|
|
22
|
-
|
|
23
|
-
[`FinalizedModel`](../model/FinalizedModel.md).[`parts`](../model/FinalizedModel.md#parts)
|
|
24
|
-
|
|
25
|
-
***
|
|
26
|
-
|
|
27
|
-
### diagnostics
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
`readonly` **diagnostics**: readonly [`GenerationDiagnostic`](../model/GenerationDiagnostic.md)[]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
Nonblocking diagnostics emitted for this revision.
|
|
36
|
-
|
|
37
|
-
***
|
|
38
|
-
|
|
39
|
-
### dependencies
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
`readonly` **dependencies**: [`ModelDependencies`](ModelDependencies.md)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
Known dependency graph; outer reads remain conservative model-wide dependencies.
|
|
48
|
-
|
|
49
|
-
***
|
|
50
|
-
|
|
51
|
-
### bounds
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
`readonly` **bounds**: [`Bounds3Data`](../model/Bounds3Data.md)
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
Axis-aligned XYZ bounds in millimetres.
|
|
60
|
-
|
|
61
|
-
#### Inherited from
|
|
62
|
-
|
|
63
|
-
[`FinalizedModel`](../model/FinalizedModel.md).[`bounds`](../model/FinalizedModel.md#bounds)
|
|
64
|
-
|
|
65
|
-
***
|
|
66
|
-
|
|
67
|
-
### stats
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
`readonly` **stats**: `object`
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
Aggregate counts, unique backing storage, volume, and execution timings.
|
|
76
|
-
|
|
77
|
-
#### partCount
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
`readonly` **partCount**: `number`
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
Number of declared output parts, including repeated geometry instances.
|
|
86
|
-
|
|
87
|
-
#### vertexCount
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
`readonly` **vertexCount**: `number`
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
Aggregate position-buffer vertex count.
|
|
96
|
-
|
|
97
|
-
#### triangleCount
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
`readonly` **triangleCount**: `number`
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
Aggregate indexed triangle count.
|
|
106
|
-
|
|
107
|
-
#### volumeMm3
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
`readonly` **volumeMm3**: `number`
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
Signed enclosed volume of all selected parts in cubic millimetres.
|
|
116
|
-
|
|
117
|
-
#### byteCount
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
`readonly` **byteCount**: `number`
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
Unique transferable backing-buffer bytes, counted once across all parts.
|
|
126
|
-
|
|
127
|
-
#### buildMs
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
`readonly` **buildMs**: `number`
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
Synchronous callback duration in milliseconds.
|
|
136
|
-
|
|
137
|
-
#### finalizationMs
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
`readonly` **finalizationMs**: `number`
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
Manufacturing validation and buffer finalization duration in milliseconds.
|
|
146
|
-
|
|
147
|
-
#### generationMs
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
`readonly` **generationMs**: `number`
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
Total generation duration, including cache retention and native cleanup, in milliseconds.
|
|
156
|
-
|
|
157
|
-
#### Inherited from
|
|
158
|
-
|
|
159
|
-
[`FinalizedModel`](../model/FinalizedModel.md).[`stats`](../model/FinalizedModel.md#stats)
|
|
160
|
-
|
|
161
|
-
## Methods
|
|
162
|
-
|
|
163
|
-
### dispose()
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
**dispose**(): `void`
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
Releases this snapshot's geometry references and invalidates its parts, bounds and stats accessors.
|
|
172
|
-
Idempotent. Diagnostics, dependencies and previously obtained parts remain usable.
|
|
173
|
-
|
|
174
|
-
#### Returns
|
|
175
|
-
|
|
176
|
-
`void`
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
## Related APIs
|
|
180
|
-
|
|
181
|
-
- [ModelDependencies](ModelDependencies.md)
|
|
182
|
-
- [SnapshotPart](SnapshotPart.md)
|
|
183
|
-
|
|
184
|
-
Package: `@metamesh/modeling@0.17.0`.
|