   draw: (cells, context) ->
     return false if (not @cellShapes) or (not @workerReady)
     #first borders
-    context.beginPath()
-    for cell, i in @cells
-      unless cells.get cell
-        runCommands context, @cellShapes[i]
-        null
-    context.stroke()
+    if @drawEmpty
+      context.beginPath()
+      for cell, i in @cells
+        unless cells.get cell
+          runCommands context, @cellShapes[i]
+          null
+      context.stroke()
 
     #then cells
     context.beginPath()

        
  draw: (cells, viewMatrix, context) ->
    #first borders
    context.beginPath()
    for cell, i in @cells
      unless cells.get cell
        cellTfm = @cellTransforms[i]
        mtx = M.mul viewMatrix, cellTfm
        @tessellation.makeCellShapePoincare mtx, context
    context.stroke()

    #then cells
    context.beginPath()

redraw = -> dirty = true

drawEverything = ->
  context.clearRect 0, 0, canvas.width, canvas.height
  context.save()
  s = Math.min( canvas.width, canvas.height ) / 2 #
  context.scale s, s
  context.translate 1, 1
  context.fillStyle = "black"
