Skip to content
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

Add a new vector-based default editor theme #7294

Closed
Calinou opened this issue Dec 13, 2016 · 227 comments
Closed

Add a new vector-based default editor theme #7294

Calinou opened this issue Dec 13, 2016 · 227 comments

Comments

@Calinou
Copy link
Member

Calinou commented Dec 13, 2016

A new, vector-based theme for the editor is required for good-looking hiDPI support. It should probably be drawn using Inkscape and be exportable to PNG with a script, just like the current icons.

Related issue: UI Concept for Godot

@bojidar-bg
Copy link
Contributor

Would be nice if the editor/godot runtime is able to redraw all those vector icons on start or when resolution is changed 😃

@djrm
Copy link
Contributor

djrm commented Jan 17, 2017

i would like to help with this (i started to draw the elements some time ago), however @reduz once said that it will be too much work, i dont know if he was talking about the godot internals, but it those problems are solved i would be glad to help with the graphics.

@djrm
Copy link
Contributor

djrm commented Jan 23, 2017

this is what i have so far.

screenshot from 2017-01-22 20-16-59

screenshot from 2017-01-22 20-16-42

screenshot from 2017-01-22 20-16-13

@djrm
Copy link
Contributor

djrm commented Jan 24, 2017

just another update, and also i think thats all, i have all the ui elements done in svg, next step might be to polish and improve this, even if it does not become the new default theme, someone can use the assets to create a new them or improve this one.

screenshot from 2017-01-23 19-50-01

@reduz
Copy link
Member

reduz commented Jan 24, 2017 via email

@djrm
Copy link
Contributor

djrm commented Jan 24, 2017

@reduz that would be really cool, but i guess the SVGs must be optimized for that (maybe after the optimizations we can make sure that only a small subset of SVG is used, and then create a mini SVG parser for that subset).

@bojidar-bg
Copy link
Contributor

BTW, the raphael.js SVG library (which I used a long time ago) countered the small-subset issue by converting everything to bezier curves when things like path collisions, lengths and so on had to be calculated.

@toger5
Copy link
Contributor

toger5 commented Feb 11, 2017

damn looks really good and seems to be an amazing approach.
If it is possible to do a decent real time svg -> png converter for the icons also plugins would benefit a lot from it. Currently they usually don't support highDPi and are almost unusable.

It even could be used inside final games. So Godot would support svgs and just converts them to the correct sized png when the they are used in a game. #4826
(thats actually the same way iOS handles pdf vector graphics. just converts them to png at the right time)

@djrm the design you are approaching is beautiful. Helps focusing on the actual work (code 2d editor...). I think the green for the selected design is a little too heavy. why did you choose it over s simple grey shade? But thank you a lot! for the effort!

What about having all the svgs and the lowest res inside the Godot download. than ppl can choose whatever dpi they want (percentage based). The ui gets scaled but the default icons (pngs) are still used and just scaled (not resolution wise just stretched). so they are really low quality (blurred) but the correct size. than the svgs are getting converted to pngs with the correct size the images replaced.

But probably you already have a better idea... (or this approach Is more than obvious) still wanted to share it.

@toger5
Copy link
Contributor

toger5 commented Feb 11, 2017

I made some tests. The conversion to svgs is pretty fast:
average time per icon (tested with all icons) to svgs: (i5 macbook)
10ms to 32X32
11ms to 64x64
13ms to 128x128
and this is for the icons. I guess the theme svgs are even simpler so it should be faster.

@karroffel
Copy link
Contributor

@djrm do you have that theme from the screenshots uploaded somewhere? I'd love to use it, I love the flat design!

@memoryruins
Copy link

What would compliment the new internals of 3.0? A fresh update to the default theme / UI, and this is in a fantastic direction. The ui concept calinou originally linked is incredibly fresh and would still be a great guide for continuing the progress djrm has made.

@djrm
Copy link
Contributor

djrm commented Mar 18, 2017

@karroffel no I'm still working on this, but I've been very busy, also it is no a downloadable theme, it has to be merged in order to be used but im still not convinced about it maybe in a few weeks I will give it another try

@nunodonato
Copy link
Contributor

that visual graph editor looks so hot :D

@reduz
Copy link
Member

reduz commented Mar 25, 2017 via email

@toger5
Copy link
Contributor

toger5 commented Mar 26, 2017

@djrm i guess you also know the huge thread about the ui concept.
they have no borders on the left and right. if you do a pr can u also do that?
I once did that and could show you the changes i made (if that helps)

@djrm
Copy link
Contributor

djrm commented Mar 28, 2017

@toger5 please show me the changes because im not sure what are you talking about.

@toger5
Copy link
Contributor

toger5 commented Mar 29, 2017

@djrm the changes I mean can be seen in this screenshot:

there are no borders on the canvas editor (left right) and also for the other UI elements there are no borders: property editor ...

I tried that too for some UI approches i made:

And i think it looks good

@toger5
Copy link
Contributor

toger5 commented Mar 29, 2017

@djrm I also made the effort now to search for the code of the theme I made.
This was before the time i was comfortable with git... so i needed to push it now.

this is the branch:
toger5@5e97449

I dont exactly know what i did. but you can go through all the changes and decide what u like.
The commented section in line 5288 in editor_node gets rid of the border/margin (i think... maybe i also solved it with some settings in the editor_theme file. You have to try it out)

hope that helps

@toger5
Copy link
Contributor

toger5 commented Mar 31, 2017

As i mentioned some time ago, i have cpp code for convertig simple svgs to png.
Its really fast and could be used for svg as a recource or for the theme.
Two approaches. Generating them once on startup in different resolutions (high low mid dpi).
Or we allow percentage base dpi lvls and the theme pngs get recreated after changing the ui size.
I wanted to know what to do with the code? Where should i implement it...

@toger5
Copy link
Contributor

toger5 commented Mar 31, 2017

I really prefer the colors of the UIConcept. I think I know where you are coming from. the godot editor was using those dark violet like colors for some time now and it makes it stand out from any other editor. But It look kind of washed out for my eyes...
@djrm is there a chance that you will change the color?
what do others think about the colors?

@djrm
Copy link
Contributor

djrm commented Mar 31, 2017

@toger5 yes i will change the colors, in fact i already changed the colors and lost the old purpleish theme, now, the reason for a lighter color scheme is that when using the editor at daytime it i hard to identify things, but currently im looking for a better color scheme that is not too dark any suggestions are welcome.

the current theme looks like this (i dont like it)

screenshot from 2017-03-31 15-40-25

@reduz
Copy link
Member

reduz commented Mar 31, 2017 via email

@reduz
Copy link
Member

reduz commented Mar 31, 2017 via email

@toger5
Copy link
Contributor

toger5 commented Mar 31, 2017

@djrm I really like the new highlight with green only at the bottom.
I still also would try just darker grey.

Although I see the point of making it easier to see it at daylight I'm missing the contrast. maybe you can at least make the background almost completely black

@djrm
Copy link
Contributor

djrm commented Mar 31, 2017

i want the buttons to be like this

screenshot from 2017-03-31 16-09-03

i think there should be another node called FlatButton that does not have a box
an those buttons can be used in this thing
screenshot from 2017-03-31 16-07-11

@toger5
Copy link
Contributor

toger5 commented Apr 1, 2017

@djrm this should be really easy to do with just making a transparent style box. And changing the font of the active style.

@ghost
Copy link

ghost commented May 1, 2017

The logo was refreshed. It's basically the same goofy robot thing. Just looks a bit slimmer.

@cart
Copy link
Contributor

cart commented May 1, 2017

@MakeGodotGreatAgain
Forbid very much means "an order":
screenshot from 2017-04-30 18-20-58

It sounds like you have some valid concerns. Your first post should have had more things like this:

not something with weird colors and buttons that have 25 pixel wide borders.

Also, why cant the current theme work with hiDPI?

Which start a dialogue and are much more actionable than comments like:

those buttons need to be fixed. I'm sorry but they look awful. I forbid and hope juan does not accept anything related to this theme for 3.0

apparently @Calinou thinks "mahh hiDPI" support is so amazing.

which is what the current theme does. stop wasting time and focus on issues that actually matter

Which are mean spirited and disrespectful of the hard work of the people in this thread.

@neikeq
Copy link
Contributor

neikeq commented May 1, 2017

Speaking of the old theme. Is it possible to get it back with the Custom Theme option? Or are there still some parts hard-coded in the code?

@ghost
Copy link

ghost commented May 1, 2017

@MakeGodotGreatAgain That PR is old. The logo will not change but only the slight refresh it was given. The buttons won't stick out that much in the updated theme. I'm sure the new theme manager will give everyone what they want.

@cart
Copy link
Contributor

cart commented May 1, 2017

@MakeGodotGreatAgain: You are right in saying that I called out one other community member for something similar. Tone is extremely important both for both the health of the community as a whole and for you to get your point across. I could have completely ignored your comment (as I'm assuming most would, again due to its tone), but I think there should be a minimum bar for courtesy and I'm pretty sure most people would agree that you crossed it.

You have voiced some valid feedback and I'm sure the people working on the theme appreciate that you took the time to voice it. But it is seriously in your best interest to be diplomatic if you want your voice to be heard.

@ghost
Copy link

ghost commented May 1, 2017

Ok, so since this thread is turning into a bit of a drama, let me chime in. I'm not the kind of person that will hold back on giving shit to someone just because they got badge or whatever (you can ask almost anyone here, I got serious problems with respecting authority) but, sir, it seems like you got personal problem.

I personally like the new theme. A bit on androidish side but I can appreciate that. If you don't like default theme, just go and change it (or wait until I release my sweet creation). If you're the only one not liking it and you don't want to do anything about it, you can go sodomize yourself with a baton.

Also, isn't it's a bit too soon to judge theme by pre alpha state?

@ghost
Copy link

ghost commented May 1, 2017

How is that objectively good whatsoever.

What, the fact that buttons are drawing attention? Well, I have a couple ideas about that.

there is nothing indicating you can click on the tabs adjacent to the active one.

I'm not sure where you live but if you've EVER interacted with ANY UI in past I dunno 3-4 years you should've noticed that. For fuck's sake, even github comment field background tabs don't have anything behind them. I don't see you complaining about that.

i'd rather do that, than use this theme.

Please do that on camera and post on youtube. I'm into some kinky stuff.

are all the unactive tabs just going to be horizontally spaced evenly with no bg/borders

Yes. Look at the reply to see why your complaint is extremely stupid.

@ghost
Copy link

ghost commented May 1, 2017

and? i think github's tabs / ui is horrible and seems like it's still stuck in 2011

And that's why you got a personal problem. Choosing between you (considering your avatar with stale memes you do seem like a person from 2011) and everyone who actually moves with time and wants a slick theme is kinda simple. Spock taught us that much.
Don't like the direction godot is heading towards? Fork it and have fun.

And if you want more examples here are a couple: Apple products, google products, everything windows, a good part of linux desktop environments and a crap ton of proprietary programs.

Theme just follows actual 2017 trends. I'm not sure if you got android 6> in 2011 but you can look at screenshots and see where the inspiration came from.

@ghost
Copy link

ghost commented May 1, 2017

I would never shun you.

@ghost
Copy link

ghost commented May 1, 2017

Have fun being out there. And while you there you might look at some actual design docs https://material.io/guidelines/material-design/introduction.html

That will bring you back to 2017.

@toger5
Copy link
Contributor

toger5 commented May 1, 2017

@MakeGodotGreatAgain First of all thank you for bringing up concerns. That is indeed appreciated.
Although I wanted to NOT comment on your communication I can't help myself.
You are right in almost everything you said. BUT you have to ask yourself the question:
What is it that you want to achieve with your comment. You will come to the result, that it is just not smart to use all your rights (calling things how you think about them) although it might feel appropriate. And I think this thread in particular is a great example where you can learn from. Although you did nothing wrong ppl started to judge you as disrespectful because of the way you phrased your concerns. You started to defend yourself (also your right but not smart) and it resulted in a lot of messages which I HEAD TO READ ;) because I'm (like you) interested in the way the godot theme looks. And in addition to that your points where almost completely overlooked.

It cost you some energy me and a lot of others some time and your points where still not appropriately evaluated.
Although it might be against your personality it is better to respect others work and being polite. It will result in better conversations and makes the community more appealing to work with which than results in higher motivation for the ppl who actually can code and as a consequence in a better Godot engine. (maybe it might even become great as you (judged by your name) might be interested in).

And another point: READ BEFORE COMMENT. I see that I'm asking for A LOT considering the thread length... But it is fair to spend this extra amount of time.
You need to read 40+ comments and than can talk about the issues which haven't yet been solved.
Or all the contributors who read that thread (including ppl who's time is extremely valuable to the engine because they are fast and efficient coders), need to spend time reading your messages not anymore existing topics. (I'm referring to the Extremely saturated button border and the logo).

To sum up: Always evaluate how your comment will affect the behaviour of the community and evaluate if that effect helps you in succeeding whatever you are aiming for!

I know society seems to be extremely backwards but humans are just not objective enough to play the simple game :) so you need to put in some effort to achieve whatever you want to achieve.

back to topic:
@neikeq providing the current theme as an importable theme is cool. Basically the icons are still there. But someone needs to make the effort to convert it into a theme file... maybe we should open an issue for that mark it as a junior task. I can provide an explanation how to do it. So anyone can start working on it. I sadly don't have enough time to do it myself. Some changes are hardcoded (like the gap between docks) but you can almost get it back with a custom theme just some minor "improvements" are hardcoded.

@mcanders I think the approach of a dedicated team for the theme is good but not executable. It is hard to give open source contributors that amount of responsibility. ppl get not payed or similar. so they just do things which they enjoy working on (also answers the @MakeGodotGreatAgain why things which are working get changed) and don't like in the current version soo much that they were willing to spend time on and everybody should be thankful about it ;) djrm recently made the decision to not spend that much time anymore. And this kind of freedom is important to keep motivation up.
Although I like the idea I think the current approach with motivated ppl working on it and getting influenced by the community and getting help from each other is the best approach.

@Zephilinox
Copy link
Contributor

Zephilinox commented May 1, 2017

@riirii theme manager? I was thinking something like that could be achieved without too much work, are you working on it?

@toger5 I'm not a fan of the blue nor of the weird green stuff. I've been messing around with the theme but one issue I'm having is that changing the pngs has no effect, I'm having to replace texture styles with flat styles which isn't ideal. Any idea where I'm going wrong?

tmp_13280-unknown234276883

@toger5
Copy link
Contributor

toger5 commented May 1, 2017

@Zephilinox The pngs have no effect because the paths need to be correct, otherwise they point to the res:// folder which is relative to the current opend project (at least thats the way I understand it)
see also: #8605

to get a deeper understanding checkou this install script

@Zephilinox
Copy link
Contributor

Thanks that explains a lot.

@cart
Copy link
Contributor

cart commented May 1, 2017

@toger5: There are definitely benefits to both approaches. The community driven approach is more organic, encourages more participation, and allows for competition (the good kind), but it is also less focused and competition (the bad kind) could result in some people getting hurt or having their work "thrown out".

Like what if someone else spun up another design thread and spent just as much work as you, @djrm, and @alelepd implementing their own proposal? (sorry if i forgot to mention someone in this thread) Only one design can be chosen and someone will get burned. Who has the final say? Is it @reduz or do the "core developers" vote? A formalized hierarchy and organization structure actually protects contributors and reduces redundant efforts.

Apologies for derailing things, this is well in the realm of off topic. If anyone is interested in continuing this conversation elsewhere, I'm often around on the discord channel under this handle.

@Zephilinox
Copy link
Contributor

@mcanders this is why godot should have several selectable themes instead of just one

@toger5
Copy link
Contributor

toger5 commented May 1, 2017

@Zephilinox we still need one as the default without choosing. One of godots core advantages is the small size so there I doubt ppl will appreciate it being shipped with multiple themes. And installing one requires downloading... point being a lot of ppl will still use default theme

@mcanders I hope that anybody who works on it mentions it to the community (other than me at the beginning ;) )
As soon as someone is willing to organise this kind of group. That wouldn't be a bad approach for sure.
Just monitoring all the ppl currently working on it. And collecting opinions.

@Zephilinox
Copy link
Contributor

Default theme matters a lot less than having some choice. I don't think a megabyte of images per theme is going to make anyone stop using godot, there only really needs to be 3 anyway

@Zireael07
Copy link
Contributor

Two or three themes are highly unlikely to increase Godot's download size enough for it to matter for people downloading.

@SirPigeonz
Copy link
Contributor

Wow. I just came back from trip and new theme in master! :D

NICE! Looks great.
Now only thing left is fixing margins and some dialogs.

@djrm Do you plan to change HTML5 icon? It looks a bit weird being so much orange among white icons :D

@Zephilinox
Copy link
Contributor

@toger5 about the pngs, I'm not understanding how paths are related to this. I'm not using a custom .tres theme, I'm editing the engine source. Am I supposed to place the pngs that are in /scene/resources/default_theme somewhere else?

@toger5
Copy link
Contributor

toger5 commented May 1, 2017

Oh i see. This is how it works: there is a header with all the images as variables in hex (i think).
All the images get converted to vars inside that file on conpile time. I think scons takes care of it so you can just delete the file. And it will het recreated. (not sure anymore) Other option would be that there might be a script which you have to run before compiling to update the header.

@toger5
Copy link
Contributor

toger5 commented May 1, 2017

@Zireael07 so you want multiple thems build into godot. Thats interesting. I alsways had the attitude that the ppl who care enough would also go and download one. But maybe that is indeed wanted.
Ps i agree that the file size argument is not strong at all. I still always try to keep it in mind. We are not where we are because the devs told themselves. "Wont get muuuch bigger if we just add this and that and..."

@Zireael07
Copy link
Contributor

@toger5: They could also be available as (optional) assets but they'd have to be artificially kept in one place to not get lost in the list.

Basically I have no strong feelings regarding either a light or a dark theme, I think there should be a basic theme thing that's then tinted light or dark and made available to end users, so that's two (or maybe) three options for end users.

@Zephilinox
Copy link
Contributor

@toger5 ah I see, thanks, I think I figured it out:

Edit svg to whatever you want
Export them to scene/resources/default_theme, or use /misc/scripts/svgs_2_pngs.py
Go to /scene/resources/default_theme and run make_header.py
Compile & run

@eon-s
Copy link
Contributor

eon-s commented May 1, 2017

@Zireael07 @toger5 as I mentioned before, maybe the (blue) tinted as default and neutral (gray) dark and light as optional, most desktop environments come with light and dark grays as defaults nowadays and could be good to have them too.

@Zephilinox
Copy link
Contributor

@eon-s yeah that's pretty standard, problem is godot doesn't have this functionality right now.

If we get #8604 then changing themes could be as easy as modifying 4 colours in the editor settings.

@akien-mga
Copy link
Member

Alright, this issue is going out of hand, time to stop that derailing train.

I'm glad to see many new names here of people getting involved in discussions, but you all need to know what your place is. As many free and open source projects, Godot is a meritocracy, and the decision goes to those who do the work. If you're never contributed to the project, you can't really burst in and tell every contributor that they're wrong and that you know better - you won't be heard, even if some of your concerns are valid.

Several contributors have been working on a new theme for months, namely @djrm, @toger5, @volzhs, @alelepd and a few others. Godot's core developers liked the WIP and decided that it will be the new visual branding for Godot 3.0, as it's modern and refreshing. Design changes will never please everyone, so it's normal that some prefer the 2.x theme and are annoyed at the change - but don't waste your breath, @djrm's work was a great base for what we want to have as default theme in 3.0, and we'll build upon that, not go backwards.

As I mentioned, what was merged is a work in progress, so it will still be improved. @volzhs already addressed some issues, I see on IRC that @n-pigeon is working on some improvements too - those are the kind of contributors that bring us somewhere. People just ranting about what they don't like aren't, and are likely to be ignored. Instead, implement the changes you have in mind, and make a PR showing how it looked before and how it looks after (especially for all the nit-picking on color choices, we don't really to start doing name calling for something so trivial...).

So if you genuinely want to help, please respect the work that has been done by existing contributors, and try to bring constructive feedback. Make mockups of what you have in mind, or best, implement it and show us the results. It will never be possible to please everyone, but we can find something most of us will be happy with.

I'll close this issue which has become unreadable. Please open specific issues for the various problems that still need to be addressed in the current editor theme (color palette, margins and borders, buttons, etc.), and also of course potential issues that might have been introduced in the default theme used when prototyping games.

And thanks a lot to all those who have worked on the current theme, you did an awesome job :)

@godotengine godotengine locked and limited conversation to collaborators May 1, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests