-
Notifications
You must be signed in to change notification settings - Fork 6
Change Log & Roadmap
- new Tablet pressure sensitivity for Huion/Wacom via WinTab
- new Manage custom brushes
- new Canvas rotation
- new Added a toolbar to switch tools more easily. Color picker now switches to last tool after use
- new Added the eraser and set symmetry origin tools
- new Added multi-point symmetry origin
- new HSV mixing options for uncolorized brushes
- new Seamless drawing mode
- new Checkbox to change brush density based on brush size automatically
- new Added visual guides for symmetry modes, for setting symmetry origin, and for using min draw distance
- tweak Updated the brushes to increase Big Dots and make everything a red-to-black gradient for easier HSV mixing
- tweak Major performance increase for small brush drawing
- tweak Made window resizeable, moved tooltips, expanding buttons replace tabs, moved undo/redo/ok/cancel
- tweak Added prompt for exit on keypress of escape/enter if button is unfocused
- tweak Adding brushes with the add brushes button adds them permanently instead of temporarily
- tweak Brush images are reloaded after the brush image directories options are changed
- tweak Zoom keyboard shortcut goes in/out by 2x or 0.5x for better zooming, and zooms to mouse
- tweak Panning does not constrain to the edges of the image
- tweak Alpha slider now goes to 255
- tweak Invalid colorize options are hidden or disabled when colorized brush is off
- tweak Canvas is drawn more smoothly when zoomed out, with the half-pixel mode set
- tweak the brush color button's BackColor ignores alpha as it should
- tweak on first run, the user's transparency is also copied
- tweak the zoom point now clamps to canvas edges to prevent zooming off-screen, and re-centers if entirely off-screen
- bugfix Corrected lock alpha and undo/redo transparency errors
- bugfix The canvas no longer flickers when zooming
- bugfix "Rotate with brush" draws on mouse up if the user never moved it far enough to stamp it
- bugfix Fixed Canvas DPI issue where background image size shown wasn't constrained to canvas proportions
- bugfix The BrushFactorySettings.xml file will be created if possible, instead of displaying an error message
- bugfix Crash fix for unknown settings path
- new Added options to jitter hue, saturation, and value
- tweak Adjusted the layout of the jitter tab controls
- new Added a color picker so users can select colors from the canvas.
- new Brush density option in Other tab to control how often the brush is repeated. This highly affects how drawing behaves. 10 by default. Set to 0 to turn off speed control.
- tweak Clipboard background now fills in transparent regions with a checkerboard pattern.
- new Bigger image view for selecting brushes, and "add brushes" is now shown as a button.
- tweak The interface is no longer paused while loading brushes.
- tweak Removed random max alpha due to lack of use and bad functionality. You can use random min alpha instead.
- tweak Hold control and use left mouse to pan image instead of middle mouse button. Now displays a hand icon when holding control.
- tweak maximum brush size increased to 1000 by request. It may lag.
- tweak Default brushes load in reverse order.
- tweak Settings are now saved to a file instead of Windows registry for portable PDN.
- bugfix Transparency darkening issue is gone.
- new Added Photoshop brush file support (.abr)
- tweak Additional shortcuts. Hold [ and ] to increase/decrease brush size. Hold Ctrl to speed it up. Hold R or A to affect rotation/alpha instead.
- new Radial symmetry options are now available, from 3-pt to 12-pt radial drawing.
- new Added symmetry options under the Misc. brush options section.
- new Added a horizontal 'line' brush as a variation of the line from version 1.0.
- new Added a Preferences button.
- bugfix Rotation scaling is fixed.
- new The user's selection is now visible.
- new The user can right-click the canvas to set the background color, or use the image on the clipboard.
- tweak The brush is now square to accurately fit the drawn image.
- tweak Use the middle mouse button to pan the image now.
- tweak Zooming in and out is much faster.
- new Implemented the "Lock Alpha" feature. It affects each full stroke, so you'll see it when you release the mouse.
- tweak Brush size scaling (Ctrl + S + Mousewheel) is more responsive.
- tweak Min draw distance now respects your zoom level, so it's the same distance across your image.
- bugfix Non-square images are padded to be square so they rotate properly.
- bugfix With "rotate to mouse" turned on, the first click is now ignored so mouse angle can be calculated.
- bugfix Loading, undo, and redo don't have transparency issues any more. Finalizing and drawing still do.
There is no set roadmap at the moment. Supporting layers is the highest priority, but layer data can't be read and recreating layers is both exhausting and doomed since there's no sane way to save them. Defining selections is also highly useful, but that work loses half its importance without layers.
The feasible high-priority considerations largely center around more dynamic behaviors, better tablet integration, more blend modes, better color palette / color selection, multi-image brushes, a spacebar menu for typing in commands, and much better shortcut experiences (customizable, with a high value right-click menu)
- Support tablets alternatively through the Windows Ink API, and add tablet button shortcut handling
- While a drawing is in progress, store it on a separate layer. This opens avenues for most blend modes and improving undo/redo
- Improved color selection, including both primary/secondary and color palettes / wheel
- All brush images currently copy to a temp directory on load. Recreate only when the brushes un-virtualize.
- Replace the right-click canvas menu with a high value customizable one that has recent colors / brushes / brush images
Here are the items that should be done because, while they aren't bugs, the plugin doesn't feel as complete without these:
- read whether dark mode is enabled in paint.net and adjust accordingly
- right-click menu on the canvas should show a checkmark next to the current selection, if the UX design doesn't change
- a button to update the brush definition should be made
These items can be completed at any time as convenient along the way to the major items. Some of them may happen, while others might not.
Dynamism
- Add multi-image brushes. This work requires associated dynamic behaviors to be meaningful
- Add "on brush stroke" for dynamic behavior triggers
- Add distance from stroke start, speed, direction, time, and interval time for dynamic behavior strength
- Add tablet pressure curves and adjustable deadzones to the main tablet pressure reading
- Add non-linear tablet pressure curves to each dynamic behavior
- Add hue shifting and shifting to a specific color as dynamic behavior targets
New concepts
- Line, Bezier, and other shapes created via brush stamps
- Specialized pixel brushes including dithering and an arc tool
- Snapping to grid (snap the brush indicator & turn off subpixel rendering) and snapping to angles
- Smooth drawn position, mouse direction, or pressure sensitivity with the most recent X values
- Ability to select color+alpha instead of just color with the color picker
- Add color influence jitter
- Mix percent of canvas color at click point with brush color. Jitter & tab pressure options
- Lose x% of canvas color as you keep drawing (to simulate a dry brush). Jitter & tab pressure options
- RGB and HSV channel locks
Options
- Alternative brush indicator option using a 50% transparent brush or the brush outline
- Ability to turn off any HUD element e.g. symmetry lines
- Automatic pixel grid display at 600%, a custom zoom, or never
- Always display clipboard image: off, "if present", and "if present with matching size"
- When a brush image can't be found by filepath, remove it automatically from custom brush images
- Keep color/alpha from last run vs. copy user's primary/secondary color and alpha every time the plugin runs. This could be superceded by a good color palette design
- Turn off confirmation on exit/escape key press, or turn on confirmation for clicks too
Usability
- Save the last viewed directory for adding brushes
- Save the custom color palette in colors dialog
- Change the text on the colors button so it's legible when near middle gray
- Scrollbars to pan more easily
- Replace the right-click context menu on canvas with a dedicated button
- right-click or double-click sliders to set exact values, or do it when using controls (like Blender)
- Spacebar menu to execute commands (anything that could be a shortcut target)
- Custom shortcuts, and allowing tablet buttons or mouse wheel to be included as triggers
- Undo/redo stack limit up to X images
- Simulate mouse click and positioning with tablet?
- Track errors and keep them in a readable log accessible by a small button
- Define brushes that don't change current brush image and/or color/alpha, rotation when selected
- Set a bool for active editing when the plugin starts, unset it on close, and if it's ever true when the plugin starts, assume an unexpected crash. Prompt the user if they want to save the auto-recovered image (last in undo stack from earlier).
- Import/export settings and brushes
- Try to automatically load a brush from filepath if it's not loaded, when selecting a brush that uses it
- Consider a way to rapidly create temporary brush images from the canvas (reintroduce temp brush handling, which definitely copies to a temp directory and sets filepath to it)
- Sort brushes into folders for quicker traversal. Best idea is put the options in a right-click context menu or dock them in a listview, or float the listview on mouse enter/focus. Having collapsing names in-line isn't so good.
- a toolbar at the top, above the tooltips. For all canvas options, color palette and wheel popout buttons, tools, and a good place for a settings gear icon and error list icon
Miscellaneous
- Support major locales and actually reading current locale to select it
- Numeric shortcut type that snaps to the nearest in a list of numbers if not aligned, else the next (up or down) in the list, and wraps or stops at the end. Would improve versatility with custom brush shortcuts
- Command to reset brush size to physical image size