Planned changes to assistants coming in 2022 (or later)

Please provide feedback for the Maybe category. In Will do/done are things that I kinda already decided to do, but if it’s a terrible idea, you can still say so, even if it’s implemented, it’s not merged to main Krita yet. Also I still have a few more topics/links to go through to find new features. But if you see that you already mentioned a feature that isn’t on any list here, please in a comment add a link to it (link will be better than repeating it, easier for me to not get lost). I think I gathered most of them, though.

Number F# are just for me, to keep track of the features which I keep in a spreadsheet (not all of them have wish reports etc., so I just numbered them for myself). But you can use them if you want to mention multiple features in your comments.

(Btw I’ll try to create a new Perspective grids improvements topic (to go more in detail and create a coherent design) but I need to finish this one first…)

Will do/done :green_heart:

:white_check_mark: - already implemented (though not necessarily released/ready to release).
:ballot_box_with_check: - implemented, still in MR
:timer_clock: - waiting for something

All assistants :green_heart:

New features:

  • :ballot_box_with_check: F34 Add a button/icon on the editor widget to lock the assistant (Feature Request: Lock Assistants) (Assistants improvements part 3 (07.07.2022) (!1508) · Merge requests · Graphics / Krita · GitLab)
  • :ballot_box_with_check: F61 Trash can :put_litter_in_its_place: :wastebasket: instead of cancel symbol :no_entry_sign: for the assistants (Tiar: you can also suggest other icons, but note that for example just :x: would be confusing). (Assistants improvements part 3 (07.07.2022) (!1508) · Merge requests · Graphics / Krita · GitLab)
  • :white_check_mark: F81 Highlight handle on hover in Assistant Tool
  • :white_check_mark: F96 Remember last used assistant type when closing Krita
  • :white_check_mark: F97 Don’t create an assistant/handle when the user clicked within the editor widget
  • :white_check_mark: F98 Allow moving around the little assistant editor widgets (the one that show up on the canvas). Imgur: The magic of the Internet
  • :white_check_mark: F100 Make Line Tool snap to assistants - MR !1504 Make Line Tool snap to assistants (!1504) · Merge requests · Graphics / Krita · GitLab
  • F6 Allow simple transformations for selected assistants (rotation, scale up/down, see F125 for selecting multiple assistants) - 331790 – Allow simple selection and transformations to krita assistants
  • :timer_clock: F29 Icons for “Show Assistant Previews” and “Show Painting Assistants” - will be done by Animtim, the same person who does all icons in Krita; see ⚓ T15540 Icons needed for the assistants refactor
  • F60 Right-click to undo last handle (seems doable) or something else to stop creating a whole new assistant (note to self: unfinished diff in right_click_removes_last_assistant_handle_unfinished.diff)
  • F70 Make Ellipse Tool and Rectangle Tool work with assistants (incl. like 2pp) (might be difficult to achieve good UX).
  • F80 “Random colors” for assistants: so every new assistant gets a “random color” that is different from previous assistant (can be a list of predefined colors (not customizable), doesn’t need to actually be random), as an alternative to a global color
  • F99 Position of the editor widget should be remembered in the document
  • F125 Implement two ways of selecting multiple assistants at once: block selecting, ctrl+click on the editor widget
  • F112 Remember last used custom color for assistants (it was noticed that the custom color isn’t remembered even if the user creates a new assistant in the same document, and then it’s difficult to get the same color because of that weird color selector)
  • :timer_clock: F120 Change assistant type combobox to buttons with icons and tooltips (depends on F29, F121 (icons) and F7x (merging different types))
  • :timer_clock: F121 “Snap to Assistants” action by default on Toolbar (with an icon, not just text like right now)
  • F124 Make all settings available both before creation and after (incl. Local/not local)

Fixes:

Specific assistants :green_heart:

New features:

  • :white_check_mark: F102 Implement Perspective sensor for Perspective Ellipse
  • :white_check_mark: F103 Don’t use disabled Perspective grids for Perspective sensor
  • F7a Merge Infinite Ruler and Parallel Ruler (make Parallel into an option)
  • F7b Make Concentric Ellipse as an option of Ellipse
  • F5 - Perspective grid should allow for growing and extending the area towards the VPs
    • This could happen on grabbing the edges of the selected Perspective grid, not the side handles, which could still create new grids
  • F104 Perspective grid’s handles on the side should create new grids that still keep the same vanishing points as the original
    • This would happen on grabbing the handles on the sides.
  • F45 Move ellipse along the axis in Ellipse Assistant
  • F46 Change size of the ellipse by changing just one axis in Ellipse Assistant
  • F50 Moving persp. Ellipse to VP 1 or 2
  • F52 Moving persp. Ellipse to VP 3 → while editing VP3, it should show lines from VP3 to the corners and further (though it should allow Vp3 to not exist and just be in 2pp… → needs some UX design)
  • F51 Concentric ellipses in the Perspective ellipse
  • F59 Colored lines for different segments (2pp and Fisheye)
  • F62 Snapping Perspective’s VPs to other Perspective’s VPs, 2pp Vp’s, and VP assistants
  • F68 Shift etc. for Perspective Ellipse on creation, to work like Perspective grid (to allow for perfectly horizontal lines etc.)
  • F85 Move Ellipse assistant along the axis
  • F94 Add more axis to FishEye (Add more axis to the 'fish eye' perspective ruler.)
  • F117 Perspective Ellipse scale up and down remembering about perspective (it’s similar to F51 but this scales the whole assistant, while Concentric option just allows you to create ellipses in any size you want, like Concentric Ellipse assistant vs scaling up and down Ellipse assistant)
  • F118 Perspective sensor in 2pp
  • F131 Make it possible for ellipse to be a perfect circle (possibly also Perspective ellipse but for it, Shift+ clicking should be enough)
  • F133 Perfect squares in Perspective (in grid), and perfect square tetragons in Persp. Ellipse and Perspective grid (I don’t know how to do it yet, I’d need good math for that)
  • F136 Transform tool perspective mode should snap to Perspective and Persp. Ellipse handles
  • F139 Make Line Tool care about Perspective sensor

Fixes:

  • :white_check_mark: NoF Fix thick lines on creating a 2pp assistant
  • :white_check_mark: NoFFix drawing of side control lines in Spline Assistant
  • :white_check_mark: NoF Fix Perspective sensor in Perspective Assistant (it was non-linear before, now it’s correct)
  • :white_check_mark: NoF Fix Perspective grids affecting painting in another document
  • F105 Perspective grids created by dragging the grid’s side handles should have preview lines too
  • :white_check_mark: F130 Fix visibility options for Vanishing Point (already in Krita 5.1)

Technical :green_heart:

  • F20 Solve problem of curves assistants producing straight lines when skipping parts of the curve
  • F22 Fix ellipse having straight line at the beginning
  • F106 Solve problem of selecting the correct assistant when drawing near the horizon line

Maybe/needs feedback :yellow_heart:

All assistants :yellow_heart:

  • F17 Hide painting assistant guidelines for tools that do not use them (right now, everything except for Freehand Brush Tool)
  • F18 Tracking rulers update at <1 FPS when non brush tool (no painting tool) selected. - that should be fixed by F17 (just disabling them altogether)
  • F37 Shortcut to turn off ‘snap to assistants’ for a moment (like V or alt etc. - modifier)
  • F64 Assistant masks or layers (people here: How to improve quick editing/use of assistants? - #11 by Ralek do seem to like the idea though, so maybe I’ll move it to Will do) (Tiar: for me, masks seem to make more sense, like Local Selections are masks, not layers)
  • F79 Auto check „Snap to Assistants” in Tool_Freehand after creating a new assistant
  • F90 Better highlight on the currently selected editor widget (Tiar: the already implemented one looks good to me)
  • F91 Smaller editor widget (Tiar: current one looks good to me…)
  • F93 Sets of assistants as a resource type (you can already export and import them, that would allow managing like normal resources) (that would need Halla’s approval as well)
  • F108 Only be able to edit handles of the selected assistant (select the assistant by clicking on the editor widget) - which will allow for snapping handles together (it would also solve bug 415003 - 415003 – No way to detach node for perspective assistants, when used to separate assistants)
  • F110 Add separate button so visible =/= working/used assistant and invisible =/= not working (Tiar: might be too much clicking, so might not be worth it)
  • F111 Remember last used global color for assistants (David R. said that grey is a good default and there is no need to remember last used global color)
  • F125 Select multiple assistants at once – block selection and ctrl+selection
  • F132 “Assistant docker”

Specific assistants :yellow_heart:

  • F7c Remove Ruler completely (of course old documents will still open, it will just change Rulers into Infinite Rulers)
  • F11 Add a way to measure distance in Perspective (the way Ruler now has divisions, it could have Perspective ones, or there could be another way) (I would need to figure out math to do it, though)
  • F14 No way to detach node for perspective assistants (in very specific circumstances) - 415003 – No way to detach node for perspective assistants (should be fixed if I implement F107 (all joined perspective grids should be one assistant) and F108 (only editing assistants that are selected))
  • F23 Add ruler parallel to the horizon in 2 point perspective assistant (Tiar: I personally have doubts that it’s needed, because in general the 2 vp lines should be responsible for horizontal lines. Line parallel to horizon would be quite… arbitrary)
  • F28 Proposal for a 1-point perspective assistant tool (Tiar: personally I think just adjusting Perspective grid would be good enough)
  • F42 A suggestion for adding auxiliary line (vertical line for Perspective grid) (Tiar: I’m just not sure about it…)
  • F48 Make the inside of an assistant into the selection → meant for Ellipse Ass Tool (Tiar: doesn’t look like a priority, tbh…)
  • F49 Setting up perspective based on camera lens
  • F53 Rulers from the Perspective Ellipse to the VP3
  • F72 Quadratic lines for Spline (just one side handle instead of two) (Tiar: I’m not sure if it’s needed much… if someone does need a perfect quadratic line, they can just put two handles in the same place)
  • F75 Isometric assistant (bigger feature)
  • F95 Different color for preview line for 2pp assistant (possibly also Fish Eye?)
  • F107 Perspective grids created by dragging a handle on the side of the grid should be part of the original grid, not separate assistants
  • F119 When using Perspective grid (if you start drawing inside of it and use snapping), limit the points to those inside the Perspective grid (useful when using Perspective sensor for Size etc.)
  • F128 Snap Perspective horizon to horizon line in 2pp
  • F129 Snap Perspective Vps to horizon lines between Vps (tedious, but should be doable…)
  • F134 Separate number of divisions in Perspective grid for both axes
  • F137 Use color labels for the assistant layer as the assistant color
  • F138 Extend Perspective grid in a specific direction by a specific number of cells rows/columns

Won’t do for now (maybe later) :no_entry_sign:

  • F1 (possibly out of scope/too big for now) - convert vector shapes into assistants - bug 265801
  • F3 Port the clone tool interaction with the perspective grid to perspective assistant
  • F35 Multi-spline assistant - “Vari-line” (Vari-line Assistant Tool) - only because it’s a bigger feature
  • F55 Set up “Perspective Ellipse” in Isometric system automatically
  • F56 Allow snapping to radial lines in Ellipse and Perspective Ellipse
  • F57 Limits on the Ellipse and Perspective Ellipse (Start and End point in degrees)
  • F67 Kinematic Templates (it works a bit like magnetism, but differently, seems useful, but it’s a big feature: Kinematic Templates - YouTube)
  • F76 Fancy radial ruler mentioned here (assistant tool - #26 by TheTwo - bigger feature and not as needed as some other changes, imho)

Won’t do :no_entry_sign:

  • F38 assistant tool – make the editor widgets hideable (Tiar: I made them movable, but I have bigger plans for them so I wouldn’t want the user to be able to hide them; it might also cause confusion in newcommers if the editor widgets would just disappear; being able to move them around will be possibly good enough to solve the problem).
  • F135 Drawing in Perspective grid should draw things further away as underneath

Updates:
01.07.2022 - Add F130-138.
07.07.2022 - Add F139, updated F100 (->done), F34 (MR 1508), F61 (MR 1508)
13.07.2022 - Update F21 (MR 1508)

8 Likes

Definitely looking great so far, just a couple random thoughts I had reading over it:

  • If layer-specific assistants become a thing, the automatic color defaulting to the layer’s assigned color (if there is one) would be nice.
  • A way to ensure or know when an ellipse inside a perspective ellipse is a ‘perfect circle’ might help some. (I prefer using the circle tool and then 3d rotating it, but might be helpful to some if there isn’t already a way I’m missing)
  • When dragging a new grid off from an existing perspective grid, it would be really nice if it tried to follow the current vanishing points. Not necessarily following the same plane like the example. Or if there was an option to do that
  • A way to paste or transform pixels such as a layer, selection, or clipboard image onto an already-defined perspective grid would make me use the perspective grid assistant more.
  • Having brushes draw in perspective on the ‘surface’ of a perspective grid would be amazing.

I don’t think this is mathematically possible? I’m trying to work out how that would even be calculated.

I couldn’t really see this being useful, perhaps even detrimental unless it’s only on the horizon and doesn’t act like a parallel ruler. Then it might be fine for drawing the horizon.

Yes please. Making sure there’s a way to break them off into their own grid would make this nicer too.

1 Like

Do I understand correctly that this is a shift of the grid boundary that does not change the already built perspective?

Please, for the grid assistant, make a custom grid of cells separately along 2 axes, This is a really important part of the assistant - dividing into “equal right-angled” parts.

If I have a certain wall in the photo in perspective, then to divide it into equal cells (for example, “three/five”) I will have to pull the “eight/eight” grid outside the wall, which basically solves the problem… But to replace the division, for example, “three/three” earlier, it would require reallocating the grid. The new function “F5” makes it much easier, but still, I would like to expose the four extreme points of the wall and then split into cells through the docker “Tool Options”.

Another example to place 9 lampposts on the street requires two overlapping grids of “eight/eight”

The improvement of the customgrid could be an additional function - the increment of grid lines with an already exposed perspective. If we draw an analogy between “F5” and “Scale To New Saize”, we get that “λ5” is a “Canvas resize”. In fact, similar controls will be required in the docker “Tool Options”

Awsome, that’s quite a list.

Backspace is also usually used to undo the last created point, but I don’t think it’s used in Krita (could be useful for the Bezier Curve tool).

Might be nice to have a palette/ gradient input so you can sortof control the colours that may be used. Doesn’t have to be too fancy, just a way to get a bunch of colours in that Krita will choose from. Isn’t necessary though.

Maybe press a modifier key so Krita remaps the input to another axis, while drawing a stroke? That is in case it gets too difficult to determine the direction.

Other

  • By the way, is there a perspective sensor on/ off? I don’t know where it is located in the interface. Can be handy for orthogonal drawings (even with the ellipse assistant).
  • Could the button to move an assistant widget and related features still be included for the 5.1 release? :innocent:

Yes please for an assistant docker, I want to use it independent from my layers so I can use them across multiple layers/ groups and don’t need to hunt them down within my layers.

I like this, however I actually think I would prefer a modifier to turn on snapping to assistants temporarily.

I’d prefer not to have this. A lot of the time I just use assistants for visual guidance, I think turning snapping on is better as a conscious choice.

Thiis sounds like a very good idea.

There’s a use case for this where the horizon is not, er, horizontal, but rather tilted in some way. Not sure it’s worth a new feature though, since the parallel ruler can be used for this as well, although it does require setting up separately.

This would be cool, but not a priority IMO. Would require either assuming film back size (35 mm probably) or adding settings for that as well, and when we’re thinking in these terms, we want to have a virtual camera to rotate as well, and…

@tiar I would like to add an item: If I disable snap to assistants, I want to disable the preview for the assistants.


This makes it easier for me to tell whether snapping is on or not.

Also, it could be nice to limit the extent of the preview, e.g. to be within 500px of my cursor, so the red lines don’t extent all the way to the edge of my canvas.

If you do that with the Vanishing Point Assistants, it removes all the radial construction guides, which is the main point of having Vanishing Point Assistants.
You can assign Show Assistant Previews to a keyboard shortcut if you need to do that.

The radial guides you are referring to is another toggle altogether, it’s the “Show painting assistant”.

Assistant Preview Enabled:

Assistant Preview Disabled:

F6, F34, and F60 are going to be absolutely incredible changes. Thank you so much for doing these!

@AhabGreybeard that’s strange, because the Vanishing point does the opposite of 2pth perspective then. It doesn’t have a single dynamic line as widget then as you would expect for the preview functionality. I think that it should become similar to the 2pt perspective in that regard then.

@Hologram Either way, your suggestion would remove a facility that is available at the moment.
If you want to turn off the Assistant Preview then you can assign a keyboard shortcut to it.

That’s not what I mean to do. I should look at the tool tomorrow, I suppose, not at my pc atm. I only want to streamline stuff, not remove functionality.

@AhabGreybeard both “Show painting assistants” and “Show assistant preview” do exactly the same on the Vanishing point, which to me seems to be a bug/ undesigned. You actually need to activate both, unlike the 2pt perspective.

2 Likes

@tiar’s insight and opinion would be very useful here.

We haven’t really used the color labels for layers for stuff like that, so I’m a bit hesitant. (F137, I will add it in “Maybe”).

I’d need math for that. I know it’s a perfect circle with some perspective transformation, but I guess it does include scaling differently in axes, which would make it more of a “perfect ellipse”. I believe it would be enough if I made sure the tetragon is a perfect square in perspective.

That would be also useful for perfect squares in Perspective assistant. I added this as F133.

Talking about math, it would be awesome if someone could point me to some kind of way to determine lengths in perspective.

That’s feature F104, I believe. Though I’m still wondering how to implement it, since I’d like to make it much more possible to create a “room” out of Perspective grids so the new extended grid should be perpendicular to the existing one, not parallel like in your example. But maybe I will be able to implement both of them with some way of switching between them.

Would a transform tool grid snapping to Perspective Grid handles work just as well? (Added as F136, I planned it already but forgot to write it down).

I’m confused what you mean. Do you mean that if you use for example a grass brush, then things drawn further away should be drawn under the things that are near, and all of this should be automatic? If so, that’s a really big feature actually, so I’ll put it in Won't do for now. (Added as F135 just to keep track of things).

Well I meant something very simple, in the Tool Options users could say whether it’s supposed to be 2pp grid or 3pp, and if 3pp, where is the VP for the vertical line. 4pp wouldn’t be supported for now, maybe in the future, and 5pp wouldn’t create a grid with straight lines like that, so no issue there. The same method I’m gonna use for the perpendicular Perspective grids extending from the sides.

Yes.

What do you mean? That the grid should have two separate numbers of divisions for both axes? (Added as F134). If you just mean “user can change the number of subdivisions in the Perspective Grid”, it’s already implemented (it’s a fairly new feature, I’m not sure what is/was the first released version with it). But it’s the same for both axes.

I understand it as Extend Perspective grid in a specific direction by a specific number of cells rows/columns, added as F138.

I don’t think so.

No, sorry, there was a feature freeze some time ago already and I didn’t have an appropriate icon, just some placeholder one :wink:

I don’t think I mentioned assistant docker, but there was a suggestion like that already, I just missed it, I think. Added as F132. However please note that just like selections can be global or local, global assistants will always be a thing even if I implement assistant layers.

Yes, everything is true and to the point.
I’m sorry that I wrote vaguely, I need to express my ideas more concisely. I missed that the custom grid is already in pre-alpha 5.1 thank you!

Mathematically this isn’t possible, there are a near infinite number of valid 3d perpendicular lines to a plane unless a 3rd vanishing point is already defined, which it isnt for perspective grids. You could make an accurate ‘guess’ though.

That would be pretty nice and work for this use case, yeah.

Ah, yeah that would fix the perpendicular math problem.

1 Like

I Sooz Look my suggest !


it’s possible ? Thank You ! :wink:

1 Like