Bug 447466 - pixel art brush outline showing as a regular circle instead of pixelated circle but "outline shape" setting is set to "preview outline" not "circle"
Summary: pixel art brush outline showing as a regular circle instead of pixelated circ...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Unclassified
Component: * Unknown (show other bugs)
Version: 5.0.0
Platform: Compiled Sources Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2021-12-24 14:16 UTC by chrisjpe
Modified: 2022-03-31 13:45 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
the brush size is 4, shown is what the brush does and the outline it shows when the outline should be the same shape as the pixels (12.60 KB, image/png)
2021-12-24 14:16 UTC, chrisjpe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description chrisjpe 2021-12-24 14:16:40 UTC
Created attachment 144830 [details]
the brush size is 4, shown is what the brush does and the outline it shows when the outline should be the same shape as the pixels

SUMMARY
***
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. switch brush to pixel art
2. 
3. 

OBSERVED RESULT
outline is a regular circle at all brush sizes

EXPECTED RESULT
outline is a pixelated circle that is a square at sizes 1-3 conforming to the grid

SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
recently downloaded krita 5.0 from 4.4.8
Comment 1 Dmitry Kazakov 2022-03-16 09:01:09 UTC
Git commit 467982f53663227c64c305532025ee7cb1cf2f9a by Dmitry Kazakov.
Committed on 16/03/2022 at 09:00.
Pushed by dkazakov into branch 'master'.

Fix brush outline precision for pixel-art

Our auto-brushes use simplified version of the outline for the
performance reasons. That can interfere with the pipeline of
pixel-art artists.

This patch switches the the outline into the precise mode when
the physical zoom of the image is greater than 200%.

The patch also fixes a few issues with hidpi mode: the outline
flickering prevention and pixel grid activatation algorithms used
"virtual" zoom instead of "physical" zoom, which was not too obvious.

M  +2    -2    libs/brush/kis_auto_brush.cpp
M  +1    -1    libs/brush/kis_auto_brush.h
M  +3    -1    libs/brush/kis_brush.cpp
M  +1    -1    libs/brush/kis_brush.h
M  +3    -1    libs/brush/kis_imagepipe_brush.cpp
M  +1    -1    libs/brush/kis_imagepipe_brush.h
M  +2    -1    libs/resources/KoCanvasResourcesIds.h
M  +13   -0    libs/ui/canvas/kis_coordinates_converter.cpp
M  +1    -0    libs/ui/canvas/kis_coordinates_converter.h
M  +1    -0    libs/ui/kis_canvas_resource_provider.cpp
M  +3    -0    libs/ui/kis_zoom_manager.cc
M  +1    -1    libs/ui/opengl/KisOpenGLCanvasRenderer.cpp
M  +6    -1    libs/ui/tool/kis_tool_freehand_helper.cpp
M  +1    -0    libs/ui/tool/kis_tool_freehand_helper.h
M  +1    -1    libs/ui/tool/kis_tool_paint.cc
M  +1    -1    plugins/paintops/libpaintop/kis_brush_based_paintop_settings.cpp
M  +2    -2    plugins/tools/tool_smart_patch/kis_tool_smart_patch.cpp

https://invent.kde.org/graphics/krita/commit/467982f53663227c64c305532025ee7cb1cf2f9a
Comment 2 Dmitry Kazakov 2022-03-31 13:45:43 UTC
Git commit 09886d4f756738eba0f2fab8342921e239b4a804 by Dmitry Kazakov.
Committed on 31/03/2022 at 13:43.
Pushed by dkazakov into branch 'krita/5.0'.

Fix brush outline precision for pixel-art

Our auto-brushes use simplified version of the outline for the
performance reasons. That can interfere with the pipeline of
pixel-art artists.

This patch switches the the outline into the precise mode when
the physical zoom of the image is greater than 200%.

The patch also fixes a few issues with hidpi mode: the outline
flickering prevention and pixel grid activatation algorithms used
"virtual" zoom instead of "physical" zoom, which was not too obvious.

M  +2    -2    libs/brush/kis_auto_brush.cpp
M  +1    -1    libs/brush/kis_auto_brush.h
M  +3    -1    libs/brush/kis_brush.cpp
M  +1    -1    libs/brush/kis_brush.h
M  +3    -1    libs/brush/kis_imagepipe_brush.cpp
M  +1    -1    libs/brush/kis_imagepipe_brush.h
M  +1    -0    libs/resources/KoCanvasResourcesIds.h
M  +13   -0    libs/ui/canvas/kis_coordinates_converter.cpp
M  +1    -0    libs/ui/canvas/kis_coordinates_converter.h
M  +1    -0    libs/ui/kis_canvas_resource_provider.cpp
M  +3    -0    libs/ui/kis_zoom_manager.cc
M  +1    -1    libs/ui/opengl/kis_opengl_canvas2.cpp
M  +6    -1    libs/ui/tool/kis_tool_freehand_helper.cpp
M  +1    -0    libs/ui/tool/kis_tool_freehand_helper.h
M  +1    -1    libs/ui/tool/kis_tool_paint.cc
M  +1    -1    plugins/paintops/libpaintop/kis_brush_based_paintop_settings.cpp
M  +2    -2    plugins/tools/tool_smart_patch/kis_tool_smart_patch.cpp

https://invent.kde.org/graphics/krita/commit/09886d4f756738eba0f2fab8342921e239b4a804