@metamesh/modeling 0.18.0 → 0.20.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +82 -0
- package/README.md +96 -64
- package/dist/api/engine.d.ts +216 -160
- package/dist/api/export.d.ts +204 -0
- package/dist/api/geometry.d.ts +410 -2106
- package/dist/api/index.d.ts +545 -1821
- package/dist/api/math.d.ts +315 -0
- package/dist/api/mechanical.d.ts +1041 -0
- package/dist/api/mesh.d.ts +395 -94
- package/dist/api/text.d.ts +24 -44
- package/dist/docs/guides/concepts.md +54 -523
- package/dist/docs/guides/exporting.md +88 -0
- package/dist/docs/guides/fonts.md +7 -5
- package/dist/docs/guides/fundamentals.md +12 -24
- package/dist/docs/guides/generation.md +76 -61
- package/dist/docs/guides/geometry-values.md +251 -0
- package/dist/docs/guides/hosting.md +58 -80
- package/dist/docs/guides/profiles-and-extrusion.md +400 -0
- package/dist/docs/guides/recipes.md +52 -706
- package/dist/docs/guides/resolution-and-inspection.md +153 -0
- package/dist/docs/guides/solid-joins.md +136 -0
- package/dist/docs/guides/standalone-model.md +5 -3
- package/dist/docs/guides/svg-and-text.md +252 -0
- package/dist/docs/guides/sweeps-and-lofts.md +223 -0
- package/dist/docs/guides/transforms-and-placement.md +323 -0
- package/dist/docs/guides/workers.md +166 -0
- package/dist/docs/manifest.json +5539 -8603
- package/dist/docs/reference/engine/GenerationOptions.md +9 -4
- package/dist/docs/reference/engine/GeometryResource.md +11 -5
- package/dist/docs/reference/engine/ModelDependencies.md +9 -3
- package/dist/docs/reference/engine/ModelEngine.md +8 -3
- package/dist/docs/reference/engine/ModelEngineOptions.md +6 -5
- package/dist/docs/reference/engine/ModelPart.md +12 -6
- package/dist/docs/reference/engine/ModelResult.md +8 -2
- package/dist/docs/reference/engine/ModelRunArguments.md +7 -1
- package/dist/docs/reference/engine/ModelRunOptions.md +9 -4
- package/dist/docs/reference/engine/ModelSession.md +7 -1
- package/dist/docs/reference/engine/SessionOptions.md +9 -4
- package/dist/docs/reference/engine/categories/host-lifecycle.md +11 -10
- package/dist/docs/reference/engine/checkModel.md +11 -1
- package/dist/docs/reference/engine/createModelEngine.md +13 -4
- package/dist/docs/reference/engine/defaultModelingLimits.md +7 -8
- package/dist/docs/reference/engine/modelingWasmUrl.md +7 -1
- package/dist/docs/reference/engine.md +13 -7
- package/dist/docs/reference/export/Export3mfOptions.md +20 -0
- package/dist/docs/reference/export/ExportDiagnostic.md +47 -0
- package/dist/docs/reference/export/ExportFormat.md +13 -0
- package/dist/docs/reference/export/ExportGeometry.md +27 -0
- package/dist/docs/reference/export/ExportGlbOptions.md +114 -0
- package/dist/docs/reference/export/ExportLimits.md +71 -0
- package/dist/docs/reference/export/ExportMaterial.md +35 -0
- package/dist/docs/reference/export/ExportOptions.md +82 -0
- package/dist/docs/reference/export/ExportPart.md +76 -0
- package/dist/docs/reference/export/ExportReport.md +70 -0
- package/dist/docs/reference/export/ExportSink.md +29 -0
- package/dist/docs/reference/export/ExportStlOptions.md +20 -0
- package/dist/docs/reference/export/ExportedFile.md +98 -0
- package/dist/docs/reference/export/categories/mesh-serialization.md +53 -0
- package/dist/docs/reference/export/defaultExportLimits.md +20 -0
- package/dist/docs/reference/export/export3mf.md +62 -0
- package/dist/docs/reference/export/exportGlb.md +66 -0
- package/dist/docs/reference/export/exportStl.md +62 -0
- package/dist/docs/reference/export/write3mf.md +71 -0
- package/dist/docs/reference/export/writeGlb.md +75 -0
- package/dist/docs/reference/export/writeStl.md +71 -0
- package/dist/docs/reference/export.md +27 -0
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +9 -3
- package/dist/docs/reference/geometry/Anchor3-type.md +9 -3
- package/dist/docs/reference/geometry/Anchor3Options.md +70 -0
- package/dist/docs/reference/geometry/ArcCurve2.md +8 -2
- package/dist/docs/reference/geometry/ArcCurve3.md +8 -2
- package/dist/docs/reference/geometry/AttachOptions.md +10 -5
- package/dist/docs/reference/geometry/Bounds2-type.md +17 -24
- package/dist/docs/reference/geometry/Bounds2Data.md +10 -9
- package/dist/docs/reference/geometry/Bounds2Input.md +10 -4
- package/dist/docs/reference/geometry/Bounds2Options.md +10 -4
- package/dist/docs/reference/geometry/Bounds3-type.md +17 -24
- package/dist/docs/reference/geometry/Bounds3Data.md +10 -9
- package/dist/docs/reference/geometry/Bounds3Input.md +10 -4
- package/dist/docs/reference/geometry/Bounds3Options.md +10 -4
- package/dist/docs/reference/geometry/BoundsFit2.md +10 -4
- package/dist/docs/reference/geometry/BoundsFit3.md +10 -4
- package/dist/docs/reference/geometry/BoundsFitOptions.md +10 -4
- package/dist/docs/reference/geometry/BoxAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +9 -3
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +8 -2
- package/dist/docs/reference/geometry/CircleContourOptions.md +8 -2
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +8 -3
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +7 -1
- package/dist/docs/reference/geometry/CircularSampling.md +7 -1
- package/dist/docs/reference/geometry/CircularSamplingOptions.md +7 -1
- package/dist/docs/reference/geometry/Contour.md +9 -4
- package/dist/docs/reference/geometry/ContourCurve.md +8 -2
- package/dist/docs/reference/geometry/ContourPoint.md +8 -2
- package/dist/docs/reference/geometry/ContourSegment.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingComponent.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingContour.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingProfile.md +8 -2
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +9 -3
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +8 -2
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +8 -2
- package/dist/docs/reference/geometry/Curve2.md +8 -2
- package/dist/docs/reference/geometry/Curve3.md +8 -2
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +9 -3
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +10 -4
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +7 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +7 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +8 -2
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +15 -10
- package/dist/docs/reference/geometry/FittedTextLayout.md +8 -2
- package/dist/docs/reference/geometry/{Frame3.md → Frame3-type.md} +9 -2
- package/dist/docs/reference/geometry/Frame3Options.md +69 -0
- package/dist/docs/reference/geometry/GeometryError.md +7 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +7 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +7 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +7 -1
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +8 -2
- package/dist/docs/reference/geometry/GridPatternOptions.md +13 -5
- package/dist/docs/reference/geometry/ImmutableBuffer-type.md +8 -14
- package/dist/docs/reference/geometry/LineCurve2.md +8 -2
- package/dist/docs/reference/geometry/LineCurve3.md +8 -2
- package/dist/docs/reference/geometry/LinearPatternOptions.md +8 -2
- package/dist/docs/reference/geometry/LoftPlacement.md +19 -13
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +8 -2
- package/dist/docs/reference/geometry/ModelingLimits.md +7 -1
- package/dist/docs/reference/geometry/NumericArray.md +8 -2
- package/dist/docs/reference/geometry/Path2-type.md +158 -3
- package/dist/docs/reference/geometry/Path2Data.md +8 -2
- package/dist/docs/reference/geometry/Path2Input.md +8 -2
- package/dist/docs/reference/geometry/Path3-type.md +158 -3
- package/dist/docs/reference/geometry/Path3Data.md +8 -2
- package/dist/docs/reference/geometry/Path3Input.md +8 -2
- package/dist/docs/reference/geometry/PathFrame.md +8 -2
- package/dist/docs/reference/geometry/PathLocation.md +8 -2
- package/dist/docs/reference/geometry/PathNormalGuide.md +9 -3
- package/dist/docs/reference/geometry/PathOptions.md +8 -2
- package/dist/docs/reference/geometry/PathPatternOptions.md +9 -3
- package/dist/docs/reference/geometry/PathPlacement.md +10 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/PathStation.md +87 -0
- package/dist/docs/reference/geometry/PathSubdivisionOptions.md +44 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +9 -3
- package/dist/docs/reference/geometry/Pivot3Options.md +9 -3
- package/dist/docs/reference/geometry/PolygonData.md +9 -3
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +8 -2
- package/dist/docs/reference/geometry/Profile.md +8 -3
- package/dist/docs/reference/geometry/ProfileComponent2.md +8 -2
- package/dist/docs/reference/geometry/ProfileContour2.md +8 -2
- package/dist/docs/reference/geometry/ProfileSpan2.md +8 -2
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +10 -3
- package/dist/docs/reference/geometry/RadialPatternOptions.md +8 -2
- package/dist/docs/reference/geometry/RadialSizing.md +7 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +7 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +9 -2
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +8 -2
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +8 -2
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +8 -2
- package/dist/docs/reference/geometry/RegionData.md +8 -2
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +8 -2
- package/dist/docs/reference/geometry/ResolvedGeometryResolution.md +71 -0
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +7 -1
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +7 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +10 -4
- package/dist/docs/reference/geometry/SampleContourOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleHelixOptions.md +8 -2
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve2.md +8 -2
- package/dist/docs/reference/geometry/SampledCurve3.md +8 -2
- package/dist/docs/reference/geometry/SideProfileCurve.md +8 -2
- package/dist/docs/reference/geometry/SideProfilePoint.md +8 -2
- package/dist/docs/reference/geometry/SideProfileSegment.md +8 -2
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +7 -1
- package/dist/docs/reference/geometry/SplineOptions.md +69 -0
- package/dist/docs/reference/geometry/StarContourOptions.md +12 -2
- package/dist/docs/reference/geometry/StrokeCap.md +8 -2
- package/dist/docs/reference/geometry/StrokeJoin.md +8 -2
- package/dist/docs/reference/geometry/StrokeOptions.md +9 -3
- package/dist/docs/reference/geometry/SvgImportOptions.md +10 -4
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +8 -2
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +8 -2
- package/dist/docs/reference/geometry/Transform2-type.md +9 -3
- package/dist/docs/reference/geometry/Transform2Data.md +9 -3
- package/dist/docs/reference/geometry/Transform2Input.md +9 -3
- package/dist/docs/reference/geometry/Transform3-type.md +10 -4
- package/dist/docs/reference/geometry/Transform3Data.md +9 -3
- package/dist/docs/reference/geometry/Transform3Input.md +12 -5
- package/dist/docs/reference/geometry/Vector2-type.md +9 -3
- package/dist/docs/reference/geometry/Vector2Data.md +9 -3
- package/dist/docs/reference/geometry/Vector2Input.md +9 -3
- package/dist/docs/reference/geometry/Vector3-type.md +33 -3
- package/dist/docs/reference/geometry/Vector3Data.md +9 -3
- package/dist/docs/reference/geometry/Vector3Input.md +9 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +8 -2
- package/dist/docs/reference/geometry/VectorTextMetrics.md +9 -3
- package/dist/docs/reference/geometry/anchor3.md +23 -26
- package/dist/docs/reference/geometry/anchorFrame3.md +11 -5
- package/dist/docs/reference/geometry/attachmentTransform3.md +14 -8
- package/dist/docs/reference/geometry/bounds2.md +16 -8
- package/dist/docs/reference/geometry/bounds3.md +14 -6
- package/dist/docs/reference/geometry/boundsCenter.md +10 -4
- package/dist/docs/reference/geometry/boundsSize.md +10 -4
- package/dist/docs/reference/geometry/boxAnchor3.md +9 -3
- package/dist/docs/reference/geometry/categories/bounds-layout.md +12 -6
- package/dist/docs/reference/geometry/categories/curves-paths.md +24 -13
- package/dist/docs/reference/geometry/categories/immutable-data.md +40 -0
- package/dist/docs/reference/geometry/categories/pattern-placement.md +11 -5
- package/dist/docs/reference/geometry/categories/primitive-options.md +8 -13
- package/dist/docs/reference/geometry/categories/profiles-regions.md +11 -5
- package/dist/docs/reference/geometry/categories/resolution-errors.md +8 -1
- package/dist/docs/reference/geometry/categories/transforms-math.md +20 -51
- package/dist/docs/reference/geometry/categories/vector-import.md +8 -5
- package/dist/docs/reference/geometry/circleContour.md +8 -2
- package/dist/docs/reference/geometry/closeToAxis.md +12 -2
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +14 -5
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +18 -5
- package/dist/docs/reference/geometry/contourContainsPoint.md +12 -2
- package/dist/docs/reference/geometry/cylinderAnchor3.md +11 -5
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +8 -2
- package/dist/docs/reference/geometry/distributeAlongPath.md +21 -10
- package/dist/docs/reference/geometry/ellipseContour.md +8 -2
- package/dist/docs/reference/geometry/fitBounds.md +18 -4
- package/dist/docs/reference/geometry/fitTextLayout.md +11 -5
- package/dist/docs/reference/geometry/frame3.md +66 -0
- package/dist/docs/reference/geometry/gridPatternTransforms.md +12 -6
- package/dist/docs/reference/geometry/immutableBuffer.md +11 -3
- package/dist/docs/reference/geometry/isGeometryError.md +7 -1
- package/dist/docs/reference/geometry/layoutRow.md +12 -4
- package/dist/docs/reference/geometry/linearPatternTransforms.md +12 -6
- package/dist/docs/reference/geometry/matchProfiles.md +10 -2
- package/dist/docs/reference/geometry/normalizeContour.md +13 -3
- package/dist/docs/reference/geometry/normalizePolygon.md +10 -2
- package/dist/docs/reference/geometry/normalizeRegion.md +10 -2
- package/dist/docs/reference/geometry/path2.md +12 -2
- package/dist/docs/reference/geometry/path3.md +12 -2
- package/dist/docs/reference/geometry/pathPatternTransforms.md +18 -8
- package/dist/docs/reference/geometry/preflightSvgRegion.md +11 -5
- package/dist/docs/reference/geometry/radialPatternTransforms.md +11 -5
- package/dist/docs/reference/geometry/rectangleContour.md +8 -2
- package/dist/docs/reference/geometry/rectangleProfile.md +8 -3
- package/dist/docs/reference/geometry/regionArea.md +8 -2
- package/dist/docs/reference/geometry/regionBounds.md +11 -3
- package/dist/docs/reference/geometry/regularPolygonContour.md +8 -2
- package/dist/docs/reference/geometry/resamplePolyline2.md +12 -2
- package/dist/docs/reference/geometry/resamplePolyline3.md +12 -2
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +10 -4
- package/dist/docs/reference/geometry/resolveArcSegments.md +13 -5
- package/dist/docs/reference/geometry/resolveCircularSampling.md +7 -1
- package/dist/docs/reference/geometry/resolveCircularSegments.md +10 -2
- package/dist/docs/reference/geometry/resolveExtrusionSlices.md +85 -0
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +10 -2
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +8 -2
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +17 -4
- package/dist/docs/reference/geometry/sampleContour.md +10 -4
- package/dist/docs/reference/geometry/sampleCurve2.md +12 -2
- package/dist/docs/reference/geometry/sampleCurve3.md +12 -2
- package/dist/docs/reference/geometry/sampleHelix.md +8 -2
- package/dist/docs/reference/geometry/sampleSideProfile.md +10 -4
- package/dist/docs/reference/geometry/sampleTextContours.md +9 -3
- package/dist/docs/reference/geometry/signedContourArea.md +10 -2
- package/dist/docs/reference/geometry/spline2.md +68 -0
- package/dist/docs/reference/geometry/spline3.md +62 -0
- package/dist/docs/reference/geometry/starContour.md +8 -2
- package/dist/docs/reference/geometry/strokeRegionData.md +14 -5
- package/dist/docs/reference/geometry/transform2.md +11 -3
- package/dist/docs/reference/geometry/transform3.md +29 -6
- package/dist/docs/reference/geometry/transformRegionData.md +12 -2
- package/dist/docs/reference/geometry/triangulateContour.md +11 -3
- package/dist/docs/reference/geometry/vector2.md +12 -4
- package/dist/docs/reference/geometry/vector3.md +14 -4
- package/dist/docs/reference/geometry.md +13 -18
- package/dist/docs/reference/{geometry → math}/AxisAngleRotation3.md +8 -3
- package/dist/docs/reference/math/IDENTITY_TRANSFORM3.md +20 -0
- package/dist/docs/reference/math/add2.md +38 -0
- package/dist/docs/reference/math/add3.md +46 -0
- package/dist/docs/reference/math/applyTransformDirection3.md +46 -0
- package/dist/docs/reference/math/applyTransformPoint3.md +44 -0
- package/dist/docs/reference/math/categories/tuple-matrix.md +67 -0
- package/dist/docs/reference/math/cross2.md +38 -0
- package/dist/docs/reference/math/cross3.md +44 -0
- package/dist/docs/reference/math/distance2.md +38 -0
- package/dist/docs/reference/math/distance3.md +38 -0
- package/dist/docs/reference/math/dot2.md +38 -0
- package/dist/docs/reference/math/dot3.md +44 -0
- package/dist/docs/reference/math/eulerTransform3.md +43 -0
- package/dist/docs/reference/math/inverseTransform3.md +36 -0
- package/dist/docs/reference/math/length2.md +32 -0
- package/dist/docs/reference/math/length3.md +32 -0
- package/dist/docs/reference/math/lerp2.md +46 -0
- package/dist/docs/reference/math/lerp3.md +46 -0
- package/dist/docs/reference/math/multiplyTransform3.md +46 -0
- package/dist/docs/reference/math/normalize2.md +45 -0
- package/dist/docs/reference/math/normalize3.md +45 -0
- package/dist/docs/reference/math/projectOntoPlane3.md +40 -0
- package/dist/docs/reference/math/rotate2.md +40 -0
- package/dist/docs/reference/math/rotationTransform3.md +56 -0
- package/dist/docs/reference/math/scale2.md +38 -0
- package/dist/docs/reference/math/scale3.md +44 -0
- package/dist/docs/reference/math/scaleTransform3.md +39 -0
- package/dist/docs/reference/math/subtract2.md +38 -0
- package/dist/docs/reference/math/subtract3.md +44 -0
- package/dist/docs/reference/math/transformDeterminant3.md +38 -0
- package/dist/docs/reference/math/translationTransform3.md +36 -0
- package/dist/docs/reference/math/validateRigidTransform3.md +38 -0
- package/dist/docs/reference/math/validateTransform3.md +48 -0
- package/dist/docs/reference/math.md +22 -0
- package/dist/docs/reference/{geometry → mechanical}/AcmeThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/Bevel.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/BevelSize.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ButtressPressureFlankSide.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ButtressThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ClearanceHoleFit.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CompensatedThreadDiameters.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CustomThreadProfileSpec.md +10 -6
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearMeshKind.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearOutlineOptions.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionOptions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairMotionReport.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearPairSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/CylindricalGearSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/InternalThreadCutterOptions.md +11 -8
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeBaseSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeDimensions.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeInterval.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSamplingOptions.md +9 -8
- package/dist/docs/reference/{geometry → mechanical}/KnuckleHingeSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/METRIC_FASTENER_STANDARDS.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerSize.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricFastenerStandard.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricHexNutDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/MetricSocketCapHeadDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/PRINTABLE_THREAD_FIT_POLICIES.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFit.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/PrintableThreadFitPolicy.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/RackPitchDimensions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/RackPitchSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/SampledThreadHelices.md +8 -6
- package/dist/docs/reference/{geometry → mechanical}/SquareThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ThreadBevelOptions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadCircularSegmentsOptions.md +10 -6
- package/dist/docs/reference/{geometry → mechanical}/ThreadCompensationOptions.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndStyle.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadEndTreatmentOptions.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadHandedness.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadHelixOptions.md +10 -6
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInEnvelope.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadLeadInShape.md +8 -2
- package/dist/docs/reference/{mesh/ThreadProfile.md → mechanical/ThreadProfile-type.md} +8 -6
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileBaseSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/ThreadProfileSpec.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadRidgeOptions.md +12 -9
- package/dist/docs/reference/{geometry → mechanical}/ThreadRole.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidOptions.md +13 -10
- package/dist/docs/reference/{geometry → mechanical}/ThreadSolidPreflight.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutOptions.md +12 -9
- package/dist/docs/reference/{geometry → mechanical}/ThreadedNutPreflight.md +8 -2
- package/dist/docs/reference/mechanical/ThreadedNutShape.md +20 -0
- package/dist/docs/reference/{geometry → mechanical}/ThreadedRodOptions.md +11 -8
- package/dist/docs/reference/{geometry → mechanical}/TrapezoidalThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/TriangularThreadProfileSpec.md +9 -4
- package/dist/docs/reference/{geometry → mechanical}/categories/mechanical.md +9 -3
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadDiameters.md +9 -3
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileAxially.md +17 -5
- package/dist/docs/reference/{geometry → mechanical}/compensateThreadProfileForFaceting.md +18 -2
- package/dist/docs/reference/{geometry → mechanical}/getMetricClearanceHoleDiameter.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/getMetricFastenerStandard.md +8 -2
- package/dist/docs/reference/{geometry → mechanical}/measureInternalCylindricalGearPairMotion.md +14 -6
- package/dist/docs/reference/{geometry → mechanical}/minimumCylindricalGearToothCountWithoutUndercut.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/preflightInternalThreadCutter.md +13 -5
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedNut.md +14 -6
- package/dist/docs/reference/{geometry → mechanical}/preflightThreadedRod.md +13 -5
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGear.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveCylindricalGearPair.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveKnuckleHinge.md +14 -6
- package/dist/docs/reference/{geometry → mechanical}/resolvePrintableThreadFitPolicy.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveRackPitch.md +10 -2
- package/dist/docs/reference/{geometry → mechanical}/resolveThreadCircularSegments.md +12 -4
- package/dist/docs/reference/{geometry → mechanical}/sampleCylindricalGearOutline.md +14 -7
- package/dist/docs/reference/{geometry → mechanical}/sampleInternalCylindricalGearSpaceOutline.md +14 -7
- package/dist/docs/reference/{geometry → mechanical}/sampleRackToothPath.md +15 -7
- package/dist/docs/reference/{geometry → mechanical}/sampleThreadHelices.md +13 -5
- package/dist/docs/reference/{geometry → mechanical}/threadProfile.md +12 -2
- package/dist/docs/reference/mechanical.md +19 -0
- package/dist/docs/reference/mesh/ExtrudeMeshOptions.md +39 -40
- package/dist/docs/reference/mesh/HeightfieldMeshLimits.md +8 -6
- package/dist/docs/reference/mesh/HeightfieldPreflight.md +8 -2
- package/dist/docs/reference/mesh/ImmutableTriangleMesh.md +8 -6
- package/dist/docs/reference/mesh/LoftMeshStation.md +8 -7
- package/dist/docs/reference/mesh/MeshRenderOptions.md +28 -0
- package/dist/docs/reference/mesh/PlanarMeshOptimizationFallbackReason.md +9 -3
- package/dist/docs/reference/mesh/PlanarMeshOptimizationOptions.md +11 -6
- package/dist/docs/reference/mesh/PlanarMeshOptimizationResult.md +13 -7
- package/dist/docs/reference/mesh/PlanarPatchQuality.md +7 -5
- package/dist/docs/reference/mesh/RenderMesh.md +68 -0
- package/dist/docs/reference/mesh/SolidMeshValidationOptions.md +7 -5
- package/dist/docs/reference/mesh/TriangleMesh.md +16 -2
- package/dist/docs/reference/mesh/TriangleMeshAnalysis.md +16 -11
- package/dist/docs/reference/mesh/TriangleMeshAnalysisOptions.md +12 -7
- package/dist/docs/reference/mesh/TriangleMeshInput.md +9 -3
- package/dist/docs/reference/mesh/TriangleMeshMeasurements.md +10 -5
- package/dist/docs/reference/mesh/TriangleMeshQualityOptions.md +9 -4
- package/dist/docs/reference/mesh/TriangleMeshQualityReport.md +9 -3
- package/dist/docs/reference/mesh/TriangleMeshSignature.md +9 -4
- package/dist/docs/reference/mesh/TriangleMeshSignatureOptions.md +8 -2
- package/dist/docs/reference/mesh/TriangleMeshSignatureTolerances.md +8 -2
- package/dist/docs/reference/mesh/TriangleMeshTopologyAnalysis.md +17 -12
- package/dist/docs/reference/mesh/TriangleMeshValidationOptions.md +9 -4
- package/dist/docs/reference/mesh/analyze.md +28 -14
- package/dist/docs/reference/mesh/analyzeQuality.md +15 -9
- package/dist/docs/reference/mesh/bounds.md +10 -5
- package/dist/docs/reference/mesh/categories/operations.md +24 -81
- package/dist/docs/reference/mesh/centroid.md +10 -5
- package/dist/docs/reference/mesh/extrude.md +25 -18
- package/dist/docs/reference/mesh/heightfield.md +13 -7
- package/dist/docs/reference/mesh/immutable.md +16 -10
- package/dist/docs/reference/mesh/join.md +11 -5
- package/dist/docs/reference/mesh/loft.md +23 -16
- package/dist/docs/reference/mesh/optimizePlanarPatches.md +24 -18
- package/dist/docs/reference/mesh/preflightHeightfield.md +13 -7
- package/dist/docs/reference/mesh/preflightThreadSolid.md +27 -24
- package/dist/docs/reference/mesh/render.md +59 -0
- package/dist/docs/reference/mesh/reverse.md +11 -5
- package/dist/docs/reference/mesh/revolve.md +17 -13
- package/dist/docs/reference/mesh/signature.md +15 -9
- package/dist/docs/reference/mesh/sweep.md +101 -24
- package/dist/docs/reference/mesh/threadRidge.md +24 -17
- package/dist/docs/reference/mesh/threadSolid.md +28 -21
- package/dist/docs/reference/mesh/transform.md +12 -7
- package/dist/docs/reference/mesh/validate.md +15 -9
- package/dist/docs/reference/mesh/validateSolid.md +14 -8
- package/dist/docs/reference/mesh.md +8 -2
- package/dist/docs/reference/model/BoxEdge.md +11 -3
- package/dist/docs/reference/model/BoxEdgeSelection.md +11 -3
- package/dist/docs/reference/model/BoxEdgeTreatments.md +12 -5
- package/dist/docs/reference/model/BoxOptions.md +14 -9
- package/dist/docs/reference/model/CircleOptions.md +11 -6
- package/dist/docs/reference/model/CornerCutterOptions.md +93 -0
- package/dist/docs/reference/model/CornerCutterTreatment.md +53 -0
- package/dist/docs/reference/model/CutterOverrun.md +43 -0
- package/dist/docs/reference/model/CylinderOptions.md +12 -6
- package/dist/docs/reference/model/DiagnosticOptions.md +7 -1
- package/dist/docs/reference/model/EdgeCutterOptions.md +129 -0
- package/dist/docs/reference/model/EllipseOptions.md +11 -6
- package/dist/docs/reference/model/EndTreatments.md +13 -9
- package/dist/docs/reference/model/ExtrudeOptions.md +48 -44
- package/dist/docs/reference/model/GenerateCallback.md +7 -1
- package/dist/docs/reference/model/GenerateContext.md +23 -24
- package/dist/docs/reference/model/GenerationDiagnostic.md +7 -1
- package/dist/docs/reference/model/GenerationError.md +8 -2
- package/dist/docs/reference/model/HeightfieldOptions.md +8 -8
- package/dist/docs/reference/model/HoleCutterOpening.md +27 -0
- package/dist/docs/reference/model/HoleCutterOptions.md +19 -25
- package/dist/docs/reference/model/HoleCutterRecess.md +13 -5
- package/dist/docs/reference/model/HullOptions.md +12 -6
- package/dist/docs/reference/model/ImmutableValue.md +7 -1
- package/dist/docs/reference/model/ImplicitOptions.md +9 -9
- package/dist/docs/reference/model/JoinOptions.md +73 -0
- package/dist/docs/reference/model/JoinTransition.md +54 -0
- package/dist/docs/reference/model/KnuckleHinge-type.md +8 -3
- package/dist/docs/reference/model/KnuckleHingeHalfOptions.md +7 -1
- package/dist/docs/reference/model/KnuckleHingeOptions.md +8 -4
- package/dist/docs/reference/model/KnuckleHingeWeb.md +7 -1
- package/dist/docs/reference/model/LoftCorrespondence.md +13 -5
- package/dist/docs/reference/model/LoftOptions.md +16 -10
- package/dist/docs/reference/model/LoftStation.md +16 -10
- package/dist/docs/reference/model/Memo.md +54 -0
- package/dist/docs/reference/model/ModelProgram.md +7 -1
- package/dist/docs/reference/model/PartDeclaration.md +12 -8
- package/dist/docs/reference/model/PartGeometry.md +8 -4
- package/dist/docs/reference/model/PartOptions.md +12 -8
- package/dist/docs/reference/model/PatternSource.md +11 -5
- package/dist/docs/reference/model/PlaneOptions.md +11 -8
- package/dist/docs/reference/model/PolygonOptions.md +17 -16
- package/dist/docs/reference/model/PrimitiveAttachment.md +15 -4
- package/dist/docs/reference/model/PrimitiveAttachmentOptions.md +18 -17
- package/dist/docs/reference/model/RectangleOptions.md +31 -30
- package/dist/docs/reference/model/RegularPolygonOptions.md +11 -38
- package/dist/docs/reference/model/RevolveOptions.md +19 -17
- package/dist/docs/reference/model/Section.md +128 -72
- package/dist/docs/reference/model/SectionHullOptions.md +12 -6
- package/dist/docs/reference/model/SectionInspection.md +8 -6
- package/dist/docs/reference/model/SectionOffsetJoin.md +10 -4
- package/dist/docs/reference/model/SectionOffsetOptions.md +11 -6
- package/dist/docs/reference/model/Solid.md +113 -53
- package/dist/docs/reference/model/SolidInspection.md +8 -6
- package/dist/docs/reference/model/SolidSegmentHit.md +9 -7
- package/dist/docs/reference/model/SphereOptions.md +12 -5
- package/dist/docs/reference/model/StarOptions.md +33 -29
- package/dist/docs/reference/model/SvgOrigin.md +10 -4
- package/dist/docs/reference/model/SvgPathSectionOptions.md +13 -9
- package/dist/docs/reference/model/SvgSectionOptions.md +14 -11
- package/dist/docs/reference/model/SweepOptions.md +21 -28
- package/dist/docs/reference/model/SweepOrientation.md +19 -16
- package/dist/docs/reference/model/SweepTransformOptions.md +105 -0
- package/dist/docs/reference/model/TextSectionOptions.md +11 -10
- package/dist/docs/reference/model/TorusOptions.md +13 -7
- package/dist/docs/reference/model/TubeOptions.md +25 -8
- package/dist/docs/reference/model/box.md +14 -6
- package/dist/docs/reference/model/categories/boolean-operations.md +16 -4
- package/dist/docs/reference/model/categories/bounded-surfaces.md +7 -1
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +21 -16
- package/dist/docs/reference/model/categories/generation.md +15 -12
- package/dist/docs/reference/model/categories/hinges.md +7 -4
- package/dist/docs/reference/model/categories/mesh-inspection.md +8 -6
- package/dist/docs/reference/model/categories/primitives.md +32 -20
- package/dist/docs/reference/model/categories/sections.md +11 -16
- package/dist/docs/reference/model/categories/threads.md +9 -43
- package/dist/docs/reference/model/categories/transforms-placement.md +17 -41
- package/dist/docs/reference/model/circle.md +15 -5
- package/dist/docs/reference/model/cornerCutter.md +88 -0
- package/dist/docs/reference/model/cylinder.md +11 -3
- package/dist/docs/reference/model/edgeCutter.md +91 -0
- package/dist/docs/reference/model/ellipse.md +15 -5
- package/dist/docs/reference/model/extrude.md +37 -24
- package/dist/docs/reference/model/generate.md +10 -2
- package/dist/docs/reference/model/gridPattern.md +22 -9
- package/dist/docs/reference/model/heightfield.md +7 -1
- package/dist/docs/reference/model/holeCutter.md +34 -13
- package/dist/docs/reference/model/hull.md +9 -2
- package/dist/docs/reference/model/implicit.md +10 -4
- package/dist/docs/reference/model/internalThreadCutter.md +38 -21
- package/dist/docs/reference/model/intersect.md +14 -3
- package/dist/docs/reference/model/join.md +93 -0
- package/dist/docs/reference/model/knuckleHinge.md +7 -2
- package/dist/docs/reference/model/linearPattern.md +22 -9
- package/dist/docs/reference/model/loft.md +27 -16
- package/dist/docs/reference/model/minkowskiSum.md +10 -3
- package/dist/docs/reference/model/pathPattern.md +36 -21
- package/dist/docs/reference/model/polygon.md +18 -7
- package/dist/docs/reference/model/radialPattern.md +22 -9
- package/dist/docs/reference/model/rectangle.md +22 -12
- package/dist/docs/reference/model/regularPolygon.md +15 -5
- package/dist/docs/reference/model/revolve.md +26 -13
- package/dist/docs/reference/model/solidFromMesh.md +16 -6
- package/dist/docs/reference/model/sphere.md +12 -4
- package/dist/docs/reference/model/star.md +20 -10
- package/dist/docs/reference/model/stroke.md +29 -19
- package/dist/docs/reference/model/svgPathSection.md +20 -8
- package/dist/docs/reference/model/svgSection.md +21 -9
- package/dist/docs/reference/model/sweep.md +108 -24
- package/dist/docs/reference/model/textSection.md +19 -9
- package/dist/docs/reference/model/threadRidge.md +22 -17
- package/dist/docs/reference/model/threadedNut.md +31 -22
- package/dist/docs/reference/model/threadedRod.md +27 -18
- package/dist/docs/reference/model/torus.md +13 -5
- package/dist/docs/reference/model/tube.md +11 -3
- package/dist/docs/reference/model/union.md +14 -3
- package/dist/docs/reference/model.md +11 -11
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +7 -1
- package/dist/docs/reference/text/VectorFont.md +22 -12
- package/dist/docs/reference/text/VectorFontOptions.md +7 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +7 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +8 -2
- package/dist/docs/reference/text/VectorTextOptions.md +7 -1
- package/dist/docs/reference/text/categories/font-preparation.md +7 -10
- package/dist/docs/reference/text/prepareVectorFont.md +9 -1
- package/dist/docs/reference/text.md +7 -1
- package/dist/engine/execution.js +5 -3
- package/dist/engine/finalization.js +6 -78
- package/dist/engine/index.js +11 -6
- package/dist/engine/native/adapter.js +1 -1
- package/dist/engine/native/construction-mesh.js +51 -0
- package/dist/engine/native/context.js +10 -7
- package/dist/engine/native/index.js +1 -1
- package/dist/engine/native/material-components.js +4 -53
- package/dist/engine/native/mesh-observation.js +55 -0
- package/dist/engine/native/regions.js +44 -23
- package/dist/engine/native/scoped-primitives.js +3 -3
- package/dist/engine/native/scoped-threads.js +1 -13
- package/dist/engine/native/threads.js +2 -2
- package/dist/engine/native/transforms.js +2 -2
- package/dist/engine/operations/construction.js +77 -27
- package/dist/engine/operations/context.js +15 -6
- package/dist/engine/operations/cutters.js +112 -0
- package/dist/engine/operations/environment.js +2 -2
- package/dist/engine/operations/extrusion-finishing.js +56 -29
- package/dist/engine/operations/hole-cutter.js +125 -114
- package/dist/engine/operations/join-collar-profile.js +120 -0
- package/dist/engine/operations/join.js +521 -0
- package/dist/engine/operations/knuckle-hinge.js +25 -20
- package/dist/engine/operations/loft.js +9 -16
- package/dist/engine/operations/mechanical.js +4 -15
- package/dist/engine/operations/primitives/anchors.js +23 -19
- package/dist/engine/operations/primitives/construction.js +38 -12
- package/dist/engine/operations/primitives/correspondence.js +2 -2
- package/dist/engine/operations/primitives/profile-mesh.js +41 -80
- package/dist/engine/operations/primitives/profiles.js +5 -5
- package/dist/engine/operations/sections.js +8 -8
- package/dist/engine/operations/transforms.js +19 -39
- package/dist/engine/placement.js +3 -3
- package/dist/engine/recipe-realization.js +87 -31
- package/dist/engine/session/declarations.js +98 -0
- package/dist/engine/session/dependencies.js +139 -39
- package/dist/engine/session/graph.js +290 -411
- package/dist/engine/session/native-cache.js +1 -1
- package/dist/engine/session/parameters.js +78 -0
- package/dist/engine/session/session.js +7 -7
- package/dist/engine/session/snapshot-cache.js +4 -4
- package/dist/engine/shape-anchors.js +13 -6
- package/dist/export/3mf.js +197 -0
- package/dist/export/capture.js +182 -0
- package/dist/export/glb.js +214 -0
- package/dist/export/index.js +5 -0
- package/dist/export/limits.js +18 -0
- package/dist/export/stl.js +120 -0
- package/dist/export/writer.js +54 -0
- package/dist/geometry/{bounds.js → bounds/operations.js} +3 -1
- package/dist/geometry/{bounds-value.js → bounds/value.js} +24 -20
- package/dist/geometry/curves/evaluation.js +5 -6
- package/dist/geometry/curves/sampling.js +30 -6
- package/dist/geometry/{extrusion.js → extrusion/controls.js} +58 -35
- package/dist/geometry/extrusion/mesh.js +92 -0
- package/dist/geometry/extrusion/stations.js +35 -0
- package/dist/geometry/extrusion/twisted-chamfer.js +265 -0
- package/dist/geometry/immutable-buffer.js +11 -7
- package/dist/geometry/index.js +24 -32
- package/dist/geometry/{model-limits.js → limits.js} +1 -1
- package/dist/geometry/loft/{loft-correspondence.js → correspondence.js} +31 -20
- package/dist/geometry/loft/{loft-geometry.js → geometry.js} +15 -17
- package/dist/geometry/loft/mesh.js +53 -0
- package/dist/geometry/loft/{loft-options.js → options.js} +13 -11
- package/dist/geometry/loft/{loft-simple-mesh.js → simple-mesh.js} +26 -17
- package/dist/geometry/math/interpolation.js +9 -0
- package/dist/geometry/math/vector-value.js +12 -3
- package/dist/geometry/math/vector2.js +18 -5
- package/dist/geometry/math/vector3.js +28 -5
- package/dist/geometry/math-api.js +4 -0
- package/dist/geometry/mechanical/gear-motion.js +7 -5
- package/dist/geometry/mechanical/gears.js +21 -4
- package/dist/geometry/mechanical/knuckle-hinge.js +7 -5
- package/dist/geometry/mechanical/threads/fit.js +8 -2
- package/dist/geometry/mechanical/threads/helices.js +4 -2
- package/dist/geometry/mechanical/threads/mesh-plan.js +4 -2
- package/dist/geometry/mechanical/threads/mesh.js +12 -9
- package/dist/geometry/mechanical/threads/profiles.js +18 -4
- package/dist/geometry/mechanical/threads/solids.js +11 -2
- package/dist/geometry/mechanical-api.js +10 -0
- package/dist/geometry/mesh/{mesh-centroid.js → centroid.js} +2 -1
- package/dist/geometry/{heightfield.js → mesh/heightfield.js} +9 -5
- package/dist/geometry/mesh/join-layers.js +833 -0
- package/dist/geometry/mesh/{mesh.js → operations.js} +11 -18
- package/dist/geometry/mesh/{mesh-planar.js → planar.js} +8 -18
- package/dist/geometry/mesh/{mesh-quality.js → quality.js} +10 -42
- package/dist/geometry/mesh/render-buffers.js +220 -0
- package/dist/geometry/mesh/{mesh-signature.js → signature.js} +1 -1
- package/dist/geometry/mesh/{mesh-solid-intersections.js → solid-intersections.js} +45 -17
- package/dist/geometry/mesh/{mesh-solid.js → solid.js} +10 -6
- package/dist/geometry/mesh/triangle-quality.js +42 -0
- package/dist/geometry/mesh/winding.js +11 -0
- package/dist/geometry/{numeric.js → mesh/write-vertex.js} +1 -1
- package/dist/geometry/mesh-api.js +12 -10
- package/dist/geometry/paths/distribution.js +43 -0
- package/dist/geometry/paths/editing.js +76 -0
- package/dist/geometry/paths/frames.js +16 -11
- package/dist/geometry/paths/helix.js +1 -1
- package/dist/geometry/paths/resampling.js +46 -61
- package/dist/geometry/paths/{planar.js → rounding.js} +8 -67
- package/dist/geometry/paths/spline.js +116 -0
- package/dist/geometry/paths/traversal.js +107 -0
- package/dist/geometry/paths/{path-value.js → value.js} +97 -18
- package/dist/geometry/patterns/placements.js +20 -29
- package/dist/geometry/{patterns.js → patterns/transforms.js} +11 -7
- package/dist/geometry/primitives/cutters.js +70 -0
- package/dist/geometry/{cylinder.js → primitives/cylinder.js} +4 -4
- package/dist/geometry/{edge-finishing.js → primitives/edges.js} +5 -5
- package/dist/geometry/{primitive-resolvers.js → primitives/resolvers.js} +9 -9
- package/dist/geometry/primitives/sampling.js +41 -0
- package/dist/geometry/profiles/contour.js +19 -7
- package/dist/geometry/profiles/{match-profiles.js → matching.js} +9 -6
- package/dist/geometry/profiles/primitives/circle.js +1 -1
- package/dist/geometry/profiles/primitives/ellipse.js +2 -2
- package/dist/geometry/profiles/primitives/rectangle.js +8 -8
- package/dist/geometry/profiles/primitives/star.js +1 -1
- package/dist/geometry/profiles/side-profile.js +8 -5
- package/dist/geometry/profiles/validation.js +1 -1
- package/dist/geometry/{polygon-clipping.js → regions/clipping.js} +1 -1
- package/dist/geometry/{convex-offset.js → regions/convex-offset.js} +1 -1
- package/dist/geometry/regions/offset.js +280 -0
- package/dist/geometry/{regions.js → regions/operations.js} +70 -23
- package/dist/geometry/{stroke-path.js → regions/stroke.js} +46 -20
- package/dist/geometry/{loft/loft-triangulation.js → regions/triangulation.js} +35 -2
- package/dist/geometry/revolve/{revolve-mesh.js → mesh.js} +9 -10
- package/dist/geometry/{circular-sampling.js → sampling/circular.js} +3 -3
- package/dist/geometry/{sampling-limits.js → sampling/limits.js} +6 -2
- package/dist/geometry/{resolution.js → sampling/resolution.js} +15 -14
- package/dist/geometry/svg/fill.js +4 -3
- package/dist/geometry/svg/import.js +47 -64
- package/dist/geometry/svg/path.js +3 -3
- package/dist/geometry/sweep/closed.js +55 -0
- package/dist/geometry/sweep/mesh.js +30 -0
- package/dist/geometry/{sweeps/sweep-open.js → sweep/open.js} +9 -24
- package/dist/geometry/sweep/options.js +1 -0
- package/dist/geometry/{sweeps → sweep}/orientation.js +14 -11
- package/dist/geometry/sweep/seam.js +30 -0
- package/dist/geometry/{sweeps → sweep}/stations.js +75 -10
- package/dist/geometry/sweep/transforms.js +30 -0
- package/dist/geometry/{sweeps → sweep}/validation.js +4 -4
- package/dist/geometry/{text-contours.js → text/contours.js} +3 -3
- package/dist/geometry/{text-fitting.js → text/fitting.js} +4 -3
- package/dist/geometry/text/layout.js +1 -0
- package/dist/geometry/{transform3.js → transforms/affine3.js} +31 -46
- package/dist/geometry/{anchors.js → transforms/anchors.js} +43 -24
- package/dist/geometry/{transform-geometry.js → transforms/apply.js} +8 -5
- package/dist/geometry/{transform2.js → transforms/dimensions.js} +23 -19
- package/dist/geometry/transforms/frame.js +64 -0
- package/dist/geometry/{transform-matrix.js → transforms/matrix-input.js} +8 -1
- package/dist/geometry/{transform-value.js → transforms/value.js} +29 -11
- package/dist/index.js +3 -9
- package/dist/model/cutters.js +1 -0
- package/dist/model/execution-binding.js +3 -3
- package/dist/model/generation.js +4 -2
- package/dist/model/immutable-generation-data.js +15 -13
- package/dist/model/join.js +1 -0
- package/dist/model/operations.js +150 -94
- package/dist/model/recipe-declaration.js +6 -7
- package/dist/model/shape-handles.js +1 -0
- package/dist/text/index.js +3 -0
- package/dist/text/vector-text-layout.js +1 -0
- package/package.json +20 -5
- package/dist/docs/reference/engine/Export3mfOptions.md +0 -46
- package/dist/docs/reference/engine/ExportMeshPart.md +0 -31
- package/dist/docs/reference/engine/ModelingLimits.md +0 -121
- package/dist/docs/reference/engine/export3mf.md +0 -55
- package/dist/docs/reference/geometry/BoxEdge.md +0 -7
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +0 -14
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +0 -15
- package/dist/docs/reference/geometry/BoxOptions.md +0 -87
- package/dist/docs/reference/geometry/CylinderOptions.md +0 -53
- package/dist/docs/reference/geometry/EndTreatments.md +0 -34
- package/dist/docs/reference/geometry/ExtrudeMeshOptions.md +0 -130
- package/dist/docs/reference/geometry/ExtrudeOptions.md +0 -146
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +0 -18
- package/dist/docs/reference/geometry/HeightfieldOptions.md +0 -72
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +0 -58
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +0 -19
- package/dist/docs/reference/geometry/ImmutableTriangleMesh.md +0 -43
- package/dist/docs/reference/geometry/LoftCorrespondence.md +0 -24
- package/dist/docs/reference/geometry/LoftMeshStation.md +0 -31
- package/dist/docs/reference/geometry/LoftOptions.md +0 -88
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +0 -14
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +0 -160
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +0 -124
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +0 -194
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +0 -29
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +0 -104
- package/dist/docs/reference/geometry/RevolveOptions.md +0 -91
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +0 -38
- package/dist/docs/reference/geometry/SphereOptions.md +0 -15
- package/dist/docs/reference/geometry/SweepOptions.md +0 -113
- package/dist/docs/reference/geometry/SweepOrientation.md +0 -113
- package/dist/docs/reference/geometry/ThreadProfile-type.md +0 -86
- package/dist/docs/reference/geometry/ThreadedNutShape.md +0 -14
- package/dist/docs/reference/geometry/TorusOptions.md +0 -105
- package/dist/docs/reference/geometry/TriangleMesh.md +0 -34
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +0 -129
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +0 -79
- package/dist/docs/reference/geometry/TriangleMeshInput.md +0 -19
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +0 -79
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +0 -43
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +0 -194
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +0 -111
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +0 -46
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +0 -34
- package/dist/docs/reference/geometry/TriangleMeshTopologyAnalysis.md +0 -131
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +0 -55
- package/dist/docs/reference/geometry/TubeOptions.md +0 -62
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +0 -58
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +0 -115
- package/dist/docs/reference/geometry/VectorTextOptions.md +0 -54
- package/dist/docs/reference/geometry/add2.md +0 -37
- package/dist/docs/reference/geometry/add3.md +0 -43
- package/dist/docs/reference/geometry/applyTransformDirection3.md +0 -46
- package/dist/docs/reference/geometry/applyTransformPoint3.md +0 -44
- package/dist/docs/reference/geometry/categories/meshes.md +0 -68
- package/dist/docs/reference/geometry/composeTransform3.md +0 -45
- package/dist/docs/reference/geometry/cross2.md +0 -37
- package/dist/docs/reference/geometry/cross3.md +0 -43
- package/dist/docs/reference/geometry/distance2.md +0 -37
- package/dist/docs/reference/geometry/distance3.md +0 -37
- package/dist/docs/reference/geometry/dot2.md +0 -37
- package/dist/docs/reference/geometry/dot3.md +0 -43
- package/dist/docs/reference/geometry/eulerTransform3.md +0 -43
- package/dist/docs/reference/geometry/frameTransform3.md +0 -49
- package/dist/docs/reference/geometry/inverseTransform3.md +0 -35
- package/dist/docs/reference/geometry/length2.md +0 -31
- package/dist/docs/reference/geometry/length3.md +0 -31
- package/dist/docs/reference/geometry/lerp2.md +0 -43
- package/dist/docs/reference/geometry/lerp3.md +0 -43
- package/dist/docs/reference/geometry/normalize2.md +0 -40
- package/dist/docs/reference/geometry/normalize3.md +0 -40
- package/dist/docs/reference/geometry/projectOntoPlane3.md +0 -37
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +0 -78
- package/dist/docs/reference/geometry/rotate2.md +0 -37
- package/dist/docs/reference/geometry/rotationTransform3.md +0 -54
- package/dist/docs/reference/geometry/scale2.md +0 -37
- package/dist/docs/reference/geometry/scale3.md +0 -43
- package/dist/docs/reference/geometry/scaleTransform3.md +0 -39
- package/dist/docs/reference/geometry/subtract2.md +0 -37
- package/dist/docs/reference/geometry/subtract3.md +0 -43
- package/dist/docs/reference/geometry/transformDeterminant3.md +0 -37
- package/dist/docs/reference/geometry/translationTransform3.md +0 -36
- package/dist/docs/reference/geometry/validateRigidTransform3.md +0 -35
- package/dist/docs/reference/geometry/validateTransform3.md +0 -48
- package/dist/docs/reference/mesh/AcmeThreadProfileSpec.md +0 -79
- package/dist/docs/reference/mesh/Bevel.md +0 -18
- package/dist/docs/reference/mesh/BevelSize.md +0 -14
- package/dist/docs/reference/mesh/Bounds2.md +0 -125
- package/dist/docs/reference/mesh/Bounds2Data.md +0 -43
- package/dist/docs/reference/mesh/Bounds2Input.md +0 -19
- package/dist/docs/reference/mesh/Bounds3.md +0 -125
- package/dist/docs/reference/mesh/Bounds3Data.md +0 -43
- package/dist/docs/reference/mesh/Bounds3Input.md +0 -19
- package/dist/docs/reference/mesh/ButtressPressureFlankSide.md +0 -14
- package/dist/docs/reference/mesh/ButtressThreadProfileSpec.md +0 -97
- package/dist/docs/reference/mesh/CircularPrimitiveOptions.md +0 -60
- package/dist/docs/reference/mesh/CurveSamplingOptions.md +0 -69
- package/dist/docs/reference/mesh/CustomThreadProfileSpec.md +0 -77
- package/dist/docs/reference/mesh/ExtrusionSamplingOptions.md +0 -81
- package/dist/docs/reference/mesh/Frame3.md +0 -62
- package/dist/docs/reference/mesh/GeometryResolution.md +0 -74
- package/dist/docs/reference/mesh/GeometrySamplingLimits.md +0 -66
- package/dist/docs/reference/mesh/GeometryToleranceOptions.md +0 -46
- package/dist/docs/reference/mesh/HeightfieldOptions.md +0 -72
- package/dist/docs/reference/mesh/ImmutableBuffer.md +0 -108
- package/dist/docs/reference/mesh/LoftCorrespondence.md +0 -24
- package/dist/docs/reference/mesh/LoftOptions.md +0 -88
- package/dist/docs/reference/mesh/LoftPlacement.md +0 -70
- package/dist/docs/reference/mesh/ModelingLimits.md +0 -130
- package/dist/docs/reference/mesh/NumericArray.md +0 -14
- package/dist/docs/reference/mesh/Path2.md +0 -197
- package/dist/docs/reference/mesh/Path2Data.md +0 -50
- package/dist/docs/reference/mesh/Path2Input.md +0 -20
- package/dist/docs/reference/mesh/Path3.md +0 -197
- package/dist/docs/reference/mesh/Path3Data.md +0 -50
- package/dist/docs/reference/mesh/Path3Input.md +0 -20
- package/dist/docs/reference/mesh/PathLocation.md +0 -69
- package/dist/docs/reference/mesh/PathNormalGuide.md +0 -43
- package/dist/docs/reference/mesh/PathResamplingOptions.md +0 -84
- package/dist/docs/reference/mesh/Pivot2Options.md +0 -26
- package/dist/docs/reference/mesh/Pivot3Options.md +0 -26
- package/dist/docs/reference/mesh/RevolveOptions.md +0 -91
- package/dist/docs/reference/mesh/SquareThreadProfileSpec.md +0 -79
- package/dist/docs/reference/mesh/SweepOptions.md +0 -113
- package/dist/docs/reference/mesh/SweepOrientation.md +0 -113
- package/dist/docs/reference/mesh/ThreadEndStyle.md +0 -14
- package/dist/docs/reference/mesh/ThreadEndTreatmentOptions.md +0 -117
- package/dist/docs/reference/mesh/ThreadHandedness.md +0 -14
- package/dist/docs/reference/mesh/ThreadLeadInEnvelope.md +0 -14
- package/dist/docs/reference/mesh/ThreadLeadInShape.md +0 -14
- package/dist/docs/reference/mesh/ThreadProfileBaseSpec.md +0 -53
- package/dist/docs/reference/mesh/ThreadProfileSpec.md +0 -23
- package/dist/docs/reference/mesh/ThreadRidgeOptions.md +0 -145
- package/dist/docs/reference/mesh/ThreadSolidOptions.md +0 -222
- package/dist/docs/reference/mesh/ThreadSolidPreflight.md +0 -58
- package/dist/docs/reference/mesh/Transform2.md +0 -256
- package/dist/docs/reference/mesh/Transform2Data.md +0 -14
- package/dist/docs/reference/mesh/Transform2Input.md +0 -19
- package/dist/docs/reference/mesh/Transform3.md +0 -296
- package/dist/docs/reference/mesh/Transform3Data.md +0 -17
- package/dist/docs/reference/mesh/Transform3Input.md +0 -19
- package/dist/docs/reference/mesh/TrapezoidalThreadProfileSpec.md +0 -96
- package/dist/docs/reference/mesh/TriangularThreadProfileSpec.md +0 -95
- package/dist/docs/reference/mesh/Vector2.md +0 -270
- package/dist/docs/reference/mesh/Vector2Data.md +0 -14
- package/dist/docs/reference/mesh/Vector2Input.md +0 -19
- package/dist/docs/reference/mesh/Vector3.md +0 -282
- package/dist/docs/reference/mesh/Vector3Data.md +0 -14
- package/dist/docs/reference/mesh/Vector3Input.md +0 -19
- package/dist/docs/reference/model/AcmeThreadProfileSpec.md +0 -80
- package/dist/docs/reference/model/Anchor3.md +0 -55
- package/dist/docs/reference/model/AttachOptions.md +0 -69
- package/dist/docs/reference/model/Bevel.md +0 -19
- package/dist/docs/reference/model/BevelSize.md +0 -15
- package/dist/docs/reference/model/Bounds2-type.md +0 -125
- package/dist/docs/reference/model/Bounds2Data.md +0 -44
- package/dist/docs/reference/model/Bounds2Input.md +0 -19
- package/dist/docs/reference/model/Bounds2Options.md +0 -110
- package/dist/docs/reference/model/Bounds3-type.md +0 -125
- package/dist/docs/reference/model/Bounds3Data.md +0 -44
- package/dist/docs/reference/model/Bounds3Input.md +0 -19
- package/dist/docs/reference/model/Bounds3Options.md +0 -110
- package/dist/docs/reference/model/ButtressPressureFlankSide.md +0 -15
- package/dist/docs/reference/model/ButtressThreadProfileSpec.md +0 -98
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +0 -35
- package/dist/docs/reference/model/CircleContourOptions.md +0 -21
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +0 -62
- package/dist/docs/reference/model/Computed.md +0 -44
- package/dist/docs/reference/model/ComputedValue.md +0 -24
- package/dist/docs/reference/model/Contour.md +0 -24
- package/dist/docs/reference/model/CorrespondingComponent.md +0 -46
- package/dist/docs/reference/model/CorrespondingContour.md +0 -46
- package/dist/docs/reference/model/CorrespondingProfile.md +0 -22
- package/dist/docs/reference/model/CorrespondingProfileStation.md +0 -27
- package/dist/docs/reference/model/CurveSamplingOptions.md +0 -68
- package/dist/docs/reference/model/CustomThreadProfileSpec.md +0 -78
- package/dist/docs/reference/model/EdgeTreatment.md +0 -22
- package/dist/docs/reference/model/EllipseContourOptions.md +0 -21
- package/dist/docs/reference/model/ExtrudeMeshOptions.md +0 -133
- package/dist/docs/reference/model/ExtrusionSamplingOptions.md +0 -84
- package/dist/docs/reference/model/Frame3.md +0 -63
- package/dist/docs/reference/model/GeometryError.md +0 -102
- package/dist/docs/reference/model/GeometryErrorCode.md +0 -15
- package/dist/docs/reference/model/GeometryErrorContext.md +0 -35
- package/dist/docs/reference/model/GeometryResolution.md +0 -70
- package/dist/docs/reference/model/GeometrySamplingLimits.md +0 -62
- package/dist/docs/reference/model/GeometryToleranceOptions.md +0 -46
- package/dist/docs/reference/model/GridPatternOptions.md +0 -50
- package/dist/docs/reference/model/HoleCutterOverrun.md +0 -35
- package/dist/docs/reference/model/ImmutableBuffer-type.md +0 -108
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +0 -43
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +0 -216
- package/dist/docs/reference/model/KnuckleHingeBaseSpec.md +0 -77
- package/dist/docs/reference/model/KnuckleHingeSamplingOptions.md +0 -47
- package/dist/docs/reference/model/KnuckleHingeSpec.md +0 -18
- package/dist/docs/reference/model/LinearPatternOptions.md +0 -39
- package/dist/docs/reference/model/LoftPlacement.md +0 -73
- package/dist/docs/reference/model/MatchProfilesOptions.md +0 -35
- package/dist/docs/reference/model/ModelingLimits.md +0 -126
- package/dist/docs/reference/model/NumericArray.md +0 -14
- package/dist/docs/reference/model/Path2-type.md +0 -196
- package/dist/docs/reference/model/Path2Data.md +0 -50
- package/dist/docs/reference/model/Path2Input.md +0 -20
- package/dist/docs/reference/model/Path3-type.md +0 -196
- package/dist/docs/reference/model/Path3Data.md +0 -50
- package/dist/docs/reference/model/Path3Input.md +0 -20
- package/dist/docs/reference/model/PathLocation.md +0 -69
- package/dist/docs/reference/model/PathNormalGuide.md +0 -46
- package/dist/docs/reference/model/PathOptions.md +0 -38
- package/dist/docs/reference/model/PathPatternOptions.md +0 -48
- package/dist/docs/reference/model/PathResamplingOptions.md +0 -84
- package/dist/docs/reference/model/Pivot2Options.md +0 -28
- package/dist/docs/reference/model/Pivot3Options.md +0 -28
- package/dist/docs/reference/model/PolygonData.md +0 -44
- package/dist/docs/reference/model/PrintableThreadFit.md +0 -15
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +0 -51
- package/dist/docs/reference/model/Profile.md +0 -24
- package/dist/docs/reference/model/ProfileComponent2.md +0 -46
- package/dist/docs/reference/model/ProfileContour2.md +0 -36
- package/dist/docs/reference/model/ProfileSpan2.md +0 -47
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +0 -41
- package/dist/docs/reference/model/RadialPatternOptions.md +0 -59
- package/dist/docs/reference/model/RadialSizing.md +0 -15
- package/dist/docs/reference/model/RadialSizingOptions.md +0 -40
- package/dist/docs/reference/model/RectangleContourOptions.md +0 -72
- package/dist/docs/reference/model/RectangleCornerTreatment.md +0 -40
- package/dist/docs/reference/model/RectangleCornerTreatments.md +0 -20
- package/dist/docs/reference/model/RegionData.md +0 -19
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +0 -96
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +0 -76
- package/dist/docs/reference/model/SquareThreadProfileSpec.md +0 -80
- package/dist/docs/reference/model/StarContourOptions.md +0 -81
- package/dist/docs/reference/model/StrokeCap.md +0 -16
- package/dist/docs/reference/model/StrokeJoin.md +0 -16
- package/dist/docs/reference/model/StrokeOptions.md +0 -91
- package/dist/docs/reference/model/ThreadBevelOptions.md +0 -35
- package/dist/docs/reference/model/ThreadEndStyle.md +0 -15
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +0 -118
- package/dist/docs/reference/model/ThreadHandedness.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +0 -15
- package/dist/docs/reference/model/ThreadLeadInShape.md +0 -15
- package/dist/docs/reference/model/ThreadProfile.md +0 -87
- package/dist/docs/reference/model/ThreadProfileBaseSpec.md +0 -54
- package/dist/docs/reference/model/ThreadProfileSpec.md +0 -24
- package/dist/docs/reference/model/ThreadRidgeOptions.md +0 -141
- package/dist/docs/reference/model/ThreadSolidPreflight.md +0 -59
- package/dist/docs/reference/model/ThreadedNutOptions.md +0 -263
- package/dist/docs/reference/model/ThreadedNutPreflight.md +0 -111
- package/dist/docs/reference/model/ThreadedNutShape.md +0 -15
- package/dist/docs/reference/model/ThreadedRodOptions.md +0 -216
- package/dist/docs/reference/model/Transform2-type.md +0 -257
- package/dist/docs/reference/model/Transform2Data.md +0 -16
- package/dist/docs/reference/model/Transform2Input.md +0 -21
- package/dist/docs/reference/model/Transform3-type.md +0 -297
- package/dist/docs/reference/model/Transform3Data.md +0 -19
- package/dist/docs/reference/model/Transform3Input.md +0 -21
- package/dist/docs/reference/model/TrapezoidalThreadProfileSpec.md +0 -97
- package/dist/docs/reference/model/TriangleMesh.md +0 -34
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +0 -129
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +0 -79
- package/dist/docs/reference/model/TriangleMeshTopologyAnalysis.md +0 -131
- package/dist/docs/reference/model/TriangularThreadProfileSpec.md +0 -96
- package/dist/docs/reference/model/Vector2-type.md +0 -271
- package/dist/docs/reference/model/Vector2Data.md +0 -15
- package/dist/docs/reference/model/Vector2Input.md +0 -21
- package/dist/docs/reference/model/Vector3-type.md +0 -283
- package/dist/docs/reference/model/Vector3Data.md +0 -15
- package/dist/docs/reference/model/Vector3Input.md +0 -21
- package/dist/docs/reference/model/VectorTextLayout.md +0 -40
- package/dist/docs/reference/model/VectorTextMetrics.md +0 -100
- package/dist/docs/reference/model/bounds2.md +0 -37
- package/dist/docs/reference/model/bounds3.md +0 -37
- package/dist/docs/reference/model/categories/bounds.md +0 -38
- package/dist/docs/reference/model/categories/contracts.md +0 -16
- package/dist/docs/reference/model/categories/core-values-errors.md +0 -44
- package/dist/docs/reference/model/categories/explicit-profiles.md +0 -34
- package/dist/docs/reference/model/categories/paths.md +0 -42
- package/dist/docs/reference/model/categories/resolution.md +0 -20
- package/dist/docs/reference/model/immutableBuffer.md +0 -49
- package/dist/docs/reference/model/isGeometryError.md +0 -34
- package/dist/docs/reference/model/matchProfiles.md +0 -42
- package/dist/docs/reference/model/path2.md +0 -54
- package/dist/docs/reference/model/path3.md +0 -49
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +0 -87
- package/dist/docs/reference/model/preflightThreadedNut.md +0 -103
- package/dist/docs/reference/model/preflightThreadedRod.md +0 -87
- package/dist/docs/reference/model/transform2.md +0 -46
- package/dist/docs/reference/model/transform3.md +0 -48
- package/dist/docs/reference/model/vector2.md +0 -40
- package/dist/docs/reference/model/vector3.md +0 -47
- package/dist/docs/reference/text/Bounds2Data.md +0 -34
- package/dist/docs/reference/text/Vector2Data.md +0 -7
- package/dist/docs/reference/text/VectorTextLayout.md +0 -34
- package/dist/docs/reference/text/VectorTextMetrics.md +0 -94
- package/dist/engine/export-3mf.js +0 -23
- package/dist/engine/operations/patterns.js +0 -47
- package/dist/engine/serialize-3mf.js +0 -116
- package/dist/geometry/loft/loft.js +0 -105
- package/dist/geometry/mechanical/index.js +0 -14
- package/dist/geometry/primitive-resolution.js +0 -20
- package/dist/geometry/svg/index.js +0 -1
- package/dist/geometry/sweeps/options.js +0 -29
- package/dist/geometry/sweeps/sweep-closed.js +0 -96
- package/dist/geometry/sweeps/sweep-mesh.js +0 -32
- /package/dist/{geometry/mesh/mesh-types.js → export/types.js} +0 -0
- /package/dist/geometry/mechanical/{standards.js → fastener-standards.js} +0 -0
- /package/dist/geometry/mesh/{mesh-edge-table.js → edge-table.js} +0 -0
- /package/dist/geometry/{primitive-options.js → mesh/types.js} +0 -0
- /package/dist/{engine/mesh-view-cache.js → geometry/mesh/view-cache.js} +0 -0
- /package/dist/geometry/{text-layout.js → primitives/options.js} +0 -0
package/dist/api/engine.d.ts
CHANGED
|
@@ -1,19 +1,129 @@
|
|
|
1
|
-
import type { ImmutableTriangleMesh } from "@metamesh/modeling/geometry";
|
|
2
|
-
import type { TriangleMeshInput } from "@metamesh/modeling/geometry";
|
|
3
1
|
import type {
|
|
2
|
+
Anchor3,
|
|
3
|
+
AttachOptions,
|
|
4
|
+
Bounds2Data,
|
|
5
|
+
Bounds3,
|
|
4
6
|
Bounds3Data,
|
|
5
|
-
|
|
7
|
+
Bounds3Input,
|
|
8
|
+
ChamferedEdgeTreatment,
|
|
9
|
+
CircularPrimitiveOptions,
|
|
10
|
+
Contour,
|
|
11
|
+
CurveSamplingOptions,
|
|
12
|
+
EdgeTreatment,
|
|
13
|
+
ExtrusionSamplingOptions,
|
|
14
|
+
Frame3,
|
|
6
15
|
GeometryResolution,
|
|
16
|
+
GeometrySamplingLimits,
|
|
17
|
+
GeometryToleranceOptions,
|
|
18
|
+
ImmutableBuffer,
|
|
7
19
|
ModelingLimits,
|
|
8
|
-
|
|
20
|
+
NumericArray,
|
|
21
|
+
Path3,
|
|
22
|
+
Path3Data,
|
|
23
|
+
Path3Input,
|
|
24
|
+
PathLocation,
|
|
25
|
+
PathNormalGuide,
|
|
26
|
+
PathResamplingOptions,
|
|
27
|
+
PathStation,
|
|
28
|
+
PathSubdivisionOptions,
|
|
29
|
+
Pivot2Options,
|
|
30
|
+
Pivot3Options,
|
|
31
|
+
PolygonData,
|
|
32
|
+
ProfiledEdgeTreatment,
|
|
33
|
+
RegionData,
|
|
34
|
+
ResolvedGeometryResolution,
|
|
35
|
+
RoundedEdgeTreatment,
|
|
36
|
+
SmoothEdgeTreatment,
|
|
37
|
+
Transform2,
|
|
38
|
+
Transform2Data,
|
|
39
|
+
Transform2Input,
|
|
40
|
+
Transform3,
|
|
9
41
|
Transform3Data,
|
|
10
|
-
|
|
42
|
+
Transform3Input,
|
|
43
|
+
Vector2,
|
|
44
|
+
Vector2Data,
|
|
45
|
+
Vector2Input,
|
|
46
|
+
Vector3,
|
|
47
|
+
Vector3Data,
|
|
48
|
+
Vector3Input,
|
|
49
|
+
} from "@metamesh/modeling/geometry";
|
|
50
|
+
import type {
|
|
51
|
+
DiagnosticOptions,
|
|
52
|
+
EndTreatments,
|
|
53
|
+
ExtrudeOptions,
|
|
54
|
+
GenerateCallback,
|
|
55
|
+
GenerateContext,
|
|
56
|
+
GenerationDiagnostic,
|
|
57
|
+
ImmutableValue,
|
|
58
|
+
JoinOptions,
|
|
59
|
+
JoinTransition,
|
|
60
|
+
Memo,
|
|
61
|
+
ModelProgram,
|
|
62
|
+
PartDeclaration,
|
|
63
|
+
PartGeometry,
|
|
64
|
+
PartOptions,
|
|
65
|
+
PlaneOptions,
|
|
66
|
+
RevolveOptions,
|
|
67
|
+
Section,
|
|
68
|
+
SectionInspection,
|
|
69
|
+
SectionOffsetJoin,
|
|
70
|
+
SectionOffsetOptions,
|
|
71
|
+
Solid,
|
|
72
|
+
SolidInspection,
|
|
73
|
+
SolidSegmentHit,
|
|
74
|
+
SweepOptions,
|
|
75
|
+
SweepOrientation,
|
|
76
|
+
SweepTransformOptions,
|
|
11
77
|
} from "@metamesh/modeling";
|
|
12
|
-
|
|
13
|
-
|
|
78
|
+
import type {
|
|
79
|
+
ExtrudeMeshOptions,
|
|
80
|
+
ImmutableTriangleMesh,
|
|
81
|
+
TriangleMesh,
|
|
82
|
+
TriangleMeshAnalysis,
|
|
83
|
+
TriangleMeshMeasurements,
|
|
84
|
+
TriangleMeshTopologyAnalysis,
|
|
85
|
+
} from "@metamesh/modeling/geometry/mesh";
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Runs declaration and immediate assertions without initializing a kernel or finalizing parts.
|
|
89
|
+
* Returns reached assertion errors and warnings; unexpected execution failures throw.
|
|
90
|
+
* Returned geometry is not realized or validated.
|
|
91
|
+
* Geometry observations require an initialized session's `check` method instead.
|
|
92
|
+
*
|
|
93
|
+
* @param program - Model declaration to check without evaluating geometry.
|
|
94
|
+
* @param args - Parameters, then session options; include any required services.
|
|
95
|
+
*/
|
|
96
|
+
export declare function checkModel<P extends object, S>(
|
|
97
|
+
program: ModelProgram<P, S>,
|
|
98
|
+
...args: ModelRunArguments<P, S, SessionOptions<S>>
|
|
99
|
+
): readonly GenerationDiagnostic[];
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Initializes one host kernel; runs and sessions own native cleanup.
|
|
103
|
+
*
|
|
104
|
+
* @param options - WASM URL and engine resource limits.
|
|
105
|
+
*
|
|
106
|
+
* @example Build a box in a host application
|
|
107
|
+
* ```ts
|
|
108
|
+
* import { box, generate } from "@metamesh/modeling";
|
|
109
|
+
* import { createModelEngine } from "@metamesh/modeling/engine";
|
|
110
|
+
* import { export3mf } from "@metamesh/modeling/export";
|
|
111
|
+
*
|
|
112
|
+
* const engine = await createModelEngine();
|
|
113
|
+
* const model = generate<Record<never, never>>(({ part }) => [part("body", box({ size: [30, 20, 8] }))]);
|
|
114
|
+
* const result = engine.run(model);
|
|
115
|
+
* await export3mf(result.parts);
|
|
116
|
+
* ```
|
|
117
|
+
*/
|
|
118
|
+
export declare function createModelEngine(
|
|
119
|
+
options?: ModelEngineOptions,
|
|
120
|
+
): Promise<ModelEngine>;
|
|
121
|
+
|
|
122
|
+
/** Default engine ceilings, shared with predictable pure mesh constructor preflights. */
|
|
123
|
+
export declare const defaultModelingLimits: ModelingLimits;
|
|
14
124
|
|
|
15
125
|
/** Execution settings supplied by the host, independently of generator metadata. */
|
|
16
|
-
export interface GenerationOptions {
|
|
126
|
+
export declare interface GenerationOptions {
|
|
17
127
|
/** Optional bounded intersection and nested-shell checks; defaults to indexed topology validation. */
|
|
18
128
|
readonly meshValidation?: "topology" | "solid";
|
|
19
129
|
/** Per-build limits, no larger than the configured engine ceilings. */
|
|
@@ -23,10 +133,45 @@ export interface GenerationOptions {
|
|
|
23
133
|
/** Optional bounded planar cleanup; unsupported candidates preserve the original part. */
|
|
24
134
|
readonly meshTopologyMode?: "original" | "optimized";
|
|
25
135
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
136
|
+
|
|
137
|
+
/** Validated local geometry resource with stable immutable numeric storage. */
|
|
138
|
+
export declare interface GeometryResource extends ImmutableTriangleMesh {
|
|
139
|
+
/** Session-scoped immutable resource identity, stable while geometry is reused. */
|
|
140
|
+
readonly id: string;
|
|
141
|
+
/** Immutable resource revision; a new resource receives a new identity. */
|
|
142
|
+
readonly revision: number;
|
|
143
|
+
/** Facts and indexed topology counts for the exact local manufacturing buffers. */
|
|
144
|
+
readonly measurements: TriangleMeshTopologyAnalysis;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
declare const immutableBufferBrand: unique symbol;
|
|
148
|
+
|
|
149
|
+
/** Known dependencies for inspection; plain JavaScript bindings do not reveal their parameter origin. */
|
|
150
|
+
export declare interface ModelDependencies {
|
|
151
|
+
/** Parameter keys read outside memo functions, affecting structure or ordinary code. */
|
|
152
|
+
readonly modelParameters: readonly string[];
|
|
153
|
+
/** Direct dependencies recorded by successfully evaluated computations. */
|
|
154
|
+
readonly computations: readonly {
|
|
155
|
+
/** Revision-local diagnostic memo identity; it is not a cache key. */
|
|
156
|
+
readonly id: string;
|
|
157
|
+
/** Direct top-level parameter reads. */
|
|
158
|
+
readonly parameters: readonly string[];
|
|
159
|
+
/** Known object-value dependencies between memo calls; scalar origins are not observable. */
|
|
160
|
+
readonly computations: readonly string[];
|
|
161
|
+
}[];
|
|
162
|
+
/** Known memo origins of part geometry and placement, and their parameter dependencies. */
|
|
163
|
+
readonly parts: readonly {
|
|
164
|
+
/** Stable semantic output part identity. */
|
|
165
|
+
readonly id: string;
|
|
166
|
+
/** Memo calls known to contribute object values to geometry or placement. */
|
|
167
|
+
readonly computations: readonly string[];
|
|
168
|
+
/** Known transitive parameter dependencies through these roots. */
|
|
169
|
+
readonly parameters: readonly string[];
|
|
170
|
+
}[];
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
/** Host engine. No native values or manually disposable handles are exposed. */
|
|
174
|
+
export declare interface ModelEngine {
|
|
30
175
|
/** Immutable resource ceilings selected when this engine was initialized. */
|
|
31
176
|
readonly limits: ModelingLimits;
|
|
32
177
|
/** Runs once with isolated ownership and returns durable immutable data; no disposal is required. */
|
|
@@ -46,54 +191,18 @@ export interface ModelEngine {
|
|
|
46
191
|
]
|
|
47
192
|
): ModelSession<P>;
|
|
48
193
|
}
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
*/
|
|
57
|
-
readonly services?: S;
|
|
58
|
-
}
|
|
59
|
-
/** Fixed argument positions; infer parameters from the program, allow empty maps to be omitted, and require declared services. */
|
|
60
|
-
export type ModelRunArguments<
|
|
61
|
-
P extends object,
|
|
62
|
-
S,
|
|
63
|
-
Options extends ModelRunOptions<S> = ModelRunOptions<S>,
|
|
64
|
-
> = keyof S extends never
|
|
65
|
-
? Record<never, never> extends P
|
|
66
|
-
? [parameters?: NoInfer<Readonly<P>>, options?: Options]
|
|
67
|
-
: [parameters: NoInfer<Readonly<P>>, options?: Options]
|
|
68
|
-
: [
|
|
69
|
-
parameters:
|
|
70
|
-
| NoInfer<Readonly<P>>
|
|
71
|
-
| (Record<never, never> extends P ? undefined : never),
|
|
72
|
-
options: Options & {
|
|
73
|
-
/** Prepared synchronous capabilities required by this program. */
|
|
74
|
-
readonly services: S;
|
|
75
|
-
},
|
|
76
|
-
];
|
|
77
|
-
/** Fixed generation policy and reusable computation caches for one model session. */
|
|
78
|
-
export interface SessionOptions<
|
|
79
|
-
S = Record<never, never>,
|
|
80
|
-
> extends ModelRunOptions<S> {
|
|
81
|
-
/** Enables reuse; defaults to true. Set false for uncached output equivalence checks. */
|
|
82
|
-
readonly cache?: boolean;
|
|
83
|
-
/** Development-only cache-hit probe: reruns pure callbacks and compares bounded data/recipes.
|
|
84
|
-
* Unsupported closures or large results fail explicitly; this cannot prove arbitrary JavaScript.
|
|
85
|
-
*/
|
|
86
|
-
readonly verifyCache?: boolean;
|
|
87
|
-
}
|
|
88
|
-
/** Validated local geometry resource with stable immutable numeric storage. */
|
|
89
|
-
export interface GeometryResource extends ImmutableTriangleMesh {
|
|
90
|
-
/** Session-scoped immutable resource identity, stable while geometry is reused. */
|
|
91
|
-
readonly id: string;
|
|
92
|
-
/** Immutable resource revision; a new resource receives a new identity. */
|
|
93
|
-
readonly revision: number;
|
|
94
|
-
/** Facts and indexed topology counts for the exact local manufacturing buffers. */
|
|
95
|
-
readonly measurements: TriangleMeshTopologyAnalysis;
|
|
194
|
+
|
|
195
|
+
/** Kernel asset initialization. Networking and Worker ownership remain with the host. */
|
|
196
|
+
export declare interface ModelEngineOptions {
|
|
197
|
+
/** Fixed kernel WASM asset URL; defaults to the package asset. Browser hosts supply their emitted URL. */
|
|
198
|
+
readonly wasmUrl?: string;
|
|
199
|
+
/** Trusted application ceilings. Builds may lower them; generators receive no engine. */
|
|
200
|
+
readonly limits?: Partial<ModelingLimits>;
|
|
96
201
|
}
|
|
202
|
+
|
|
203
|
+
/** URL of the package's pinned WASM asset; browser bundlers may replace it with their emitted URL. */
|
|
204
|
+
export declare const modelingWasmUrl: string;
|
|
205
|
+
|
|
97
206
|
/**
|
|
98
207
|
* A world-space manufacturing part plus its reusable local renderer resource.
|
|
99
208
|
* Top-level positions and indices already include transform; do not apply it again.
|
|
@@ -101,7 +210,7 @@ export interface GeometryResource extends ImmutableTriangleMesh {
|
|
|
101
210
|
*
|
|
102
211
|
* Buffer properties are stable immutable values. Use copy() explicitly for mutable storage.
|
|
103
212
|
*/
|
|
104
|
-
export interface ModelPart extends ImmutableTriangleMesh {
|
|
213
|
+
export declare interface ModelPart extends ImmutableTriangleMesh {
|
|
105
214
|
/** Stable semantic identity. */
|
|
106
215
|
readonly id: string;
|
|
107
216
|
/** Optional six-digit hexadecimal display color. */
|
|
@@ -113,8 +222,9 @@ export interface ModelPart extends ImmutableTriangleMesh {
|
|
|
113
222
|
/** Immutable rigid local-to-world row-major 4x4 matrix; translation uses millimetres. */
|
|
114
223
|
readonly transform: Transform3Data;
|
|
115
224
|
}
|
|
225
|
+
|
|
116
226
|
/** Durable immutable generation data, independent of session lifetime. */
|
|
117
|
-
export interface ModelResult {
|
|
227
|
+
export declare interface ModelResult {
|
|
118
228
|
/** Exact axis-aligned world bounds in millimetres. */
|
|
119
229
|
readonly bounds: Bounds3Data;
|
|
120
230
|
/** Aggregate manufacturing facts in millimetres and engine execution timings in milliseconds. */
|
|
@@ -145,31 +255,39 @@ export interface ModelResult {
|
|
|
145
255
|
/** Known dependency graph; outer reads remain conservative model-wide dependencies. */
|
|
146
256
|
readonly dependencies: ModelDependencies;
|
|
147
257
|
}
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
258
|
+
|
|
259
|
+
/** Fixed argument positions; infer parameters from the program, allow empty maps to be omitted, and require declared services. */
|
|
260
|
+
export declare type ModelRunArguments<
|
|
261
|
+
P extends object,
|
|
262
|
+
S,
|
|
263
|
+
Options extends ModelRunOptions<S> = ModelRunOptions<S>,
|
|
264
|
+
> = keyof S extends never
|
|
265
|
+
? Record<never, never> extends P
|
|
266
|
+
? [parameters?: NoInfer<Readonly<P>>, options?: Options]
|
|
267
|
+
: [parameters: NoInfer<Readonly<P>>, options?: Options]
|
|
268
|
+
: [
|
|
269
|
+
parameters:
|
|
270
|
+
| NoInfer<Readonly<P>>
|
|
271
|
+
| (Record<never, never> extends P ? undefined : never),
|
|
272
|
+
options: Options & {
|
|
273
|
+
/** Prepared synchronous capabilities required by this program. */
|
|
274
|
+
readonly services: S;
|
|
275
|
+
},
|
|
276
|
+
];
|
|
277
|
+
|
|
278
|
+
/** Generation policy and prepared synchronous capabilities for one host execution. */
|
|
279
|
+
export declare interface ModelRunOptions<
|
|
280
|
+
S = Record<never, never>,
|
|
281
|
+
> extends GenerationOptions {
|
|
282
|
+
/** Host-owned synchronous capabilities, required when declared by the program. The original
|
|
283
|
+
* environment is retained; its behavior and assets must remain deterministic and fixed for
|
|
284
|
+
* this session. Equivalent function wrappers do not constitute an asset revision.
|
|
285
|
+
*/
|
|
286
|
+
readonly services?: S;
|
|
170
287
|
}
|
|
288
|
+
|
|
171
289
|
/** Stateful execution owner; a failed revision cannot change previously returned results. */
|
|
172
|
-
export interface ModelSession<P extends object> {
|
|
290
|
+
export declare interface ModelSession<P extends object> {
|
|
173
291
|
/** Generates durable immutable data or throws; parameters are copied and frozen. Empty parameters may be omitted. */
|
|
174
292
|
run(
|
|
175
293
|
...args: Record<never, never> extends P
|
|
@@ -187,83 +305,21 @@ export interface ModelSession<P extends object> {
|
|
|
187
305
|
/** Releases session ownership; idempotent, returned results remain usable. */
|
|
188
306
|
dispose(): void;
|
|
189
307
|
}
|
|
190
|
-
/**
|
|
191
|
-
* Manufacturing buffers accepted by the standalone mesh exporter.
|
|
192
|
-
*/
|
|
193
|
-
export type ExportMeshPart = TriangleMeshInput & {
|
|
194
|
-
/** Stable canonical lowercase identity; unique within the containing topology or output. */
|
|
195
|
-
readonly id: string;
|
|
196
|
-
/** Optional six-digit hex RGB display color. */
|
|
197
|
-
readonly color?: string;
|
|
198
|
-
};
|
|
199
|
-
/**
|
|
200
|
-
* Completed-mesh serialization settings; filename selection belongs to the host.
|
|
201
|
-
*/
|
|
202
|
-
export interface Export3mfOptions {
|
|
203
|
-
/** Trusted export allocation and aggregate output ceilings; omitted fields use package defaults. */
|
|
204
|
-
readonly limits?: Partial<ModelingLimits>;
|
|
205
|
-
/** Optional bounded geometric solid checks on captured buffers; defaults to indexed topology validation. */
|
|
206
|
-
readonly meshValidation?: "topology" | "solid";
|
|
207
|
-
/** Document display name; defaults to MetaMesh model. */
|
|
208
|
-
readonly name?: string;
|
|
209
|
-
}
|
|
210
|
-
/** Kernel asset initialization. Networking and Worker ownership remain with the host. */
|
|
211
|
-
export interface ModelEngineOptions {
|
|
212
|
-
/** Fixed kernel WASM asset URL; defaults to the package asset. Browser hosts supply their emitted URL. */
|
|
213
|
-
readonly wasmUrl?: string;
|
|
214
|
-
/** Trusted application ceilings. Builds may lower them; generators receive no engine. */
|
|
215
|
-
readonly limits?: Partial<ModelingLimits>;
|
|
216
|
-
}
|
|
217
308
|
|
|
218
|
-
|
|
219
|
-
* Serializes captured manufacturing meshes as millimetre 3MF without initializing an engine.
|
|
220
|
-
* Captures input arrays and options before awaiting; later mutations, runs and session cleanup
|
|
221
|
-
* cannot change the exported geometry. Trusted limits default to the package output ceilings.
|
|
222
|
-
*
|
|
223
|
-
* @example Export a pure mesh without an engine
|
|
224
|
-
* ```ts
|
|
225
|
-
* import { export3mf } from "@metamesh/modeling/engine";
|
|
226
|
-
* import * as mesh from "@metamesh/modeling/geometry/mesh";
|
|
227
|
-
* import { rectangleContour } from "@metamesh/modeling/geometry";
|
|
228
|
-
* const plate = mesh.extrude(rectangleContour({ size: [30, 20] }), { height: 6 });
|
|
229
|
-
* const bytes = await export3mf([{ id: "plate", ...plate }], { name: "Plate" });
|
|
230
|
-
* ```
|
|
231
|
-
*/
|
|
232
|
-
export declare function export3mf(
|
|
233
|
-
parts: readonly ExportMeshPart[],
|
|
234
|
-
options?: Export3mfOptions,
|
|
235
|
-
): Promise<ArrayBuffer>;
|
|
309
|
+
declare const sectionBrand: unique symbol;
|
|
236
310
|
|
|
237
|
-
|
|
311
|
+
/** Fixed generation policy and reusable computation caches for one model session. */
|
|
312
|
+
export declare interface SessionOptions<
|
|
313
|
+
S = Record<never, never>,
|
|
314
|
+
> extends ModelRunOptions<S> {
|
|
315
|
+
/** Enables reuse; defaults to true. Set false for uncached output equivalence checks. */
|
|
316
|
+
readonly cache?: boolean;
|
|
317
|
+
/** Development-only cache-hit probe: reruns pure callbacks and compares bounded data/recipes.
|
|
318
|
+
* Unsupported closures or large results fail explicitly; this cannot prove arbitrary JavaScript.
|
|
319
|
+
*/
|
|
320
|
+
readonly verifyCache?: boolean;
|
|
321
|
+
}
|
|
238
322
|
|
|
239
|
-
|
|
240
|
-
export declare const modelingWasmUrl: string;
|
|
323
|
+
declare const solidBrand: unique symbol;
|
|
241
324
|
|
|
242
|
-
|
|
243
|
-
* Runs declaration and immediate assertions without initializing a kernel or finalizing parts.
|
|
244
|
-
* Returns reached assertion errors and warnings; unexpected execution failures throw.
|
|
245
|
-
* Returned geometry is not realized or validated.
|
|
246
|
-
* Geometry observations require an initialized session's `check` method instead.
|
|
247
|
-
*/
|
|
248
|
-
export declare function checkModel<P extends object, S>(
|
|
249
|
-
program: ModelProgram<P, S>,
|
|
250
|
-
...args: ModelRunArguments<P, S, SessionOptions<S>>
|
|
251
|
-
): readonly GenerationDiagnostic[];
|
|
252
|
-
/**
|
|
253
|
-
* Initializes one host kernel and returns a lifecycle-safe engine. No generator initializes WASM.
|
|
254
|
-
*
|
|
255
|
-
* @example Build a box in a host application
|
|
256
|
-
* ```ts
|
|
257
|
-
* import { box, generate } from "@metamesh/modeling";
|
|
258
|
-
* import { createModelEngine, export3mf } from "@metamesh/modeling/engine";
|
|
259
|
-
*
|
|
260
|
-
* const engine = await createModelEngine();
|
|
261
|
-
* const model = generate<Record<never, never>>(({ part }) => [part("body", box({ size: [30, 20, 8] }))]);
|
|
262
|
-
* const result = engine.run(model);
|
|
263
|
-
* await export3mf(result.parts);
|
|
264
|
-
* ```
|
|
265
|
-
*/
|
|
266
|
-
export declare function createModelEngine(
|
|
267
|
-
options?: ModelEngineOptions,
|
|
268
|
-
): Promise<ModelEngine>;
|
|
269
|
-
export type { ModelingLimits };
|
|
325
|
+
export {};
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import type {
|
|
2
|
+
ImmutableBuffer,
|
|
3
|
+
NumericArray,
|
|
4
|
+
Transform3Data,
|
|
5
|
+
} from "@metamesh/modeling/geometry";
|
|
6
|
+
import type {
|
|
7
|
+
ImmutableTriangleMesh,
|
|
8
|
+
TriangleMesh,
|
|
9
|
+
TriangleMeshInput,
|
|
10
|
+
} from "@metamesh/modeling/geometry/mesh";
|
|
11
|
+
/** Runtime-independent completed-mesh export. All input coordinates are millimetres, right-handed, and Z-up. @packageDocumentation */
|
|
12
|
+
|
|
13
|
+
/** Default standalone export policy: 64 parts, one million vertices, two million triangles, 96 MiB input, 512 MiB output. */
|
|
14
|
+
export declare const defaultExportLimits: ExportLimits;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Serializes selected completed meshes as an owned 3MF file without initializing an engine.
|
|
18
|
+
*
|
|
19
|
+
* @param parts - Closed, outward-wound parts in output order, with local geometry in millimetres.
|
|
20
|
+
*/
|
|
21
|
+
export declare function export3mf(
|
|
22
|
+
parts: readonly ExportPart[],
|
|
23
|
+
options?: Export3mfOptions,
|
|
24
|
+
): Promise<ExportedFile>;
|
|
25
|
+
|
|
26
|
+
/** 3MF serialization of closed manufacturing meshes in millimetres; colored output uses the standard Materials extension. */
|
|
27
|
+
export declare type Export3mfOptions = ExportOptions;
|
|
28
|
+
|
|
29
|
+
/** Expected information loss imposed by the selected file format. */
|
|
30
|
+
export declare interface ExportDiagnostic {
|
|
31
|
+
/** Stable category; human-readable wording is not an API contract. */
|
|
32
|
+
readonly code:
|
|
33
|
+
| "APPEARANCE_DROPPED"
|
|
34
|
+
| "MATERIAL_ASSIGNMENTS_DROPPED"
|
|
35
|
+
| "PART_NAMES_DROPPED";
|
|
36
|
+
/** Description of the information the selected format cannot preserve. */
|
|
37
|
+
readonly message: string;
|
|
38
|
+
/** Affected semantic part identities, in input order. */
|
|
39
|
+
readonly partIds: readonly string[];
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** Owned file bytes and format metadata, usable in both Node and browsers. */
|
|
43
|
+
export declare interface ExportedFile extends ExportReport {
|
|
44
|
+
/** Fresh mutable bytes; never aliases the input snapshot. */
|
|
45
|
+
readonly bytes: Uint8Array<ArrayBuffer>;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** Supported completed-mesh file formats. */
|
|
49
|
+
export declare type ExportFormat = "3mf" | "stl" | "glb";
|
|
50
|
+
|
|
51
|
+
/** Local millimetre, Z-up indexed geometry; optional unit normals describe display shading only. */
|
|
52
|
+
export declare type ExportGeometry = TriangleMeshInput & {
|
|
53
|
+
/** One finite unit XYZ normal per position; omitted normals are derived for GLB. */
|
|
54
|
+
readonly normals?: Float32Array | ImmutableBuffer<Float32Array>;
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Serializes captured local meshes as uncompressed glTF 2.0 binary, in metres and Y-up.
|
|
59
|
+
* Preserves named parts, placement, shared geometry and display appearance. Authored normals take
|
|
60
|
+
* precedence over crease-aware shading; no engine, renderer or optional compression codec is loaded.
|
|
61
|
+
*
|
|
62
|
+
* @param parts - Parts in output order, with local geometry in millimetres and Z-up.
|
|
63
|
+
*/
|
|
64
|
+
export declare function exportGlb(
|
|
65
|
+
parts: readonly ExportPart[],
|
|
66
|
+
options?: ExportGlbOptions,
|
|
67
|
+
): Promise<ExportedFile>;
|
|
68
|
+
|
|
69
|
+
/** Uncompressed glTF 2.0 binary serialization; converts millimetres/Z-up to metres/Y-up. */
|
|
70
|
+
export declare interface ExportGlbOptions extends ExportOptions {
|
|
71
|
+
/** Normal smoothing threshold in degrees from zero through 180; defaults to 20. Authored normals take precedence. */
|
|
72
|
+
readonly creaseAngle?: number;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/** Independent trusted export ceilings; output limits also apply to streaming writers. */
|
|
76
|
+
export declare interface ExportLimits {
|
|
77
|
+
/** Maximum selected semantic parts. */
|
|
78
|
+
readonly maxParts: number;
|
|
79
|
+
/** Maximum aggregate input vertices across selected instances. */
|
|
80
|
+
readonly maxVertices: number;
|
|
81
|
+
/** Maximum aggregate input triangles across selected instances. */
|
|
82
|
+
readonly maxTriangles: number;
|
|
83
|
+
/** Maximum captured unique numeric buffer-view bytes, including authored normals. */
|
|
84
|
+
readonly maxBytes: number;
|
|
85
|
+
/** Maximum encoded file bytes; defaults to 512 MiB. */
|
|
86
|
+
readonly maxOutputBytes: number;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/** Portable print material intent. Equal display colors do not merge different identities. */
|
|
90
|
+
export declare interface ExportMaterial {
|
|
91
|
+
/** Unique canonical lowercase kebab-case identity, preserved by 3MF as the base-material name. */
|
|
92
|
+
readonly id: string;
|
|
93
|
+
/** Suggested six-digit sRGB display color; does not select filament, extruder, or physical tray. */
|
|
94
|
+
readonly color: string;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/** Shared serialization policy; hosts own scheduling, filenames, and delivery. */
|
|
98
|
+
export declare interface ExportOptions {
|
|
99
|
+
/** Display name, one through 1024 valid XML characters; defaults to MetaMesh model. */
|
|
100
|
+
readonly name?: string;
|
|
101
|
+
/** Explicit export ceilings, independent of engine/session configuration. */
|
|
102
|
+
readonly limits?: Partial<ExportLimits>;
|
|
103
|
+
/** Topology validation by default; solid additionally checks bounded intersections and shell nesting. */
|
|
104
|
+
readonly meshValidation?: "topology" | "solid";
|
|
105
|
+
/** Portable material identities referenced by parts. No slicer or device mapping is implied. */
|
|
106
|
+
readonly materials?: readonly ExportMaterial[];
|
|
107
|
+
/** Cancellation checked between bounded writing tasks; browser hosts should schedule CPU work in a Worker. */
|
|
108
|
+
readonly signal?: AbortSignal;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/** A semantic part referencing reusable local geometry, with placement and appearance kept separate. */
|
|
112
|
+
export declare interface ExportPart {
|
|
113
|
+
/** Unique canonical lowercase kebab-case identity, at most 64 characters. */
|
|
114
|
+
readonly id: string;
|
|
115
|
+
/** Local geometry; engine results and decoded Worker parts are accepted directly. */
|
|
116
|
+
readonly geometry: ExportGeometry;
|
|
117
|
+
/** Proper rigid row-major local-to-world matrix; translations are millimetres. Defaults to identity. */
|
|
118
|
+
readonly transform?: Transform3Data;
|
|
119
|
+
/** Six-digit sRGB display color; overrides the assigned material's suggested display color. */
|
|
120
|
+
readonly color?: string;
|
|
121
|
+
/** Stable print material identity from options.materials; never inferred from display color. */
|
|
122
|
+
readonly materialId?: string;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/** Completed writer metadata; successful completion means the sink accepted every chunk. */
|
|
126
|
+
export declare interface ExportReport {
|
|
127
|
+
/** Registered file media type. */
|
|
128
|
+
readonly mediaType: string;
|
|
129
|
+
/** File extension without a leading dot. */
|
|
130
|
+
readonly extension: ExportFormat;
|
|
131
|
+
/** Expected format losses; invalid input and failed delivery reject instead. */
|
|
132
|
+
readonly diagnostics: readonly ExportDiagnostic[];
|
|
133
|
+
/** Encoded bytes delivered to the sink. */
|
|
134
|
+
readonly byteLength: number;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Receives chunks in order. Writers await each call; the host closes its destination.
|
|
139
|
+
*
|
|
140
|
+
* @param chunk - Bytes the sink owns and may retain or transfer.
|
|
141
|
+
*/
|
|
142
|
+
export declare type ExportSink = (chunk: Uint8Array) => void | Promise<void>;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Serializes a captured model as binary STL in millimetres and Z-up coordinates.
|
|
146
|
+
* Placement is baked into triangles. Diagnostics describe dropped names, appearance and materials.
|
|
147
|
+
* Mutable input is captured before the first await; no engine or renderer is needed.
|
|
148
|
+
*
|
|
149
|
+
* @param parts - Parts in output order, with local geometry in millimetres.
|
|
150
|
+
*/
|
|
151
|
+
export declare function exportStl(
|
|
152
|
+
parts: readonly ExportPart[],
|
|
153
|
+
options?: ExportStlOptions,
|
|
154
|
+
): Promise<ExportedFile>;
|
|
155
|
+
|
|
156
|
+
/** Binary STL serialization in millimetres; open triangle surfaces are permitted by default. */
|
|
157
|
+
export declare type ExportStlOptions = ExportOptions;
|
|
158
|
+
|
|
159
|
+
declare const immutableBufferBrand: unique symbol;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Writes 3MF with local mesh reuse, semantic parts, rigid placement, and standard color groups.
|
|
163
|
+
* Colored output requires the Materials extension. Explicit material IDs remain distinct base-material
|
|
164
|
+
* names, combined with appearance through multiproperties; display colors never select filament.
|
|
165
|
+
* Captures mutable inputs before awaiting and awaits each owned output chunk for backpressure.
|
|
166
|
+
* The host owns destination closing and cleanup of partial output after rejection.
|
|
167
|
+
*
|
|
168
|
+
* @param parts - Closed, outward-wound parts in output order.
|
|
169
|
+
* @param sink - Receives each chunk; return a promise to pause writing.
|
|
170
|
+
*/
|
|
171
|
+
export declare function write3mf(
|
|
172
|
+
parts: readonly ExportPart[],
|
|
173
|
+
sink: ExportSink,
|
|
174
|
+
options?: Export3mfOptions,
|
|
175
|
+
): Promise<ExportReport>;
|
|
176
|
+
|
|
177
|
+
/**
|
|
178
|
+
* Writes owned GLB chunks with backpressure, cancellation and explicit output limits.
|
|
179
|
+
* Plans accessor and container lengths before writing, then emits bounded binary chunks.
|
|
180
|
+
* Hosts own sink completion, scheduling and recovery after a partially written failure.
|
|
181
|
+
*
|
|
182
|
+
* @param parts - Parts in output order; mutable geometry is copied before writing.
|
|
183
|
+
* @param sink - Receives each chunk; return a promise to pause writing.
|
|
184
|
+
*/
|
|
185
|
+
export declare function writeGlb(
|
|
186
|
+
parts: readonly ExportPart[],
|
|
187
|
+
sink: ExportSink,
|
|
188
|
+
options?: ExportGlbOptions,
|
|
189
|
+
): Promise<ExportReport>;
|
|
190
|
+
|
|
191
|
+
/**
|
|
192
|
+
* Writes owned binary STL chunks to a sink, awaiting backpressure after each bounded chunk.
|
|
193
|
+
* The host owns sink completion and recovery after failure. Honors cancellation and output limits.
|
|
194
|
+
*
|
|
195
|
+
* @param parts - Parts in output order; mutable geometry is copied before writing.
|
|
196
|
+
* @param sink - Receives each chunk; return a promise to pause writing.
|
|
197
|
+
*/
|
|
198
|
+
export declare function writeStl(
|
|
199
|
+
parts: readonly ExportPart[],
|
|
200
|
+
sink: ExportSink,
|
|
201
|
+
options?: ExportStlOptions,
|
|
202
|
+
): Promise<ExportReport>;
|
|
203
|
+
|
|
204
|
+
export {};
|