         
     @lastChunkZ -= dz
     if @lastChunkZ < 0
-      console.log "last chunk is at #{@lastChunkZ}, Requesting new chunk..."
+      #console.log "last chunk is at #{@lastChunkZ}, Requesting new chunk..."
       #Posts request to the worker and quickly returns dummy
       [chunk, taskId] = @requestChunk()
       @lastChunkZ += @chunkLen
       chunk.position.setZ @lastChunkZ
       @chunks.push chunk
       @group.add chunk
-      console.log "Requested #{taskId}, added dummy at #{@lastChunkZ} chunk of len #{@chunkLen}"
+      #console.log "Requested #{taskId}, added dummy at #{@lastChunkZ} chunk of len #{@chunkLen}"
     return
         
 

      chunk = @chunks[i]
      chunk.position.setZ chunk.position.z-dz
      if chunk.position.z < @zMin
        console.log "Discarding chunk #{i}"
        @chunks.splice i, 1
        @group.remove chunk
      else
        i += 1
    @lastChunkZ -= dz
    if @lastChunkZ < 0
      console.log "last chunk is at #{@lastChunkZ}, Cerating new chunk..."
      chunk = @makeChunk()
      chunkLen = @tubing.chunkLen()
      @lastChunkZ += chunkLen
      chunk.position.setZ @lastChunkZ
      @chunks.push chunk
      @group.add chunk
      console.log "Created, added at #{@lastChunkZ} chunk of len #{chunkLen}"
    return



    unless chunk?
      throw new Error "Received chukn with task id #{taskId}, but it is not registered!"
    delete @taskId2dummyChunks[taskId]
    i = 0

    tubesPerPart = 1
    processingDelay = 20
    processPart = =>
      for j in [0...Math.min(blueprint.length-1-i, tubesPerPart)] by 1
        tubeBp = blueprint[i]
        tubeGeom = @createTube tubeBp
        tube = new THREE.Mesh tubeGeom, @materials[i]
        chunk.add tube
        i+=1
      if i < blueprint.length-1
        setTimeout processPart, processingDelay
        
    processPart()
    #console.log "Received chunk!"
    return
    
  createTube: (blueprint)->
