That's really cool! I burned some tokens trying to develop something similar but gave up halfway. A lot of people criticize Blender's UI but as someone who has been using blender for more than a decade now I just find it so elegant. Just the customizability itself is something I miss on most 3D software, if not all of them. Being able to just split screens and change their functionality, paired with the tabs for different workflows, it is a really good solution for a very complex software. I'd like to see a game engine with this much UI freedom.
If you're working on a small game project without an existing framework/platform, you usually build a really bargain-basement game editor alongside it. That editor takes a long time, and it's often spent in arranging UI stuff.
If you're already using Blender to make assets, there's some benefit to stuffing Blender's UI into your game editor too.
Blender had a very different ui before and a big redesign, so most people have different opinions between the old and the new design. It sounds like you find all of them awful. I find that surprising and wonder what 3d program you find have good ui.
I have used every version of blender and it has always felt harder than it should.
I have used 3Ds max, maya, lightwave, cinema4D, milkshape, wings, Houdini, unreal engine 1 - 5, Hammer, Threejs editor and probably more. The Blender UI is worse than all of the above.
At the time of blender's old ui 3Ds max had menus nested 5-6 level deep in an ui that would make gimp very good design. Between that 3Ds max praise, conflating old blender ui and new blender ui, and not providing any specifics on what makes blender so bad (I just provided some about 3D max) I have to assume there is no truth to it. We will agree to disagree. I think blender ui is excellent, but a 3d editor is a specialised app.
The question was which one do you think has a good UI... I'd be keen to know your opinion on this as well, what you think the current high water mark is in 3D design software UI is, or do you think they all suck, but Blender just sucks the most?
> Baby duck syndrome is a cognitive bias where people automatically prefer the first system, interface, or product they learn to use, judging all later versions or alternatives by how well they match that initial experience.
That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
> That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
I don't think that qualifies. There's an important distinction to be made between an aesthetic preference versus a professional not appreciating a tool being mucked with. Anything that interferes with my workflow without immediately providing substantial benefit is something that's actively harmful. In fact even if it does hypothetically provide huge benefits I still might not want to deal with it right this second.
Why not? For similar applications it would be really beneficial to not have to reimplement all the little UI interactions they've polished over the years
This is just repeating a common meme. Blender's UI layout and organisation is fine, but this is a UI library. There's nothing wrong with blender's UI technically, in fact its pretty decent overall
I absolutely detest it (TBF I haven't used it for the past ~2 years) but I also recognize that it's an incredibly difficult problem space that lacks an obviously good solution, the tool itself is inherently and irreducibly complex, it's a free project with extremely limited resources, it's been consistently improving over time, etc, etc.
Everybody hates all serious 3d application interfaces… they’re just complicated. I’m professionally competent in Houdini, Maya, Max, Blender, Zbrush, Marvelous Designer, the UE editor… they all suck in various ways but it’s all a giant set of trade-offs and priorities. Beyond that, lots of these programs have lineages that go back decades longer than almost any modern dev environment and being so complex, UI changes can be quite disruptive. Kind of like why so many *nix cli tools are the same as they were decades ago. A lot of (no, not all) developers think they have the most complex tooling in the computer world — they definitely don’t.
There's a lot of thought in Blender's UI, and a lot of improvements over the years.
Fundamentally all 3d modelers have inherent degree of complexity. The ones that give a "simple" facade with fewer options make other things harder or having to look into obscure places.
All of that are beside the point however: people will use this as a GUI library, not as a Blender's UX design.
No? I think there would easily be other use cases where Blenders UI would be very suitable, e.g. Audio software.
It is not a UI paradigm that you would use for just anything, but for certain poweruser software it is one of the best paradigms I have seen, especially since they managed to get rid of 90% of the rough corners in the past decade of development.
Despite rumours to the contrary not everything is best interacted with via an LLM. If you want to go to that degree then have at it, all you need is an old school TTY on a serial cable, but the rest of us quite like having UIs designed to fulfil a purpose rather than a soup of Claudeish prose describing a progress bar.
For anyone looking at Rust GUI: don't expect GPUI to be the fastest. From what I've heard, Iced, Slint, Dioxus Native, Freya, etc are all faster. Despite claims of being blazingly fast, GPUI isn't that optimized. Zed gets away with it because it's UI is simple.
If only the game I am surely going to develop some day would not waste 7% of the rendering budget on drawing the menu sliders! Must research all options now before I start. Must make an objective choice, so I need number that can be compared neutrally between frameworks. So, rendering performance it is.
One of the biggest problems with GIMP and Inkscape is how GTK renders numeric inputs. Look at the size of those +/- icons on the toolbar. For drawing software with lots of numeric inputs, that means an insane waste of space. Proprietary software like DaVinci and even Photopea have much smaller inputs, allowing them to create far more complex GUIs and featuring without cluttering the window.
I just want to be able to crop and draw on top of images. Like old Paint. That is literally all I want to ever do with images. What should I use in Linux for this purpose
I easily modified pinta to do exactly this. You mean overlay, right? It can overlay, draw, manipulate, and I added a better file navigator so I can see which imagery I want to overlay to begin with. My use case was scientific in nature. What is yours, if you don’t mind my asking?
Photocraft has been working alright for me. I really struggled to learn GIMP, and I haven't found any easy lightweight image editing tool that replaces Paint.NET for me before trying Photocraft. It's still a little confusing since I'm not used to photoshop-like bindings and layout, but it hasn't been too hard to adjust. (I also only ever use it for small simple edits, drawing, cropping, color gradients, background removal, etc.)
People are confusing UX with UI. Inkscape UX might be better for many people but it would be hard to argue that Inkscape UI is better - it got better recently but it's still far from blender polish.
Inkscape is actually one of the few FOSS apps that is actually pretty intuitive to use. In fact, way back when I first started using vector design tools, I found it more intuitive/had better feedback than Illustrator (same thing can't be said about GIMP vs Photoshop). Inkscape really is great, but I have one huge gripe: I'm sure there's a system to it, but the file export name never stays what I want it to be...
Ive been thinking this would be amazing to do for ages. happy someone finally did it. its the perfect system for interfaces where speed matters. hope to see more 3d modellers, video editors, daws and simulation systems built on this.
I have a python "DSL" which allows to create a simple UI for synth parameters you also make in python. It uses Tk and looks like, mmm, Tk with all other Tk issues. Project was abandoned because of it. Looks like it's time to revive!
I was just a kid in 2002, so couldn’t contribute, but I remember checking the MoneyMeter going up every day, so that the community could buy out Blender and make it free software. GPL does restrict it, but it’s also only the only reason Blender is not a long forgotten piece of software from the 90s.
Well.. Old discussion but I actually think it's the better way (sorry. MIT, you are more free then anything).
Either contribute back or stay away from open source work that others did for you.
After further exploration, it does work, but not without fiddling around with the tkinter code that exists. Not bad results; better than the original Tkinter rendering, anyway, unless you like that retro look.
Nice! I've been waiting for someone to do this for a long time. Now I'll just need to wait a bit longer for someone to apply this to FreeCAD. Boy oh boy!
This is excellent. I thought about this years ago for an OpenGL based desktop UI. Apple's UI is using something similar I believe. And the Windows UI too is mostly rendered using Direct3D (which is comparable to OpenGL) since Vista.
I hope someone else uses this for a new Linux distro.
Well, given that so many folks always argue they are Linux distros even though it is an implementation detail for userspace APIs, ChromeOS, WebOS and Android.
What makes you say that? It was the part that goes...
> The repository is built entirely using LLMs, with no human-written code. The drawing and interaction code is ported from Blender's sources, and the behavior is checked by tests: C, Python, Rust and JavaScript suites, the tkinter side-by-side programs and the GPU parity test.
Super curious about the limitations you see in GPUI! I built a custom rust UI framework for the software i am developing but i always kept an eye on GPUI, what is limiting about it in your opinion?
GPUI and Makepad are the two Rust UI frameworks that seem the most interesting for what I'm looking for in a UI framework (hybrid immediate/retained mode, self-drawn widgets, open source).
Not so much limitations. Rather behaviors I'm used to, around scrolling content, input fields, splitters for resizing panes etc. Can't recall specifics right now. Just small things that I usually get out of the box had to be implemented here.
and thats fine. without LLMs no human would have invested so much required time and effort to do this! and now such awesome things are possible with a bit of tokens and a small prompt. overall a win
Definitely a worthy goal but they've gone down a super weird route by providing clones of other GUI toolkit APIs on top of this. Your target audience is people that are ok with vibe coding. They don't care about switching to a proper Blender-style API.
GPL is the best opensource license. But seeing this as a library, it might need to be LGPL rather than pure GPL (ala, you can use it as a library without "tainting" your source, but if you make modifications to the library, you must release it).
May be, but AGPL is intended for server based apps, rather than local apps (which i presume this library is intended, but i suppose the javascript part can be considered to fall into the server category).
Most native widget toolkits don't actually support rendering into 3d canvasses very well, nor very compact UI layouts. I generally prefer native widgets, but for a dense prosumer application, they aren't always the correct choice (and you'll see even Apple stray from their native UI widgets for, say, Logic Pro)
None of the apps on my computer have any sort of cohesion with each other. It might just be me but I think this idea is dead, on Windows and Linux at least.
But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
Also, go to Mac, and SwiftUI still doesn’t support all that AppKit used to, leaving an incentive for developers to deviate from the platform’s recommendation.
And back to Windows, WinUI still doesn’t fully replace Win32 or Windows Forms, so same conclusion applies.
> But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
I’m going to hazard the claim that in probably most people’s conception of the term, GTK is native in GNOME, Cinnamon, Xfce, etc. and Qt is native in KDE, LXQt and Sailfish OS.
I am pretty sure HN is an enclave of the only remaining people in the world who think this way. A sanctuary preserving the last specimens of an endangered species.
And I do appreciate the effort that goes into it, especially in the latest versions as it got much better,
But I really really really REALLY don't want that UI in anything else other than Blender.
Please don't.
If you're already using Blender to make assets, there's some benefit to stuffing Blender's UI into your game editor too.
I have used 3Ds max, maya, lightwave, cinema4D, milkshape, wings, Houdini, unreal engine 1 - 5, Hammer, Threejs editor and probably more. The Blender UI is worse than all of the above.
My baby duck fingers could probably pick up LightWave 3D again in an hour or two. I could never gel with Blender.
> Baby duck syndrome is a cognitive bias where people automatically prefer the first system, interface, or product they learn to use, judging all later versions or alternatives by how well they match that initial experience.
That's actually extremely common in scientific (GUI) software. And in any professional setting I guess.
I don't think that qualifies. There's an important distinction to be made between an aesthetic preference versus a professional not appreciating a tool being mucked with. Anything that interferes with my workflow without immediately providing substantial benefit is something that's actively harmful. In fact even if it does hypothetically provide huge benefits I still might not want to deal with it right this second.
I absolutely detest it (TBF I haven't used it for the past ~2 years) but I also recognize that it's an incredibly difficult problem space that lacks an obviously good solution, the tool itself is inherently and irreducibly complex, it's a free project with extremely limited resources, it's been consistently improving over time, etc, etc.
Fundamentally all 3d modelers have inherent degree of complexity. The ones that give a "simple" facade with fewer options make other things harder or having to look into obscure places.
All of that are beside the point however: people will use this as a GUI library, not as a Blender's UX design.
It is not a UI paradigm that you would use for just anything, but for certain poweruser software it is one of the best paradigms I have seen, especially since they managed to get rid of 90% of the rough corners in the past decade of development.
But a good design system does the trick. Artcraft apps use this library and their Adobe clones come very close to the original apps.
Q: “Whats wrong with tkinter?!?!”
A: It sucks, that’s what!
That UI is fine to be on many more places than Blender, given that many libraries people use are way worse. Imgui for one example.
Yeah you can do that. If you have low standards and don't need control of the details.
https://cleanshot.com/share/WW9yFdMy
[0]: https://gradia.alexandervanhee.be/ [1]: https://www.pinta-project.com/ [2]: https://krita.org/en/
I’d be interested to know what you think about it
[0]: https://github.com/daijro/paint.rs
> The drawing code is a C port of Blender's own widget code
How can we guarantee BUI is still performant?
[1] https://github.com/kovidgoyal/kitty
[2] https://calibre-ebook.com/
I hope someone else uses this for a new Linux distro.
> The repository is built entirely using LLMs, with no human-written code. The drawing and interaction code is ported from Blender's sources, and the behavior is checked by tests: C, Python, Rust and JavaScript suites, the tkinter side-by-side programs and the GPU parity test.
...wasn't it?
I think I will keep going with my own efforts, but this looks nice!
We also have a kotlin binding support coming soon, btw!
Swapping it for UI that's as battle tested as Blender might improve things.
GPUI and Makepad are the two Rust UI frameworks that seem the most interesting for what I'm looking for in a UI framework (hybrid immediate/retained mode, self-drawn widgets, open source).
>The repository is built entirely using LLMs, with no human-written code. ...
I’ve not once thought “Man, those widgets are slow!”
Do Maya and others have better UIs? Honestly, I find them more repulsive than Blender's
Just because you can...
I don't think we can use LGPL since we were derived from Blender's Source code, which is GPL.
A quarter-century ago, yes. If they haven't migrated to native widgets in 25 years, that might be an indicator of something
But the premise is silly: if Linux has two native toolkits, how is this a sensible recommendation?? Hint: it isn’t, because GTK/Qt are not the native, but rather simply the most used.
Also, go to Mac, and SwiftUI still doesn’t support all that AppKit used to, leaving an incentive for developers to deviate from the platform’s recommendation.
And back to Windows, WinUI still doesn’t fully replace Win32 or Windows Forms, so same conclusion applies.
I’m going to hazard the claim that in probably most people’s conception of the term, GTK is native in GNOME, Cinnamon, Xfce, etc. and Qt is native in KDE, LXQt and Sailfish OS.