Releases: bytestring-net/bevy_lunex
Release 0.2.4
Migration
Rename UiPlugin
-> UiDefaultPlugins
What's Changed
- Docs update by @IDEDARY in #63
- Added example worldspace_text by @IDEDARY in #65
- Clippy + Reflection by @IDEDARY in #66
- Worldspace UI docs by @IDEDARY in #67
- Add ability to provide a custom gizmos config by @Umatriz in #69
- Change default_features to default-features by @IDEDARY in #70
- Docs clarification and edge case fixes by @IDEDARY in #71
- Changed UiPlugin to UiDefaultPlugins by @IDEDARY in #74
- fix ambiguous AudioSource usage with the "kira" feature by @BUGO07 in #75
- make UiSoundChannel public to make custom OnXPlaySound components by @BUGO07 in #76
- version bump by @IDEDARY in #78
New Contributors
Full Changelog: 0.2.3...0.2.4
Release 0.2.3
Changes:
- Added better bundles for cursor
- Polished cursor picking implementation
- New examples
- Added
UiTree::new3d
configuration - Bugfixes
Migration
Rename UiTree::new
-> UiTree::new2d
Full Changelog: 0.2.2...0.2.3
Release 0.2.2
Added free cursor movement support for Gamepads to Lunex.
Changes
Now each Cursor2d
requires this bundle for picking to work
PointerBundle::new(PointerId::Custom(pointer::Uuid::new_v4())),
- Added
GamepadCursor
marker component, that you can add to your cursor to make it pull data from gamepad instead of mouse.
Full Changelog: 0.2.1...0.2.2
Release 0.2.1
- Added
UiTextSize
component, decoupling font_size from logical font_size and fixing blurry text - Updated dependencies
Full Changelog: 0.2.0...0.2.1
Release 0.2.0
- Updated to 0.14.0
- Support for 2D meshes
- New
kira
feature addingOnHoverPlaySound
component - Fixed display scale
- Fixed perspective zoom on camera
- Fixed mod picking issues
Full Changelog: 0.1.0...0.2.0
Release v0.1.0
In the past five months, I have dedicated significant effort to a complete rewrite of Bevy_Lunex. I am excited to announce that the library has reached a functional state. Here are the major highlights since version 0.0.11
:
Major changes
-
States - UI entities now feature a state machine, akin to TailwindCSS's class overrides (e.g.,
bg-red-500 hover:bg-yellow-500
). This allows for defining a wide range of properties, including layout changes, based on different states. -
Worldspace UI - Creating worldspace and diegetic UI is now possible.
-
2D & 3D - You can now combine 2D and 3D cameras to render 2D UI elements on top of a 3D scene, perfect for HUDs and other overlay interfaces.
-
Component Abstraction - Abstract different UI components (not ECS components) such as buttons and input fields into their own encapsulated abstractions, enhancing modularity and reusability.
-
Routing - Organize your project by splitting your UI into distinct "routes" (e.g.,
Inventory
,MainMenu
,Settings
). These routes can be spawned and managed dynamically, keeping your UI code tidy and manageable. -
Interactivity - Now implemented on top of
bevy_mod_picking
, providing a significantly better solution compared to previous custom implementations. -
Lazy compute - Layout calculations are now cached. This offers performance benefits, especially for infrequently updated UIs.
-
New UI Units - Mix and match different units like pixels and percentages (9 total) in the layout. Can be compared to HTML's
calc(...)
function. -
ECS modularity - All user interfaces are now constructed using standard ECS entities and components. This change paves the way for leveraging the upcoming BSN (Bevy Scene Notation) addition.
Try it out
Get started by reading official Bevy Lunex Book docs.
Check out the Bevypunk WASM on Itch.io.
Changelog
Full Changelog: https://github.com/bytestring-net/bevy_lunex/commits/0.1.0