The vertical text alignment for leaf nodes is a perplexing choice to begin with, but making it so that it is only overrideable via CSS transforms turns managing the layout of vertical trees (which are by far the more common/popular option to begin with) into a tedious headache at best.
All of the (pertinent) layout decisions controlled inside layout/*.js need to be (where possible) moved into CSS (with, perhaps, better style names - .node--internal isn't exactly the most descriptive name I've ever seen) and/or exposed as configuration options.
Additionally, it would be very prudent to make custom layouts possible through some means, so that a user can have complete control over the layout in order to fully leverage d3 in the context of this component.
The vertical text alignment for leaf nodes is a perplexing choice to begin with, but making it so that it is only overrideable via CSS transforms turns managing the layout of vertical trees (which are by far the more common/popular option to begin with) into a tedious headache at best.
All of the (pertinent) layout decisions controlled inside layout/*.js need to be (where possible) moved into CSS (with, perhaps, better style names - .node--internal isn't exactly the most descriptive name I've ever seen) and/or exposed as configuration options.
Additionally, it would be very prudent to make custom layouts possible through some means, so that a user can have complete control over the layout in order to fully leverage d3 in the context of this component.