Update for anyone else wanting to work on the DearImGui module
Well i have cloned the repo for luaRT 5.4, im still researching a better cross platform UI lib, Since ui module kinda needs to support multi-os for 5.5 and onward. That clone repo will host my module but does include the entire luaRT repo as well. once 5.5 is dropped i will start working on adding into 5.5 by itself rather than the whole LuaRT project
my end goal for this month is to have started getting imgui setup for luaRT, Currently im working out what other platforms require and the caveats (this takes a bit longer for me as im new to bigger c projects), then will push that to the main repo once done for review
Structure issue and Consideration of adding DearImGUI
Currently we could keep the older ui.c structure, but it may be simpler and less complex (to the user) if luaRT uses DearImGui, with it; the LuaRT vm can autoswap to the correct Backend for the users hardware (if not already done by imgui or allowing it to be set via enum/string by the user).
This could be its own new module, but would work for any platform LuaRT and ImGui is supported on (Mac and linux in this case).
Other ideas?
if one could find a UI library for multi-os that would be huge, since im already considering making a new module for the DearImGui library. we could also use 3 or 4 lib's for each OS as its needed, but with ImGui we can use whatever backend we need for the same feature-set.
The Old UI.c module
keeping the current UI module would be fine (imo) since it is using the main thread and is baked in really well. aside moving the window around, it works splendid for most day to day tasks, locking the window from moving can solve this.
(or a custom drag and drop system using events, this still locks up but can allow user to prepare for the movement)
The ui module could still remain as is for the windows users Called "WinUI", but mac and linux users may have their own tools. a module for other platforms is still needed anyways
the nice part is even if luaRT uses imGui as part of its included modules, at that point the older UI module could be deprecated at that time, focusing on compatibility ofc.