First Impasto release, with added features, and started by forking Pinta 3.1.2.
Added
- Renamed the application to Impasto. Added Impasto to the About dialog, license sections and issue/support links
- Shapes and text are now editable sub-layer objects: each layer lists its objects, which can be shown/hidden, renamed, reordered by drag and drop, blended, given per-object opacity, rasterized or deleted individually
- Layers can be duplicated together with their objects, and object sub-rows can be moved between positions
- The scissors (smart) selection, healing brush and smart patch tools moved into a premium add-in that's still in development; freeform and polygon lasso remain part of the free Lasso Select tool
- The About dialog legal section now uses expandable license and notice panels with independent scrolling
- The Text Tool now offers a Point/Area mode: Area (flow) text wraps to fit a box that can be resized by dragging a corner, in addition to the existing point text
- The Text Tool now supports justified alignment, which stretches line spacing to fill the area box
- The splatter brush now allows the minimum and maximum splatter size to be configured separately from the brush width
- The floating Colors window now shows a persistent live color picker (wheel/square surface, sliders, hex entry, swap display, and recent/quick swatches) instead of the docked color bar
- The floating Colors panel and color-wheel popover's quick/recent swatch grids now wrap into extra rows instead of growing wider or clipping
- Preferences now has a Palette size control alongside the existing extended-palette-rows checkbox, and the palette resize dialogs now step by the current row count so every column stays full
- Preferences now has a "Show quick access toolbar" checkbox to hide the main icon toolbar row, on by default
- The Deselect toolbar button's tooltip now mentions the quick double-tap Escape shortcut ("Esc (×2)")
- The Keyboard Shortcuts dialog now shows a reference-only "Deselect All (Quick, ×2)" row documenting the double-tap Escape gesture
Changed
- Updated dependencies to require libadwaita 1.8+
- Double tap Esc to deselect
- The Keyboard Shortcuts dialog now shows a separate, independently rebindable row for each of a command's shortcuts (e.g. "Deselect All" and "Deselect All (Alternate)") instead of only exposing the first one
Fixed
- Fixed pressing Escape twice no longer being restricted to the selection tools: it now deselects any still-outlined selection regardless of the active tool, and first finalizes an in-progress Shape or Text edit (Object or raster) so a half-drawn shape or half-typed text is committed
- Fixed the floating Colors panel crashing on launch with a stack overflow, caused by the hex entry's change handler re-entering
ApplyColor/RedrawAllbefore the reentrancy guard was set - Fixed a crash when clicking around the History panel to jump between states non-linearly, caused by the selection handler re-entering itself while undoing/redoing
- Fixed the Text Tool lagging while drag-resizing a large amount of text, by skipping the re-layout when the rounded font size has not actually changed
- Fixed editable shapes reverting to their original position after rotating or flipping the image or layer, because the vector control points were not transformed along with the raster
- Fixed a potential UI freeze when pasting into the Text Tool, caused by blocking the GTK thread on the clipboard read
- Fixed undo/redo operating on the active document instead of the one the history item belongs to, so undoing while a different tab is focused no longer corrupts the wrong document
- Fixed status-bar labels reserving space after being disabled in Settings, and made image size/aspect ratio yield before cursor position at the fully expanded color-section boundary without re-expanding folded color sections during a narrowing resize.
- Fixed the status bar collapsing erratically as the window narrows: the cursor position and image size chips now slide out to the right under the zoom controls in a fixed order, the color swatch grids shrink before either section folds into the color wheel popover, and the color wheel / float colors buttons no longer drift across the swatches.
- Fixed saving a file without a file extension when a format is chosen from the Save As dialog's type dropdown, without mangling filenames that already have an (unrecognized) extension
- Fixed AVIF export being unavailable on Windows due to a native library name mismatch, and added the missing
libavifdependency to the Windows and macOS build workflows - Fixed a persisted AVIF default save format being selected even when libavif is unavailable, which could crash Save As
- Fixed objects not being baked into the layer when merging, flattening or applying a Layer menu transform
- Fixed TGA export writing incorrect colors, and JPEG export using freed memory
- Fixed the canvas not re-fitting to the window on resize, and the toolbox not scrolling
- Fixed the layer properties dialog dimming the screen, and a stack overflow when drawing a shape after object unification