FRED & FAVI in details
This section contains more precise overview of what Fred and Favi are to be. It's split into three parts:
- in the first one you can find what is the scope of the project, what are the expectations, and who is likely to benefits from it.
- second one concerns FRED, which is the main goal of this project
- and finally third part, will guide you throughout the Favi's future duties.
GENERAL INFO
Visual editor of virtual organisms:
The idea is to support users with a user-friendly editor of any stick objects and related neural networks (body & brain). The editor should load the Framsticks f0 genotype, present it in visual way, allow for modification, and output the f0 genotype.
Questions to: maciej.komosinski@cs.put.poznan.pl
Outcome:
2 programs:
- editor "FRED": 'big' application in current Java, swing+java3d(?)
- simple applet "FAVI" (only body & brain viewer : java1.1?)
...having as much common parts as possible.
Users:
Amateurs and professionals from the domain of simulations, physics, mechanics, biology, artificial intelligence and computer science. Language for user interface and documentation will be English.
Implementation:
The source should be modular and reusable, as possible. Some parts may be inspired by Framsticks C++ source. Some parts should be based on existing C++ classes: part, joint, neuro, neuroclass, model, neuronlayout. Most documentation needed concerns SDK and is available here.
Suggested Release Schedule
#1. java-sdk - whole functionality of existing C++ classes (pt3d+orient+) part+joint+neuro+neuroclass+model (+param?)
#2. GUI object interface - viewer and it's first implementation (simple drawing of model and schema). Interface defines calls of type e.g."show_model" and possibly generates events.
--
GUI object interafce - editor and it's implementation (a subclass of simple viewer object). Interface generates events of type "element of model selected", "element of model moved" etc.
#3. editor using GUI classes from #2 point (both classes linked + property windows and typical edit functions)
#4. alternative implementation of drawing - java3d/idx3d, user-friendly, nice-looking interface
FRED
Some features of Fred:
- one genotype at a time
- loads description of some elements/properties from XML files:
-
- additional atributes of classes part/join/neuro (extraproperties from sdk)
- min/max/default values of these attributes
- sequence of all attributes
- definitions of neuron classes (same as in neuroitems.h file)
- shows correspondence f0 genotype parts <=> visual model parts
- understandable and clear 3D visualization (perhaps inspired by some existing applications, like 3DStudio)
- predefined set of views (top, bottom, left etc.)
- user friendly camera control:
-
- zoom
- pan
- rotate
- autozoom (fit to screen)
- user-friendly, drag-and-drop design of body and brain:
-
- zoom/pan/rotate of the body; autozoom
- zoom/pan of brain; autozoom
- right-click shows properties
- TAB circulates through objects, etc.
- animate NN flow
- statistics of the designed model (number of parts etc.)
- validation of objects (warnings when unconnected neurons, sticks, reduntant muscles, etc.)
- cooperation with external program(s)/Internet (helper apps):
-
- testing in various environments (tester)
- genotype format conversion (converter)
- genotype mutation
- copy & paste (in f0 format), duplicate elements
- user fills in "properties": creature name, creator name, contact data, description...
- connect and down/upload genotypes from remote database (http/html standard)
- menu web: submit, visit news etc.
Fred GUI
- MDI
- windows: body, brain, f0 (single), statistics (single)
- any number of body and brain windows
- drawn links body <-> brain (?)
- f0 <-> visual: (delayed) synchronization
- toolbars, shortcuts
FAVI
Some features of Favi:
- simple viewer
- accepts one genotype at a time
- understandable and clear 3D visualization (body and brain)
- predefined set of views (top, bottom, left etc.)
- user friendly camera control:
-
- zoom
- pan
- rotate
- autozoom (fit to screen)
- statistics of displayed model (number of parts etc.)
- paste from clipboard (in f0 format) to view
- preview of visualised genotype's code
Favi GUI
- SDI
- windows: body, brain
- preview of genotype f0 (dialog), statistics (status)
|