Breaking changes
- 43% performance improvement from reducing allocation in the theme calculations (see Migration guide)
On
renamed toOnColor
in thesickle_ui_scaffold::theme::theme_colors
package to avoid collision with the upstreamedbevy_mod_picking
New features
- Allow loading theme colors from a material theme json file: #93
- Observable input events
- Documentation for ui_utils, ui_commands, and main ui_style file (NOTE: docs.rs build for the scaffold is still broken, will be fixed next release)
Fixes
- docs.rs build for the main crate and linux builds that don't specify the windowing environment for bevy
- Floating panel resize handles
- System ordering
- Flux interaction animation frame delay
- Missing default font
Migration
- All occurrence of
On
(sickle_ui_scaffold::theme::theme_colors
) needs to be changed toOnColor
UiContext
implementations need to be updated to provide iterators instead of Vec. See: #94
Old:
impl UiContext for SizedZone {
fn get(&self, target: &str) -> Result<Entity, String> {
match target {
SizedZone::RESIZE_HANDLES => Ok(self.resize_handles),
_ => Err(format!(
"{} doesn't exist for SizedZone. Possible contexts: {:?}",
target,
self.contexts()
)),
}
}
fn cleared_contexts(&self) -> Vec<&'static str> {
vec![]
}
fn contexts(&self) -> Vec<&'static str> {
vec![SizedZone::RESIZE_HANDLES]
}
}
New:
impl UiContext for SizedZone {
fn get(&self, target: &str) -> Result<Entity, String> {
match target {
SizedZone::RESIZE_HANDLES => Ok(self.resize_handles),
_ => Err(format!(
"{} doesn't exist for SizedZone. Possible contexts: {:?}",
target,
Vec::from_iter(self.contexts())
)),
}
}
fn cleared_contexts(&self) -> impl Iterator<Item = &str> + '_ {
[].into_iter()
}
fn contexts(&self) -> impl Iterator<Item = &str> + '_ {
[SizedZone::RESIZE_HANDLES].into_iter()
}
}
```