Hi all!
I decided to update Radiant-art clipping mod. It was great for start, but i found a few issues and gitches during strokes, and made several changes for features that I always felt missing in Krita.
The full list and description you can find inside the build archive. It contains builds for Win 64, Linux and Android arm64-v8a , diffs and some tips for building ||if you want to check it yourself (there is mistake in win build tips, run build from the _build
directory, not b_krita
)
Changes in short:
- I corrected some glitches and dirty strokes occured with certain layers order, groups, groups pass through mode, overcomposition (extra projections update for the same layer) and for layers with effects, existed in the base Radian-art commit.
-
I have fixed as many glitches and dirt rectangles as i could find and test but I’m not sure everything working fine now. Please test cases what you can imagine, maybe something is still missing. For current limitations and issues read please full description doc.
Glitches are not fixed fully, there is something wrong how the app renders job rects during the stroke process. I tried adding barriers before actual rendering, but this actually doesn’t worked well (it seems render requires barriers too). However, giltches that became PERSISTENT after a stroke should be fixed now (there where many scenarios when dirty rectangles remained visible after a stroke).
-
Inherit Alpha should work as usual and should work with base+clips stacks too.
-
Added clipping for filter layers and pattern (fill) layers. Sad, but clipped filter layers are slower compared to ususal Krita workflow. Layer styles - sadly, but working only for base+clipped layer stack now. I just skip styles for clipped layers now; need to better understand composition rules for them. I’ll look on it later. For now you can add a style to base layer and this will be applied to base layer + its clips.
-
Added redbar indication, as described in posts eralier. It should copy CSP logic for indication of clipped layers, included name shift for clipped layers and greyout for toggled clipped layers. Modified logic for addition new layers, auto clipping for new layers between base and already clipped, and more. (forgot to change clip buttons positions from Radiant build to more consistent, sorry)
-
Disabled “drag-to-order” layer reordering for the visibiliy and selection collumns in the layers docker. I had realy bad experience in Krita when trying to click on layer name to switch on it, then try to click to toggling visbility or selection - and it stared to move layer order then instead of toggling it. I decided to disable any drag to order event from these columns completely! Toggles are for toggling.
-
Added “drag-to-toggle” event for layer visibility column. This is because i have really strong habit from IS and CSP, that I just can’t get rid of it in principle. Same behavior from CSP/IS - just press and drag cursor to toggle many layers with one gesutre. Should work for kinetic scrolling setting both disabled and enabled too (no scrolling over toggle cols, same as the previous change).
-
Added delayed stroke stabilizer. It is working with NONE and BASIC Krita stab. I still haven’t gotten used to the default Krita weighted and simple stabs, completely are differently from how IS/CSP do: Krita stops stroke immidiately and has very strange stabilisation logic.
-
So here I tried to copy behaviour of IS/CSP stabs and i think it work almost similar now. It uses simple delayed stabilizer (similar to smoothing in MyPaint brushes or Dynamic brush, but without mass inertia model), with stroke tapering after releasing pen pressure (hovering pen continues to draw a stroke with smoothly fading last pressure value to zero).
The delayed stroke feature after releasing pen pressure is similar to IS Haraiso or Harai ( [はらい] ) or CSP “Taper” function of stabilizator.
-
-
Description for the option in IS:[はらい]……値を大きくすると、タブレットからペンを離したあとも線が徐々に細くなりながらペンについてきます。
Description for the option in CSP: “Taper Changes the length by which a line is continued when drawn by gradually decreasing the pen pressure.”When the value is large, the line follows the pen by becoming thinner even after the pen is released from the tablet as if it were drawn with a calligraphy brush with long tip.
-
For me this feature create much more natural feel from drawing at low values, giving a sure that “yes, my stroke stops exact where i want!”, that always was missed for me using default stab, and my palm feels much better with it. And of course gives me control for cool options of drawing sorts of calligraphy scribbles and dirty texts.
Taper, Pressure fadings, and stab rates by the cursor speed are customisable, default values for me looks like “5 0.2 5 5 5”. You can set stab value for low and high speeds as described in their tooltips.
-
Also, added stroke combining similar to CSP/IS - a few strokes will be combined into one history entry. You can set wait time for a new stroke. Very useful for excessive hatching work. I found Krita’s history combine is not very handy in this scenario.
-
-
I also fixed a very annoying stroke start and tail bug (fixed with delayed stroke stabilizer enabled only) like these:
How can i fix the instant straight line brush stroke bug?
My brush starts weird -
Added View Mirror Button and Event for vertical axis. Krita has already mirror methods for both axes
(Point KisCoordinatesConverter::mirror(QPointF center, bool mirrorXAxis, bool mirrorYAxis))
, but for uknown reasons they implemented only Horizontal Mirror for view. (Krita has a canvas mirror operation, but it slow and actually mirror canvas pixel map, with writing to a project file and history, this is not ideal).
- So i just added the button and event for overview, toolbar, hotkey, you can mirror view now vertically and horizintally as you wish!
-
Also added additional view control buttons to the Overview docker - rotate, reset rotate, reset view to fit, reset zoom to 100%, zoom out, zoom in. Really missed them compared to IS and CSP, especially for the Android build or display tablets without touch screen. I know they can be set in the toolbar, but that place could be used for other buttons, and Mirror View Button looked very lonely there.
Windows build can show warning window during startup about overwriting krita settings, but this safe, it should not break common settings for your usual krita.
Linux build for some reasons opens saved files with canvas shifted to random place and mirrored, not looking yet but maybe this is occurs only runnig in VM.
For other limitations or known issues look please in differences description file.
If you find any issue let me know about it!