TODO List - worlds simplest bugtracking system 

--Packaging--

--Main app--
	Fix Needs testing:
	To Implement:
		== Next version ==
		* Camera animation control (slerp?)
		* Support for XY scatter plots
		* Front-to back alpha blending ordering support for
		 scene drawing of non-pointcloud objects
		* Voxelisation filter needs progress
		* Better progress during cluster ranging
		* Clipping should be parallelised
		* Billboard text
		* Voxel export dialog 

	
		== Eventually == 
		* Binomial? (MM edition)
		* Improved resolution dialog (Easy fix, but needs time/thought)
		* Stream information filter (Easy fix, but needs time/thought)
		* Polynomial error estimator in graph
		* Shear-warp volume render mode for voxels
			- This can be broken into two useful stages
				(1) transfer function editor, could be tested with point cloud mode
				(2) Volume render code (check out SMVIS, Author gave perm. under GPLv3+)
		* Ion exchange/explode filter
		* DTD (Document type descriptor) for state files, to
		  specify a consistant statefile structure
			- How to ensure version compatibility in future
			state files?
		* VTK/xyzm output
		* BB cache for ion data?
		* Option to warn on file overwrite with save after merge (default off)
		* Theora video?
		* Multiple selection in filter tree for many to one stash/unstash operations
		* We are using too many timers. There are limits to max. timers (win32?).
		* Voxel export

	Outstanding bugs:
		== Next release==
		* Select an X-Y crop, camera coords, on a dataset,
		  then view   target  (-9.14237,-0.995174,83.2904) origin
		  (188.23,-0.995174,83.2904). Now press ctrl+space. Note
		  dataset disappears until mouse motion. This is due to
		  camera up vector not being updated, I suspect.
		* Bar plots do not work (under windows?) for composition profiles
		* Text bounding boxes are wrong.
		
		== Eventually==
		* If errors are encountered in Filter::readState, then
		 the object will be in a half-read state, due to the
		 in-place data loading.
		* Scroll wheel on text area for camera drop down does
		  not scroll cameras; only on button (wxGTK only??)
		* Switching between fixed width and num bins in voxel
		  repeatedly causes "drift" of values -- aliasing errors?
		* Colour bar drawing broken when tiling an output image
		* Loading a full pos file directly onto the video card cannot be aborted.
		* Error bar masking for graph (mathgl draws error bars outside plot boundary)
		* Pos load add could always add to bottom of filter list,
		 rather than default value
		* Grid copy/ctrl-c doesn't seem to work under GTK. The data gets
		  passed to the clipboard, but then wx doesn't appear to
		  do anything with it...
			- Could be constrained to wxGTK2.8 or less (
			 wxWidgets Bug Ticket #11811 ??? )
		* Under mac osx, changing languages does not cause stock
		  wx translation strings to change, even after app restart.

		== Needs reproducing ==
		* Invalid range file being opened cause Package export to crash
		* Data files when failing to load, do remove, but are put back at next program load	
		* was able to get assertion (excomponents.cpp:399) when selecting orthogonal camera.
		* Windows appears to have weird front-back drawing behaviour for point clouds.
		* Debian user reports unconditional segfault in libmgl during STIX font parse. 
			- Debian Bug 623431 : http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=623431
			- Patches sent upstream, fixed the issue for me. Original bug reporter not responsive

	Auditing:
		== Next release ==
		* Check each filter is actually reporting the required cache memory
		* Update licence headers

	Performance:
		* Scene is sometimes continuously refreshed during post effects, causing CPU usage
		  to max out.
		* Clipping sphere/cylinder does BB test? (only useful if we have bb cache)
		* Pos limit loader could alter its behaviour when
		 sampling rates some percentage to be determined (load
		 file, skip buffer).
		* Clustering could be paralellised, but is complex. Split & weld along KD tree lines using 
		  cluster BB interactions.
	
	Misc:


-- Refactor/cleanup --
	* Interaction code needs to be cleaned up. Currently it is a substatiative hack.
		- Viscontrol should store a copy of the original tree,
		  then periodicially compare it to the current tree. if it
		  is different, then it should invalidate the caches for
		  the different bits, and then force a refresh. This would allow for removal 
		  of the callback mechanism that is currently in use
	* work out which inline FIXMEs and TODOs are still valid, and need attention
	* I have multiple colour classes floating about. might be an idea to unify them.
	* K3DTree currently requires public access to members of boundcube






--- Upstream/External problems I can't solve---
* Clipping doesn't work with nouveau driver in OpenSuse:
	03:00.0 VGA compatible controller: nVidia Corporation G98 [Quadro NVS 420] (rev a1)
	Perhaps this:
	https://bugs.freedesktop.org/show_bug.cgi?id=35878 

	nouveau               553248  3 
	ttm                    65906  1 nouveau
	drm_kms_helper         33008  1 nouveau
	drm                   221762  5 nouveau,ttm,drm_kms_helper
	i2c_algo_bit            6728  1 nouveau
	button                  6989  1 nouveau
	Linux hostname 2.6.34-12-desktop #1 SMP PREEMPT 2010-06-29 02:39:08 +0200 x86_64 x86_64 x86_64 GNU/Linux
	xorg-x11-driver-video-nouveau-0.0.15_20100401_bfb95cc-1.10.x86_64



