Krita and Version Control

Cyrille Berger cberger at cberger.net
Wed Sep 5 21:16:07 CEST 2007


On Tuesday 04 September 2007, Schleimer, Ben wrote:
> Hey Cyrille,
>
>   Heres a few ideas about your posting:
> > Undo stack
> >
> > The Undo stack is the most basic version control of Krita, and image
> > manipulation. The biggest problem is that it doesn't allow branching,
> > i.e. whenever the user cancel a change, if he starts
> >
> > something new, then information about the operation he has canceled is
> > lost forever.
>
> If krita's file format saved the undo stack along with the image and layer
> data, it would be possible to "checkpoint" a version. Even better would be
> to have a clean separation of krita into core image layer, commandline
> layer, and ui layer (aka maya). Then krita file format could save all of
> the commands for a particular image (including undos and redos). Then user
> could go back to any point in time for that particular image to do
> comparsions. (like the wikipedia.)
Yes that's a job for action recording 
(http://wiki.koffice.org/index.php?title=Krita/Recording_and_Collaborative_working_Design), 
with one little problem : it's going to be terribelly slow to browse in the 
previous step, as you have to recompute all the steps which led to your 
current image.

> > Duplicating
> >
> > The layer stack offers the possibility to "duplicate" a layer or a group
> > of layer. Comparison is
> >
> > done by hidding and showing alternatively the different groups. Or for a
> > sketch, affecting different visibility to each versions allows to make a
> > comparison.
>
> This is possible now, right?
Well, yes, that's why the section was called "How it is done currently " ;p


> > Saving to different files
> >
> > It's possible to save the image to different files, but then comparison
> > needs to have different instances of Krita.
>
> If krita has MDI functionality, this wouldn't be annoying. Photoshop does
> this fine, why not krita?
Well, in fact, two instances is hardly the problem. When I want to compare two 
images, the best way I have found until now is to have them in two different 
layers, and either play with transparency (works well for drawing) or use 
hide/visible (works well for picture alteration) or use the "minus" composite 
operation to detect which area have the biggest differences. The main 
advantage of this is that when you zoom or pan, both images are alligned.

> > The biggest problems are that there is no easy way to do comparison or
> > merge two versions to
>
> take
>
> > the best.
>
> I doubt that merging is really what you want to do for most images but if
> so, it's easy to copy a piece of image A to a new layer of image B, right?

Well yes, but I had in mind two ideas for this, one which works well for 
drawing and one other for picture retouch:
- drawing, somehow it's probably possible to detect the area of an image which 
are different in the two version and those who are identical (think of the 
seven differences game), and highlight them as rectangles and then be able to 
click on one to chose one or an other version
- picture, imagine you have made a few test of different effects 
(brightness/contrast , sharpness, level) with differrent settings, then in 
the end you have two results you like, one for its sharpness, and one for 
it's color balance, then it could be possible for Krita to automatically 
generate new resulting images using all the possible combination of filter 
configurations (limited to the configuration of those two images)

As you mention it, it is true that version control is allready possible in 
Krita, the goal of that page is also to investigate if it's possible to make 
it even better.

-- 
Cyrille Berger


More information about the kimageshop mailing list