![]() KDE Developer ![]()
|
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.
|
![]() Registered Member ![]()
|
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.. |
![]() KDE Developer ![]()
|
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) |
![]() Registered Member ![]()
|
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. |
![]() KDE Developer ![]()
|
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. |
![]() KDE Developer ![]()
|
from irc:
So we'll draw up a separate UI for infite type rulers. Now the only thing left is interpolation method. |
![]() KDE Developer ![]()
|
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. |
![]() Registered Member ![]()
|
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. |
![]() KDE Developer ![]()
|
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... |
![]() KDE Developer ![]()
|
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. |
![]() Registered Member ![]()
|
Cool! Looking forward to something coming out of this
![]() |
![]() KDE Developer ![]()
|
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 ![]() ![]() Pictured above: The previews for ellipses activating on hovering over their bounding box, while the main shape has been deactivated. |
![]() Registered Member ![]()
|
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. |
![]() KDE Developer ![]()
|
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. ![]() 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. |
![]() KDE Developer ![]()
|
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. |
Registered users: Bing [Bot], daret, Google [Bot], Sogou [Bot]