A first part of the layers/masks patch

Boudewijn Rempt boud at valdyas.org
Sun Sep 27 11:26:41 CEST 2009


On Saturday 26 September 2009, Dmitry Kazakov wrote:

I'll just summarize point by point, I guess:

* original() vs paintDevice: ok.


> Yes, i can't reproduce it either now. I'll take a look at it. I always get
> empty dst device. Maybe the reason is that i pass it NULL selection?

Shouldn't make any difference.

> Well, the build and they run. But there are some fails. Most of them are
> connected to a design.

Hm -- can you give a list of those? And they need to be fixed, of course.

> Well, i'm going to write a todo list, so shortly now:
> 
> The refactoring will contain three patches.
> 1st: Fixes masks and introduces needRect/changeRect infrastructure for
> layers/masks.
> 2nd: Creates bottom-up recursive update strategy that works with
>  need/change rects
> 3rd: Using information, collected by new update strategy, creates an
>  "update scheduler", that ensures that no two threads use the same rect at
>  the same time.

Ok. But please aware that we're working towards a final release, so we're 
completely running out of time now: we need the projection fixed or we cannot 
release. Let's not waste time on side issues like the what-is-a-mask question, 
or whether there are too many or too few kactions declared. All that is 
completely unimportant compared to not being able to load a file anymore 
because KisProjection broke, and given the work you're doing now, nobody else 
can try and fix that issue, so that needs absolute focus.

> And only after the third patch projection will not have flickering anymore.
> The pyramid (more exactly, KisCanvas2) will use the same scheduler for
> threading scaling.

I'd even say that flickering is unimportant compared to actually having the 
image on screen.


> Not really =(

This is a matter of opintion, and I don't think it's fruitful anymore to 
debate this now, we need to get Krita ready for the next release.


re: layerbox d&d

> I don't think so. Doesn't it have an ability to control where we can drag
>  an item to?

That was our conclusion last time we tried to fix it. It's not a release 
blocker.

> > > [some design bugs]
> > > g) KisNodeManager::allowAsChild uses some silly string comparison
> > > algorithm. Why?! Every node has a specially designed method for this!
> >
> > Because that predates the newer method? You have to realize that the
> > Krita code is about 10 years old. You will find historical artefacts all
> > over the place.
> 
> Cleaning?

Yes, cleaning up is important. However, don't go around calling everything 
"design bug" all time :-).

> > No, they aren't. The gui in the layerbox defers to the nodemanager for
> > the executions of the user actions.
> 
> It breaks KAction paradigm. I've written about it before.

Sort of... I don't care much. I care that ultimately the same code is called. 
But it's also not a release blocker.

-- 
Boudewijn Rempt | http://www.valdyas.org


More information about the kimageshop mailing list