Documentation. Also, some additional notes:
Added support for flex layouts (Yoga, https://yogalayout.com
Refactored default keybinds a bit after some feedback from here. It's mostly the same as before, but now there's more information about the current state (which the UI visually reflects), less silent failures to save, and more APIs to help easily know whats default and set things back to default. Should make it more clear what's going on and give more tools to gain back binding storage.
EditBox default text is now more integrated and less of a hack
The WindowManager cursor was added as a convenient way to make arbitrary cursors (i.e.: what gamepad Champion and Tribute uses) that play nicely with hit testing.
New way of setting a measurement: calculations -
Calculation measurements can be used anywhere that another measurement can be used (e.g. offset, dimensions, etc), but instead of a single value, you can supply an equation. This equation will be recomputed anytime the context of any unit changes, allowing you to use mixed units without having to manually reduce to native units and recompute yourself.
To use a calculation measurement, pass in a string of the form “calc(<equation>)”. For example:
control:SetWidth("calc(50ui + 30px)"(
When the scale from UI units to pixels is 1, the result is a width of 80 UI units. If the screen were to be resized so that the scale from UI units to pixels is 2, the result is 65 UI units.
Here is another example:
control:SetWidth("calc(50% + 10ui)")
This calculation would size the control to be 10ui plus half the width of the parent control. If the parent resizes, the equation will be reevaluated to produce a new result.
Calc supports plus, minus, multiply, and divide as long as there is space around the operator.