The buffer or buffer cursor to read the node data from.
When this is an array, it should contain four values for every
node in the tree.
- The first holds the node's type, as a node ID pointing into
- The second holds the node's start offset.
- The third the end offset.
- The fourth the amount of space taken up in the array by this
node and its children. Since there's four values per node,
this is the total number of nodes inside this node (children
and transitive children) plus one for the node itself, times
Parent nodes should appear after child nodes in the array. As
an example, a node of type 10 spanning positions 0 to 4, with
two children, of type 11 and 12, might look like this:
[11, 0, 1, 4, 12, 2, 4, 4, 10, 0, 4, 12]