packages feed

nymphaea-0.1: doc/IDEAS

This file holds ideas for new features.

User Interface:
 * Holding shift should cause the direction widget to snap to multiples of the
   LSystem angle relative to north.

Drawing:
 * Add further drawing primitives, apart from line segments.
   * Make these user customisable, perhaps through hs-plugins.
   * Allow the user to attach them to various symbols in the LSystem grammar
     via some sort of nice user interface.
   * These are in essence, Cairo renderings with two special points, start
     and end, perhaps (0,0) and (0,1). We can just use Cairo matrices to
     scale them to the right size before drawing.
 * Additional user customisable rotation primitives.
 * Three dimensional rendering. This could be simulated using Cairo, but
   needs lots of support in other areas.

LSystems:
 * Context sensitivity. This seems hard because it clashes with the current
   monadic approach. (The function passed as the second argument to bind only
   gets to see one symbol.) This may require arrows.
 * (Mentioned above) Grammar extensions for arbitrary rotation. Eventually
   if we move to 3D, this becomes even more necessary, since there will be
   a lot of different kinds of rotations we'll probably want to express in
   a given 3D system.