This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Assistants: UI help needed.

Tags: None
(comma "," separated)
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Assistants: UI help needed.

Sun Sep 21, 2014 1:09 pm
Okay, so I am still finishing up my work on the colour sliders(if you have tried them out, you may have noticed they are pretty fickle), and I actually have been motivated to fix them up due me wanting to start working on another part of Krita: The assistants.

Rather, I had some pretty good ideas for the perspective assistant.

Eventually, I went and wrote up a little document with all the ideas for the assistants I had(that were vaguely in my capacity). However, in certain cases, I am just not sure what the UI would be like:

Link to Todo list.

Specifically, the Parallel/Infinite line ruler is mystifying me on how I should solve it.

My focus is Preview, Vanishing Point Assistant and Parallel/Infinite line assistant. (As those are the basis needed for perspectives ;) )
Everything under Pie in the Sky ideas are on the backburner.

Last edited by TheraHedwig on Wed Nov 05, 2014 4:35 pm, edited 1 time in total.
User avatar
Animtim
Registered Member
Posts
259
Karma
0
OS

Re: Assistants: UI help needed.

Sun Sep 21, 2014 1:40 pm
So the few notes I told you on IRC :

I think what's missing much more than snapping preview is a way to enable/disable assistants on the fly, because now we can't really have overlapping assistants as they kinda conflicts each others.. this issue is amplified when you disable the limits of the grid assistants, but is actually already an issue without that ;)

When drawing a scene, you always need several overlapping complementary perspective grids. The only way to store/remove/reuse them now to workaround this is by saving each assistant in a separate file, delete it, create new ones, repeat, and juggle with assistant files.. that is of course not convenient nor productive.

I still think the best way to handle this would be to have some new "assistant-layer", where each assistant would be be well separated on each assistant-layer, with toggles for activation and visibility. and maybe a rule that an assistant can be active only on layers below, and/or only in current group layer..
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Sun Sep 21, 2014 1:50 pm
Animtim wrote:So the few notes I told you on IRC :

I think what's missing much more than snapping preview is a way to enable/disable assistants on the fly, because now we can't really have overlapping assistants as they kinda conflicts each others.. this issue is amplified when you disable the limits of the grid assistants, but is actually already an issue without that ;)

When drawing a scene, you always need several overlapping complementary perspective grids. The only way to store/remove/reuse them now to workaround this is by saving each assistant in a separate file, delete it, create new ones, repeat, and juggle with assistant files.. that is of course not convenient nor productive.

I still think the best way to handle this would be to have some new "assistant-layer", where each assistant would be be well separated on each assistant-layer, with toggles for activation and visibility. and maybe a rule that an assistant can be active only on layers below, and/or only in current group layer..

Yeah, I mention the assistant layer at the end, but I am not 100% sure if that is within my skill to begin with.

Otherwise I'd be all for assistant layers.

However, I did think we would want to have preview turned off for particular assistant, and this would also be at the same time, disabling that assistant all together.

I was thinking of a little button that resembles a lightbulb that hangs out next to the delete button, or something.

As for the complementary grids: I hope to dcrease the amount of grids needed by just making a vanishing point assistant.
Then, for a 1-point perspective, you'd use 1 vanishing point and two parallel line rulers.
For a 2 point perspective, 2 vanishing points, one parallel line ruler.
For a 3 point perspective, 3 vanishing points.

And then you can add extra vanishing points to aid with aditional vanishing-point needs. (Such as grids, you can make good use of extra vanishing points in drawing grids)
User avatar
Animtim
Registered Member
Posts
259
Karma
0
OS

Re: Assistants: UI help needed.

Sun Sep 21, 2014 3:09 pm
I wouldn't link visibility and activation of assistants, as for some case it's useful to have an assistant activated but hidden.

As for vanishing-point assistant, yes that would surely be easier to use than current 4-point perspective grid.
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Sun Sep 21, 2014 3:42 pm
Animtim wrote:I wouldn't link visibility and activation of assistants, as for some case it's useful to have an assistant activated but hidden.

As for vanishing-point assistant, yes that would surely be easier to use than current 4-point perspective grid.

No, I mean preview and assistant activation linked. I am not so font of the bulky assistant either, so we still can use the 'hide-assistants' for that.

Yes, I thought so too. There's still usecases for the perspective grid, (as it is a perfect perspective deformed plane), but it'll need some polish.
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Tue Sep 23, 2014 9:23 am
from irc:

Wolthera 10:54:01
Animtim_: The problem with parallel rulers is not just infinite vs parallel vs both, but also: What happens if you start combining it with other rulers?
Animtim_ 10:56:37
Wolthera: ha right I see ..
Wolthera 10:59:27
For the infinite/parallel/both we could technically have a toggle or a separate tool. But in the case of separate tool how would it react when connect.
Or should infinite versions be unconnectable?
Animtim_ 10:59:41
I think parallel-lines assistants should be different from current ruler line, should appear as an infinite line with a handle somewhere to drag and rotate it..
Wolthera 10:59:51
I see.
Animtim_ 10:59:55
so yep should not be "connectable"
where it gets tricky is if we want the same thing but with curves instead of straight lines
Wolthera 11:04:20
Yes
Which is why I have curves set to the long term.
Because curves get extremely complex.
Animtim_ 11:04:53
indeed


So we'll draw up a separate UI for infite type rulers.

Now the only thing left is interpolation method.
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Sat Sep 27, 2014 2:42 pm
Adding this as refference: http://colorathis.wordpress.com/2014/03 ... ssistants/

Many things here have been mentioned there as well.

In the meantime, I'm familiarising myself with the relevant code:
Painting assistants seem to be broken up in two parts. On one hand there's the assistants in in the plug-ins, and on the other there's the base code in krita/ui. Then there's actual snapping in the freehand-tool-helper.

Today I made a turn-off-snapping-button(view):


It works pretty well, though I can't figure out how to prevent new assistants from getting created as I use it...
Next up will be previewing.

Edit:
I'll put this here for remembrance.
Basically, the snapping to assistants system in Krita works as follows:
When the brush is set to snapping, it'll ask Krita for the closest point of an assistant. Krita then goes through the list of available assistants, and compares these to find the closest point to snap to. I made a boolean and a little toggle to set that boolean. If the assistant does not have that boolean set to true, it'll be ignored when it's turn comes in the list of assistants Krita searches for the closest point.
Thus, it can not provide a snapping point.
User avatar
scottpetrovic
Registered Member
Posts
520
Karma
4
OS

Re: Assistants: UI help needed.

Sat Sep 27, 2014 6:29 pm
I like the parallel/infinite idea a lot!

It seems like the goal of this feature is to help artists constrain their strokes to certain angles. I could see this be nice for isometric drawings or perspectives drawings where one vanishing point is nearly straight.

If I was doing a UI for this, I would actually roll these changes an "enhancement" to the ruler aid. Rulers are usually made for creating straight lines, so I think it would fit nicely there.

I would first start with changing the way the ruler is displayed. This is how the ruler assistant would work:

1. Person clicks the Ruler assistant editor
2. Person clicks on the canvas somewhere (aid is set to ruler)
- wherever they click will create a line that is completely vertical. The line will go from the top of the canvas to the bottom (the same as the new mirror aids on the toolbar display).
- there will be a control to move the ruler, rotate it, or delete it
- the ruler will "always" be infinite
3. When ruler is active (either by clicking the move or rotate tool), a setting will appear in the tool options
- new checkbox: "Constrain all strokes to angle"

If the person wants to create another ruler aid, they can just click the canvas again and another assistant will appear.

If you had two different rulers on the screen, it might look something similar to this:
http://www.scottpetrovic.com/uploads/kr ... -guide.jpg

Does that make sense. I think I understand what you are going for.
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Sun Sep 28, 2014 10:08 am
Yes, that UI is exactly what I would go for now.
However, I am not sure if I wanted to have a separate checkbox for constraining all angles. That seems to be redoing too much work? (because I would have to change a lot in the painttool for that, and ideally you would confine this in the plug-ins for assistants... We'll do some experiments :) )

However, I need to figure out how to do this proper, as the assistants are set up differently internally(it expects two points), but I was thinking of a very similar UI for this one at the least...
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Sun Sep 28, 2014 11:37 am
Alright, I was working yesterday on a proof of concepts for the previews, but I am having trouble getting cursor position right, so now it only works in full-screen mode:



and


Highlights: No erasing & snapping.

I've only had trouble with myself blocking my own view of the cursor, but other than that minor problem it works pretty well.
User avatar
Artmessiah
Registered Member
Posts
143
Karma
0
OS
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Fri Oct 10, 2014 7:21 pm
Alright, an update on this:

I managed to find the solution to my cursor problem, which is great, because due to that I managed to finish my previews-patch. It's up for review now(which means that the senior programmers get to tell me my code is a mess and I should clean it up ;) ) : https://git.reviewboard.kde.org/r/120505/


Pictured above: The previews for ellipses activating on hovering over their bounding box, while the main shape has been deactivated.
User avatar
scottpetrovic
Registered Member
Posts
520
Karma
4
OS

Re: Assistants: UI help needed.

Fri Oct 10, 2014 11:29 pm
Cool!

I tried out the patch. Being able to disable specific drawing assistants is a good idea. Functionally I think it is working perfectly.

Visually, I am not sure if it communicates as strongly as it could as being "disabled". The eye icon is a "visibility" icon, so it doesn't communicate to me that the aid is disabled. Just invisible - which it isn't.

Would it be possible to make the "disabled" effect communicate better. Here are a couple of ideas for improvement:
1. Use a checkbox instead of an eye (make sure you can see the box if the checkbox is disabled).
2. remove the re-size handles for the aid if disabled. If it is disabled, resizing becomes irrelevant.
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Sat Oct 11, 2014 10:56 am
scottpetrovic wrote:Cool!

I tried out the patch. Being able to disable specific drawing assistants is a good idea. Functionally I think it is working perfectly.

Visually, I am not sure if it communicates as strongly as it could as being "disabled". The eye icon is a "visibility" icon, so it doesn't communicate to me that the aid is disabled. Just invisible - which it isn't.

Would it be possible to make the "disabled" effect communicate better. Here are a couple of ideas for improvement:
1. Use a checkbox instead of an eye (make sure you can see the box if the checkbox is disabled).
2. remove the re-size handles for the aid if disabled. If it is disabled, resizing becomes irrelevant.


I see what you mean.

Checkbox might be a wee bit too generic, but it should be noted I could put ANY icon(s) there. So if someone feels like designing. :p

I do not fully agree with removing the handles. The icon only turns off snapping, and we already have people be annoyed they can't manipulate hidden layers.
User avatar
TheraHedwig
KDE Developer
Posts
1794
Karma
10
OS

Re: Assistants: UI help needed.

Wed Nov 05, 2014 4:39 pm
Little update: I changed the google docs to be a KDE kanban board(not too dissimilar to a Trello board). This was mostly to test how to move away from google docs. Check it out if you will :)

PS: The previews have been merged. When I get access to assistants in MVC I might start developing again, but now I am mostly poking MVC a lot.


Bookmarks



Who is online

Registered users: Bing [Bot], daret, Google [Bot], Sogou [Bot]