Say, I have a grid inside a viewport inside a fixed inside a window (which is less than a whole screen (and a grid) and has defined area). A viewport has ypos=0.1, ypos=0.9 and grid elements begin 10% under upper window edge and end at its lower edge, okay so far. But viewport's scrollbar starts right at the window edge. Then, I start changing grid's ypos and ysize and it does nothing at all, whether I set a float or int, although docs say grids do take position style properties. Then, I set grid's yfill=True and suddenly its contents are squashed to fit into window, despite being creator-defined displayables with hardcoded size.
Eventually I did get the window working by fiddling with parameters until it looks approximately like what I need, which nice. But honestly, spending an evening to arrange a bunch of placeholders looks a bit too much. Docs do say that
But what exactly is a layout, and what displayables/ui.* functions create it for their children? What passes size/position to what and under what circumstances?(For positions, the containing area is given by the layout the displayable is in, if one is given, or the screen otherwise. For anchors, the containing area is the size of the displayable itself.)