I'm referencing the bullet chart example at D3 v2.4.2 github repository.
I have a few question to help clarify what is happening in this example.
1) In the bulletChart function there are 8 declarations in the form bullet.ranges = function(x) {}, bullet.markers = function(x) {} etc. Where is this bullet object coming from? Is it built into the library? I thought we had already set the variable ranges to the function bulletRanges, or are these 2 different ranges variables?
2) What is actually going on inside these functions?
3) Last question. When the bulletChart function starts executing does it start executing the bullet function as execution comes to it or does it wait for an explicit call? Because I never actually see bullet(g) called explicitly?
This library can be really confusing. Any help greatly appreciated.