The layout system for Nuklear follows a simple rows and columns approach. To lay out widgets, each item should be within a row; columns are implicitly created when widgets are added according to the parameters set in the row configuration. When widgets are added to a row that's full, a new one will be automatically created with the same parameters as the previous. A new row may be started to change the parameters or to finish a previous row without filling the remaining columns. The basic layout is controlled by the NkLayoutRow API as described here; there's also a helpful template-based layout in NkLayoutRowTemplate, which we'll explore after that. Lastly, NkLayoutSpace allows directly setting widget locations and sizes—we'll explore that last.