bevyengine / bevyengine/bevy

Remove `bevy_ui`'s dependency on `bevy_camera`

Open
#20,533 0 comments 0 reactions 0 assignees View on GitHub
A-Camera A-UI C-Code-Quality D-Modest S-Ready-For-Implementation X-Uncontroversial
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

## What problem does this solve or what need does it fill?

The UI layout, text and widget systems don't need to know anything about camera targets and having to deal with cameras makes setting up tests a lot more complicated and fragile that it should be. Ideally we'd remove `bevy_ui`'s `bevy_camera` dependency, but it might be needed for picking.

## What solution would you like?

1. Split off render target info from `ComputedUiTargetCamera` into a seperate component `ComputedUiRenderTargetInfo`.
2. Move the camera and render target info propagation systems into `bevy_ui_render`.
3. Move the viewport widget into `bevy_core_widgets`.
4. Work out what to do with picking.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.