TODO list for PDP++ software.  
Items with a 2.0 in front of them should be done before the 2.0 release.
Items with ?? are suggestions that have no specific target date.

General/High pri/Bugs:
======================

??	- add additional kinds of data analysis, complexity reduction routines:
	- PCA on the distance matrix in enviro?
	- multi-dim scaling

??	- sum_se and cycles should default to text in gridlogview

??	- READ_ONLY, SHOW_IV in css classes

Manual: 
============

??	- better demo and explanation of control scripts.

Editing:
============

??	- editing: check mark on specs not being set when up/down
		incrementer is used to set values

??	- object chooser should be able to select/highlight current value
	of an item when used to select.

??	- fix group/array edit dialog to resize properly when new items are
		added. (window resizing in general).

Makefiles/Packaging/Porting:
===========================

??	- port to mac OS X

??	- should have a fancier prompt for which libraries to depend on in
	mknewpdp, which could then grab the appropriate .def file, and 
	insert the correct library in the makefile (and in the _vt file!)..


ProjectView:
============

??	- support for syncepochproc, forkprocess -- multiple env, net links.


EnviroView:
============

??	- draw mode instead of rescale in enviroview?

??	- css accessability of the enviroview pat head, etc stuff.

??      - Need a "read from file" Environment that reads n events at a time from
          a file, for users with large (>10K events) environments.

??	- add graphical representation of event groups and associated
          parameters?  probably too difficult with event layout.

??	- maybe not: make a new class of EnviroGen objects, which each
	have various arguments, a "Run" button, inherit from ScriptBase, 
	and implement various environment generate routines..
	
LogViews:
============


NetView:
============

??	- can't move self-con prjns, should be able to...
       
??	- Projection View mode, which allows user to turn off projections
	  or show only minimal projections (only one arrow drawn between
	  layers with more than one projection connecting them)
	  
??	- add an arbitrary calling of spec functions (registered with a #NETVIEW
	 	directive) menu to netview, just contains menu_methods for these
		specs.  then, need a function on network/layer/unit/etc. that 
		calls these functions where applicable.  provides central interface
		for misc additional functions (in addition to
		build, connect, etc)

Netstru/Enviro simulation object stuff:
=======================================

??	- prjn spec for rectangular chunks of input space def'd by corners,
	operating over chunks of recv units.

??	- Some way to fix PolarRandom to not be so circulo-centric ---
	correction factor for density of closer points?

??      - tesselprjnspec weight init does not work for clipped weights: can it be fixed?
	(very hard to fix, probably just leave as is)
	

Algorithms:
============

??	- aa++ (auto-associator) executable: linear, clipped BSB, Hopfield,
		simple IAC (0 decay), std binary (perceptron),
		 different learning rules (ext - int), jay's special version, etc.

Demos:
============


CSS/low-level Misc
==================

??	- Last() and Prev() functions for leaf itr based traversal of a list
	in reverse order.

??	- css classes: assign to/from strings.

??	- css: redefining an extern-declared class object prevents it
	from being updated when class changes.  soln is to use a pointer!

??	- redefine operator '->' to be magic GetFromPath() for all
	taBase objects, so you can write lazy css-like code in C++ and
	it will work.. (problem is, can you have it take an arg??)

??	- time stamp for auto-recompile on scripts..

??	- wait cursor while running css code..

??	- css: are enums optimized in css (does it look it up every time?)

??	- css: also enable the taLeafItr to be used in looping constructs in css,
	need to have both-way-assignment of reference variables in the stubs.

??	- stream args don't get saved as string values properly in scripts,
	or as default values..:  can the fd be used to get back to the file name??

??	- support for 'up' and 'down' stack traversal in css: get this with 'trace' cmd,
	but ability to print stuff selectively at given level would be nice.


Longer-Term (bigger jobs) General:
==================================

	- convert to Qt?
	- #HILIGHT_MODIFY or something comment directive to
	          highlight buttons such as UpdateView on viewspecs
	- #HIDE_XXX comment directive to hide parents' objects and
           functions from class' graphic interface.
	- css command strings can be sent via USR2 signal 
		(look for file with exec name + pid and then load that into css
		and then continue (which is the hard part))
		- user has to have a "Run()" to continue processing in script
	- type default scripts: css script attached to a typedefault object
		that will do things when object is created (create sub-structure,
		establish links to other objects?)
	- edit on enum value comment directive (and conditional fields more generally)
		#EDIT_ON_XXXX=VAL, disables when XXX is not val
	- replace current output (css print) mechanism with one
		based on the ta_iv_type objects, which would have a new
		function that does the outputting.  this would allow specs
		to flag those members which are unique in the print output..
		(are all ta_iv_types loaded if no iv?  not currently.  need to 
		remedy this first).
	- unify output (above) and copying with the taiv_Type thing, 
		and generalize the mechanism for copying (currently it is
		a bit hacky, esp w/ pointers to functions, etc.

Probably not worth it:
======================

        - Scripted UNDO feature
	- scale factor on spec inherited floats/ints
	- spaghetti line display for unit connections
	- record scripts should not create *ths for edit dialog changes when
          only one member has changed
	- GraphLogView:	- maybe axis should be named?
        - also, need to support more useful key inputs ala emacs, etc.
	maybe even cut & paste from X?
      
