TODO lists
Boudewijn Rempt
boud at valdyas.org
Mon Jan 31 09:11:01 CET 2005
On Monday 31 January 2005 08:17, Boudewijn Rempt wrote:
> On Monday 31 January 2005 01:43, Sven Langkamp wrote:
> > We should really clean up the TODO lists and put everything into one
> > instead of three. It seems like most of the stuff in krita.alpha has been
> > implemented.
>
> I'll do that today -- I took a day off for hacking Krita anyway.
Okay: here's the consolidated & updated list:
Krita TODO
Scaling
- replace calloc and free by new and delete.
- check if memory allocations fail and free the resources if
they fail.
- replace the structs CONTRIB and CLIST by some STL or Qt
container.
- use iterators to access pixels.
- Preview dialog should use KDialogBase
- Decide on more user-friendly names for the scaling algs.
Core
* Channels showing (note that we don't do Gimp-type grayscale
mask channels, just showing/hiding the various color
channels.
* Histogram computations (#Boudewijn)
* 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
* Colorspace-aware difference between pixel function
* Anti-aliased filling (requires some simple colorspace
function to merge 2 Pixels)
* Load/save configuration of everything user-settable.
* 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.
* Lock layers (make inaccessible) See bug #90456.
File Format:
* Save & load actual profiles in .kra files
* Save & load undo information in .kra files
User Interface
* Give color strategies an option page just like tools. Give layers an
option page,
combine both pages to show for layer properties. Color strategies can be
stateful.
* Create brush-shape outline cursor
* All dialogs ui-fied (#Boudewijn, Sven, Casper)
* Implement the following dialogs / widgets:
- Select by color range (#Boudewijn)
- Variations (#Boudewijn)
- Transform (#Boudewijn)
- Gradient (nick from Scribus?)
- Histogram (#Boudewijn)
- Modify curves (nick from Perico)
* Add auto-scroll to canvas while painting
* Add previews to all relevant dialogs. (#Bart)
* Show which tool is associated with which pointer (mouse, stylus, eraser,
other stylusses)
* Allow guides to be disabled. Allow diagonal guides (useful
for perspective drawings)
* Create templates for often-used image formats. Add save-as-template
* Check OASIS file saving.
* Fix gimp XCF import/export (ImageMagick hacking...)
* Fix imports to import metadata and image files in non-rgb encodings.
Dockers
* Tabs in dockers drag-and-droppable (vector of docker
windows, create new docker if tab dropped outside existing
docker window)
* Add bird's eye view tab to dockers.
* Add action (macro) docker
* Add navigation/zoom docker
* Add history docker
* Use OpenGL if available to composite checkerboard with image so
while scrolling the checks can stay in place, and the partially
transparent image move. This maybe needs Qt 4. OpenGL can also be
used to bumpmap images on a height-field canvas.
Profiles
* Add an input profile combobox to the import image & scan dialogs
* Add an export profile combobox to the export image/print dialogs
* Add loading and saving of profiles associated with images in .krita
files.
* Retrieve profiles from imported images (tiff, png and jpg can have
them, for instance embedded by a calibrated scanner).
* Export profiles in tiff, png and jpg (this and the previous item
depend on ImageMagick or GraphicsMagick supporting this in some
way.)
* Support out-of-gamut warning indications for parts of an image
containing unprintable colours (no idea how to implement this). ->
this
is pretty easy with lcms
Color conversions
* Replace QColor with KisColor, where KisColor is a combination of a
byte array and a pointer to a color model
* Add UI for depth choice
* Add UI for display settings for high bit depths -- we have upscale
and downscale, but that's not enough. I want, as in OpenEXR, to be
able to set the lighting stops.
* Add channel-depths other than 8 bits.
* http://www.argyllcms.com may be faster than lcms in some
cases. Investigatge this
Tools
* All tools must have a tool options tab (#Boudewijn, Adrian, Cyrille)
* Implement the following tools:
- Elliptical selection (#Boudewijn)
- Crop (This is a must-have -- tried to do something with Krita
today and had to go to the Gimp)
- Freehand selection (#Boudewijn)
- Polygonal selection (#Boudewijn)
- Continguous selection (magic wand) (#Boudewijn)
- pen(cil) tool (same as brush, but not anti-aliased) (#Boudewijn,
done, except there's still a little ant-aliasing
present, perhaps
dependent on the brush).
- fix airbrush tool (add rate option, add increase
of brush size if kept in one place)
- poly-line tool
- rectangle tool (#Clarence, still some work to with opacity and so on)
- ellipse too (#Clarence, still some work to with opacity and so on)l
- 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 patttern/image selection) (#Cyrille)
- Text tool (use KWord with a transparent background here?)
- Measure tool
- Pan tool (hand)
- calligraphic pen tool
* Pressure sensivitize all relevant tools (e.g. line tool)
* Add resize slider to freehand tools that resizes the mean brush
size.
* Divide the tools in tools and paint ops. Tools are:
freehand, rect, ellipse, curve, text, etc. Paintops are: pen, brush,
filter, erase, select, deselect, airbrush etc.
* Implement path tools
* Calligraphic pen tool
* Sumi-e brush tool
* Natural media tools (chalk, ink, oil, watercolour -- fun!)
Plugins
* As many filters as possible :-)
* Load plugins into registry on Krita startup, instead of on
view creation.
* Rename all plugins to have a krita prefix.
* Move all paintops to plugins.
Modules
* Add color models for LAB, XYZ, HSV etc.
* Finally fix CMYK
* Add Wet & Sticky model (in progress already)
* Implement Curtiss et. al. for watercolour
--
Boudewijn Rempt
http://www.valdyas.org/fading/index.cgi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20050131/a98fe7d3/attachment.pgp
More information about the kimageshop
mailing list