     @flippedDir = if @flipped then -1 else 1
 
     @rotDirection   = source.rotDirection   || [1, -1].random()
-    @rotSpeedTarget = source.rotSpeedTarget || THREE.Math.randFloat(20, 50).degToRad
-    @rotSpeedDecay  = source.rotSpeedDecay  || @rotSpeedTarget * @rotDirection * 8
-    @rotSpeed       = 0
+    @rotSpeed       = source.rotSpeedTarget || THREE.Math.randFloat(30, 90).degToRad
 
     @push (new Strut(this, i/@qty, @flipped) for i in [0...@qty])...
 


  update: (elapsed) ->
    super

    @rotSpeed -= @rotSpeedDecay * @rotDirection * @flippedDir * elapsed / stage.song.bps
    @rotSpeed  = @rotSpeedTarget  * 3 if @rotSpeed >  @rotSpeedTarget * 3
    @rotSpeed  = -@rotSpeedTarget * 3 if @rotSpeed < -@rotSpeedTarget * 3

    @rotation.z += @rotSpeed      * @rotDirection * elapsed / stage.song.bps

  onBeat: ->
    @rotSpeed = @rotSpeedTarget

class Strut extends Echotron.Echo
  uniformAttrs:

    @flipped = [yes, no].random()
    @doubled = [yes, no].random()

    @spinSpeed = THREE.Math.randFloatSpread(60).degToRad

    @offsetTime = 10
    
