@metamesh/modeling 0.13.0 → 0.15.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 +55 -0
- package/README.md +67 -9
- package/dist/api/engine.d.ts +14 -7
- package/dist/api/geometry.d.ts +787 -447
- package/dist/api/index.d.ts +637 -250
- package/dist/api/text.d.ts +6 -4
- package/dist/docs/guides/concepts.md +135 -17
- package/dist/docs/guides/fonts.md +8 -0
- package/dist/docs/guides/fundamentals.md +8 -3
- package/dist/docs/guides/generation.md +6 -4
- package/dist/docs/guides/hosting.md +27 -14
- package/dist/docs/guides/recipes.md +82 -11
- package/dist/docs/manifest.json +1911 -856
- package/dist/docs/reference/engine/Export3mfOptions.md +1 -1
- package/dist/docs/reference/engine/ExportMeshPart.md +1 -1
- package/dist/docs/reference/engine/GenerationOptions.md +1 -1
- package/dist/docs/reference/engine/GeometryResource.md +1 -1
- package/dist/docs/reference/engine/ModelDependencies.md +1 -1
- package/dist/docs/reference/engine/ModelEngine.md +1 -1
- package/dist/docs/reference/engine/ModelEngineOptions.md +4 -8
- package/dist/docs/reference/engine/ModelSession.md +1 -1
- package/dist/docs/reference/engine/ModelSnapshot.md +20 -9
- package/dist/docs/reference/engine/SessionOptions.md +1 -1
- package/dist/docs/reference/engine/SnapshotPart.md +4 -4
- package/dist/docs/reference/engine/categories/host-lifecycle.md +2 -2
- package/dist/docs/reference/engine/createModelEngine.md +3 -3
- package/dist/docs/reference/engine/defaultModelingLimits.md +1 -1
- package/dist/docs/reference/engine/modelingWasmUrl.md +1 -1
- package/dist/docs/reference/engine/validateModel.md +1 -1
- package/dist/docs/reference/engine.md +2 -2
- package/dist/docs/reference/geometry/AcmeThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/AlignedCircularSegmentsOptions.md +17 -4
- package/dist/docs/reference/geometry/{Anchor3.md → Anchor3-type.md} +9 -5
- package/dist/docs/reference/geometry/ArcCurve2.md +7 -7
- package/dist/docs/reference/geometry/ArcCurve3.md +9 -9
- package/dist/docs/reference/geometry/{AttachTransformOptions.md → AttachOptions.md} +14 -5
- package/dist/docs/reference/geometry/AxisAngleRotation3.md +6 -1
- package/dist/docs/reference/geometry/Bounds2.md +4 -4
- package/dist/docs/reference/geometry/Bounds3.md +4 -4
- package/dist/docs/reference/geometry/BoundsFit2.md +3 -3
- package/dist/docs/reference/geometry/BoundsFit3.md +3 -3
- package/dist/docs/reference/geometry/BoundsFitOptions.md +1 -1
- package/dist/docs/reference/geometry/BoundsFromSizeOptions.md +1 -1
- package/dist/docs/reference/geometry/BoxAnchorFace.md +8 -1
- package/dist/docs/reference/geometry/BoxAnchorOptions.md +8 -4
- package/dist/docs/reference/geometry/BoxEdge.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/geometry/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/geometry/BoxOptions.md +10 -10
- package/dist/docs/reference/geometry/ButtressPressureFlankSide.md +1 -1
- package/dist/docs/reference/geometry/ButtressThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/CircleContourOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/geometry/CircularResolutionOptions.md +107 -0
- package/dist/docs/reference/geometry/ClearanceHoleDimensions.md +1 -1
- package/dist/docs/reference/geometry/ClearanceHoleFit.md +1 -1
- package/dist/docs/reference/geometry/CompensatedThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/Contour.md +3 -3
- package/dist/docs/reference/geometry/ContourCurve.md +1 -1
- package/dist/docs/reference/geometry/ContourPoint.md +1 -1
- package/dist/docs/reference/geometry/ContourSegment.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingContour.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/geometry/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/geometry/CubicBezierCurve2.md +6 -6
- package/dist/docs/reference/geometry/CubicBezierCurve3.md +6 -6
- package/dist/docs/reference/geometry/Curve2.md +1 -1
- package/dist/docs/reference/geometry/Curve3.md +1 -1
- package/dist/docs/reference/geometry/CurveSamplingOptions.md +5 -3
- package/dist/docs/reference/geometry/CustomThreadProfileSpec.md +3 -3
- package/dist/docs/reference/geometry/CylinderAnchorFace.md +8 -1
- package/dist/docs/reference/geometry/CylinderAnchorOptions.md +9 -5
- package/dist/docs/reference/geometry/CylinderOptions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearDimensions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearMeshKind.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearOutlineOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairDimensions.md +3 -3
- package/dist/docs/reference/geometry/CylindricalGearPairMotionOptions.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairMotionReport.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearPairSpec.md +1 -1
- package/dist/docs/reference/geometry/CylindricalGearSpec.md +6 -6
- package/dist/docs/reference/geometry/DEFAULT_GEOMETRY_TOLERANCE.md +1 -1
- package/dist/docs/reference/geometry/EdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/geometry/EndTreatments.md +1 -1
- package/dist/docs/reference/geometry/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/geometry/ExtrusionSamplingOptions.md +5 -5
- package/dist/docs/reference/geometry/FittedTextLayout.md +1 -1
- package/dist/docs/reference/geometry/Frame3.md +6 -6
- package/dist/docs/reference/geometry/GeometryError.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorCode.md +1 -1
- package/dist/docs/reference/geometry/GeometryErrorContext.md +1 -1
- package/dist/docs/reference/geometry/GeometryResolution.md +14 -5
- package/dist/docs/reference/geometry/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/geometry/GridPatternOptions.md +11 -5
- package/dist/docs/reference/geometry/HeightfieldMeshLimits.md +1 -1
- package/dist/docs/reference/geometry/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/geometry/HeightfieldPreflight.md +1 -1
- package/dist/docs/reference/geometry/HelicalThreadRidgeMeshOptions.md +5 -5
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshOptions.md +6 -6
- package/dist/docs/reference/geometry/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/geometry/IDENTITY_TRANSFORM3.md +7 -3
- package/dist/docs/reference/geometry/InternalThreadCutterOptions.md +6 -6
- package/dist/docs/reference/geometry/LineCurve2.md +4 -4
- package/dist/docs/reference/geometry/LineCurve3.md +4 -4
- package/dist/docs/reference/geometry/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/geometry/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/geometry/LoftMeshStation.md +4 -4
- package/dist/docs/reference/geometry/LoftOptions.md +1 -1
- package/dist/docs/reference/geometry/LoftPlacement.md +1 -1
- package/dist/docs/reference/geometry/METRIC_FASTENER_STANDARDS.md +1 -1
- package/dist/docs/reference/geometry/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerSize.md +1 -1
- package/dist/docs/reference/geometry/MetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/MetricHexNutDimensions.md +1 -1
- package/dist/docs/reference/geometry/MetricSocketCapHeadDimensions.md +1 -1
- package/dist/docs/reference/geometry/ModelingLimits.md +1 -1
- package/dist/docs/reference/geometry/PRINTABLE_THREAD_FIT_POLICIES.md +1 -1
- package/dist/docs/reference/geometry/Path2-type.md +192 -0
- package/dist/docs/reference/geometry/Path2Data.md +14 -0
- package/dist/docs/reference/geometry/Path2Input.md +15 -0
- package/dist/docs/reference/geometry/Path3-type.md +192 -0
- package/dist/docs/reference/geometry/Path3Data.md +14 -0
- package/dist/docs/reference/geometry/Path3Input.md +15 -0
- package/dist/docs/reference/geometry/PathFrame.md +5 -5
- package/dist/docs/reference/geometry/PathLocation.md +65 -0
- package/dist/docs/reference/geometry/PathNormalGuide.md +6 -5
- package/dist/docs/reference/geometry/PathOptions.md +34 -0
- package/dist/docs/reference/geometry/PathPatternOptions.md +3 -3
- package/dist/docs/reference/geometry/PathPlacement.md +4 -4
- package/dist/docs/reference/geometry/PathResamplingOptions.md +80 -0
- package/dist/docs/reference/geometry/Pivot2Options.md +26 -0
- package/dist/docs/reference/geometry/Pivot3Options.md +26 -0
- package/dist/docs/reference/geometry/PlanarMeshOptimizationFallbackReason.md +1 -1
- package/dist/docs/reference/geometry/PlanarMeshOptimizationOptions.md +22 -22
- package/dist/docs/reference/geometry/PlanarMeshOptimizationResult.md +1 -1
- package/dist/docs/reference/geometry/PlanarPatchQuality.md +3 -3
- package/dist/docs/reference/geometry/{Polygon.md → PolygonData.md} +2 -2
- package/dist/docs/reference/geometry/PolylineResamplingOptions.md +4 -4
- package/dist/docs/reference/geometry/PrimitiveAttachment.md +31 -0
- package/dist/docs/reference/geometry/PrimitiveAttachmentOptions.md +104 -0
- package/dist/docs/reference/geometry/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/geometry/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/Profile.md +1 -1
- package/dist/docs/reference/geometry/ProfileComponent2.md +1 -1
- package/dist/docs/reference/geometry/ProfileContour2.md +1 -1
- package/dist/docs/reference/geometry/ProfileSpan2.md +3 -3
- package/dist/docs/reference/geometry/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/geometry/RackPitchDimensions.md +1 -1
- package/dist/docs/reference/geometry/RackPitchSpec.md +5 -5
- package/dist/docs/reference/geometry/RadialPatternOptions.md +17 -22
- package/dist/docs/reference/geometry/RadialSizing.md +1 -1
- package/dist/docs/reference/geometry/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/geometry/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/geometry/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/geometry/RectangleProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/RegionData.md +14 -0
- package/dist/docs/reference/geometry/RegularPolygonContourOptions.md +3 -3
- package/dist/docs/reference/geometry/ResolvedGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/RevolveOptions.md +9 -4
- package/dist/docs/reference/geometry/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/RowLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleContourOptions.md +3 -3
- package/dist/docs/reference/geometry/SampleHelixOptions.md +1 -1
- package/dist/docs/reference/geometry/SampleSideProfileOptions.md +3 -3
- package/dist/docs/reference/geometry/SampledCurve2.md +4 -4
- package/dist/docs/reference/geometry/SampledCurve3.md +4 -4
- package/dist/docs/reference/geometry/SampledThreadHelices.md +3 -3
- package/dist/docs/reference/geometry/SideProfileCurve.md +1 -1
- package/dist/docs/reference/geometry/SideProfilePoint.md +1 -1
- package/dist/docs/reference/geometry/SideProfileSegment.md +1 -1
- package/dist/docs/reference/geometry/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/geometry/SolidMeshValidationOptions.md +3 -3
- package/dist/docs/reference/geometry/SphereOptions.md +3 -3
- package/dist/docs/reference/geometry/SquareThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/StrokeCap.md +7 -0
- package/dist/docs/reference/geometry/StrokeJoin.md +7 -0
- package/dist/docs/reference/geometry/{StrokePathRegionOptions.md → StrokeOptions.md} +8 -8
- package/dist/docs/reference/geometry/SvgImportOptions.md +1 -1
- package/dist/docs/reference/geometry/SvgRegionPreflight.md +3 -3
- package/dist/docs/reference/geometry/SvgRegionPreflightGeometryMetrics.md +13 -13
- package/dist/docs/reference/geometry/SvgRegionPreflightRepairs.md +11 -11
- package/dist/docs/reference/geometry/SvgRegionPreflightSourceMetrics.md +9 -9
- package/dist/docs/reference/geometry/SweepOptions.md +6 -6
- package/dist/docs/reference/geometry/SweepOrientation.md +7 -7
- package/dist/docs/reference/geometry/ThreadBevelOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadCircularSegmentsOptions.md +5 -5
- package/dist/docs/reference/geometry/ThreadCompensationOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/geometry/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/geometry/ThreadHandedness.md +1 -1
- package/dist/docs/reference/geometry/ThreadHelixOptions.md +3 -3
- package/dist/docs/reference/geometry/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/geometry/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/geometry/{ThreadProfile.md → ThreadProfile-type.md} +3 -3
- package/dist/docs/reference/geometry/ThreadProfileBaseSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/ThreadRole.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutBevel.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutOptions.md +6 -6
- package/dist/docs/reference/geometry/ThreadedNutPreflight.md +1 -1
- package/dist/docs/reference/geometry/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/geometry/ThreadedRodOptions.md +6 -6
- package/dist/docs/reference/geometry/TorusOptions.md +8 -8
- package/dist/docs/reference/geometry/Transform2-type.md +255 -0
- package/dist/docs/reference/geometry/Transform2Input.md +19 -0
- package/dist/docs/reference/geometry/Transform2Matrix.md +14 -0
- package/dist/docs/reference/geometry/Transform3-type.md +295 -0
- package/dist/docs/reference/geometry/Transform3Input.md +19 -0
- package/dist/docs/reference/geometry/Transform3Matrix.md +17 -0
- package/dist/docs/reference/geometry/TrapezoidalThreadProfileSpec.md +5 -4
- package/dist/docs/reference/geometry/TriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshAnalysis.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshAnalysisOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshQualityOptions.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshQualityReport.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshSignature.md +2 -2
- package/dist/docs/reference/geometry/TriangleMeshSignatureOptions.md +3 -3
- package/dist/docs/reference/geometry/TriangleMeshSignatureTolerances.md +1 -1
- package/dist/docs/reference/geometry/TriangleMeshValidationOptions.md +1 -1
- package/dist/docs/reference/geometry/TriangularThreadProfileSpec.md +1 -1
- package/dist/docs/reference/geometry/TubeOptions.md +8 -8
- package/dist/docs/reference/geometry/Vector2-type.md +269 -0
- package/dist/docs/reference/geometry/Vector2Input.md +19 -0
- package/dist/docs/reference/geometry/Vector2Tuple.md +14 -0
- package/dist/docs/reference/geometry/Vector3-type.md +281 -0
- package/dist/docs/reference/geometry/Vector3Input.md +19 -0
- package/dist/docs/reference/geometry/Vector3Tuple.md +14 -0
- package/dist/docs/reference/geometry/VectorTextArcBaseline.md +3 -3
- package/dist/docs/reference/geometry/VectorTextLayout.md +1 -1
- package/dist/docs/reference/geometry/VectorTextLayoutOptions.md +1 -1
- package/dist/docs/reference/geometry/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/geometry/VectorTextOptions.md +1 -1
- package/dist/docs/reference/geometry/add2.md +36 -0
- package/dist/docs/reference/geometry/add3.md +10 -6
- package/dist/docs/reference/geometry/analyzeTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/analyzeTriangleMeshQuality.md +2 -2
- package/dist/docs/reference/geometry/{createAnchor3.md → anchor3.md} +13 -9
- package/dist/docs/reference/geometry/anchorFrame3.md +5 -5
- package/dist/docs/reference/geometry/applyTransformDirection3.md +11 -7
- package/dist/docs/reference/geometry/applyTransformPoint3.md +11 -7
- package/dist/docs/reference/geometry/attachmentTransform3.md +77 -0
- package/dist/docs/reference/geometry/boundsCenter.md +7 -7
- package/dist/docs/reference/geometry/boundsFromSize.md +7 -7
- package/dist/docs/reference/geometry/boundsSize.md +7 -7
- package/dist/docs/reference/geometry/boxAnchor3.md +10 -6
- package/dist/docs/reference/geometry/categories/bounds-layout.md +1 -1
- package/dist/docs/reference/geometry/categories/curves-paths.md +15 -10
- package/dist/docs/reference/geometry/categories/mechanical.md +6 -6
- package/dist/docs/reference/geometry/categories/meshes.md +3 -4
- package/dist/docs/reference/geometry/categories/pattern-placement.md +7 -7
- package/dist/docs/reference/geometry/categories/primitive-options.md +4 -4
- package/dist/docs/reference/geometry/categories/profiles-regions.md +5 -6
- package/dist/docs/reference/geometry/categories/resolution-errors.md +3 -2
- package/dist/docs/reference/geometry/categories/transforms-math.md +41 -12
- package/dist/docs/reference/geometry/categories/vector-import.md +5 -5
- package/dist/docs/reference/geometry/circleContour.md +1 -1
- package/dist/docs/reference/geometry/closeToAxis.md +4 -4
- package/dist/docs/reference/geometry/compensateThreadDiameters.md +1 -1
- package/dist/docs/reference/geometry/compensateThreadProfileAxially.md +5 -5
- package/dist/docs/reference/geometry/compensateThreadProfileForFaceting.md +5 -5
- package/dist/docs/reference/geometry/composeTransform3.md +10 -6
- package/dist/docs/reference/geometry/computeClosedParallelTransportFrames.md +10 -6
- package/dist/docs/reference/geometry/computeParallelTransportFrames.md +8 -7
- package/dist/docs/reference/geometry/computeTriangleMeshCentroid.md +4 -4
- package/dist/docs/reference/geometry/{createTriangleMeshSignature.md → computeTriangleMeshSignature.md} +4 -4
- package/dist/docs/reference/geometry/containsBounds.md +1 -1
- package/dist/docs/reference/geometry/contourContainsPoint.md +4 -4
- package/dist/docs/reference/geometry/cross2.md +36 -0
- package/dist/docs/reference/geometry/cross3.md +10 -6
- package/dist/docs/reference/geometry/cylinderAnchor3.md +10 -6
- package/dist/docs/reference/geometry/defaultGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/distance2.md +36 -0
- package/dist/docs/reference/geometry/distance3.md +36 -0
- package/dist/docs/reference/geometry/distributeAlongPath.md +8 -6
- package/dist/docs/reference/geometry/dot2.md +36 -0
- package/dist/docs/reference/geometry/dot3.md +9 -5
- package/dist/docs/reference/geometry/ellipseContour.md +1 -1
- package/dist/docs/reference/geometry/eulerTransform3.md +10 -6
- package/dist/docs/reference/geometry/extrudeMesh.md +8 -8
- package/dist/docs/reference/geometry/fitBounds.md +1 -1
- package/dist/docs/reference/geometry/fitTextLayout.md +1 -1
- package/dist/docs/reference/geometry/frameTransform3.md +8 -4
- package/dist/docs/reference/geometry/{getMetricClearanceHole.md → getMetricClearanceHoleDiameter.md} +3 -3
- package/dist/docs/reference/geometry/getMetricFastenerStandard.md +1 -1
- package/dist/docs/reference/geometry/gridPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/heightfieldMesh.md +1 -1
- package/dist/docs/reference/geometry/{buildHelicalThreadRidgeMesh.md → helicalThreadRidgeMesh.md} +5 -5
- package/dist/docs/reference/geometry/{buildHelicalThreadSolidMesh.md → helicalThreadSolidMesh.md} +5 -5
- package/dist/docs/reference/geometry/inverseTransform3.md +9 -5
- package/dist/docs/reference/geometry/isGeometryError.md +1 -1
- package/dist/docs/reference/geometry/joinTriangleMeshes.md +1 -1
- package/dist/docs/reference/geometry/layoutRow.md +4 -4
- package/dist/docs/reference/geometry/length2.md +30 -0
- package/dist/docs/reference/geometry/length3.md +8 -4
- package/dist/docs/reference/geometry/lerp2.md +42 -0
- package/dist/docs/reference/geometry/lerp3.md +10 -6
- package/dist/docs/reference/geometry/linearPatternTransforms.md +5 -5
- package/dist/docs/reference/geometry/loftMesh.md +2 -1
- package/dist/docs/reference/geometry/matchProfiles.md +1 -1
- package/dist/docs/reference/geometry/measureInternalCylindricalGearPairMotion.md +3 -2
- package/dist/docs/reference/geometry/meshBounds.md +1 -1
- package/dist/docs/reference/geometry/minimumCylindricalGearToothCountWithoutUndercut.md +3 -3
- package/dist/docs/reference/geometry/normalize2.md +36 -0
- package/dist/docs/reference/geometry/normalize3.md +10 -6
- package/dist/docs/reference/geometry/normalizeContour.md +4 -4
- package/dist/docs/reference/geometry/normalizePolygon.md +5 -5
- package/dist/docs/reference/geometry/normalizeRegion.md +5 -5
- package/dist/docs/reference/geometry/optimizePlanarPatches.md +11 -11
- package/dist/docs/reference/geometry/path2.md +42 -0
- package/dist/docs/reference/geometry/path3.md +42 -0
- package/dist/docs/reference/geometry/pathPatternTransforms.md +8 -8
- package/dist/docs/reference/geometry/preflightHeightfield.md +1 -1
- package/dist/docs/reference/geometry/preflightHelicalThreadSolidMesh.md +3 -3
- package/dist/docs/reference/geometry/preflightInternalThreadCutter.md +3 -3
- package/dist/docs/reference/geometry/preflightSvgRegion.md +1 -1
- package/dist/docs/reference/geometry/preflightThreadedNut.md +3 -3
- package/dist/docs/reference/geometry/preflightThreadedRod.md +3 -3
- package/dist/docs/reference/geometry/projectOntoPlane3.md +10 -6
- package/dist/docs/reference/geometry/radialPatternTransforms.md +4 -20
- package/dist/docs/reference/geometry/rectangleContour.md +2 -2
- package/dist/docs/reference/geometry/rectangleProfile.md +2 -2
- package/dist/docs/reference/geometry/regionArea.md +4 -4
- package/dist/docs/reference/geometry/regionBounds.md +4 -4
- package/dist/docs/reference/geometry/regularPolygonContour.md +5 -5
- package/dist/docs/reference/geometry/resamplePolyline2.md +5 -5
- package/dist/docs/reference/geometry/resamplePolyline3.md +5 -5
- package/dist/docs/reference/geometry/resolveAlignedCircularSegments.md +8 -4
- package/dist/docs/reference/geometry/resolveArcSegments.md +6 -6
- package/dist/docs/reference/geometry/resolveCircularSegments.md +6 -5
- package/dist/docs/reference/geometry/resolveCylindricalGear.md +1 -1
- package/dist/docs/reference/geometry/resolveCylindricalGearPair.md +1 -1
- package/dist/docs/reference/geometry/resolveExtrusionDivisions.md +6 -6
- package/dist/docs/reference/geometry/resolveGeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/geometry/resolveGeometryTolerance.md +1 -1
- package/dist/docs/reference/geometry/resolvePrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/geometry/resolveRackPitch.md +1 -1
- package/dist/docs/reference/geometry/resolveThreadCircularSegments.md +4 -4
- package/dist/docs/reference/geometry/reverseTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/revolveMesh.md +10 -10
- package/dist/docs/reference/geometry/rotate2.md +36 -0
- package/dist/docs/reference/geometry/rotationTransform3.md +10 -6
- package/dist/docs/reference/geometry/roundClosedPolylinePath.md +8 -6
- package/dist/docs/reference/geometry/sampleContour.md +3 -3
- package/dist/docs/reference/geometry/sampleCurve2.md +3 -3
- package/dist/docs/reference/geometry/sampleCurve3.md +2 -2
- package/dist/docs/reference/geometry/sampleCylindricalGearOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleHelix.md +5 -5
- package/dist/docs/reference/geometry/sampleInternalCylindricalGearSpaceOutline.md +1 -1
- package/dist/docs/reference/geometry/sampleRackToothPath.md +4 -4
- package/dist/docs/reference/geometry/sampleSideProfile.md +6 -6
- package/dist/docs/reference/geometry/sampleTextContours.md +1 -1
- package/dist/docs/reference/geometry/sampleThreadHelices.md +2 -2
- package/dist/docs/reference/geometry/scale2.md +36 -0
- package/dist/docs/reference/geometry/scale3.md +9 -5
- package/dist/docs/reference/geometry/scaleTransform3.md +10 -6
- package/dist/docs/reference/geometry/signedContourArea.md +1 -1
- package/dist/docs/reference/geometry/starContour.md +4 -4
- package/dist/docs/reference/geometry/strokeRegionData.md +63 -0
- package/dist/docs/reference/geometry/subtract2.md +36 -0
- package/dist/docs/reference/geometry/subtract3.md +10 -6
- package/dist/docs/reference/geometry/sweepMesh.md +9 -9
- package/dist/docs/reference/geometry/{createThreadProfile.md → threadProfile.md} +6 -6
- package/dist/docs/reference/geometry/transform2.md +38 -0
- package/dist/docs/reference/geometry/transform3.md +38 -0
- package/dist/docs/reference/geometry/transformDeterminant3.md +8 -4
- package/dist/docs/reference/geometry/transformRegionData.md +40 -0
- package/dist/docs/reference/geometry/transformTriangleMesh.md +6 -6
- package/dist/docs/reference/geometry/translationTransform3.md +10 -6
- package/dist/docs/reference/geometry/triangulateContour.md +1 -1
- package/dist/docs/reference/geometry/validateSolidMesh.md +2 -2
- package/dist/docs/reference/geometry/validateTransform3.md +9 -5
- package/dist/docs/reference/geometry/validateTriangleMesh.md +1 -1
- package/dist/docs/reference/geometry/vector2.md +31 -0
- package/dist/docs/reference/geometry/vector3.md +38 -0
- package/dist/docs/reference/geometry.md +3 -3
- package/dist/docs/reference/model/Anchor3.md +5 -5
- package/dist/docs/reference/model/AttachOptions.md +10 -5
- package/dist/docs/reference/model/Bounds2.md +4 -4
- package/dist/docs/reference/model/Bounds3.md +4 -4
- package/dist/docs/reference/model/BoxEdge.md +1 -1
- package/dist/docs/reference/model/BoxEdgeSelection.md +1 -1
- package/dist/docs/reference/model/BoxEdgeTreatments.md +1 -1
- package/dist/docs/reference/model/BoxOptions.md +10 -10
- package/dist/docs/reference/model/ChamferedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/CircleContourOptions.md +1 -1
- package/dist/docs/reference/model/CircleOptions.md +3 -3
- package/dist/docs/reference/model/CircularPrimitiveOptions.md +1 -1
- package/dist/docs/reference/model/Computed.md +1 -1
- package/dist/docs/reference/model/ComputedValue.md +1 -1
- package/dist/docs/reference/model/Contour.md +3 -3
- package/dist/docs/reference/model/CorrespondingComponent.md +1 -1
- package/dist/docs/reference/model/CorrespondingContour.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfile.md +1 -1
- package/dist/docs/reference/model/CorrespondingProfileStation.md +1 -1
- package/dist/docs/reference/model/CylinderOptions.md +3 -3
- package/dist/docs/reference/model/DiagnosticOptions.md +1 -1
- package/dist/docs/reference/model/EdgeTreatment.md +1 -1
- package/dist/docs/reference/model/EllipseContourOptions.md +3 -3
- package/dist/docs/reference/model/EllipseOptions.md +3 -3
- package/dist/docs/reference/model/EndTreatments.md +1 -1
- package/dist/docs/reference/model/ExtrudeOptions.md +6 -6
- package/dist/docs/reference/model/FinalizedModel.md +18 -8
- package/dist/docs/reference/model/FinalizedPart.md +1 -1
- package/dist/docs/reference/model/Frame3.md +6 -6
- package/dist/docs/reference/model/GenerateCallback.md +1 -1
- package/dist/docs/reference/model/GenerateContext.md +5 -5
- package/dist/docs/reference/model/GeneratedPart.md +6 -6
- package/dist/docs/reference/model/GenerationDiagnostic.md +1 -1
- package/dist/docs/reference/model/GenerationError.md +1 -1
- package/dist/docs/reference/model/GeometryResolution.md +5 -5
- package/dist/docs/reference/model/GeometrySamplingLimits.md +1 -1
- package/dist/docs/reference/model/GeometryToleranceOptions.md +1 -1
- package/dist/docs/reference/model/GridPatternOptions.md +11 -5
- package/dist/docs/reference/model/HeightfieldOptions.md +5 -5
- package/dist/docs/reference/model/HelicalThreadRidgeMeshOptions.md +3 -3
- package/dist/docs/reference/model/HelicalThreadSolidMeshPreflight.md +1 -1
- package/dist/docs/reference/model/HullOptions.md +7 -7
- package/dist/docs/reference/model/ImmutableBuffer-type.md +1 -1
- package/dist/docs/reference/model/ImmutableTriangleMesh.md +1 -1
- package/dist/docs/reference/model/ImplicitOptions.md +4 -4
- package/dist/docs/reference/model/InternalThreadCutterOptions.md +4 -4
- package/dist/docs/reference/model/LinearPatternOptions.md +12 -5
- package/dist/docs/reference/model/LoftCorrespondence.md +1 -1
- package/dist/docs/reference/model/LoftOptions.md +1 -1
- package/dist/docs/reference/model/LoftPlacement.md +1 -1
- package/dist/docs/reference/model/LoftStation.md +4 -4
- package/dist/docs/reference/model/MatchProfilesOptions.md +1 -1
- package/dist/docs/reference/model/ModelProgram.md +1 -1
- package/dist/docs/reference/model/ModelingLimits.md +1 -1
- package/dist/docs/reference/model/NumericArray.md +1 -1
- package/dist/docs/reference/model/PartGeometry.md +1 -1
- package/dist/docs/reference/model/PartOptions.md +6 -6
- package/dist/docs/reference/model/Path2-type.md +192 -0
- package/dist/docs/reference/model/Path2Data.md +14 -0
- package/dist/docs/reference/model/Path2Input.md +15 -0
- package/dist/docs/reference/model/Path3-type.md +192 -0
- package/dist/docs/reference/model/Path3Data.md +14 -0
- package/dist/docs/reference/model/Path3Input.md +15 -0
- package/dist/docs/reference/model/PathLocation.md +65 -0
- package/dist/docs/reference/model/PathNormalGuide.md +6 -5
- package/dist/docs/reference/model/PathOptions.md +34 -0
- package/dist/docs/reference/model/PathPatternOptions.md +3 -3
- package/dist/docs/reference/model/PathResamplingOptions.md +79 -0
- package/dist/docs/reference/model/PatternSource.md +2 -2
- package/dist/docs/reference/model/Pivot2Options.md +27 -0
- package/dist/docs/reference/model/Pivot3Options.md +27 -0
- package/dist/docs/reference/model/PlaneOptions.md +3 -3
- package/dist/docs/reference/model/{Polygon-type.md → PolygonData.md} +2 -2
- package/dist/docs/reference/model/PolygonOptions.md +85 -8
- package/dist/docs/reference/model/{PrimitivePlacement.md → PrimitiveAttachment.md} +7 -7
- package/dist/docs/reference/model/{PrimitivePlacementOptions.md → PrimitiveAttachmentOptions.md} +41 -20
- package/dist/docs/reference/model/PrintableThreadFit.md +1 -1
- package/dist/docs/reference/model/PrintableThreadFitPolicy.md +1 -1
- package/dist/docs/reference/model/Profile.md +1 -1
- package/dist/docs/reference/model/ProfileComponent2.md +1 -1
- package/dist/docs/reference/model/ProfileContour2.md +1 -1
- package/dist/docs/reference/model/ProfileSpan2.md +3 -3
- package/dist/docs/reference/model/ProfiledEdgeTreatment.md +3 -3
- package/dist/docs/reference/model/RadialPatternOptions.md +17 -22
- package/dist/docs/reference/model/RadialSizing.md +1 -1
- package/dist/docs/reference/model/RadialSizingOptions.md +1 -1
- package/dist/docs/reference/model/RectangleContourOptions.md +3 -3
- package/dist/docs/reference/model/RectangleCornerTreatment.md +1 -1
- package/dist/docs/reference/model/RectangleCornerTreatments.md +1 -1
- package/dist/docs/reference/model/RectangleOptions.md +10 -10
- package/dist/docs/reference/model/{Region.md → RegionData.md} +4 -4
- package/dist/docs/reference/model/RegularPolygonOptions.md +5 -5
- package/dist/docs/reference/model/RevolveOptions.md +9 -4
- package/dist/docs/reference/model/RoundedEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Section.md +81 -40
- package/dist/docs/reference/model/SectionHullOptions.md +7 -7
- package/dist/docs/reference/model/SectionInspection.md +10 -10
- package/dist/docs/reference/model/{RegionOffsetJoin.md → SectionOffsetJoin.md} +3 -3
- package/dist/docs/reference/model/{RegionOffsetOptions.md → SectionOffsetOptions.md} +4 -4
- package/dist/docs/reference/model/SmoothEdgeTreatment.md +1 -1
- package/dist/docs/reference/model/Solid.md +66 -26
- package/dist/docs/reference/model/SolidInspection.md +7 -7
- package/dist/docs/reference/model/{SolidRayHit.md → SolidSegmentHit.md} +6 -6
- package/dist/docs/reference/model/SphereOptions.md +3 -3
- package/dist/docs/reference/model/StarOptions.md +10 -10
- package/dist/docs/reference/model/StrokeCap.md +16 -0
- package/dist/docs/reference/model/StrokeJoin.md +16 -0
- package/dist/docs/reference/model/StrokeOptions.md +91 -0
- package/dist/docs/reference/model/SvgOrigin.md +1 -1
- package/dist/docs/reference/model/SvgPathSectionOptions.md +1 -1
- package/dist/docs/reference/model/SvgSectionOptions.md +1 -1
- package/dist/docs/reference/model/SweepOptions.md +6 -6
- package/dist/docs/reference/model/SweepOrientation.md +7 -7
- package/dist/docs/reference/model/TextSectionOptions.md +1 -1
- package/dist/docs/reference/model/ThreadEndStyle.md +1 -1
- package/dist/docs/reference/model/ThreadEndTreatmentOptions.md +1 -1
- package/dist/docs/reference/model/ThreadHandedness.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInEnvelope.md +1 -1
- package/dist/docs/reference/model/ThreadLeadInShape.md +1 -1
- package/dist/docs/reference/model/ThreadProfile.md +3 -3
- package/dist/docs/reference/model/ThreadRidgeOptions.md +1 -1
- package/dist/docs/reference/model/ThreadedNutBevel.md +1 -1
- package/dist/docs/reference/model/ThreadedNutOptions.md +4 -4
- package/dist/docs/reference/model/ThreadedNutPreflight.md +1 -1
- package/dist/docs/reference/model/ThreadedNutShape.md +1 -1
- package/dist/docs/reference/model/ThreadedRodOptions.md +4 -4
- package/dist/docs/reference/model/TorusOptions.md +8 -8
- package/dist/docs/reference/model/Transform2-type.md +256 -0
- package/dist/docs/reference/model/Transform2Input.md +20 -0
- package/dist/docs/reference/model/Transform2Matrix.md +15 -0
- package/dist/docs/reference/model/Transform3-type.md +296 -0
- package/dist/docs/reference/model/Transform3Input.md +20 -0
- package/dist/docs/reference/model/{Transform3.md → Transform3Matrix.md} +3 -3
- package/dist/docs/reference/model/TriangleMesh.md +1 -1
- package/dist/docs/reference/model/TriangleMeshAnalysis.md +2 -2
- package/dist/docs/reference/model/TriangleMeshMeasurements.md +1 -1
- package/dist/docs/reference/model/TubeOptions.md +8 -8
- package/dist/docs/reference/model/Vector2-type.md +270 -0
- package/dist/docs/reference/model/Vector2Input.md +20 -0
- package/dist/docs/reference/model/{Vector2.md → Vector2Tuple.md} +3 -3
- package/dist/docs/reference/model/Vector3-type.md +282 -0
- package/dist/docs/reference/model/Vector3Input.md +20 -0
- package/dist/docs/reference/model/{Vector3.md → Vector3Tuple.md} +3 -3
- package/dist/docs/reference/model/VectorTextLayout.md +1 -1
- package/dist/docs/reference/model/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/model/anchor.md +1 -1
- package/dist/docs/reference/model/box.md +4 -4
- package/dist/docs/reference/model/castSegment.md +40 -0
- package/dist/docs/reference/model/categories/boolean-operations.md +4 -4
- package/dist/docs/reference/model/categories/bounded-surfaces.md +3 -3
- package/dist/docs/reference/model/categories/contracts.md +2 -2
- package/dist/docs/reference/model/categories/core-values-errors.md +5 -5
- package/dist/docs/reference/model/categories/explicit-profiles.md +3 -3
- package/dist/docs/reference/model/categories/extrude-revolve-sweep.md +2 -2
- package/dist/docs/reference/model/categories/generation.md +1 -1
- package/dist/docs/reference/model/categories/inspection.md +7 -8
- package/dist/docs/reference/model/categories/mesh-inspection.md +2 -2
- package/dist/docs/reference/model/categories/paths.md +33 -0
- package/dist/docs/reference/model/categories/primitives.md +3 -3
- package/dist/docs/reference/model/categories/resolution.md +2 -2
- package/dist/docs/reference/model/categories/sections.md +10 -8
- package/dist/docs/reference/model/categories/threads.md +5 -5
- package/dist/docs/reference/model/categories/transforms-placement.md +27 -13
- package/dist/docs/reference/model/circle.md +1 -1
- package/dist/docs/reference/model/components.md +10 -7
- package/dist/docs/reference/model/compose.md +1 -1
- package/dist/docs/reference/model/cylinder.md +1 -1
- package/dist/docs/reference/model/distance.md +2 -2
- package/dist/docs/reference/model/ellipse.md +1 -1
- package/dist/docs/reference/model/extrude.md +3 -3
- package/dist/docs/reference/model/generate.md +1 -1
- package/dist/docs/reference/model/gridPattern.md +4 -4
- package/dist/docs/reference/model/heightfield.md +2 -2
- package/dist/docs/reference/model/hull.md +2 -2
- package/dist/docs/reference/model/immutableBuffer.md +1 -1
- package/dist/docs/reference/model/immutableMesh.md +1 -1
- package/dist/docs/reference/model/implicit.md +3 -3
- package/dist/docs/reference/model/inspectSection.md +1 -1
- package/dist/docs/reference/model/inspectSolid.md +1 -1
- package/dist/docs/reference/model/internalThreadCutter.md +4 -4
- package/dist/docs/reference/model/intersect.md +1 -1
- package/dist/docs/reference/model/isEmpty.md +2 -2
- package/dist/docs/reference/model/linearPattern.md +4 -4
- package/dist/docs/reference/model/loft.md +1 -1
- package/dist/docs/reference/model/matchProfiles.md +2 -2
- package/dist/docs/reference/model/minkowskiSum.md +1 -1
- package/dist/docs/reference/model/path2.md +42 -0
- package/dist/docs/reference/model/path3.md +42 -0
- package/dist/docs/reference/model/pathPattern.md +13 -12
- package/dist/docs/reference/model/polygon.md +4 -4
- package/dist/docs/reference/model/preflightInternalThreadCutter.md +3 -3
- package/dist/docs/reference/model/preflightThreadedNut.md +3 -3
- package/dist/docs/reference/model/preflightThreadedRod.md +3 -3
- package/dist/docs/reference/model/radialPattern.md +5 -37
- package/dist/docs/reference/model/rectangle.md +4 -4
- package/dist/docs/reference/model/regularPolygon.md +1 -1
- package/dist/docs/reference/model/revolve.md +5 -4
- package/dist/docs/reference/model/solidFromMesh.md +1 -1
- package/dist/docs/reference/model/sphere.md +1 -1
- package/dist/docs/reference/model/split.md +1 -1
- package/dist/docs/reference/model/splitByPlane.md +1 -1
- package/dist/docs/reference/model/star.md +4 -4
- package/dist/docs/reference/model/stroke.md +74 -0
- package/dist/docs/reference/model/svgPathSection.md +1 -1
- package/dist/docs/reference/model/svgSection.md +1 -1
- package/dist/docs/reference/model/sweep.md +7 -7
- package/dist/docs/reference/model/textSection.md +1 -1
- package/dist/docs/reference/model/threadRidge.md +2 -2
- package/dist/docs/reference/model/threadedNut.md +4 -4
- package/dist/docs/reference/model/threadedRod.md +4 -4
- package/dist/docs/reference/model/torus.md +3 -3
- package/dist/docs/reference/model/transform2.md +39 -0
- package/dist/docs/reference/model/transform3.md +39 -0
- package/dist/docs/reference/model/tube.md +3 -3
- package/dist/docs/reference/model/union.md +1 -1
- package/dist/docs/reference/model/vector2.md +32 -0
- package/dist/docs/reference/model/vector3.md +39 -0
- package/dist/docs/reference/model.md +9 -8
- package/dist/docs/reference/text/Bounds2.md +4 -4
- package/dist/docs/reference/text/MAX_VECTOR_FONT_BYTES.md +1 -1
- package/dist/docs/reference/text/Vector2Tuple.md +7 -0
- package/dist/docs/reference/text/VectorFont.md +2 -2
- package/dist/docs/reference/text/VectorFontOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextArcBaseline.md +3 -3
- package/dist/docs/reference/text/VectorTextLayout.md +1 -1
- package/dist/docs/reference/text/VectorTextLayoutOptions.md +1 -1
- package/dist/docs/reference/text/VectorTextMetrics.md +1 -1
- package/dist/docs/reference/text/VectorTextOptions.md +1 -1
- package/dist/docs/reference/text/categories/font-preparation.md +4 -4
- package/dist/docs/reference/text/prepareVectorFont.md +2 -2
- package/dist/docs/reference/text.md +1 -1
- package/dist/engine/construction-operations.js +31 -14
- package/dist/engine/deferred-context.js +11 -181
- package/dist/engine/execution.js +39 -8
- package/dist/engine/extrusion-finishing.js +1 -1
- package/dist/engine/index.js +6 -1
- package/dist/engine/inspection-operations.js +13 -11
- package/dist/engine/loft-operations.js +35 -14
- package/dist/engine/model-summary.js +8 -5
- package/dist/engine/native/material-components.js +305 -0
- package/dist/engine/native/regions.js +2 -1
- package/dist/engine/native/threads.js +3 -3
- package/dist/engine/native/transforms.js +11 -8
- package/dist/engine/operation-environment.js +2 -2
- package/dist/engine/pattern-operations.js +3 -3
- package/dist/engine/placement.js +2 -2
- package/dist/engine/primitive-anchors.js +17 -17
- package/dist/engine/primitive-operations.js +1 -1
- package/dist/engine/primitive-profiles.js +8 -7
- package/dist/engine/profile-mesh.js +7 -7
- package/dist/engine/recipe-realization.js +35 -21
- package/dist/engine/section-operations.js +52 -11
- package/dist/engine/session-graph.js +1 -1
- package/dist/engine/session-native.js +1 -1
- package/dist/engine/session-snapshot.js +17 -6
- package/dist/engine/session.js +13 -8
- package/dist/engine/shape-anchors.js +5 -11
- package/dist/engine/transform-operations.js +66 -49
- package/dist/geometry/anchors.js +40 -33
- package/dist/geometry/curves/sampling.js +14 -14
- package/dist/geometry/edge-finishing.js +1 -1
- package/dist/geometry/extrusion.js +13 -16
- package/dist/geometry/index.js +13 -10
- package/dist/geometry/loft/loft-simple-mesh.js +6 -6
- package/dist/geometry/loft/loft.js +22 -13
- package/dist/geometry/math/immutable-value.js +20 -0
- package/dist/geometry/math/vector-value.js +168 -0
- package/dist/geometry/math/vector2.js +80 -0
- package/dist/geometry/math/vector3.js +37 -7
- package/dist/geometry/mechanical/gear-motion.js +8 -5
- package/dist/geometry/mechanical/gears.js +38 -38
- package/dist/geometry/mechanical/index.js +3 -3
- package/dist/geometry/mechanical/standards.js +1 -1
- package/dist/geometry/mechanical/thread-helices.js +2 -3
- package/dist/geometry/mechanical/thread-mesh-plan.js +4 -5
- package/dist/geometry/mechanical/thread-mesh.js +7 -7
- package/dist/geometry/mechanical/thread-profiles.js +5 -5
- package/dist/geometry/mechanical/thread-solids.js +2 -2
- package/dist/geometry/mechanical/thread-surface.js +1 -1
- package/dist/geometry/mechanical/threads.js +8 -8
- package/dist/geometry/mesh/mesh-planar.js +25 -27
- package/dist/geometry/mesh/mesh-quality.js +5 -5
- package/dist/geometry/mesh/mesh-signature.js +13 -13
- package/dist/geometry/mesh/mesh-solid-intersections.js +5 -1
- package/dist/geometry/mesh/mesh-solid.js +7 -7
- package/dist/geometry/mesh/mesh.js +4 -15
- package/dist/geometry/paths/closest-point.js +63 -0
- package/dist/geometry/paths/frames.js +44 -14
- package/dist/geometry/paths/helix.js +16 -6
- package/dist/geometry/paths/path-value.js +252 -0
- package/dist/geometry/paths/planar.js +36 -23
- package/dist/geometry/paths/resampling.js +27 -5
- package/dist/geometry/patterns/placements.js +100 -27
- package/dist/geometry/patterns.js +2 -2
- package/dist/geometry/polygon-clipping.js +17 -0
- package/dist/geometry/primitive-resolution.js +4 -1
- package/dist/geometry/profiles/contour.js +6 -6
- package/dist/geometry/profiles/matched.js +4 -4
- package/dist/geometry/profiles/profiles.js +4 -4
- package/dist/geometry/profiles/rectangle.js +4 -4
- package/dist/geometry/profiles/side-profile.js +7 -7
- package/dist/geometry/profiles/span-sampling.js +1 -1
- package/dist/geometry/resolution.js +51 -39
- package/dist/geometry/revolve/revolve-mesh.js +12 -7
- package/dist/geometry/stroke-path.js +57 -68
- package/dist/geometry/svg/fill.js +7 -21
- package/dist/geometry/svg-import.js +23 -23
- package/dist/geometry/sweeps/options.js +5 -4
- package/dist/geometry/sweeps/orientation.js +5 -5
- package/dist/geometry/sweeps/stations.js +14 -14
- package/dist/geometry/sweeps/sweep-closed.js +5 -5
- package/dist/geometry/sweeps/sweep-mesh.js +9 -3
- package/dist/geometry/sweeps/sweep-open.js +4 -4
- package/dist/geometry/sweeps/validation.js +4 -7
- package/dist/geometry/transform-chain.js +172 -0
- package/dist/geometry/transform-geometry.js +27 -30
- package/dist/geometry/transform-matrix.js +14 -0
- package/dist/geometry/transform2.js +60 -0
- package/dist/geometry/transform3.js +70 -26
- package/dist/index.js +4 -0
- package/dist/model/execution-binding.js +10 -5
- package/dist/model/geometry-recipes.js +15 -0
- package/dist/{engine → model}/immutable-generation-data.js +88 -6
- package/dist/model/operation-dispatch.js +10 -3
- package/dist/model/operations.js +45 -35
- package/dist/model/recipe-declaration.js +199 -0
- package/dist/model/shape-handles.js +17 -5
- package/dist/text/index.js +15 -9
- package/dist/text/vector-text-layout.js +31 -26
- package/package.json +1 -1
- package/dist/docs/reference/geometry/Path2.md +0 -14
- package/dist/docs/reference/geometry/Path3.md +0 -14
- package/dist/docs/reference/geometry/PrimitivePlacement.md +0 -31
- package/dist/docs/reference/geometry/PrimitivePlacementOptions.md +0 -83
- package/dist/docs/reference/geometry/Region.md +0 -14
- package/dist/docs/reference/geometry/StrokePathCap.md +0 -7
- package/dist/docs/reference/geometry/StrokePathJoin.md +0 -7
- package/dist/docs/reference/geometry/Transform3.md +0 -12
- package/dist/docs/reference/geometry/Vector2.md +0 -7
- package/dist/docs/reference/geometry/Vector3.md +0 -7
- package/dist/docs/reference/geometry/attachTransform.md +0 -73
- package/dist/docs/reference/geometry/cumulativePathLengths.md +0 -33
- package/dist/docs/reference/geometry/measureTriangleMesh.md +0 -55
- package/dist/docs/reference/geometry/pathLength.md +0 -33
- package/dist/docs/reference/geometry/rotateAroundAxis3.md +0 -38
- package/dist/docs/reference/geometry/strokePathRegion.md +0 -63
- package/dist/docs/reference/geometry/transformContour.md +0 -42
- package/dist/docs/reference/geometry/transformPath2.md +0 -40
- package/dist/docs/reference/geometry/transformPath3.md +0 -33
- package/dist/docs/reference/geometry/transformRegion.md +0 -40
- package/dist/docs/reference/model/Transform2.md +0 -15
- package/dist/docs/reference/model/fromRegion.md +0 -33
- package/dist/docs/reference/model/rayCast.md +0 -40
- package/dist/docs/reference/model/toRegion.md +0 -33
- package/dist/docs/reference/model/toTriangleMesh.md +0 -27
- package/dist/docs/reference/text/Vector2.md +0 -7
- package/dist/engine/geometry-recipes.js +0 -12
- package/dist/engine/pattern-transform.js +0 -9
- package/dist/geometry/paths/path.js +0 -32
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,60 @@
|
|
|
1
1
|
# @metamesh/modeling
|
|
2
2
|
|
|
3
|
+
## 0.15.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 25561f6: Consolidate sampled paths into immutable `path2` and `path3` values with explicit closure,
|
|
8
|
+
transformation, resampling, measurements, and closest-point queries. Geometry accepts paths and
|
|
9
|
+
fluent vector collections directly; tuple path data is named `Path2Data` and `Path3Data`.
|
|
10
|
+
Remove redundant public path query and transform helpers and move mesh observation to
|
|
11
|
+
`solid.toTriangleMesh()`. Runtime protocol 7 rejects incompatible older compiled generators.
|
|
12
|
+
|
|
13
|
+
Complete dimensional XY patterning and fluent geometry interoperability. Consolidate degree-based
|
|
14
|
+
attachment options under `AttachOptions` and primitive `attachment`, rename immutable tolerance
|
|
15
|
+
changes to `withTolerance`, and use `analyzeTriangleMesh` as the single mesh measurement operation.
|
|
16
|
+
Geometry and text validation report structured errors; host lifecycle and copying contracts are explicit.
|
|
17
|
+
|
|
18
|
+
Use concise value factories and semantic degree options, including `anchor3`, `threadProfile`,
|
|
19
|
+
attachment `spin`, full thread `includedAngle`, and revolution `degrees`. Segment intersections use
|
|
20
|
+
`castSegment`; stroke APIs share `StrokeOptions`, `StrokeCap`, and `StrokeJoin`. Engines accept a
|
|
21
|
+
fixed `wasmUrl`. Remove superseded public names and update included consumers.
|
|
22
|
+
|
|
23
|
+
Make `components()` return disconnected material with holes and enclosed cavities intact.
|
|
24
|
+
Inspection uses `componentCount`; snapshots use `partCount`, `vertexCount`, `triangleCount`, and
|
|
25
|
+
`byteCount`, preserving instance counts and shared-storage accounting.
|
|
26
|
+
|
|
27
|
+
Inspect zero-volume Boolean contacts without treating their native boundary remnants as
|
|
28
|
+
material components. Retain thin material pieces and inward cavity boundaries without a volume
|
|
29
|
+
tolerance cutoff.
|
|
30
|
+
|
|
31
|
+
Keep ordinary component inspection on a certified native fast path, reserving exact arithmetic
|
|
32
|
+
for ambiguous contact boundaries. Reuse captured generation-data metadata during cache retention,
|
|
33
|
+
and include retention, commit, and cleanup in total generation timing.
|
|
34
|
+
|
|
35
|
+
Preserve shared snapshot buffers and rigid placements in Testkit part assertions. Validate CLI
|
|
36
|
+
capture bounds by coordinates, independently of JSON property order.
|
|
37
|
+
|
|
38
|
+
Use concise input bounds such as `maxTriangles`, `maxVertices`, `minSegments`, and `maxSegments`,
|
|
39
|
+
including mesh-optimization work budgets. Remove the superseded long option spellings.
|
|
40
|
+
|
|
41
|
+
Refresh Testkit sessions when prepared services change, validate CLI callback results against the
|
|
42
|
+
installed Modeling contract, and reject conflicting buffers for one generated geometry identity
|
|
43
|
+
and revision. Correct closest-point projection when finite path edges have overflowing squared lengths.
|
|
44
|
+
|
|
45
|
+
## 0.14.0
|
|
46
|
+
|
|
47
|
+
### Minor Changes
|
|
48
|
+
|
|
49
|
+
- be565ad: Add native `stroke()` sections and pure `closestPointOnPath()` queries. Correct face-sized
|
|
50
|
+
circular sampling and odd-pinion internal gear motion. Native stroke uses the current runtime
|
|
51
|
+
contract so older hosts reject packages requiring the new operation before execution.
|
|
52
|
+
- bd33fb0: Add immutable `vector2`/`vector3` arithmetic and reusable `transform2`/`transform3` placements at the Modeling root and pure Geometry entry. Transform calls apply in written order with `andThen` composition, named world-space `{ pivot }` options, inversion and explicit XY/XYZ conversion. Points, directions and inverse-transpose unit normals have distinct application methods; each returns a fluent vector. Shapes and path helpers accept transforms directly. Tuple kernels remain available for numerical loops. Fluent class initialization supports tree shaking so consumers can omit unused value implementations.
|
|
53
|
+
|
|
54
|
+
Shape construction and composition now work without an initialized engine. Ordinary recipes are portable regardless of where constructed. Explicit resolution settings are captured; unspecified settings inherit the evaluating host's defaults. Native caches and computed readers remain session-owned. Observed `components()` selections and recipes using them can only be evaluated in their originating session. Geometry observations still require synchronous host execution. This changes the Modeling runtime protocol to version 6 and requires matching host and authored/package runtimes.
|
|
55
|
+
|
|
56
|
+
Breaking Preview changes: `Vector2`/`Vector3` and `Transform2`/`Transform3` name fluent values; raw data types are `Vector2Tuple`/`Vector3Tuple` and `Transform2Matrix`/`Transform3Matrix`. Rename filled serialized geometry to `RegionData`/`PolygonData`; use `polygon({ polygons: data })` and `section.toRegionData()` instead of `fromRegion`/`toRegion`. `transformRegionData` remains a low-level preparation utility. Planar helpers accept only XY transforms or canonical 3x3 matrices; crossing dimensions requires explicit `to2D`/`to3D`. Remove the public radians-only `rotateAroundAxis3` helper; modeling rotations use degrees, while raw `rotationTransform3` requires an explicit degrees or radians object. Vector normalization now uses structured geometry errors and validates epsilon.
|
|
57
|
+
|
|
3
58
|
## 0.13.0
|
|
4
59
|
|
|
5
60
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -43,16 +43,74 @@ try {
|
|
|
43
43
|
}
|
|
44
44
|
```
|
|
45
45
|
|
|
46
|
+
Use `path2(points, { closed })` or `path3(points)` for reusable sampled trajectories.
|
|
47
|
+
Paths own closure and chain `transform`, `reverse`, and `resample` immutably. `path.closestPoint(point)`
|
|
48
|
+
returns the nearest boundary position, distance, edge index, and fraction within that edge.
|
|
49
|
+
Use `stroke(path, { width, cap, join })` to fill a sampled XY path without conversion.
|
|
50
|
+
|
|
46
51
|
Generation is synchronous. Return a single `part(...)` or a readonly array of parts. Shape constructors
|
|
47
|
-
and methods create immutable recipes
|
|
48
|
-
|
|
52
|
+
and methods create immutable recipes without an engine. Ordinary recipes can be reused across
|
|
53
|
+
sessions regardless of where they were constructed. Explicit resolution settings are captured;
|
|
54
|
+
unspecified settings inherit the evaluating host's defaults. Observed `components()` selections
|
|
55
|
+
and recipes using them can only be evaluated in their originating session. The engine evaluates
|
|
56
|
+
recipes into a snapshot for rendering or export. Sessions own evaluated caches and native resources,
|
|
57
|
+
while snapshots remain usable after their session is disposed.
|
|
49
58
|
Dispose both when finished. Export uses the captured geometry without running the model again.
|
|
50
59
|
|
|
60
|
+
`components()` returns disconnected material pieces with their holes and enclosed cavities intact.
|
|
61
|
+
Inspection `componentCount` counts these pieces; snapshot `stats.partCount` counts declared output
|
|
62
|
+
parts. Snapshot `stats.vertexCount` and `stats.triangleCount` count all instances, while
|
|
63
|
+
`stats.byteCount` counts shared backing storage once.
|
|
64
|
+
|
|
51
65
|
Lengths use millimetres and modeling rotations use degrees. Physical resolution controls curve
|
|
52
66
|
sampling for both preview and manufacturing output. See the
|
|
53
67
|
[hosting guide](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/docs/engine/hosting.mdx)
|
|
54
68
|
for browser WASM setup, resource limits, and lifecycle details.
|
|
55
69
|
|
|
70
|
+
## Reusable math and shapes
|
|
71
|
+
|
|
72
|
+
Use immutable fluent vectors, paths, and transforms for ordinary modeling. Chains apply in written order,
|
|
73
|
+
rotations use degrees, and an optional `pivot` is a fixed world-space point:
|
|
74
|
+
|
|
75
|
+
```ts
|
|
76
|
+
import { polygon, transform2, vector3 } from "@metamesh/modeling";
|
|
77
|
+
|
|
78
|
+
const placement = transform2()
|
|
79
|
+
.rotate(30, { pivot: [10, 5] })
|
|
80
|
+
.scale([2, 1])
|
|
81
|
+
.translate([20, 0]);
|
|
82
|
+
const body = polygon({
|
|
83
|
+
outer: [
|
|
84
|
+
[0, 0],
|
|
85
|
+
[20, 0],
|
|
86
|
+
[10, 10],
|
|
87
|
+
],
|
|
88
|
+
holes: [],
|
|
89
|
+
})
|
|
90
|
+
.transform(placement)
|
|
91
|
+
.extrude({ height: 8 });
|
|
92
|
+
const direction = vector3([1, 2, 3]).add([4, 0, 0]).normalize().scale(10);
|
|
93
|
+
const alignment = direction.dot([0, 0, 1]);
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Transforms apply separately to points, directions and normals with `applyPoint`, `applyDirection`
|
|
97
|
+
and `applyNormal`. `andThen` composes placements in execution order; `inverse` reverses them.
|
|
98
|
+
Use `toArray()` and `toMatrix()` for interchange. Tuple arithmetic kernels remain available in
|
|
99
|
+
`/geometry` for dense numerical loops.
|
|
100
|
+
|
|
101
|
+
Primitive `attachment` maps a local anchor to a target anchor using the same degree-based
|
|
102
|
+
`AttachOptions` as `solid.attach()`. Rotation references use `pivot`; immutable tolerance changes
|
|
103
|
+
use `solid.withTolerance(value)`. Final part `position` and `rotation` remain rigid placement data,
|
|
104
|
+
separate from reusable geometry.
|
|
105
|
+
|
|
106
|
+
`Section` is the filled 2D modeling value. Its serialized representation is `RegionData`;
|
|
107
|
+
`polygon({ polygons: data })` constructs a Section from it. `section.toRegionData()` and other
|
|
108
|
+
geometry observations need an active synchronous host execution.
|
|
109
|
+
`solid.toTriangleMesh()` follows the same observation rule and returns copied mesh buffers.
|
|
110
|
+
Closed `Path2` values describe traversal, not material; `polygon(path)` fills them and normalizes
|
|
111
|
+
winding. Path transforms preserve traversal under reflection. `toArray()` supplies frozen tuple
|
|
112
|
+
data for interchange; closure remains on the path value.
|
|
113
|
+
|
|
56
114
|
## Reuse unchanged work
|
|
57
115
|
|
|
58
116
|
Use optional `computed` values for expensive geometry or data. Keep ordinary arithmetic and part
|
|
@@ -75,19 +133,19 @@ covers dependency tracking, immutable data, cache verification, and part placeme
|
|
|
75
133
|
|
|
76
134
|
## API discovery and ownership
|
|
77
135
|
|
|
78
|
-
| Import | Use it for
|
|
79
|
-
| ------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
80
|
-
| [`@metamesh/modeling`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/model/index.mdx) |
|
|
81
|
-
| [`@metamesh/modeling/geometry`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/geometry/index.mdx) | Pure paths, profiles, meshes, and calculations
|
|
82
|
-
| [`@metamesh/modeling/engine`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/engine/index.mdx) | Sessions, snapshots, limits, and 3MF export
|
|
83
|
-
| [`@metamesh/modeling/text`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/text/index.mdx) | Optional font preparation and vector layouts
|
|
136
|
+
| Import | Use it for |
|
|
137
|
+
| ------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
|
|
138
|
+
| [`@metamesh/modeling`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/model/index.mdx) | Immutable shapes, vectors, paths, transforms, and modeling operations |
|
|
139
|
+
| [`@metamesh/modeling/geometry`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/geometry/index.mdx) | Pure paths, profiles, meshes, and calculations |
|
|
140
|
+
| [`@metamesh/modeling/engine`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/engine/index.mdx) | Sessions, snapshots, limits, and 3MF export |
|
|
141
|
+
| [`@metamesh/modeling/text`](https://github.com/JasonKoolman/metamesh/blob/main/apps/web/content/reference/generated/text/index.mdx) | Optional font preparation and vector layouts |
|
|
84
142
|
|
|
85
143
|
## Documentation
|
|
86
144
|
|
|
87
145
|
The installed package exposes `@metamesh/modeling/docs/manifest.json`: an exact-version index of
|
|
88
146
|
plain Markdown guides and every public API symbol. Resolve that export from your project to find
|
|
89
147
|
the documentation beside your installed release. Its paths are relative to the manifest.
|
|
90
|
-
With
|
|
148
|
+
With `@metamesh/cli` installed, use `pnpm exec metamesh docs search "your topic"` and
|
|
91
149
|
`pnpm exec metamesh docs show DOCUMENT_ID` for bounded offline lookup. Start with
|
|
92
150
|
`modeling/guide/concepts` and `modeling/guide/hosting` when choosing an execution environment.
|
|
93
151
|
|
package/dist/api/engine.d.ts
CHANGED
|
@@ -6,7 +6,7 @@ import type {
|
|
|
6
6
|
GeometryResolution,
|
|
7
7
|
ModelingLimits,
|
|
8
8
|
ModelProgram,
|
|
9
|
-
|
|
9
|
+
Vector3Tuple,
|
|
10
10
|
} from "@metamesh/modeling";
|
|
11
11
|
/** Default host resource ceilings for parts, vertices, triangles, and transferable bytes. */
|
|
12
12
|
declare const defaultModelingLimits: Readonly<ModelingLimits>;
|
|
@@ -70,14 +70,18 @@ export interface GeometryResource extends TriangleMesh {
|
|
|
70
70
|
/** Facts for the exact local manufacturing buffers. */
|
|
71
71
|
readonly measurements: FinalizedPart["measurements"];
|
|
72
72
|
}
|
|
73
|
-
/**
|
|
73
|
+
/**
|
|
74
|
+
* A world-space manufacturing part plus its reusable local renderer resource.
|
|
75
|
+
* Each `positions` or `indices` read returns an owned buffer copy; retain that copy when
|
|
76
|
+
* traversing the mesh. Measurements and placement are immutable data and do not copy on access.
|
|
77
|
+
*/
|
|
74
78
|
export interface SnapshotPart extends FinalizedPart {
|
|
75
79
|
/** Validated geometry in local coordinates, independent of placement and appearance. */
|
|
76
80
|
readonly geometry: GeometryResource;
|
|
77
81
|
/** XYZ translation in millimetres after rotation. */
|
|
78
|
-
readonly position:
|
|
82
|
+
readonly position: Vector3Tuple;
|
|
79
83
|
/** Fixed global X, then Y, then Z rotation in degrees. */
|
|
80
|
-
readonly rotation:
|
|
84
|
+
readonly rotation: Vector3Tuple;
|
|
81
85
|
}
|
|
82
86
|
/** Captured immutable revision; disposal never changes another snapshot or an in-flight export. */
|
|
83
87
|
export interface ModelSnapshot extends FinalizedModel {
|
|
@@ -87,7 +91,10 @@ export interface ModelSnapshot extends FinalizedModel {
|
|
|
87
91
|
readonly diagnostics: readonly GenerationDiagnostic[];
|
|
88
92
|
/** Known dependency graph; outer reads remain conservative model-wide dependencies. */
|
|
89
93
|
readonly dependencies: ModelDependencies;
|
|
90
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* Releases this snapshot's geometry references and invalidates its parts, bounds and stats accessors.
|
|
96
|
+
* Idempotent. Diagnostics, dependencies and previously obtained parts remain usable.
|
|
97
|
+
*/
|
|
91
98
|
dispose(): void;
|
|
92
99
|
}
|
|
93
100
|
/** Known dependencies for inspection; plain JavaScript bindings do not reveal their parameter origin. */
|
|
@@ -144,8 +151,8 @@ export interface Export3mfOptions {
|
|
|
144
151
|
}
|
|
145
152
|
/** Kernel asset initialization. Networking and Worker ownership remain with the host. */
|
|
146
153
|
export interface ModelEngineOptions {
|
|
147
|
-
/**
|
|
148
|
-
readonly
|
|
154
|
+
/** Fixed kernel WASM asset URL; defaults to the package asset. Browser hosts supply their emitted URL. */
|
|
155
|
+
readonly wasmUrl?: string;
|
|
149
156
|
/** Trusted application ceilings. Builds may lower them; generators receive no engine. */
|
|
150
157
|
readonly limits?: Partial<ModelingLimits>;
|
|
151
158
|
}
|