<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.kde.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.6"
          urlbase="https://bugs.kde.org/"
          
          maintainer="sysadmin@kde.org"
>

    <bug>
          <bug_id>335834</bug_id>
          
          <creation_ts>2014-06-05 12:56:37 +0000</creation_ts>
          <short_desc>Weighted smoothing should be screenspace-proportional</short_desc>
          <delta_ts>2014-06-06 12:17:54 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>2</classification_id>
          <classification>Applications</classification>
          <product>krita</product>
          <component>Usability</component>
          <version>git master (please specify the git hash!)</version>
          <rep_platform>Arch Linux</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>NOR</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jonathan Ringstad">jwringstad</reporter>
          <assigned_to name="Krita Bugs">krita-bugs-null</assigned_to>
          <cc>dimula73</cc>
          
          <cf_commitlink>http://commits.kde.org/calligra/5111f3feb003b5e052201b0115a424d5237a8423</cf_commitlink>
          <cf_versionfixedin></cf_versionfixedin>
          <cf_sentryurl></cf_sentryurl>
          <votes>0</votes>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1453418</commentid>
    <comment_count>0</comment_count>
    <who name="Jonathan Ringstad">jwringstad</who>
    <bug_when>2014-06-05 12:56:37 +0000</bug_when>
    <thetext>Currently, the weighted smoothing tool takes a distance as value, which is interpreted as canvas-space distance in pixels. This feels awkward for a few reasons; 

- when zooming in and out, you get different amounts of smoothing, making it difficult to create e.g. consistent lines while working at different zoom-levels
- when working with canvases of different size (e.g. prototyping part of a composition in a smaller document) you get different amounts of smoothing
- when switching between working on different resolutions (e.g. 128x128 pixelart vs. 2048x2048 HD-art) you get completely different results, so you can&apos;t just say &quot;40 is my favourite value for doing line-work&quot;
- the current way things work is inconsistent with the new stabilizer mode which is resolution-independent (time-based smoothing)

I think the intuition behind smoothing is that &quot;it&apos;s like having an extra weight added to your hand to smooth out your hand-movements&quot;, so to the user it is most intuitive that smoothing is something that happens &quot;to his input&quot;. Hence I don&apos;t think it should be proportional to canvas-space, but proportional to screenspace (which should always be proportional to the users hand-movements, unless he remaps his tablet)



Reproducible: Always

Steps to Reproduce:
1. Create 2048x2048 canvas
2. Set weighted smoothing tool to some high value (e.g. 1000)
3. Draw some lines (they should get nicely smoothed out)
3. zoom in to e.g. 500%
4. It&apos;s now basically impossible to make any fine lines because the smoothing tool smoothes your lines 5 times harder than it did when at 100% zoom.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453516</commentid>
    <comment_count>1</comment_count>
    <who name="Dmitry Kazakov">dimula73</who>
    <bug_when>2014-06-06 04:19:39 +0000</bug_when>
    <thetext>Hi, Jonathan!

Thanks for your report! Your suggestion looks quite reasonable. I think we&apos;ll implement it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453592</commentid>
    <comment_count>2</comment_count>
    <who name="Dmitry Kazakov">dimula73</who>
    <bug_when>2014-06-06 12:17:07 +0000</bug_when>
    <thetext>Git commit 555b20efdbc1f672984b567276358c41ccba4844 by Dmitry Kazakov.
Committed on 06/06/2014 at 12:16.
Pushed by dkazakov into branch &apos;krita-testing-kazakov&apos;.

[FEATURE] Added a Scalable Distance option to Weighted Smoothing

Now if you activate &quot;Scalable Distance&quot; option for a brush tool,
the distance will be corrected to your current zoom level. It means
that your stylus will be &quot;stabilized&quot; the same way at any zoom level
you choose.
CCMAIL:kimageshop@kde.org

M  +19   -0    krita/plugins/tools/defaulttools/kis_tool_brush.cc
M  +5    -0    krita/plugins/tools/defaulttools/kis_tool_brush.h
M  +6    -0    krita/ui/canvas/kis_coordinates_converter.cpp
M  +1    -0    krita/ui/kis_canvas_resource_provider.cpp
M  +2    -1    krita/ui/kis_canvas_resource_provider.h
M  +10   -0    krita/ui/kis_config.cc
M  +3    -0    krita/ui/kis_config.h
M  +6    -0    krita/ui/kis_zoom_manager.cc
M  +6    -0    krita/ui/tool/kis_resources_snapshot.cpp
M  +2    -0    krita/ui/tool/kis_resources_snapshot.h
M  +12   -0    krita/ui/tool/kis_smoothing_options.cpp
M  +3    -0    krita/ui/tool/kis_smoothing_options.h
M  +7    -1    krita/ui/tool/kis_tool_freehand_helper.cpp

http://commits.kde.org/calligra/555b20efdbc1f672984b567276358c41ccba4844</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1453593</commentid>
    <comment_count>3</comment_count>
    <who name="Dmitry Kazakov">dimula73</who>
    <bug_when>2014-06-06 12:17:54 +0000</bug_when>
    <thetext>Git commit 5111f3feb003b5e052201b0115a424d5237a8423 by Dmitry Kazakov.
Committed on 06/06/2014 at 12:16.
Pushed by dkazakov into branch &apos;master&apos;.

[FEATURE] Added a Scalable Distance option to Weighted Smoothing

Now if you activate &quot;Scalable Distance&quot; option for a brush tool,
the distance will be corrected to your current zoom level. It means
that your stylus will be &quot;stabilized&quot; the same way at any zoom level
you choose.
CCMAIL:kimageshop@kde.org

M  +19   -0    krita/plugins/tools/defaulttools/kis_tool_brush.cc
M  +5    -0    krita/plugins/tools/defaulttools/kis_tool_brush.h
M  +6    -0    krita/ui/canvas/kis_coordinates_converter.cpp
M  +1    -0    krita/ui/kis_canvas_resource_provider.cpp
M  +2    -1    krita/ui/kis_canvas_resource_provider.h
M  +10   -0    krita/ui/kis_config.cc
M  +3    -0    krita/ui/kis_config.h
M  +6    -0    krita/ui/kis_zoom_manager.cc
M  +6    -0    krita/ui/tool/kis_resources_snapshot.cpp
M  +2    -0    krita/ui/tool/kis_resources_snapshot.h
M  +12   -0    krita/ui/tool/kis_smoothing_options.cpp
M  +3    -0    krita/ui/tool/kis_smoothing_options.h
M  +7    -1    krita/ui/tool/kis_tool_freehand_helper.cpp

http://commits.kde.org/calligra/5111f3feb003b5e052201b0115a424d5237a8423</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>