code: function TreeNode(id) {
    this.id = id;
    this.aabb = new AABB();
    this.userData = null;
    this.parent = null;
    this.child1 = null;
    this.child2 = null;
    this.height = -1;
  
    this.toString = function() {
      return this.id + ": " + this.userData;
    }
  }
docs: A node in the dynamic tree. The client does not interact with this directly.
  
  @prop {AABB} aabb Enlarged AABB
  @prop {integer} height 0: leaf, -1: free node