Skip to content

Commit

Permalink
Bump to 0.32.0
Browse files Browse the repository at this point in the history
  • Loading branch information
vladbat00 committed Jan 5, 2025
1 parent 488ac6a commit 5014216
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 23 deletions.
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,32 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.32.0] - 6-Jan-2025

### Added

- Basic `bevy_picking` support to prevent picking through Egui windows ([#338](https://github.com/vladbat00/bevy_egui/pull/338), [#331](https://github.com/vladbat00/bevy_egui/pull/331) by @globin and @aevyrie).
- Helpers for converting between Egui and Bevy types ([#345](https://github.com/vladbat00/bevy_egui/pull/345), [488ac6a](https://github.com/vladbat00/bevy_egui/commit/488ac6a9d8fc3e1be98b494aed83751415beb845)).

### Changed

- Update Egui to 0.30 ([#340](https://github.com/vladbat00/bevy_egui/pull/340) by @PPakalns).
- Reuse IDs of removed textures ([#344](https://github.com/vladbat00/bevy_egui/pull/344)).
- Input handling refactor ([#345](https://github.com/vladbat00/bevy_egui/pull/345)).
- This brings us closer to diegetic (world space) UI support, the `HoveredNonWindowEguiContext`
and `FocusedNonWindowEguiContext` resources can now be used to redirect input
events to other contexts.
- Input handling was split into separate systems for each event type, which are now also disableable ([#346](https://github.com/vladbat00/bevy_egui/pull/346)),
see the `EguiGlobalSettings` resource.
- The `EguiInputEvent` event type was added, which wraps all the events that are sent to Egui.
It can also be used for custom input events logic, in case you want to mock inputs or handle inputs yourself.
- The `EguiSettings` component was renamed to `EguiContextSettings`.
- `EguiSet` was split into the `EguiPreUpdateSet` and `EguiPostUpdateSet` sets.
- `EguiInputSet` was also added (as `EguiPreUpdateSet::ProcessInput` subsets).
- Egui contexts are now immediately initialised for entities with a `EguiRenderToImage` component
(as opposed to being initialised with a delay by a separate system),
thanks to Bevy [required components](https://docs.rs/bevy/0.15.1/bevy/prelude/trait.Component.html#required-components).

## [0.31.1] - 30-Nov-2024

### Fixed
Expand Down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[package]
name = "bevy_egui"
version = "0.31.1"
version = "0.32.0"
# Needed for LazyLock https://doc.rust-lang.org/stable/std/sync/struct.LazyLock.html
rust-version = "1.80.0"
authors = ["mvlabat <mvlabat@gmail.com>"]
authors = ["vladbat00 <vladyslav.batyrenko@gmail.com>"]
description = "A plugin for Egui integration into Bevy"
license = "MIT"
edition = "2021"
Expand Down
22 changes: 11 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ A basic WASM example is live at [vladbat00.github.io/bevy_egui/ui](https://vladb
- Desktop and web platforms support
- Clipboard
- Opening URLs
- Multiple windows support (see [./examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/two_windows.rs))
- Paint callback support (see [./examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/paint_callback.rs))
- Multiple windows support (see [./examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/two_windows.rs))
- Paint callback support (see [./examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/paint_callback.rs))
- Mobile web virtual keyboard (still rough around the edges and only works without `prevent_default_event_handling` set to `false` in the `WindowPlugin` settings)

![bevy_egui](bevy_egui.png)
Expand Down Expand Up @@ -78,39 +78,39 @@ To run an example, use the following command (you may replace `ui` with a name o
cargo run --example ui
```

### ui ([live page](https://vladbat00.github.io/bevy_egui/ui), source: [examples/ui.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/ui.rs))
### ui ([live page](https://vladbat00.github.io/bevy_egui/ui), source: [examples/ui.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/ui.rs))

Showcasing some more advanced UI, rendering images, hidpi scaling.

### color_test ([live page](https://vladbat00.github.io/bevy_egui/color_test), source: [examples/color_test.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/color_test.rs))
### color_test ([live page](https://vladbat00.github.io/bevy_egui/color_test), source: [examples/color_test.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/color_test.rs))

Rendering test from [egui.rs](https://egui.rs). We don't fully pass it, help is wanted ([#291](https://github.com/vladbat00/bevy_egui/issues/291)).

### side_panel ([live page](https://vladbat00.github.io/bevy_egui/side_panel), source: [examples/side_panel.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/side_panel.rs))
### side_panel ([live page](https://vladbat00.github.io/bevy_egui/side_panel), source: [examples/side_panel.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/side_panel.rs))

Showing how to display an Egui side panel and transform camera to make rendering centered relative to the remaining screen area.

### render_egui_to_image ([live page](https://vladbat00.github.io/bevy_egui/render_egui_to_image), source: [examples/render_egui_to_image.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/render_egui_to_image.rs))
### render_egui_to_image ([live page](https://vladbat00.github.io/bevy_egui/render_egui_to_image), source: [examples/render_egui_to_image.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/render_egui_to_image.rs))

Rendering UI to an image (texture) and then using it as a mesh material texture.

### render_to_image_widget ([live page](https://vladbat00.github.io/bevy_egui/render_to_image_widget), source: [examples/render_to_image_widget.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/render_to_image_widget.rs))
### render_to_image_widget ([live page](https://vladbat00.github.io/bevy_egui/render_to_image_widget), source: [examples/render_to_image_widget.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/render_to_image_widget.rs))

Rendering to a texture with Bevy and showing it as an Egui image widget.

### two_windows (source: [examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/two_windows.rs))
### two_windows (source: [examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/two_windows.rs))

Setting up two windows with an Egui context for each.

### paint_callback ([live page](https://vladbat00.github.io/bevy_egui/paint_callback), source: [examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/paint_callback.rs))
### paint_callback ([live page](https://vladbat00.github.io/bevy_egui/paint_callback), source: [examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/paint_callback.rs))

Using Egui paint callbacks.

### simple ([live page](https://vladbat00.github.io/bevy_egui/simple), source: [examples/simple.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/simple.rs))
### simple ([live page](https://vladbat00.github.io/bevy_egui/simple), source: [examples/simple.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/simple.rs))

The minimal usage example from this readme.

### simple_multipass ([live page](https://vladbat00.github.io/bevy_egui/simple_multipass), source: [examples/simple_multipass.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/simple_multipass.rs))
### simple_multipass ([live page](https://vladbat00.github.io/bevy_egui/simple_multipass), source: [examples/simple_multipass.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/simple_multipass.rs))

The same minimal example demonstrating running Egui passes manually.

Expand Down
20 changes: 10 additions & 10 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
//! - Opening URLs
//! - Multiple windows support (see [./examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.29.0/examples/two_windows.rs))
//! - Paint callback support (see [./examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.29.0/examples/paint_callback.rs))
//! - Mobile web virtual keyboard (still rough support and only works without prevent_default_event_handling set to false on the WindowPlugin primary_window)
//! - Mobile web virtual keyboard (still rough around the edges and only works without `prevent_default_event_handling` set to `false` in the `WindowPlugin` settings)
//!
//! ## Dependencies
//!
Expand Down Expand Up @@ -58,39 +58,39 @@
//! cargo run --example ui
//! ```
//!
//! ### ui ([live page](https://vladbat00.github.io/bevy_egui/ui), source: [examples/ui.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/ui.rs))
//! ### ui ([live page](https://vladbat00.github.io/bevy_egui/ui), source: [examples/ui.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/ui.rs))
//!
//! Showcasing some more advanced UI, rendering images, hidpi scaling.
//!
//! ### color_test ([live page](https://vladbat00.github.io/bevy_egui/color_test), source: [examples/color_test.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/color_test.rs))
//! ### color_test ([live page](https://vladbat00.github.io/bevy_egui/color_test), source: [examples/color_test.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/color_test.rs))
//!
//! Rendering test from [egui.rs](https://egui.rs). We don't fully pass it, help is wanted ([#291](https://github.com/vladbat00/bevy_egui/issues/291)).
//!
//! ### side_panel ([live page](https://vladbat00.github.io/bevy_egui/side_panel), source: [examples/side_panel.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/side_panel.rs))
//! ### side_panel ([live page](https://vladbat00.github.io/bevy_egui/side_panel), source: [examples/side_panel.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/side_panel.rs))
//!
//! Showing how to display an Egui side panel and transform camera to make rendering centered relative to the remaining screen area.
//!
//! ### render_egui_to_image ([live page](https://vladbat00.github.io/bevy_egui/render_egui_to_image), source: [examples/render_egui_to_image.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/render_egui_to_image.rs))
//! ### render_egui_to_image ([live page](https://vladbat00.github.io/bevy_egui/render_egui_to_image), source: [examples/render_egui_to_image.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/render_egui_to_image.rs))
//!
//! Rendering UI to an image (texture) and then using it as a mesh material texture.
//!
//! ### render_to_image_widget ([live page](https://vladbat00.github.io/bevy_egui/render_to_image_widget), source: [examples/render_to_image_widget.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/render_to_image_widget.rs))
//! ### render_to_image_widget ([live page](https://vladbat00.github.io/bevy_egui/render_to_image_widget), source: [examples/render_to_image_widget.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/render_to_image_widget.rs))
//!
//! Rendering to a texture with Bevy and showing it as an Egui image widget.
//!
//! ### two_windows (source: [examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/two_windows.rs))
//! ### two_windows (source: [examples/two_windows.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/two_windows.rs))
//!
//! Setting up two windows with an Egui context for each.
//!
//! ### paint_callback ([live page](https://vladbat00.github.io/bevy_egui/paint_callback), source: [examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/paint_callback.rs))
//! ### paint_callback ([live page](https://vladbat00.github.io/bevy_egui/paint_callback), source: [examples/paint_callback.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/paint_callback.rs))
//!
//! Using Egui paint callbacks.
//!
//! ### simple ([live page](https://vladbat00.github.io/bevy_egui/simple), source: [examples/simple.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/simple.rs))
//! ### simple ([live page](https://vladbat00.github.io/bevy_egui/simple), source: [examples/simple.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/simple.rs))
//!
//! The minimal usage example from this readme.
//!
//! ### simple_multipass ([live page](https://vladbat00.github.io/bevy_egui/simple_multipass), source: [examples/simple_multipass.rs](https://github.com/vladbat00/bevy_egui/blob/v0.31.1/examples/simple_multipass.rs))
//! ### simple_multipass ([live page](https://vladbat00.github.io/bevy_egui/simple_multipass), source: [examples/simple_multipass.rs](https://github.com/vladbat00/bevy_egui/blob/v0.32.0/examples/simple_multipass.rs))
//!
//! The same minimal example demonstrating running Egui passes manually.
//!
Expand Down

0 comments on commit 5014216

Please sign in to comment.