Where do the graphics developers of ReactOS get information on "graphical internals" of Windows? Russinovich, seems, doesn't care about it.

Is windowing done in USER dll? Does it rely on GDI in doing so? I know that there is a "big" kernel thing win32k.sys, that does a lot. But does it mess with windows/controls/messages or works on lower level primitives and only USER component in fact knows about windows? What the component of the OS sends those windows messages to threads? Puts them into the queue. What component draws the non-client area? Is that drawing managed the same way as the client one, with message sending/posting and looping through them in some WinProc() function?
Does ReactOS use its own code for this or takes it from that Whine?

Thanks for possible answers.)