WxMvu
MVU-based wxWidgets GUIs with integrated OpenGL rendering.
Overview
WxMvu is a Model–View–Update framework for building native desktop applications on the BEAM using wxWidgets.
It enforces a strict separation between immutable application state, pure update logic, and declarative UI structure, while confining all direct wxWidgets calls to a dedicated renderer process.
In addition to standard widgets, WxMvu provides a managed OpenGL canvas model for high-throughput, real-time rendering such as scopes, waterfalls, and custom visualizations. OpenGL canvases own their rendering loop and context, receive data directly via message passing, and intentionally bypass MVU diffing.
The goal is not to abstract wxWidgets or OpenGL away, but to contain them within clear ownership and lifecycle boundaries that fit naturally into OTP systems.
Installation
Add wx_mvu to your dependencies in mix.exs:
def deps do
[
{:wx_mvu, "~> 0.1.0"}
]
end