UI Gateway
Modular native UI framework prototype where Bun runs React-like components against a UI Gateway core (VDOM, events, state) with pluggable renderers such as egui and objc2, organized as a workspace with Rust renderer crates and FFI/VDOM/TSX test harnesses. The direct precursor to the Tish egui work.
- BPM
- 138
- GRADE
- S
- LEVEL
- 5
- RELEASES
- 0
- YEARS
- 2025–2025
Swap The Renderer Out
The design was three layers. Bun at the top running React-like components. A UI Gateway core in the middle with a VDOM engine, an event system and state management. A renderer interface at the bottom, with swappable renderers behind it: egui, objc2, whatever came next.
That was September 2025. I'd spent months binding JavaScript to one native toolkit after another: Neon to egui, FFI to egui, a SwiftUI-style layer over egui, and wgpu directly the day before this. Each time the binding was tied to the renderer, so swapping the renderer meant starting over. This one made the renderer a plugin and kept the hard parts, diffing, events and state, on the runtime side where they could be reused.
It got Rust renderer crates and separate test harnesses for FFI, the VDOM and TSX. It was mostly scaffolding.
This led straight to the Tish egui work six months later. The missing piece was a language underneath that could compile to both native and JavaScript, and I was already writing it.
led to
- tish-floem2026pluggable native renderers for JSX-like trees