     root = makeTree network
     root = setNetworkPositions root, radius
 
+    @animate root, network_object
+
+  animate: (root, network_object) ->
+
     traverse = (node) =>
       return if ! node.position?
 
       node = @setTextObject(node)
       text_object = node._text_object
-      text_object.rotateX -rotation
+      text_object.rotateX -@rotation
       network_object.add text_object
 
       ################################

      val: d.word
      children: d.colocations

  _makeTree = (child, parent, index, array) ->
    child.parent = parent

    # Find the index of this child in the parent's children array
    child_index = parent.children
        .map (d) -> d.val
        .indexOf child.val

    # Set the child's "amount" to match the parent's child object
    parents_child = parent.children[child_index]
    child.amt = parents_child.amt

    # Set the parent's reference to match the child object
    parent.children[child_index] = child

    return parent

    network.reduceRight(_makeTree)


    line_layout = line_geometry.layout
    glyph_positions = line_layout.glyphs.map (g) -> g.position

    # if ! line? then debugger

    letterObjects = line.split("").map (letter, index) =>
      assert glyph_positions[index], "#{line} -- #{letter}"
