Repair, retone, and reshape pixels you can still edit.
Photo retouch tools share Varve's existing raster pipeline. Repairs write to an explicit document layer, Frequency Separation separates tone from detail, and Liquify stores an editable deformation. The limits stay visible; none of these workflows needs a model download or a cloud connection.
Clone, heal, spot-heal, patch, dodge, and burn
Choose a writable raster layer before painting. For a separate repair layer, use Prepare retouch layers in Photo/Image Tuning; this locks the source layer and selects a new repair layer. Clone Stamp and Healing Brush set their source with Alt-click. The source marker remains visible on the canvas, and a stroke samples a frozen source view so the destination cannot feed back into that same stroke.
- Clone Stamp copies source pixels. Aligned mode moves the source with the stroke; unaligned mode starts from the chosen anchor each time.
- Healing Brush adapts the source texture toward the destination's local colour. It is a bounded first-order mean-shift blend, not a gradient-domain or content-aware reconstruction; use Clone when that adaptation smears detail across an edge.
- Spot Heal searches a bounded nearby region for a texture patch. It uses existing image evidence and does not synthesize missing detail.
- Patch copies a selected source region into the destination with a feathered boundary.
- Dodge and Burn applies exposure in stops in linear light, with Shadows, Midtones, or Highlights focus. It changes existing destination pixels and does not create coverage.
Sampling scope is Current layer, Current and below, or All visible layers; sampling scope controls the source image, while the selected raster layer remains the only write target. The active selection clips repairs, and Alpha lock limits them to pixels already present on the destination. Clone Stamp, Healing Brush, and Dodge and Burn map pen pressure to flow; mouse input keeps its normal deposit. Spot Heal's single-dab action does not use pressure.
Repairs are persistent document pixels: one completed stroke is one undo step, and cancel or a pixel-identical no-op adds no history. Save and reopen the document to retain the repair layer. Retouch tiles are RGBA8/sRGB; these tools do not preserve an upstream float HDR master. For RAW and range-bearing masters, see RAW & HDR Photo guide.
Frequency Separation
Select a raster layer and choose Frequency Separation from the command palette. The dialog shows Before, Combined,Tone, and Detail views before anything is committed. Radius is Gaussian sigma in layer pixels, so zoom, device-pixel ratio, preview size, and export resolution do not change the authored split.
- Review the measured reconstruction error and choose the radius that matches the material's texture scale.
- Apply to create a linked group containing ordinary Tone and Detail raster layers.
- Retouch the selected component with paint, clone, heal, blur, masks, or effects. A detail value of 128 is neutral; it means “leave this texture unchanged,” not “paint gray into the photograph.”
- Choose the group and run the command again to re-split the current composite at a different radius. Existing edits are read first and are not silently thrown away.
- Use Flatten Frequency Separation only when you intentionally want one raster layer.
The current implementation is an 8-bit sRGB two-band split. RGB residuals are signed internally and stored with a neutral 128 encoding; alpha remains source coverage and is not added to the residual equation. Reconstruction is bounded to at most one channel step for an unedited split. Gaussian is the supported method today; nonlinear median, bilateral, and multiscale wavelet variants are not presented as if they had the same reconstruction contract.
Liquify
Select one editable raster and press Y, or choose Liquify from the Photo tools. The options panel shows the actual target, brush mode, size, strength, falloff, pressure mapping, protection, and grid controls.
- Push follows the pointer; Expand, Contract, Twirl, Restore, and Smooth are local deformation operations.
- Pointer samples are coalesced in order, predictions are preview-only, and the release sample is committed once. A stationary Push does not drift from event-rate or timer changes.
- The field is output-to-source and the original raster remains the sampling source. Previewing, undoing, re-entering, and exporting do not repeatedly warp an already warped bitmap.
- Freeze and Thaw are raster protection controls. A Frequency Separation group can receive a shared deformation, but group-level freeze is explicitly unavailable; select Tone or Detail for an advanced component-only field.
- Reset clears the visible target's field. Resetting a selected band does not unexpectedly remove its sibling's deformation.
Vector, text, and arbitrary groups are not silently rasterized by Liquify. Select a raster target or use the explicit guidance in the panel. Geometry-level vector liquify remains a separate capability because it needs curve adaptation, hit testing, and export semantics.
Using both tools
The order matters because nonlinear spatial deformation and frequency decomposition do not commute. Liquify first when the shape correction should be the source for a new split. Retouch the linked Tone/Detail group first when the deformation should move the finished composite. Deforming only one band is intentionally marked as an advanced operation and can create a different result than a shared group deformation.
The group marker links stable node IDs rather than layer names. Renaming, duplication, save/reopen, undo, and export preserve that relationship; a missing or malformed link falls back to ordinary group rendering instead of decoding unrelated pixels.
Save, reopen, and export
- Commit the stroke or separation and wait for the normal Saved state.
- Reload or reopen the document from Home. The Tone/Detail IDs, residual tiles, deformation field, and protection mask are document data, not a temporary canvas or blob URL.
- Export from the normal Export panel. PNG and other raster outputs use the committed source plus field at the requested resolution, not the viewport preview.
Inspect the written file when delivery matters. An export event alone does not prove that a deformed or separated result was encoded. SVG/PDF retain unaffected vector and text structure; a raster dependency is rasterized only where the target format cannot represent the effect.