Difference between revisions of "SpecCustomPredefinedFilters"

From Inkscape Wiki
Jump to navigation Jump to search
Line 76: Line 76:
==== Transparency utilities ====
==== Transparency utilities ====


* Channel transparency
* Channel transparency (New)


==== Experimental (needs grouping) ====
==== Experimental (needs grouping) ====

Revision as of 19:47, 5 August 2011

Launchpad Entry: https://blueprints.launchpad.net/inkscape/+spec/custom-predefined-filters

Summary

The goal is to add new custom predefined filters (CPF) with parameters (such as the existing Drop Shadow filter), by using the internal extensions system. It wouldn't be a full high level filter editor (such as https://blueprints.launchpad.net/inkscape/+spec/non-advanced-filters-ui), but just an UI help for creating custom filters based on predefined sets of primitives.

It could also be useful if we wish to reduce the number of predefined filters by grouping them by filter type.

Release Note

Examples can be tested in the trunk, Filters>Experimental menu.

We have started with filters from the color group, but plan to work on some other groups before 0.49 is out.

Rationale

Inkscape now has lots of predefined filters, but doesn't provide a simple UI to create them. Allowing users to modify them afterward would be great too, but:

  • Some high level parameters may be linked to more than one primitive parameter, or even calculated.
  • Applying two filters to the same object merges the filters, and thus makes them difficult to modify afterward.
  • It probably would require new inkscape specific attributes in order to map the available simplified parameters to the primitives ones.

Thus this project focuses on improving the creation of new filters, which is relatively straightforward thanks to the internal extension design.

Design

CPFs are based on the internal extension system, already used to create the Drop shadow, Drop glow and Snow filters (available as of 0.47). CPE are very easy to implement with internal extensions (lots of code specific to filters already exist), very probably a lot easier than with external (inx+py) extensions.

New CPFs can either replace existing predefined filters (when finding the parameters to reproduce it is not too difficult) or be added to the list (very generic CPFs).

Possible improvements

Adding an optional presets list to extensions, so that users can choose between default, user, and other predefined parameters in a drop-down list, would ease the replacement of the current filters (specification needed). The other internal and external extensions would also benefit from such a presets feature.

Adding new extension widgets (horizontal slider) would also make parameters tweaking more handy. (original implementation in revision 10103, and some fixes in the following revisions --JazzyNico 13:10, 16 March 2011 (UTC)).

Filters list

Old static filter name given as comment (if different from the new one).

ABC

  • Clean edges
  • Color shift (new)
  • Diffuse light
  • Feather
  • Matte jelly
  • Noise fill (replaces and improves Noise fill and Noise transparency)
  • Outline (replaces and improves Black outline and Color outline)
  • Roughen
  • Silhouette (replaces and improves Alpha repaint monochrome)
  • Specular light

Blur

  • Blur (replaces motion blurs -vertical and horizontal)
  • Cross blur (new)

Bumps

  • Bump (replaces Color bump, HSL bump, HSL bump matte, Copper and chocolate, Emboss)

Color

  • Brightness (new)
  • Channel painting (new)
  • Colorize (replaces the previous Colorize + Duotone and Sepia)
  • Duochrome (new)
  • Electrize (new)
  • Greyscales (new)
  • Lightness (new)
  • Quadritone (replaces Quadritone fantasy)
  • Solarize (replaces Solarize and Lunarize)
  • Tritone (replaces and improves the existing one with four different types)

Image effects

  • Edge detect

Morphology

  • Cross-smooth (replaces Cross smooth and Smooth edges)

Shadows and glows

  • Colorizable drop shadow (replaces and improves Drop shadow, Drop glow, Inner glow and Inner shadow)

Transparency utilities

  • Channel transparency (New)

Experimental (needs grouping)

  • Chromolitho (new)
  • Cross engraving (new)
  • Drawing (new)
  • Neon draw (new)
  • Poster paint (new)
  • Posterize basic (new)

TODO

  • Existing CPFs need testing and code documentation.
  • Reorganize the existing filters list in order to integrate the new CPFs.
  • Gimp already has lots of CPFs. Let's not reinvent the wheel...

Roadmap

Initial development

From November 2010 to February 2011

Initial filter sets. All the ABC filters and some others of all kind should be available (total: ~20 filters).

Request for comments

February 2011

General presentation on the dev list. Comments are welcome!

Final phase (if the project is widely accepted)

March 2011 -> 0.49

Some new filters, UI consistency (parameters name and behavior), filters grouping...

Discussion