Difference between revisions of "Diagrams/Projects"

From HaskellWiki
Jump to navigation Jump to search
(→‎Potential projects: note idea about extra intensional info for envelopes)
(2 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
Looking for something to work on? Try one of these!
 
Looking for something to work on? Try one of these!
   
  +
See also [[Diagrams/GSoC]] which has more ideas.
* Figure out an infrastructure for including animations in the gallery and/or user manual
 
  +
* Improvements to paths: lengthening/shortening, arrowheads, etc.
 
 
* Figure out an infrastructure for including animations in the gallery and/or user manual. See https://github.com/diagrams/diagrams-doc/issues/1 .
* Controlled creation of splines using an API like the one in MetaPost.
 
 
* Build some [[example animations]].
 
* Build some [[example animations]].
 
* Add extra intensional information to help do a better job with combining envelopes? e.g. inner and outer bounding boxes, circles, etc. e.g. if the outer bound of one lies completely inside the inner bound of another, the resulting combined envelope can be optimized to not actually do a max operation.
 
* Add extra intensional information to help do a better job with combining envelopes? e.g. inner and outer bounding boxes, circles, etc. e.g. if the outer bound of one lies completely inside the inner bound of another, the resulting combined envelope can be optimized to not actually do a max operation.
   
  +
==Officially supported backends==
==Backends==
 
  +
  +
=== Native SVG ===
  +
 
A Haskell-native backend generating SVG. As of diagrams-0.6 this is the default "out-of-the-box" diagrams backend.
  +
  +
* [http://hackage.haskell.org/package/diagrams%2Dsvg hackage]
  +
* [https://github.com/diagrams/diagrams-svg github repo]
  +
* Status: active development
  +
* Participants: Deepak Jois, Ryan Yates, Felipe Lessa, Brent Yorgey
   
 
=== Cairo ===
 
=== Cairo ===
   
Officially supported backend using [http://www.cairographics.org/ cairo].
+
Full-featured backend using [http://www.cairographics.org/ cairo].
   
  +
* [http://hackage.haskell.org/package/diagrams%2Dcairo hackage]
 
* [http://github.com/diagrams/diagrams-cairo github repo]
 
* [http://github.com/diagrams/diagrams-cairo github repo]
 
* Status: active development
 
* Status: active development
 
* Participants: Brent Yorgey, Ryan Yates
 
* Participants: Brent Yorgey, Ryan Yates
   
=== Native SVG ===
+
=== GTK ===
   
  +
Backend built on top of the cairo backend for rendering directly to GTK windows.
A Haskell-native backend generating SVG. The intention is for this to eventually replace cairo as the "out-of-the-box" diagrams backend.
 
   
* [http://hackage.haskell.org/package/diagrams%2Dsvg hackage]
+
* [http://hackage.haskell.org/package/diagrams%2Dgtk hackage]
* [https://github.com/diagrams/diagrams-svg github repo]
+
* [http://github.com/diagrams/diagrams-gtk github repo]
 
* Status: active development
 
* Status: active development
* Participants: Deepak Jois, Ryan Yates, Felipe Lessa, Brent Yorgey
+
* Participants: John Lato, Brent Yorgey
   
 
=== Native Postscript ===
 
=== Native Postscript ===
Line 32: Line 42:
 
Very similar to the Cairo backend but only outputting EPS.
 
Very similar to the Cairo backend but only outputting EPS.
   
* [https://github.com/fryguybob/diagrams-postscript github repo]
+
* [http://hackage.haskell.org/package/diagrams%2Dpostscript hackage]
  +
* [https://github.com/diagrams/diagrams-postscript github repo]
 
* Status: active development
 
* Status: active development
 
* Participants: Ryan Yates
 
* Participants: Ryan Yates
  +
  +
== Unofficial backends ==
   
 
=== HTML5 canvas ===
 
=== HTML5 canvas ===
Line 40: Line 53:
 
* [https://github.com/ku-fpg/diagrams-canvas github repo]
 
* [https://github.com/ku-fpg/diagrams-canvas github repo]
 
* [https://github.com/byorgey/diagrams-canvas variant ported to work with blank-canvas]
 
* [https://github.com/byorgey/diagrams-canvas variant ported to work with blank-canvas]
* Status: active development
+
* Status: dormant
 
* Participants: Andy Gill, Brent Yorgey
 
* Participants: Andy Gill, Brent Yorgey
   
Line 47: Line 60:
 
* original [http://patch-tag.com/r/snwalck/diagrams-tikz darcs repo] by Scott Walck
 
* original [http://patch-tag.com/r/snwalck/diagrams-tikz darcs repo] by Scott Walck
 
* [https://github.com/mahrz/diagrams-tikz updated version] by Malte Harder on github
 
* [https://github.com/mahrz/diagrams-tikz updated version] by Malte Harder on github
* Status: active development
+
* Status: dormant
 
* Participants: Scott Walck, Malte Harder
 
* Participants: Scott Walck, Malte Harder
   

Revision as of 19:28, 20 February 2013

Potential projects

Looking for something to work on? Try one of these!

See also Diagrams/GSoC which has more ideas.

  • Figure out an infrastructure for including animations in the gallery and/or user manual. See https://github.com/diagrams/diagrams-doc/issues/1 .
  • Build some example animations.
  • Add extra intensional information to help do a better job with combining envelopes? e.g. inner and outer bounding boxes, circles, etc. e.g. if the outer bound of one lies completely inside the inner bound of another, the resulting combined envelope can be optimized to not actually do a max operation.

Officially supported backends

Native SVG

A Haskell-native backend generating SVG. As of diagrams-0.6 this is the default "out-of-the-box" diagrams backend.

  • hackage
  • github repo
  • Status: active development
  • Participants: Deepak Jois, Ryan Yates, Felipe Lessa, Brent Yorgey

Cairo

Full-featured backend using cairo.

GTK

Backend built on top of the cairo backend for rendering directly to GTK windows.

Native Postscript

Very similar to the Cairo backend but only outputting EPS.

Unofficial backends

HTML5 canvas

LaTeX/TikZ

  • original darcs repo by Scott Walck
  • updated version by Malte Harder on github
  • Status: dormant
  • Participants: Scott Walck, Malte Harder

POV-Ray

A POV-Ray backend for 3D diagrams.

  • github repo
  • Status: proof of concept only, needs someone to take it over!

Wanted backends

  • OpenGL

Related packages and tools

command-line/interactive

See also an earlier project in a similar direction:

Build service

diagrams-builder is a library providing the ability to dynamically interpret diagrams code snippets, including utilities for creating temporary files etc. as needed. Useful for making preprocessing tools for embedding diagrams code in other document formats (e.g. LaTeX).

Fonts

The SVGFonts package implements Haskell-native font support (for fonts in the SVG-font format) that can be plugged into diagrams.

Other projects

gtk-toy

Michael Sloan's gtk-toy project is a framework for creating interactive gtk/cairo applications. gtk-toy-diagrams provides tools for using diagrams in conjunction with gtk-toy.

LaTeXgrapher

LaTeXGrapher is a project by Ryan Yates providing a domain-specific language for producing mathematical graphs, backed by the diagrams-postscript backend.

Deepak Jois is working on a logo interpreter written in Haskell, using diagrams as a backend.

Packages using diagrams