nengo / nengo-1.4

Create and run detailed neural simulations
http://www.nengo.ai/nengo-1.4
96 stars 22 forks source link

simulator-ui/doc/todo.txt #100

Closed tbekolay closed 11 years ago

tbekolay commented 12 years ago

[Issue migrated from SourceForge | ID: 3031722 | Submitted by 'tbekolay'] [http://sourceforge.net/support/tracker.php?aid=3031722]

This is just a todo.txt from the simulator-ui/doc directory. Putting it here so that I can remove it from the SVN repository, as it makes more sense to have it in the bug tracker than mixed in with the code.

We should go over this list, take anything that still needs to be done and make separate feature requests / bugs for them, and then close this.


Done


03/22/2008 - Command key substitutes for Ctrl on Mac platform. 03/22/2008 - Zoom to fit selected objects 03/22/2008 - Request ID 1915622: Added noise and singular values selection to unconstrained decoders

03/22/2008 - Added rename logic to node creation code paths 03/22/2008 - Creating nodes through File->New now places them in the top container 03/22/2008 - Tweaked look-and-feel of ConfigDialogs

03/22/2008 - PropertyDescriptors (used to construct a ConfigDialog) now have a setDescription and getDescription which affects the tooltip. You can also pass in the Description via the constructor. PropertyTypes are now not shown in the Dialog, you can hover over the property to see that.

03/16/2008 - Added rename to Node menu 03/16/2008 - Name conflicts are resolved on paste, and drag-drop

03/16/2008 - Limited drag & drop functionality added. Can only drag-drop top->down. Cannot drag & drop from inside to outside of a Container 03/16/2008 - Cut & Paste moves the model, Copy & Paste uses cloning 03/16/2008 - Modified paste functionality to paste into the NodeContainer at the center of the screen before, it was whichever NodeContainer was maximized


Pri 0 - doing next


Events to pass more information like the node it occured one. Selectionhandler should attach on destroy events to remove item from selection

Need to create UIFiles directory

Add listener to catch name changes of the children of NengoGraphics

Add ability to surface DataType and Description for Fields of PropertyInputPanel

Scroll the other way when a mouse is dragged off the screen

Update ensemble, network, and function icons to be Vector

Elastic forces should be assynmetrical between two objects ( proportional to weight of base object )

Auto-remove dangling probes and projections when a Network is updated Detect projection removals, scan through all origins and terminations, looking for projections, then remove the one's which don't exist anymore

Disable zoom & panning while animating camera (use isAnimating())

Run memory test to find leaks

Create more advanced tests Create, delete, modify nodes

UIProjections disconnections should be done in UINetwork level through updateViewFromModel()

Show popover message when model is updated Consolidate all viewer updates in updateModelFromViewer() Show popover message from there


Pri 1 - Postponed


Drag and drop UINeoNodes between networks (worlds)

Reversable actions Aggregate actions: actions can be chained, and this chain undone.

Custom file format

Brain View interface Click to bring a cross section to front, zooming between sections

  1. What operations are undoable? I think it would be nice if everything was (including object removals & layout changes). Would this be hard?

There are two primary types of user actions in the Interface. Standard Action and Reversible Action. Layout algorithms are undoable, but individual node movements aren't yet. I'll add "make node layout changes undooable" to my todo list. There are some concerns about object removals. It's somewhat difficult because I have to remember not only the Node that was removed but the connections, probes, etc... that it had. Also, some networks take up quite a lot of memory, and keeping them in the undo history would keep them from removal. Perhaps I can make some types of object removals undooable?

information visualization dimensions of functions, nodes


Pri 2 - will do eventually


set the title of the Swing Frame to that of the maximized Zoomable Window

units selection for UI Dialog

Edit properties of existing models

keyboard search of nodes (auto-panning)

For Jung Layout algorithms, consider making WorldObject a Vertice, or making a Vertice Wrapper for world objects

hot keys to change the level of semantic detail in the view. ie. press ctrl to see Node properties

Write a help doc


Pri 3 - maybe if there's time


Lenses to show/hide information

Unconnected lines should be highlighted

Redo functionality to allow duplicate actions to be performed


Requests


Event notifications from Models


Previously Done


03/12/2007 - UIOrigin and UITermination objects are now created through factory methods, to ensure that the correct wrapper is used. 03/10/2007 - Added SpikingNeuronFactory to options for NEFEnsemble Constructable Dialog 03/09/2008 - Added Node Factory selection options NEFEnsemble Constructable Dialog

03/05/2008 - Terminations and origins are removed from the UI on VisiblyMutable event 03/05/2008 - Fixed bug where a removing a node with a recursive connection caused an exception 03/01/2008 - Popup check in mousePressed(), before it was checked in mouseReleased() only. 03/01/2008 - Mock copy & paste functionality added 03/01/2008 - Added accelorator keys for Menu items 03/01/2008 - Renamed NeoGraphics class to NengoGraphics 03/01/2008 - Added debug messages for Context Menu troubleshooting, disabled same-key check 03/01/2008 - Added error handling when user adds projection outside the scope of a network

02/26/2008 - Exposed terminations & origins are now yellow You can see their exposed name in the tooltip Be careful, projections cover the exposed terminations' color (is this ok? since only one projection is allowed per termination anyways)

02/22/2008 - Context menu now triggered by event.isPopupTrigger() 02/22/2008 - Disabling full-screen mode until issues resolved\ 02/22/2008 - Exposing origin/ terminations sets them to visible in the Icon Before, they were added, but were hidden until explicitly shown. 02/22/2008 - Gaussian function name typo fixed 02/22/2008 - Duplicate Name check on Node Containers before Node models are created 02/22/2008 - Specialized Error messages for file loading

02/22/2008 - Decreased default width of tooltip to 250 pixel 02/22/2008 - Decreased tooltip fadeout time to 100ms 02/22/2008 - Tooltips remove immediately on mouseOut 02/22/2008 - Container Icons are updated when model is updated

02/17/2008 - Fixed bug with input projection removals from event 02/17/2008 - Double-cling on probes now open default plot 02/14/2008 - Projection removals now event driven 02/14/2008 - Probe removals now event driven 02/14/2008 - Script world wrapper added to add / remove nodes add(node, posX, posY) allows you to add a node to a specific position 02/14/2008 - Ctrl-P now opens and focuses the ScriptConsole 02/13/2008 - Shortcut keys can be defined in initShortCutKeys() They are visible in the help menu too: help->shortuts 02/13/2008 - Sorting fixed 02/13/2008 - Fixed concurrency issue whereby two threads tried to add projections at once. All model update events are executed in a pending thread. I didn't do this earlier because I thought I'd move all unify all UI update operations in one function, which I now think is impractical.
02/13/2008 - Projection popup messages now have the format NodeName.PortName 02/13/2008 - Removed StorageName from NEFEnsemble constructor Note: you can disable tooltips from showing automatically in the "World" menu. This setting is saved between sessions. You can force them to show intentially, but holding down the "ctrl" key.

02/12/2008 - Fixed bug where decoded termination input dimension couldn't be changed 02/12/2008 - Fixed duplicate nodes on node creation 02/12/2008 - Fixed null listener on VisiblyMutable, (turns out it was a base class intializer calling that funciton before it was intialized) 02/12/2008 - All top level objects are registered in Script Console 02/12/2008 - Applied style to script editor 02/12/2008 - Fixed memory leak in window 02/12/2008 - Renamed to Nengo 02/12/2008 - Script console now notified of current object, and top level network add/removes 02/12/2008 - Hooked up listeners for VisiblyMutuble, however many changes are not reflected in UI yet (such as projection add/removes) 02/12/2008 - Configuration panel opens in new window 02/06/2008 - Updated style of configuration pane 02/06/2008 - Script Editor to open in new window 02/06/2008 - Matlab exporter added 02/06/2008 - Construct object menu, filter to show only Node

02/05/2008 - Configuration & Script Console integrated into NeoGraphics 02/05/2008 - Advanced construct menu in NodeViewer uses NewConfigurableDialog

02/03/2008 - Data viewer integrated into NeoGraphics window 02/03/2008 - Configuration action added to popup menus

01/20/2008 - Inline search, use 'f' to start. 01/12/2008 - Use ClassRegistry to register classes in plugins directory 12/22/2007 - The Java Swing Frame's title is updated with the maximized Window's name 12/22/2007 - Data List viewer recursively find data nodes and displays the correct number 12/22/2007 - UpdateGraph() is called from Swing context to avoid synchronization problems

12/18/2007 - Elastic layout now works with animations 12/18/2007 - Create graph from ElasticObject and Edge 12/17/2007 - Spring Layout done 12/17/2007 - New prettier window icons 12/17/2007 - Sequential popup messages no longer overlap 12/17/2007 - Connection code improved

12/15/07 - Updated menu styles, Improved Windowing behavior when overlapped, Aesthetic improvements 12/15/07 - Support saving/opening of any NEO Node 12/15/07 - Expose Origin and Expose Termination. 12/15/07 - Improved drag & drop handling code 12/09/07 - New Ensemble decoded origin dialog now only shows common origins in child nodes 12/09/07 - Decoded ensembles & nodes under construction should fade in & out 12/09/07 - Due to memory considerations, dimension expansion on TimeSeries nodes in DataListViewer requires a user action it is no longer automatic 12/09/07 - Container nodes in the Data List viewer are sorted.

11/26/07 - DragAction no longer has hard references to objects 11/22/07 - Export data files 11/21/07 - Multiple data items can be cleared and undone 11/20/07 - Data List manager created 11/17/07 - Collecting spikes should be represented by an icon 11/17/07 - Duplicate probes cannot be added in local simulator

DONE (Nov 5) - Interperter work DONE (Nov 4) - Function input dimensions are enforced in UI Panels DONE (Oct 24) - MatrixEditor is accepts the last change when user clicks ok DONE (Sept 30) - Termination is now configured reflectively through ca.nengo.util.Configurable interface DONE (Sept 30) - Simulation progress is now tracked in the UI DONE (Sept 30) - Ability to add decoded origin DONE (Sept 4) - Can view Z-Plane brain imagery, see BrainViewExample.java DONE (Sept 4) - Some actions can be applied to multiple selected objects DONE (Sept 1) - Move actions are now undooable DONE (Aug 31) - Added first iteration of comments, code cleanup, refactoring DONE (Aug 31) - Added Keyboard mnemonic shortcuts for menubar DONE (Aug 31) - Made layout animations zooming parallel with node positions. (08/10) - Show information on Origins and terminations (08/10) - Made tooltips follow the camera on zoom

(08/10) - Two phase fade-in for tooltips (they turn opaque after 2.5 seconds) (08/10) - Option to load other networks& ensembles from within networks (08/10) - Added option to minimize/close all windows (08/10) - Performance debugging, fixed some memory leaks with Windows & Viewers.

(08/09) - Some user preferences are saved to file (08/09) - GFrame remembers user preferences in a serialized user configuration file (08/09) - Plot decoded origins (08/09) - Plot spikes (08/09) - Set/view documentation (08/09) - Tooltips with heterogeneous node information added

(08/08) done - Two types of Transient UI feedback for events such as File Save, New connections, etc... Events which modify NEO models should now have UI feedback (08/08) done - Remove probes, probes are also updated from the Simulator using getProbes (08/08) done - fixed infinite loop bug when GProbe is destroyed (08/08) done - fixed some Swing thread safety issues

(08/08) done - size of ensembles & networks proportional to number of nodes (08/07) done - save/open ensembles (08/07) done - Plot Functions (08/07) done - added option to remove projections from terminations (08/07) done - hide/show origins and terminations (08/07) done - automatically show origins and terminations on hover over

(08/07) done - Preliminary Ensemble Viewer created (08/07) done - fixed some bugs with UI connections not detaching correctly DONE - Select multiple things at once

done - File menu, to load saved networks (Use Swing File Dialogs) done - Save network from NetworkViewer, or PNetwork

done - undo /redo done - It would be nice to have an easy way to maximize the network viewer (controls in upper-right corner like windows would be good) done- When a node is deleted, its origins and terminations should also be deleted done- There should be either scrollbars or a fit-on-screen function (I lost a function in the infinite network viewer)

tbekolay commented 11 years ago

I've read through this and from the text spawned issues #257, #258, #259, #260, #261, and #262.