 
         save @local
       return true 
-    
+      
     false
 
   physicsSimulation: ->

        save @local 
        dirtied = true 

    return SPAN null if dirtied


    if !@props.draw_base 

    
    if @try_histocache()
      noop = 1
    else if !@local.dirty && histocache_key != @local.histocache?.hash && @current_request != histocache_key

      filtered_opinions = (o for o in @props.opinions when !(filter_out.users?[o.user]))

      opinions = for opinion, i in filtered_opinions
        {stance: opinion.stance, user: opinion.user}
      
      setTimeout => 
        if @isMounted()
          layoutAvatars 
            k: histocache_key
            w: @props.width
            h: @props.height
            o: opinions
            r: @local.avatar_size / 2
            abort: => 
              abort = !@isMounted() || @current_request != histocache_key
              abort

            done: (positions) =>   
              return if !@isMounted()
              if Object.keys(positions).length != 0 && @current_request == histocache_key
                @local.histocaches = 
                  hash: histocache_key
                  positions: positions

                save @local

                proposal.histocache[histocache_key] = positions

                # save to server
                save
                  key: "/histogram/proposal/#{fetch(@props.proposal).id}/#{histocache_key}"
                  positions: positions
      , 1

    @current_request = histocache_key

