This PR further reduces the non-platform dependent code required for rendering components into the GUI.
The rendering and interaction parts are separated into two different handlers now that allow for future extension and platform specific implementation.
The rendering graph contains all the components that are currently active in the view.
It notifies the renderer and interaction handler whenever it detects a change.
The effects and components manipulate the graph and cause it to update.
The renderer uses the rendering graph and renders the GUI. The way it renders is implementation specific.
The interaction handler uses the rendering graph to align the interaction bounds to detect and handle interactions. The way it does this is implementation specific.
This PR further reduces the non-platform dependent code required for rendering components into the GUI.
The rendering and interaction parts are separated into two different handlers now that allow for future extension and platform specific implementation.
The rendering graph contains all the components that are currently active in the view. It notifies the renderer and interaction handler whenever it detects a change.
The effects and components manipulate the graph and cause it to update.
The renderer uses the rendering graph and renders the GUI. The way it renders is implementation specific.
The interaction handler uses the rendering graph to align the interaction bounds to detect and handle interactions. The way it does this is implementation specific.