 #putRandomBlob = (cells, radius, percent, n, m, appendRewrite)->
   
 # ============================================  app code ===============
+#
+
 canvas = E "canvas"
 context = canvas.getContext "2d"
 minVisibleSize = 1/100

    @viewUpdates = 0
    #precision falls from 1e-16 to 1e-9 in 1000 steps.
    @maxViewUpdatesBeforeCleanup = 500
  

  rebuildAt: (newCenter) ->
    @center = newCenter

  console.log "Finished"
  appendRewrite = makeAppendRewrite rewriteRuleset
  getNeighbors = mooreNeighborhood tessellation.group.n, tessellation.group.m, appendRewrite
  transitionFunc = parseTransitionFunction transitionFunc.toString(), tessellation.group.n, tessellation.group.m
  observer?.shutdown()
  observer = new ObserverClass tessellation, appendRewrite, minVisibleSize
  observer.onFinish = -> redraw()

moveView = (dx, dy) -> observer.modifyView M.translationMatrix(dx, dy)        
