It works by analysing the global entry point to a library, then iterating over each property. If an object is encountered, then the properties of that object are recursed until a predefined maximum number of levels is reached.
window is presented as a special case because it's quite large.
It supports two renderers: SVG and WebGL. These use d3 and three.js, and it uses Polymer and Browserify as well.