Ahh that simplifies it a lot. By building it in the application it should theoretically subdivide infinitely. I'll read more later.
Edit: So after reading the code. I understand that making the cube in the application will be easier. However, the style of your quad tree looks different to most the stuff i've found online. Lets say i have these faces and have a quadtree/quadarray setup for them. When i split the face. It creates the 4 children. However, how do i actually split the face and not just the quadtree. I remove the current geometry and create 4 new patches the same W and H but at a different scale as it's children? How do i scale/move/generate these new vertices to be in the right place.