Rename `Upscaling` to reflect its actual purpose
- 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
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