       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
+    _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

    assert line?

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

    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
      network_object.add text_object

      ################################
