Both widgets should be part of the UI and fixed against the viewport. Camera movement should affect their background but not themselves. They should always face the camera. Both widgets should be minimizable (separate buttons for each widget). Action buttons may also appear in either or both widgets. Both should be mobile first but support PC as well. Portrait and landscape views.
Widget 1: Scrollable messages
This widget would show messages as a scrollable list. If the list gets too long (should be configurable, at least in code), it will drop the oldest messages until it fits. Should support an add_message method to be called from other code in the application.
This widget should be pinned to the lower left corner of the viewport.
Widget 2: Updateable statistics
This widget should show name/value pairs. In general, the name would be fixed, but the value would change over time. When the value changes, the display should update (possibly on receipt of a repaint request). Adding or removing name/value pairs should be simple, possibly using a key value to identify the pair to be removed. The name/value pairs should display nicely (perhaps in columns).
This widget should be pinned to the upper right corner of the viewport.
These widgets would be used as part of a larger application and would exist at the border between Babylon.js and the application logic.
In an ideal world, you would contribute the widgets to Babylon.js after development, either as part of Babylon.js or as an example. However, that is not an absolute requirement. We can also discuss licensing and who will own copyright as part of the quote. I should only be quoted for the part of the work that meets my requirements. Additional work to allow it to meet other requirements should not be included.
This is project work. Quote for payment via PayPal. There may be more work in the future, but I can’t guarantee that, neither that the work will exist nor that I would choose the same developer.
It would likely be easiest to arrange further communication via PM/DM here.