Repository is too tightly coupled
- Dominant language
- Rust
- Stars
- 30.6k
- Forks
- 2.1k
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 72
Description
I tried to add support of winit 0.29 to egui-winit because winit 0.29 seems to have nice improvements in handling of Waits (I expect less CPU load on waiting on Windows).
In my project, I need only egui and egui-winit because I have custom renderer on top of Vulkan.
I forked the repo with intention of changing egui-winit.
However, in process of doing so, I found out that changing egui-winit causes compilation errors in eframe. And I cannot just switch eframe to new egui-winit because it causes compilations errors because glutin requires different version of winit and eframe uses same winit objects in both egui-winit and glutin. When I updated glutin, I got new compilation errors because glutin made breaking changes too!
At this point, I am giving up on the idea of contributing to a project. I would probably just link my project to my fork of egui-winit using git dependency and would wait until somebody else does all this work of updating egui to winit 0.29.
I think, it is not a great situation so opening an issue.
Contributor guide
Research direction
Start by examining the dependency relationships among egui-winit, eframe, glutin, and winit, focusing on the compilation errors reported when moving to winit 0.29. Reproduce the version changes in a small project if possible. Done would require a clear project-level approach that permits winit 0.29 support without incompatible shared winit objects across these components.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- desktop
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 18/100