Sorry for the lack of progress... got sidetracked

Anyways, have dived back into the weeds of developing nyx fulltime (well, my fulltime open source project...) and wanted to share a quick update.
The past couple of days I've been busy implementing the positioning system for all elements in a UI. This will be performed by a number of "layout" interfaces. The one I finished recently uses fixed units, but the way things are implemented multiple types of layouts can be used in tandem to built a full application, some being
also, I've been keeping tracking progress through git issues / project managment, so anyone interested can check things out here,
https://github.com/mr-highball/nyx/projects/1to demonstrate how layouts can be used I made a simple example where a button will "run" to the right direction for every click (dynamic positioning),
procedure TBrowserTest.RunningButtonClick(const AButton: INyxElementButton;
const AEvent: TButtonObserveEvent);
var
LLayout: INyxLayoutFixed;
LBounds: INyxFixedBounds;
const
BUTTON_TEXT : array[0 .. 4] of String = (
'oh no! please stop',
'yikes!',
'I''m warning you, stop!',
'That hurt!',
'be gentle senpai <3'
);
begin
//using the UI we fetch the fixed layout (this assumes it's in the first index)
LLayout := UI.LayoutByIndex(0) as INyxLayoutFixed;
//we also assume our button was properly added to the layout (which it was)
//in order to obtain the bounds for the button
LBounds := LLayout.Bounds[AButton];
//lastly we'll increment the left position to make the button look
//like it's running away from the user clicking it
LBounds.UpdateLeft(LBounds.Left + 50);
//now for some fun, just update the text of the button
AButton.UpdateText(BUTTON_TEXT[RandomRange(0, 4)]);
//lastly we need to render the UI for changes on the layout to take place
UI.Render;
end;
below is a gif demonstrating the sample in the browser, but it can be compiled on your side by simply pulling down the repo and running the tester browser application (make sure pas2js is installed)
https://github.com/mr-highball/nyx/blob/master/test/nyx_browser_test.lpr