-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What happened in 2019 #3019
Labels
Comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What happened in 2019
Been meaning to give a quick overview of the things that happened in 2019...
Spanning versions 1.67 - 1.75: we’ve got about 700 lines worth of Changelog: new features, fixes, optimizations, demo improvements. I initially wanted to write a summary of those, but the amount of useful details is too large. I heartfully recommend organizing your work to stay up to date with Dear ImGui.
Removed dozens of renamed or misleading legacy symbols marked obsolete in 1.50 - 1.53 (up to December 2017). Some of those symbols were polluting the namespace and creating unnecessary confusion. The “API Breaking Changes” section of imgui.cpp describe all those changes in details.
Exactly 700 Issues or Pull-Request have been opened in 2019 on GitHub. Hundreds of other issues have been opened through private channels and paid support.
With about 19k stars and 3k forks, Dear ImGui appears to be the 9th most starred C++ repository on GitHub (source). This is a thoroughly meaningless metrics, but hey, it's nice. (erratum: github has a similar filter which puts us at 19th and seems more correct).
Making the project reliable, sustainable, growing the team
In 2018 I identified that one weakness of Dear ImGui was that I @ocornut was more or less the sole dedicated developer on it. While it enabled consistency and enforcing strong technical and design stance, it has been both a bottleneck and a risk.
Some of the work in 2019 has been focused around improving the situation:
Preserving the core project values is key. While we are sitting on a project whose scope and expectations grew massively since its inception, we are still focused on performance, compatibility, extensibility, simplicity, leanness. They are all important and I am serious at protecting those values. We’re also dealing with slowly steering a project into its 2.0 incarnation, without breaking too much of people’s codebase. Please bear with us, it means things always take much longer to make. Many interconnected ideas are being tested and waiting for their right moment to be turned into production-quality features. It means maybe some of you feel like Dear ImGui is not moving forward fast enough, and it still is missing many features. We’ll address them over time and with your support.
Features and ongoing 2019 work
Some of the large axises of work included:
Docking and Multi-Viewports: both in ‘docking’ branch, have received countless fixes and small improvements. Reminder that this branch is kept up to date with master and it is perfectly usable in production - most large users have been on the docking branch, so this is the de-facto main branches for many. Some of the changes are still experimental and intentionally poorly documented, as we still are working with high-end users to improve things toward seamless desktop experience. We are still working out a transition to move those features into master, and the adoption of regression tests was partly motivated by the need to facilitate working in some of the more complex areas of the Docking system.
DPI: work has been done at better supporting varying DPI settings. While regular “single viewport, varying-dpi / hi-dpi” support is easy to handle at user-level, what we call “multi-dpi” (= multiple viewports simultaneously scattered over multiple monitors with varying DPI scale) has been particularly tricky to find perfect solutions for and we are still experimenting with tradeoffs. Shamefully I must admit we have neglected to provide a trivial and ready-to-use solution for the simpler case of supporting “single-viewport varying-dpi” because we were too focused on the difficult end of the problem. We should remedy to that soon.
Keyboard and Gamepad controls: many user-facing fixes and internal improvements have also happened here. This should be a major axis of work in 2020 (focusing, input dispatching, shortcut) as there is increasing pressure to provide quality keyboard controls for productivity tools.
Tables: work has been done on a new Tables API aimed at replacing columns (currently in public testing phase).
This is by no mean an exhaustive list of things that happened in 2019. Check releases notes and active github issues for more details.
If you have any feedback let me know!
The text was updated successfully, but these errors were encountered: