Updated TODO

Boudewijn Rempt boud at valdyas.org
Mon May 31 09:57:12 CEST 2004


Here and in CVS, a new and update TODO for Krita:
Krita TODO

This it the TODO list for the first release of Krita, which I hope we
will be able to make in September or October. This release will be limited
to 8-bit per channel and one, or at most two working color models (RGBA 
and CMYK). (XXX: bitmap and grayscale, too? I don't think there's any
urgency for indexed images like gifs.)

The very first thing that's needed to at least enable me to use Krita
to maintain the Krita screenshots page is screenshot and scale :-).

Core

	* Discontinuous selections (A byte-map mask for a whole image)
	* Channels
	* Histogram computations
	* Adjustment layers (Layers that dynamically apply a filter to
	  the layer they are linked to, these do not store actual
	  image date, except for an occasional mask)
	* Mask layers
	* Loading and saving of selections
	* Painting of gradients
	* Fill with pattern
	* Non-rectangular fill
	* Load/save configuration of everything user-settable.
	* Add filtering with image kernels (3 * 3 blocks of pixels)
	* Scaling of images
	* Fix composite ops (nick from the code gwenview nicked for
	  the xcf import)
	* Make toolbox look like Karbon's toolbox, but follow the
	  layout of photoshop's toolbox for minimum confusability.
	* Add create image from screenshot.

User Interface

	* All dialogs ui-fied
	* Tabs in dockers drag-and-droppable (vector of docker
	  windows, create new docker if tab dropped outside existing
	  docker window)
	* Show/Hide rulers
	* Implement the following dialogs / widgets:
		    - Select by color range
		    - Variations
		    - Transform
		    - Gradient (nick from Scribus?)
		    - Histogram
		    - Modify curves (nick from Perico)
	* Add history docker
	* Two cursor modes: precise (a cross-hair), and beginner
	  (image cursor of the current tool)
	* Add auto-scroll to canvas while painting	  
	* Full-screen mode
	* Add previews to all relevant dialogs. (XXX: let preview work
	  on rendered QImage, or on scaled image?)
	* Allow an active tool for every pointer present in X.
	* Remove: current tool properties dialogs

Tools

	* All tools must have a tool options tab
	* Loading and saving of tool state
	* Implement the following tools: 
		    - Elliptical selection
		    - Crop
		    - Freehand selection
		    - Polygonal selection
		    - Continguous selection (magic wand)
		    - pen(cil) tool (same as brush, but not anti-aliased)
		    - fix airbrush tool (add rate option, add increase
		      of brush size if kept in one place)
		    - poly-line tool
		    - rectangle tool
		    - ellipse tool
		    - polygon tool
		    - color changer, smudge tool,sharpen tool, blur
		      tool, dodge tool, burn tool, sponge tool (These
		      last are perhaps more generally: painting with
		      filters tool)
		    - stamp tool (paint with pattter/image selection)
		    - Text tool
		    - Measure tool
		    - Pan tool (hand)
		    - Gradient tool
	* Pressure sensivitize all relevant tools (e.g. line tool)
	* XXX Make tools plugins?


Plugins

	* As many filters as possible :-)
	* Fix filters to use current image, instead of first image in
	  the document.

I think we should then fork into a stable, bugfix branch and a
development branch. For the development branch, I propose the
following:

Core
	* Add bit-depth independence
	* Completely hide data storage backend from the code behind
	  iterators.
	* Add color models for LAB etc.
	* Make pipe brushes pay attention to parasites

User interface

	* Add action (macro) docker
	* Add navigation/zoom docker
	* Add scriptability 
	* Add third cursor mode:  outline of current brush
	* Rethink document model (perhaps add dynamic links between images)
Tools

	* Implement path tools
	* Calligraphic pen tool
	* Sumi-e brush tool
	* Natural media tools (chalk, ink, oil, watercolour -- fun!)

A much shorter list, much harder  TODO's :-).


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



More information about the kimageshop mailing list