bevyengine / bevyengine/bevy

Rename `Upscaling` to reflect its actual purpose

Open
#8,775 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering C-Docs C-Usability
Dominant language
Rust
Stars
48.2k
Forks
4.8k
Avg merge
3d 16h
Merged PRs (30d)
171

Description

## How can Bevy's documentation be improved?

A render graph node used for both the core 2d and 3d pipelines is [`upscaling`](http://dev-docs.bevyengine.org/bevy/core_pipeline/upscaling/index.html).

However, contrary to what the verb "upscaling", the `UpscalingNode` does not (de-)magnify output, according to [discussion on Discord](https://discord.com/channels/691052431525675048/743663924229963868/1116037705646755930).

Rather, it [blits](https://github.com/bevyengine/bevy/blob/d1158288d5977ccea8c87adf80359ff9e21a852e/crates/bevy_core_pipeline/src/upscaling/mod.rs#L50) output from the view target's [`main_texture`](https://github.com/bevyengine/bevy/blob/d1158288d5977ccea8c87adf80359ff9e21a852e/crates/bevy_core_pipeline/src/upscaling/node.rs#L50) to the [`out_texture`](https://github.com/bevyengine/bevy/blob/d1158288d5977ccea8c87adf80359ff9e21a852e/crates/bevy_core_pipeline/src/upscaling/node.rs#L91).

(Sometimes this blitting can cause (de-)magnification based on differing sizes of `main_texture` and `out_texture`, but this is not where such (de-)magnification is typically done (why?) when needed for artistic purposes: )

Possible names for this node that are more reflective of its purpose are:

1. `BlitOut`

2. `OutputBlit`

3. `SwapchainBlit`

4. `MainToOutBlit`

It might also be worth prepending `Core` to the above names in order to provide the hint that a user might have a (for example) `CustomBlitOut`, and this is just the core/default output blitting node.

Furthermore, the [specialized blitting pipeline](https://github.com/bevyengine/bevy/blob/d1158288d5977ccea8c87adf80359ff9e21a852e/crates/bevy_core_pipeline/src/upscaling/node.rs#LL24C40-L24C40) used by `UpscalingNode` is confusingly called [`upscaling_target`](https://github.com/bevyengine/bevy/blob/d1158288d5977ccea8c87adf80359ff9e21a852e/crates/bevy_core_pipeline/src/upscaling/node.rs#L32), and would be better served by the name `upscaling_pipeline` (where `upscaling` is eventually replaced by whatever term is decided upon above).

Contributor guide

Open the contributing guide

Research direction

Start with crates/bevy_core_pipeline/src/upscaling/mod.rs and node.rs, then search the repository for UpscalingNode and upscaling_target to map the affected API and documentation references. Review the linked Discord discussion and candidate names before deciding on terminology. Done means the chosen name consistently describes the output blit without leaving stale identifiers.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
computer-graphics, game-dev
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.