Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Nov 30, 2012
  1. Ben Gamari

    TesselateLoops: Use centroid

    bgamari authored
  2. Ben Gamari

    RefineSegs: Use centroid

    bgamari authored
  3. Ben Gamari

    GetSegs: Use centroid

    bgamari authored
  4. Ben Gamari

    Export.Util: Introduce centroid

    bgamari authored
    This is a pattern which appears quite frequently.
  5. Ben Gamari
  6. Ben Gamari

    Util: Fix trailing whitespace

    bgamari authored
  7. Ben Gamari
  8. Ben Gamari

    GetLoops: Spelling fix

    bgamari authored
  9. Ben Gamari
  10. Ben Gamari
  11. Ben Gamari
  12. Ben Gamari

    Begin porting things to vector-space

    bgamari authored
    This follows the approach taken in Brent Yorgey's diagrams package,
    using Conal Elliott's vector-space classes. This allows us to get rid of
    the rather unidiomatic and arguably overly-polymorphic
    Graphics.Implicit.SaneOperators. Since this has been removed, we can now
    begin pulling out the many type annotations strewn about the codebase.
    The recently introduced Criterion benchmark confirms that this has no
    measurable effect on performance,
                            Before              After
    Object 1/STL write      235.7 ± 9.3 ms      236.0 ± 12.8 ms
    Object 2/STL write      1.54  ± 0.99 ms     1.44  ± 0.28 us
    Note that I make no attempt to enforce any separate between AffineSpaces
    and VectorSpaces here. This is work for a later patch.
    Additionally, a small performance gain may be had by strictifying and
    unpacking the fields of R3 and R2. This, however, would require that a
    `data` type be defined and all packing/unpacking of vectors would need
    to happen with the appropriate data constructor. Given this is even more
    invasive a change than the current patch, this is left as future work.
  13. Ben Gamari

    Add simple Criterion benchmark

    bgamari authored
  14. Ben Gamari

    Util/OVal: Enable -XFlexibleInstances

    bgamari authored
    Seems to be necessary for things to build
  15. Ben Gamari

    Export/RayTrace: Make things typecheck

    bgamari authored
             Couldn't match type `ℝ' with `Int'
             When using functional dependencies to combine
               Additive ℕ ℝ ℝ,
                 arising from the dependency `a b -> c'
                 in the instance declaration at
               Additive Int ℝ Int,
                 arising from a use of `+'
                 at Graphics/Implicit/Export/RayTrace.hs:213:65
             In the first argument of `xy', namely `(a + s)'
             In the second argument of `($)', namely `xy (a + s) (b + s)'
    I'm not sure how this could have worked previously. Perhaps this is a
    GHC 7.6-ism?
  16. Ben Gamari
  17. Set GHC flag for broader version compatibility.

    * Set FlexibleInstances Graphics/Implicit/ExtOpenScad/Util/OVal.hs
Commits on Nov 29, 2012
  1. Fix regression issues in extopenscad interpreter.

    * Fix accidental multiplication instead of adding.
    * Fix reversed object order problem.
  2. Merge branch 'master' of

  3. Replaced interperter/parser, now have AST step.

    * Actual changes to the language have been held back till future
      commits, so this should be backwards compatible.
    * A proper AST intermediary stage. We now go:
                Code -> AST -> Execution
      ... instead of doing interpretation during parsing, which was a
      really horible idea.
    * We now use De Brujin indices for function arguments, instead of
      modifying the VarLookup and looking up every single symbol every
      function call.
    * Execution code has been cleaned up using the State monad.
    * Big performance increases on execution! This can mean big performance
      differences rendering objects that depend on functions.
Commits on Nov 23, 2012
Commits on Nov 22, 2012
  1. Some server API changes.

Commits on Nov 18, 2012
  1. Merge pull request #71 from bgamari/unordered-containers

    Build with unordered-containers instead of hashmap
  2. Merge pull request #69 from matthewSorensen/master

    Switch order of case statement in options parser
  3. Merge pull request #72 from bgamari/fix-rotate3

    Rotate3: Fix flipped sin/cos
  4. Ben Gamari

    Rotate3: Fix flipped sin/cos

    bgamari authored
    Previously `rotate3 (pi/2) 0 0` was an identity while `rotate3 0 0 0`
    resulted in a rotation as pointed out in Issue #44.
  5. Ben Gamari
Commits on Nov 12, 2012
  1. Matthew Sorensen
Commits on Nov 5, 2012
  1. Bug fix in rotate_extrude.

    * Primitive wasn't always capping when it needed to.
    * Possible to create discontinuous objects.
Commits on Oct 2, 2012
  1. Merge pull request #65 from jbj/cabal-JuicyPixels

    Add missing dependency on JuicyPixels package to cabal
Something went wrong with that request. Please try again.