This page is kept as an archive, a new tasklist was created for post GSoC hacking
TODO to the midterm
Fixing the current glitch with duplicated hatching Pressure sensitivity to make lines thicker Adding a mode without sub-pixel precision Making an intuitive GUI to let Pressure sensitivity to make more lines Ability to make crosshatching Enabling pressure sensitivity to create crosshatching
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 settings this 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).
Considering how to approach impasto. Finishing the hatching brush. Fixing small remaining bugs. Intoxicating with yoghurt Heading 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: