bevyengine / bevyengine/bevy-website
Add guidance for upstreaming crates
- 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
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