I'm not sure what you mean by pre-rendered html?
The basic idea of the SD polyfill is that each shadow host gets an associated renderer. When the logical dom is changed in a way that effects a renderer this renderer gets invalidated. Invalidated renderers get scheduled to be updated using requestAnimationFrame. You can also force all invalidated renderers to update synchronously by reading a property that depends on layout information, such as offsetWidth for example.
When a renderer is rendered it produces the composed tree (visual dom) which is what the browser uses to paint.