Ruwa changelog

Release notes.

Follow Ruwa from its first public alpha to the latest release. Every feature, improvement, and fix is listed here, newest first.

32 releases documented

Strokes and details

This release adds brush dynamics driven by pen tilt and stroke speed, copying a selection to a new layer, and radius controls for effects on the canvas.

New

  • Pen Tilt and Stroke Speed are new brush dynamics sources with editable response curves. Pen Tilt uses the direction of the tilted pen on supported tablets; speed is measured in screen space so zoom does not change the response to the same hand movement.
  • A Smoothing page lets each brush parameter filter changes in its dynamics, with a strength control and a response curve. At zero strength the filter is disabled.
  • The Brushes panel offers cards or a list with brush names, preview sizes from 50% to 200%, and horizontal or vertical pack navigation. These options are available in the panel context menu and saved with the workspace layout.
  • Drag brushes to reorder them within a pack or move them between packs, both in the Brushes panel and in the Brush Editor. Favorites keep a separate order without rearranging their source packs.
  • Brush packs can also be reordered by dragging. Brush and pack order changes are saved and shared across workspace tabs.
  • Layer via Copy (Ctrl+J) copies selected pixels from a raster layer to a new layer at the same position, without using the clipboard. With no pixel selection, it still duplicates the selected layers. Layer via Cut (Ctrl+Shift+J) moves the selected pixels to a new layer in one undo step.
  • The Edit menu adds 90-degree and 180-degree rotations and direct access to Warp. Rotation and flip commands act on the pixel selection when one exists, or on the selected layer otherwise, and also work during an active transform.
  • Canvas Resize snaps its frame to finite canvas edges and visible layer or group bounds while drawing, moving or resizing it. It uses the existing canvas and layer snap settings and displays alignment guides.
  • Selecting Twirl, Pinch or Ripple displays a radius ring on the canvas. Drag the ring to change the radius with a live preview; the corresponding panel value stays in sync and the drag creates one undo step.

Improved

  • Copy Merged (Ctrl+Shift+C) replaces the Camera command. It copies the visible result inside the selection, including layer effects and transparency, and respects soft selection edges. Custom shortcuts assigned to Camera are retained.
  • Effect cards now highlight the selected effect. Cards have a distinct header and parameter area, and can be reordered by dragging the header as well as the grip.
  • Settings and first-run setup now offer interface scales of 85%, 100%, 125%, 175% and 225%.
  • The theme editor places the theme name and favorite toggle beside Apply and Save. Names can be edited there, are limited to 32 characters, and receive a unique suffix when needed.
  • Fill (Shift+F5) now opens a confirmation window before filling the selection with the current foreground colour.
  • Large top-bar menus no longer use an extra opacity pass during their opening and closing animations.
  • Glass has stronger colour dispersion, and the reset-settings action uses the theme colour for destructive actions.

Fixes

  • At 0% stabilization, strokes no longer retain the extra geometry smoothing delay. With stabilization enabled, the stroke catches up to the pointer more evenly.
  • Brush blend modes now blend against pixels in the target layer, rather than the merged visible image. Live previews and finished strokes use the same result, including on transparent areas and with opacity, soft selections or alpha lock.
  • Fill and Delete Content now process all selected editable layers, including layers inside selected groups. Hidden or locked layers and their descendants are skipped; required rasterization is confirmed before any edits. The whole operation is one undo step. Fill follows mask focus, while Delete Content edits layer pixels.
  • Delete no longer swallows text edits in input fields. In the Layers panel it deletes the selected layer or mask; on the canvas it deletes selected pixels.
  • Interface fonts and controls now follow Ruwa's scale consistently. Sidebars and dropdowns keep the correct geometry after scaling.
  • Floating panels are visible again after restoring a workspace layout.
  • Top-bar menus close reliably on outside clicks, including on the frameless window border.
  • The Welcome banner crop window displays liquid glass again.

Six months of Ruwa: export rebuilt, axis-locked strokes, and glass across the workspace

Six months after Ruwa's first alpha, export has become a canvas workspace, painting has gained axis-locked strokes, and liquid glass now reaches panels across the interface.

New

  • Export as now uses a docked settings panel and a draggable canvas frame, with PNG, JPEG and WebP controls.
  • Chunked capture, background encoding, progress, cancellation and file-size estimates keep large exports responsive.
  • Shift locks strokes to an axis; Shift+Alt resizes the brush by dragging, with a plus cursor at tiny sizes.
  • Pasting an image on Home creates a new project.
  • Seven decorative glyphs help distinguish similar tabs.

Improved

  • More panels and popups now use the shared GPU liquid-glass renderer.
  • The splash screen has a new card layout, shared credits and cleaner compositing.
  • Position scrubbing moves layers live, wraps at screen edges and supports keyboard nudging.
  • Radial-menu flicks have a wider target, and layer deletion respects the selected mask.
  • Tabs activate on release, press flashes are gone, and brush-pack state stays in sync.
  • New projects start with a #D9D9D9 canvas background; saved colours remain unchanged.

Fixes

  • Fills preserve partial selection coverage, and blur no longer samples across selection borders.
  • Layer effects update below 100% zoom, while zoomed-out selection outlines remain visible.
  • Tab hover states no longer stick, and reorder previews stay transparent.
  • Text editing now ends with its layer and follows external text and transform changes.
  • Colour-picker drags create one undo step, and reopening the picker no longer races its close animation.
  • The brush-size ring remains live during simultaneous zoom animation.

Removed

  • The retired April Fools easter egg.

Themes you can build, motion you can dial, and a Layer Properties panel with real controls

A theme is now something you make rather than something you pick: its colours, its fonts and how the application animates. The Layer Properties panel was rebuilt around per-layer groups and carries the full text formatting, and scrolling runs on a new continuous engine.

New

  • The theme editor edits a preset live, with a preview beside each page showing real widgets respond to the values before you apply them. Themes can be created, duplicated, deleted, and imported or exported as a JSON file.
  • A theme now carries its typography: a heading family, an interface family, and every size in the scale, from the display heading down to the smallest caption.
  • A theme also carries its motion. Interface animations and canvas animations switch off independently, and a speed multiplier from 0.5x to 2x scales what remains. The Animations page previews the result on real widgets before you apply it.
  • The Layer Properties panel is a column of collapsible groups — an identity header with inline rename, a shared Position group, and groups that appear only for the layer type they describe. It is docked beside Layer Effects in the base workspace.
  • Character and Paragraph groups replace the on-canvas text popup and go well past what a floating strip could hold: font size, alignment — justify included — and leading are reachable for the first time, alongside new strikethrough, tracking, caps and paragraph spacing.
  • New Project has a Recent tab: one card per configuration you create, carrying its own name or that of the built-in preset whose size it matches, with a count of how often you used it.
  • Dragging horizontally across a numeric field scrubs its value — up to the right, down to the left — and a whole sweep commits as a single step.
  • Document tabs reorder by dragging, and the dock compass gained an explicit button for dropping a panel into a tab group.
  • About shows the lifetime time you have spent in the application.

Improved

  • Scrolling is one continuous motion instead of a series of shoves. The wheel, stylus inertia and the scrollbar share a loop that runs at the display refresh rate, so it is visibly smoother above 60 Hz, and a stylus swipe glides on with no seam at the release.
  • The selection outline is drawn from a cached buffer with a level of detail chosen by zoom, and the on-canvas cursors redraw only the pixels they cover instead of routing the whole scene through an extra pass.
  • The zoom info overlay joined the rest of the on-canvas glass.
  • Duplicating a duplicate numbers the copy — Layer (copy 2) — instead of stacking suffixes.
  • The About page scrolls only its left column, so the build details stay put beside it.

Fixes

  • An adjustment layer with a blur, glow or shadow no longer paints a shrunken copy of the picture into the corner of the canvas, and a single clipping layer anywhere in the document no longer makes those effects render as a hard tile grid.
  • A pen resting inside the tablet's hover range no longer takes the cursor away from the mouse, or warps it to the corner of the screen.
  • Dabs no longer land up to a second late on the native WinTab backend at 0% stabilization.
  • Lasso and the shape selections no longer drag a second, lagging cursor across the canvas, and the tool cursor no longer freezes while undo is held.
  • Dropping layers into a group is undoable, and tabs inside a dock group reorder again.
  • The update installer keeps an append-only log, and Restart and install reports why it could not start instead of doing nothing.
  • Closing a tab no longer risks a crash while its canvas is still being torn down.

Removed

  • The on-canvas text formatting popup, replaced by the Character and Paragraph groups in the Layer Properties panel.

A radial menu, real selection commands, and cursors drawn on the canvas

Right-clicking the canvas now opens a configurable radial menu, the selection operations became real commands with a home in Edit → Selection, and the cursor is drawn by the canvas itself so it can no longer lag behind what it points at.

New

  • A radial menu on canvas right-click. Seats sit on a ring around a hub, each one resolved from a command, so its title, icon, shortcut and enabled state always match the command it points at. Seats open nested pages and the hub doubles as the back button.
  • Edit → Selection collects what the selection can already do. Transform, both flips, Select Layer Content and Select Layer Mask had no command at all, so they were missing from the command palette and could not be bound; they exist now.
  • Select All (Ctrl+A), Invert Selection (Ctrl+Shift+I) and Reselect (Ctrl+Shift+D). Invert covers everything the document does and keeps partial coverage, Reselect brings back the mask a Deselect threw away, and Ctrl+A goes to a focused text field first.
  • Export has its own File → Export submenu, holding "Export as..." and "Fast Export as PNG".
  • The canvas hold-keys — move content, eyedropper and pan — are bindable, with their own defaults, overrides and presets.
  • Assigning a sequence that is already taken no longer fails silently: both sides are marked as conflicting until one of them changes.
  • Right-clicking inside an active transform offers both mirrors under the Classic and Deform modes, leaving the session open so a mirror combines with further edits.
  • The eyedropper is a ring centred on the pointer, showing the sampled colour above and the current one below.
  • The pointer is drawn by the canvas, with a tool badge for fill, classic fill, move, magic wand and both lassos, and a crosshair for square and circle selection — so it can no longer swim a frame behind the on-canvas chrome.

Improved

  • The on-canvas overlays gained a glass bevel that bends what is behind them, and the frost now mixes towards the theme's surface colour instead of towards black, so dark artwork under a panel no longer crushes.
  • The canvas tool strip moves as one thing: a canvas-mode switch is one movement instead of an animation followed by a resize.
  • Holding a button no longer flashes a wash over it. Every control answers a click with the state it produces instead.
  • Dropdown popups open without doing first-use work at the click — they are warmed when the pointer reaches the combo.
  • Keyboard Shortcuts sections follow menu order rather than the alphabet, and Navigation and Tab merged into one "Tabs & Navigation". Customised shortcuts survive.
  • One keycap renderer everywhere a shortcut is drawn: tighter caps painted in opaque palette colours instead of a white film.

Fixes

  • A stroke undone while zoomed in no longer leaves a frozen tile that fades back in on zoom-out.
  • Toggling a layer's visibility, or undoing, no longer leaves ghosts at the screen edges or a band of canvas at half alpha.
  • Holding undo no longer leaves a stroke visible in the Navigator after it is gone from the canvas.
  • A shortcut recorded under a Cyrillic or any other non-Latin layout is stored by physical key, so it actually fires — and existing bindings work too.
  • The slider value label no longer washes out on thin fonts.
  • The Settings panel shows the choices made on the first-run page instead of the values captured before it ran.

Removed

  • The brush quick popup, replaced by the radial menu on canvas right-click.

Editable smart objects, tabbed panels, and one quality at every zoom

A smart object is now a document you can open and edit in its own tab, duplicates of it are instances that share one set of contents, panels group into tabs, and a new display pyramid keeps the canvas looking the same at every zoom.

New

  • Smart objects hold a nested document. Double-click one to open its layers, groups, masks and effects in their own tab; saving or closing it commits the result into the parent as a single undo step.
  • Duplicating a smart layer makes an instance: the contents are shared, while transform, mask and effects stay per layer.
  • Replace Contents rebuilds an object's pixels from a file and keeps the placement you arranged — every instance follows.
  • Smart layers accept layer masks and take part in merges.
  • Convert to Smart Object works from a group and from a multi-selection, making one object that holds those layers.
  • Every layer effect gained a space: content space bakes it into the object's contents, so it rotates, scales and deforms with the object.
  • Right-clicking a multi-selection in the Layers panel now acts on the whole selection instead of throwing it away.
  • Dropping a panel on the centre of another groups them into tabs, with the same tab strip the document tabs use.

Improved

  • Zooming out no longer changes image quality, and drawing while zoomed out no longer turns the canvas aliased for a few frames.
  • Minified content is filtered everywhere: board layers, the export and overview previews, and the transform preview.
  • A lasso selection or fill costs the same whether the outline is short or long.
  • Brush dynamics bound to Time advance evenly with a stylus instead of stepping in bands.
  • Project files reached format v32. Older files load unchanged, and a file with ten instances of one object stores those pixels once.

Fixes

  • Closing or switching a tab while it is still animating no longer crashes.
  • The dock layout and the canvas overlays are your preference again: opening a project no longer rearranges the application.
  • A smart object's contents tab closes together with the document it belongs to.
  • An 8-bit image imported into a 16- or 32-bit document no longer breaks the saved project; affected files are recovered on open.
  • A canvas size pasted as "3 000" is read as the number the field accepted, instead of creating a one-pixel project.
  • Merging a masked layer no longer brings back what the mask hid.
  • Panel groups slide in with the rest of the workspace at startup.

Rearrangeable panels, richer tooltips, and cleaner gradients

This update makes the workspace yours to arrange, gives Ruwa its own tooltips with shortcuts in them, reports what a transform drag is doing right at the cursor, and removes gradient banding from 8-bit documents.

New

  • Tools reorder by drag and drop, and single tools can be switched off from the panel's title menu under Visible tools.
  • The Layers panel action buttons reorder and hide the same way. The alpha-lock and layer-lock toggles stay pinned.
  • Ruwa draws its own glass tooltips instead of the system ones, with the shortcut assigned to the action shown next to its name.
  • A close cross on every panel title bar, floating panels included.
  • Resting on a layer or mask thumbnail opens a large preview with the layer's properties beside it.
  • Zoom controls in the Navigator: a zoom slider with a percentage readout and a fit-to-view button.
  • A live readout beside the cursor while transforming — pixels while moving, degrees while rotating, percent while scaling.
  • A curve button next to every Brush Settings entry that supports dynamics, opening the same editor the Brush Editor uses.

Improved

  • A liquid-glass pass on the on-canvas overlays: a tinted sweep along the outline and soft inner shadows.
  • The Layer Effects panel moves Add effect into its subtitle bar and drops the separate search field — the effect picker has its own.
  • Releasing a Rotate View drag close to a quarter turn animates the view onto that exact angle.
  • Fewer redundant GL state changes per drawn tile.

Fixes

  • Gradients and soft strokes no longer band or drift in hue on 8-bit documents: writes are dithered, stroke buffers stay at 16-bit float, and values already on the 8-bit grid are rounded instead of dithered.
  • A zoomed-out stroke no longer draws a live map of which tiles are dirty: filtering is chosen once per frame instead of per tile.
  • A fast undo burst no longer crashes.
  • Picking a colour is no longer undone by a later tool switch or brush-settings edit.
  • A stylus tap moves keyboard focus to UI panels the same way a mouse click does.
  • Filling inside a selection shows up immediately.
  • Auto snapping prefers exact relations over approximate ones.
  • The update installer runs from outside the installation directory, so it can replace every file it needs to.
  • A toolbar drag keeps tracking once the cursor leaves the panel bounds.

Smarter snapping, smoother zoom, and a faster paint loop

This update rebuilds auto snapping around other layers and equal spacing, adds unified range controls for brush dynamics, and makes canvas rendering smooth at every zoom level, along with a faster paint loop and fixes for stylus contact, the hue ring, and the updater.

New

  • Auto snapping now reaches past the canvas: content also aligns to other visible layers and groups and to equal spacing between neighbours, with live guides and an on-canvas measurement. Hold Alt while dragging to move without snapping.
  • Four Editor settings for it: snap to canvas, snap to layers, snap to equal spacing, and pixel-aligned raster moves — all on by default.
  • A unified range control for brush dynamics: single-amount dynamics now use a two-handle range slider, and the random and stroke-direction sources accept the same blend modes as the rest.
  • Four more built-in welcome banners.

Improved

  • Ruwa reopens on the monitor it was last used on, splash screen and startup animation included.
  • Canvas tiles are sampled from mipmaps, so zoomed-out views stay smooth instead of aliasing — without stalling live edits.
  • The navigator animates its viewport frame and its tile updates instead of jumping.
  • Theme and welcome-banner selectors expand, collapse, and cross-fade smoothly.
  • Faster painting: less per-dab and per-event work, no large-stroke commit stalls, and far fewer taper preview rebuilds.
  • Faster selection commits, Liquify dabs, and multi-layer transform previews.
  • Floating panels are no longer repainted on every canvas frame.

Fixes

  • The pen no longer loses contact mid-stroke when the cursor crosses the window boundary.
  • The hue ring and vertical hue bar use the intended color layout.
  • Soft Blur brushes no longer ghost: strength is driven by a per-pixel sigma instead of an opacity cross-fade.
  • Magic Wand now selects the same region Classic Fill would fill.
  • A tool switch made an instant before drawing is honored by the stroke that follows.
  • Holding a stationary pen no longer stacks dabs on one spot.
  • Transform preview sampling matches the applied result.
  • Dock panel push resizing is reversible again.
  • A failed cleanup step after a successful update no longer rolls the healthy installation back.

Magic Wand, procedural textures, and smarter selections

This update adds a Magic Wand selection tool and a procedural texture editor for brushes, extends copy, cut, paste, and Delete to layer masks and selection pixels, reorganizes the tool bar, gives the workspace an animated entrance, and modernizes canvas rendering.

New

  • Magic Wand (W). Selects a contiguous region of similar color on the active layer, with add and subtract modifiers, and computes large selections in the background.
  • A procedural texture editor in the Brush Editor with six generators — pencil grain, fractal noise, Perlin noise, dots, lines, and checkerboard — each with a live preview.
  • Copy, cut, and paste for layer masks and for the pixels inside a selection. Pasted pixels land as a new layer in place and go straight into transform mode.
  • Ctrl+click a mask thumbnail to load that mask as a selection, and a contextual Delete that removes the layer, its mask, or the selected pixels depending on focus.
  • Brush deletion from the Brushes panel, a new Stylized Brushes pack, and an animated entrance for the whole workspace on startup.

Improved

  • Reorganized tool groups: Blur, Smudge, and Liquify now share one slot, and the bar is split into navigation, drawing, selection, and other.
  • Adjustment layers are now applied in screen-space compositing, so they stay correct during strokes, transforms, and lasso fill.
  • Alt picks a color with the eyedropper while Lasso Fill is active.
  • Group and adjustment-layer effects now reuse cached composites while their source content is unchanged, avoiding repeated work during painting, panning, and effect editing.
  • The GPU rendering path now uses OpenGL 4.5 direct-state access, immutable textures, and persistent asynchronous readback buffers.

Fixes

  • Layer drag and drop no longer drops clipping masks partway through a multi-layer move.
  • Hiding a clipping-group base now also hides its clipped layers on the canvas, in live previews, and in exported content.
  • Copy, cut, paste, Delete, and the [ and ] brush shortcuts no longer act on the document while a text field has focus.
  • The first-run tab no longer starts blank, and the startup zoom-in animation no longer freezes when opening an existing project.
  • Fill now refreshes layer-effect caches on commit, so tiles on layers with effects no longer revert.
  • Transform and lasso previews no longer erase frosted canvas-widget backgrounds later in the same frame.

Brush favorites, live settings, and smoother drawing

This update makes brushes faster to organize and tune with favorites, pack filters, and a new Brush Settings panel, improves WinTab stroke smoothness and canvas performance, and restores crisp live blur across canvas widgets.

New

  • Favorite brushes with a dedicated filter, persistence across sessions, and quick context-menu actions.
  • Pack filters for switching between favorites, all brushes, and individual packs.
  • A dockable Brush Settings panel with a live dab preview and responsive controls for starred brush settings.
  • One-click HEX color copying in the Color panel.

Improved

  • Sharper brush previews, clearer selection styling, and favorite markers.
  • Live color updates while entering valid three- or six-digit HEX values.
  • Smoother WinTab strokes, more reliable multi-device pressure, and lower canvas frame cost in maximized windows.

Fixes

  • Canvas widgets now use sharp, same-frame GPU blur that stays synchronized while controls move or fade.
  • Smudge and other effect strokes are finalized safely before switching tools.

Personalization, colour controls, and input fixes

This update introduces a redesigned first-run personalization flow and compact RGB/HSV controls, improves brush startup and custom dab rendering, and fixes WinTab input, transform safety, and several canvas interaction issues.

New

  • A redesigned first-run flow for choosing appearance, editor, performance, and tablet-input settings.
  • Compact RGB and HSV channel controls in the Color panel.

Improved

  • Nine additional default brush presets, improved startup selection, and expanded packs by default.
  • Favorite brush parameters stored in imported and exported packs.
  • Custom dab hardness and brush cursor previews.
  • The Composer panel is now named Navigator.

Fixes

  • More reliable undo handling in the Brush Editor.
  • Phantom and interrupted WinTab strokes, including mouse/pen handoff across the UI and canvas.
  • Transform finalization and several issues involving selections, alpha lock, Blur, and Navigator refreshes.

Open-source release

Ruwa is now open source. The source code and contribution process are public on a fresh repository, the release ships alongside a brand-new website, and the licensing, security, governance, CI, and release infrastructure needed for public development are complete.

New

  • A public source repository at github.com/LuskusDeus/Ruwa and a new project website at accretion.pro.

Changed

  • The proprietary Discord Game SDK has been replaced with a first-party Discord Rich Presence implementation over local IPC using Qt only.
  • The public contribution process now includes governance, security, code of conduct, DCO sign-off, issue templates, and pull request guidance.
  • Dependency and asset provenance, licence notices, and CI checks are documented in the repository, and all outstanding licensing issues have been resolved.

Fixes

  • The binary installer release now packages and installs correctly.
  • Fixed an event-handling bug in the Layers panel.

Non-destructive effects, adjustment layers, and deeper colour

A major update. It introduces a non-destructive effects system with real-time previews, adds adjustment layers and pixel-perfect layer picking, and rebuilds the tile core so documents can use any colour depth from 8-bit to 32-bit float. It also ships a completely new icon set, a custom pigment-mixing engine, a more accurate WinTab backend, and a long list of fixes.

New

  • Non-destructive effects. Add any number of effects to a layer, reorder and edit them, and see the result on the canvas in real time. Effects can also be applied to groups, and the whole chain can be baked into the layer at any time.
  • Adjustment layers for applying corrections across the layers beneath them.
  • Pixel-perfect layer picking. The Move tool now identifies which layer owns the pixel under the cursor and moves exactly that layer.
  • The rectangular selection tool now shows the size of the selection on a small badge next to the cursor.

Reworked

  • The tile system was rebuilt from the ground up. Documents can now use any colour depth from 8-bit up to 32-bit float.
  • Groups now isolate blend modes correctly, so effects composite over them the way they should.
  • A new, in-house pigment-mixing system replaces the previous one — it mixes better and carries no third-party licensing.
  • The old layer-picking system based on content bounds was inaccurate and has been removed entirely in favour of pixel-perfect picking.

Improved

  • A brand-new icon set across the whole application, adopted to resolve licensing on the previous icons.
  • Nearly every panel now has its own dedicated icon instead of a placeholder tool icon.
  • The custom WinTab backend is more accurate and less buggy.
  • Undo now covers layer rasterisation, so it can be undone like any other action.

Fixes

  • Board layers now flip correctly when the canvas is mirrored.
  • Smudge no longer clips dabs or leaves white streaks on brushes that have jitter enabled.
  • Fixed an undo bug where moving a masked layer region could roll the selection mask back several steps ahead of its contents.
  • Fixed a visual glitch in the curve editor of the brush engine.
  • Fixed odd cursor behaviour on a monitor positioned to the left of the primary display.
  • Text layers no longer turn low-poly after a warp or free transform.

Liquify, layer masks, and a canvas redesign

A major update. It introduces the Liquify tool and layer masks, gives every canvas widget a new frosted-glass look backed by a much more reliable layout system, and completely reworks the wet brush mechanics. It also refreshes the top bar popups and the color picker, improves floating panel and Canvas Resize performance, and fixes a large number of UI and visual bugs.

New

  • Liquify. A new tool for warping the canvas, with Push, Rotate CW/CCW, Bloat, and Pucker modes.
  • Layer masks. You can now add and edit layer masks, transform them correctly, and invert a mask from the context menu.
  • The brush editor now has many more parameters for tuning wet brushes.

Reworked

  • The wet brush mechanics have been completely reworked.
  • Canvas widgets now use a new layout system and serialization that work far more reliably.
  • Every canvas widget was redesigned with a frosted-glass background. The Brush Control widget is now more compact, and the tool bar has a new capsule look.

Redesigned

  • New design for the top bar popups (the File, Edit, View, and Help menus, Layouts, and the tab context menu).
  • New design for the Color Picker popup.
  • The brush settings context menu on the canvas is now cleaner and easier to use.

Improved

  • Floating panel performance has been improved.
  • Canvas Resize performance has been improved.

Fixes

  • Fixed a large number of UI bugs.
  • Fixed bugs with the custom brush cursor on the canvas and with floating panels.
  • A large number of additional visual fixes across the application.

Default brush and brush editor fixes

This update fixes a number of bugs with the default brush presets and the brush editor.

Fixes

  • Fixed bugs with the default brush presets.
  • Fixed bugs in the brush editor.

Wet brushes and reworked input

This update adds wet brushes, completely reworks the input system so drawing feels far better, completes the Deform transform, and greatly expands the set of default brushes. Theme switching is now much faster, the stabilizer no longer produces broken lines, and a large number of visual and performance bugs have been fixed.

New

  • Wet brushes. The brush engine now supports wet, color-mixing brushes.

Reworked

  • The input system has been completely reworked. Drawing now feels significantly better.
  • The Deform transform is now complete. It was introduced as an early version in the previous update.
  • Reworked the default brushes, with many more now included.

Improved

  • Theme switching is now much faster.

Fixes

  • Fixed a stabilizer bug that caused broken, jagged lines.
  • Fixed the custom Ruwa WinTab backend.
  • A large number of additional visual and performance fixes across the application.

Smudge, deform, and shortcut presets

This update reworks the Smudge tool, introduces an early Deform transform, and adds shortcut presets. The brush cursor now follows the shape of the current dab, the Color panel and Keyboard Shortcuts tab have been redesigned, and a large number of bugs have been fixed.

New

  • New Deform transform mode. It is still in progress and will be expanded in future updates.
  • Shortcuts can now be saved and switched between as presets.
  • The brush cursor now matches the shape of the current dab.

Reworked

  • The Smudge tool has been reworked.
  • Redesigned Keyboard Shortcuts tab.
  • New design for the Color panel.
  • Redesigned Layout Presets popup.
  • Small design refinements across the canvas widgets.

Improved

  • The ABR parser has been improved.

Fixes

  • Fixed visual bugs in Lasso Fill and the transform preview.
  • A large number of additional bug fixes across the application.

Color, multi-layer transform, and alt-copy

This update expands brush color control, makes multi-layer work much more complete, and adds alt-copy for faster layer duplication. It also fully reworks the brush stabilizer and includes bug fixes, an early ABR parser, a zoom overlay, and a redesigned installer.

New

  • New Color tab in the brush engine with full HSL control and blend modes for brushes.
  • Alt-copy now works: hold Alt while moving layers on the canvas or in the Layers panel to duplicate the selected layers.
  • Added an early ABR parser. For now, it only parses dab textures.
  • Added an overlay that shows the current zoom.
  • The app now has a completely redesigned installer.

Improved

  • The brush stabilizer has been completely reworked.
  • Full multi-layer support: selected layers can now be transformed together, including whole groups with subgroups.

Fixes

  • Fixed bugs across the application.

Text tool, Auto Snap, and brush sharing

This update introduces a fully featured Text tool, Auto Snap for precise canvas placement, and brush sharing through the brush editor. Brush dynamics have been reworked with new input sources, and the About section has been redesigned.

New

  • New Text tool with full text formatting support.
  • Auto Snap — a powerful axis snapping system that makes placing elements on the canvas much easier.
  • Brushes can now be exported and imported directly from the brush editor.
  • New About section with information about the program, its testers, and the tools used to build it.
  • New input source: Random (replaces the Jitter section, which has been removed entirely).
  • New input source: Stroke Direction.

Improved

  • Reworked brush stabilization in the brush editor.
  • Significant optimization improvements across several scenarios.

Removed

  • The Jitter section in the brush editor has been removed and replaced by the new Random input source.

Fixes

  • Fixed a large number of bugs across the application.

Layers, dabs, and smoother canvas

This update improves the layer workflow, adds custom image dabs for brushes, and makes canvas interaction smoother. It also introduces the in-app release notes panel and refreshes the first-launch experience for new users.

New

  • Added an in-app release notes panel, available for the first time in this version.
  • Added a new update banner.
  • Added a new first-run integration for new users.
  • Added new default start banners.
  • Brushes can now use imported images as custom dabs.
  • Layers can now be marked with custom colors for visual organization.
  • Added Merge Down for layers.

Improved

  • Reworked the Layers panel so its main actions are now grouped in the top area.
  • Reworked brush stabilization.
  • Canvas movement now feels smoother.
  • Canvas Resize performance has been significantly improved.

Fixes and small changes

  • Stabilization settings are now saved for lasso-like tools.

Brush engine foundations

This update expands brush control and adds faster access to brush selection. Brush parameters can now use curves, while the new panel and About section add more structure around the drawing workspace.

New

  • New brush engine.
  • Added a Brushes panel for quicker access to brushes.
  • Added an About section with app information. The tester list is not complete yet and will be expanded later.

Expanded

  • Curves in the brush editor. Most parameters can now react to pen pressure or stroke age over time.
  • More input sources for brush dynamics will be added later.

Fixes and optimization

  • Fixed a large number of bugs and optimization issues.

Brush workspace refresh

This update refreshes the brush panels and brush editor, and reworks Lasso Fill for infinite areas. It also includes a round of bug fixes across the application.

Redesigned

  • New design for the brush panels and the brush editor.

Reworked

  • Reworked Lasso Fill. It is now optimized for comfortable use on infinite areas.

Fixes

  • Fixed many bugs across the application.

Infinite canvas preview

This update brings a cleaner UI style, infinite canvas support, and new canvas actions. It also expands customization, context menus, transforms, brush options, and project setup.

New

  • New UI design with a cleaner visual style.
  • Infinite canvas.
  • Canvas mirroring.
  • New transform mode: Warp.
  • New blur brush.
  • New quick-actions canvas overlay.
  • New Board layer type.
  • Startup setup on first launch.
  • Layout presets.

Expanded

  • More customization options.
  • More context menus, including quick-action menus for the layer panel.
  • Axis-constrained movement for layer content with Shift.

Reworked

  • Reworked lasso tool with much better behavior.
  • Project file format changed from .uwa to .rwf.

Improved

  • More work on the Compositor panel.
  • Improved Russian localization.

Fixes

  • Various bug fixes.

Export and tablet polish

This update adds image export and improves several tablet, mask, color, and workspace systems. It also softens workspace visuals and includes small fixes.

New

  • Image export now works. You can export to PNG, JPEG, and WebP.
  • Selected areas can now be flipped horizontally or vertically.
  • The color wheel panel now has new modes: hue ring, square, and triangle.

Reworked

  • Part of the input pipeline has been rewritten. Edge artifacts in masks should now either disappear or become much less noticeable. If you still see them, try switching the tablet backend in Settings - some backends are still unstable.

Improved

  • The custom Ruwa WinTab backend has been significantly improved.
  • Workspace serialization for saving and loading has been improved.
  • The workspace now looks cleaner visually: panel outlines are softer and no longer clip on soft edges.

Fixes

  • Small fixes.

Tools and tablet backend

This update improves the layer panel, adds a custom Windows WinTab backend, and reorganizes tools into folders. Flood Fill performance and transform snapping were also improved.

New

  • Added a custom Windows WinTab backend for tablets, improving compatibility with supported devices.
  • Tools are now grouped into folders.
  • In transform mode, holding Shift now snaps the rotation angle in 15-degree steps.

Reworked

  • Reworked the startup panel appearance animation, which used to be bugged.

Improved

  • Improved layer panel animations.
  • Flood Fill performance has been significantly improved, with up to 10x faster processing.

Fixes

  • Fixed visual bugs in the layer panel.
  • Minor bug fixes.

Async app flow

This update moves a significant part of the app to asynchronous behavior and rewrites the update manager. It also addresses Flood Fill issues and improves pressure detection.

Reworked

  • A significant part of the app is now asynchronous, which makes the program feel smoother and reduces UI freezes.
  • The update manager has been fully rewritten, so update-related errors should now be gone. It may ask for admin permissions.

Improved

  • Pressure detection has been significantly improved.

Fixes

  • Fixed critical issues with Flood Fill. Its calculations were moved to the CPU, which made it slower and introduced a maximum radius limit. This will be improved in future updates.
  • Minor bug fixes.

Fill and quick shapes

This update reworks Flood Fill and Quick Shapes, and adds Smart Fill for semi-transparent pixels. It also includes minor bug fixes.

New

  • Added Smart Fill. This is a separate tool designed for working with semi-transparent pixels, especially with soft brushes. It is quite demanding.
  • New shapes are now available: square and triangle variants for all directions.

Reworked

  • Flood Fill has been reworked. It is not fully finished yet and may still have bugs, but it should no longer crash the app and should work at a basic usable level.
  • Quick Shapes has also been reworked.

Fixes

  • Fixed minor bugs.

Layout reliability pass

This update focuses on layout reliability, stylus interaction, and brush stabilization. It also adds Brush Feather and stylus swipe scrolling for lists.

New

  • Added the Brush Feather parameter for brushes, which controls edge smoothing.
  • Lists can now be scrolled with stylus swipes.

Improved

  • Layout saving and loading are now more reliable.
  • Significantly improved UI interaction with the stylus.
  • Significantly improved brush stabilization.

Fixes

  • Fixed many layout-related bugs, including panel positioning, docking, and general behavior. If you already have layout issues, this update may not fix existing ones - it mainly prevents them from happening again. A complete reinstall is recommended.

Layer workflow update

The biggest update so far. This update expands layer operations, selection-mask undo, canvas navigation, and layout serialization.

New

  • Added layer gestures: swipe on the right side of a layer for the actions menu, and on the left side to toggle the clipping mask.
  • Added layer locking and alpha-channel locking.
  • Added a movable camera joystick.
  • Added a new Lasso Fill tool.

Expanded

  • Undo now works for both layers and selection masks.
  • Improved workflow for handling multiple layers in the layer panel.

Fixes

  • Fixed layout serialization for the canvas and floating panels.
  • Various small fixes.

Lightweight updates

This update adds direct website downloads and lightweight app updates through Settings. It also includes a rename, small quality-of-life changes, and bug fixes.

New

  • The latest version of the app can now be downloaded directly from the website.
  • Added the ability to update the app without downloading a new installer every time. To get a new version, open Settings and install the available update there.

Changed

  • Small rename: chanterelle -> accretion.
  • Updates are lightweight, around 5-10 MB, so they download quickly.

Quality of life

  • Added a few small quality-of-life features.

Fixes

  • Fixed bugs.

Camera tools

This update adds camera capture tools and expands brush settings. It also refreshes the default brush list and fixes small issues.

New

  • Added a camera tool that instantly copies the image to the clipboard when clicked.
  • Added an overlay for easier camera control.
  • Added a new setting to the brush engine: Dab.

Changed

  • The list of default brushes has been updated. If you already installed the app and want to see the new default brushes, press Reset at the very bottom of Settings.

Fixes

  • Fixed small bugs and issues.

Stability and functionality

This update fixes bugs that were seriously affecting the app and adds new functionality.

New

  • Added new functionality.

Fixes

  • Fixed bugs that were seriously affecting the app.

Public testing

Ruwa is now available for anyone who wants to download it and help test it.

Available

  • The app is available to download and test.

Testing feedback

  • If you find any bugs, please report them in the appropriate channels.
  • Feedback, suggestions, and ideas are welcome.