SVG Mesh Gradients
Open, NormalPublic



  • Mesh Gradients on Vector and Paint (Raster) Layers.
  • A way to render Mesh Gradients (Current system doesn’t render them at all).
  • Tool to create and edit Mesh Gradients.
  • A way to save and export Mesh Gradients in both vector and raster file formats.
  • Vigorous tests cases to verify that it matches the standard.
  • User documentation for the tool.


June 1 - June 14:

  • Adding support for meshgradient elements in SVGParser. SVG being an XML-based format, this should be a trivial task.
  • Unit tests to test the parser, by adding test cases to TestSvgParser.
  • Blog about the progress.

June 15 - July 19:

  • Writing SvgMeshGradientHelper, SvgMeshArray, SvgMeshPatch to render SVGs on canvas
  • Writing the renderer for rendering Mesh Patches.
  • Benchmarking and profiling to optimize it.
  • Documenting the renderer.
  • Update community wiki for the First Evaluation.
  • Blog about the progress and once this major milestone has been completed.

July 20 - August 3:

  • Updating SVG writer classes. So Krita can save Mesh Gradients as SVGs.
  • Testing the SVG writer.
  • Update community wiki and complete the Second Evaluation.
  • Blog about the progress.

August 4 - August 24:

  • Writing the UI for the mesh tool. (E.g Tool Options Docker, on Canvas Bézier curves).
  • Updating KisGradientPainter to include the new gradient type.
  • Documenting the Mesh Gradient Tool.
  • User Testing based on user feedback and surveys.
  • User Manual.
  • Blog about the new tool.

Related Objects

Mentioned In
R37:489fe5295bf5: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:8fa86a5df561: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:5cde82f619ec: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:10d9f102fb53: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:5d5e32d0df42: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:a60008e42518: Send SvgMeshGradient from SvgParser to KoMeshGradientBackground
R37:c72e842045fb: Add copy constructors to SvgMeshArray and SvgMeshGradient
R37:e39c9a8a9cf7: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:960cf803ca16: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:451edea1a7a3: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:7c8c06bd5651: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:5fd85d10b96d: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:cf3399d30032: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:916858c36edc: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:3b2a231a17ae: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:1a95d5c032f0: Merge branch 'sh-zam/T13101-svg-mesh-gradients' into 'krita/4.3'
R37:e6556632eaed: Fix the unit test for incomplete paths in a meshpatch
R37:8d24dcc8cdba: Add unit tests to test the meshpatch shape
R37:3c8586f64d4e: Add parser for parsing `meshgradient` SVG element
R37:4c04fc0b57b1: Create KoPathShape from meshpatch stops
sh-zam created this task.May 6 2020, 11:21 AM
sh-zam triaged this task as Normal priority.
sh-zam removed a subscriber: Krita.