File: TODO.orig

package info (click to toggle)
3depict 0.0.21-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 17,908 kB
  • sloc: cpp: 72,771; sh: 6,497; xml: 1,576; python: 326; makefile: 194; ansic: 186
file content (126 lines) | stat: -rw-r--r-- 5,842 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
TODO List - worlds simplest bugtracking system 

--Packaging--

--Main app--
	To Implement:
		== Next version ==
		* Fix animation under windows, seems to crash
		* Easier camera rotation?
		* Latest mathgl has a proper "no-drop-lines" draw mode
		* Density filter unit test
	
		== Eventually == 
		* Filters: Spatial Analysis: Local chemistry based filtering to handle unranged ions (possibly change Local
				Chemistry's behaviour too)
		* Filters: Spatial Analysis: Local chemistry based filtering to use parallel mode
		* XML file loading is a bit iffy if paths are moved
		 around. A nice convenience feature would be to have an
		 option to scan for the files in a relative manner if
		 they are not found using the absolute path
		* There is no way to get a mass spectrum from clusters with background.
			- Import clustering w background from posgen?
		* Voxelisation filter should not show ions disabled in upstream range
		* Improve voxel data export UI
		* Mesh generation/operation?
			- This is tricky. I don't have a good mesh library
		* Proxigram?
		* Update to qhull 2015's qhull_r (reentrant qhull). 
			- This requires some refactoring of the doHull wrapper for convex hull computation
		* OPS and other 3DAP formats reader?
		* 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?
		* Voxelisation filter needs progress
		* Better progress during cluster ranging
		* Billboard text
		* Camera animation control (slerp?)
		* Range file drag/drop ignores drop coordinates; this could be useful
		  in trying to interpret where the user wants to drop the object
		* Plots cannot currently be updated on name change. Need to add "needUpdate" to setUserString
		* Isotope overlay in normal spectra
			- Include full atomic species eg 57^Fe18^O in label, and charge state
		* Poisson error estimation
	
	Outstanding bugs:
		== Next release==
		* Under windows there is a problem with parsing the rss feed. This results in a user-visible error
	
		== Eventually==
		* 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
		  	- Spatial analysis is a bit more sane - it records the name of the
			  ions in use
		* Spatial analysis filter uses a subset of ions from the parent rangefile
			- It might be better to use a full set of ions,
			 as this would eliminate the logic required to sync
			 the two. The properties could be masked as needed
		* Lighting calculations on isosurfaces can be problematic. See example package
		* 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.
		
		OSX:
			* drag drop not working?

		== Needs reproducing ==

	Auditing:
		== Next release ==

	Performance:
		* Scene is sometimes continuously refreshed during post effects, causing CPU usage
		  to max out.
		  	- This doesn't happen on all systems.
		* 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 can now be paralellised. 
		* Examine performance characteristics of HULL_GRAB in ioninfo
		* Conversion of double axis-angle rotations to single axis angle rotations - any value here?
			- Use TRIAD/ Wahba's problem to solve. Should be a lot faster?
	
	Misc:


-- Refactor/cleanup --
	* read/write xml could have default reader/writer routines
	Variables could be registered, then an order independant parser
	could be used to "vacuum" most of the data. Bounds/corretness
	checking could be used thereafter, and fallback to traditional
	xml tree traversal could be done after that
	* 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
			- This would aid things like bar plots, pie charts
		- Plots need to be able to set strings/legends
		- There is little diference between plot1D and plot2D, really.
		- Error bar handling is a bit of a hack.  Error generation should be moved to filters
	* work out which inline FIXMEs and TODOs are still valid, and need attention
	* K3DTree currently requires public access to members of boundcube
	* Enums should be, where possible, moved into their relevant class' namespace
	* Better error code behaviour for filters. There is a lot of needless duplication
	* There is a confusion of responsibility between filter.{cpp,h} and filterCommon.{cpp,h}
		- what is the division here? this is unclear

-- Deprecate --
	* On Minor version change:
		- DataLoadFilter::readState(...) -> doSample test for statefiles without doSample.
			- 3Depict versions prior to 1207:2a01b7e83d75
		- VoxeliseFilter::readState(...) -> axial slice read will be silently skipped if it is missing
			- 3Depict versions <= 1628:ffa0b851e966 don't know about this element 
		- Annotation XML element "sphereanglesize" name doesn't match its purpose, and needs to be renamed "spheremarkersize"