This is pretty sweet. Anyone who wants to avoid a D3 (or even just SVG) dependency would find some good mileage gotten out of native <dial> elements in Angular at http://html5drummachine.com. Although it has a completely different algorithm mapping mouse movement to value scaling. It's debatable which behavior has a better feel to it.
I don't think it's exactly a hard and fast rule, but our team does not use the "ng-" prefix for custom components, since the purpose of the ng- prefix is to avoid naming conflicts between Angular builtins and custom directives (and built-in HTML attributes/elements). So it might be good to call this something else, at least in the code.
Author here. Yea I was not sure on the best approach for naming when using the directive in template but when specifying it as a dependency the directive is referenced by `ui.dial`.
Otherwise, once the dialer angular component explodes, and AUI comes out with their own competing directive, a client programmer using both yours and AUI's modules will have a problem.
There seems to be a lot of under-explored potential for building useful, pluggable D3 widgets along these lines. I'd love to see more interactive widgets like this.
I think this will continue to be a growing past-time of mine. It would be cool to build a library of such things - interactive visual components for collecting/displaying data. What other types of widgets would you want to see?