Krita/GSoC2010
< Krita
This page is kept as an archive, a new tasklist was created for post GSoC hacking
Pentalis
TODO to the midterm
Fixing the current glitch with duplicated hatchingPressure sensitivity to make lines thickerAdding a mode without sub-pixel precisionMaking an intuitive GUI to letPressure sensitivity to make more linesAbility to make crosshatchingEnabling pressure sensitivity to create crosshatching
Roadmap:
Finish the GUI containing all the widgets for a finished brush.Finished rc1, Evaluating design.Finish the GUI containing all widgets for a final release; crosshatching will have a prototype simplified interface.Clean all the code: 4 space indentation, use self-explaining long names,change class names to the definite ones,eliminate all chalk brush residuals.Link GUI. Only a window left.Implement the functions described by the GUI, from easiest to hardest or from most important to least important.- (
Most important: Scratch off algorithmnot so important, the algorithm would slow down both development and the user's computer by a huge amount, this may not be implemented;stylus setting sensitivityImplemented;Hard: interval based settingsthis was obsoleted by a discussion in IRCI'm reconsidering this, contrary to what others may think, the need for a DISCRETE list of settings controlled by the GUI is real and not perceived, the tool can only reach its full potential in that way).
Currently doing:
Considering how to approach impasto.Finishing the hatching brush.Fixing small remaining bugs.Intoxicating with yoghurtHeading to sleep after a long day of doing interesting things and learning, see today's commit 00:02, 27 June 2010 (PDT)Linking the last bits of GUI 11:39, 21 June 2010 (PDT)Linking the GUI 05:19, 18 June 2010 (PDT)Learning how to link new GUI widgets to the general config widget: the basic curve dialog and the BrushTip dialog. 07:08, 17 June 2010 (PDT)
Roadmap for Impasto:
Bumpmapping algorithm: Allow multiple light sources.Test point: take a greyscale Krita layer acting as a heightmap and bumpmap it.Create a heightmap-enabled colorspace.Ugly and hacky at the moment.- Bumpmapping algorithm: Allow illumination to work with different color spaces (use simple, hackish, temporary solution).
Test point: take a Krita layer with a heightmap-enabled colorspace, save the impasted projection.Create or patch a paintop to be able to write to the heightmap ("The fifth channel").Heightmap-enabled colorspaces turned out to be something REALLY complex to do, so...- Attach a greyscale paint device to KisImage that works as a height channel.
- Create or patch a paintop to be able to write to this greyscale device.
- Celebrate with champagne when it all works.
Create a basic GUI to let the user control light sources and impasto behavior.- Device a method to allow all relevant paintops to write to the impasto channel (This point may be extended later).
- Pretty Gimmick: Find the perfect heightmap to cause circles to look like semispheres and the impasto settings to make them look like droplets of water or a similar good-looking effect. Ask LukasT to make the spray brush able to create such droplets.
- Bumpmapping algorithm: Speed enhancements.
Optimize cross products.Optimize the algorithm itself.- Optimize colorspace interaction.
Note: When I made this roadmap, I really had no idea of the difficulties I had to face. Speed was really, really important and nowhere in this list I took that into account. Anyway, speed is a solved matter, so here I go:
SPEED