bevyengine / bevyengine/bevy

Migrate examples using text based UI to feathers

Open
#25,032 17 comments 0 reactions 0 assignees View on GitHub
A-UI C-Examples D-Straightforward S-Ready-For-Implementation X-Uncontroversial
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 22h
Merged PRs (30d)
161

Description

Many old examples used a combination of text and hardcoded key presses as a UI because bevy_ui was too much trouble. Now that we have feathers and bsn we can migrate them to use an actual UI.

Here's a list of all the rendering related examples using this pattern sorted by how many controls would need to be migrated.

## Low - only 1 control to migrate

- `3d/clearcoat.rs`
- `3d/occlusion_culling.rs`
- `3d/specular_tint.rs`

## Medium - 2 to 4 controls to migrate

- `2d/2d_shapes.rs`
- `2d/wireframe_2d.rs`
- `3d/3d_shapes.rs`
- `3d/anisotropy.rs`
- `3d/atmospheric_fog.rs`
- `3d/auto_exposure.rs`
- `3d/blend_modes.rs`
- `3d/deferred_rendering.rs`
- `3d/depth_of_field.rs`
- `3d/generate_custom_mesh.rs`
- `3d/irradiance_volumes.rs`
- `3d/motion_blur.rs`
- `3d/parallax_mapping.rs`
- `3d/post_processing.rs`
- `3d/rect_light.rs`
- `3d/reflection_probes.rs`
- `3d/solari.rs`
- `3d/ssao.rs`
- `3d/visibility_range.rs`
- `3d/volumetric_fog.rs`
- `gizmos/light_gizmos.rs`
- `gizmos/transform_gizmo.rs`

## High - 5 or more controls to migrate

- `2d/bloom_2d.rs`
- `3d/anti_aliasing.rs`
- `3d/bloom_3d.rs`
- `3d/fog.rs`
- `3d/lighting.rs`
- `3d/shadow_biases.rs`
- `3d/tonemapping.rs`
- `3d/transmission.rs`
- `3d/wireframe.rs`
- `gizmos/2d_gizmos.rs`
- `gizmos/3d_gizmos.rs`

This is not an exhaustive list, there's likely more than that.

Contributor guide

Open the contributing guide

Research direction

Start with one low-scope example such as examples/3d/clearcoat.rs and inspect how its text controls and hardcoded key presses work. Read the existing feathers and bsn usage before migrating that control to an actual UI. Done means the example uses the new UI for its control and no longer relies on the old text-and-key-press pattern.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
game-dev
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.