Skip to content

Improvements to be made to the GUI #15

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

Open
ThomasLynn opened this issue Aug 12, 2016 · 16 comments
Open

Improvements to be made to the GUI #15

ThomasLynn opened this issue Aug 12, 2016 · 16 comments

Comments

@ThomasLynn
Copy link
Collaborator

The options that the user can modify are currently in the script, this means it's easy for the user to not know that there are customisable features about the script (as what happened with @Masonrf).

One quick solution might be to have a popup display when the script is ran saying that it is customisable, though this will likely be annoying to a regular user, and they might not notice a new setting added to the script.

Another way of doing it is having the script create buttons. The user can then use these buttons to configure the script. Due to the buttons being in front of the user, it's unlikely they will not know about a feature.
After they have configured the script using these buttons, they can then press the "run script" button which will run the script.
This method has the advantage that all the options are given to the user, without them needing to know how to modify the script. It may also make it easier for the user, for example, tick boxes could be used to change USER_INPUT_SCENE.
This method of user interaction might be annoying, though. Because the Blender GUI is so cluttered with other stuff, and the user has full control over their own GUI, it's hard to find a menu to latch onto that the user will find easily (I recommend adding another tab to the left side of the viewports windows (along side "tools", "create", ect))

I've already created some GUI code, so it shouldn't be too hard to copy and paste that for other uses.

@Masonrf
Copy link
Contributor

Masonrf commented Aug 12, 2016

I would like to also suggest having images or a "video" file such as a gif on the wiki page on GitHub showing what the differences in the settings look like and link the corresponding page to the explanation of the setting on the GUI (I thought about having the images in the proposed GUI itself, but I don't know if its even possible). For some settings, like WATER_SHADER_TYPE, it would be nice to see the differences in the types before you run the script.

@ThomasLynn
Copy link
Collaborator Author

I've made a page on the wiki for water shaders
https://github.com/JMY1000/CyclesMineways/wiki/Water-Shader-Types
Maybe there could be a button in blender that opens that wiki page for reference?

Feel free to contribute to the wiki, if you want to.

@JMY1000
Copy link
Owner

JMY1000 commented Aug 13, 2016

Apologies for not being more active, I've been busy for the last three weeks working on a different project (different GitHub account for non-personal work.) I'll be working on maintaining this project better hopefully up until late August.

@ThomasLynn
Copy link
Collaborator Author

He's not dead guys!

@Masonrf
Copy link
Contributor

Masonrf commented Aug 15, 2016

"Feel free to contribute to the wiki, if you want to."

Ahh, I have a bit to add, but I am unable to edit the wiki at all. How might I go about contributing to it?

@JMY1000
Copy link
Owner

JMY1000 commented Aug 15, 2016

@Masonrf You should now have the ability to edit all code, including the wiki.

@ThomasLynn
Copy link
Collaborator Author

@Masonrf There should be two buttons on the top-right of the scene saying "edit" and "new page". If there isn't, blame @JMY1000 :)

@JMY1000
Copy link
Owner

JMY1000 commented Aug 15, 2016

@ThomasLynn Only contributors have the ability to edit the wiki, so I made him a contributor.

@Masonrf
Copy link
Contributor

Masonrf commented Aug 15, 2016

^^

@Masonrf
Copy link
Contributor

Masonrf commented Aug 16, 2016

@JMY1000 do you want the GUI added to upcoming features?

@Masonrf Masonrf closed this as completed Aug 16, 2016
@Masonrf Masonrf reopened this Aug 16, 2016
@Masonrf
Copy link
Contributor

Masonrf commented Aug 16, 2016

Gosh darn the stupid "close and comment" button why do I always press you instead of just "comment"…

@JMY1000
Copy link
Owner

JMY1000 commented Aug 16, 2016

@Masonrf GUI is already in upcomingfeatures.txt

@JMY1000
Copy link
Owner

JMY1000 commented Aug 16, 2016

The more I look at what's been written for the GUI, the less I think it should be included with the next upcoming release. As useful as it is from the standpoint of a tech demo (seeing that we can implement these technologies into our code), in it's current form, it's simply not very useful from an end user standpoint and doesn't fit with how the script currently is setup to be used: set up options then execute, rather than execute each individual piece. While the second option in by no means invalid, and in fact could be quite useful often, the GUI clashes regardless.

In any case, I believe that the best course of action is to exclude what's been written from the next release. I think we should revert most changes made in @c531072 for the main development branch and instead create a branch off of developer dedicated to working on the GUI. This will allow us to continue to push and release smaller changes without impacting our ability to work on the GUI. I think we should also take a similar approach to restructuring the water shader.

I haven't made these changes yet because I wanted to consult with the rest of the team regarding this.

@ThomasLynn
Copy link
Collaborator Author

I agree with you that it clashes. In its current state it's quite hard to find, and crashes a lot (I think it's a memory error due to me having a small rendered view port when I run the script). If we just remove it, push the script to master, then re-add it, that'll be fine.

I suggest you don't just quickly revert all the stuff done in c531072. We "could" leave the code in there, but comment out the part where it is assigned to Blender's GUI.
Changing def register and def unregister to pass, should work.
c531072#diff-eff090f38cbba489099d81d2fb2808a6R987
I haven't tested this, yet.

If we just comment out these lines, the code should work, but there will be junk code, which might confuse someone if they try to read the code.

@Masonrf
Copy link
Contributor

Masonrf commented Aug 16, 2016

I was already under the impression the GUI wasn't going to be this release. That's more of a "2.0" kind of version honestly. I agree with making a "Bleeding edge" branch, but two branches might be unnecessary.

I'd say it should be fine to just comment it out and add a comment above each commented block about something along the lines of "This feature is a work in progress and will be released in a later version of the script."

@ThomasLynn
Copy link
Collaborator Author

That should be sufficient, yes. I'll go an comment stuff out now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants