See Line 34:
// Tree creation functions
function branch(b) {
    var end = endPt(b), daR, newB;
    ...
(where endPt(b), daR, newB are variables defined in this function, but omitted for simplicity)
What is going on here?
Possible solution: I've read this assets var end equals each of these, 
In JavaScript you can use commas to group any number of expressions into a single statement. This is basically an artifact of the for statement, where multiple assignment expressions are often grouped together in the header.
Does that explanation directly apply here?
 
     
     
    