Index: js/viewer-f0/f0def.xml
===================================================================
--- js/viewer-f0/f0def.xml	(revision 188)
+++ 	(revision )
@@ -1,209 +1,0 @@
-<!DOCTYPE F0CLASSES>
-<F0CLASSES>
-
- <CLASS ID="m" NAME="Model">
-  <GROUP NAME="Properties" />
-  <GROUP NAME="Visual" />
-  <PROP ID="se" NAME="startenergy" GROUP="0" FLAGS="1024" TYPE="f" />
-  <PROP ID="Vstyle" NAME="vis_style" GROUP="1" FLAGS="0" TYPE="s" MIN="0" MAX="-1" />
- </CLASS>
-
- <CLASS ID="p" NAME="Part">
-  <GROUP NAME="Geometry" />
-  <GROUP NAME="Other properties" />
-  <GROUP NAME="Visual" />
-  <PROP ID="x" NAME="position.x" GROUP="0" FLAGS="1024" TYPE="f" />
-  <PROP ID="y" NAME="position.y" GROUP="0" FLAGS="1024" TYPE="f" />
-  <PROP ID="z" NAME="position.z" GROUP="0" FLAGS="1024" TYPE="f" />
-  <PROP ID="m" XTRA="1" NAME="mass" GROUP="1" FLAGS="0" TYPE="f" MIN="0.1" MAX="999.0" DEF="1.0" />
-  <PROP ID="sh" NAME="shape" GROUP="1" FLAGS="0" TYPE="d" MIN="0" MAX="3" DEF="0" />
-  <PROP ID="s" NAME="size" GROUP="1" FLAGS="0" TYPE="f" MIN="0.1" MAX="10.0" DEF="1.0" />
-  <PROP ID="sx" NAME="scale.x" GROUP="1" FLAGS="0" TYPE="f" MIN="0.001" MAX="1000.0" DEF="1.0" />
-  <PROP ID="sy" NAME="scale.y" GROUP="1" FLAGS="0" TYPE="f" MIN="0.001" MAX="1000.0" DEF="1.0" />
-  <PROP ID="sz" NAME="scale.z" GROUP="1" FLAGS="0" TYPE="f" MIN="0.001" MAX="1000.0" DEF="1.0" />
-  <PROP ID="dn" XTRA="1" NAME="density" GROUP="1" FLAGS="0" TYPE="f" MIN="0.2" MAX="5.0" DEF="1.0" />
-  <PROP ID="fr" XTRA="1" NAME="friction" GROUP="1" FLAGS="0" TYPE="f" MIN="0.0" MAX="4.0" DEF="0.4" />
-  <PROP ID="ing" XTRA="1" NAME="ingestion" GROUP="1" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.25" />
-  <PROP ID="as" XTRA="1" NAME="assimilation" GROUP="1" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.25" />
-  <PROP ID="rx" NAME="rot.x" GROUP="0" FLAGS="0" TYPE="f" />
-  <PROP ID="ry" NAME="rot.y" GROUP="0" FLAGS="1024" TYPE="f" />
-  <PROP ID="rz" NAME="rot.z" GROUP="0" FLAGS="1024" TYPE="f" />
-  <PROP ID="i" NAME="info" GROUP="1" FLAGS="0" TYPE="s" />
-  <PROP ID="Vstyle" NAME="vis_style" GROUP="2" FLAGS="0" TYPE="s" MIN="0" MAX="-1" DEF="part" />
-  <PROP ID="vs" XTRA="1" NAME="visual thickness" GROUP="2" FLAGS="0" TYPE="f" MIN="0.05" MAX="0.7" DEF="0.2" />
-  <PROP ID="vr" XTRA="1" NAME="red component" GROUP="2" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.5" />
-  <PROP ID="vg" XTRA="1" NAME="green component" GROUP="2" FLAGS="1024" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.5" />
-  <PROP ID="vb" XTRA="1" NAME="blue component" GROUP="2" FLAGS="1024" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.5" />
- </CLASS>
-
- <CLASS ID="j" NAME="Joint">
-  <GROUP NAME="Connections" />
-  <GROUP NAME="Geometry" />
-  <GROUP NAME="Other properties" />
-  <GROUP NAME="Visual" />
-  <PROP ID="p1" NAME="part1 ref#" GROUP="0" FLAGS="1024" TYPE="d" MIN="-1" MAX="999999" DEF="-1" />
-  <PROP ID="p2" NAME="part2 ref#" GROUP="0" FLAGS="1024" TYPE="d" MIN="-1" MAX="999999" DEF="-1" />
-  <PROP ID="rx" NAME="rotation.x" GROUP="1" FLAGS="0" TYPE="f" />
-  <PROP ID="ry" NAME="rotation.y" GROUP="1" FLAGS="1024" TYPE="f" />
-  <PROP ID="rz" NAME="rotation.z" GROUP="1" FLAGS="1024" TYPE="f" />
-  <PROP ID="dx" NAME="delta.x" GROUP="1" FLAGS="0" TYPE="f" MIN="-2" MAX="2" DEF="0" />
-  <PROP ID="dy" NAME="delta.y" GROUP="1" FLAGS="1024" TYPE="f" MIN="-2" MAX="2" DEF="0" />
-  <PROP ID="dz" NAME="delta.z" GROUP="1" FLAGS="1024" TYPE="f" MIN="-2" MAX="2" DEF="0" />
-  <PROP ID="sh" NAME="shape" GROUP="1" FLAGS="0" TYPE="d" MIN="0" MAX="1" DEF="0" />
-  <PROP ID="stif" XTRA="1" NAME="stiffness" GROUP="2" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="1.0" />
-  <PROP ID="rotstif" XTRA="1" NAME="rotation stiffness" GROUP="2" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="1.0" />
-  <PROP ID="stam" NAME="stamina" GROUP="2" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.25" />
-  <PROP ID="i" NAME="info" GROUP="2" FLAGS="0" TYPE="s" />
-  <PROP ID="Vstyle" NAME="vis_style" GROUP="3" FLAGS="0" TYPE="s" MIN="0" MAX="-1" DEF="joint" />
-  <PROP ID="vr" XTRA="1" NAME="red component" GROUP="3" FLAGS="0" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.5" />
-  <PROP ID="vg" XTRA="1" NAME="green component" GROUP="3" FLAGS="1024" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.5" />
-  <PROP ID="vb" XTRA="1" NAME="blue component" GROUP="3" FLAGS="1024" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.5" />
- </CLASS>
-
-
-
- <CLASS ID="n" NAME="Neuro">
-  <GROUP NAME="Connections" />
-  <GROUP NAME="Other" />
-  <GROUP NAME="Visual" />
-  <PROP ID="p" NAME="part ref#" GROUP="0" FLAGS="0" TYPE="d" MIN="-1" MAX="999999" DEF="-1" />
-  <PROP ID="j" NAME="joint ref#" GROUP="0" FLAGS="0" TYPE="d" MIN="-1" MAX="999999" DEF="-1" />
-  <PROP ID="d" NAME="item details" GROUP="1" FLAGS="0" TYPE="s" DEF="N" />
-  <PROP ID="i" NAME="info" GROUP="1" FLAGS="0" TYPE="s" />
-  <PROP ID="Vstyle" NAME="vis_style" GROUP="2" FLAGS="0" TYPE="s" MIN="0" MAX="-1" DEF="neuro" />
-  <PROP ID="getInputCount" NAME="input count" GROUP="0" FLAGS="1+2" TYPE="d" />
-  <PROP ID="getInputNeuroDef" NAME="get input neuron" GROUP="0" FLAGS="1+2" TYPE="p oNeuroDef(d)" />
-  <PROP ID="getInputNeuroIndex" NAME="get input neuron index" GROUP="0" FLAGS="1+2" TYPE="p d(d)" />
-  <PROP ID="getInputWeight" NAME="get input weight" GROUP="0" FLAGS="1+2" TYPE="p f(d)" />
-  <PROP ID="classObject" NAME="neuron class" GROUP="0" FLAGS="1+2" TYPE="o NeuroClass" />
- </CLASS>
-
- <CLASS ID="c" NAME="NeuroConn">
-  <GROUP NAME="Connection" />
-  <GROUP NAME="Other" />
-  <PROP ID="n1" NAME="this neuro ref#" GROUP="0" FLAGS="1024" TYPE="d" MIN="-1" MAX="999999" DEF="-1" />
-  <PROP ID="n2" NAME="connected neuro ref#" GROUP="0" FLAGS="1024" TYPE="d" MIN="-1" MAX="999999" DEF="-1" />
-  <PROP ID="w" NAME="weight" GROUP="0" FLAGS="1024" TYPE="f" MIN="-999999" MAX="999999" DEF="1.0" />
-  <PROP ID="i" NAME="info" GROUP="1" FLAGS="0" TYPE="s" />
- </CLASS>
-
- <NEUROCLASS ID="N" NAME="Neuron" DESCRIPTION="Standard neuron" INPUTS="-1" OUTPUT="1" LOCATION="0"  VISUALHINTS="2"  >
-
-  <NEUROPROP ID="in" NAME="Inertia" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.8" />
-  <NEUROPROP ID="fo" NAME="Force" TYPE="f" MIN="0.0" MAX="999.0" DEF="0.04" />
-  <NEUROPROP ID="si" NAME="Sigmoid" TYPE="f" MIN="-99999.0" MAX="99999.0" DEF="2.0" />
-  <NEUROPROP ID="s" NAME="State" TYPE="f" MIN="-1.0" MAX="1.0" DEF="0.0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="Nu" NAME="Unipolar neuron [EXPERIMENTAL!]" DESCRIPTION="Works like standard neuron (N) but the output value is scaled to 0...+1 instead of -1...+1.\nHaving 0 as one of the saturation states should help in &quot;gate circuits&quot;, where input signal is passed through or blocked depending on the other singal." INPUTS="-1" OUTPUT="1" LOCATION="0"  >
-  <NEUROPROP ID="in" NAME="Inertia" TYPE="f" MIN="0.0" MAX="1.0" DEF="0.8" />
-  <NEUROPROP ID="fo" NAME="Force" TYPE="f" MIN="0.0" MAX="999.0" DEF="0.04" />
-  <NEUROPROP ID="si" NAME="Sigmoid" TYPE="f" MIN="-99999.0" MAX="99999.0" DEF="2.0" />
-  <NEUROPROP ID="s" NAME="State" TYPE="f" MIN="-1.0" MAX="1.0" DEF="0.0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="G" NAME="Gyroscope" DESCRIPTION="Equilibrium sensor.\n0=the stick is horizontal\n+1/-1=the stick is vertical" INPUTS="0" OUTPUT="1" LOCATION="2"  VISUALHINTS="32"  SYMBOL="8,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,12,43,24,48,24,48,19,38,19,38,24,43,24,43,54,48,54,48,64,43,69,38,64,38,54,43,54,5,63,69,58,74,48,79,38,79,28,74,23,69,1,43,79,43,74,1,23,69,26,66,1,63,69,60,66,1,55,76,53,73,1,31,75,33,72"  >
-
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="T" NAME="Touch" DESCRIPTION="Touch sensor.\n-1=no contact\n0=just touching\n>0=pressing, value depends on the force applied" INPUTS="0" OUTPUT="1" LOCATION="1"  VISUALHINTS="32"  SYMBOL="2,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,11,75,50,65,50,60,55,55,45,50,55,45,45,40,50,35,50,30,45,25,50,30,55,35,50"  >
-
-
-  <NEUROPROP ID="r" NAME="Range" TYPE="f" MIN="0.0" MAX="1.0" DEF="1.0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="S" NAME="Smell" DESCRIPTION="Smell sensor. Aggregated &quot;smell of energy&quot; experienced from all energy objects (creatures and food pieces).\nClose objects have bigger influence than the distant ones: for each energy source, its partial feeling is proportional to its energy/(distance^2)" INPUTS="0" OUTPUT="1" LOCATION="1"  VISUALHINTS="32"  SYMBOL="5,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,3,10,40,15,45,15,55,10,60,5,20,30,25,35,30,45,30,55,25,65,20,70,4,15,35,20,40,22,50,20,60,15,65,5,75,50,50,50,45,45,40,50,45,55,50,50"  >
-
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="*" NAME="Constant" DESCRIPTION="Constant value" INPUTS="0" OUTPUT="1" LOCATION="0"  VISUALHINTS="1"  SYMBOL="4,4,26,27,26,73,73,73,73,27,26,27,1,73,50,100,50,1,56,68,46,68,2,41,47,51,32,51,68"  >
-
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="|" NAME="Bend muscle" DESCRIPTION="" INPUTS="1" OUTPUT="0" LOCATION="2"  VISUALHINTS="86"  SYMBOL="6,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,3,65,56,49,29,57,24,72,50,4,68,53,70,53,70,55,68,55,68,53,5,50,21,60,15,70,14,79,15,87,20,81,10,1,86,20,77,21"  >
-
-
-  <NEUROPROP ID="p" NAME="power" TYPE="f" MIN="0.01" MAX="1.0" DEF="0.25" />
-  <NEUROPROP ID="r" NAME="bending range" TYPE="f" MIN="0.0" MAX="1.0" DEF="1.0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="@" NAME="Rotation muscle" DESCRIPTION="" INPUTS="1" OUTPUT="0" LOCATION="2"  VISUALHINTS="150"  SYMBOL="5,5,25,40,35,40,45,50,35,60,25,60,25,40,4,65,85,65,50,75,50,75,85,65,85,1,69,10,77,17,10,59,15,57,17,57,22,60,26,69,27,78,26,82,21,82,16,79,12,69,10,80,6,3,65,50,65,20,75,20,75,50"  >
-
-
-  <NEUROPROP ID="p" NAME="power" TYPE="f" MIN="0.01" MAX="1.0" DEF="1.0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="D" NAME="Differentiate" DESCRIPTION="Calculate the difference between the current and previous input value. Multiple inputs are aggregated with respect to their weights" INPUTS="-1" OUTPUT="1" LOCATION="0"  SYMBOL="3,3,25,0,25,100,75,50,25,0,1,75,50,100,50,3,44,42,51,57,36,57,44,42"  >
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="Fuzzy" NAME="Fuzzy system [EXPERIMENTAL!]" DESCRIPTION="Refer to publications to learn more about this neuron." INPUTS="-1" OUTPUT="1" LOCATION="0"  SYMBOL="5,2,30,65,37,37,44,65,3,37,65,44,37,51,37,58,65,2,51,65,58,37,65,65,6,100,50,70,50,70,25,25,10,25,90,70,75,70,50,1,70,65,25,65"  >
-
-  <NEUROPROP ID="ns" NAME="number of fuzzy sets" TYPE="d" MIN="1" MAX="" DEF="" />
-  <NEUROPROP ID="nr" NAME="number of rules" TYPE="d" MIN="1" MAX="" DEF="" />
-  <NEUROPROP ID="fs" NAME="fuzzy sets" TYPE="s" MIN="0" MAX="-1" DEF="0" />
-  <NEUROPROP ID="fr" NAME="fuzzy rules" TYPE="s" MIN="0" MAX="-1" DEF="0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="VEye" NAME="Vector Eye [EXPERIMENTAL!]" DESCRIPTION="Refer to publications to learn more about this neuron." INPUTS="1" OUTPUT="1" LOCATION="1"  SYMBOL="11,7,100,50,90,50,90,40,70,40,80,50,70,60,90,60,90,50,14,70,50,65,40,60,35,45,30,30,30,15,35,10,40,5,50,10,60,15,65,30,70,45,70,60,65,65,60,70,50,8,38,67,28,62,23,52,28,42,38,37,48,42,53,52,48,62,38,67,4,33,52,38,47,43,52,38,57,33,52,5,70,50,60,40,45,35,30,35,15,40,5,50,1,53,33,58,22,1,62,36,68,26,1,45,30,47,19,1,35,30,35,19,1,27,31,24,20,1,18,34,12,24"  >
-
-  <NEUROPROP ID="tx" NAME="target.x" TYPE="f" MIN="" MAX="" DEF="" />
-  <NEUROPROP ID="ty" NAME="target.y" TYPE="f" MIN="" MAX="" DEF="" />
-  <NEUROPROP ID="tz" NAME="target.z" TYPE="f" MIN="" MAX="" DEF="" />
-  <NEUROPROP ID="ts" NAME="target shape" TYPE="s" MIN="0" MAX="-1" DEF="0" />
-  <NEUROPROP ID="p" NAME="perspective" TYPE="f" MIN="0.1" MAX="10.0" DEF="1.0" />
-  <NEUROPROP ID="s" NAME="scale" TYPE="f" MIN="0.1" MAX="100.0" DEF="1.0" />
-  <NEUROPROP ID="h" NAME="show hidden lines" TYPE="d" MIN="0" MAX="1" DEF="0" />
-  <NEUROPROP ID="o" NAME="output lines count (each line needs four channels)" TYPE="d" MIN="0" MAX="99" DEF="0" />
-  <NEUROPROP ID="d" NAME="debug" TYPE="d" MIN="0" MAX="1" DEF="0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="VMotor" NAME="Visual-Motor Cortex [EXPERIMENTAL!]" DESCRIPTION="Must be connected to the VEye and properly set up. Refer to publications to learn more about this neuron." INPUTS="-1" OUTPUT="1" LOCATION="0"  >
-  <NEUROPROP ID="noIF" NAME="number of basic features" TYPE="d" MIN="" MAX="" DEF="" />
-  <NEUROPROP ID="noDim" NAME="number of degrees of freedom" TYPE="d" MIN="" MAX="" DEF="" />
-  <NEUROPROP ID="params" NAME="parameters" TYPE="s" MIN="" MAX="" DEF="" />
- </NEUROCLASS> 
-
- <NEUROCLASS ID="Sti" NAME="Sticky [EXPERIMENTAL!]" DESCRIPTION="" INPUTS="1" OUTPUT="0" LOCATION="1"  VISUALHINTS="16"  >
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="LMu" NAME="Linear muscle [EXPERIMENTAL!]" DESCRIPTION="" INPUTS="1" OUTPUT="0" LOCATION="2"  VISUALHINTS="272"  >
-
-  <NEUROPROP ID="p" NAME="power" TYPE="f" MIN="0.01" MAX="1.0" DEF="1.0" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="Water" NAME="Water detector" DESCRIPTION="Output signal:\n0=on or above water surface\n1=under water (deeper than 1)\n0..1=in the transient area just below water surface" INPUTS="0" OUTPUT="1" LOCATION="1"  VISUALHINTS="32"  >
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="Energy" NAME="Energy level" DESCRIPTION="The current energy level divided by the initial energy level.\nUsually falls from initial 1.0 down to 0.0 and then the creature dies. It can rise above 1.0 if enough food is ingested" INPUTS="0" OUTPUT="1" LOCATION="0"  VISUALHINTS="32"  >
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="Ch" NAME="Channelize" DESCRIPTION="Combines all input signals into a single multichannel output; Note: ChSel and ChMux are the only neurons which support multiple channels. Other neurons discard everything except the first channel." INPUTS="-1" OUTPUT="1" LOCATION="0"  SYMBOL="10,4,25,0,25,100,75,70,75,30,25,0,1,75,50,100,50,1,70,50,55,50,1,30,80,55,50,1,30,20,55,50,1,30,35,55,50,1,30,45,55,50,1,30,55,55,50,1,61,53,65,47,1,30,65,55,50"  >
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="ChMux" NAME="Channel multiplexer" DESCRIPTION="Outputs the selected channel from the second (multichannel) input. The first input is used as the selector value (-1=select first channel, .., 1=last channel)" INPUTS="2" OUTPUT="1" LOCATION="0"  SYMBOL="7,4,25,0,25,100,75,70,75,30,25,0,1,75,50,100,50,1,70,50,55,50,3,50,55,55,50,50,45,50,55,3,30,67,45,67,45,50,50,50,1,35,70,39,64,2,30,33,53,33,53,48"  >
-
- </NEUROCLASS>
-
- <NEUROCLASS ID="ChSel" NAME="Channel selector" DESCRIPTION="Outputs a single channel (selected by the &quot;ch&quot; parameter) from multichannel input" INPUTS="1" OUTPUT="1" LOCATION="0"  SYMBOL="6,4,25,0,25,100,75,70,75,30,25,0,1,75,50,100,50,1,70,50,55,50,3,50,55,55,50,50,45,50,55,1,30,50,50,50,1,35,53,39,47"  >
-
-  <NEUROPROP ID="ch" NAME="channel" TYPE="d" MIN="" MAX="" DEF="" />
- </NEUROCLASS>
-
- <NEUROCLASS ID="Rnd" NAME="Random noise" DESCRIPTION="Generates random noise (subsequent random values in the range of -1..+1)" INPUTS="0" OUTPUT="1" LOCATION="0"  >
- </NEUROCLASS>
-
- <NEUROCLASS ID="Sin" NAME="Sinus generator" DESCRIPTION="Output frequency = f0+input" INPUTS="1" OUTPUT="1" LOCATION="0"  SYMBOL="3,12,75,50,71,37,62,28,50,25,37,28,28,37,25,50,28,62,37,71,50,75,62,71,71,62,75,50,1,75,50,100,50,5,35,50,40,35,45,35,55,65,60,65,65,50"  >
-
-  <NEUROPROP ID="f0" NAME="base frequency" TYPE="f" MIN="-1.0" MAX="1.0" DEF="0.06283185307" />
-  <NEUROPROP ID="t" NAME="time" TYPE="f" MIN="0" MAX="6.283185307" DEF="0" />
- </NEUROCLASS>
-
-</F0CLASSES>
Index: js/viewer-f0/js/Viewer.js
===================================================================
--- js/viewer-f0/js/Viewer.js	(revision 188)
+++ js/viewer-f0/js/Viewer.js	(revision 189)
@@ -12,5 +12,5 @@
     this._neuronsContext = undefined;
     this._context = undefined;
-    this._urlToXML = "f0def.xml";//"http://www.framsticks.com/files/apps/config/f0def.xml";
+    this._urlToXML = "http://www.framsticks.com/files/apps/config/f0def.xml";
     this._xml = undefined;
     this._model = new Model();
