KLKen Loinkenlo.hashnode.dev·Aug 12, 2024 · 1 min readWeek 11 recap - Final StretchAs we near the end of GSOC, I'm wrapping things up and getting the code ready for the final review. There's still a rare edge case that happens here and there but overall the new pixel-perfect feature works pretty well and will be usable for pixel ar...00
KLKen Loinkenlo.hashnode.dev·Aug 5, 2024 · 3 min readWeek 10 recap - Final algorithmHere's the relevant part of the new code that I have been working on in kis_tool_freehandhelper::paint : if (m_d->smoothingOptions->smoothingType() == KisSmoothingOptions::SIMPLE_SMOOTHING || m_d->smoothingOptions->smoothingType() == KisS...00
KLKen Loinkenlo.hashnode.dev·Jul 29, 2024 · 3 min readWeek 9 recap - Dealing with sharp cornersSo after filtering out tiny movements and duplicate outputs, the thing left is to look at small corner inputs. Here's the three pointer that I'm working on in kis_tool_freehand:paint: ( Lets say the scenario is that we are drawing a straight line fro...00
KLKen Loinkenlo.hashnode.dev·Jul 22, 2024 · 2 min readWeek 8 recap - Dealing with micro-pixelsSince our main problem up to this point is to deal with the constant micro-pixel calls, we decided to discard all these < 1 pixel movements by filtering out distances of less than 1 pixel before they go down the pipeline in KisToolFreehandHelper::pai...00
KLKen Loinkenlo.hashnode.dev·Jul 15, 2024 · 4 min readWeek 7 recap - vector approachCurrently, I have three separate ideas. First idea is that in kis_tool_freehand where stroke initialization and end stroke exists, we populate a vector, filter out extra points and then take out corner pixels before passing it down. The problem I am ...00