       babyThreshold: [ .4, .1, .9 ]
       plantAffinity: [
         .1
-        (t) -> -Math.abs(Math.max( 1, t.plantAffinity())) * 2
-        (t) -> Math.abs(Math.max( 1, t.plantAffinity())) * 2
+        (t) -> -abs(max( 1, t.plantAffinity())) * 2
+        (t) -> abs(max( 1, t.plantAffinity())) * 2
       ]
     }
   plantAffinity: -> @genes.plantAffinity[0]

    test = (pt) ->
      [ x, y ] = pt
      r = radius + y
      Math.sqrt( x * x + r * r ) <= radius
    boundary.push [].concat(candidatePoint) if test(candidatePoint)
    while ((candidatePoint[1] += 1) <= 0)
      while true

    @drawArc x, y, rad, @bodyColor, start, end
  calcTailSize: ->
    size = @radius * @maxAcceleration() / @genes.maxAcceleration[2](@   )
    max 2, size
  calcEarSize: ->
    ratio = @auditoryRange() / @genes.auditoryRange[2]
    size = ratio * @radius / 3
    max size, 1
  calcEyeSize: ->
    ratio = @visualRange() / @genes.visualRange[2]
    size = ratio * @radius / 4
    max size, .75
  drawEye: (inc) ->
    a = @angle + inc
    [ x, y ] = @edgePoint a
