Changelog for waterfall-cad-0.5.1.0
Changelog for waterfall-cad
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to the Haskell Package Versioning Policy.
Unreleased
0.5.1.0
Added
- Added
unions,intersections, and specialized mconcat forSolidto improve performance
0.5.0.1
Fixed
- direction of internal
edgeValuefunction, used by waterfall-cad-svg package
0.5.0.0
Added
- Add
splice/splice2D/splice3Dfunctions - Add
splitPath/splitPath3D/splitPath2Dfunctions - Add Epsilon constraint to
closeLoopfixing behaviour when endpoints are very close together - Add
matTransformandmatTransform2Dmethods to theTransformableandTransformable2Dtypeclasses, respectively - Add
shapePathstoWaterfall.TwoD.Shape
Changed
- Most functions in
Waterfall.Path.Commonnow have anEpsilonconstraint pathEndpoints/pathEndpoints3D/pathEndpoints2Dnow returns aMaybe(in case of an empty path)offsetnow no longer takes a toleranceoffsetWithToleranceis available if this is required
pointedLoftandloftnow no longer takes a precision argumentpointedLoftWithPrecisionis available if this is required
- Rename
fromPathtomakeShapeas I think this will result in more readable code
Fixed
- fixed behaviour when scaling with a unit vector (no scaling)
- fixed
Path/Path2Drepresentation, so that theMonoidinstancememptyvalue no longer generates crashes
0.4.0.0
- Add
Waterfall.LoftcontainingloftandpointedLoft - Change the
Monoidinstance forPathandPath2D, so that in the expressiona <> ba line is added between the end ofaand the start ofb, unless these points are coincident. - Reverse the order in which Path.pathFrom adds path segments; required by the new Monoid behaviour.
- Add
Waterfall.Path.Common.reversePath, reversing the direction of aPathorPath2D, along with monomorphised versionsreversePath3DandreversePath2D - Fix order of rotation of
Waterfall.TwoD.Path2D.repeatLooping
0.3.0.1
Added
- Add
pathEndpoints,pathEndpoints2DandpathEndpoints3D
0.3.0.0
Changed
- The project now depends on (and supports) OpenCascade
7.8.0or later
0.2.2.1
Fixed
- Importing files that contain multiple separate solids should no longer error
0.2.2.0
Added
- New functions in
Waterfall.IO- Support for reading (as well as writing) all file formats
readSTL,readSTEP,readGLTF,readGLB,readOBJ
- (Wavefront) OBJ support (
writeOBJ) - Convenience methods
readSolidandwriteSolidinferring the format from the file extension
- Support for reading (as well as writing) all file formats
Changed
- Make error handling for actions in
Waterfall.Textthrow aWaterfallIOExceptionon failure
0.2.1.0
Added
- GLTF (graphics library transmission format) support:
writeGLTFandwriteGLBinWaterfall.IO - obj file format support
writeOBJinWaterfall.IO
0.2.0.0
Added
- the following
volume,momentOfInertiaandcenterOfMassqueries inWaterfall.SolidsvolumemomentOfInertiacenterOfMass
aabbToSolidtoWaterfall.Solids(converts the output ofaxisAlignedBoundingBoxinto a solid)Waterfall.BoundingBox.AxisAligned, for calculating (and reifying) an (axis aligned) bounding box of a solidWaterfall.BoundingBox.Oriented, for calculating (and reifying) an (oriented) bounding box of a solid
Changed
- Changed the representation of
Solid(and other Waterfall values) from a newtype wrapper toData.Acquireto a nakedPtr, with destructors called using Finalizers.- This means it's possible to support "queries", like calculating the volume of a Solid
- It also means there's some risk of exceptions being thrown when working with plain values, which wasn't present before
Waterfall.Text.fontFromPathandWaterfall.Text.fontFromSystemnow returnIOactions rather than embedding the action into the underlyingShape
Fixed
- Typo in documentation for
Waterfall.Solids.unitCone
0.1.2.2 - 2024-01-09
Fixed
- Fixed dependency versions
0.1.2.1 - 2024-01-09
Added
- Added
mirrortoTransformabletypeclass, andmirror2DtoTransformable2D - Added
fromPath2DtoWaterfall.Pathto make 2D paths into 3D ones. - Added
centeredCylinderandunitConetoWaterfall.Solids
Fixed
- Handle offsetting by zero (return the unmodified shape)
- Fix rotation of endcaps in a
sweep
0.1.1.1 - 2023-12-12
0.1.1.0 - 2023-12-12
Added
- Add Waterfall.Offset, offsetting an object by a certain amount
- Add
unitCircle,unitSquareandcenteredSquaretoWaterfall.TwoD.Shape
Fixed
- Correctly rotate and translate endcaps to the
Pathin asweep
0.1.0.0 - 2023-12-05
Added
- Reexported all modules under top level
Waterfallmodule - Refactored common code in
PathandPath2Dinto theAnyPathtypeclass - Added Waterfall.Text, containing text rendering functions
Fixed
- Fix build on MacOS (tested with the homebrew install of OpenCASCADE)