Announcing 'Dear ImGui Test Engine' + 'Dear ImGui Test Suite', available now.
- automation/testing for Dear ImGui apps/tools;
- run in your live app or headless on CI;
- run at robot speed or simulated human speed;
- export screens/videos for e.g. generating docs;

https://github.com/ocornut/imgui_test_engine

#imgui

GitHub - ocornut/imgui_test_engine: Dear ImGui Automation Engine & Test Suite

Dear ImGui Automation Engine & Test Suite. Contribute to ocornut/imgui_test_engine development by creating an account on GitHub.

GitHub

Been working on this on the side since 2018, used it to test Dear ImGui itself & catch regressions. @rokups and I added many tests over time.

Opening it for people to add tests to their own app/tools. If you can control e.g. your game/engine via tools, you can now automate them.

Please note the Test Suite is MIT licensed but Test Engine Library is custom open-source license (TL;DR; free for individuals, open-source, education and small companies; paid for large companies).

Income aimed at sustaining main Dear ImGui work which stays and will stay MIT.

@ocornut I applaud you for all the work, and for sharing what you have under an #OpenSource license. But I would kindly ask that you not call your proprietary license (i.e., one that makes it clear to me that this software is Yours, and is meant to be Sold by You, exclusively) a "custom open-source" license.

I think calling such licenses open-source confuses the public and dilutes the hard earned goodwill of many who have worked to create the bountiful #FOSS #Commons.
https://github.com/ocornut/imgui_test_engine/blob/main/imgui_test_engine/LICENSE.txt

imgui_test_engine/LICENSE.txt at main · ocornut/imgui_test_engine

Dear ImGui Tests & Automation. Contribute to ocornut/imgui_test_engine development by creating an account on GitHub.

GitHub
@msw How would you call it when sources are publicly available?
@ocornut "source-available." :-)
@msw Thank you. I'll pay attention ahead. Note that "open-source" mentioned in the README is used in the right context. Issue seems currently only in toot above. Thanks!

@ocornut There are many “Source Available” licenses: https://en.wikipedia.org/wiki/Source-available_software

The core aspect of #OpenSource is not public availability, but Software Freedom: The right to use, modify, and share the software for *any* purpose. Access to the source code is a necessary but not sufficient aspect of this freedom.

Source-available software - Wikipedia

@latk Thanks. I generally understand the distinction but kinda brain-farted on the toot/tweet. I thought "open source" had a more casual meaning that e.g. 'Free Software".

@ocornut While “Open Source Software” is literally just a rebranding of the “Free Software” concept, colloquial usage of the term “Open Source” is more relaxed. Completely understandable that you had that connotation.

It's just that @msw and I have Strong Opinions™ about this 😄

@ocornut Wow, this Fast Mode is absolutely crying out to be used in film / TV / theatre! 🤖
@ocornut Would love to hear how the licensing model works out for you. I’ve been considering doing something along those lines for my texture compression work. My worry is that the innovative ideas are fairly easy to copy and replicate without using my code, but at the same time I want to be as open as possible while also finding a sustainable business model.
@castano I’ll let you know but I suspect this specific project is going to take a while to take off (which is fine for me as it’ll help to get spread out feedback and taking the time to react).
Also In general I’d say the situation improved from our call 2 years ago.
@castano @ocornut Also interested. Have been lately thinking of ways to monetize open source development and make it sustainable for some of the work I'm working on.
@castano @ocornut Not working on it fulltime myself, but need some validation that the work I do is valuable to someone and worth to sink in the hours.
@castano @ocornut You can add sponsorship to GitHub projects and use that as a platform for monetization by providing "tiers" (monthly or one time) with different perks.
@castano @ocornut Many people seem to use it for donation kind of sponsorships, but you can use it to give some proper value proposition
@castano @ocornut As much as I would love to believe that people would just donate to projects they believe in from the goodness of their heart, I think you need to customize the tiers for your project which provide something valuable in return.

@JarkkoL @castano @ocornut
One aspect many seem to overlook is that by selling something, companies can deduct that as expense before tax, whereas a donation is done after tax. (very simplified)

So if you sell support, it'll be easier for companies to support than if you only have patreon/donations.

Depending on the economic situation it can be illegal to give donations, but perfectly fine to buy support.

@Erik_W_B @castano @ocornut That's a good point. Many also provide marketing in higher company focused tiers, to include the company logo in README or something, which I guess is also tax deductible?

@JarkkoL Generally as long as you buy something, it can be deducted. What you describe should fit nicely in a marketing budget, where money might be looser than else where.

Could be worthwhile to experiment, or at least interview a few companies about their preferences, if you want to generate income that way.

@Erik_W_B @JarkkoL @castano I stopped many years ago to ever use "donation" terminology, I'm selling development and support services or sponsoring. I also stopped Patreon/GithubSponsors because it created a baseline for companies to lowball their contribution and therefore was financially a net negative.

@ocornut Sounds good, didn't mean to imply otherwise. Sorry if it came across otherwise.

Just read several threads about people talking about why companies don't donate more to OS, so wanted to comment to @JarkkoL so he wouldn't fall "prey" to that idea.

@Erik_W_B @ocornut I don't believe donations as a sustainable way of funding OS projects, as I said in this thread, but that you need to provide something of value for different tiers.
@Erik_W_B @ocornut However, if you browse GitHub sponsorable projects, many of them are "$5/mo you are a fan", "$10/mo you are super fan", "$20/mo you are super duper fan" 😀
@Erik_W_B @ocornut Maybe it's because many are individuals contributing to several OS projects but don't provide any product themselves. But even in that case I would think you could have something like "$50/mo I'll spend 2 hours on an OS project of your choice". It's quite clear that many are software developers and not business developers :)
@ocornut @rokups That is going to be very interesting for Avoyd. Thanks for all your work!
@juulcat @rokups Happy to help if you need for setting up!
@ocornut @rokups Noted, thanks!!

@juulcat @ocornut @rokups The API and example code looks pretty straight forward.

The hard part might be fixing some of our functions written on top of ImGui to work well - for example ItemCheck won't work with our checkboxes as is. Additionally some of our widgets IDs depend on their state.

@dougbinks @juulcat if you gave a custom checkbox, there is one macro to call to pass extra state/semantic, see trailing code in CheckBox()
@ocornut Looks great! A while ago on Twitter, you mentioned that you were working on a new way to set up bindings for FFI in other languages, so we wouldn't have to rely on cimgui anymore - is this still something you're planning to do? Our .NET bindings are a big pain point for us and we'd like to come up with something new, so we were looking forward to that. Thanks!
Omar (@[email protected])

Announcing "Dear Bindings" by Ben Carter (Shironeko Labs): - generate C API for Dear ImGui (w/ full comments) - generate metadata for other tools to generate own bindings for other languages. https://github.com/dearimgui/dear_bindings This is basically a WIP attempt to improve on cimgui: - see how output looks (comments preserved, better designed naming scheme) here: https://github.com/dearimgui/dear_bindings/actions/runs/3481799993 - master/docking/string_view branches should be working. - imgui_internal.h not yet working (fixes/PR welcome)

Gamedev Mastodon
@ocornut Very cool, does this cover the docking branch also?
@daniel_collin Yes in theory, but there are misc bugs here and there with some cases that needs fixing. Viewports are currently half-supported, have known issues.
@daniel_collin Obviously we want to drive viewport stuff but we also want to make it 100% impossible for test engine to inject OS-side inputs, there may be conflicting cases.
@ocornut congrats. that is outstanding work.
@ocornut thank you so much 🥰
@Maxime_gaffe Hope it ends up useful for your teams!
@ocornut Thanks a lot for this, testing GUI is a lot of work and I'm especially curious of the headless mode!