Before continuing, I highly recommend reading the documentation for RenderObject, RenderBox, and Element.
TODO