Repository navigation
v2.0.0
This is a massive release that touches every layer of the framework: from a full SDL3 migration and a new RHI abstraction, to 3D rendering, advanced audio/DSP tooling, a revamped UI toolkit, and built-in AI capabilities.
🚀 Highlights
- Platform: Migrated to SDL3, improved Linux support, modern drag-and-drop, and mime-typed system clipboard.
- Graphics: WebGPU is now the default on WASM, new RHI exposing Rive's ORE renderer, 3D & advanced 2D shading, compute shaders across Metal/WebGPU/D3D/OpenGL, and rendering moved to its own thread.
- Audio: AUv3 plugin client support, improved CoreAudio, device selector panels, oscillators/LFOs, Scala tuning maps, and the YDSP language (JIT DSP phase 1).
- UI: Multi-touch + gesture support on mobile, FlexBox & Grid layouts, new TreeView/TabComponent, CodeEditor with syntax highlighting, and full drag-and-drop between components, files, and external apps.
- AI: Local LLM requests with tooling, MCP client & servers, Python support, and embeddings.
What's Changed
🖥️ Platform
- Transition to SDL3 (#138)
- Support for Vulkan surfaces on Android (#218)
- Improved Linux support
- Modern drag and drop support (#184)
- System clipboard support with mime types
🎨 Graphics
- Switch to WebGPU by default on WASM (#211)
- Introduce ShaderTranspiler and ShaderCache (powered by glslang and spirv-cross) (#126)
- Implement RHI by exposing Rive's ORE agnostic renderer and RenderCanvas (#150)
- Enable 3D and advanced 2D with shading (#150, #181)
- Enable WebGPU stack on Emscripten + WGSL transpilation (#145)
- Compute shaders and passes (Metal, WebGPU) (#151)
- Compute shaders and passes (D3D, OpenGL) (#173)
- Move rendering to its own thread (#173)
- Plumbing support for audio compute shaders (#151)
- Make OpenGL renderer work on Windows (#173)
- Support OpenGL 4.x on Linux (#173)
- New
yup_3d(scene, nodes, glTF) andyup_renderer(PBR scene rendering) modules (#230) - More efficient SVG parsing and rendering (#170)
- More efficient Lottie rendering (#133)
- Component effects based on shaders (#147)
- Allow grabbing a component paint to Texture on the GPU (#147)
- Allow grabbing a component paint to Image on the CPU (#147)
- Allow caching the component on a texture (#147)
- Allow rendering components on 3D surfaces (#190)
- ComponentEffects should allow mouse warping to follow closely the rendering (#190)
- Animated PNG support (#148)
- Animated WebP support (#148)
- Read and write EXIF image metadata (#148)
🔊 Audio
- Improved support for Audio Plugin client AUv3 (macOS) (#166)
- Improved CoreAudio support (#113)
- Audio/MIDI device selector panels (#113)
- Oscillators / tone generators (#192)
- Low frequency oscillators (#192)
TuningMapclass to support Scala note mapping (#183)- Improved standalone processor wrapper (add audio + MIDI device selectors) (#238)
- YDSP language for JIT DSP phase 1 (#191)
🧩 UI
- Multi-touch support on mobile (Android, iOS, and mobile web) (#180)
- Gestures support on mobile (#229)
- Fix PopupMenu activation when parented inside the window (Emscripten)
- FlexBox layout system (#169)
- Grid layout system (#169)
- Toast notification support (#176)
- New TreeView component (#205)
- New TabComponent (#208)
- Improved ListBox component (#204)
- CodeEditor with syntax highlighting (#167)
- Drag and drop support between Components (#184, #186)
- Drag and drop support from external files/text (#184, #186)
- Drag and drop support from Components to external apps (#184, #186)
- Implement missing component callbacks (#187)
- New
ThemePaletteclass (#206) - Improve text support: selection, cursor, autowrap, …
🗂️ Data Models
- Improve handling of parent-changed notifications in
DataTree(#203)
🎬 Artboards & Animations
- Ability to control Rive state machines (#182)
- Query Rive artboard dimensions, named nodes and their dimensions (#182)
- Data binding / View model support in Rive artboards (#182)
- Improved Lottie and SVG rendering performance (#185)
🤖 AI
- Local LLM requests with tooling (#99)
- MCP client and servers (#99)
- Python support (#99)
- Embeddings (#99)
🛠️ Utilities
- Allow locating bundle paths (app and host) and reading from them (Android, Apple) (#178)
- Improved
yup_pythonmodule support (#149) - YAML support (#168)
CancelTokenSourceandCancelToken(#175)
📦 Misc
- Website
- Proper documentation on Read the Docs
- Proper and improved demo app (simplified and isolated demos)
- Individual demos on GitHub Pages
- Open source license files in thirdparties (#202)
- External standalone plugin to show the capabilities (#238)
Full Changelog: v1.0.0...v2.0.0