TODO List - worlds simplest bugtracking system 

--Packaging--

--Main app--
	To Implement:
		== Next version ==
		
		== Eventually == 
		* Support for XY scatter plots
		* Status bar message queue
		* Voxel export dialog 
		* VTK voxel data export
		* Binomial? (MM edition)
		* OPS and other 3DAP formats reader?
		* 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 consistent 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?).
		* 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
		* Camera animation control (slerp?)
		* Undo by timestream
		* MD5sums could be used on filter input to determine cache-refreshingness! (clever!)
		* Per ion type ion display sizes?
		* CSR fit to NN Hist in spatial analysis 
		* NN "shift" algorithm (delta sqrmag -> value)
		* Bounding box tick values could be improved - scientific
		  notation, better font size control, absol. coords, etc
		* Voxelisation filter should not show ions disabled in upstream range
		* Range file drag/drop ignores drop coordinates; this could be useful
		  in trying to interpret where the user wants to drop the object
		* Should allow loading of just XYZ files, but create dummy mass & warn
		* Plots cannot currently be updated on name change. Need to add "needUpdate" to setUserString

	Outstanding bugs:
		== Next release==
		* Abort behaviour odd, shows "aborted" generic message, then waits for several seconds, then shows error
		* File -> export image -> Height*=2, results in aspect ratio of output image being distorted
		* Cluster filter wont save state correctly if parent
		  rangefile has disabled ions. It will output incorrect
		  number of enabled ions, and get wiped during next ::initFilter
		* Don't appear to be able to move ranges in plot
		  below/above upper and lower bound of data, regardless
		  of plot zoom status
		
		Windows:
		* section symbol does not display on console tab
		
		OSX:
		* drag drop not working?
			
		== Eventually==
		* Lighting calculations on isosurfaces can be problematic. See example package
		* Voxelisation "filter" option appears to be reducing voxel intensity
		* Loading a full pos file directly onto the video card cannot be aborted.
		* OSX drag/drop functionality broken.
		* 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
		* 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.
		* 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.
		* 3D Text bounding boxes are wrong.
		* mac os x: icon on dock bounces very fast during some refreshes
		* mac os x: update from rss feed crashes

		== Needs reproducing ==
		* Invalid range file being opened cause Package export to crash
		* Duplicate range at end when exporting range
		* Large datasets causing crash?
		* Ion transform leaking memory??
		* Windows (32 bit on 64) crash on startup bug -- seems to happen after
		  locale init, maybe openGL related (there was a second
		  opengl program running at the time - context
		  problem???). Cannot reproduce... Maybe fixed by improved
		  glpane error code?

	Auditing:
		== Next release ==

	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.
		* Examine performance characteristics of HULL_GRAB in ioninfo
		* Conversion of double axis-angle rotations to single axis angle rotations - any value here?
	
	Misc:


-- Refactor/cleanup --
	* updateFilterPropertyGrid is in a bad location, need new
	  file that knows about filters and wx at the same time,
	  but is not viscontrol ;)
	* Refactor wxMessageDialog *... to wxErrMsg(..)
	* Plotting code is a nightmare. Data model for plot.h is not
	   very well thought out, leading to large duplication, and elaborate special-case-ing
		- Plots need log/non-log axes
		- Plots need to be connected/disconnected
		- Plots need to be able to specify bounding boxes separate from their data
		- Plots need to be able to set strings/legends
	* 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

-- Deprecate --
	* On Minor version change:
		- DataLoadFilter::readState(...) -> doSample test for statefiles without doSample.
			- 3Depict versions prior to 1207:2a01b7e83d75
