Skip to content

Commit

Permalink
Merge pull request #423 from sorki/release/0.4
Browse files Browse the repository at this point in the history
Release 0.4
  • Loading branch information
julialongtin authored Jun 12, 2022
2 parents c59d29f + 1c89d8d commit dac02b5
Show file tree
Hide file tree
Showing 3 changed files with 32 additions and 29 deletions.
51 changes: 27 additions & 24 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,43 +1,46 @@

# Version [next](https://github.com/colah/ImplicitCAD/compare/v0.3.0.0...master) (202Y-MM-DD)
# Version [0.4.0.0](https://github.com/Haskell-Things/ImplicitCAD/compare/v0.3.0.0...v0.4.0.0) (2022-06-06)

* Changelog started. Previous release was `0.3.0.1`.

* Haskell interface changes
* Added support for XY-scaling on `linear_extrude` [#269](https://github.com/colah/ImplicitCAD/pull/269)
* Added support for XY-scaling on `linear_extrude` [#269](https://github.com/Haskell-Things/ImplicitCAD/pull/269)
* `ExtrudeRM` scale type changes from `(Either ℝ (ℝ -> ℝ))` to `ExtrudeRMScale`
* Replaced the Rect primitives with SquareR and CubeR [#296](https://github.com/colah/ImplicitCAD/pull/296)
* Replaced the Rect primitives with SquareR and CubeR [#296](https://github.com/Haskell-Things/ImplicitCAD/pull/296)
* `squareR` and `cubeR` are now available
* Added support for mirroring objects around axis using `mirror` function [#300](https://github.com/colah/ImplicitCAD/pull/300)
* `differenceR` changes type to require mandatory shape to substract from [#294](https://github.com/colah/ImplicitCAD/pull/294)
* Added support for mirroring objects around axis using `mirror` function [#300](https://github.com/Haskell-Things/ImplicitCAD/pull/300)
* `differenceR` changes type to require mandatory shape to substract from [#294](https://github.com/Haskell-Things/ImplicitCAD/pull/294)
* from `Object obj vec => R -> [obj] -> obj`
* to `Object obj vec => R -> obj -> [obj] -> obj`
* Both `SymbolicObj2` and `SymbolicObj3` now have `Semigroup` and `Monoid` instances, where `<>` acts as `union` [#301](https://github.com/colah/ImplicitCAD/pull/301)
* Added `rotateQ` function for rotating with Quaternions [#314][https://github.com/colah/ImplicitCAD/pull/314]
* `ℝ2` and `ℝ3` are now using `V2` and `V3` from `linear` instead of tuples [#342](https://github.com/colah/ImplicitCAD/pull/342)
* Rounding is now separate from primitives [#362](https://github.com/colah/ImplicitCAD/pull/362)
* Both `SymbolicObj2` and `SymbolicObj3` now have `Semigroup` and `Monoid` instances, where `<>` acts as `union` [#301](https://github.com/Haskell-Things/ImplicitCAD/pull/301)
* Added `rotateQ` function for rotating with Quaternions [#314][https://github.com/Haskell-Things/ImplicitCAD/pull/314]
* `ℝ2` and `ℝ3` are now using `V2` and `V3` from `linear` instead of tuples [#342](https://github.com/Haskell-Things/ImplicitCAD/pull/342)
* Rounding is now separate from primitives [#362](https://github.com/Haskell-Things/ImplicitCAD/pull/362)
* Introduces `withRounding` function.
* Instead of `primitiveR roundingValue ...` we now use `withRounding roundingValue (primitive ...)`
* Replaces `squareR`, `rectR`, `polygonR`, `cubeR`, `rect3R`, `extrudeR`, `extrudeRM` with versions
without rounding arugment (`square`, `rect`, ...).
* Removed `ExtrudeRotateR` [#365](https://github.com/colah/ImplicitCAD/pull/365)
* `rotateExtrude` now longer accepts rounding paramater [#367](https://github.com/colah/ImplicitCAD/pull/367)
* Removed `ExtrudeRotateR` [#365](https://github.com/Haskell-Things/ImplicitCAD/pull/365)
* `rotateExtrude` now longer accepts rounding paramater [#367](https://github.com/Haskell-Things/ImplicitCAD/pull/367)
* Added `transform3` (transform using 4x4 matrix representing affine transformation) [#410](https://github.com/Haskell-Things/ImplicitCAD/pull/410)
* Changed `Object obj vec` class to `Object obj f a` [#420](https://github.com/Haskell-Things/ImplicitCAD/pull/420)

* ExtOpenSCAD interface changes
* `scale` function with single parameter now behaves similar to OpenSCAD one [#258](https://github.com/colah/ImplicitCAD/pull/258)
* `scale` function with single parameter now behaves similar to OpenSCAD one [#258](https://github.com/Haskell-Things/ImplicitCAD/pull/258)
* scales 2D object in both dimensions
* `rotateExtrude` angle `a` parameter renamed to `angle` to match OpenSCAD [#259](https://github.com/colah/ImplicitCAD/pull/259)
* Added `mirror` support [#300](https://github.com/colah/ImplicitCAD/pull/300)
* `rotateExtrude` angle `a` parameter renamed to `angle` to match OpenSCAD [#259](https://github.com/Haskell-Things/ImplicitCAD/pull/259)
* Added `mirror` support [#300](https://github.com/Haskell-Things/ImplicitCAD/pull/300)
* Added `multmatrix` support [#410](https://github.com/Haskell-Things/ImplicitCAD/pull/410)

* Other changes
* Fixed the ExtOpenSCAD lexer bug where newlines were part of identifiers [#256](https://github.com/colah/ImplicitCAD/pull/256)
* `implicitsnap` not built by default anymore [#272](https://github.com/colah/ImplicitCAD/pull/272)
* Fixed the ExtOpenSCAD lexer bug where newlines were part of identifiers [#256](https://github.com/Haskell-Things/ImplicitCAD/pull/256)
* `implicitsnap` not built by default anymore [#272](https://github.com/Haskell-Things/ImplicitCAD/pull/272)
* Can be enabled again with `cabal configure --flag=implicitsnap`
* Fixed vertex coordinates of OBJ output [#281](https://github.com/colah/ImplicitCAD/pull/281)
* `discreteAprox` of `NormedTriangleMesh` now runs in parallel [#282](https://github.com/colah/ImplicitCAD/pull/282)
* Fixed vertex coordinates of OBJ output [#281](https://github.com/Haskell-Things/ImplicitCAD/pull/281)
* `discreteAprox` of `NormedTriangleMesh` now runs in parallel [#282](https://github.com/Haskell-Things/ImplicitCAD/pull/282)
* Binaries now built with default `-rtsopts "-with-rtsopts -N -qg -t"` to allow automatic parallelization
* Added haddocks for Haskell eDSL [#284](https://github.com/colah/ImplicitCAD/pull/284) & [#287](https://github.com/colah/ImplicitCAD/pull/287)
* Added golden test machinery [#311](https://github.com/colah/ImplicitCAD/pull/311)
* Added quickcheck test machinery for implicit functions [#316](https://github.com/colah/ImplicitCAD/pull/316)
* Rotate now internally uses quaternions [#314](https://github.com/colah/ImplicitCAD/pull/314)
* Fixes to triangle generation [#355](https://github.com/colah/ImplicitCAD/pull/355) and [#375](https://github.com/colah/ImplicitCAD/pull/375)
* Added haddocks for Haskell eDSL [#284](https://github.com/Haskell-Things/ImplicitCAD/pull/284) & [#287](https://github.com/Haskell-Things/ImplicitCAD/pull/287)
* Added golden test machinery [#311](https://github.com/Haskell-Things/ImplicitCAD/pull/311)
* Added quickcheck test machinery for implicit functions [#316](https://github.com/Haskell-Things/ImplicitCAD/pull/316)
* Rotate now internally uses quaternions [#314](https://github.com/Haskell-Things/ImplicitCAD/pull/314)
* Fixes to triangle generation [#355](https://github.com/Haskell-Things/ImplicitCAD/pull/355) and [#375](https://github.com/Haskell-Things/ImplicitCAD/pull/375)
* ExtOpenSCAD vector addition [#408](https://github.com/Haskell-Things/ImplicitCAD/pull/408)
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ImplicitCAD: Math Inspired CAD
==============================

[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/colah/ImplicitCAD/Haskell%20CI)](https://github.com/colah/ImplicitCAD/actions/workflows/ci.yaml) [![Hackage version](https://img.shields.io/hackage/v/implicit.svg?color=success)](https://hackage.haskell.org/package/implicit) [![IRC](https://img.shields.io/badge/irc.libera.chat-%23ImplicitCAD-blue.svg)](https://libera.chat/)
[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/Haskell-Things/ImplicitCAD/Haskell%20CI)](https://github.com/Haskell-Things/ImplicitCAD/actions/workflows/ci.yaml) [![Hackage version](https://img.shields.io/hackage/v/implicit.svg?color=success)](https://hackage.haskell.org/package/implicit) [![IRC](https://img.shields.io/badge/irc.libera.chat-%23ImplicitCAD-blue.svg)](https://libera.chat/)

Introduction
------------
Expand Down Expand Up @@ -257,7 +257,7 @@ Try ImplicitCAD!
* Use cabal to install ImplicitCAD: `cabal update && cabal install implicit`
* Development version:
* Initialize your haskell environment: `cabal update`
* Git clone this repo: `git clone https://github.com/colah/ImplicitCAD.git`
* Git clone this repo: `git clone https://github.com/Haskell-Things/ImplicitCAD.git`
* cd in: `cd ImplicitCAD/`
* install the dependencies: `cabal install --only-dependencies`
* The previous step may fail, but it should tell you what's missing.
Expand Down Expand Up @@ -288,7 +288,7 @@ Documentation

Documentation can be generated from the source code of ImplicitCAD by Haddock by running `cabal haddock`.

Releases of ImplicitCAD are uploaded to HackageDB which, in addition to making them avaialable through `cabal install`, puts the generated documentation on the Internet. So you can read the documentation for the most recent release of ImplicitCAD, 0.3.0.1, [on HackageDB](http://hackage.haskell.org/packages/archive/implicit/0.3.0.1/doc/html/Graphics-Implicit.html).
Releases of ImplicitCAD are uploaded to HackageDB which, in addition to making them avaialable through `cabal install`, puts the generated documentation on the Internet. So you can read the documentation for the most recent release of ImplicitCAD, 0.4.0.0, [on HackageDB](http://hackage.haskell.org/packages/archive/implicit/0.4.0.0/doc/html/Graphics-Implicit.html).

In Implicit CAD, we consider objects as functions of `outwardness'. The boundary is 0, negative is the interior and positive the exterior. The magnitude is how far out or in. A description of the mathematical ideas underpinning ImplicitCAD are in a [blog post on colah's blog](http://christopherolah.wordpress.com/2011/11/06/manipulation-of-implicit-functions-with-an-eye-on-cad/).

Expand Down
4 changes: 2 additions & 2 deletions implicit.cabal
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Cabal-version: 2.2
Name: implicit
Version: 0.3.0.1
Version: 0.4.0.0
Tested-with: GHC >= 8.8
Build-type: Simple
Synopsis: A math-inspired programmatic 2D & 3D CAD system.
Expand Down Expand Up @@ -255,4 +255,4 @@ Benchmark parser-bench

Source-repository head
Type: git
Location: https://github.com/colah/ImplicitCAD.git
Location: https://github.com/Haskell-Things/ImplicitCAD.git

0 comments on commit dac02b5

Please sign in to comment.