bevy/crates
Tamás Kiss ebfe545f79
fix issue with phantom ui node children (#14490)
# Objective

The `ui_layout_system` relies on change detection to sync parent-child
relation to taffy. The children need to by synced before node removal to
avoid trying to set deleted nodes as children (due to how the different
queries collect entities). This however may leave nodes that were
removed set as children to other nodes in special cases.

Fixes #11385

## Solution

The solution is simply to re-sync the changed children after the nodes
are removed.

## Testing

Tested with `sickle_ui` where docking zone highlights would end up
glitched when docking was done in a certain manner:
- run the `docking_zone_splits` example
- pop out a tab from the top
- dock the floating panel in the center right
- grab another tab and try to hover the original static docking zone:
the highlight is semi-stuck
- (NOTE: sometimes it worked even without the fix due to scheduling
order not producing the bugged query results)

After the fix, the issue is no longer present.

NOTE: The performance impact should be minimal, as the child sync relies
on change detection. The change detection was also the reason the parent
nodes remained "stuck" with the phantom children if no other update were
done to them.
2024-08-02 19:26:47 +02:00
..
bevy_a11y Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_animation Fix single keyframe animations. (#14344) 2024-08-02 19:24:54 +02:00
bevy_app Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_asset EmptyPathStream is only used in android/wasm32 (#14200) 2024-08-02 18:58:30 +02:00
bevy_audio Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_color Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_core Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_core_pipeline Handle 0 height in prepare_bloom_textures (#14423) 2024-08-02 19:24:54 +02:00
bevy_derive Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_dev_tools Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_diagnostic Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_dylib Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_dynamic_plugin Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_ecs Add some missing reflect attributes (#14259) 2024-08-02 19:20:44 +02:00
bevy_encase_derive Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_gilrs Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_gizmos Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_gltf Fix bevy_gltf PBR features not enabling corresponding bevy_pbr flags (#14486) 2024-08-02 19:24:54 +02:00
bevy_hierarchy Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_input bevy_input: allow use without bevy_reflect (#14167) 2024-08-02 19:11:13 +02:00
bevy_internal Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_log Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_macro_utils Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_math Fix swapped docs for Rot2::rotation_to/from_y (#14307) 2024-08-02 19:15:56 +02:00
bevy_mikktspace Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_pbr Fix incorrect function calls to hsv_to_rgb in render debug code. (#14260) 2024-08-02 19:19:53 +02:00
bevy_ptr Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_reflect Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_render Fix bevy_render's image dependency version (#14505) 2024-08-02 19:25:42 +02:00
bevy_scene Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_sprite Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_state Make initial StateTransition run before PreStartup (#14208) 2024-08-02 19:17:57 +02:00
bevy_tasks Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_text Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_time Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_transform Optimize unnecessary normalizations for Transform::local_{xyz} (#14171) 2024-08-02 18:58:31 +02:00
bevy_ui fix issue with phantom ui node children (#14490) 2024-08-02 19:26:47 +02:00
bevy_utils Release 0.14.0 version bump (#14126) 2024-07-03 18:22:10 -07:00
bevy_window Fix bevy_window failing with serialize feature (#14298) 2024-08-02 19:18:25 +02:00
bevy_winit Fix bevy_winit not building with serialize feature (#14469) 2024-08-02 19:24:54 +02:00