__color__	ticket	summary	component	version	milestone	type	owner	status	created	_changetime	_description	_reporter
2	19	Wrong dependencies for FieldTrip	None			defect		new	2009-03-08T14:50:37Z+0000	2009-03-08T14:50:37Z+0000	FieldTrip >= 0.2 (as it is on Hackage) uses Data.AffineSpace.AVector which is a dependent type declared in AffineSpace only in vector-space-0.5 and vector-space-0.5.1. Newer versions use the type Diff here, but FieldTrip neither specifies vector-space < 0.5.2 in its dependencies nor has a modified version (even on darcs).	alex.shpilkin
3	11	Tessalation very visible	component1			defect	somebody	new	2008-11-14T11:53:19Z+0000	2008-11-14T21:52:16Z+0000	"I am not sure exactly what causes it, but during my toying attempts to get reactive-fieldtrip's lplace example to place things where the mouse, I used this:

place starts = monoidB (g <$> starts)
 where
   g start = ((*%) <$> spinning) <*> ((translate3 start *%) <$> spinningG torusPair)

(apply spinning transform to the start positions).

This causes a very visible/ugly tessellation."	EyalLotem
3	12	Assigning Materials/colors to 2d geometries	None			defect		new	2008-11-22T15:41:46Z+0000	2008-12-11T18:35:44Z+0000	"I am not completely sure, but the only function to apply a material on a geometry seems to be materialG, and it only applies to Geometry3.

It seems as though you can't color/put materials on geometry2's
"	EyalLotem
3	13	Start up time when using complex shape is pretty high	None			defect		new	2008-11-22T16:31:49Z+0000	2008-11-22T16:35:37Z+0000	"I have 3d hardware acceleration, and when drawing simple 2d shapes, everything is snappy, but when drawing torus/sphere/etc (probably shapes that require tessalation) there's a 1-3 second long pause at launch-time.

"	EyalLotem
3	15	Reactive-FieldTrip bug: No redraws	None			defect	conal	assigned	2008-11-23T20:11:32Z+0000	2008-11-25T02:51:59Z+0000	"I am not sure if this bug fits here (I couldn't find a Reactive-FieldTrip trac), but there are no redraws, at least in GLUT over X, when the window is hidden and reshown, until user input or such.

In the case of (const . pure) animations, there are no redraws at all, and once the window is hidden, you can never see the animation again.
"	EyalLotem
3	17	FieldTrip 0.2.2 fails to compile: Not in scope: type constructor or class `AVector'	None			defect		new	2009-01-21T14:57:39Z+0000	2009-02-13T03:25:19Z+0000	"FieldTrip 0.2.2 fails to compile with the error:

{{{
src/Graphics/FieldTrip/Point3.hs:46:7:
    Not in scope: type constructor or class `AVector'
}}}

{{{
$ ghc --version
The Glorious Glasgow Haskell Compilation System, version 6.10.1
}}}

{{{
$ cabal install FieldTrip
Resolving dependencies...
'FieldTrip-0.2.2' is cached.
Configuring FieldTrip-0.2.2...
Preprocessing library FieldTrip-0.2.2...
Building FieldTrip-0.2.2...
[ 1 of 17] Compiling Graphics.FieldTrip.ParamSurf ( src/Graphics/FieldTrip/ParamSurf.hs, dist/build/Graphics/FieldTrip/ParamSurf.o )
[ 2 of 17] Compiling Graphics.FieldTrip.Transform ( src/Graphics/FieldTrip/Transform.hs, dist/build/Graphics/FieldTrip/Transform.o )
[ 3 of 17] Compiling Graphics.FieldTrip.Vector2 ( src/Graphics/FieldTrip/Vector2.hs, dist/build/Graphics/FieldTrip/Vector2.o )
[ 4 of 17] Compiling Graphics.FieldTrip.Vector3 ( src/Graphics/FieldTrip/Vector3.hs, dist/build/Graphics/FieldTrip/Vector3.o )
[ 5 of 17] Compiling Graphics.FieldTrip.Point3 ( src/Graphics/FieldTrip/Point3.hs, dist/build/Graphics/FieldTrip/Point3.o )

src/Graphics/FieldTrip/Point3.hs:46:7:
    Not in scope: type constructor or class `AVector'
cabal: Error: some packages failed to install:
FieldTrip-0.2.2 failed during the building phase. The exception was:
exit: ExitFailure 1
}}}
"	DustinDeWeese
3	18	no examples/ exists	None			defect		new	2009-02-13T03:15:09Z+0000	2009-02-13T04:08:29Z+0000	"The README file in the hackage distribution suggests testing things by running a ghci command that loads examples/Test.hs, but no directory examples/ exists in the distribution.  The darcs repository, neither.

I think it would be quite nice to have a simple hello-world style example that uses nothing more than FieldTrip (and its dependencies, of course).  I tried the thing that seemed most obvious after reading the Haddocks: ""render3 cube"", but it segfaulted.  I assume this means there is some initialization step that is needed, but that isn't documented anywhere.  Improving the documentation or including a working example would both be great solutions."	dmwit
3	21	FieldTrip doesn't build with OpenGL 2.4.0.1	None			defect		new	2009-10-10T19:56:43Z+0100	2010-06-07T19:19:09Z+0100	The change to GLfloats instead of Floats really messes up FieldTrip. There are lots of compilation errors.	ajd
3	1	Improve automatic tessellation	component1			enhancement	somebody	new	2008-11-07T20:32:27Z+0000	2008-11-07T20:32:27Z+0000	"Parametric surfaces are automatically tessellated into an efficient infinite trie.
Rendering selects one such tessellation to use, taking partial account of modeling transformation, by manipulating an error threshold.
Currently, only scaling transformation modifies that threshold.

To do:
 * Give the error threshold a clear semantics.
 * Account for the combined model and view transforms, including translation.
 * Account for the nature of the defined surface.  Perhaps use derivative bounds.
"	conal
3	7	Provide concrete & familiar names for mempty & mappend	component1			enhancement	somebody	new	2008-11-12T16:05:43Z+0000	2008-11-12T16:07:03Z+0000	"Monoid instances for images, geometry, and transforms let us use Monoid tools, but they lack the concreteness and guessability of more specific & familiar names like ""over"" and ""union"".

Consider other type classes as well."	conal
3	14	Load 2d images, 3d models	None			enhancement		new	2008-11-22T17:44:56Z+0000	2008-11-22T17:45:03Z+0000	"There doesn't seem to be any ability to load 2d images as textures or otherwise.
There also doesn't seem to be any ability to load 3d models from other formats.
"	EyalLotem
3	16	Incorporate Lighting	None			enhancement	conal	new	2008-12-11T18:40:49Z+0000	2009-01-06T22:30:15Z+0000	Fieldtrip as it is doesn't have any facilities for setting up lights in the scene.	camio
4	20	Cannot compile (possibly due to incorrect dependencies?)	None			defect		new	2009-05-11T23:55:49Z+0100	2009-05-11T23:55:49Z+0100	"During build, I get

{{{
src/Graphics/FieldTrip/Vector2.hs:113:24:
    Couldn't match expected type `a :->: b'
           against inferred type `Float
                                  Data.LinearMap.:-* (Float :> Vector2 Float)'
    In the first argument of `untrie', namely `derivative v'
    In the first argument of `cross2', namely
        `(derivative v `untrie` ())'
    In the expression: cross2 (derivative v `untrie` ())
}}}

also there is a problem with the implementation of Graphics.FieldTrip.ParamSurf.torus which I ""resolved""(?) by uncommenting the commented lines and vice versa.

This is on GHC 6.10.1, with the following libraries:
{{{
    Cabal-1.6.0.1, array-0.2.0.0, base-3.0.3.0, base-4.0.0.0,
    bytestring-0.9.1.4, containers-0.2.0.0, directory-1.0.0.2,
    editline-0.2.1.0, filepath-1.1.0.1, (ghc-6.10.1), ghc-prim-0.1.0.0,
    haskell98-1.0.1.0, hpc-0.5.0.2, integer-0.1.0.0, mtl-1.1.0.2,
    network-2.2.1.1, old-locale-1.0.0.1, old-time-1.0.0.1,
    packedstring-0.1.0.1, parsec-3.0.0, pretty-1.0.1.0,
    process-1.0.1.0, random-1.0.0.1, rts-1.0, syb-0.1.0.0,
    template-haskell-2.3.0.0, unix-2.3.1.0
~/.ghc/i386-linux-6.10.1/package.conf:
    GLUT-2.1.2.1, HTTP-4000.0.4, MemoTrie-0.4.3, OpenGL-2.2.2.0,
    QuickCheck-1.2.0.0, TypeCompose-0.6.4, graphicsFormats-0.1,
    vector-space-0.5.7, zlib-0.5.0.0
}}}"	ADStark
4	2	Replace Graphics.FieldTrip.Color with Data.Colour.	component1			enhancement	somebody	new	2008-11-10T22:46:52Z+0000	2008-11-14T04:42:42Z+0000	"My [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/colour colour lib] provides all the needed functionality and more.  Using Data.Colour will allow the colour type to be shared between projects.  (To be honest, I think fieldtrip would be the first library to use Data.Colour, since I only released it a few weeks ago.)

After glancing through the OpenGL documentation, I see that you will likely need access to a linear colour space.  I have such a function but need to expose it first.  I will put this functionally in colour-1.1.0.  Once this version is release you will be able to use the library."	r6
5	4	Rotation Axis should be Normal3	component1			defect	somebody	new	2008-11-11T00:53:39Z+0000	2008-11-11T00:53:39Z+0000	"Like normal vectors, rotation axis transform contravariently.  So {{{rotate3}}} should have signature {{{s -> Normal3 s -> Transform3 s}}}.
"	r6
5	3	Remove origins	component1			enhancement	somebody	new	2008-11-11T00:15:13Z+0000	2008-11-11T00:15:13Z+0000	I recommend removing {{{origin2}}} and {{{origin3}}}.  Affine spaces such as {{{Point2}}} and {{{Point3}}} do not have origins.  Users will still be able to construct {{{(Vertex2 0 0)}}}, but using an origin should be discouraged by eliminating the function.	r6
5	5	Simplify Rotation Axis	component1			enhancement	somebody	new	2008-11-11T01:00:55Z+0000	2008-11-11T01:00:55Z+0000	"Rather than passing both a rotation axis and an rotation angle, these two parameters can be combined into one.  The magnitude of the rotation axis can specify the amount of rotation.  This prevents trying to rotate about the 0 vector.

Also consider allowing different units of rotation.  Using {{{1}}} to represent a full rotation is more intuitive than using {{{2*pi}}}. Providing multiple functions may be the way to go to solve this."	r6
5	6	Remove origin and standard axis biases in Transformations	component1			enhancement	somebody	new	2008-11-11T01:26:10Z+0000	2008-11-11T02:09:14Z+0000	"{{{rotate3}}} rotates about the origin and {{{scale3}}} fixes the origin and scales along the x y and z axis.  An affine transform should be origin independent, and operations ought to be basis independent.  

{{{rotate3}}} should take an fixed point parameter (a point on the rotation axis).  {{{scale3}}} should take an fixed point parameter (the point to be fixed by the scale) and a vector that gives the direction to scale and whose length specifies the scaling factor. {{{uscale3}}} should take a fixed point and a magnitude. {{{translate3}}} is fine.

These changes prevent common errors such as scaling or rotating sending the object outside the field of view.  This happens because users intuitively expect the operations to scale and rotate about some unstated centre of mass.  By requiring these parameters, users will think about where the want to scale and rotate about and pass in the required information.

The same changes should be applied to {{{Transform2}}}.  However a {{{reflect}}} function should perhaps be added because otherwise all {{{Transform2}}} functions would have positive determinant."	r6
