u/Fun-Literature6971

[Release] Univis UI v0.3.0: High-performance, SDF-based hybrid 3D/2D/HUD UI framework for Bevy
▲ 49 r/u_Fun-Literature6971+1 crossposts

[Release] Univis UI v0.3.0: High-performance, SDF-based hybrid 3D/2D/HUD UI framework for Bevy

Hi everyone!

I'm excited to announce the v0.3.0 release of univis_ui! For those who aren't familiar with the project, it is a high-performance, SDF-based hybrid world-space and screen-space UI framework for the Bevy game engine. It acts as a powerful alternative to bevy_ui, designed to work seamlessly across 3D, 2D, and screenspace (HUD).

Unlike traditional UI setups, univis_ui uses Signed Distance Fields (SDF) to render crisp, pixelation-free UI components even at close range or under heavy camera zoom in 3D space.

Here is what's new in this major stable release:

🚀 What's New in v0.3.0?

Workspace Modularization (Crate Split): We have refactored the project from a monolithic crate into a clean Cargo Workspace split into 5 responsibility-led crates: univis_ui_style, univis_ui_engine, univis_ui_interaction, univis_ui_widgets, and the univis_ui facade. This keeps compile times low and code clean.

Unified Roots (URootUi): Replaced legacy root wrappers with a unified URootUi model. It supports viewport-bound HUD (URootUi::screen()), fixed world canvases (world_2d/world_3d), and content-driven auto-resizing world UIs (world_2d_fit_content).

Frontier-Based Incremental Layout Solver: Massive performance improvements. Layout calculations now run through a bounded settlement loop that tracks dirty node frontiers. Instead of walking the whole UI tree, it only resolves modified branches. It also caches and reuses layout meshes by logical size.

Advanced Sizing Constraints: Added native support for min_width, max_width, min_height, max_height, and intrinsic sizing states like UVal::MinContent and UVal::MaxContent.

SDF Text & Intelligent Ellipsis (Bidi Support): Font rendering now supports grapheme-safe truncation, bidi-aware text segment isolation (for right-to-left and mixed languages like Arabic + English), and Middle/Start/End ellipsis truncation.

Bento Grid Showcase: Added a brand new Bento Grid example (examples/grid/bento.rs) demonstrating how to build complex interlocking, masonry-style layouts using our CSS-like grid layout engine.

Ready-to-Use Widgets: Shipped interactive widgets out-of-the-box, including USeekBar, UDragValue, UCheckBox, UToggle, URadioButton, UScrollView, USelect (dropdowns), and UTextField.

GitHub Repository: github.com/univiseditor/univis_ui

Crates.io Facade: crates.io/crates/univis_ui

Bento Example Source: grid/bento.rs

u/Fun-Literature6971 — 7 days ago
▲ 1 r/bevy

[Release] Univis UI v0.3.0: High-performance, SDF-based hybrid 3D/2D/HUD UI framework for Bevy

Hi everyone!

I'm excited to announce the v0.3.0 release of univis_ui! For those who aren't familiar with the project, it is a high-performance, SDF-based hybrid world-space and screen-space UI framework for the Bevy game engine. It acts as a powerful alternative to bevy_ui, designed to work seamlessly across 3D, 2D, and screenspace (HUD).

Unlike traditional UI setups, univis_ui uses Signed Distance Fields (SDF) to render crisp, pixelation-free UI components even at close range or under heavy camera zoom in 3D space.

Here is what's new in this major stable release:

🚀 What's New in v0.3.0?

Workspace Modularization (Crate Split): We have refactored the project from a monolithic crate into a clean Cargo Workspace split into 5 responsibility-led crates: univis_ui_style, univis_ui_engine, univis_ui_interaction, univis_ui_widgets, and the univis_ui facade. This keeps compile times low and code clean.

Unified Roots (URootUi): Replaced legacy root wrappers with a unified URootUi model. It supports viewport-bound HUD (URootUi::screen()), fixed world canvases (world_2d/world_3d), and content-driven auto-resizing world UIs (world_2d_fit_content).

Frontier-Based Incremental Layout Solver: Massive performance improvements. Layout calculations now run through a bounded settlement loop that tracks dirty node frontiers. Instead of walking the whole UI tree, it only resolves modified branches. It also caches and reuses layout meshes by logical size.

Advanced Sizing Constraints: Added native support for min_width, max_width, min_height, max_height, and intrinsic sizing states like UVal::MinContent and UVal::MaxContent.

SDF Text & Intelligent Ellipsis (Bidi Support): Font rendering now supports grapheme-safe truncation, bidi-aware text segment isolation (for right-to-left and mixed languages like Arabic + English), and Middle/Start/End ellipsis truncation.

Bento Grid Showcase: Added a brand new Bento Grid example (examples/grid/bento.rs) demonstrating how to build complex interlocking, masonry-style layouts using our CSS-like grid layout engine.

Ready-to-Use Widgets: Shipped interactive widgets out-of-the-box, including USeekBar, UDragValue, UCheckBox, UToggle, URadioButton, UScrollView, USelect (dropdowns), and UTextField.

GitHub Repository: github.com/univiseditor/univis_ui

Crates.io Facade: crates.io/crates/univis_ui

Bento Example Source: grid/bento.rs

reddit.com
u/Fun-Literature6971 — 7 days ago