Currently Kumo has three surfaces, UI, Engine, and Tabs. However there's a need for rendering popups, which generally can be combined with the tabs UI surface to avoid excessive surfaces.
This is likely best done with a src/ui/overlay/mod.rs module, which provides the basics for rendering generic texture+position, then have src/ui/overlay/tabs.rs to implement that trait and handle dispatching of events like touch. Some z-index might be useful too, though with just popups/tabs there should not be a need for it since only one popup or the tabs UI is generally visible. However having the ability to show two popups might be best for future-compat, so something like popups: Vec<Box<dyn Popup>> maybe.
Currently Kumo has three surfaces, UI, Engine, and Tabs. However there's a need for rendering popups, which generally can be combined with the tabs UI surface to avoid excessive surfaces.
This is likely best done with a
src/ui/overlay/mod.rs
module, which provides the basics for rendering generic texture+position, then havesrc/ui/overlay/tabs.rs
to implement that trait and handle dispatching of events like touch. Some z-index might be useful too, though with just popups/tabs there should not be a need for it since only one popup or the tabs UI is generally visible. However having the ability to show two popups might be best for future-compat, so something likepopups: Vec<Box<dyn Popup>>
maybe.