bevyengine / bevyengine/bevy-website

Add guidance for upstreaming crates

Open
#1,822 1 comment 0 reactions 0 assignees View on GitHub
A-Contributing-Guide C-Content
Dominant language
JavaScript
Stars
249
Forks
450
Avg merge
16h 20m
Merged PRs (30d)
6

Description

I'd like to see us upstream more stuff. It's a challenge, but a different kind of challenge than greenfield work, which mostly comes from solving problems in the ecosystem crate by modifying the ecs or the other core crates (the for bevy_picking this was adding bubbling to observers). IMO it's something you're usually going to need engine-devs for (which was the issue with the student group, not their fault).

For future up streams, this is probably how I'd work it:
1. **Design** and implement necessary engine features, and in parallel add polish to the ecosystem crate.
2. **Copy** all the important files from ecosystem crate verbatim into the engine repo (leave stuff out of the workspace/example tree).
3. **Mock** the up-streamed crate to get it compiling (even if it's broken) and write specs/tests.
4. **Integrate** new ecs features and fix broken stuff until it meets the specs/tests.
5. **Iterate** on the up-streamed api with feedback from early adopters (this was crucial for getting `bevy_picking` ready for release).

I probably wouldn't try to plan more than one of these stages at a time. It's better to bite off manageable chunks.

_Originally posted by @NthTensor in https://github.com/bevyengine/bevy/discussions/16431#discussioncomment-11307087_

Contributor guide

Open the contributing guide

Research direction

The issue names no website files, tests, or documentation entry points. Start by locating the documentation structure for contributor or upstreaming guidance, then determine where this staged process belongs and what concrete guidance should be published.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.