Ignore:
Timestamp:
10/05/13 06:34:50 (11 years ago)
Author:
sz
Message:

support for deprecated elements, updated framscript object definitions (v4.0rc4)

Location:
java/FramclipsePlugin/src/main/resources
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • java/FramclipsePlugin/src/main/resources/framscript.dtd

    r13 r108  
    2222<!ATTLIST element max CDATA #IMPLIED>
    2323<!ATTLIST element function (false|true) "false">
     24<!ATTLIST element deprecated (false|true) "false">
    2425<!ATTLIST element default CDATA #IMPLIED>
    2526
  • java/FramclipsePlugin/src/main/resources/framscript.xml

    r63 r108  
    4545                <element name="mode" type="integer" min="0" max="2"/>
    4646                <element name="name" type="string"/>
     47                <element name="prev_show" type="string"/>
    4748                <element name="regname" type="string"/>
    4849                <element name="show" type="string"/>
    4950                <element name="showlog" type="integer" min="0" max="1"/>
    50                 <element name="switchmode" type="integer" min="0" max="2"/>
     51                <element name="switchmode" type="integer" min="0" max="3"/>
    5152                <element name="switchshows" type="string">
    5253                        <description><![CDATA[names of the shows participating in automatic switching (comma separated). Use * as a wildcard.]]></description>
     
    7980                <element name="name" type="string"/>
    8081        </type>
     82        <type name="CheckpointEvent" context="Global context">
     83<description><![CDATA[CheckpointEvent]]></description>
     84                <element name="data" type="untyped"/>
     85                <element name="index" type="integer"/>
     86                <element name="slave" type="Simulator"/>
     87                <element name="ticks" type="integer"/>
     88        </type>
    8189        <type name="Collision" context="Global context">
    8290<description><![CDATA[Used in collision handlers (On___Collision). Contains the detailed information about the colliding parts (Part1,Part2 and their associated MechParts and Creatures). See the onFoodCollision() function in standard.expdef]]></description>
     
    94102        </type>
    95103        <type name="Creature" context="Global context">
    96 <description><![CDATA[The object inside the simulated world, including its physical structure, neural network and performance data. Food pieces, obstacles and other movable objects can be implemented as Creatures even though the are not "alive". See also: Population.]]></description>
     104<description><![CDATA[The object inside the simulated world, including its physical structure, neural network and performance data. Food pieces, obstacles and other movable objects can be implemented as Creatures even though the are not "alive".
     105Before version 4.0rc4 the static Creature object was used in event handlers and in functions operating on the "selected" creature. This is now deprecated as all operations can be performed using the more convenient direct access (see GenePools). For event handlers, the creature object will be passed as argument, like this:
     106function onDied(cr) {Simulator.print("Creature "+cr.name+" has died");}
     107See also: Population.]]></description>
    97108                <element name="bodysim" type="integer" min="0" max="1" default="1">
    98109                        <description><![CDATA[(Physical) body simulation can be disabled for individual objects which makes them immovable. Disabled objects can still participate in collisions depending on their collisions masks.
     
    127138                <element name="genotype" type="string"/>
    128139                <element name="gnum" type="integer"/>
    129                 <element name="group" type="untyped"/>
     140                <element name="group" type="untyped" deprecated="true">
     141                        <description><![CDATA[Deprecated. Use population instead.]]></description>
     142                </element>
    130143                <element name="idleen" type="float"/>
    131144                <element name="index" type="integer">
    132                         <description><![CDATA[Index of this Creature in its Population.]]></description>
     145                        <description><![CDATA[Note that the index changes depending on the current creature position in the population. Use Creature.uid if you need a permanent identifier that persists through the entire object lifetime.]]></description>
    133146                </element>
    134147                <element name="info" type="string">
     
    158171                        <description><![CDATA[Initial value of this property is taken from Population.enableperf]]></description>
    159172                </element>
     173                <element name="population" type="untyped"/>
    160174                <element name="pos_x" type="float">
    161175                        <description><![CDATA[(pos_x,pos_y,pos_z) is the point of minimal coordinates ("bottom left corner") of the creature, including imaginary Part sizes (Part.s, usually 1.0). See also: Creature.moveAbs]]></description>
     
    169183                <element name="selfcol" type="integer" min="0" max="1">
    170184                        <description><![CDATA[Enable/disable detection of self-collisions (within a creature body). They can only occur when using the ODE simulation engine. If enabled, the creature will have its sticks collide during lifespan.]]></description>
    171                 </element>
    172                 <element name="selfcolstate" type="integer" min="0" max="1">
    173                         <description><![CDATA[Current self-collision state]]></description>
    174185                </element>
    175186                <element name="selfmask" type="integer" min="0" max="2147483647" default="0"/>
     
    192203                <element name="vertpos" type="float"/>
    193204                <element name="vertvel" type="float"/>
     205                <element name="boundingBoxCollisions" function="true" type="integer">
     206                        <description><![CDATA[Checks approximate collisions for the selected creature.
     207Returns the collision mask calculated as in the regular simulation. The argument is the collision mask substituted for the selected creature (defaults to group colmask for 0).]]></description>
     208                        <arguments>
     209                                <argument name="mask" type="integer"/>
     210                        </arguments>
     211                </element>
    194212                <element name="currentGeometryAsF0" function="true" type="string"><arguments/></element>
    195213                <element name="getJoint" function="true" type="Joint">
     
    279297                        </arguments>
    280298                </element>
     299                <element name="selfcolstate" function="true" type="integer">
     300                        <description><![CDATA[Current self-collision state. In old versions this was a field, not a function.]]></description>
     301<arguments/></element>
    281302                <element name="worldToLocal" function="true" type="XYZ">
    282303                        <description><![CDATA[Local coordinates are measured with respect to the position and orientation of the first Part]]></description>
     
    290311        <type name="CreatureSettings" context="Global context">
    291312<description><![CDATA[Creature building parameters]]></description>
    292                 <element name="bnoise_struct" type="float" min="0" max="10" default="0">
     313                <element name="bnoise_struct" type="float" min="0" max="10" default="0.0">
    293314                        <description><![CDATA[When >0, body constructs of creatures (position of Parts) will be randomly disturbed when they are created.]]></description>
    294315                </element>
    295                 <element name="bnoise_vel" type="float" min="0" max="10" default="0">
     316                <element name="bnoise_vel" type="float" min="0" max="10" default="0.0">
    296317                        <description><![CDATA[Random velocities will be applied to all body Parts (in MechaStick) or rigid segments (in ODE) of newly created creatures.]]></description>
    297318                </element>
    298                 <element name="maxjoint" type="float" min="0" max="100" default="2"/>
    299                 <element name="minjoint" type="float" min="0" max="100" default="0"/>
     319                <element name="maxjoint" type="float" min="0" max="100" default="2.0"/>
     320                <element name="minjoint" type="float" min="0" max="100" default="0.0"/>
     321                <element name="nnoise" type="float" min="0" max="1" default="0.0">
     322                        <description><![CDATA[Gaussian neural noise: a random value is added to each neural output in each simulation step. Set standard deviation here to add random noise, or 0 for deterministic simulation.]]></description>
     323                </element>
    300324                <element name="randinit" type="float" min="0" max="10" default="0.01">
    301                         <description><![CDATA[Allowed range for initializing all neuron states with uniform distribution random numbers and zero mean. Set 0 for deterministic initialization.]]></description>
    302                 </element>
    303                 <element name="touchrange" type="float" min="0" max="100" default="1"/>
    304         </type>
    305         <type name="CreaturesGroup" context="Global context">
    306 <description><![CDATA[A set of Creature objects, sharing some high level simulation properties (performance calculation, NN simulation, collision detection, event handling). The groups usually have different roles in the experiment (Creatures groups and Food group in standard.expdef).]]></description>
    307                 <element name="bodysim" type="integer" min="0" max="1" default="1">
    308                         <description><![CDATA[Enable/disable physical body simulation. This is the initial value of Creature.bodysim for all objects created in this group. For details, see the documentation of Creature.bodysim.]]></description>
    309                 </element>
    310                 <element name="colmask" type="integer" min="0" max="65535" default="0">
    311                         <description><![CDATA[DEPRECATED. You should use selfmask and othermask (these masks are also much easier to understand than the old colmask field).]]></description>
    312                 </element>
    313                 <element name="death" type="integer" min="0" max="1" default="1">
    314                         <description><![CDATA[Do creatures die when no energy?]]></description>
    315                 </element>
    316                 <element name="em_dyn" type="float" min="0" max="1" default="0">
    317                         <description><![CDATA[Energy requirements for a muscle
    318 moving a stick]]></description>
    319                 </element>
    320                 <element name="em_stat" type="float" min="0" max="1" default="0">
    321                         <description><![CDATA[Energy requirements for a muscle
    322 resisting an external force]]></description>
    323                 </element>
    324                 <element name="en_assim" type="float" min="0" max="1" default="0">
    325                         <description><![CDATA[Maximal energy gain produced by a vertical specialized stick.
    326 Horizontal specialized sticks get half of this value.]]></description>
    327                 </element>
    328                 <element name="enableperf" type="integer" min="0" max="2" default="1">
    329                         <description><![CDATA[Stabilization means no significant movement during a specified period of time.]]></description>
    330                 </element>
    331                 <element name="energy" type="integer" min="0" max="1" default="1">
    332                         <description><![CDATA[If turned off, creature's energy will be constant.]]></description>
    333                 </element>
    334                 <element name="index" type="integer"/>
    335                 <element name="killnostable" type="integer" min="0" max="10000000" default="1000000">
    336                         <description><![CDATA[Creatures that fail to stabilize after the specified waiting period (e.g. because they are continuously rolling) will be killed. 0 disables this feature.]]></description>
    337                 </element>
    338                 <element name="name" type="string"/>
    339                 <element name="nnsim" type="integer" min="0" max="2" default="1">
    340                         <description><![CDATA[Stabilization means no significant movement during a specified period of time.]]></description>
    341                 </element>
    342                 <element name="othermask" type="integer" min="0" max="2147483647" default="0">
    343                         <description><![CDATA[See selfmask.]]></description>
    344                 </element>
    345                 <element name="perfperiod" type="integer" min="0" max="1000000" default="100">
    346                         <description><![CDATA[Defines how often onUpdate() events are called. Also used to compute partial performance of creatures (distance, speed, etc.) and to determine stabilization.]]></description>
    347                 </element>
    348                 <element name="selfcol" type="integer" min="0" max="1" default="0">
    349                         <description><![CDATA[Detect collisions within creature bodies (only applicable for the ODE simulation engine). This is the initial value of Creature.selfcol for all objects created in this group. If enabled, creatures with self-colliding genotypes are not born, and others will have their sticks collide during lifespan.]]></description>
    350                 </element>
    351                 <element name="selfmask" type="integer" min="0" max="2147483647" default="0">
    352                         <description><![CDATA[Collisions between objects can be handled in two ways:
    353  - standard 'mechanical' collision (simple 'rebound' effect)
    354  - special script handler (On[GROUPNAME]Collision function)
    355 
    356 In the script handler function, use the Collision object to access the two colliding parts of two creatures.
    357 The first part in the Collision object (i.e. Collision.Creature1) always concerns the creature that belongs to [GROUPNAME].
    358 The handler is called once for each creature that collides with the creature from [GROUPNAME].
    359 
    360 Collision masks determine which one will be used (none and both are also possible). On each collision, selfmask and othermask of the colliding objects are logically ANDed. 16 lower bits (0xffff) enable the standard handler. 16 higher bits (0xffff0000) enable the custom handler.
    361 Examples:
    362 
    363 1.With one group, all possible combinations of the collision handlers are as follows:
    364   - ignore collisions (e.g. selfmask=othermask=0)
    365   - use standard handling (e.g. selfmask=othermask=1)
    366   - use custom handling (e.g. selfmask=othermask=0x10000)
    367   - use standard and custom handling (e.g. selfmask=othermask=0x10001)
    368 
    369 2.Two groups yield more interesting cases. Let us consider the 'standard.expdef' setting:
    370   Creatures: selfmask=0x10001, othermask=0x20001
    371   Food colmask = selfmask=0x20002, othermask=0x10002
    372 There are three possible scenarios:
    373 - creature and creature: collision value = 0x10001 & 0x20001 = 1 -> Standard handling will be used (1 is one of the lower 16 bits)
    374 - food and food: collision value = 0x20002 & 0x10002 = 2 -> As above.
    375 - creature and food: collision value = (0x10001 & 0x10002) or (0x20002 & 0x20001) = 0x10000 or 0x20000 -> Custom handling will be used (higher 16 bits).
    376 ]]></description>
    377                 </element>
     325                        <description><![CDATA[Allowed range for initializing all neuron states with uniform distribution random numbers and zero mean. Set to 0 for deterministic initialization.]]></description>
     326                </element>
     327                <element name="touchrange" type="float" min="0" max="100" default="1.0"/>
     328        </type>
     329        <type name="CreatureSignals" context="Global context">
     330<description><![CDATA[Signal sources associated with a creature. See also: Signal, WorldSignals, NeuroSignals.]]></description>
    378331                <element name="size" type="integer"/>
    379                 <element name="stabilperiod" type="integer" min="0" max="1000000" default="100">
    380                         <description><![CDATA["Performance sampling period" for the stabilization phase.]]></description>
    381                 </element>
    382                 <element name="stabledist" type="float" min="0" max="1" default="0.01">
    383                         <description><![CDATA[A creature is considered stabilized when its center of gravity stays within the specified distance after the "Sampling period while waiting" has elapsed.]]></description>
    384                 </element>
    385                 <element name="createFromGeno" function="true" type="Creature">
    386                         <description><![CDATA[Uses the supplied Geno object]]></description>
    387                         <arguments>
    388                                 <argument type="Geno"/>
    389                         </arguments>
    390                 </element>
    391                 <element name="createFromGenotype" function="true" type="Creature">
    392                         <description><![CDATA[Uses the selected Genotype object]]></description>
    393 <arguments/></element>
    394                 <element name="createFromString" function="true" type="Creature">
    395                         <description><![CDATA[Uses the supplied string argument]]></description>
    396                         <arguments>
    397                                 <argument name="genotype" type="string"/>
    398                         </arguments>
    399                 </element>
    400                 <element name="delete" function="true" type="void">
    401                         <description><![CDATA[delete creature]]></description>
    402                         <arguments>
    403                                 <argument name="creature index" type="integer"/>
    404                         </arguments>
    405                 </element>
    406                 <element name="findCreatureAt" function="true" type="Creature">
    407                         <arguments>
    408                                 <argument name="point" type="Vector"/>
    409                                 <argument name="vector" type="Vector"/>
    410                         </arguments>
    411                 </element>
    412                 <element name="findUID" function="true" type="integer">
    413                         <arguments>
    414                                 <argument name="uid" type="string"/>
    415                         </arguments>
    416                 </element>
    417                 <element name="get" function="true" type="Creature">
    418                         <arguments>
    419                                 <argument name="index" type="integer"/>
    420                         </arguments>
    421                 </element>
    422                 <element name="kill" function="true" type="void">
    423                         <description><![CDATA[kill creature]]></description>
    424                         <arguments>
    425                                 <argument name="creature index" type="integer"/>
    426                         </arguments>
    427                 </element>
    428                 <element name="senseCreaturesProperty" function="true" type="float">
    429                         <description><![CDATA[arguments:
    430  - x,y,z (sensor position)
    431  - property (name, name[index] or Class:id). name[index] can be used for Vector objects inside the user fields, eg "user2[10]"
    432  - exclude (creature object)
    433 works like a smell sensor for a given property (for all creatures in this group except "exclude").
    434 The following function reproduces the "classic" framsticks "S" sensor:
    435 function smellReceptorValue(x,y,z,exclude)
    436 {
    437 var i,s=0; for(i=0;i<Populations.size;i++)
    438         s+=Populations[0].senseCreaturesProperty(x,y,z,"energy",exclude);
    439 return s;
    440 }]]></description>
    441                         <arguments>
    442                                 <argument name="x" type="float"/>
    443                                 <argument name="y" type="float"/>
    444                                 <argument name="z" type="float"/>
    445                                 <argument name="propertyname" type="string"/>
    446                                 <argument name="exclude" type="Creature"/>
    447                         </arguments>
    448                 </element>
    449         </type>
    450         <type name="CreatureSignals" context="Global context">
    451 <description><![CDATA[Signal sources associated with the creature. See also: Signal, WorldSignals, NeuroSignals]]></description>
    452                 <element name="size" type="integer">
    453                         <description><![CDATA[Number of signals in this set]]></description>
    454                 </element>
    455332                <element name="add" function="true" type="Signal">
    456                         <description><![CDATA[Create a new signal]]></description>
    457333                        <arguments>
    458334                                <argument name="channel" type="string"/>
     
    462338                        <description><![CDATA[Create a signal that automatically reflects one of the creature's properties (i.e. its power is equal to the property value).
    463339Example:
    464 Creature.signals.addProperty("energy","energy"); //then, Neuro.signals.receive("energy") in custom neuron would work similarly to the built-in smell sensor]]></description>
     340Creature.signals.addProperty("energy","energy"); //then, Neuro.signals.receive("energy") in a custom neuron would work similarly to a built-in smell sensor.]]></description>
    465341                        <arguments>
    466342                                <argument name="channel" type="string"/>
     
    468344                        </arguments>
    469345                </element>
    470                 <element name="clear" function="true" type="void">
    471                         <description><![CDATA[Delete all signals]]></description>
    472 <arguments/></element>
     346                <element name="clear" function="true" type="void"><arguments/></element>
    473347                <element name="get" function="true" type="Signal">
    474                         <description><![CDATA[Access individual signals (index=0 .. size-1)]]></description>
    475348                        <arguments>
    476349                                <argument name="index" type="integer"/>
     
    488361Additional filtering options:
    489362- Max distance only receives the neighbor signals (based on their physical location)
    490 - Flavor filtering: only signals having the flavor close to the specified one will be received. The filter value is the maximum allowed difference.]]></description>
     363- Flavor filtering: only signals having the flavor similar to the specified value will be received. The flavorfilter value is the difference of flavor that reduces the received signal to 0. The "flavor attenuation" is linear, i.e., signals differing by (filter/2) in flavor will be reduced to 50%.]]></description>
    491364                        <arguments>
    492365                                <argument name="channel" type="string"/>
    493366                                <argument name="max distance" type="float"/>
    494367                                <argument name="flavor" type="float"/>
    495                                 <argument name="filter" type="float"/>
     368                                <argument name="flavorfilter" type="float"/>
    496369                        </arguments>
    497370                </element>
    498371                <element name="receiveSet" function="true" type="Vector">
    499                         <description><![CDATA[Get all signals in the specified range. Returns a readonly vector object containing Signal objects (individual signals can be accessed as result[0], .., result[result.size-1]).]]></description>
     372                        <description><![CDATA[Get all signals in the specified range. Returns a read-only vector object containing Signal objects - individual signals can be accessed as result[0], .., result[result.size-1].]]></description>
    500373                        <arguments>
    501374                                <argument name="channel" type="string"/>
     
    504377                </element>
    505378                <element name="receiveSingle" function="true" type="Signal">
    506                         <description><![CDATA[Find the signal source having the highest signal power (including the distance)]]></description>
     379                        <description><![CDATA[Find the signal source that has the highest signal power (taking into account distance).]]></description>
    507380                        <arguments>
    508381                                <argument name="channel" type="string"/>
     
    512385        </type>
    513386        <type name="Dictionary" context="Global context">
    514 <description><![CDATA[Dictionary associates stored values with string keys ("key" is the first argument in get/set/remove functions). Integer "key" can be used to enumerate all elements. The sequence of elements is not preserved.
    515 Example: var d=Dictionary.new(); d.set("name","John"); d.set("age",44);
    516 var i,element; for(i=0;i<d.size;i++) CLI.println(d.getKey(i)+" is "+d.get(i));]]></description>
     387<description><![CDATA[Dictionary associates stored values with string keys ("key" is the first argument in get/set/remove functions). Integer "key" can be used to enumerate all elements (the sequence of elements is not preserved).
     388Example:
     389var d=Dictionary.new(); d.set("name","John"); d.set("age",44);
     390var i;
     391for(i=0;i<d.size;i++) Simulator.print(d.getKey(i)+" is "+d.get(i));]]></description>
    517392                <element name="size" type="integer"/>
    518393                <element name="toString" type="string"/>
     
    531406                <element name="getKey" function="true" type="string">
    532407                        <arguments>
    533                                 <argument name="index"/>
     408                                <argument name="index" type="integer"/>
    534409                        </arguments>
    535410                </element>
     
    667542        </type>
    668543        <type name="GenePool" context="Global context">
    669 <description><![CDATA[The static GenePool object refers to the "selected group" as described in GenePools.]]></description>
     544<description><![CDATA[GenePool objects are accessed by GenePools[index], or Genotype..genepool and created by GenePools.addGroup(). Usage of the static GenePool object is no longer recommended. See also: GenePools]]></description>
    670545                <element name="fitfun" type="integer" min="0" max="1" default="0">
    671546                        <description><![CDATA[Enables fitness scaling.]]></description>
    672547                </element>
    673                 <element name="fitm" type="float" min="0" max="10" default="2">
     548                <element name="fitm" type="float" min="0" max="10" default="2.0">
    674549                        <description><![CDATA[Lower threshold: how many standard deviations below average?
    675550(avg - n * stddev) - used for fitness shifting]]></description>
    676551                </element>
    677                 <element name="fitma" type="float" min="1" max="10" default="2">
     552                <element name="fitma" type="float" min="1" max="10" default="2.0">
    678553                        <description><![CDATA[The best genotype is as many times
    679554better than the average one.]]></description>
     
    690565                        <description><![CDATA[Takes into account the Genotype.instances field (which may give the total number of instances depending on the experiment definition).]]></description>
    691566                </element>
    692                 <element name="addGeno" function="true" type="Genotype">
     567                <element name="add" function="true" type="Genotype">
     568                        <description><![CDATA[Creates a new Genotype from the supplied Genotype, Geno or string.
     569Returns the created Genotype.]]></description>
     570                        <arguments>
     571                                <argument name="genotype object or geno object or string genotype" type="untyped"/>
     572                        </arguments>
     573                </element>
     574                <element name="addGeno" function="true" type="Genotype" deprecated="true">
    693575                        <description><![CDATA[Creates a new Genotype from the supplied Geno object.
    694 Returns the created Genotype.]]></description>
     576Returns the created Genotype.
     577Deprecated. Use the more versatile add() instead of this function.]]></description>
    695578                        <arguments>
    696579                                <argument type="Geno"/>
     580                        </arguments>
     581                </element>
     582                <element name="clear" function="true" type="void">
     583                        <description><![CDATA[Delete all genotypes. GenePools[group].clear() is equivalent to GenePools.clearGroup(group)]]></description>
     584<arguments/></element>
     585                <element name="createFromGeno" function="true" type="Genotype" deprecated="true">
     586                        <description><![CDATA[same as addGeno (to comply with createFrom... convention)
     587Deprecated. Use the more versatile add() instead of this function.]]></description>
     588                        <arguments>
     589                                <argument name="genotype" type="Geno"/>
     590                        </arguments>
     591                </element>
     592                <element name="createFromString" function="true" type="Genotype" deprecated="true">
     593                        <description><![CDATA[Uses the supplied string argument
     594Deprecated. Use the more versatile add() instead of this function.]]></description>
     595                        <arguments>
     596                                <argument name="genotype" type="string"/>
    697597                        </arguments>
    698598                </element>
     
    700600                        <description><![CDATA[Deletes a genotype.]]></description>
    701601                        <arguments>
    702                                 <argument name="genotype index" type="integer"/>
    703                         </arguments>
    704                 </element>
    705                 <element name="findGeno" function="true" type="integer">
     602                                <argument name="genotype object or index" type="untyped"/>
     603                        </arguments>
     604                </element>
     605                <element name="deleteOne" function="true" type="void">
     606                        <description><![CDATA[Deletes one individual = decreases 'instances' and deletes the genotype if the 'instances' goes to 0.]]></description>
     607                        <arguments>
     608                                <argument name="genotype object or index" type="untyped"/>
     609                        </arguments>
     610                </element>
     611                <element name="findGeno" function="true" type="integer" deprecated="true">
    706612                        <description><![CDATA[Finds the Genotype matching the supplied Geno object.
    707 returns genotype index or -1 if not found.]]></description>
     613returns genotype index or -1 if not found.
     614Deprecated. Use the more versatile find() instead of this function.]]></description>
    708615                        <arguments>
    709616                                <argument type="Geno"/>
    710617                        </arguments>
    711618                </element>
     619                <element name="findGenotype" function="true" type="Genotype">
     620                        <description><![CDATA[Finds the Genotype matching the supplied Genotype object, Geno object, or genotype string.
     621returns genotype object or null if not found.]]></description>
     622                        <arguments>
     623                                <argument name="genotype object or geno object or string genotype" type="untyped"/>
     624                        </arguments>
     625                </element>
    712626                <element name="findUID" function="true" type="integer">
    713627                        <arguments>
     
    720634                        </arguments>
    721635                </element>
     636                <element name="mergeInstances" function="true" type="void">
     637                        <description><![CDATA[Merge instances of the same genotype]]></description>
     638<arguments/></element>
     639                <element name="random" function="true" type="Genotype">
     640                        <description><![CDATA[Gets random genotype object]]></description>
     641<arguments/></element>
     642                <element name="randomLikeGeno" function="true" type="Genotype">
     643                        <description><![CDATA[Gets a random genotype index similar to the selected one.]]></description>
     644                        <arguments>
     645                                <argument name="minimum similarity" type="float"/>
     646                                <argument name="target geno" type="Geno"/>
     647                        </arguments>
     648                </element>
     649                <element name="revroulette" function="true" type="Genotype">
     650                        <description><![CDATA[Get reverse fitness-proportional genotype object]]></description>
     651<arguments/></element>
     652                <element name="roulette" function="true" type="Genotype">
     653                        <description><![CDATA[Gets fitness-proportional genotype object]]></description>
     654<arguments/></element>
     655                <element name="rouletteLikeGeno" function="true" type="Genotype">
     656                        <description><![CDATA[Gets a random genotype similar to the selected one, fitness-proportional.]]></description>
     657                        <arguments>
     658                                <argument name="minimum similarity" type="float"/>
     659                                <argument name="target geno" type="Geno"/>
     660                        </arguments>
     661                </element>
     662                <element name="splitInstances" function="true" type="void">
     663                        <description><![CDATA[Split genotype instances]]></description>
     664<arguments/></element>
     665                <element name="tournament" function="true" type="Genotype">
     666                        <description><![CDATA[Gets tournament winner genotype object]]></description>
     667                        <arguments>
     668                                <argument name="genotypes in tournament" type="integer"/>
     669                        </arguments>
     670                </element>
     671                <element name="worst" function="true" type="Genotype">
     672                        <description><![CDATA[Gets genotype object having lowest fitness]]></description>
     673<arguments/></element>
    722674        </type>
    723675        <type name="GenePools" context="Global context">
    724 <description><![CDATA[Manages all genotypes in the experiment, organized in one or more groups. Some functions refer to the "selected genotype" i.e. the genotype number "GenePools.genotype" in the pool number "GenePools.group". For example to access the first genoype in the first group you could do:
    725 GenePools.group=0; GenePools.genotype=0; var name=Genotype.name;
    726 However, the preferred way doesn't refer to the static Genotype object:
    727  var name=GenePools[0][0].name;
    728 
    729 Apart from the Genotypes in the group, there is also one temporary Genotype object used by genetic operators and some functions from GenePools. Genotype points to that object when "GenePools.genotype"=-1. The following code accesses that object before adding it to the genotype group:
     676<description><![CDATA[Manages all genotypes in the experiment, organized in one or more groups.
     677Before version 4.0rc4 some operations could only be performed on the "selected" genotype (the one pointed to by group/genotype fields in GenePools). Currently, the more convenient and recommended way is to call Genotype's or GenePool's functions that operate directly on the passed objects.
     678
     679// The old way:
    730680GenePools.newGenotype("X");
    731  //makes the temporary object from the "X" genotype, GenePools.genotype is now -1
    732681GenePools.mutateSelected();
    733  //the temporary object is mutated
    734682Genotype.info="my favorite genotype";
    735  //modify the temporary object
    736683GenePools.copySelected(0);
    737  //copy the current, i.e. temporary genotype to the genotype group #0]]></description>
    738                 <element name="genotype" type="integer">
     684
     685// Doing the same the new way:
     686var g=Genotype.newFromGeno(GenMan.mutate(Geno.newFromString("X")));
     687g.info="my favorite genotype";
     688g.moveTo(GenePools[0]);]]></description>
     689                <element name="genotype" type="integer" deprecated="true">
    739690                        <description><![CDATA[Index of the currently selected genotype or -1 if no genotype is selected.]]></description>
    740691                </element>
    741                 <element name="group" type="integer">
     692                <element name="group" type="integer" deprecated="true">
    742693                        <description><![CDATA[Index of the currently selected group (GenePool).]]></description>
    743694                </element>
     
    749700                        </arguments>
    750701                </element>
    751                 <element name="addPerformanceFromCreature" function="true" type="void">
     702                <element name="addPerformanceFromCreature" function="true" type="void" deprecated="true">
    752703                        <description><![CDATA[Updates the current Genotype's performance values merging them with the current Creture's performance. It assumes the Genotype.instances has a reasonable value and performs the proper weighting. Use your own function instead if these conditions are not met in your experiment.]]></description>
    753704<arguments/></element>
     
    755706                        <description><![CDATA[Removes all gene pools except the first one.]]></description>
    756707<arguments/></element>
    757                 <element name="clearGroup" function="true" type="void">
     708                <element name="clearGroup" function="true" type="void" deprecated="true">
     709                        <description><![CDATA[GenePools[group].clear() is more "object oriented" than GenePools.clearGroup(group)]]></description>
    758710                        <arguments>
    759711                                <argument name="index" type="integer"/>
    760712                        </arguments>
    761713                </element>
    762                 <element name="copySelected" function="true" type="void">
     714                <element name="copySelected" function="true" type="void" deprecated="true">
    763715                        <description><![CDATA[Copies the selected genotype to another group.]]></description>
    764716                        <arguments>
     
    766718                        </arguments>
    767719                </element>
    768                 <element name="crossoverSelected" function="true" type="void">
     720                <element name="crossoverSelected" function="true" type="void" deprecated="true">
    769721                        <description><![CDATA[Crossovers the selected genotype with another one (from the genotype group). The resulting genotype is stored in the static Genotype object detached from the genotype group. After calling this function GenePools.genotype is -1 indicating that no genotype from the group is selected.]]></description>
    770722                        <arguments>
     
    778730                        </arguments>
    779731                </element>
    780                 <element name="deleteOne" function="true" type="void">
     732                <element name="deleteOne" function="true" type="void" deprecated="true">
    781733                        <description><![CDATA[Deletes one individual from the gene pool = decreases 'instances' and deletes the genotype if the 'instances' goes to 0.]]></description>
    782734                        <arguments>
     
    784736                        </arguments>
    785737                </element>
    786                 <element name="deleteSelected" function="true" type="void">
     738                <element name="deleteSelected" function="true" type="void" deprecated="true">
    787739                        <description><![CDATA[Deletes selected genotype from the gene pool (uses the selected genotype object).]]></description>
    788740<arguments/></element>
    789                 <element name="findGenotype" function="true" type="integer">
     741                <element name="findGenotype" function="true" type="integer" deprecated="true">
    790742                        <description><![CDATA[Finds a genotype matching the current genotype. It only makes sense when the current genotype is a result of the genetic operator.]]></description>
    791743<arguments/></element>
    792                 <element name="findGenotypeForCreature" function="true" type="integer">
     744                <element name="findGenotypeForCreature" function="true" type="integer" deprecated="true">
    793745                        <description><![CDATA[Finds a genotype matching the selected creature.]]></description>
    794746<arguments/></element>
     
    798750                        </arguments>
    799751                </element>
    800                 <element name="getFromCreature" function="true" type="void">
     752                <element name="getFromCreature" function="true" type="void" deprecated="true">
    801753                        <description><![CDATA[Copies a genotype from the selected creature. The resulting genotype is stored in the static Genotype object detached from the genotype group.]]></description>
    802754<arguments/></element>
    803                 <element name="getFromCreatureObject" function="true" type="void">
     755                <element name="getFromCreatureObject" function="true" type="void" deprecated="true">
    804756                        <description><![CDATA[Copies a genotype from the creature object passed in argument. The resulting genotype is stored in the static Genotype object detached from the genotype group.]]></description>
    805757                        <arguments>
     
    807759                        </arguments>
    808760                </element>
    809                 <element name="likeThisRoulette" function="true" type="integer">
     761                <element name="likeThisRoulette" function="true" type="integer" deprecated="true">
    810762                        <description><![CDATA[Gets a random genotype similar to the selected one, fitness-proportional.]]></description>
    811763                        <arguments>
     
    813765                        </arguments>
    814766                </element>
    815                 <element name="mutateSelected" function="true" type="void">
     767                <element name="mutateSelected" function="true" type="void" deprecated="true">
    816768                        <description><![CDATA[Mutates the selected genotype. The resulting genotype is stored in the static Genotype object detached from the genotype group. After calling this function GenePools.genotype is -1 indicating that no genotype from the group is selected.]]></description>
    817769<arguments/></element>
    818                 <element name="newGenotype" function="true" type="void">
     770                <element name="newGenotype" function="true" type="void" deprecated="true">
    819771                        <description><![CDATA[Makes a new genotype from the supplied string and select the genotype. The resulting genotype is stored in the static Genotype object detached from the genotype group. After calling this function GenePools.genotype is -1 indicating that no genotype from the group is selected. (call "copySelected" if you want to add this gentype to the genotype group).]]></description>
    820772                        <arguments>
     
    822774                        </arguments>
    823775                </element>
    824                 <element name="random" function="true" type="integer">
    825                         <description><![CDATA[Gets random genotype.]]></description>
     776                <element name="random" function="true" type="integer" deprecated="true">
     777                        <description><![CDATA[Gets random genotype index.]]></description>
    826778<arguments/></element>
    827                 <element name="randomLikeThis" function="true" type="integer">
    828                         <description><![CDATA[Gets a random genotype similar to the selected one.]]></description>
     779                <element name="randomLikeThis" function="true" type="integer" deprecated="true">
     780                        <description><![CDATA[Gets a random genotype index similar to the selected one.]]></description>
    829781                        <arguments>
    830782                                <argument name="minimum similarity" type="float"/>
    831783                        </arguments>
    832784                </element>
    833                 <element name="revroulette" function="true" type="integer">
    834                         <description><![CDATA[Get reverse fitness-proportional genotype.]]></description>
     785                <element name="revroulette" function="true" type="integer" deprecated="true">
     786                        <description><![CDATA[Get reverse fitness-proportional genotype index.]]></description>
    835787<arguments/></element>
    836                 <element name="roulette" function="true" type="integer">
    837                         <description><![CDATA[Gets fitness-proportional genotype.]]></description>
     788                <element name="roulette" function="true" type="integer" deprecated="true">
     789                        <description><![CDATA[Gets fitness-proportional genotype index.]]></description>
    838790<arguments/></element>
    839                 <element name="tournament" function="true" type="integer">
     791                <element name="tournament" function="true" type="integer" deprecated="true">
    840792                        <description><![CDATA[Gets tournament winner genotype.]]></description>
    841793                        <arguments>
     
    843795                        </arguments>
    844796                </element>
    845                 <element name="worst" function="true" type="integer">
    846                         <description><![CDATA[Gets worst genotype.]]></description>
     797                <element name="worst" function="true" type="integer" deprecated="true">
     798                        <description><![CDATA[Gets worst genotype index.]]></description>
    847799<arguments/></element>
    848800        </type>
     
    851803                <element name="changedProperty" type="integer"/>
    852804                <element name="changedPropertyId" type="string"/>
    853                 <element name="f0_c_del" type="float" min="0" max="100" default="5">
    854                         <description><![CDATA[]]></description>
    855                 </element>
    856                 <element name="f0_c_new" type="float" min="0" max="100" default="5">
    857                         <description><![CDATA[]]></description>
    858                 </element>
    859                 <element name="f0_c_wei" type="float" min="0" max="100" default="10">
    860                         <description><![CDATA[]]></description>
    861                 </element>
    862                 <element name="f0_j_del" type="float" min="0" max="100" default="5">
    863                         <description><![CDATA[]]></description>
    864                 </element>
    865                 <element name="f0_j_new" type="float" min="0" max="100" default="5">
    866                         <description><![CDATA[]]></description>
    867                 </element>
    868                 <element name="f0_j_rsf" type="float" min="0" max="100" default="10">
    869                         <description><![CDATA[]]></description>
    870                 </element>
    871                 <element name="f0_j_stf" type="float" min="0" max="100" default="10">
    872                         <description><![CDATA[]]></description>
    873                 </element>
    874                 <element name="f0_j_stm" type="float" min="0" max="100" default="10">
    875                         <description><![CDATA[]]></description>
    876                 </element>
    877                 <element name="f0_n_del" type="float" min="0" max="100" default="5">
    878                         <description><![CDATA[]]></description>
    879                 </element>
    880                 <element name="f0_n_new" type="float" min="0" max="100" default="5">
    881                         <description><![CDATA[]]></description>
    882                 </element>
    883                 <element name="f0_n_prp" type="float" min="0" max="100" default="10">
     805                <element name="f0_c_del" type="float" min="0" max="100" default="5.0">
     806                        <description><![CDATA[]]></description>
     807                </element>
     808                <element name="f0_c_new" type="float" min="0" max="100" default="5.0">
     809                        <description><![CDATA[]]></description>
     810                </element>
     811                <element name="f0_c_wei" type="float" min="0" max="100" default="10.0">
     812                        <description><![CDATA[]]></description>
     813                </element>
     814                <element name="f0_j_del" type="float" min="0" max="100" default="5.0">
     815                        <description><![CDATA[]]></description>
     816                </element>
     817                <element name="f0_j_new" type="float" min="0" max="100" default="5.0">
     818                        <description><![CDATA[]]></description>
     819                </element>
     820                <element name="f0_j_rsf" type="float" min="0" max="100" default="10.0">
     821                        <description><![CDATA[]]></description>
     822                </element>
     823                <element name="f0_j_stf" type="float" min="0" max="100" default="10.0">
     824                        <description><![CDATA[]]></description>
     825                </element>
     826                <element name="f0_j_stm" type="float" min="0" max="100" default="10.0">
     827                        <description><![CDATA[]]></description>
     828                </element>
     829                <element name="f0_j_vblu" type="float" min="0" max="100" default="0.0">
     830                        <description><![CDATA[]]></description>
     831                </element>
     832                <element name="f0_j_vgrn" type="float" min="0" max="100" default="0.0">
     833                        <description><![CDATA[]]></description>
     834                </element>
     835                <element name="f0_j_vred" type="float" min="0" max="100" default="0.0">
     836                        <description><![CDATA[]]></description>
     837                </element>
     838                <element name="f0_n_del" type="float" min="0" max="100" default="5.0">
     839                        <description><![CDATA[]]></description>
     840                </element>
     841                <element name="f0_n_new" type="float" min="0" max="100" default="5.0">
     842                        <description><![CDATA[]]></description>
     843                </element>
     844                <element name="f0_n_prp" type="float" min="0" max="100" default="10.0">
    884845                        <description><![CDATA[]]></description>
    885846                </element>
     
    894855The i="mi=md" combination is allowed.]]></description>
    895856                </element>
    896                 <element name="f0_p_asm" type="float" min="0" max="100" default="10">
    897                         <description><![CDATA[]]></description>
    898                 </element>
    899                 <element name="f0_p_del" type="float" min="0" max="100" default="5">
    900                         <description><![CDATA[]]></description>
    901                 </element>
    902                 <element name="f0_p_frc" type="float" min="0" max="100" default="10">
    903                         <description><![CDATA[]]></description>
    904                 </element>
    905                 <element name="f0_p_ing" type="float" min="0" max="100" default="10">
    906                         <description><![CDATA[]]></description>
    907                 </element>
    908                 <element name="f0_p_mas" type="float" min="0" max="100" default="10">
    909                         <description><![CDATA[]]></description>
    910                 </element>
    911                 <element name="f0_p_new" type="float" min="0" max="100" default="5">
    912                         <description><![CDATA[]]></description>
    913                 </element>
    914                 <element name="f0_p_pos" type="float" min="0" max="100" default="10">
    915                         <description><![CDATA[]]></description>
    916                 </element>
    917                 <element name="f0_p_swp" type="float" min="0" max="100" default="10">
     857                <element name="f0_p_asm" type="float" min="0" max="100" default="10.0">
     858                        <description><![CDATA[]]></description>
     859                </element>
     860                <element name="f0_p_del" type="float" min="0" max="100" default="5.0">
     861                        <description><![CDATA[]]></description>
     862                </element>
     863                <element name="f0_p_frc" type="float" min="0" max="100" default="10.0">
     864                        <description><![CDATA[]]></description>
     865                </element>
     866                <element name="f0_p_ing" type="float" min="0" max="100" default="10.0">
     867                        <description><![CDATA[]]></description>
     868                </element>
     869                <element name="f0_p_mas" type="float" min="0" max="100" default="10.0">
     870                        <description><![CDATA[]]></description>
     871                </element>
     872                <element name="f0_p_new" type="float" min="0" max="100" default="5.0">
     873                        <description><![CDATA[]]></description>
     874                </element>
     875                <element name="f0_p_pos" type="float" min="0" max="100" default="10.0">
     876                        <description><![CDATA[]]></description>
     877                </element>
     878                <element name="f0_p_swp" type="float" min="0" max="100" default="10.0">
     879                        <description><![CDATA[]]></description>
     880                </element>
     881                <element name="f0_p_vsiz" type="float" min="0" max="100" default="0.0">
    918882                        <description><![CDATA[]]></description>
    919883                </element>
    920884                <element name="f1_mut_exmod" type="string">
    921885                        <description><![CDATA[Modifiers that will not be added nor deleted during mutation
    922 (all: RrLlAaCcFfMmSsIiQqWwEe)]]></description>
     886(all: LlRrCcQqFfMmIiWwEeAaSsDdGgBbHh)]]></description>
    923887                </element>
    924888                <element name="f1_nmConn" type="float" min="0" max="100" default="0.1">
     
    932896                </element>
    933897                <element name="f1_nmVal" type="float" min="0" max="100" default="0.05"/>
    934                 <element name="f1_nmWei" type="float" min="0" max="100" default="1"/>
     898                <element name="f1_nmWei" type="float" min="0" max="100" default="1.0"/>
    935899                <element name="f1_smComma" type="float" min="0" max="100" default="0.02"/>
    936900                <element name="f1_smJunct" type="float" min="0" max="100" default="0.02"/>
    937901                <element name="f1_smModif" type="float" min="0" max="100" default="0.1">
    938                         <description><![CDATA[Modifiers: RrLlAaCcFfMmSsIiQqWwEe]]></description>
     902                        <description><![CDATA[Modifiers: LlRrCcQqFfMmIiWwEeAaSsDdGgBbHh]]></description>
    939903                </element>
    940904                <element name="f1_smX" type="float" min="0" max="100" default="0.05"/>
     
    994958                        <description><![CDATA[]]></description>
    995959                </element>
    996                 <element name="f4_mut_add" type="float" min="0" max="100" default="50">
     960                <element name="f4_mut_add" type="float" min="0" max="100" default="50.0">
    997961                        <description><![CDATA[mutation: probability of adding a node]]></description>
    998962                </element>
    999                 <element name="f4_mut_add_conn" type="float" min="0" max="100" default="15">
     963                <element name="f4_mut_add_conn" type="float" min="0" max="100" default="15.0">
    1000964                        <description><![CDATA[add node mutation: probability of adding a neural connection]]></description>
    1001965                </element>
    1002                 <element name="f4_mut_add_div" type="float" min="0" max="100" default="20">
     966                <element name="f4_mut_add_div" type="float" min="0" max="100" default="20.0">
    1003967                        <description><![CDATA[add node mutation: probability of adding a division]]></description>
    1004968                </element>
    1005                 <element name="f4_mut_add_neupar" type="float" min="0" max="100" default="5">
     969                <element name="f4_mut_add_neupar" type="float" min="0" max="100" default="5.0">
    1006970                        <description><![CDATA[add node mutation: probability of adding a neuron property/modifier]]></description>
    1007971                </element>
    1008                 <element name="f4_mut_add_rep" type="float" min="0" max="100" default="10">
     972                <element name="f4_mut_add_rep" type="float" min="0" max="100" default="10.0">
    1009973                        <description><![CDATA[add node mutation: probability of adding a repetition]]></description>
    1010974                </element>
    1011                 <element name="f4_mut_add_simp" type="float" min="0" max="100" default="50">
     975                <element name="f4_mut_add_simp" type="float" min="0" max="100" default="50.0">
    1012976                        <description><![CDATA[add node mutation: probability of adding a random, simple gene]]></description>
    1013977                </element>
    1014                 <element name="f4_mut_del" type="float" min="0" max="100" default="20">
     978                <element name="f4_mut_del" type="float" min="0" max="100" default="20.0">
    1015979                        <description><![CDATA[mutation: probability of deleting a node]]></description>
    1016980                </element>
    1017                 <element name="f4_mut_mod" type="float" min="0" max="100" default="30">
     981                <element name="f4_mut_mod" type="float" min="0" max="100" default="30.0">
    1018982                        <description><![CDATA[mutation: probability of changing a node]]></description>
    1019983                </element>
     
    11101074]]></description>
    11111075                </element>
    1112                 <element name="neuadd_*" type="integer" min="0" max="1">
     1076                <element name="neuadd_Constant" type="integer" min="0" max="1">
    11131077                        <description><![CDATA[Constant value
    11141078
     
    11191083]]></description>
    11201084                </element>
    1121                 <element name="neuadd_|" type="integer" min="0" max="1">
     1085                <element name="neuadd_Bend_muscle" type="integer" min="0" max="1">
    11221086                        <description><![CDATA[Characteristics:
    11231087   uses single input
     
    11301094   bending range (r) float 0..1]]></description>
    11311095                </element>
    1132                 <element name="neuadd_@" type="integer" min="0" max="1">
     1096                <element name="neuadd_Rotation_muscle" type="integer" min="0" max="1">
    11331097                        <description><![CDATA[Characteristics:
    11341098   uses single input
     
    12891253   time (t) float 0..6.28319]]></description>
    12901254                </element>
     1255                <element name="neuadd_Mzm" type="integer" min="0" max="1">
     1256                        <description><![CDATA[Helps framstick navigate through a maze. This acts as a memory of already visited places. Returns 1 if the framstick has already visited current block, 0 otherwise. The memory is not volatile.
     1257
     1258Characteristics:
     1259   does not use inputs
     1260   provides output value
     1261   does not require location in body
     1262]]></description>
     1263                </element>
     1264                <element name="neuadd_OThr" type="integer" min="0" max="1">
     1265                        <description><![CDATA[Characteristics:
     1266   uses single input
     1267   does not provide output value
     1268   should be located on a Joint
     1269]]></description>
     1270                </element>
     1271                <element name="neuadd_SeeLight" type="integer" min="0" max="1">
     1272                        <description><![CDATA[Characteristics:
     1273   does not use inputs
     1274   provides output value
     1275   should be located on a Part
     1276
     1277
     1278Properties:
     1279    (flavor) float 0..4]]></description>
     1280                </element>
     1281                <element name="neuadd_Linb" type="integer" min="0" max="1">
     1282                        <description><![CDATA[output=input(bez sumowania)
     1283
     1284Characteristics:
     1285   supports any number of inputs
     1286   provides output value
     1287   does not require location in body
     1288]]></description>
     1289                </element>
     1290                <element name="neuadd_Delay" type="integer" min="0" max="1">
     1291                        <description><![CDATA[Characteristics:
     1292   supports any number of inputs
     1293   provides output value
     1294   does not require location in body
     1295
     1296
     1297Properties:
     1298   delay time (in steps) (t) integer 1..1000]]></description>
     1299                </element>
     1300                <element name="neuadd_ntest" type="integer" min="0" max="1">
     1301                        <description><![CDATA[Characteristics:
     1302   uses single input
     1303   provides output value
     1304   should be located on a Joint
     1305]]></description>
     1306                </element>
     1307                <element name="neuadd_WarnLR" type="integer" min="0" max="1">
     1308                        <description><![CDATA[Characteristics:
     1309   does not use inputs
     1310   provides output value
     1311   does not require location in body
     1312
     1313
     1314Properties:
     1315   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     1316                </element>
     1317                <element name="neuadd_SeeLight2" type="integer" min="0" max="1">
     1318                        <description><![CDATA[Returns the average signal intensity of all nearby transmitters. Unlike "SeeLight", signals do not attenuate over distance (however, the maximal signal distance is limited by the "range" parameter).
     1319
     1320Characteristics:
     1321   does not use inputs
     1322   provides output value
     1323   should be located on a Part
     1324
     1325
     1326Properties:
     1327    (range) float 0..100]]></description>
     1328                </element>
     1329                <element name="neuadd_FeelInjury" type="integer" min="0" max="1">
     1330                        <description><![CDATA[Characteristics:
     1331   supports any number of inputs
     1332   does not provide output value
     1333   does not require location in body
     1334]]></description>
     1335                </element>
     1336                <element name="neuadd_PIDV" type="integer" min="0" max="1">
     1337                        <description><![CDATA[PID Regulator (velocity/incremental form)
     1338
     1339Characteristics:
     1340   uses single input
     1341   provides output value
     1342   does not require location in body
     1343
     1344
     1345Properties:
     1346   K (k) float 0.01..100
     1347   Ti (ti) float 0.01..100
     1348   Td (td) float 0.01..100]]></description>
     1349                </element>
     1350                <element name="neuadd_Lin" type="integer" min="0" max="1">
     1351                        <description><![CDATA[output=input
     1352
     1353Characteristics:
     1354   supports any number of inputs
     1355   provides output value
     1356   does not require location in body
     1357]]></description>
     1358                </element>
     1359                <element name="neuadd_WarnDD" type="integer" min="0" max="1">
     1360                        <description><![CDATA[Characteristics:
     1361   does not use inputs
     1362   provides output value
     1363   does not require location in body
     1364
     1365
     1366Properties:
     1367   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     1368                </element>
     1369                <element name="neuadd_Sf" type="integer" min="0" max="1">
     1370                        <description><![CDATA[Detects only food, not other creatures
     1371(in experiments with food in group #1)
     1372
     1373Characteristics:
     1374   does not use inputs
     1375   provides output value
     1376   should be located on a Part
     1377]]></description>
     1378                </element>
     1379                <element name="neuadd_Nn" type="integer" min="0" max="1">
     1380                        <description><![CDATA[Propagates weighted inputs onto the output, but occassionally generates a random value
     1381
     1382Characteristics:
     1383   supports any number of inputs
     1384   provides output value
     1385   does not require location in body
     1386
     1387
     1388Properties:
     1389   Error rate (e) float 0..0.1]]></description>
     1390                </element>
     1391                <element name="neuadd_Rdr" type="integer" min="0" max="1">
     1392                        <description><![CDATA[Characteristics:
     1393   uses single input
     1394   does not provide output value
     1395   does not require location in body
     1396
     1397
     1398Properties:
     1399    ()]]></description>
     1400                </element>
     1401                <element name="neuadd_WarnDist" type="integer" min="0" max="1">
     1402                        <description><![CDATA[Characteristics:
     1403   does not use inputs
     1404   provides output value
     1405   does not require location in body
     1406
     1407
     1408Properties:
     1409   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     1410                </element>
     1411                <element name="neuadd_Cmp" type="integer" min="0" max="1">
     1412                        <description><![CDATA[Helps framstick navigate through a maze. Output returns 1 if there is a free space in the direction where the joint to which the neuron is attahced points, 0 otherwise. NOTE: This neuron *must* be attached to a *joint*.
     1413
     1414Characteristics:
     1415   does not use inputs
     1416   provides output value
     1417   should be located on a Part
     1418]]></description>
     1419                </element>
     1420                <element name="neuadd_Light" type="integer" min="0" max="1">
     1421                        <description><![CDATA[Characteristics:
     1422   supports any number of inputs
     1423   does not provide output value
     1424   should be located on a Part
     1425
     1426
     1427Properties:
     1428    (flavor) float 0..4]]></description>
     1429                </element>
     1430                <element name="neuadd_Thr" type="integer" min="0" max="1">
     1431                        <description><![CDATA[if (input>=t) then output=hi else output=lo
     1432
     1433Characteristics:
     1434   supports any number of inputs
     1435   provides output value
     1436   does not require location in body
     1437
     1438
     1439Properties:
     1440   threshold (t) float
     1441   low output value (lo) float
     1442   high output value (hi) float]]></description>
     1443                </element>
     1444                <element name="neuadd_PIDP" type="integer" min="0" max="1">
     1445                        <description><![CDATA[PID Regulator (positional/full value form)
     1446
     1447Characteristics:
     1448   uses single input
     1449   provides output value
     1450   does not require location in body
     1451
     1452
     1453Properties:
     1454   K (k) float 0.01..100
     1455   Ti (ti) float 0.01..100
     1456   Td (td) float 0.01..100]]></description>
     1457                </element>
     1458                <element name="neuadd_ptest" type="integer" min="0" max="1">
     1459                        <description><![CDATA[different parameter datatypes
     1460
     1461Characteristics:
     1462   uses single input
     1463   provides output value
     1464   does not require location in body
     1465
     1466
     1467Properties:
     1468   first integer (i1) integer
     1469   first float (f1) float
     1470   first string (s1) string
     1471   second integer (i2) integer
     1472   second float (f2) float
     1473   second string (s2) string]]></description>
     1474                </element>
     1475                <element name="neuadd_FF" type="integer" min="0" max="1">
     1476                        <description><![CDATA[Characteristics:
     1477   supports any number of inputs
     1478   does not provide output value
     1479   should be located on a Part
     1480]]></description>
     1481                </element>
    12911482                <element name="add" function="true"/>
    12921483                <element name="addGroup" function="true"/>
     
    14141605        </type>
    14151606        <type name="Genotype" context="Global context">
    1416 <description><![CDATA[A Genotype with the associated performance information. All but one Genotype objects are placed in Genotype Groups. There is also a single static Genotype object not associated with a group, which is used as a temporary storage by genetic operators and some functions from GenePools.]]></description>
     1607<description><![CDATA[A Genotype with the associated performance information. Adding genotypes to GenePool makes them accessible in Framsticks GUI and enables the use of GenePool selection methods.
     1608Before version 4.0rc4 the static Genotype object was used in functions operating on the "selected" genotype. This is now deprecated as all operations can be performed using the more convenient direct access (see GenePools).]]></description>
    14171609                <element name="convtrace1" type="string"/>
    14181610                <element name="distance" type="float"/>
     
    14251617                        <description><![CDATA[Fitness shifted by (avg-n*stddev)]]></description>
    14261618                </element>
     1619                <element name="genepool" type="untyped">
     1620                        <description><![CDATA[GenePool object or null when not in pool]]></description>
     1621                </element>
    14271622                <element name="geno" type="Geno">
    14281623                        <description><![CDATA[Geno object for this Genotype]]></description>
     
    14301625                <element name="genotype" type="string"/>
    14311626                <element name="gnum" type="integer"/>
     1627                <element name="index" type="integer">
     1628                        <description><![CDATA[-1 when not in pool.
     1629Note that the index changes depending on the current genotype position in the pool. Use Genotype.uid if you need a permanent identifier that persists through the entire object lifetime.]]></description>
     1630                </element>
    14321631                <element name="info" type="string">
    14331632                        <description><![CDATA[Additional information or comments]]></description>
     
    14631662                <element name="vertpos" type="float"/>
    14641663                <element name="vertvel" type="float"/>
     1664                <element name="addPerformanceFromCreature" function="true" type="void">
     1665                        <description><![CDATA[Updates the Genotype's performance values merging them with the supplied Creture's performance. It assumes the Genotype.instances has a reasonable value and performs the proper weighting. Use your own function instead if these conditions are not met in your experiment.]]></description>
     1666                        <arguments>
     1667                                <argument type="Creature"/>
     1668                        </arguments>
     1669                </element>
     1670                <element name="copyTo" function="true" type="Genotype">
     1671                        <description><![CDATA[returns the duplicate genotype, created in the target pool]]></description>
     1672                        <arguments>
     1673                                <argument name="pool" type="GenePool"/>
     1674                        </arguments>
     1675                </element>
     1676                <element name="delete" function="true" type="void"><arguments/></element>
     1677                <element name="deleteOne" function="true" type="void">
     1678                        <description><![CDATA[]]></description>
     1679<arguments/></element>
    14651680                <element name="getModel" function="true" type="Model"><arguments/></element>
    14661681                <element name="getNormalized" function="true" type="float">
     
    14691684                        </arguments>
    14701685                </element>
     1686                <element name="moveTo" function="true" type="void">
     1687                        <description><![CDATA[the genotype is removed from its current pool when pool=null]]></description>
     1688                        <arguments>
     1689                                <argument name="pool" type="GenePool"/>
     1690                        </arguments>
     1691                </element>
    14711692                <element name="mutate" function="true" type="void"><arguments/></element>
    1472         </type>
    1473         <type name="GenotypeGroup" context="Global context">
    1474 <description><![CDATA[The static GenePool object refers to the "selected group" as described in GenePools.]]></description>
    1475                 <element name="fitfun" type="integer" min="0" max="1" default="0">
    1476                         <description><![CDATA[Enables fitness scaling.]]></description>
    1477                 </element>
    1478                 <element name="fitm" type="float" min="0" max="10" default="2">
    1479                         <description><![CDATA[Lower threshold: how many standard deviations below average?
    1480 (avg - n * stddev) - used for fitness shifting]]></description>
    1481                 </element>
    1482                 <element name="fitma" type="float" min="1" max="10" default="2">
    1483                         <description><![CDATA[The best genotype is as many times
    1484 better than the average one.]]></description>
    1485                 </element>
    1486                 <element name="fitness" type="string">
    1487                         <description><![CDATA[(intended for advanced users)]]></description>
    1488                 </element>
    1489                 <element name="index" type="integer"/>
    1490                 <element name="name" type="string"/>
    1491                 <element name="size" type="integer">
    1492                         <description><![CDATA[In standard.expdef, this is equivalent to the number of unique genotypes. Standard experiment definition uses the Genotype.instances field to indicate that some genotypes exist in multiple instances despite having only one item in the group. Other experiment definitions may create multiple copies of the same genotype.]]></description>
    1493                 </element>
    1494                 <element name="totalpop" type="integer">
    1495                         <description><![CDATA[Takes into account the Genotype.instances field (which may give the total number of instances depending on the experiment definition).]]></description>
    1496                 </element>
    1497                 <element name="addGeno" function="true" type="Genotype">
    1498                         <description><![CDATA[Creates a new Genotype from the supplied Geno object.
    1499 Returns the created Genotype.]]></description>
    1500                         <arguments>
    1501                                 <argument type="Geno"/>
    1502                         </arguments>
    1503                 </element>
    1504                 <element name="delete" function="true" type="void">
    1505                         <description><![CDATA[Deletes a genotype.]]></description>
    1506                         <arguments>
    1507                                 <argument name="genotype index" type="integer"/>
    1508                         </arguments>
    1509                 </element>
    1510                 <element name="findGeno" function="true" type="integer">
    1511                         <description><![CDATA[Finds the Genotype matching the supplied Geno object.
    1512 returns genotype index or -1 if not found.]]></description>
    1513                         <arguments>
    1514                                 <argument type="Geno"/>
    1515                         </arguments>
    1516                 </element>
    1517                 <element name="findUID" function="true" type="integer">
    1518                         <arguments>
    1519                                 <argument name="uid" type="string"/>
    1520                         </arguments>
    1521                 </element>
    1522                 <element name="get" function="true" type="Genotype">
    1523                         <arguments>
    1524                                 <argument name="index" type="integer"/>
    1525                         </arguments>
    1526                 </element>
     1693                <element name="newFromCreature" function="true">
     1694                        <arguments>
     1695                                <argument name="creature" type="Creature"/>
     1696                        </arguments>
     1697                </element>
     1698                <element name="newFromGeno" function="true">
     1699                        <arguments>
     1700                                <argument name="geno" type="Geno"/>
     1701                        </arguments>
     1702                </element>
     1703                <element name="newFromString" function="true">
     1704                        <arguments>
     1705                                <argument name="genotype" type="string"/>
     1706                        </arguments>
     1707                </element>
     1708                <element name="splitInstances" function="true" type="void"><arguments/></element>
    15271709        </type>
    15281710        <type name="Interface" context="Global context">
     
    16131795        </type>
    16141796        <type name="Joint" context="Global context">
    1615                 <element name="dx" type="float" min="-2" max="2" default="0"/>
    1616                 <element name="dy" type="float" min="-2" max="2" default="0"/>
    1617                 <element name="dz" type="float" min="-2" max="2" default="0"/>
     1797                <element name="dx" type="float" min="-2" max="2" default="0.0"/>
     1798                <element name="dy" type="float" min="-2" max="2" default="0.0"/>
     1799                <element name="dz" type="float" min="-2" max="2" default="0.0"/>
    16181800                <element name="i" type="string"/>
    16191801                <element name="p1" type="integer" min="-1" max="999999" default="-1"/>
    16201802                <element name="p2" type="integer" min="-1" max="999999" default="-1"/>
    1621                 <element name="rotstif" type="float" min="0" max="1" default="1"/>
     1803                <element name="rotstif" type="float" min="0" max="1" default="1.0"/>
    16221804                <element name="rx" type="float"/>
    16231805                <element name="ry" type="float"/>
    16241806                <element name="rz" type="float"/>
    16251807                <element name="stam" type="float" min="0" max="1" default="0.25"/>
    1626                 <element name="stif" type="float" min="0" max="1" default="1"/>
     1808                <element name="stif" type="float" min="0" max="1" default="1.0"/>
     1809                <element name="vb" type="float" min="0" max="1" default="0.5"/>
     1810                <element name="vg" type="float" min="0" max="1" default="0.5"/>
     1811                <element name="vr" type="float" min="0" max="1" default="0.5"/>
    16271812                <element name="Vstyle" type="string"/>
    16281813        </type>
     
    16761861                <element name="seed" type="integer">
    16771862                        <description><![CDATA[Random number generator seed.
    1678 Note: Math.seed influences all future random activity in the simulator, not only Math.rnd01 results.]]></description>
     1863Note: Math.seed influences all further random activity in the simulator, not just the results of functions in this class.
     1864Note #2: When read, the value behaves just like a regular variable that stores the previously assigned value. It does NOT reflect the internal random generator seed that changes every time a random number has been generated.]]></description>
    16791865                </element>
    16801866                <element name="time" type="float">
     
    17471933                        </arguments>
    17481934                </element>
     1935                <element name="randomize" function="true">
     1936                        <description><![CDATA[Set random seed for the random number generator.]]></description>
     1937                </element>
    17491938                <element name="rndCustom" function="true" type="float">
    17501939                        <description><![CDATA[the parameter describes the desired random distribution, being a sum of uniform distributions, eg. rndCustom([-10,-1, -1,1, 1,10]) defines 3 uniform distribution intervals [-1,10) [-1,1), [1,10)]]></description>
     
    17561945                        <description><![CDATA[rndGaussStd is rndGauss(0,1)]]></description>
    17571946                        <arguments>
    1758                                 <argument name="center" type="float"/>
    1759                                 <argument name="stdandard deviation" type="float"/>
     1947                                <argument name="mean" type="float"/>
     1948                                <argument name="standard deviation" type="float"/>
    17601949                        </arguments>
    17611950                </element>
     
    18802069<description><![CDATA[Live Neuron object.]]></description>
    18812070                <element name="channelCount" type="integer"/>
     2071                <element name="classObject" type="NeuroClass"/>
    18822072                <element name="creature" type="Creature"/>
    18832073                <element name="currState" type="float">
    1884                         <description><![CDATA[The only difference from the "state" field is that currState, when written, changes the internal neuron state immediately (which disturbs the regular synchronous NN operation). This feature should only be used while controlling the neuron 'from outside' (like a neuro probe) and not in the neuron definition. See also: Neuro.hold]]></description>
     2074                        <description><![CDATA[When read, it behaves just like the 'state' field.
     2075When written, changes the current neuron state immediately, which disturbs the regular synchronous NN operation.
     2076This feature should only be used while controlling the neuron 'from outside' (like a neuro probe) and not in the neuron definition. See also: Neuro.hold]]></description>
    18852077                </element>
    18862078                <element name="def" type="NeuroDef"/>
     
    19132105                <element name="state" type="float">
    19142106                        <description><![CDATA[When read, returns the current neuron state.
    1915 When written, sets the next neuron state (for use in the neuron definition)]]></description>
     2107When written, sets the 'internal' neuron state that will become current in the next step.
     2108Typically you should use this field, and not currState.]]></description>
    19162109                </element>
    19172110                <element name="weightedInputSum" type="float"/>
     
    19792172        </type>
    19802173        <type name="NeuroClass" context="Global context">
    1981 <description><![CDATA[The static NeuroClass object refers to class selected in the NeuroClassLibrary.]]></description>
     2174<description><![CDATA[The static NeuroClass object refers to the class selected in the NeuroClassLibrary. Most, but not all, properties have direct counterparts in *.neuro files that define custom neuron classes.]]></description>
    19822175                <element name="description" type="string"/>
    1983                 <element name="glyph" type="string"/>
    1984                 <element name="longname" type="string"/>
    1985                 <element name="name" type="string"/>
    1986                 <element name="prefinputs" type="integer"/>
     2176                <element name="glyph" type="string">
     2177                        <description><![CDATA[<html>The neuron icon for use in NN diagrams, encoded as a coma-separated sequence of integer numbers.<ul>
     2178<li>N = the total number of all numbers following this one
     2179<li>NS = the number of line sequences<br>
     2180<ul>repeated NS times:
     2181<li>NL = number of line segments (creating a polyline)
     2182<li><span style="background-color:#fcc;">X,Y</span> (repeated NL+1 times) - subsequent line segment coordinates, each line should fit in a 100x100 square<br>
     2183- neuron input connections will be drawn at X=25 (varying Y for multiple inputs, Y=50 for a single input)<br>
     2184- neuron output connection will be drawn at (X=75,Y=50)
     2185</ul></ul>
     2186<p>Example:
     2187<table border=1>
     2188<tr><th>16,</th><th>2,</th><th>3,</th><th><span style="background-color:#fcc;">25,50</span>, <span style="background-color:#fcc;">40,30</span>, <span style="background-color:#fcc;">60,30</span>, <span style="background-color:#fcc;">75,50</span>,</th><th>1,</th><th><span style="background-color:#fcc;">40,50</span>, <span style="background-color:#fcc;">60,50</span></th></tr>
     2189<tr><td>N = 16 numbers following this one</td><td>NS = 2 line sequences</td><td>NL = the first sequence has 3 segments</td><td>coordinates for 3 line segments = 4 endpoints = 8 numbers</td><td>NL = the second sequence has 1 segment</td><td>coordinates for 1 line segment</td></tr>
     2190</table>
     2191<p>See also: <a href="http://www.framsticks.com/files/dev/files/inkscape-to-icon.html">a script for creating *.neuro icon from SVG</a><br>
     2192Compatibility: this field is called "icon" in *.neuro files.]]></description>
     2193                </element>
     2194                <element name="longname" type="string">
     2195                        <description><![CDATA[Used in hints]]></description>
     2196                </element>
     2197                <element name="name" type="string">
     2198                        <description><![CDATA[Used in genotypes]]></description>
     2199                </element>
     2200                <element name="prefinputs" type="integer">
     2201                        <description><![CDATA[-1 means "any number of inputs is OK"]]></description>
     2202                </element>
    19872203                <element name="preflocation" type="integer" min="0" max="2"/>
    1988                 <element name="prefoutput" type="integer" min="0" max="1"/>
    1989                 <element name="properties" type="Interface"/>
     2204                <element name="prefoutput" type="integer" min="0" max="1">
     2205                        <description><![CDATA[Should be 1 if the neuron provides meaningful output value, 0 otherwise]]></description>
     2206                </element>
     2207                <element name="properties" type="Interface">
     2208                        <description><![CDATA[Compatibility: not preset in *.neuro files.]]></description>
     2209                </element>
    19902210                <element name="summary" type="string">
    1991                         <description><![CDATA[Textual summary of all features]]></description>
    1992                 </element>
    1993                 <element name="visualhints" type="integer"/>
     2211                        <description><![CDATA[Textual summary of all features.
     2212Compatibility: not preset in *.neuro files.]]></description>
     2213                </element>
     2214                <element name="visualhints" type="integer">
     2215                        <description><![CDATA[This is a bitfield. Compute the value by adding the following bits:
     22161 = Invisible - don't draw neurons of this class
     22172 = No label - don't draw classname label (below the neuron symbol) for this neuron class
     22184 = First Part - draw the neuron at the first part when attached to a joint (default is in the middle)
     22198 = Second Part - draw the neuron at the second part when attached to a joint (default is in the middle)
     222016 = Effector - use muscle color when drawing this neuron
     222132 = Sensor - use receptor color when drawing this neuron
     2222Compatiblity: visualhints is called "vhints" in *.neuro files.]]></description>
     2223                </element>
    19942224        </type>
    19952225        <type name="NeuroClassLibrary" context="Global context">
     
    20042234                        </arguments>
    20052235                </element>
     2236                <element name="getClass" function="true">
     2237                        <arguments>
     2238                                <argument name="class name" type="string"/>
     2239                        </arguments>
     2240                </element>
    20062241        </type>
    20072242        <type name="NeuroDef" context="Global context">
     2243                <element name="classObject" type="NeuroClass"/>
    20082244                <element name="d" type="string"/>
    20092245                <element name="getInputCount" type="integer"/>
     
    20962332]]></description>
    20972333                </element>
    2098                 <element name="ncl_*" type="integer" min="0" max="1">
     2334                <element name="ncl_Constant" type="integer" min="0" max="1">
    20992335                        <description><![CDATA[Constant value
    21002336
     
    21052341]]></description>
    21062342                </element>
    2107                 <element name="ncl_|" type="integer" min="0" max="1">
     2343                <element name="ncl_Bend_muscle" type="integer" min="0" max="1">
    21082344                        <description><![CDATA[Characteristics:
    21092345   uses single input
     
    21162352   bending range (r) float 0..1]]></description>
    21172353                </element>
    2118                 <element name="ncl_@" type="integer" min="0" max="1">
     2354                <element name="ncl_Rotation_muscle" type="integer" min="0" max="1">
    21192355                        <description><![CDATA[Characteristics:
    21202356   uses single input
     
    22752511   time (t) float 0..6.28319]]></description>
    22762512                </element>
     2513                <element name="ncl_Mzm" type="integer" min="0" max="1">
     2514                        <description><![CDATA[Helps framstick navigate through a maze. This acts as a memory of already visited places. Returns 1 if the framstick has already visited current block, 0 otherwise. The memory is not volatile.
     2515
     2516Characteristics:
     2517   does not use inputs
     2518   provides output value
     2519   does not require location in body
     2520]]></description>
     2521                </element>
     2522                <element name="ncl_OThr" type="integer" min="0" max="1">
     2523                        <description><![CDATA[Characteristics:
     2524   uses single input
     2525   does not provide output value
     2526   should be located on a Joint
     2527]]></description>
     2528                </element>
     2529                <element name="ncl_SeeLight" type="integer" min="0" max="1">
     2530                        <description><![CDATA[Characteristics:
     2531   does not use inputs
     2532   provides output value
     2533   should be located on a Part
     2534
     2535
     2536Properties:
     2537    (flavor) float 0..4]]></description>
     2538                </element>
     2539                <element name="ncl_Linb" type="integer" min="0" max="1">
     2540                        <description><![CDATA[output=input(bez sumowania)
     2541
     2542Characteristics:
     2543   supports any number of inputs
     2544   provides output value
     2545   does not require location in body
     2546]]></description>
     2547                </element>
     2548                <element name="ncl_Delay" type="integer" min="0" max="1">
     2549                        <description><![CDATA[Characteristics:
     2550   supports any number of inputs
     2551   provides output value
     2552   does not require location in body
     2553
     2554
     2555Properties:
     2556   delay time (in steps) (t) integer 1..1000]]></description>
     2557                </element>
     2558                <element name="ncl_ntest" type="integer" min="0" max="1">
     2559                        <description><![CDATA[Characteristics:
     2560   uses single input
     2561   provides output value
     2562   should be located on a Joint
     2563]]></description>
     2564                </element>
     2565                <element name="ncl_WarnLR" type="integer" min="0" max="1">
     2566                        <description><![CDATA[Characteristics:
     2567   does not use inputs
     2568   provides output value
     2569   does not require location in body
     2570
     2571
     2572Properties:
     2573   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     2574                </element>
     2575                <element name="ncl_SeeLight2" type="integer" min="0" max="1">
     2576                        <description><![CDATA[Returns the average signal intensity of all nearby transmitters. Unlike "SeeLight", signals do not attenuate over distance (however, the maximal signal distance is limited by the "range" parameter).
     2577
     2578Characteristics:
     2579   does not use inputs
     2580   provides output value
     2581   should be located on a Part
     2582
     2583
     2584Properties:
     2585    (range) float 0..100]]></description>
     2586                </element>
     2587                <element name="ncl_FeelInjury" type="integer" min="0" max="1">
     2588                        <description><![CDATA[Characteristics:
     2589   supports any number of inputs
     2590   does not provide output value
     2591   does not require location in body
     2592]]></description>
     2593                </element>
     2594                <element name="ncl_PIDV" type="integer" min="0" max="1">
     2595                        <description><![CDATA[PID Regulator (velocity/incremental form)
     2596
     2597Characteristics:
     2598   uses single input
     2599   provides output value
     2600   does not require location in body
     2601
     2602
     2603Properties:
     2604   K (k) float 0.01..100
     2605   Ti (ti) float 0.01..100
     2606   Td (td) float 0.01..100]]></description>
     2607                </element>
     2608                <element name="ncl_Lin" type="integer" min="0" max="1">
     2609                        <description><![CDATA[output=input
     2610
     2611Characteristics:
     2612   supports any number of inputs
     2613   provides output value
     2614   does not require location in body
     2615]]></description>
     2616                </element>
     2617                <element name="ncl_WarnDD" type="integer" min="0" max="1">
     2618                        <description><![CDATA[Characteristics:
     2619   does not use inputs
     2620   provides output value
     2621   does not require location in body
     2622
     2623
     2624Properties:
     2625   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     2626                </element>
     2627                <element name="ncl_Sf" type="integer" min="0" max="1">
     2628                        <description><![CDATA[Detects only food, not other creatures
     2629(in experiments with food in group #1)
     2630
     2631Characteristics:
     2632   does not use inputs
     2633   provides output value
     2634   should be located on a Part
     2635]]></description>
     2636                </element>
     2637                <element name="ncl_Nn" type="integer" min="0" max="1">
     2638                        <description><![CDATA[Propagates weighted inputs onto the output, but occassionally generates a random value
     2639
     2640Characteristics:
     2641   supports any number of inputs
     2642   provides output value
     2643   does not require location in body
     2644
     2645
     2646Properties:
     2647   Error rate (e) float 0..0.1]]></description>
     2648                </element>
     2649                <element name="ncl_Rdr" type="integer" min="0" max="1">
     2650                        <description><![CDATA[Characteristics:
     2651   uses single input
     2652   does not provide output value
     2653   does not require location in body
     2654
     2655
     2656Properties:
     2657    ()]]></description>
     2658                </element>
     2659                <element name="ncl_WarnDist" type="integer" min="0" max="1">
     2660                        <description><![CDATA[Characteristics:
     2661   does not use inputs
     2662   provides output value
     2663   does not require location in body
     2664
     2665
     2666Properties:
     2667   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     2668                </element>
     2669                <element name="ncl_Cmp" type="integer" min="0" max="1">
     2670                        <description><![CDATA[Helps framstick navigate through a maze. Output returns 1 if there is a free space in the direction where the joint to which the neuron is attahced points, 0 otherwise. NOTE: This neuron *must* be attached to a *joint*.
     2671
     2672Characteristics:
     2673   does not use inputs
     2674   provides output value
     2675   should be located on a Part
     2676]]></description>
     2677                </element>
     2678                <element name="ncl_Light" type="integer" min="0" max="1">
     2679                        <description><![CDATA[Characteristics:
     2680   supports any number of inputs
     2681   does not provide output value
     2682   should be located on a Part
     2683
     2684
     2685Properties:
     2686    (flavor) float 0..4]]></description>
     2687                </element>
     2688                <element name="ncl_Thr" type="integer" min="0" max="1">
     2689                        <description><![CDATA[if (input>=t) then output=hi else output=lo
     2690
     2691Characteristics:
     2692   supports any number of inputs
     2693   provides output value
     2694   does not require location in body
     2695
     2696
     2697Properties:
     2698   threshold (t) float
     2699   low output value (lo) float
     2700   high output value (hi) float]]></description>
     2701                </element>
     2702                <element name="ncl_PIDP" type="integer" min="0" max="1">
     2703                        <description><![CDATA[PID Regulator (positional/full value form)
     2704
     2705Characteristics:
     2706   uses single input
     2707   provides output value
     2708   does not require location in body
     2709
     2710
     2711Properties:
     2712   K (k) float 0.01..100
     2713   Ti (ti) float 0.01..100
     2714   Td (td) float 0.01..100]]></description>
     2715                </element>
     2716                <element name="ncl_ptest" type="integer" min="0" max="1">
     2717                        <description><![CDATA[different parameter datatypes
     2718
     2719Characteristics:
     2720   uses single input
     2721   provides output value
     2722   does not require location in body
     2723
     2724
     2725Properties:
     2726   first integer (i1) integer
     2727   first float (f1) float
     2728   first string (s1) string
     2729   second integer (i2) integer
     2730   second float (f2) float
     2731   second string (s2) string]]></description>
     2732                </element>
     2733                <element name="ncl_FF" type="integer" min="0" max="1">
     2734                        <description><![CDATA[Characteristics:
     2735   supports any number of inputs
     2736   does not provide output value
     2737   should be located on a Part
     2738]]></description>
     2739                </element>
    22772740        </type>
    22782741        <type name="NeuroSignals" context="Global context">
    2279 <description><![CDATA[Signals attached to the neuron.
     2742<description><![CDATA[Signals attached to a neuron.
    22802743See also: Signal, WorldSignals, CreatureSignals.
    22812744scripts/light.neuro and scripts/seelight.neuro are simple custom neuron examples demonstrating how to send/receive signals between creatures.]]></description>
    22822745                <element name="size" type="integer"/>
    2283                 <element name="add" function="true" type="void">
    2284                         <description><![CDATA[Create a new signal]]></description>
     2746                <element name="add" function="true" type="Signal">
    22852747                        <arguments>
    22862748                                <argument name="channel" type="string"/>
     
    23042766Additional filtering options:
    23052767- Max distance only receives the neighbor signals (based on their physical location)
    2306 - Flavor filtering: only signals having the flavor close to the specified one will be received. The filter value is the maximum allowed difference.]]></description>
     2768- Flavor filtering: only signals having the flavor similar to the specified value will be received. The flavorfilter value is the difference of flavor that reduces the received signal to 0. The "flavor attenuation" is linear, i.e., signals differing by (filter/2) in flavor will be reduced to 50%.]]></description>
    23072769                        <arguments>
    23082770                                <argument name="channel" type="string"/>
    23092771                                <argument name="max distance" type="float"/>
    23102772                                <argument name="flavor" type="float"/>
    2311                                 <argument name="filter" type="float"/>
     2773                                <argument name="flavorfilter" type="float"/>
    23122774                        </arguments>
    23132775                </element>
    23142776                <element name="receiveSet" function="true" type="Vector">
    2315                         <description><![CDATA[Get all signals in the specified range. Returns a readonly vector object containing Signal objects (individual signals can be accessed as result[0] throught result[result.size-1]).]]></description>
     2777                        <description><![CDATA[Get all signals in the specified range. Returns a read-only vector object containing Signal objects - individual signals can be accessed as result[0], .., result[result.size-1].]]></description>
    23162778                        <arguments>
    23172779                                <argument name="channel" type="string"/>
     
    23202782                </element>
    23212783                <element name="receiveSingle" function="true" type="Signal">
    2322                         <description><![CDATA[Find the signal source having the highest signal power (including the distance)]]></description>
     2784                        <description><![CDATA[Find the signal source that has the highest signal power (taking into account distance).]]></description>
    23232785                        <arguments>
    23242786                                <argument name="channel" type="string"/>
    2325                                 <argument name="range" type="float"/>
     2787                                <argument name="max distance" type="float"/>
    23262788                        </arguments>
    23272789                </element>
     
    23342796                <element name="odecol2bounce" type="float" min="0" max="1" default="0.1"/>
    23352797                <element name="odecol2bouncevel" type="float" min="0" max="1" default="0.01"/>
    2336                 <element name="odecol2mumax" type="float" min="0" max="10" default="1">
     2798                <element name="odecol2mumax" type="float" min="0" max="10" default="1.0">
    23372799                        <description><![CDATA[Mu coefficient for Parts with maximal friction (i.e. "FFFFF" in f1)]]></description>
    23382800                </element>
     
    23402802                        <description><![CDATA[Mu coefficient for Parts with minimal friction (i.e. "fffff" in f1)]]></description>
    23412803                </element>
    2342                 <element name="odecol2softcfm" type="float" min="0" max="1" default="0"/>
    2343                 <element name="odecol2softerp" type="float" min="0" max="1" default="0"/>
     2804                <element name="odecol2softcfm" type="float" min="0" max="1" default="0.0"/>
     2805                <element name="odecol2softerp" type="float" min="0" max="1" default="0.0"/>
    23442806                <element name="odecolbounce" type="float" min="0" max="1" default="0.1"/>
    23452807                <element name="odecolbouncevel" type="float" min="0" max="1" default="0.01"/>
    2346                 <element name="odecolmumax" type="float" min="0" max="10" default="5">
     2808                <element name="odecolmumax" type="float" min="0" max="10" default="5.0">
    23472809                        <description><![CDATA[Mu coefficient for Parts with maximal friction (i.e. "FFFFF" in f1)]]></description>
    23482810                </element>
     
    23502812                        <description><![CDATA[Mu coefficient for Parts with minimal friction (i.e. "fffff" in f1)]]></description>
    23512813                </element>
    2352                 <element name="odecolsoftcfm" type="float" min="0" max="1" default="0"/>
    2353                 <element name="odecolsofterp" type="float" min="0" max="1" default="0"/>
    2354                 <element name="odemusclemax" type="float" min="0" max="100" default="10">
     2814                <element name="odecolsoftcfm" type="float" min="0" max="1" default="0.0"/>
     2815                <element name="odecolsofterp" type="float" min="0" max="1" default="0.0"/>
     2816                <element name="odemusclemax" type="float" min="0" max="100" default="10.0">
    23552817                        <description><![CDATA[i.e. "MMMMM" if f1]]></description>
    23562818                </element>
    2357                 <element name="odemusclemin" type="float" min="0" max="100" default="0">
     2819                <element name="odemusclemin" type="float" min="0" max="100" default="0.0">
    23582820                        <description><![CDATA[i.e. "mmmmm" in f1]]></description>
    23592821                </element>
    2360                 <element name="odemusclespeed" type="float" min="0" max="10" default="1">
     2822                <element name="odemusclespeed" type="float" min="0" max="10" default="1.0">
    23612823                        <description><![CDATA[Muscle state cannot change faster than the supplied value]]></description>
    23622824                </element>
    23632825                <element name="odeseed" type="integer" min="0" max="2">
    23642826                        <description><![CDATA[Affects collisions.
    2365 - 'Truly random' is closest to the standard ODE operation. Use Math.seed to influence randomness in ODE collisions
    2366 - 'Deterministic' automatically calculates random seed in each step based on the current simulation (world) state, which makes the simulation repeatable but more random than 'Fixed'
    2367 - 'Fixed' is completely deterministic and does not depend on Math.seed. This might negatively affect ODE accuracy
     2827- 'Truly random' is closest to the standard ODE operation. Use Math.seed to influence randomness in ODE collisions.
     2828- 'Deterministic' automatically calculates random seed in each step based on the current simulation (world) state, which makes the simulation repeatable but more random than 'Fixed'.
     2829- 'Fixed' is completely deterministic and does not depend on Math.seed - the same seed value is set before each step. This might negatively affect ODE accuracy.
    23682830]]></description>
    23692831                </element>
     
    23732835                <element name="odeshape" type="integer" min="0" max="1"/>
    23742836                <element name="odestep" type="float" min="0.001" max="1" default="0.05"/>
    2375                 <element name="odewaterbuoy" type="float" min="0" max="2" default="1"/>
     2837                <element name="odewaterbuoy" type="float" min="0" max="2" default="1.0"/>
    23762838                <element name="odewaterdrag" type="float" min="0.001" max="1" default="0.5"/>
    23772839                <element name="odeworldcfm" type="float" min="0" max="1" default="1e-05">
     
    23952857        <type name="Orient" context="Global context">
    23962858<description><![CDATA[3D orientation, stored as 3x3 matrix.]]></description>
     2859                <element name="toVector" type="Vector">
     2860                        <description><![CDATA[for serialization]]></description>
     2861                </element>
    23972862                <element name="x" type="XYZ"/>
    23982863                <element name="xx" type="float"/>
     
    24082873                <element name="zz" type="float"/>
    24092874                <element name="between2" function="true" type="void">
     2875                        <description><![CDATA[The calling Orient receives the orientation interpolated from 2 input orientations.
     2876Example:
     2877var o1=Orient.new(), o2=Orient.new(), o3=Orient.new();
     2878o2.rotate3(0,Math.pi/2,0);
     2879o3.between2(o1,o2,0); // o3 equals o2
     2880o3.between2(o1,o2,1); // o3 equals o1
     2881o3.between2(o1,o2,0.5); // o3 is halfway between o1 and o2
     2882]]></description>
    24102883                        <arguments>
    24112884                                <argument type="Orient"/>
     
    24152888                </element>
    24162889                <element name="betweenOV" function="true" type="void">
     2890                        <description><![CDATA[Like between2(), but the second Orient is composed of the supplied XYZ vector (X component) and Y Z vectors from the calling object.
     2891Example:
     2892var o=Orient.new();
     2893o.betweenOV(o,(0,1,0),1); //no change, o remains 100 010 001
     2894o.betweenOV(o,(0,1,0),0.9); //o is slightly rotated towards (0,1,0)
     2895o.betweenOV(o,(0,1,0),0); //o is completely transformed, o.x=(0,1,0)
     2896]]></description>
    24172897                        <arguments>
    24182898                                <argument type="Orient"/>
     
    24352915                </element>
    24362916                <element name="new" function="true" type="Orient"><arguments/></element>
     2917                <element name="newFromVector" function="true" type="Orient">
     2918                        <arguments>
     2919                                <argument type="Vector"/>
     2920                        </arguments>
     2921                </element>
    24372922                <element name="normalize" function="true" type="void"><arguments/></element>
    24382923                <element name="reset" function="true" type="void"><arguments/></element>
     
    24682953        <type name="Part" context="Global context">
    24692954                <element name="as" type="float" min="0" max="1" default="0.25"/>
    2470                 <element name="dn" type="float" min="0.2" max="5" default="1"/>
     2955                <element name="dn" type="float" min="0.2" max="5" default="1.0"/>
    24712956                <element name="fr" type="float" min="0" max="4" default="0.4"/>
    24722957                <element name="i" type="string"/>
    24732958                <element name="ing" type="float" min="0" max="1" default="0.25"/>
    2474                 <element name="m" type="float" min="0.1" max="999" default="1"/>
     2959                <element name="m" type="float" min="0.1" max="999" default="1.0"/>
    24752960                <element name="rx" type="float"/>
    24762961                <element name="ry" type="float"/>
    24772962                <element name="rz" type="float"/>
    2478                 <element name="s" type="float" min="0.1" max="10" default="1"/>
     2963                <element name="s" type="float" min="0.1" max="10" default="1.0"/>
     2964                <element name="vb" type="float" min="0" max="1" default="0.5"/>
     2965                <element name="vg" type="float" min="0" max="1" default="0.5"/>
     2966                <element name="vr" type="float" min="0" max="1" default="0.5"/>
     2967                <element name="vs" type="float" min="0.05" max="0.7" default="0.2"/>
    24792968                <element name="Vstyle" type="string"/>
    24802969                <element name="x" type="float"/>
     
    24932982                        <description><![CDATA[Do creatures die when no energy?]]></description>
    24942983                </element>
    2495                 <element name="em_dyn" type="float" min="0" max="1" default="0">
     2984                <element name="em_dyn" type="float" min="0" max="1" default="0.0">
    24962985                        <description><![CDATA[Energy requirements for a muscle
    24972986moving a stick]]></description>
    24982987                </element>
    2499                 <element name="em_stat" type="float" min="0" max="1" default="0">
     2988                <element name="em_stat" type="float" min="0" max="1" default="0.0">
    25002989                        <description><![CDATA[Energy requirements for a muscle
    25012990resisting an external force]]></description>
    25022991                </element>
    2503                 <element name="en_assim" type="float" min="0" max="1" default="0">
     2992                <element name="en_assim" type="float" min="0" max="1" default="0.0">
    25042993                        <description><![CDATA[Maximal energy gain produced by a vertical specialized stick.
    25052994Horizontal specialized sticks get half of this value.]]></description>
     
    25623051                        <description><![CDATA[A creature is considered stabilized when its center of gravity stays within the specified distance after the "Sampling period while waiting" has elapsed.]]></description>
    25633052                </element>
    2564                 <element name="createFromGeno" function="true" type="Creature">
    2565                         <description><![CDATA[Uses the supplied Geno object]]></description>
     3053                <element name="clear" function="true" type="void">
     3054                        <description><![CDATA[Delete all creatures]]></description>
     3055<arguments/></element>
     3056                <element name="create" function="true" type="Creature">
     3057                        <arguments>
     3058                                <argument name="genotype object or geno object or string genotype" type="untyped"/>
     3059                        </arguments>
     3060                </element>
     3061                <element name="createFromGeno" function="true" type="Creature" deprecated="true">
     3062                        <description><![CDATA[Uses the supplied Geno object.
     3063Deprecated. Use the more universal create() function.]]></description>
    25663064                        <arguments>
    25673065                                <argument type="Geno"/>
    25683066                        </arguments>
    25693067                </element>
    2570                 <element name="createFromGenotype" function="true" type="Creature">
    2571                         <description><![CDATA[Uses the selected Genotype object]]></description>
     3068                <element name="createFromGenotype" function="true" type="Creature" deprecated="true">
     3069                        <description><![CDATA[Uses the selected Genotype object.
     3070Deprecated. Use the more universal create() function.]]></description>
    25723071<arguments/></element>
    2573                 <element name="createFromString" function="true" type="Creature">
    2574                         <description><![CDATA[Uses the supplied string argument]]></description>
     3072                <element name="createFromString" function="true" type="Creature" deprecated="true">
     3073                        <description><![CDATA[Uses the supplied string argument.
     3074Deprecated. Use the more universal create() function.]]></description>
    25753075                        <arguments>
    25763076                                <argument name="genotype" type="string"/>
     
    25803080                        <description><![CDATA[delete creature]]></description>
    25813081                        <arguments>
    2582                                 <argument name="creature index" type="integer"/>
     3082                                <argument name="creature object or index" type="untyped"/>
    25833083                        </arguments>
    25843084                </element>
     
    26023102                        <description><![CDATA[kill creature]]></description>
    26033103                        <arguments>
    2604                                 <argument name="creature index" type="integer"/>
     3104                                <argument name="creature object or index" type="integer"/>
    26053105                        </arguments>
    26063106                </element>
     
    26283128        </type>
    26293129        <type name="Populations" context="Global context">
    2630 <description><![CDATA[Manages all Creature objects in the experiment, organized in one or more groups. See also: Creature, Population.]]></description>
    2631                 <element name="creature" type="integer"/>
    2632                 <element name="group" type="integer">
    2633                         <description><![CDATA[Index of the currently selected group (Population).]]></description>
     3130<description><![CDATA[Manages all Creature objects in the experiment, organized in one or more groups.
     3131Before version 4.0rc4 some operations could only be performed on the "selected" creature (the one pointed to by group/create fields in Populations). Currently, the more convenient and recommended way is to call Creatures's functions that operate directly on the passed objects.
     3132
     3133// The old way:
     3134Populations.group=0;
     3135Populations.creature=0;
     3136GenePools.getFromCreature();
     3137GenePools.copyTo(0);
     3138
     3139// Doing the same the new way:
     3140Genotype.newFromCreature(Populations[0][0]).moveTo(GenePools[0]);
     3141
     3142See also: Creature, Population.]]></description>
     3143                <element name="creature" type="integer" deprecated="true">
     3144                        <description><![CDATA[Deprecated. Pass creature object to functions needing it, instead of the old "first select, then call" approach.]]></description>
     3145                </element>
     3146                <element name="group" type="integer" deprecated="true">
     3147                        <description><![CDATA[Index of the currently selected group (Population).
     3148Deprecated. Pass creature object to functions needing it, instead of the old "first select, then call" approach.]]></description>
    26343149                </element>
    26353150                <element name="size" type="integer"/>
    2636                 <element name="addGroup" function="true" type="void">
     3151                <element name="addGroup" function="true" type="Population">
    26373152                        <description><![CDATA[Adds a new population.]]></description>
    26383153                        <arguments>
     
    26433158                        <description><![CDATA[Removes all populations except the first one.]]></description>
    26443159<arguments/></element>
    2645                 <element name="clearGroup" function="true" type="void">
     3160                <element name="clearGroup" function="true" type="void" deprecated="true">
     3161                        <description><![CDATA[Deprecated.
     3162Use Populations[pop_index].clear() instead of Populations.clearGroup(pop_index); ]]></description>
    26463163                        <arguments>
    26473164                                <argument name="index" type="integer"/>
    26483165                        </arguments>
    26493166                </element>
    2650                 <element name="creatBBCollisions" function="true" type="integer">
     3167                <element name="creatBBCollisions" function="true" type="integer" deprecated="true">
    26513168                        <description><![CDATA[Checks approximate collisions for the selected creature.
    2652 Returns the collision mask calculated as in the regular simulation. The argument is the collision mask substituted for the selected creature (defaults to group colmask for 0).]]></description>
     3169Returns the collision mask calculated as in the regular simulation. The argument is the collision mask substituted for the selected creature (defaults to group colmask for 0).
     3170Deprecated. Use Creature.boundingBoxCollisions()]]></description>
    26533171                        <arguments>
    26543172                                <argument name="mask" type="integer"/>
    26553173                        </arguments>
    26563174                </element>
    2657                 <element name="createFromGenotype" function="true" type="Creature">
     3175                <element name="createFromGenotype" function="true" type="Creature" deprecated="true">
    26583176                        <description><![CDATA[Uses the selected Genotype object.]]></description>
    26593177<arguments/></element>
    2660                 <element name="createFromString" function="true" type="Creature">
     3178                <element name="createFromString" function="true" type="Creature" deprecated="true">
    26613179                        <description><![CDATA[Uses the supplied string argument.]]></description>
    26623180                        <arguments>
     
    26703188                        </arguments>
    26713189                </element>
    2672                 <element name="deleteSelected" function="true" type="void">
     3190                <element name="deleteSelected" function="true" type="void" deprecated="true">
    26733191                        <description><![CDATA[Applies to the selected Creature.]]></description>
    26743192<arguments/></element>
     
    26843202                        </arguments>
    26853203                </element>
    2686                 <element name="killSelected" function="true" type="void">
     3204                <element name="killSelected" function="true" type="void" deprecated="true">
    26873205                        <description><![CDATA[Applies to the selected Creature.]]></description>
    26883206<arguments/></element>
     
    27513269Creating: Use "add" in Creature.signals, Neuro.signals, or World.signals.]]></description>
    27523270                <element name="channel" type="string">
    2753                         <description><![CDATA[Channel name, readonly.]]></description>
     3271                        <description><![CDATA[Channel name, read-only.]]></description>
    27543272                </element>
    27553273                <element name="flavor" type="float">
    2756                         <description><![CDATA[Signal flavor is can be used to differentiate between signals in a single channel. ]]></description>
     3274                        <description><![CDATA[Signal flavor can be used to differentiate between signals in a single channel.]]></description>
    27573275                </element>
    27583276                <element name="pos" type="XYZ">
    2759                         <description><![CDATA[Signal position, readonly.]]></description>
     3277                        <description><![CDATA[Signal position, read-only.]]></description>
    27603278                </element>
    27613279                <element name="power" type="float">
     
    27633281                </element>
    27643282                <element name="value" type="untyped">
    2765                         <description><![CDATA[Signal value can be any type. On the receiver side it is only available by accessing the individual Signal objects, i.e. after calling receiveSet() or receiveSingle(). The aggregating function receive() and receiveFilter() ignore this attribute.]]></description>
     3283                        <description><![CDATA[Signal value can be any type. On the receiver side it is only available by accessing the individual Signal objects, i.e. after calling receiveSet() or receiveSingle(). The aggregating functions receive() and receiveFilter() ignore this attribute.]]></description>
    27663284                </element>
    27673285                <element name="remove" function="true">
    2768                         <description><![CDATA[Deletes the signal]]></description>
     3286                        <description><![CDATA[Deletes the signal.]]></description>
    27693287                </element>
    27703288        </type>
     
    28143332        <type name="sim_params" context="Global context">
    28153333<description><![CDATA[This object groups all simulator parameters so they can be loaded or saved with a single call (see scripts/standard_loadsave.inc). For other purposes please use specific objects, like Simulator, World, Populations, etc.]]></description>
     3334                <element name="aging" type="integer" min="0" max="100000">
     3335                        <description><![CDATA[Idle metabolism doubles after this period (0 disables aging)]]></description>
     3336                </element>
    28163337                <element name="autosaveperiod" type="integer" min="0" max="100000">
    28173338                        <description><![CDATA[Save simulation state once every n-th event
    28183339(events are defined by the script. For 'standard.expdef' it is after each death).
    2819 Save EXPT file first to initialize name for autosave files.]]></description>
    2820                 </element>
    2821                 <element name="bnoise_struct" type="float" min="0" max="10" default="0">
     3340Save EXPT file first to initialize name for autosave files.
     3341Slave simulators (in multithreaded experiments) ignore this setting and never create autosave files.]]></description>
     3342                </element>
     3343                <element name="bnoise_struct" type="float" min="0" max="10" default="0.0">
    28223344                        <description><![CDATA[When >0, body constructs of creatures (position of Parts) will be randomly disturbed when they are created.]]></description>
    28233345                </element>
    2824                 <element name="bnoise_vel" type="float" min="0" max="10" default="0">
     3346                <element name="bnoise_vel" type="float" min="0" max="10" default="0.0">
    28253347                        <description><![CDATA[Random velocities will be applied to all body Parts (in MechaStick) or rigid segments (in ODE) of newly created creatures.]]></description>
     3348                </element>
     3349                <element name="boostphase" type="integer" min="0" max="1" default="1">
     3350                        <description><![CDATA[After stagnation has been detected, switches negative selection to "delete worst", doubles "multiple evaluation" and starts another stagnation detection phase.
     3351"Delete worst" results in extremely quick convergence and high selection pressure, similarly to "local search" optimization techniques.]]></description>
     3352                </element>
     3353                <element name="capacity" type="integer" min="0" max="10000">
     3354                        <description><![CDATA[]]></description>
    28263355                </element>
    28273356                <element name="changedProperty" type="integer"/>
    28283357                <element name="changedPropertyId" type="string"/>
     3358                <element name="cpus" type="integer"/>
     3359                <element name="cr_c" type="float" min="-10000" max="10000">
     3360                        <description><![CDATA[Constant value added to total fitness]]></description>
     3361                </element>
     3362                <element name="cr_di" type="float" min="-10000" max="10000">
     3363                        <description><![CDATA[Weight of distance in total fitness]]></description>
     3364                </element>
     3365                <element name="cr_gl" type="float" min="-10000" max="10000">
     3366                        <description><![CDATA[Weight of body size (number of parts) in total fitness]]></description>
     3367                </element>
     3368                <element name="cr_joints" type="float" min="-10000" max="10000">
     3369                        <description><![CDATA[Weight of structure size (number of joints) in total fitness]]></description>
     3370                </element>
     3371                <element name="cr_life" type="float" min="-10000" max="10000">
     3372                        <description><![CDATA[Weight of life span in total fitness]]></description>
     3373                </element>
     3374                <element name="cr_nncon" type="float" min="-10000" max="10000">
     3375                        <description><![CDATA[Weight of brain connections in total fitness]]></description>
     3376                </element>
     3377                <element name="cr_nnsiz" type="float" min="-10000" max="10000">
     3378                        <description><![CDATA[Weight of brain size (number of neurons) in total fitness]]></description>
     3379                </element>
     3380                <element name="cr_norm" type="integer" min="0" max="1">
     3381                        <description><![CDATA[Normalize each criterion to 0..1 interval before weighting]]></description>
     3382                </element>
     3383                <element name="cr_simi" type="integer" min="0" max="1">
     3384                        <description><![CDATA[If enabled, fitness of each genotype will be reduced by its phenotypic similarity to all other genotypes in the gene pool]]></description>
     3385                </element>
     3386                <element name="cr_v" type="float" min="-10000" max="10000">
     3387                        <description><![CDATA[Weight of horizontal velocity in total fitness]]></description>
     3388                </element>
     3389                <element name="cr_vpos" type="float" min="-10000" max="10000">
     3390                        <description><![CDATA[Weight of vertical position in total fitness]]></description>
     3391                </element>
     3392                <element name="cr_vvel" type="float" min="-10000" max="10000">
     3393                        <description><![CDATA[Weight of vertical velocity in total fitness]]></description>
     3394                </element>
    28293395                <element name="createrr" type="integer" min="0" max="2" default="1"/>
     3396                <element name="creath" type="float" min="-1" max="50">
     3397                        <description><![CDATA[Vertical position (above the surface) where newborn creatures are placed.
     3398Negative values are only used in the water area:
     3399  0   = at the surface
     3400-0.5 = half depth
     3401-1   = just above the bottom]]></description>
     3402                </element>
     3403                <element name="creaturesgrouploaded" type="integer">
     3404                        <description><![CDATA[]]></description>
     3405                </element>
    28303406                <element name="creatwarnfail" type="integer" min="0" max="1">
    28313407                        <description><![CDATA[Creatures grown with warnings will not be simulated.]]></description>
     3408                </element>
     3409                <element name="delrule" type="integer" min="0" max="2">
     3410                        <description><![CDATA[Negative selection: which genotypes should be removed when we need room for new genotypes in the gene pool]]></description>
     3411                </element>
     3412                <element name="e_meta" type="float" min="0" max="1">
     3413                        <description><![CDATA[Each stick consumes this amount of energy in one time step]]></description>
     3414                </element>
     3415                <element name="Energy0" type="float" min="0" max="10000">
     3416                        <description><![CDATA[Base starting energy level (for each stick)]]></description>
     3417                </element>
     3418                <element name="evalcount" type="integer" min="0" max="1000" default="0">
     3419                        <description><![CDATA[If more than zero:
     3420- each genotype will be evaluated many times
     3421- fitness will be averaged
     3422- fitness standard deviation will be stored in the 'user1' field of a genotype
     3423- there will be no "Unchanged" genotypes ("Unchanged" value is considered zero).]]></description>
    28323424                </element>
    28333425                <element name="expdef" type="string">
     
    28403432                <element name="expdef_info" type="string"/>
    28413433                <element name="expdef_title" type="string"/>
    2842                 <element name="f0_c_del" type="float" min="0" max="100" default="5">
    2843                         <description><![CDATA[]]></description>
    2844                 </element>
    2845                 <element name="f0_c_new" type="float" min="0" max="100" default="5">
    2846                         <description><![CDATA[]]></description>
    2847                 </element>
    2848                 <element name="f0_c_wei" type="float" min="0" max="100" default="10">
    2849                         <description><![CDATA[]]></description>
    2850                 </element>
    2851                 <element name="f0_j_del" type="float" min="0" max="100" default="5">
    2852                         <description><![CDATA[]]></description>
    2853                 </element>
    2854                 <element name="f0_j_new" type="float" min="0" max="100" default="5">
    2855                         <description><![CDATA[]]></description>
    2856                 </element>
    2857                 <element name="f0_j_rsf" type="float" min="0" max="100" default="10">
    2858                         <description><![CDATA[]]></description>
    2859                 </element>
    2860                 <element name="f0_j_stf" type="float" min="0" max="100" default="10">
    2861                         <description><![CDATA[]]></description>
    2862                 </element>
    2863                 <element name="f0_j_stm" type="float" min="0" max="100" default="10">
    2864                         <description><![CDATA[]]></description>
    2865                 </element>
    2866                 <element name="f0_n_del" type="float" min="0" max="100" default="5">
    2867                         <description><![CDATA[]]></description>
    2868                 </element>
    2869                 <element name="f0_n_new" type="float" min="0" max="100" default="5">
    2870                         <description><![CDATA[]]></description>
    2871                 </element>
    2872                 <element name="f0_n_prp" type="float" min="0" max="100" default="10">
     3434                <element name="expparams" type="ExpParams"/>
     3435                <element name="expstate" type="ExpState"/>
     3436                <element name="f0_c_del" type="float" min="0" max="100" default="5.0">
     3437                        <description><![CDATA[]]></description>
     3438                </element>
     3439                <element name="f0_c_new" type="float" min="0" max="100" default="5.0">
     3440                        <description><![CDATA[]]></description>
     3441                </element>
     3442                <element name="f0_c_wei" type="float" min="0" max="100" default="10.0">
     3443                        <description><![CDATA[]]></description>
     3444                </element>
     3445                <element name="f0_j_del" type="float" min="0" max="100" default="5.0">
     3446                        <description><![CDATA[]]></description>
     3447                </element>
     3448                <element name="f0_j_new" type="float" min="0" max="100" default="5.0">
     3449                        <description><![CDATA[]]></description>
     3450                </element>
     3451                <element name="f0_j_rsf" type="float" min="0" max="100" default="10.0">
     3452                        <description><![CDATA[]]></description>
     3453                </element>
     3454                <element name="f0_j_stf" type="float" min="0" max="100" default="10.0">
     3455                        <description><![CDATA[]]></description>
     3456                </element>
     3457                <element name="f0_j_stm" type="float" min="0" max="100" default="10.0">
     3458                        <description><![CDATA[]]></description>
     3459                </element>
     3460                <element name="f0_j_vblu" type="float" min="0" max="100" default="0.0">
     3461                        <description><![CDATA[]]></description>
     3462                </element>
     3463                <element name="f0_j_vgrn" type="float" min="0" max="100" default="0.0">
     3464                        <description><![CDATA[]]></description>
     3465                </element>
     3466                <element name="f0_j_vred" type="float" min="0" max="100" default="0.0">
     3467                        <description><![CDATA[]]></description>
     3468                </element>
     3469                <element name="f0_n_del" type="float" min="0" max="100" default="5.0">
     3470                        <description><![CDATA[]]></description>
     3471                </element>
     3472                <element name="f0_n_new" type="float" min="0" max="100" default="5.0">
     3473                        <description><![CDATA[]]></description>
     3474                </element>
     3475                <element name="f0_n_prp" type="float" min="0" max="100" default="10.0">
    28733476                        <description><![CDATA[]]></description>
    28743477                </element>
     
    28833486The i="mi=md" combination is allowed.]]></description>
    28843487                </element>
    2885                 <element name="f0_p_asm" type="float" min="0" max="100" default="10">
    2886                         <description><![CDATA[]]></description>
    2887                 </element>
    2888                 <element name="f0_p_del" type="float" min="0" max="100" default="5">
    2889                         <description><![CDATA[]]></description>
    2890                 </element>
    2891                 <element name="f0_p_frc" type="float" min="0" max="100" default="10">
    2892                         <description><![CDATA[]]></description>
    2893                 </element>
    2894                 <element name="f0_p_ing" type="float" min="0" max="100" default="10">
    2895                         <description><![CDATA[]]></description>
    2896                 </element>
    2897                 <element name="f0_p_mas" type="float" min="0" max="100" default="10">
    2898                         <description><![CDATA[]]></description>
    2899                 </element>
    2900                 <element name="f0_p_new" type="float" min="0" max="100" default="5">
    2901                         <description><![CDATA[]]></description>
    2902                 </element>
    2903                 <element name="f0_p_pos" type="float" min="0" max="100" default="10">
    2904                         <description><![CDATA[]]></description>
    2905                 </element>
    2906                 <element name="f0_p_swp" type="float" min="0" max="100" default="10">
     3488                <element name="f0_p_asm" type="float" min="0" max="100" default="10.0">
     3489                        <description><![CDATA[]]></description>
     3490                </element>
     3491                <element name="f0_p_del" type="float" min="0" max="100" default="5.0">
     3492                        <description><![CDATA[]]></description>
     3493                </element>
     3494                <element name="f0_p_frc" type="float" min="0" max="100" default="10.0">
     3495                        <description><![CDATA[]]></description>
     3496                </element>
     3497                <element name="f0_p_ing" type="float" min="0" max="100" default="10.0">
     3498                        <description><![CDATA[]]></description>
     3499                </element>
     3500                <element name="f0_p_mas" type="float" min="0" max="100" default="10.0">
     3501                        <description><![CDATA[]]></description>
     3502                </element>
     3503                <element name="f0_p_new" type="float" min="0" max="100" default="5.0">
     3504                        <description><![CDATA[]]></description>
     3505                </element>
     3506                <element name="f0_p_pos" type="float" min="0" max="100" default="10.0">
     3507                        <description><![CDATA[]]></description>
     3508                </element>
     3509                <element name="f0_p_swp" type="float" min="0" max="100" default="10.0">
     3510                        <description><![CDATA[]]></description>
     3511                </element>
     3512                <element name="f0_p_vsiz" type="float" min="0" max="100" default="0.0">
    29073513                        <description><![CDATA[]]></description>
    29083514                </element>
    29093515                <element name="f1_mut_exmod" type="string">
    29103516                        <description><![CDATA[Modifiers that will not be added nor deleted during mutation
    2911 (all: RrLlAaCcFfMmSsIiQqWwEe)]]></description>
     3517(all: LlRrCcQqFfMmIiWwEeAaSsDdGgBbHh)]]></description>
    29123518                </element>
    29133519                <element name="f1_nmConn" type="float" min="0" max="100" default="0.1">
     
    29213527                </element>
    29223528                <element name="f1_nmVal" type="float" min="0" max="100" default="0.05"/>
    2923                 <element name="f1_nmWei" type="float" min="0" max="100" default="1"/>
     3529                <element name="f1_nmWei" type="float" min="0" max="100" default="1.0"/>
    29243530                <element name="f1_smComma" type="float" min="0" max="100" default="0.02"/>
    29253531                <element name="f1_smJunct" type="float" min="0" max="100" default="0.02"/>
    29263532                <element name="f1_smModif" type="float" min="0" max="100" default="0.1">
    2927                         <description><![CDATA[Modifiers: RrLlAaCcFfMmSsIiQqWwEe]]></description>
     3533                        <description><![CDATA[Modifiers: LlRrCcQqFfMmIiWwEeAaSsDdGgBbHh]]></description>
    29283534                </element>
    29293535                <element name="f1_smX" type="float" min="0" max="100" default="0.05"/>
     
    29833589                        <description><![CDATA[]]></description>
    29843590                </element>
    2985                 <element name="f4_mut_add" type="float" min="0" max="100" default="50">
     3591                <element name="f4_mut_add" type="float" min="0" max="100" default="50.0">
    29863592                        <description><![CDATA[mutation: probability of adding a node]]></description>
    29873593                </element>
    2988                 <element name="f4_mut_add_conn" type="float" min="0" max="100" default="15">
     3594                <element name="f4_mut_add_conn" type="float" min="0" max="100" default="15.0">
    29893595                        <description><![CDATA[add node mutation: probability of adding a neural connection]]></description>
    29903596                </element>
    2991                 <element name="f4_mut_add_div" type="float" min="0" max="100" default="20">
     3597                <element name="f4_mut_add_div" type="float" min="0" max="100" default="20.0">
    29923598                        <description><![CDATA[add node mutation: probability of adding a division]]></description>
    29933599                </element>
    2994                 <element name="f4_mut_add_neupar" type="float" min="0" max="100" default="5">
     3600                <element name="f4_mut_add_neupar" type="float" min="0" max="100" default="5.0">
    29953601                        <description><![CDATA[add node mutation: probability of adding a neuron property/modifier]]></description>
    29963602                </element>
    2997                 <element name="f4_mut_add_rep" type="float" min="0" max="100" default="10">
     3603                <element name="f4_mut_add_rep" type="float" min="0" max="100" default="10.0">
    29983604                        <description><![CDATA[add node mutation: probability of adding a repetition]]></description>
    29993605                </element>
    3000                 <element name="f4_mut_add_simp" type="float" min="0" max="100" default="50">
     3606                <element name="f4_mut_add_simp" type="float" min="0" max="100" default="50.0">
    30013607                        <description><![CDATA[add node mutation: probability of adding a random, simple gene]]></description>
    30023608                </element>
    3003                 <element name="f4_mut_del" type="float" min="0" max="100" default="20">
     3609                <element name="f4_mut_del" type="float" min="0" max="100" default="20.0">
    30043610                        <description><![CDATA[mutation: probability of deleting a node]]></description>
    30053611                </element>
    3006                 <element name="f4_mut_mod" type="float" min="0" max="100" default="30">
     3612                <element name="f4_mut_mod" type="float" min="0" max="100" default="30.0">
    30073613                        <description><![CDATA[mutation: probability of changing a node]]></description>
     3614                </element>
     3615                <element name="feed" type="integer" min="0" max="100">
     3616                        <description><![CDATA[Number of energy pieces in the world]]></description>
     3617                </element>
     3618                <element name="feede0" type="float" min="0" max="1000">
     3619                        <description><![CDATA[]]></description>
     3620                </element>
     3621                <element name="feedtrans" type="float" min="0" max="100">
     3622                        <description><![CDATA[]]></description>
    30083623                </element>
    30093624                <element name="filecomm" type="integer" min="0" max="1" default="1">
    30103625                        <description><![CDATA[Display comments encountered in opened files]]></description>
     3626                </element>
     3627                <element name="foodgen" type="string">
     3628                        <description><![CDATA[The default food model is a simple, single part object:
     3629  //0
     3630  m:Vstyle=food
     3631  p:
     3632(this genotype is used when you leave this field blank).
     3633You can specify another genotype to create "intelligent" or mobile food.]]></description>
    30113634                </element>
    30123635                <element name="gen_extmutinfo" type="integer" min="0" max="2" default="0">
     
    30203643                        <description><![CDATA[Required for phylogenetic analysis]]></description>
    30213644                </element>
     3645                <element name="genepools" type="GenePools"/>
    30223646                <element name="genkonw0" type="integer" min="0" max="1">
    30233647                        <description><![CDATA[]]></description>
     
    30323656                        <description><![CDATA[]]></description>
    30333657                </element>
    3034                 <element name="genolib" type="GenePools"/>
     3658                <element name="genkonw4" type="integer" min="0" max="1">
     3659                        <description><![CDATA[]]></description>
     3660                </element>
    30353661                <element name="genoper_f0" type="integer" min="0" max="0">
    30363662                        <description><![CDATA[]]></description>
     
    30493675                </element>
    30503676                <element name="groupchk" type="integer" min="0" max="1"/>
     3677                <element name="identity" type="integer">
     3678                        <description><![CDATA[-1 for master simulator, 0...count-1 for slaves]]></description>
     3679                </element>
    30513680                <element name="importchk" type="integer" min="0" max="1"/>
    3052                 <element name="livelib" type="Populations"/>
     3681                <element name="initialgen" type="string">
     3682                        <description><![CDATA[The gene pool will be replaced with the supplied genotype when the experiment begins.
     3683Use the empty initial genotype if you want to preserve the current gene pool.]]></description>
     3684                </element>
     3685                <element name="lastCheckpoint" type="untyped">
     3686                        <description><![CDATA[Most recently reported by the experiment definition script.]]></description>
     3687                </element>
    30533688                <element name="loadchk" type="integer" min="0" max="1"/>
    3054                 <element name="maxjoint" type="float" min="0" max="100" default="2"/>
    3055                 <element name="minjoint" type="float" min="0" max="100" default="0"/>
     3689                <element name="log" type="integer" min="0" max="5">
     3690                        <description><![CDATA[Sends [LOG] messages with genotypes count and minimal, average and best gene pool fitness, which can be used to produce graphs by external tools like gnuplot or Excel.
     3691It also sends the [LOGTITLE] message on experiment initialization, which summarizes most important parameters of your experiment. It can be used as a graph title.]]></description>
     3692                </element>
     3693                <element name="makesound" type="integer" min="0" max="1" default="0">
     3694                        <description><![CDATA[Emit sounds on improvements? (frequency depends on the magnitude of improvement)]]></description>
     3695                </element>
     3696                <element name="MaxCreated" type="integer" min="0" max="50">
     3697                        <description><![CDATA[]]></description>
     3698                </element>
     3699                <element name="maxjoint" type="float" min="0" max="100" default="2.0"/>
     3700                <element name="minfitness" type="float">
     3701                        <description><![CDATA[Minimal fitness that allows to automatically stop evolution when stagnation detected]]></description>
     3702                </element>
     3703                <element name="minjoint" type="float" min="0" max="100" default="0.0"/>
    30563704                <element name="neuadd_N" type="integer" min="0" max="1">
    30573705                        <description><![CDATA[Standard neuron
     
    31213769]]></description>
    31223770                </element>
    3123                 <element name="neuadd_*" type="integer" min="0" max="1">
     3771                <element name="neuadd_Constant" type="integer" min="0" max="1">
    31243772                        <description><![CDATA[Constant value
    31253773
     
    31303778]]></description>
    31313779                </element>
    3132                 <element name="neuadd_|" type="integer" min="0" max="1">
     3780                <element name="neuadd_Bend_muscle" type="integer" min="0" max="1">
    31333781                        <description><![CDATA[Characteristics:
    31343782   uses single input
     
    31413789   bending range (r) float 0..1]]></description>
    31423790                </element>
    3143                 <element name="neuadd_@" type="integer" min="0" max="1">
     3791                <element name="neuadd_Rotation_muscle" type="integer" min="0" max="1">
    31443792                        <description><![CDATA[Characteristics:
    31453793   uses single input
     
    33003948   time (t) float 0..6.28319]]></description>
    33013949                </element>
     3950                <element name="neuadd_Mzm" type="integer" min="0" max="1">
     3951                        <description><![CDATA[Helps framstick navigate through a maze. This acts as a memory of already visited places. Returns 1 if the framstick has already visited current block, 0 otherwise. The memory is not volatile.
     3952
     3953Characteristics:
     3954   does not use inputs
     3955   provides output value
     3956   does not require location in body
     3957]]></description>
     3958                </element>
     3959                <element name="neuadd_OThr" type="integer" min="0" max="1">
     3960                        <description><![CDATA[Characteristics:
     3961   uses single input
     3962   does not provide output value
     3963   should be located on a Joint
     3964]]></description>
     3965                </element>
     3966                <element name="neuadd_SeeLight" type="integer" min="0" max="1">
     3967                        <description><![CDATA[Characteristics:
     3968   does not use inputs
     3969   provides output value
     3970   should be located on a Part
     3971
     3972
     3973Properties:
     3974    (flavor) float 0..4]]></description>
     3975                </element>
     3976                <element name="neuadd_Linb" type="integer" min="0" max="1">
     3977                        <description><![CDATA[output=input(bez sumowania)
     3978
     3979Characteristics:
     3980   supports any number of inputs
     3981   provides output value
     3982   does not require location in body
     3983]]></description>
     3984                </element>
     3985                <element name="neuadd_Delay" type="integer" min="0" max="1">
     3986                        <description><![CDATA[Characteristics:
     3987   supports any number of inputs
     3988   provides output value
     3989   does not require location in body
     3990
     3991
     3992Properties:
     3993   delay time (in steps) (t) integer 1..1000]]></description>
     3994                </element>
     3995                <element name="neuadd_ntest" type="integer" min="0" max="1">
     3996                        <description><![CDATA[Characteristics:
     3997   uses single input
     3998   provides output value
     3999   should be located on a Joint
     4000]]></description>
     4001                </element>
     4002                <element name="neuadd_WarnLR" type="integer" min="0" max="1">
     4003                        <description><![CDATA[Characteristics:
     4004   does not use inputs
     4005   provides output value
     4006   does not require location in body
     4007
     4008
     4009Properties:
     4010   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     4011                </element>
     4012                <element name="neuadd_SeeLight2" type="integer" min="0" max="1">
     4013                        <description><![CDATA[Returns the average signal intensity of all nearby transmitters. Unlike "SeeLight", signals do not attenuate over distance (however, the maximal signal distance is limited by the "range" parameter).
     4014
     4015Characteristics:
     4016   does not use inputs
     4017   provides output value
     4018   should be located on a Part
     4019
     4020
     4021Properties:
     4022    (range) float 0..100]]></description>
     4023                </element>
     4024                <element name="neuadd_FeelInjury" type="integer" min="0" max="1">
     4025                        <description><![CDATA[Characteristics:
     4026   supports any number of inputs
     4027   does not provide output value
     4028   does not require location in body
     4029]]></description>
     4030                </element>
     4031                <element name="neuadd_PIDV" type="integer" min="0" max="1">
     4032                        <description><![CDATA[PID Regulator (velocity/incremental form)
     4033
     4034Characteristics:
     4035   uses single input
     4036   provides output value
     4037   does not require location in body
     4038
     4039
     4040Properties:
     4041   K (k) float 0.01..100
     4042   Ti (ti) float 0.01..100
     4043   Td (td) float 0.01..100]]></description>
     4044                </element>
     4045                <element name="neuadd_Lin" type="integer" min="0" max="1">
     4046                        <description><![CDATA[output=input
     4047
     4048Characteristics:
     4049   supports any number of inputs
     4050   provides output value
     4051   does not require location in body
     4052]]></description>
     4053                </element>
     4054                <element name="neuadd_WarnDD" type="integer" min="0" max="1">
     4055                        <description><![CDATA[Characteristics:
     4056   does not use inputs
     4057   provides output value
     4058   does not require location in body
     4059
     4060
     4061Properties:
     4062   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     4063                </element>
     4064                <element name="neuadd_Sf" type="integer" min="0" max="1">
     4065                        <description><![CDATA[Detects only food, not other creatures
     4066(in experiments with food in group #1)
     4067
     4068Characteristics:
     4069   does not use inputs
     4070   provides output value
     4071   should be located on a Part
     4072]]></description>
     4073                </element>
     4074                <element name="neuadd_Nn" type="integer" min="0" max="1">
     4075                        <description><![CDATA[Propagates weighted inputs onto the output, but occassionally generates a random value
     4076
     4077Characteristics:
     4078   supports any number of inputs
     4079   provides output value
     4080   does not require location in body
     4081
     4082
     4083Properties:
     4084   Error rate (e) float 0..0.1]]></description>
     4085                </element>
     4086                <element name="neuadd_Rdr" type="integer" min="0" max="1">
     4087                        <description><![CDATA[Characteristics:
     4088   uses single input
     4089   does not provide output value
     4090   does not require location in body
     4091
     4092
     4093Properties:
     4094    ()]]></description>
     4095                </element>
     4096                <element name="neuadd_WarnDist" type="integer" min="0" max="1">
     4097                        <description><![CDATA[Characteristics:
     4098   does not use inputs
     4099   provides output value
     4100   does not require location in body
     4101
     4102
     4103Properties:
     4104   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     4105                </element>
     4106                <element name="neuadd_Cmp" type="integer" min="0" max="1">
     4107                        <description><![CDATA[Helps framstick navigate through a maze. Output returns 1 if there is a free space in the direction where the joint to which the neuron is attahced points, 0 otherwise. NOTE: This neuron *must* be attached to a *joint*.
     4108
     4109Characteristics:
     4110   does not use inputs
     4111   provides output value
     4112   should be located on a Part
     4113]]></description>
     4114                </element>
     4115                <element name="neuadd_Light" type="integer" min="0" max="1">
     4116                        <description><![CDATA[Characteristics:
     4117   supports any number of inputs
     4118   does not provide output value
     4119   should be located on a Part
     4120
     4121
     4122Properties:
     4123    (flavor) float 0..4]]></description>
     4124                </element>
     4125                <element name="neuadd_Thr" type="integer" min="0" max="1">
     4126                        <description><![CDATA[if (input>=t) then output=hi else output=lo
     4127
     4128Characteristics:
     4129   supports any number of inputs
     4130   provides output value
     4131   does not require location in body
     4132
     4133
     4134Properties:
     4135   threshold (t) float
     4136   low output value (lo) float
     4137   high output value (hi) float]]></description>
     4138                </element>
     4139                <element name="neuadd_PIDP" type="integer" min="0" max="1">
     4140                        <description><![CDATA[PID Regulator (positional/full value form)
     4141
     4142Characteristics:
     4143   uses single input
     4144   provides output value
     4145   does not require location in body
     4146
     4147
     4148Properties:
     4149   K (k) float 0.01..100
     4150   Ti (ti) float 0.01..100
     4151   Td (td) float 0.01..100]]></description>
     4152                </element>
     4153                <element name="neuadd_ptest" type="integer" min="0" max="1">
     4154                        <description><![CDATA[different parameter datatypes
     4155
     4156Characteristics:
     4157   uses single input
     4158   provides output value
     4159   does not require location in body
     4160
     4161
     4162Properties:
     4163   first integer (i1) integer
     4164   first float (f1) float
     4165   first string (s1) string
     4166   second integer (i2) integer
     4167   second float (f2) float
     4168   second string (s2) string]]></description>
     4169                </element>
     4170                <element name="neuadd_FF" type="integer" min="0" max="1">
     4171                        <description><![CDATA[Characteristics:
     4172   supports any number of inputs
     4173   does not provide output value
     4174   should be located on a Part
     4175]]></description>
     4176                </element>
    33024177                <element name="ncl_N" type="integer" min="0" max="1">
    33034178                        <description><![CDATA[Standard neuron
     
    33674242]]></description>
    33684243                </element>
    3369                 <element name="ncl_*" type="integer" min="0" max="1">
     4244                <element name="ncl_Constant" type="integer" min="0" max="1">
    33704245                        <description><![CDATA[Constant value
    33714246
     
    33764251]]></description>
    33774252                </element>
    3378                 <element name="ncl_|" type="integer" min="0" max="1">
     4253                <element name="ncl_Bend_muscle" type="integer" min="0" max="1">
    33794254                        <description><![CDATA[Characteristics:
    33804255   uses single input
     
    33874262   bending range (r) float 0..1]]></description>
    33884263                </element>
    3389                 <element name="ncl_@" type="integer" min="0" max="1">
     4264                <element name="ncl_Rotation_muscle" type="integer" min="0" max="1">
    33904265                        <description><![CDATA[Characteristics:
    33914266   uses single input
     
    35464421   time (t) float 0..6.28319]]></description>
    35474422                </element>
    3548                 <element name="nnspeed" type="float" min="0" max="1000" default="1">
     4423                <element name="ncl_Mzm" type="integer" min="0" max="1">
     4424                        <description><![CDATA[Helps framstick navigate through a maze. This acts as a memory of already visited places. Returns 1 if the framstick has already visited current block, 0 otherwise. The memory is not volatile.
     4425
     4426Characteristics:
     4427   does not use inputs
     4428   provides output value
     4429   does not require location in body
     4430]]></description>
     4431                </element>
     4432                <element name="ncl_OThr" type="integer" min="0" max="1">
     4433                        <description><![CDATA[Characteristics:
     4434   uses single input
     4435   does not provide output value
     4436   should be located on a Joint
     4437]]></description>
     4438                </element>
     4439                <element name="ncl_SeeLight" type="integer" min="0" max="1">
     4440                        <description><![CDATA[Characteristics:
     4441   does not use inputs
     4442   provides output value
     4443   should be located on a Part
     4444
     4445
     4446Properties:
     4447    (flavor) float 0..4]]></description>
     4448                </element>
     4449                <element name="ncl_Linb" type="integer" min="0" max="1">
     4450                        <description><![CDATA[output=input(bez sumowania)
     4451
     4452Characteristics:
     4453   supports any number of inputs
     4454   provides output value
     4455   does not require location in body
     4456]]></description>
     4457                </element>
     4458                <element name="ncl_Delay" type="integer" min="0" max="1">
     4459                        <description><![CDATA[Characteristics:
     4460   supports any number of inputs
     4461   provides output value
     4462   does not require location in body
     4463
     4464
     4465Properties:
     4466   delay time (in steps) (t) integer 1..1000]]></description>
     4467                </element>
     4468                <element name="ncl_ntest" type="integer" min="0" max="1">
     4469                        <description><![CDATA[Characteristics:
     4470   uses single input
     4471   provides output value
     4472   should be located on a Joint
     4473]]></description>
     4474                </element>
     4475                <element name="ncl_WarnLR" type="integer" min="0" max="1">
     4476                        <description><![CDATA[Characteristics:
     4477   does not use inputs
     4478   provides output value
     4479   does not require location in body
     4480
     4481
     4482Properties:
     4483   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     4484                </element>
     4485                <element name="ncl_SeeLight2" type="integer" min="0" max="1">
     4486                        <description><![CDATA[Returns the average signal intensity of all nearby transmitters. Unlike "SeeLight", signals do not attenuate over distance (however, the maximal signal distance is limited by the "range" parameter).
     4487
     4488Characteristics:
     4489   does not use inputs
     4490   provides output value
     4491   should be located on a Part
     4492
     4493
     4494Properties:
     4495    (range) float 0..100]]></description>
     4496                </element>
     4497                <element name="ncl_FeelInjury" type="integer" min="0" max="1">
     4498                        <description><![CDATA[Characteristics:
     4499   supports any number of inputs
     4500   does not provide output value
     4501   does not require location in body
     4502]]></description>
     4503                </element>
     4504                <element name="ncl_PIDV" type="integer" min="0" max="1">
     4505                        <description><![CDATA[PID Regulator (velocity/incremental form)
     4506
     4507Characteristics:
     4508   uses single input
     4509   provides output value
     4510   does not require location in body
     4511
     4512
     4513Properties:
     4514   K (k) float 0.01..100
     4515   Ti (ti) float 0.01..100
     4516   Td (td) float 0.01..100]]></description>
     4517                </element>
     4518                <element name="ncl_Lin" type="integer" min="0" max="1">
     4519                        <description><![CDATA[output=input
     4520
     4521Characteristics:
     4522   supports any number of inputs
     4523   provides output value
     4524   does not require location in body
     4525]]></description>
     4526                </element>
     4527                <element name="ncl_WarnDD" type="integer" min="0" max="1">
     4528                        <description><![CDATA[Characteristics:
     4529   does not use inputs
     4530   provides output value
     4531   does not require location in body
     4532
     4533
     4534Properties:
     4535   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     4536                </element>
     4537                <element name="ncl_Sf" type="integer" min="0" max="1">
     4538                        <description><![CDATA[Detects only food, not other creatures
     4539(in experiments with food in group #1)
     4540
     4541Characteristics:
     4542   does not use inputs
     4543   provides output value
     4544   should be located on a Part
     4545]]></description>
     4546                </element>
     4547                <element name="ncl_Nn" type="integer" min="0" max="1">
     4548                        <description><![CDATA[Propagates weighted inputs onto the output, but occassionally generates a random value
     4549
     4550Characteristics:
     4551   supports any number of inputs
     4552   provides output value
     4553   does not require location in body
     4554
     4555
     4556Properties:
     4557   Error rate (e) float 0..0.1]]></description>
     4558                </element>
     4559                <element name="ncl_Rdr" type="integer" min="0" max="1">
     4560                        <description><![CDATA[Characteristics:
     4561   uses single input
     4562   does not provide output value
     4563   does not require location in body
     4564
     4565
     4566Properties:
     4567    ()]]></description>
     4568                </element>
     4569                <element name="ncl_WarnDist" type="integer" min="0" max="1">
     4570                        <description><![CDATA[Characteristics:
     4571   does not use inputs
     4572   provides output value
     4573   does not require location in body
     4574
     4575
     4576Properties:
     4577   Maximum distance signal is sensed  (maxDist) float 1..1000]]></description>
     4578                </element>
     4579                <element name="ncl_Cmp" type="integer" min="0" max="1">
     4580                        <description><![CDATA[Helps framstick navigate through a maze. Output returns 1 if there is a free space in the direction where the joint to which the neuron is attahced points, 0 otherwise. NOTE: This neuron *must* be attached to a *joint*.
     4581
     4582Characteristics:
     4583   does not use inputs
     4584   provides output value
     4585   should be located on a Part
     4586]]></description>
     4587                </element>
     4588                <element name="ncl_Light" type="integer" min="0" max="1">
     4589                        <description><![CDATA[Characteristics:
     4590   supports any number of inputs
     4591   does not provide output value
     4592   should be located on a Part
     4593
     4594
     4595Properties:
     4596    (flavor) float 0..4]]></description>
     4597                </element>
     4598                <element name="ncl_Thr" type="integer" min="0" max="1">
     4599                        <description><![CDATA[if (input>=t) then output=hi else output=lo
     4600
     4601Characteristics:
     4602   supports any number of inputs
     4603   provides output value
     4604   does not require location in body
     4605
     4606
     4607Properties:
     4608   threshold (t) float
     4609   low output value (lo) float
     4610   high output value (hi) float]]></description>
     4611                </element>
     4612                <element name="ncl_PIDP" type="integer" min="0" max="1">
     4613                        <description><![CDATA[PID Regulator (positional/full value form)
     4614
     4615Characteristics:
     4616   uses single input
     4617   provides output value
     4618   does not require location in body
     4619
     4620
     4621Properties:
     4622   K (k) float 0.01..100
     4623   Ti (ti) float 0.01..100
     4624   Td (td) float 0.01..100]]></description>
     4625                </element>
     4626                <element name="ncl_ptest" type="integer" min="0" max="1">
     4627                        <description><![CDATA[different parameter datatypes
     4628
     4629Characteristics:
     4630   uses single input
     4631   provides output value
     4632   does not require location in body
     4633
     4634
     4635Properties:
     4636   first integer (i1) integer
     4637   first float (f1) float
     4638   first string (s1) string
     4639   second integer (i2) integer
     4640   second float (f2) float
     4641   second string (s2) string]]></description>
     4642                </element>
     4643                <element name="ncl_FF" type="integer" min="0" max="1">
     4644                        <description><![CDATA[Characteristics:
     4645   supports any number of inputs
     4646   does not provide output value
     4647   should be located on a Part
     4648]]></description>
     4649                </element>
     4650                <element name="nnoise" type="float" min="0" max="1" default="0.0">
     4651                        <description><![CDATA[Gaussian neural noise: a random value is added to each neural output in each simulation step. Set standard deviation here to add random noise, or 0 for deterministic simulation.]]></description>
     4652                </element>
     4653                <element name="nnspeed" type="float" min="0" max="1000" default="1.0">
    35494654                        <description><![CDATA[Number of neural network simulation steps in each physics simulation step]]></description>
     4655                </element>
     4656                <element name="notes" type="string">
     4657                        <description><![CDATA[You can write anything here
     4658(it will be saved to the experiment file)]]></description>
    35504659                </element>
    35514660                <element name="odeairdrag" type="float" min="0" max="0.5" default="0.01">
     
    35544663                <element name="odecol2bounce" type="float" min="0" max="1" default="0.1"/>
    35554664                <element name="odecol2bouncevel" type="float" min="0" max="1" default="0.01"/>
    3556                 <element name="odecol2mumax" type="float" min="0" max="10" default="1">
     4665                <element name="odecol2mumax" type="float" min="0" max="10" default="1.0">
    35574666                        <description><![CDATA[Mu coefficient for Parts with maximal friction (i.e. "FFFFF" in f1)]]></description>
    35584667                </element>
     
    35604669                        <description><![CDATA[Mu coefficient for Parts with minimal friction (i.e. "fffff" in f1)]]></description>
    35614670                </element>
    3562                 <element name="odecol2softcfm" type="float" min="0" max="1" default="0"/>
    3563                 <element name="odecol2softerp" type="float" min="0" max="1" default="0"/>
     4671                <element name="odecol2softcfm" type="float" min="0" max="1" default="0.0"/>
     4672                <element name="odecol2softerp" type="float" min="0" max="1" default="0.0"/>
    35644673                <element name="odecolbounce" type="float" min="0" max="1" default="0.1"/>
    35654674                <element name="odecolbouncevel" type="float" min="0" max="1" default="0.01"/>
    3566                 <element name="odecolmumax" type="float" min="0" max="10" default="5">
     4675                <element name="odecolmumax" type="float" min="0" max="10" default="5.0">
    35674676                        <description><![CDATA[Mu coefficient for Parts with maximal friction (i.e. "FFFFF" in f1)]]></description>
    35684677                </element>
     
    35704679                        <description><![CDATA[Mu coefficient for Parts with minimal friction (i.e. "fffff" in f1)]]></description>
    35714680                </element>
    3572                 <element name="odecolsoftcfm" type="float" min="0" max="1" default="0"/>
    3573                 <element name="odecolsofterp" type="float" min="0" max="1" default="0"/>
    3574                 <element name="odemusclemax" type="float" min="0" max="100" default="10">
     4681                <element name="odecolsoftcfm" type="float" min="0" max="1" default="0.0"/>
     4682                <element name="odecolsofterp" type="float" min="0" max="1" default="0.0"/>
     4683                <element name="odemusclemax" type="float" min="0" max="100" default="10.0">
    35754684                        <description><![CDATA[i.e. "MMMMM" if f1]]></description>
    35764685                </element>
    3577                 <element name="odemusclemin" type="float" min="0" max="100" default="0">
     4686                <element name="odemusclemin" type="float" min="0" max="100" default="0.0">
    35784687                        <description><![CDATA[i.e. "mmmmm" in f1]]></description>
    35794688                </element>
    3580                 <element name="odemusclespeed" type="float" min="0" max="10" default="1">
     4689                <element name="odemusclespeed" type="float" min="0" max="10" default="1.0">
    35814690                        <description><![CDATA[Muscle state cannot change faster than the supplied value]]></description>
    35824691                </element>
    35834692                <element name="odeseed" type="integer" min="0" max="2">
    35844693                        <description><![CDATA[Affects collisions.
    3585 - 'Truly random' is closest to the standard ODE operation. Use Math.seed to influence randomness in ODE collisions
    3586 - 'Deterministic' automatically calculates random seed in each step based on the current simulation (world) state, which makes the simulation repeatable but more random than 'Fixed'
    3587 - 'Fixed' is completely deterministic and does not depend on Math.seed. This might negatively affect ODE accuracy
     4694- 'Truly random' is closest to the standard ODE operation. Use Math.seed to influence randomness in ODE collisions.
     4695- 'Deterministic' automatically calculates random seed in each step based on the current simulation (world) state, which makes the simulation repeatable but more random than 'Fixed'.
     4696- 'Fixed' is completely deterministic and does not depend on Math.seed - the same seed value is set before each step. This might negatively affect ODE accuracy.
    35884697]]></description>
    35894698                </element>
     
    35934702                <element name="odeshape" type="integer" min="0" max="1"/>
    35944703                <element name="odestep" type="float" min="0.001" max="1" default="0.05"/>
    3595                 <element name="odewaterbuoy" type="float" min="0" max="2" default="1"/>
     4704                <element name="odewaterbuoy" type="float" min="0" max="2" default="1.0"/>
    35964705                <element name="odewaterdrag" type="float" min="0.001" max="1" default="0.5"/>
    35974706                <element name="odeworldcfm" type="float" min="0" max="1" default="1e-05">
     
    36044713                        <description><![CDATA[Overwite existing files or create their backups]]></description>
    36054714                </element>
     4715                <element name="p_mut" type="float" min="0" max="100">
     4716                        <description><![CDATA[]]></description>
     4717                </element>
     4718                <element name="p_nop" type="float" min="0" max="100">
     4719                        <description><![CDATA[]]></description>
     4720                </element>
     4721                <element name="p_xov" type="float" min="0" max="100">
     4722                        <description><![CDATA[]]></description>
     4723                </element>
     4724                <element name="placement" type="integer" min="0" max="1">
     4725                        <description><![CDATA[For 'Central' placement, newborn creatures are placed at the world center, if possible.]]></description>
     4726                </element>
     4727                <element name="populations" type="Populations"/>
    36064728                <element name="randinit" type="float" min="0" max="10" default="0.01">
    3607                         <description><![CDATA[Allowed range for initializing all neuron states with uniform distribution random numbers and zero mean. Set 0 for deterministic initialization.]]></description>
     4729                        <description><![CDATA[Allowed range for initializing all neuron states with uniform distribution random numbers and zero mean. Set to 0 for deterministic initialization.]]></description>
    36084730                </element>
    36094731                <element name="resetonexpdef" type="integer" min="0" max="1" default="1">
    36104732                        <description><![CDATA[If turned on: when a new experiment definition is selected, default values are loaded for most of the simulator parameters, and gene pools and populations are cleared.
    3611 When turned off: parameters from previous experiment definition will remain.]]></description>
     4733If turned off: parameters from previous experiment definition will remain (dangerous).]]></description>
     4734                </element>
     4735                <element name="rotation" type="integer" min="0" max="4">
     4736                        <description><![CDATA[Initial heading of newborn creatures]]></description>
    36124737                </element>
    36134738                <element name="running" type="integer" min="0" max="1">
    3614                         <description><![CDATA[for synchronizing the user interface state]]></description>
     4739                        <description><![CDATA[useful for synchronizing the user interface state]]></description>
     4740                </element>
     4741                <element name="savebest" type="integer" min="0" max="3">
     4742                        <description><![CDATA[Saves (on each improvement) best found genotype or a complete experiment state to a file in scripts_output subdirectory.]]></description>
     4743                </element>
     4744                <element name="selrule" type="integer" min="0" max="5">
     4745                        <description><![CDATA[Positive selection: how to choose genotypes for cloning/mutation/crossover]]></description>
    36154746                </element>
    36164747                <element name="signals" type="WorldSignals"/>
     
    36214752                        <description><![CDATA[]]></description>
    36224753                </element>
    3623                 <element name="simil_partdeg" type="float" min="0" max="100" default="1">
    3624                         <description><![CDATA[]]></description>
    3625                 </element>
    3626                 <element name="simil_parts" type="float" min="0" max="100" default="0">
     4754                <element name="simil_partdeg" type="float" min="0" max="100" default="1.0">
     4755                        <description><![CDATA[]]></description>
     4756                </element>
     4757                <element name="simil_parts" type="float" min="0" max="100" default="0.0">
    36274758                        <description><![CDATA[Differing number of parts is also handled by the 'part degree' similarity component.]]></description>
    36284759                </element>
     
    36354766
    36364767NOTE: switching between simulation engines causes removal of all objects in the world (e.g. creatures).]]></description>
     4768                </element>
     4769                <element name="slaves" type="SlaveSimulators"/>
     4770                <element name="stagnation" type="integer" min="0" max="1000000" default="0">
     4771                        <description><![CDATA[No improvement period required to stop simulation (stagnation). 0 disables automatic stopping.]]></description>
    36374772                </element>
    36384773                <element name="symAlphaSteps" type="integer" min="2" max="50" default="20">
     
    36504785                <element name="symResultD" type="float"/>
    36514786                <element name="time" type="integer"/>
    3652                 <element name="touchrange" type="float" min="0" max="100" default="1"/>
     4787                <element name="totaltestedcr" type="integer">
     4788                        <description><![CDATA[Total number of creatures evaluated in the experiment]]></description>
     4789                </element>
     4790                <element name="totaltests" type="integer">
     4791                        <description><![CDATA[Total number of evaluations in the experiment.
     4792This is equivalent to "Evaluated creatures" unless multiple evaluation is activated.]]></description>
     4793                </element>
     4794                <element name="touchrange" type="float" min="0" max="100" default="1.0"/>
     4795                <element name="user" type="untyped"/>
    36534796                <element name="usercode" type="string">
    36544797                        <description><![CDATA[This script overrides the experiment definition]]></description>
    36554798                </element>
     4799                <element name="vmdebug" type="integer" min="0" max="1"/>
    36564800                <element name="world" type="World"/>
    36574801                <element name="wrldbnd" type="integer" min="0" max="2" default="1"/>
    3658                 <element name="wrldg" type="float" min="0" max="10" default="1">
     4802                <element name="wrldg" type="float" min="0" max="10" default="1.0">
    36594803                        <description><![CDATA[You can adjust gravity for your experiments.
    36604804The "official" setting used to evaluate and compare creatures is 1.]]></description>
     
    36704814See also the WorldMap object.]]></description>
    36714815                </element>
    3672                 <element name="wrldsiz" type="float" min="10" max="1000" default="20">
     4816                <element name="wrldsiz" type="float" min="10" max="1000" default="20.0">
    36734817                        <description><![CDATA[Side length of the world]]></description>
    36744818                </element>
    36754819                <element name="wrldtyp" type="integer" min="0" max="2" default="0"/>
    3676                 <element name="wrldwat" type="float" min="-20" max="50" default="-1"/>
     4820                <element name="wrldwat" type="float" min="-20" max="50" default="-1.0"/>
     4821                <element name="xov_mins" type="float" min="0" max="9999">
     4822                        <description><![CDATA[Only genotypes with dissimilarity below this threshold will be crossed over.
     4823Value of 0 means no crossover restrictions.]]></description>
     4824                </element>
    36774825                <element name="add" function="true"/>
    36784826                <element name="addGroup" function="true"/>
     
    37104858                        <description><![CDATA[This function was previously called "autosave".]]></description>
    37114859<arguments/></element>
     4860                <element name="checkpointData" function="true" type="void">
     4861                        <description><![CDATA[In the distributed/paralellized scenario the data passed as argument can be received by the controlling entity (onSlaveCheckpoint in multithreaded master experiment, /simulator/expevent in distributed network simulator)]]></description>
     4862                        <arguments>
     4863                                <argument name="any_data" type="untyped"/>
     4864                        </arguments>
     4865                </element>
    37124866                <element name="clear" function="true"/>
     4867                <element name="cleardata" function="true">
     4868                        <description><![CDATA[Sets the number of instances of each genotype to zero (as if it has never been evaluated).
     4869Genotype performance values stay intact, yet they are meaningless if a genotype has no instances.]]></description>
     4870                </element>
    37134871                <element name="crossOver" function="true" type="Geno">
    37144872                        <description><![CDATA[returns crossed over genotype]]></description>
     
    37244882                </element>
    37254883                <element name="evaluateDistance" function="true" type="float">
    3726                         <description><![CDATA[calculate dissimilarity between two models created from Geno objects]]></description>
     4884                        <description><![CDATA[Calculates dissimilarity between two models created from Geno objects. There are papers available that describe details of the computation method.]]></description>
    37274885                        <arguments>
    37284886                                <argument type="Geno"/>
     
    37304888                        </arguments>
    37314889                </element>
    3732                 <element name="export" function="true" type="void">
     4890                <element name="export" function="true" type="untyped">
    37334891                        <description><![CDATA[Save some data to file. arguments:
    37344892- filename
     
    37734931                </element>
    37744932                <element name="import" function="true" type="void">
    3775                         <description><![CDATA[Equivalent to import(filename,2+4+8+6) - imports genotypes, parameters, genepool and population settings]]></description>
     4933                        <description><![CDATA[Equivalent to import(filename,2+4+8+16) - imports genotypes, parameters, genepool and population settings]]></description>
    37764934                        <arguments>
    37774935                                <argument name="filename" type="string"/>
     
    38374995                        <description><![CDATA[Clears groups and loads default values for simulator parameters, then calls onExpDefLoad() of the current experiment definition.]]></description>
    38384996<arguments/></element>
    3839                 <element name="save" function="true" type="void">
     4997                <element name="save" function="true" type="untyped">
    38404998                        <description><![CDATA[Save experiment file (calls onExpSave() in the current experiment definition)]]></description>
    38414999                        <arguments>
    38425000                                <argument name="filename" type="string"/>
    38435001                        </arguments>
     5002                </element>
     5003                <element name="script_2D_layout" function="true">
     5004                        <description><![CDATA[make a 2d layout (coord's provided)]]></description>
     5005                </element>
     5006                <element name="script_Alphabetic_symbols" function="true">
     5007                        <description><![CDATA[]]></description>
     5008                </element>
     5009                <element name="script_Alternative_symbols" function="true">
     5010                        <description><![CDATA[]]></description>
     5011                </element>
     5012                <element name="script_Brain_simplifier" function="true">
     5013                        <description><![CDATA[Removes all brain neurons that do not influence effectors. Converts genotypes to f0.]]></description>
     5014                </element>
     5015                <element name="script_Calculate_symmetry" function="true">
     5016                        <description><![CDATA[Calculate symmetry value and symmetry plane for all genotypes
     5017(note: may take a long time for complex bodies)]]></description>
     5018                </element>
     5019                <element name="script_Creatures_circle" function="true">
     5020                        <description><![CDATA[Arranges living creatures (first population) in a circle, tallest in the middle
     5021(the tallest one is selected based on the vertical position which should already be measured)]]></description>
     5022                </element>
     5023                <element name="script_Dump_creatures" function="true">
     5024                        <description><![CDATA[Dumps coordinates and velocities of all Parts of all living Creatures from group #0]]></description>
     5025                </element>
     5026                <element name="script_Food_circle" function="true">
     5027                        <description><![CDATA[Arranges food pieces in a circle]]></description>
     5028                </element>
     5029                <element name="script_Food_circle_2" function="true">
     5030                        <description><![CDATA[Arranges food pieces in a circle]]></description>
     5031                </element>
     5032                <element name="script_Gallery" function="true">
     5033                        <description><![CDATA[Arranges creatures from the first gene pool in a grid]]></description>
     5034                </element>
     5035                <element name="script_Make_f0def_describing_all_neuron_classes" function="true">
     5036                        <description><![CDATA[]]></description>
     5037                </element>
     5038                <element name="script_Make_neuroshtml_describing_all_neuron_classes" function="true">
     5039                        <description><![CDATA[]]></description>
     5040                </element>
     5041                <element name="script_Make_regular_shapes" function="true">
     5042                        <description><![CDATA[Make regular shapes (truss, sponge, grid, net)]]></description>
     5043                </element>
     5044                <element name="script_Neuro_inspection" function="true">
     5045                        <description><![CDATA[Performs a given number of simulation steps, logs neural states of selected neurons, can also enforce states of selected neurons.
     5046The log file can be used for further analyses, or to draw plots in gnuplot (see neuro_insp_chart.gp) or another external program.
     5047See script source for details and settings.]]></description>
     5048                </element>
     5049                <element name="script_Neuro_test" function="true">
     5050                        <description><![CDATA[Performs a given number of simulation steps and logs neural states of selected neurons.
     5051See script source for details and settings.
     5052]]></description>
     5053                </element>
     5054                <element name="script_Neurons_report" function="true">
     5055                        <description><![CDATA[Show all neuron classes and their names]]></description>
     5056                </element>
     5057                <element name="script_Print_creatures_coordinates" function="true">
     5058                        <description><![CDATA[Print coordinates of Parts for all creatures from group #0.]]></description>
     5059                </element>
     5060                <element name="script_Reload_neuron_definitions" function="true">
     5061                        <description><![CDATA[Reloads scripts/*.neuro files]]></description>
     5062                </element>
     5063                <element name="script_Rotate" function="true">
     5064                        <description><![CDATA[]]></description>
     5065                </element>
     5066                <element name="script_Stabilizacja" function="true">
     5067                        <description><![CDATA[]]></description>
     5068                </element>
     5069                <element name="script_svd_2D" function="true">
     5070                        <description><![CDATA[make a 2d layout (coord's provided)]]></description>
     5071                </element>
     5072                <element name="script_Toy_Spring_Sticks" function="true">
     5073                        <description><![CDATA[Make creature joints look like springs]]></description>
    38445074                </element>
    38455075                <element name="sleep" function="true" type="void">
     
    38905120                        <description><![CDATA[]]></description>
    38915121                </element>
    3892                 <element name="simil_partdeg" type="float" min="0" max="100" default="1">
    3893                         <description><![CDATA[]]></description>
    3894                 </element>
    3895                 <element name="simil_parts" type="float" min="0" max="100" default="0">
     5122                <element name="simil_partdeg" type="float" min="0" max="100" default="1.0">
     5123                        <description><![CDATA[]]></description>
     5124                </element>
     5125                <element name="simil_parts" type="float" min="0" max="100" default="0.0">
    38965126                        <description><![CDATA[Differing number of parts is also handled by the 'part degree' similarity component.]]></description>
    38975127                </element>
    38985128                <element name="evaluateDistance" function="true" type="float">
    3899                         <description><![CDATA[calculate dissimilarity between two models created from Geno objects]]></description>
     5129                        <description><![CDATA[Calculates dissimilarity between two models created from Geno objects. There are papers available that describe details of the computation method.]]></description>
    39005130                        <arguments>
    39015131                                <argument type="Geno"/>
     
    39095139                        <description><![CDATA[Save simulation state once every n-th event
    39105140(events are defined by the script. For 'standard.expdef' it is after each death).
    3911 Save EXPT file first to initialize name for autosave files.]]></description>
    3912                 </element>
     5141Save EXPT file first to initialize name for autosave files.
     5142Slave simulators (in multithreaded experiments) ignore this setting and never create autosave files.]]></description>
     5143                </element>
     5144                <element name="cpus" type="integer"/>
    39135145                <element name="createrr" type="integer" min="0" max="2" default="1"/>
    39145146                <element name="creatwarnfail" type="integer" min="0" max="1">
     
    39245156                <element name="expdef_info" type="string"/>
    39255157                <element name="expdef_title" type="string"/>
     5158                <element name="expparams" type="ExpParams"/>
     5159                <element name="expstate" type="ExpState"/>
    39265160                <element name="filecomm" type="integer" min="0" max="1" default="1">
    39275161                        <description><![CDATA[Display comments encountered in opened files]]></description>
    39285162                </element>
    3929                 <element name="genolib" type="GenePools"/>
     5163                <element name="genepools" type="GenePools"/>
    39305164                <element name="groupchk" type="integer" min="0" max="1"/>
     5165                <element name="identity" type="integer">
     5166                        <description><![CDATA[-1 for master simulator, 0...count-1 for slaves]]></description>
     5167                </element>
    39315168                <element name="importchk" type="integer" min="0" max="1"/>
    3932                 <element name="livelib" type="Populations"/>
     5169                <element name="lastCheckpoint" type="untyped">
     5170                        <description><![CDATA[Most recently reported by the experiment definition script.]]></description>
     5171                </element>
    39335172                <element name="loadchk" type="integer" min="0" max="1"/>
    39345173                <element name="overwrite" type="integer" min="0" max="1">
    39355174                        <description><![CDATA[Overwite existing files or create their backups]]></description>
    39365175                </element>
     5176                <element name="populations" type="Populations"/>
    39375177                <element name="resetonexpdef" type="integer" min="0" max="1" default="1">
    39385178                        <description><![CDATA[If turned on: when a new experiment definition is selected, default values are loaded for most of the simulator parameters, and gene pools and populations are cleared.
    3939 When turned off: parameters from previous experiment definition will remain.]]></description>
     5179If turned off: parameters from previous experiment definition will remain (dangerous).]]></description>
    39405180                </element>
    39415181                <element name="running" type="integer" min="0" max="1">
    3942                         <description><![CDATA[for synchronizing the user interface state]]></description>
     5182                        <description><![CDATA[useful for synchronizing the user interface state]]></description>
    39435183                </element>
    39445184                <element name="simspeed" type="integer">
    39455185                        <description><![CDATA[steps/second]]></description>
    39465186                </element>
     5187                <element name="slaves" type="SlaveSimulators"/>
    39475188                <element name="time" type="integer"/>
     5189                <element name="user" type="untyped"/>
    39485190                <element name="usercode" type="string">
    39495191                        <description><![CDATA[This script overrides the experiment definition]]></description>
    39505192                </element>
     5193                <element name="vmdebug" type="integer" min="0" max="1"/>
    39515194                <element name="world" type="World"/>
    39525195                <element name="beep" function="true" type="void">
     
    39565199                        <description><![CDATA[This function was previously called "autosave".]]></description>
    39575200<arguments/></element>
     5201                <element name="checkpointData" function="true" type="void">
     5202                        <description><![CDATA[In the distributed/paralellized scenario the data passed as argument can be received by the controlling entity (onSlaveCheckpoint in multithreaded master experiment, /simulator/expevent in distributed network simulator)]]></description>
     5203                        <arguments>
     5204                                <argument name="any_data" type="untyped"/>
     5205                        </arguments>
     5206                </element>
    39585207                <element name="eval" function="true" type="void">
    39595208                        <arguments>
     
    39615210                        </arguments>
    39625211                </element>
    3963                 <element name="export" function="true" type="void">
     5212                <element name="export" function="true" type="untyped">
    39645213                        <description><![CDATA[Save some data to file. arguments:
    39655214- filename
     
    39985247                </element>
    39995248                <element name="import" function="true" type="void">
    4000                         <description><![CDATA[Equivalent to import(filename,2+4+8+6) - imports genotypes, parameters, genepool and population settings]]></description>
     5249                        <description><![CDATA[Equivalent to import(filename,2+4+8+16) - imports genotypes, parameters, genepool and population settings]]></description>
    40015250                        <arguments>
    40025251                                <argument name="filename" type="string"/>
     
    40405289                        <description><![CDATA[Clears groups and loads default values for simulator parameters, then calls onExpDefLoad() of the current experiment definition.]]></description>
    40415290<arguments/></element>
    4042                 <element name="save" function="true" type="void">
     5291                <element name="save" function="true" type="untyped">
    40435292                        <description><![CDATA[Save experiment file (calls onExpSave() in the current experiment definition)]]></description>
    40445293                        <arguments>
     
    40665315                        <description><![CDATA[the expdef script calls this to stop simulation]]></description>
    40675316<arguments/></element>
     5317        </type>
     5318        <type name="SlaveSimulators" context="Global context">
     5319                <element name="isolation" type="integer" min="0" max="1" default="1">
     5320                        <description><![CDATA[Slave simulator access is filtered to exclude object references across simulator boundaries and ensure a safe multithreaded operation.
     53211. Slave simulations objects can't be accessed from master while the slave simulator is running (except for Simulator.stop/start/running).
     53222. Master simulator objects can't be passed to slave simulators
     53233. Data objects (Vectors and Dictionaries) are passed by value rather than by reference (to make sure that no simulator contains a reference to another simulator's data).
     5324Setting isolation=0 disables these restrictions, which can lead to unpredictable results or crashes, but is sometimes useful for inspecting true object relationships.
     5325  Sample cases:
     5326Simulator.slaves[0].stop(); - always permitted
     5327Simulator.slaves[0].expdef="prime"; - permitted if the slave simulator is not running
     5328var vec=[1,2,3]; Simulator.slaves[0].user=vec; vec.clear(); - vec has changed, user field is still [1,2,3]
     5329var vec=[1,2,GenePools[0]]; Simulator.slaves[0].user=vec; - user field becomes [1,2,null] (because master's GenePool object can't be passed to the slave)
     5330var g=Simulator.slaves[0].genepools[0][0].genotype; - but the slave's GenePool can be accessed from master (if the slave is not running at the moment)]]></description>
     5331                </element>
     5332                <element name="running" type="integer">
     5333                        <description><![CDATA[Note that if running>0 then the number of running simulations can be outdated in the very moment you read this field, because the expdef can stop itself anytime. If running==0, then it is guaranteed to stay 0 until someone calls start() on some of the slave simulator objects.]]></description>
     5334                </element>
     5335                <element name="size" type="integer" min="0" max="50">
     5336                        <description><![CDATA[Changing this value will create/remove slave simulator objects as needed.]]></description>
     5337                </element>
     5338                <element name="cancelAllEvents" function="true">
     5339                        <description><![CDATA[see cancelEventsFromSlave()]]></description>
     5340                </element>
     5341                <element name="cancelEventsFromSlave" function="true" type="void">
     5342                        <description><![CDATA[If the onSlaveStop() event is used to schedule work to a simulator, then you might want to cancel pending events when the experiment is aborted - otherwise it may be difficult to distinguish between self-stop events (called internally from the slave simulator to signal the job was completed) from abort-stop events (requested by the supervising simulator). Calling Simulator.slaves.stopAll(); Simulator.slaves.cancelAllEvents(); makes sure that no old events will be detected after that time point. Without cancelling, the old onSlaveStop() notification (the consequence of the abort-stop) might arrive after the next start() which may confuse the expdef code (slave events are asynchronous).]]></description>
     5343                        <arguments>
     5344                                <argument type="Simulator"/>
     5345                        </arguments>
     5346                </element>
     5347                <element name="create" function="true" type="Simulator">
     5348                        <description><![CDATA[If you need to create AND store the reference to a newly created simulator object, then this function may be more readable than var s=Simulator.slaves[Simulator.slaves.size++];]]></description>
     5349<arguments/></element>
     5350                <element name="get" function="true" type="Simulator">
     5351                        <description><![CDATA[Access the slave simulator object (Simulator.slaves[index] works, too).
     5352Important: Do not operate on a simulator that is currently running, always stop() it first.]]></description>
     5353                        <arguments>
     5354                                <argument name="index" type="integer"/>
     5355                        </arguments>
     5356                </element>
     5357                <element name="remove" function="true" type="void">
     5358                        <description><![CDATA[Also calls stop() if the simulator is running. Events assocated with the simulator being deleted are cancelled, so the expdef will not see the usual onSlaveStop.]]></description>
     5359                        <arguments>
     5360                                <argument name="index_or_object" type="untyped"/>
     5361                        </arguments>
     5362                </element>
     5363                <element name="removeAll" function="true">
     5364                        <description><![CDATA[Same as Simulator.slaves=0;]]></description>
     5365                </element>
     5366                <element name="startAll" function="true"/>
     5367                <element name="stopAll" function="true"/>
    40685368        </type>
    40695369        <type name="stats" context="Global context">
     
    41235423                <element name="st_avg_pos_y" type="float"/>
    41245424                <element name="st_avg_pos_z" type="float"/>
     5425                <element name="st_avg_selfcol" type="float"/>
     5426                <element name="st_avg_selfcolstate" type="float"/>
    41255427                <element name="st_avg_size_x" type="float"/>
    41265428                <element name="st_avg_size_y" type="float"/>
     
    41505452                <element name="st_max_pos_y" type="float"/>
    41515453                <element name="st_max_pos_z" type="float"/>
     5454                <element name="st_max_selfcol" type="float"/>
     5455                <element name="st_max_selfcolstate" type="float"/>
    41525456                <element name="st_max_size_x" type="float"/>
    41535457                <element name="st_max_size_y" type="float"/>
     
    41765480                <element name="st_min_pos_y" type="float"/>
    41775481                <element name="st_min_pos_z" type="float"/>
     5482                <element name="st_min_selfcol" type="float"/>
     5483                <element name="st_min_selfcolstate" type="float"/>
    41785484                <element name="st_min_size_x" type="float"/>
    41795485                <element name="st_min_size_y" type="float"/>
     
    41915497                <element name="removeGroup" function="true"/>
    41925498        </type>
     5499        <type name="StopEvent" context="Global context">
     5500<description><![CDATA[StopEvent]]></description>
     5501                <element name="index" type="integer"/>
     5502                <element name="slave" type="Simulator"/>
     5503        </type>
    41935504        <type name="String" context="Global context">
    41945505<description><![CDATA[String functions library.]]></description>
     
    42035514                        </arguments>
    42045515                </element>
     5516                <element name="deserialize" function="true" type="untyped">
     5517                        <description><![CDATA[extract objects from textual representation]]></description>
     5518                        <arguments>
     5519                                <argument type="string"/>
     5520                        </arguments>
     5521                </element>
    42055522                <element name="format" function="true" type="string">
    4206                         <description><![CDATA[Works like the standard C library "sprintf()" but only one %-argument is accepted.
    4207 Format string: %[-][+][0][width[.precision]]type
     5523                        <description><![CDATA[Works like the standard C library "sprintf()". The '%' operator can be used as a shortcut, e.g. String.format("%x",123) is equivalent of "%x" % 123
     5524Character seqences beginning with % found in the format string are replaced by formatted values produced according to their corresponding format specifiers: %[-][+][0][width[.precision]]type
    42085525 -: left adjust (default is right adjust)
    42095526 +: place a sign (+ or -) before a number
     
    42115528 width: minimum field width
    42125529 precision: minimum number of decimal digits
    4213  type: d=decimal integer, x/X=hexadecimal integer, f/g=floating point number, e="scientific" style floating point, t=time
     5530 type: d=decimal integer, x/X=hexadecimal integer, f/g=floating point number, e="scientific" style floating point, c=character of a given ascii code, t=time, %=special case, outputs the literal % character
     5531Multiple values can be formatted in one call, by passing a vector as the second argument:
     5532String.format("a=%03d b=%.2f c=%s",[a,b,c]) or "a=%03d b=%.2f c=%s" % [a,b,c]
     5533Alternatively, if no % characters are required in the output string, the chained call can be used:
     5534"a=%03d b=%.2f c=%s" % a % b % c
     5535The above expression works as expected, because, unlike the regular sprintf, the formatting function preserves % characters left after using all input arguments:
     5536 input:          "a=%03d b=%.2f c=%s" % a % b % c
     5537 actual meaning: (("a=%03d b=%.2f c=%s" % a) % b) % c
     5538 phase 1:        ("a=000 b=%.2f c=%s" % b) % c
     5539 phase 2:        "a=000 b=0.00 c=%s" % c
     5540 result:         "a=000 b=0.00 c=0"
     5541
    42145542Examples:
    42155543 String.format("|%07.2f|",Math.pi) -> ="|0003.14|"
     
    42195547 String.format("%t",Math.time) -> ="Sun Apr 29 19:22:02 2007"
    42205548 String.format("%T",Math.time) -> ="2007-05-29 19:22:02"
    4221 ]]></description>
    4222                         <arguments>
    4223                                 <argument name="format" type="string"/>
    4224                                 <argument name="value" type="untyped"/>
     5549 String.format("x=%d%%",100) -> ="100%"
     5550]]></description>
     5551                        <arguments>
     5552                                <argument name="format_string" type="string"/>
     5553                                <argument name="value_or_vector" type="untyped"/>
    42255554                        </arguments>
    42265555                </element>
     
    42805609                                <argument type="string"/>
    42815610                                <argument name="number of characters" type="integer"/>
     5611                        </arguments>
     5612                </element>
     5613                <element name="serialize" function="true" type="string">
     5614                        <description><![CDATA[convert to textual representation, preserving the object hierarchy]]></description>
     5615                        <arguments>
     5616                                <argument type="untyped"/>
    42825617                        </arguments>
    42835618                </element>
     
    43745709                <element name="remove" function="true"/>
    43755710                <element name="removeGroup" function="true"/>
     5711                <element name="script_2D_layout" function="true">
     5712                        <description><![CDATA[make a 2d layout (coord's provided)]]></description>
     5713                </element>
     5714                <element name="script_Alphabetic_symbols" function="true">
     5715                        <description><![CDATA[]]></description>
     5716                </element>
     5717                <element name="script_Alternative_symbols" function="true">
     5718                        <description><![CDATA[]]></description>
     5719                </element>
     5720                <element name="script_Brain_simplifier" function="true">
     5721                        <description><![CDATA[Removes all brain neurons that do not influence effectors. Converts genotypes to f0.]]></description>
     5722                </element>
     5723                <element name="script_Calculate_symmetry" function="true">
     5724                        <description><![CDATA[Calculate symmetry value and symmetry plane for all genotypes
     5725(note: may take a long time for complex bodies)]]></description>
     5726                </element>
     5727                <element name="script_Creatures_circle" function="true">
     5728                        <description><![CDATA[Arranges living creatures (first population) in a circle, tallest in the middle
     5729(the tallest one is selected based on the vertical position which should already be measured)]]></description>
     5730                </element>
     5731                <element name="script_Dump_creatures" function="true">
     5732                        <description><![CDATA[Dumps coordinates and velocities of all Parts of all living Creatures from group #0]]></description>
     5733                </element>
     5734                <element name="script_Food_circle" function="true">
     5735                        <description><![CDATA[Arranges food pieces in a circle]]></description>
     5736                </element>
     5737                <element name="script_Food_circle_2" function="true">
     5738                        <description><![CDATA[Arranges food pieces in a circle]]></description>
     5739                </element>
     5740                <element name="script_Gallery" function="true">
     5741                        <description><![CDATA[Arranges creatures from the first gene pool in a grid]]></description>
     5742                </element>
     5743                <element name="script_Make_f0def_describing_all_neuron_classes" function="true">
     5744                        <description><![CDATA[]]></description>
     5745                </element>
     5746                <element name="script_Make_neuroshtml_describing_all_neuron_classes" function="true">
     5747                        <description><![CDATA[]]></description>
     5748                </element>
     5749                <element name="script_Make_regular_shapes" function="true">
     5750                        <description><![CDATA[Make regular shapes (truss, sponge, grid, net)]]></description>
     5751                </element>
     5752                <element name="script_Neuro_inspection" function="true">
     5753                        <description><![CDATA[Performs a given number of simulation steps, logs neural states of selected neurons, can also enforce states of selected neurons.
     5754The log file can be used for further analyses, or to draw plots in gnuplot (see neuro_insp_chart.gp) or another external program.
     5755See script source for details and settings.]]></description>
     5756                </element>
     5757                <element name="script_Neuro_test" function="true">
     5758                        <description><![CDATA[Performs a given number of simulation steps and logs neural states of selected neurons.
     5759See script source for details and settings.
     5760]]></description>
     5761                </element>
     5762                <element name="script_Neurons_report" function="true">
     5763                        <description><![CDATA[Show all neuron classes and their names]]></description>
     5764                </element>
     5765                <element name="script_Print_creatures_coordinates" function="true">
     5766                        <description><![CDATA[Print coordinates of Parts for all creatures from group #0.]]></description>
     5767                </element>
     5768                <element name="script_Reload_neuron_definitions" function="true">
     5769                        <description><![CDATA[Reloads scripts/*.neuro files]]></description>
     5770                </element>
     5771                <element name="script_Rotate" function="true">
     5772                        <description><![CDATA[]]></description>
     5773                </element>
     5774                <element name="script_Stabilizacja" function="true">
     5775                        <description><![CDATA[]]></description>
     5776                </element>
     5777                <element name="script_svd_2D" function="true">
     5778                        <description><![CDATA[make a 2d layout (coord's provided)]]></description>
     5779                </element>
     5780                <element name="script_Toy_Spring_Sticks" function="true">
     5781                        <description><![CDATA[Make creature joints look like springs]]></description>
     5782                </element>
    43765783        </type>
    43775784        <type name="Vector" context="Global context">
     
    44155822                        </arguments>
    44165823                </element>
     5824                <element name="sort" function="true" type="void">
     5825                        <description><![CDATA[comparator can be null, giving the "natural" sorting order (depending on element type), otherwise it must be a function reference obtained by the "function FUNCTIONNAME" operator.
     5826
     5827Example:
     5828function compareLastDigit(a,b) {return (a%10)<(b%10);}
     5829var v=[16,23,35,42,54,61];
     5830v.sort(function compareLastDigit);]]></description>
     5831                        <arguments>
     5832                                <argument name="comparator" type="Object"/>
     5833                        </arguments>
     5834                </element>
    44175835        </type>
    44185836        <type name="World" context="Global context">
    44195837<description><![CDATA[Environment properties.]]></description>
    4420                 <element name="nnspeed" type="float" min="0" max="1000" default="1">
     5838                <element name="nnspeed" type="float" min="0" max="1000" default="1.0">
    44215839                        <description><![CDATA[Number of neural network simulation steps in each physics simulation step]]></description>
    44225840                </element>
     
    44295847                </element>
    44305848                <element name="wrldbnd" type="integer" min="0" max="2" default="1"/>
    4431                 <element name="wrldg" type="float" min="0" max="10" default="1">
     5849                <element name="wrldg" type="float" min="0" max="10" default="1.0">
    44325850                        <description><![CDATA[You can adjust gravity for your experiments.
    44335851The "official" setting used to evaluate and compare creatures is 1.]]></description>
     
    44435861See also the WorldMap object.]]></description>
    44445862                </element>
    4445                 <element name="wrldsiz" type="float" min="10" max="1000" default="20">
     5863                <element name="wrldsiz" type="float" min="10" max="1000" default="20.0">
    44465864                        <description><![CDATA[Side length of the world]]></description>
    44475865                </element>
    44485866                <element name="wrldtyp" type="integer" min="0" max="2" default="0"/>
    4449                 <element name="wrldwat" type="float" min="-20" max="50" default="-1"/>
     5867                <element name="wrldwat" type="float" min="-20" max="50" default="-1.0"/>
    44505868                <element name="wrldchg" function="true" type="void"><arguments/></element>
    44515869        </type>
     
    44935911        </type>
    44945912        <type name="WorldSignals" context="Global context">
    4495 <description><![CDATA[Use this object to create stationary signals, not associated with any moving object and receive signals from any location in the world. There are Creature and Neuro-based variants of this object that automatically operate from the creature's or neuron's position.
    4496 
    4497 See also: Signal]]></description>
    4498                 <element name="size" type="integer">
    4499                         <description><![CDATA[Number of signals in this set.]]></description>
    4500                 </element>
     5913<description><![CDATA[Use this object to create stationary signals (not associated with any moving object) and to receive signals from any location in the world. There are Creature-based and Neuro-based variants of this object that automatically operate from creature's or neuron's position.
     5914
     5915See also: Signal, CreatureSignals, NeuroSignals.]]></description>
     5916                <element name="size" type="integer"/>
    45015917                <element name="add" function="true" type="Signal">
    4502                         <description><![CDATA[Create a new signal]]></description>
    45035918                        <arguments>
    45045919                                <argument name="position" type="XYZ"/>
     
    45065921                        </arguments>
    45075922                </element>
    4508                 <element name="clear" function="true" type="void">
    4509                         <description><![CDATA[Delete all signals]]></description>
    4510 <arguments/></element>
     5923                <element name="clear" function="true" type="void"><arguments/></element>
    45115924                <element name="get" function="true" type="Signal">
    4512                         <description><![CDATA[Access individual signals (index=0 .. size-1)]]></description>
    45135925                        <arguments>
    45145926                                <argument name="index" type="integer"/>
     
    45275939Additional filtering options:
    45285940- Max distance only receives the neighbor signals (based on their physical location)
    4529 - Flavor filtering: only signals having the flavor close to the specified one will be received. The filter value is the maximum allowed difference.]]></description>
     5941- Flavor filtering: only signals having the flavor similar to the specified value will be received. The flavorfilter value is the difference of flavor that reduces the received signal to 0. The "flavor attenuation" is linear, i.e., signals differing by (filter/2) in flavor will be reduced to 50%.]]></description>
    45305942                        <arguments>
    45315943                                <argument name="position" type="XYZ"/>
     
    45335945                                <argument name="max distance" type="float"/>
    45345946                                <argument name="flavor" type="float"/>
    4535                                 <argument name="filter" type="float"/>
     5947                                <argument name="flavorfilter" type="float"/>
    45365948                        </arguments>
    45375949                </element>
    45385950                <element name="receiveSet" function="true" type="Vector">
    4539                         <description><![CDATA[Get all signals in the specified range. Returns a readonly vector object containing Signal objects (individual signals can be accessed as result[0] throught result[result.size-1]).]]></description>
     5951                        <description><![CDATA[Get all signals in the specified range. Returns a read-only vector object containing Signal objects - individual signals can be accessed as result[0], .., result[result.size-1].]]></description>
    45405952                        <arguments>
    45415953                                <argument name="position" type="XYZ"/>
     
    45455957                </element>
    45465958                <element name="receiveSingle" function="true" type="Signal">
    4547                         <description><![CDATA[Find the signal source having the highest signal power (including the distance)]]></description>
     5959                        <description><![CDATA[Find the signal source that has the highest signal power (taking into account distance).]]></description>
    45485960                        <arguments>
    45495961                                <argument name="position" type="XYZ"/>
     
    45575969                <element name="length" type="float"/>
    45585970                <element name="toString" type="string"/>
     5971                <element name="toVector" type="Vector"/>
    45595972                <element name="x" type="float"/>
    45605973                <element name="y" type="float"/>
     
    45886001                        </arguments>
    45896002                </element>
     6003                <element name="newFromVector" function="true" type="XYZ">
     6004                        <description><![CDATA[used for deserialization]]></description>
     6005                        <arguments>
     6006                                <argument type="Vector"/>
     6007                        </arguments>
     6008                </element>
    45906009                <element name="normalize" function="true" type="void">
    45916010                        <description><![CDATA[scales the vector length to 1.0]]></description>
     
    46266045        </type>
    46276046        <type name="ExpParams" context="Experiment definition">
     6047                <element name="aging" type="integer" min="0" max="100000">
     6048                        <description><![CDATA[Idle metabolism doubles after this period (0 disables aging)]]></description>
     6049                </element>
     6050                <element name="boostphase" type="integer" min="0" max="1" default="1">
     6051                        <description><![CDATA[After stagnation has been detected, switches negative selection to "delete worst", doubles "multiple evaluation" and starts another stagnation detection phase.
     6052"Delete worst" results in extremely quick convergence and high selection pressure, similarly to "local search" optimization techniques.]]></description>
     6053                </element>
     6054                <element name="capacity" type="integer" min="0" max="10000">
     6055                        <description><![CDATA[]]></description>
     6056                </element>
    46286057                <element name="changedProperty" type="integer"/>
    46296058                <element name="changedPropertyId" type="string"/>
     6059                <element name="cr_c" type="float" min="-10000" max="10000">
     6060                        <description><![CDATA[Constant value added to total fitness]]></description>
     6061                </element>
     6062                <element name="cr_di" type="float" min="-10000" max="10000">
     6063                        <description><![CDATA[Weight of distance in total fitness]]></description>
     6064                </element>
     6065                <element name="cr_gl" type="float" min="-10000" max="10000">
     6066                        <description><![CDATA[Weight of body size (number of parts) in total fitness]]></description>
     6067                </element>
     6068                <element name="cr_joints" type="float" min="-10000" max="10000">
     6069                        <description><![CDATA[Weight of structure size (number of joints) in total fitness]]></description>
     6070                </element>
     6071                <element name="cr_life" type="float" min="-10000" max="10000">
     6072                        <description><![CDATA[Weight of life span in total fitness]]></description>
     6073                </element>
     6074                <element name="cr_nncon" type="float" min="-10000" max="10000">
     6075                        <description><![CDATA[Weight of brain connections in total fitness]]></description>
     6076                </element>
     6077                <element name="cr_nnsiz" type="float" min="-10000" max="10000">
     6078                        <description><![CDATA[Weight of brain size (number of neurons) in total fitness]]></description>
     6079                </element>
     6080                <element name="cr_norm" type="integer" min="0" max="1">
     6081                        <description><![CDATA[Normalize each criterion to 0..1 interval before weighting]]></description>
     6082                </element>
     6083                <element name="cr_simi" type="integer" min="0" max="1">
     6084                        <description><![CDATA[If enabled, fitness of each genotype will be reduced by its phenotypic similarity to all other genotypes in the gene pool]]></description>
     6085                </element>
     6086                <element name="cr_v" type="float" min="-10000" max="10000">
     6087                        <description><![CDATA[Weight of horizontal velocity in total fitness]]></description>
     6088                </element>
     6089                <element name="cr_vpos" type="float" min="-10000" max="10000">
     6090                        <description><![CDATA[Weight of vertical position in total fitness]]></description>
     6091                </element>
     6092                <element name="cr_vvel" type="float" min="-10000" max="10000">
     6093                        <description><![CDATA[Weight of vertical velocity in total fitness]]></description>
     6094                </element>
     6095                <element name="creath" type="float" min="-1" max="50">
     6096                        <description><![CDATA[Vertical position (above the surface) where newborn creatures are placed.
     6097Negative values are only used in the water area:
     6098  0   = at the surface
     6099-0.5 = half depth
     6100-1   = just above the bottom]]></description>
     6101                </element>
     6102                <element name="delrule" type="integer" min="0" max="2">
     6103                        <description><![CDATA[Negative selection: which genotypes should be removed when we need room for new genotypes in the gene pool]]></description>
     6104                </element>
     6105                <element name="e_meta" type="float" min="0" max="1">
     6106                        <description><![CDATA[Each stick consumes this amount of energy in one time step]]></description>
     6107                </element>
     6108                <element name="Energy0" type="float" min="0" max="10000">
     6109                        <description><![CDATA[Base starting energy level (for each stick)]]></description>
     6110                </element>
     6111                <element name="evalcount" type="integer" min="0" max="1000" default="0">
     6112                        <description><![CDATA[If more than zero:
     6113- each genotype will be evaluated many times
     6114- fitness will be averaged
     6115- fitness standard deviation will be stored in the 'user1' field of a genotype
     6116- there will be no "Unchanged" genotypes ("Unchanged" value is considered zero).]]></description>
     6117                </element>
     6118                <element name="feed" type="integer" min="0" max="100">
     6119                        <description><![CDATA[Number of energy pieces in the world]]></description>
     6120                </element>
     6121                <element name="feede0" type="float" min="0" max="1000">
     6122                        <description><![CDATA[]]></description>
     6123                </element>
     6124                <element name="feedtrans" type="float" min="0" max="100">
     6125                        <description><![CDATA[]]></description>
     6126                </element>
     6127                <element name="foodgen" type="string">
     6128                        <description><![CDATA[The default food model is a simple, single part object:
     6129  //0
     6130  m:Vstyle=food
     6131  p:
     6132(this genotype is used when you leave this field blank).
     6133You can specify another genotype to create "intelligent" or mobile food.]]></description>
     6134                </element>
     6135                <element name="initialgen" type="string">
     6136                        <description><![CDATA[The gene pool will be replaced with the supplied genotype when the experiment begins.
     6137Use the empty initial genotype if you want to preserve the current gene pool.]]></description>
     6138                </element>
     6139                <element name="log" type="integer" min="0" max="5">
     6140                        <description><![CDATA[Sends [LOG] messages with genotypes count and minimal, average and best gene pool fitness, which can be used to produce graphs by external tools like gnuplot or Excel.
     6141It also sends the [LOGTITLE] message on experiment initialization, which summarizes most important parameters of your experiment. It can be used as a graph title.]]></description>
     6142                </element>
     6143                <element name="makesound" type="integer" min="0" max="1" default="0">
     6144                        <description><![CDATA[Emit sounds on improvements? (frequency depends on the magnitude of improvement)]]></description>
     6145                </element>
     6146                <element name="MaxCreated" type="integer" min="0" max="50">
     6147                        <description><![CDATA[]]></description>
     6148                </element>
     6149                <element name="minfitness" type="float">
     6150                        <description><![CDATA[Minimal fitness that allows to automatically stop evolution when stagnation detected]]></description>
     6151                </element>
     6152                <element name="p_mut" type="float" min="0" max="100">
     6153                        <description><![CDATA[]]></description>
     6154                </element>
     6155                <element name="p_nop" type="float" min="0" max="100">
     6156                        <description><![CDATA[]]></description>
     6157                </element>
     6158                <element name="p_xov" type="float" min="0" max="100">
     6159                        <description><![CDATA[]]></description>
     6160                </element>
     6161                <element name="placement" type="integer" min="0" max="1">
     6162                        <description><![CDATA[For 'Central' placement, newborn creatures are placed at the world center, if possible.]]></description>
     6163                </element>
     6164                <element name="rotation" type="integer" min="0" max="4">
     6165                        <description><![CDATA[Initial heading of newborn creatures]]></description>
     6166                </element>
     6167                <element name="savebest" type="integer" min="0" max="3">
     6168                        <description><![CDATA[Saves (on each improvement) best found genotype or a complete experiment state to a file in scripts_output subdirectory.]]></description>
     6169                </element>
     6170                <element name="selrule" type="integer" min="0" max="5">
     6171                        <description><![CDATA[Positive selection: how to choose genotypes for cloning/mutation/crossover]]></description>
     6172                </element>
     6173                <element name="stagnation" type="integer" min="0" max="1000000" default="0">
     6174                        <description><![CDATA[No improvement period required to stop simulation (stagnation). 0 disables automatic stopping.]]></description>
     6175                </element>
     6176                <element name="xov_mins" type="float" min="0" max="9999">
     6177                        <description><![CDATA[Only genotypes with dissimilarity below this threshold will be crossed over.
     6178Value of 0 means no crossover restrictions.]]></description>
     6179                </element>
     6180                <element name="add" function="true"/>
     6181                <element name="addGroup" function="true"/>
     6182                <element name="clear" function="true"/>
     6183                <element name="cleardata" function="true">
     6184                        <description><![CDATA[Sets the number of instances of each genotype to zero (as if it has never been evaluated).
     6185Genotype performance values stay intact, yet they are meaningless if a genotype has no instances.]]></description>
     6186                </element>
     6187                <element name="remove" function="true"/>
     6188                <element name="removeGroup" function="true"/>
     6189        </type>
     6190        <type name="ExpState" context="Experiment definition">
     6191                <element name="changedProperty" type="integer"/>
     6192                <element name="changedPropertyId" type="string"/>
     6193                <element name="creaturesgrouploaded" type="integer">
     6194                        <description><![CDATA[]]></description>
     6195                </element>
     6196                <element name="notes" type="string">
     6197                        <description><![CDATA[You can write anything here
     6198(it will be saved to the experiment file)]]></description>
     6199                </element>
     6200                <element name="totaltestedcr" type="integer">
     6201                        <description><![CDATA[Total number of creatures evaluated in the experiment]]></description>
     6202                </element>
     6203                <element name="totaltests" type="integer">
     6204                        <description><![CDATA[Total number of evaluations in the experiment.
     6205This is equivalent to "Evaluated creatures" unless multiple evaluation is activated.]]></description>
     6206                </element>
    46306207                <element name="add" function="true"/>
    46316208                <element name="addGroup" function="true"/>
     
    46346211                <element name="removeGroup" function="true"/>
    46356212        </type>
    4636         <type name="ExpState" context="Experiment definition">
    4637                 <element name="changedProperty" type="integer"/>
    4638                 <element name="changedPropertyId" type="string"/>
    4639                 <element name="add" function="true"/>
    4640                 <element name="addGroup" function="true"/>
    4641                 <element name="clear" function="true"/>
    4642                 <element name="remove" function="true"/>
    4643                 <element name="removeGroup" function="true"/>
    4644         </type>
    46456213        <type name="n" context="Neuron definitions">
     6214                <element name="classObject" type="NeuroClass"/>
    46466215                <element name="d" type="string"/>
    46476216                <element name="getInputCount" type="integer"/>
     
    46696238<description><![CDATA[Live Neuron object.]]></description>
    46706239                <element name="channelCount" type="integer"/>
     6240                <element name="classObject" type="NeuroClass"/>
    46716241                <element name="creature" type="Creature"/>
    46726242                <element name="currState" type="float">
    4673                         <description><![CDATA[The only difference from the "state" field is that currState, when written, changes the internal neuron state immediately (which disturbs the regular synchronous NN operation). This feature should only be used while controlling the neuron 'from outside' (like a neuro probe) and not in the neuron definition. See also: Neuro.hold]]></description>
     6243                        <description><![CDATA[When read, it behaves just like the 'state' field.
     6244When written, changes the current neuron state immediately, which disturbs the regular synchronous NN operation.
     6245This feature should only be used while controlling the neuron 'from outside' (like a neuro probe) and not in the neuron definition. See also: Neuro.hold]]></description>
    46746246                </element>
    46756247                <element name="def" type="NeuroDef"/>
     
    47026274                <element name="state" type="float">
    47036275                        <description><![CDATA[When read, returns the current neuron state.
    4704 When written, sets the next neuron state (for use in the neuron definition)]]></description>
     6276When written, sets the 'internal' neuron state that will become current in the next step.
     6277Typically you should use this field, and not currState.]]></description>
    47056278                </element>
    47066279                <element name="weightedInputSum" type="float"/>
     
    47686341        </type>
    47696342        <type name="this" context="Fitness formula">
    4770 <description><![CDATA[A Genotype with the associated performance information. All but one Genotype objects are placed in Genotype Groups. There is also a single static Genotype object not associated with a group, which is used as a temporary storage by genetic operators and some functions from GenePools.]]></description>
     6343<description><![CDATA[A Genotype with the associated performance information. Adding genotypes to GenePool makes them accessible in Framsticks GUI and enables the use of GenePool selection methods.
     6344Before version 4.0rc4 the static Genotype object was used in functions operating on the "selected" genotype. This is now deprecated as all operations can be performed using the more convenient direct access (see GenePools).]]></description>
    47716345                <element name="convtrace1" type="string"/>
    47726346                <element name="distance" type="float"/>
     
    47796353                        <description><![CDATA[Fitness shifted by (avg-n*stddev)]]></description>
    47806354                </element>
     6355                <element name="genepool" type="untyped">
     6356                        <description><![CDATA[GenePool object or null when not in pool]]></description>
     6357                </element>
    47816358                <element name="geno" type="Geno">
    47826359                        <description><![CDATA[Geno object for this Genotype]]></description>
     
    47846361                <element name="genotype" type="string"/>
    47856362                <element name="gnum" type="integer"/>
     6363                <element name="index" type="integer">
     6364                        <description><![CDATA[-1 when not in pool.
     6365Note that the index changes depending on the current genotype position in the pool. Use Genotype.uid if you need a permanent identifier that persists through the entire object lifetime.]]></description>
     6366                </element>
    47866367                <element name="info" type="string">
    47876368                        <description><![CDATA[Additional information or comments]]></description>
     
    48176398                <element name="vertpos" type="float"/>
    48186399                <element name="vertvel" type="float"/>
     6400                <element name="addPerformanceFromCreature" function="true" type="void">
     6401                        <description><![CDATA[Updates the Genotype's performance values merging them with the supplied Creture's performance. It assumes the Genotype.instances has a reasonable value and performs the proper weighting. Use your own function instead if these conditions are not met in your experiment.]]></description>
     6402                        <arguments>
     6403                                <argument type="Creature"/>
     6404                        </arguments>
     6405                </element>
     6406                <element name="copyTo" function="true" type="Genotype">
     6407                        <description><![CDATA[returns the duplicate genotype, created in the target pool]]></description>
     6408                        <arguments>
     6409                                <argument name="pool" type="GenePool"/>
     6410                        </arguments>
     6411                </element>
     6412                <element name="delete" function="true" type="void"><arguments/></element>
     6413                <element name="deleteOne" function="true" type="void">
     6414                        <description><![CDATA[]]></description>
     6415<arguments/></element>
    48196416                <element name="getModel" function="true" type="Model"><arguments/></element>
    48206417                <element name="getNormalized" function="true" type="float">
     
    48236420                        </arguments>
    48246421                </element>
     6422                <element name="moveTo" function="true" type="void">
     6423                        <description><![CDATA[the genotype is removed from its current pool when pool=null]]></description>
     6424                        <arguments>
     6425                                <argument name="pool" type="GenePool"/>
     6426                        </arguments>
     6427                </element>
    48256428                <element name="mutate" function="true" type="void"><arguments/></element>
     6429                <element name="newFromCreature" function="true">
     6430                        <arguments>
     6431                                <argument name="creature" type="Creature"/>
     6432                        </arguments>
     6433                </element>
     6434                <element name="newFromGeno" function="true">
     6435                        <arguments>
     6436                                <argument name="geno" type="Geno"/>
     6437                        </arguments>
     6438                </element>
     6439                <element name="newFromString" function="true">
     6440                        <arguments>
     6441                                <argument name="genotype" type="string"/>
     6442                        </arguments>
     6443                </element>
     6444                <element name="splitInstances" function="true" type="void"><arguments/></element>
    48266445        </type>
    48276446        <type name="Creature" context="Visual style definition">
    4828 <description><![CDATA[The object inside the simulated world, including its physical structure, neural network and performance data. Food pieces, obstacles and other movable objects can be implemented as Creatures even though the are not "alive". See also: Population.]]></description>
     6447<description><![CDATA[The object inside the simulated world, including its physical structure, neural network and performance data. Food pieces, obstacles and other movable objects can be implemented as Creatures even though the are not "alive".
     6448Before version 4.0rc4 the static Creature object was used in event handlers and in functions operating on the "selected" creature. This is now deprecated as all operations can be performed using the more convenient direct access (see GenePools). For event handlers, the creature object will be passed as argument, like this:
     6449function onDied(cr) {Simulator.print("Creature "+cr.name+" has died");}
     6450See also: Population.]]></description>
    48296451                <element name="bodysim" type="integer" min="0" max="1" default="1">
    48306452                        <description><![CDATA[(Physical) body simulation can be disabled for individual objects which makes them immovable. Disabled objects can still participate in collisions depending on their collisions masks.
     
    48596481                <element name="genotype" type="string"/>
    48606482                <element name="gnum" type="integer"/>
    4861                 <element name="group" type="untyped"/>
     6483                <element name="group" type="untyped" deprecated="true">
     6484                        <description><![CDATA[Deprecated. Use population instead.]]></description>
     6485                </element>
    48626486                <element name="idleen" type="float"/>
    48636487                <element name="index" type="integer">
    4864                         <description><![CDATA[Index of this Creature in its Population.]]></description>
     6488                        <description><![CDATA[Note that the index changes depending on the current creature position in the population. Use Creature.uid if you need a permanent identifier that persists through the entire object lifetime.]]></description>
    48656489                </element>
    48666490                <element name="info" type="string">
     
    48906514                        <description><![CDATA[Initial value of this property is taken from Population.enableperf]]></description>
    48916515                </element>
     6516                <element name="population" type="untyped"/>
    48926517                <element name="pos_x" type="float">
    48936518                        <description><![CDATA[(pos_x,pos_y,pos_z) is the point of minimal coordinates ("bottom left corner") of the creature, including imaginary Part sizes (Part.s, usually 1.0). See also: Creature.moveAbs]]></description>
     
    49016526                <element name="selfcol" type="integer" min="0" max="1">
    49026527                        <description><![CDATA[Enable/disable detection of self-collisions (within a creature body). They can only occur when using the ODE simulation engine. If enabled, the creature will have its sticks collide during lifespan.]]></description>
    4903                 </element>
    4904                 <element name="selfcolstate" type="integer" min="0" max="1">
    4905                         <description><![CDATA[Current self-collision state]]></description>
    49066528                </element>
    49076529                <element name="selfmask" type="integer" min="0" max="2147483647" default="0"/>
     
    49246546                <element name="vertpos" type="float"/>
    49256547                <element name="vertvel" type="float"/>
     6548                <element name="boundingBoxCollisions" function="true" type="integer">
     6549                        <description><![CDATA[Checks approximate collisions for the selected creature.
     6550Returns the collision mask calculated as in the regular simulation. The argument is the collision mask substituted for the selected creature (defaults to group colmask for 0).]]></description>
     6551                        <arguments>
     6552                                <argument name="mask" type="integer"/>
     6553                        </arguments>
     6554                </element>
    49266555                <element name="currentGeometryAsF0" function="true" type="string"><arguments/></element>
    49276556                <element name="getJoint" function="true" type="Joint">
     
    50116640                        </arguments>
    50126641                </element>
     6642                <element name="selfcolstate" function="true" type="integer">
     6643                        <description><![CDATA[Current self-collision state. In old versions this was a field, not a function.]]></description>
     6644<arguments/></element>
    50136645                <element name="worldToLocal" function="true" type="XYZ">
    50146646                        <description><![CDATA[Local coordinates are measured with respect to the position and orientation of the first Part]]></description>
     
    51646796        </type>
    51656797        <type name="j" context="Visual style definition">
    5166                 <element name="dx" type="float" min="-2" max="2" default="0"/>
    5167                 <element name="dy" type="float" min="-2" max="2" default="0"/>
    5168                 <element name="dz" type="float" min="-2" max="2" default="0"/>
     6798                <element name="dx" type="float" min="-2" max="2" default="0.0"/>
     6799                <element name="dy" type="float" min="-2" max="2" default="0.0"/>
     6800                <element name="dz" type="float" min="-2" max="2" default="0.0"/>
    51696801                <element name="i" type="string"/>
    51706802                <element name="p1" type="integer" min="-1" max="999999" default="-1"/>
    51716803                <element name="p2" type="integer" min="-1" max="999999" default="-1"/>
    5172                 <element name="rotstif" type="float" min="0" max="1" default="1"/>
     6804                <element name="rotstif" type="float" min="0" max="1" default="1.0"/>
    51736805                <element name="rx" type="float"/>
    51746806                <element name="ry" type="float"/>
    51756807                <element name="rz" type="float"/>
    51766808                <element name="stam" type="float" min="0" max="1" default="0.25"/>
    5177                 <element name="stif" type="float" min="0" max="1" default="1"/>
     6809                <element name="stif" type="float" min="0" max="1" default="1.0"/>
     6810                <element name="vb" type="float" min="0" max="1" default="0.5"/>
     6811                <element name="vg" type="float" min="0" max="1" default="0.5"/>
     6812                <element name="vr" type="float" min="0" max="1" default="0.5"/>
    51786813                <element name="Vstyle" type="string"/>
    51796814        </type>
     
    52386873        <type name="n" context="Visual style definition">
    52396874                <element name="class" type="string"/>
     6875                <element name="classObject" type="NeuroClass"/>
    52406876                <element name="d" type="string"/>
    52416877                <element name="getInputCount" type="integer"/>
     
    52636899        <type name="p" context="Visual style definition">
    52646900                <element name="as" type="float" min="0" max="1" default="0.25"/>
    5265                 <element name="dn" type="float" min="0.2" max="5" default="1"/>
     6901                <element name="dn" type="float" min="0.2" max="5" default="1.0"/>
    52666902                <element name="fr" type="float" min="0" max="4" default="0.4"/>
    52676903                <element name="i" type="string"/>
    52686904                <element name="ing" type="float" min="0" max="1" default="0.25"/>
    5269                 <element name="m" type="float" min="0.1" max="999" default="1"/>
     6905                <element name="m" type="float" min="0.1" max="999" default="1.0"/>
    52706906                <element name="rx" type="float"/>
    52716907                <element name="ry" type="float"/>
    52726908                <element name="rz" type="float"/>
    5273                 <element name="s" type="float" min="0.1" max="10" default="1"/>
     6909                <element name="s" type="float" min="0.1" max="10" default="1.0"/>
     6910                <element name="vb" type="float" min="0" max="1" default="0.5"/>
     6911                <element name="vg" type="float" min="0" max="1" default="0.5"/>
     6912                <element name="vr" type="float" min="0" max="1" default="0.5"/>
     6913                <element name="vs" type="float" min="0.05" max="0.7" default="0.2"/>
    52746914                <element name="Vstyle" type="string"/>
    52756915                <element name="x" type="float"/>
     
    53917031        <type name="World" context="Visual style definition">
    53927032<description><![CDATA[Environment properties.]]></description>
    5393                 <element name="nnspeed" type="float" min="0" max="1000" default="1">
     7033                <element name="nnspeed" type="float" min="0" max="1000" default="1.0">
    53947034                        <description><![CDATA[Number of neural network simulation steps in each physics simulation step]]></description>
    53957035                </element>
     
    54027042                </element>
    54037043                <element name="wrldbnd" type="integer" min="0" max="2" default="1"/>
    5404                 <element name="wrldg" type="float" min="0" max="10" default="1">
     7044                <element name="wrldg" type="float" min="0" max="10" default="1.0">
    54057045                        <description><![CDATA[You can adjust gravity for your experiments.
    54067046The "official" setting used to evaluate and compare creatures is 1.]]></description>
     
    54167056See also the WorldMap object.]]></description>
    54177057                </element>
    5418                 <element name="wrldsiz" type="float" min="10" max="1000" default="20">
     7058                <element name="wrldsiz" type="float" min="10" max="1000" default="20.0">
    54197059                        <description><![CDATA[Side length of the world]]></description>
    54207060                </element>
    54217061                <element name="wrldtyp" type="integer" min="0" max="2" default="0"/>
    5422                 <element name="wrldwat" type="float" min="-20" max="50" default="-1"/>
     7062                <element name="wrldwat" type="float" min="-20" max="50" default="-1.0"/>
    54237063                <element name="wrldchg" function="true" type="void"><arguments/></element>
    54247064        </type>
     
    54677107        <type name="Signal" context="Signal label formula">
    54687108                <element name="channel" type="string">
    5469                         <description><![CDATA[Channel name, readonly.]]></description>
     7109                        <description><![CDATA[Channel name, read-only.]]></description>
    54707110                </element>
    54717111                <element name="flavor" type="float">
    5472                         <description><![CDATA[Signal flavor is can be used to differentiate between signals in a single channel. ]]></description>
     7112                        <description><![CDATA[Signal flavor can be used to differentiate between signals in a single channel.]]></description>
    54737113                </element>
    54747114                <element name="pos" type="XYZ">
    5475                         <description><![CDATA[Signal position, readonly.]]></description>
     7115                        <description><![CDATA[Signal position, read-only.]]></description>
    54767116                </element>
    54777117                <element name="power" type="float">
     
    54797119                </element>
    54807120                <element name="value" type="untyped">
    5481                         <description><![CDATA[Signal value can be any type. On the receiver side it is only available by accessing the individual Signal objects, i.e. after calling receiveSet() or receiveSingle(). The aggregating function receive() and receiveFilter() ignore this attribute.]]></description>
     7121                        <description><![CDATA[Signal value can be any type. On the receiver side it is only available by accessing the individual Signal objects, i.e. after calling receiveSet() or receiveSingle(). The aggregating functions receive() and receiveFilter() ignore this attribute.]]></description>
    54827122                </element>
    54837123        </type>
     
    55277167                <element name="cmdhandler" type="string"/>
    55287168                <element name="msgtype" type="integer" min="0" max="1"/>
     7169                <element name="quiet" type="integer" min="0" max="1">
     7170                        <description><![CDATA[enabled by -Q]]></description>
     7171                </element>
    55297172                <element name="script" type="string"/>
    55307173                <element name="stdin" type="Object"/>
     
    56317274                <element name="active" type="integer" min="0" max="1"/>
    56327275                <element name="banner" type="string"/>
    5633                 <element name="desiredsimspeed" type="float" min="0" max="999999" default="0">
     7276                <element name="desiredsimspeed" type="float" min="0" max="999999" default="0.0">
    56347277                        <description><![CDATA[Desired simulation speed in steps/second. 0 = simulation is disabled.]]></description>
    56357278                </element>
     
    56497292                <element name="size_x" type="integer"/>
    56507293                <element name="size_y" type="integer"/>
    5651                 <element name="userspeed" type="float" min="0" max="100" default="1">
     7294                <element name="user_interaction" type="integer" min="0" max="1" default="1">
     7295                        <description><![CDATA[Bit field:
     72961 - menu access
     7297]]></description>
     7298                </element>
     7299                <element name="userspeed" type="float" min="0" max="100" default="1.0">
    56527300                        <description><![CDATA[User interface sets this property to adjust simulation speed.]]></description>
    56537301                </element>
     
    56727320                <element name="resume" function="true"/>
    56737321                <element name="stop" function="true"/>
     7322        </type>
     7323        <type name="ImageExport" context="Command line interface">
     7324                <element name="imgex_compress" type="integer" min="0" max="100"/>
     7325                <element name="imgex_currframe" type="integer"/>
     7326                <element name="imgex_enabled" type="integer" min="0" max="1"/>
     7327                <element name="imgex_format" type="integer" min="0" max="2"/>
     7328                <element name="imgex_lastfile" type="string"/>
     7329                <element name="imgex_maxframes" type="integer">
     7330                        <description><![CDATA[How many frames are to be generated?]]></description>
     7331                </element>
     7332                <element name="imgex_outdir" type="string">
     7333                        <description><![CDATA[Directory name WITHOUT trailing '/' sign]]></description>
     7334                </element>
     7335                <element name="imgex_outfiles" type="string">
     7336                        <description><![CDATA[Frame number replaces %d (eg. 'image%03d.jpg')]]></description>
     7337                </element>
     7338                <element name="imgex_skip" type="integer">
     7339                        <description><![CDATA[A scene file is generated each (n+1) simulation steps
     7340(a small value means more frames and smooth animation)]]></description>
     7341                </element>
     7342                <element name="imgex_startf" type="integer">
     7343                        <description><![CDATA[Starting number]]></description>
     7344                </element>
     7345                <element name="imgex_disable" function="true"/>
     7346                <element name="imgex_enable" function="true"/>
     7347                <element name="imgex_now" function="true"/>
    56747348        </type>
    56757349        <type name="NeuroDiagram" context="Command line interface">
     
    57377411                <element name="mode" type="integer" min="0" max="2"/>
    57387412                <element name="name" type="string"/>
     7413                <element name="prev_show" type="string"/>
    57397414                <element name="regname" type="string"/>
    57407415                <element name="show" type="string"/>
    57417416                <element name="showlog" type="integer" min="0" max="1"/>
    5742                 <element name="switchmode" type="integer" min="0" max="2"/>
     7417                <element name="switchmode" type="integer" min="0" max="3"/>
    57437418                <element name="switchshows" type="string">
    57447419                        <description><![CDATA[names of the shows participating in automatic switching (comma separated). Use * as a wildcard.]]></description>
     
    57747449<description><![CDATA[Camera object with the automatic target tracking ability.]]></description>
    57757450                <element name="cam_change" type="integer" min="0" max="5" default="3"/>
    5776                 <element name="cam_chspeed" type="float" min="0.1" max="10" default="1"/>
    5777                 <element name="cam_dir" type="float" min="0" max="360" default="30"/>
     7451                <element name="cam_chspeed" type="float" min="0.1" max="10" default="1.0"/>
     7452                <element name="cam_dir" type="float" min="0" max="360" default="30.0"/>
    57787453                <element name="cam_distrac" type="integer" min="0" max="1" default="0">
    57797454                        <description><![CDATA[Suspend automatic tracking when the camera is moved manually]]></description>
    57807455                </element>
    5781                 <element name="cam_h" type="float" min="0" max="360" default="45">
     7456                <element name="cam_h" type="float" min="0" max="360" default="45.0">
    57827457                        <description><![CDATA[0=side view, 90=top view]]></description>
    57837458                </element>
     
    57877462                </element>
    57887463                <element name="cam_tracking" type="integer" min="0" max="3" default="1"/>
    5789                 <element name="cam_trspeed" type="float" min="0.1" max="10" default="5"/>
     7464                <element name="cam_trspeed" type="float" min="0.1" max="10" default="5.0"/>
    57907465                <element name="cam_zoom" type="float" min="0.2" max="3" default="0.8"/>
    57917466                <element name="cam_restore" function="true" type="void">
  • java/FramclipsePlugin/src/main/resources/framscript.xsl

    r13 r108  
    2525
    2626<xsl:template match="element">
    27   <li><b><xsl:value-of select="@name"/></b> -
     27  <li><xsl:choose><xsl:when test="@deprecated='true'"><strike><xsl:value-of select="@name"/></strike></xsl:when><xsl:otherwise><b><xsl:value-of select="@name"/></b></xsl:otherwise></xsl:choose> -
    2828   <xsl:if test="@function='true'">
    2929    function <xsl:if test="@type!=''">returning <xsl:value-of select="@type"/></xsl:if>
Note: See TracChangeset for help on using the changeset viewer.