csg 0.1 → 0.1.0.1
raw patch · 5 files changed
+126/−109 lines, 5 filesdep +doctest-driver-gendep −doctest-discoverdep ~QuickCheckdep ~attoparsecdep ~bytestringPVP ok
version bump matches the API change (PVP)
Dependencies added: doctest-driver-gen
Dependencies removed: doctest-discover
Dependency ranges changed: QuickCheck, attoparsec, bytestring, containers, criterion, doctest, gloss, gloss-raster, simple-vec3, strict, system-filepath, tasty, tasty-hunit, tasty-quickcheck, transformers, turtle, vector
API changes (from Hackage documentation)
Files
- CHANGELOG.md +9/−0
- README.md +17/−4
- csg.cabal +95/−104
- exe/raycaster.hs +4/−0
- tests/doctest-driver.hs +1/−1
CHANGELOG.md view
@@ -1,5 +1,14 @@ # Changelog +## [0.1.0.1] - 2018-05-11++### Changed++- GHC 8.4.x support++- Use `doctest-driver-gen` to run doctests+ ## [0.1] - 2018-03-20 +[0.1.0.1]: https://github.com/dzhus/csg/compare/0.1...0.1.0.1 [0.1]: https://github.com/dzhus/csg/tree/0.1
README.md view
@@ -113,14 +113,26 @@ csg library performs no surface interpolation when doing ray casting. Instead, we only solve ray-surface intersection equation numerically.+The library was written with Repa/vector compatibility and performance+in mind. There're other Haskell libraries for CSG: +- [GlomeTrace][]:++ - Has more ray tracing-specific features, such as light sources,+ different textures and materials.++ - Unlike `csg`, has no tests or benchmarks.++ - In `csg` solids use the same type as opposed to different types+ with an existential box in `GlomeTrace`.+ - [implicit][]: - - Offers a much richer operation set+ - Offers a much richer operation set. - - Uses function representation for CSG solids+ - Uses function representation for CSG solids. - If `implicit` had ray-casting support in early 2012 then I probably wouldn't write `csg`.@@ -128,9 +140,9 @@ - [mecha][]: - Only provides types and functions to define solids and export- definitions to external formats+ definitions to external formats. - - No support for ray casting+ - No support for ray casting. [csg-wiki]: https://en.wikipedia.org/wiki/Constructive_solid_geometry [hackage-doc]: http://hackage.haskell.org/package/csg/docs/Data-CSG.html@@ -138,3 +150,4 @@ [mecha]: https://hackage.haskell.org/package/mecha [parser-doc]: http://hackage.haskell.org/package/csg/docs/Data-CSG-Parser.html [simple-vec3]: https://hackage.haskell.org/package/simple-vec3+[glometrace]: https://hackage.haskell.org/package/GlomeTrace
csg.cabal view
@@ -1,22 +1,15 @@--- This file has been generated from package.yaml by hpack version 0.20.0.------ see: https://github.com/sol/hpack------ hash: f2c1fd60fb41426a33ebda6ab5c083364c788ebc2458967a297173ddb3acb0b0--name: csg-version: 0.1-synopsis: Analytical CSG (Constructive Solid Geometry) library-category: Graphics-homepage: https://github.com/dzhus/csg#readme-bug-reports: https://github.com/dzhus/csg/issues-author: Dmitry Dzhus-maintainer: dima@dzhus.org-license: BSD3-license-file: LICENSE-build-type: Simple-cabal-version: >= 1.10-+cabal-version: >=1.10+name: csg+version: 0.1.0.1+license: BSD3+license-file: LICENSE+maintainer: dima@dzhus.org+author: Dmitry Dzhus+homepage: https://github.com/dzhus/csg#readme+bug-reports: https://github.com/dzhus/csg/issues+synopsis: Analytical CSG (Constructive Solid Geometry) library+category: Graphics+build-type: Simple extra-source-files: CHANGELOG.md examples/cube.geo@@ -24,100 +17,98 @@ README.md source-repository head- type: git- location: https://github.com/dzhus/csg+ type: git+ location: https://github.com/dzhus/csg flag triples- description: Use triples of Doubles to represent vectors (slower with vector library arrays)- manual: True- default: False+ description:+ Use triples of Doubles to represent vectors (slower with vector library arrays)+ default: False+ manual: True library- hs-source-dirs:- src- ghc-options: -Wall -Wcompat -O2- build-depends:- QuickCheck- , attoparsec- , base <5- , bytestring- , containers- , simple-vec3 >=0.4- , strict- , transformers- if flag(triples)- cpp-options: -DWITH_TRIPLES- exposed-modules:- Data.CSG- Data.CSG.Parser- other-modules:- Paths_csg- default-language: Haskell2010+ exposed-modules:+ Data.CSG+ Data.CSG.Parser+ hs-source-dirs: src+ other-modules:+ Paths_csg+ default-language: Haskell2010+ ghc-options: -Wall -Wcompat -O2+ build-depends:+ QuickCheck <2.12,+ attoparsec <0.14,+ base <5,+ bytestring <0.11,+ containers <0.6,+ simple-vec3 ==0.4.*,+ strict <0.4,+ transformers <0.6+ + if flag(triples)+ cpp-options: -DWITH_TRIPLES executable csg-raycaster- main-is: raycaster.hs- hs-source-dirs:- exe- ghc-options: -Wall -Wcompat -O2 -threaded -rtsopts "-with-rtsopts=-N"- build-depends:- QuickCheck- , base <5- , csg- , gloss- , gloss-raster- , simple-vec3 >=0.4- , strict- , system-filepath- , turtle- other-modules:- Paths_csg- default-language: Haskell2010+ main-is: raycaster.hs+ hs-source-dirs: exe+ other-modules:+ Paths_csg+ default-language: Haskell2010+ ghc-options: -Wall -Wcompat -O2 -threaded -rtsopts -with-rtsopts=-N+ build-depends:+ QuickCheck <2.12,+ base <5,+ csg -any,+ gloss <1.13,+ gloss-raster <1.13,+ simple-vec3 ==0.4.*,+ strict <0.4,+ system-filepath <0.5,+ turtle <1.6 test-suite csg-doctests- type: exitcode-stdio-1.0- main-is: doctest-driver.hs- hs-source-dirs:- tests- ghc-options: -Wall -Wcompat -O2 -threaded- build-depends:- base <5- , doctest- , doctest-discover >=0.1.0.8- , simple-vec3 >=0.4- other-modules:- Main- Paths_csg- default-language: Haskell2010+ type: exitcode-stdio-1.0+ main-is: doctest-driver.hs+ hs-source-dirs: tests+ other-modules:+ Main+ Paths_csg+ default-language: Haskell2010+ ghc-options: -Wall -Wcompat -O2 -threaded+ build-depends:+ base <5,+ doctest <0.16,+ doctest-driver-gen <0.3,+ simple-vec3 ==0.4.* test-suite csg-tests- type: exitcode-stdio-1.0- main-is: Main.hs- hs-source-dirs:- tests- ghc-options: -Wall -Wcompat -O2- build-depends:- base <5- , bytestring- , csg- , simple-vec3 >=0.4- , tasty- , tasty-hunit- , tasty-quickcheck- other-modules:- Paths_csg- default-language: Haskell2010+ type: exitcode-stdio-1.0+ main-is: Main.hs+ hs-source-dirs: tests+ other-modules:+ Paths_csg+ default-language: Haskell2010+ ghc-options: -Wall -Wcompat -O2+ build-depends:+ base <5,+ bytestring <0.11,+ csg -any,+ simple-vec3 ==0.4.*,+ tasty <1.1,+ tasty-hunit <0.11,+ tasty-quickcheck <0.10 benchmark csg-benchmark- type: exitcode-stdio-1.0- main-is: benchmark/Benchmark.hs- ghc-options: -Wall -Wcompat -O2- build-depends:- base <5- , criterion- , csg- , simple-vec3 >=0.4- , strict- , vector- other-modules:- Paths_csg- default-language: Haskell2010+ type: exitcode-stdio-1.0+ main-is: benchmark/Benchmark.hs+ other-modules:+ Paths_csg+ default-language: Haskell2010+ ghc-options: -Wall -Wcompat -O2+ build-depends:+ base <5,+ criterion <1.4,+ csg -any,+ simple-vec3 ==0.4.*,+ strict <0.4,+ vector <0.13
exe/raycaster.hs view
@@ -1,4 +1,5 @@ {-# LANGUAGE BangPatterns #-}+{-# LANGUAGE CPP #-} {-# LANGUAGE RecordWildCards #-} {-# LANGUAGE OverloadedStrings #-} @@ -15,7 +16,10 @@ import GHC.Float import Data.String+#if MIN_VERSION_base(4,11,0)+#else import Data.Monoid+#endif import Data.Version import Graphics.Gloss.Data.Color
tests/doctest-driver.hs view
@@ -1,1 +1,1 @@-{-# OPTIONS_GHC -F -pgmF doctest-discover #-}+{-# OPTIONS_GHC -F -pgmF doctest-driver-gen -optF src #-}