Change of maintainer

Boudewijn Rempt boud at valdyas.org
Tue Mar 9 09:40:12 CET 2004


On Tuesday 09 March 2004 02:52, Sven Langkamp wrote:

> I think we should put up some realistic goals which should be reached for
> alpha state.

We endeavor to give satisfaction... I've whipped up such a list, which is, of 
course, open for discussion, and the individual items are open for adoption:

------------------------------------------------------------------------------

I still think a decent alpha is quite a long way away, but it can't
hurt to think about what we need to do before we're there -- and who
knows, maybe we're closer than I thought. I'm not sure how we can go
about releasing an alpha separately from KOffice, but no doubt we'll
be able to find a formula.

Anyway... This is the feature set I think we minimally need in order
to be able to call Krita an alpha.

UI
	- Session management (restore state of dockers, brushes, 
	  colours, etc.)
	- Brushes, patterns and gradients should always be presented
	  in the same order.
	- Menu options to be consolidated and ordered.
	- Dialogs ui-fied.
	- Preferences dialog (needed to set max undo levels)
	- Krita now considers creating the image upon startup an undoable
	  step; that needs to change, because if you start Krita and
	  close it immediately, you don't want to be asked whether
	  you want to save the empty image.
	- Fix the scrollbars
	- Investigate the issues with zooming; compare Krita zooming
	  strategies to KOffice zooming.

RESOURCES
	
	- Gradients (either Gimp gradients, which was planned, or
	  something better. Should use the ResourceMediator.)
	- Remove the code duplication in KisResourceMediator with 
	  something a little cleverer.

TOOLS

	- subpixel positioning for the Brush tool
	- a Pen tool that does what the Brush tool does now
	- Clone/Stamp tool
	- Airbrush
	- Shapes (Ellipses, Rectangles -- we already have a Line tool)
	- Selection tools (freehand, circle, fuzzy)
	- Smudge/convolve tool (perhaps subsume under a filter tool that
	  can use any filter definition to work like a tool, see Perico
	  for an example)
	- Text tool
	- Support more than one active tool.

IMAGE

	- transform (code is present, but doesn't work, and I don't
	  know why. What I do know is that it's horribly bit-depths
	  and colour-strategy dependent because it's copied from
	  QPixmap.)
	- smoothscale (to be copied from QImage).
	- cut & paste from clipboard.
	
CORE

	- Layers should render onto a generic RGBA buffer before being
	  composited for display.
	- Timer-based redisplay (no explicit notify necessary anymore. 
	  The timer based redisplay should go in KisImage. KisPainter
	  should pass the dirty rects to KisImage, KisImage should
	  start the redisplay for the normalized set of dirty rects
	  every timer event; when it takes to long, cancel the
	  redisplay -- this is also in some measure how the Gimp
	  works).
	- Fix the CMYK colour strategy (important, because that will
	  force us to never hardcode for RGBA).
	- Extend painter with painting/filling with patterns and
	  gradients.
	- Extend the composite ops with support for opacity.
	- Support for channels and masks
	- Audit the core code for 8-bit and rgba assumptions and
	  flag those (or fix, if easy).
	- Remove abort()s.
	
PLUGINS
	- A blur/sharpen plugin is pretty basic, and would help define 
	  the plugin interface more accurately.
	- A red-eye plugin would give us instant happy users.


CODE
	- Remove all unused code so we have a clean slate to continue
	  with.

Notes:

	I think we can stay with 8 bits for the alpha, but we should
	strive for 8, 16 and 32 bits per channel for the 1.0 release. 
	This may well need some redesign.
	 
	An alpha can be buggy as hell, as far as I am concerned, but
	the UI basics need to work, because without a working UI,
	nobody will take the trouble of testing. And for a decent
	test, the basic features need to be there, so we can see
	how they interact, and so people can see what it's going
	to be like.

	KOffice is moving towards the OASIS file format. However, from
	a cursory inspection of the OASIS documents, it doesn't define
	a raster graphics file format. XCF can support everything
	Krita can do right now. I'm not sure whether it can support
	images with a channel depth > 8 bit, but it's no doubt
	extensible. As soon as we have more advanced capabilities,
	like images that support the wet & sticky model, we will have to 
	move beyond XCF. So I propose to retain, for the moment, our
	own file format. It's not terribly urgent until we have something
	that's nearly usable anyway.

Long term plans:

	If we can get these features working relatively bug-free, on
	images with 8, 16 and 32 bits channel depth, I think we have
	enough for a 1.0 release as part of KOffice.

	After that, I really want to start stretching the flexibility
	of Krita's design. There are all kinds of cool things done,
	like Salesin's research on watercolour or the Dab project, and
	I think that there's an opportunity to make Krita into
	something that's unique, instead of being to the Gimp what
	Paintshop is to Photoshop.

Conclusion:

	It may look like a laundry list we'll never get washed, but
	if you look at what's been done since October, I'm not so sure
	we couldn't have an alpha in September.

	On that tack: I wouldn't mind hosting a hack-weekend or
	perhaps a hack-midweek for Krita developers at my place in
	Deventer, the Netherlands, Europe, this summer. If people
	don't mind sleeping on an inflatable mattress, I can easily
	feed and house the entire current Krita team. I can probably
	provide half a dozen computers that run KDE and are networked,
	and a long table to put them on and work at. And history shows
	that a hackathon now and then can really propel a project
	forward.
-----------------------------------------------------------------------------

-- 
Boudewijn Rempt | http://www.valdyas.org/fading/index.cgi


More information about the kimageshop mailing list