   draw: ->
     super()
     @drawHead()
+    @tailSize ?= @calcTailSize()
     @drawTail()
   # some decorations that let us see the animal's angle of vision
   # the direction of its gaze, and where it's headed

    [ start, end ] = if left then [ @angle, @angle + Math.PI ] else [ @angle - Math.PI, @angle ]
    [ x, y ] = @edgePoint point, rad + @radius
    @drawArc x, y, rad, @bodyColor, start, end
  calcEarSize: ->
    ratio = @auditoryRange() / @genes.auditoryRange[2]
    size = ratio * @radius / 3

  drawCircle: ( x, y, radius, color ) -> @drawArc x, y, radius, color, 0, tau
  drawArc: ( x, y, radius, color, start, end ) ->
    return unless radius > 0
    ctx = @ctx()
    ctx.beginPath()
    ctx.arc x, y, radius, start, end
    ctx.fillStyle = color
