Layer Basics

Layers are the foundation of non-destructive editing in Paint Forge. Every layer is a hybrid: it contains both a raster canvas (for pixel-based tools like brushes and erasers) and a vector objects array (for shapes, text, and paths). Vector objects render on top of the raster content within the same layer.

Layers are ordered from bottom to top — the layer at the bottom of the panel is drawn first, and each successive layer composites on top. Every layer has independent controls for:

  • Visibility (eye icon) — toggle whether the layer is rendered
  • Lock (padlock icon) — prevent accidental edits
  • Opacity (0 - 100%) — controls overall layer transparency
  • Blend Mode — determines how the layer composites with layers below it

Press 09 on your keyboard to quickly set layer opacity. 0 sets 100%, 1 sets 10%, 2 sets 20%, and so on. When objects are selected with the Select tool, the same keys set object opacity instead.

Layer Types

Regular Layers

The default layer type. A regular layer has its own raster canvas where pixel tools paint directly, plus an ordered list of vector objects (shapes, text, images, paths) that render on top of the raster data. Most editing work happens on regular layers.

Adjustment Layers

An adjustment layer holds a filter configuration rather than image content of its own. The filter is applied non-destructively to the composite of all layers below it, so you can change or remove it at any time without altering any pixels. Paint Forge supports 13 adjustment layer types:

Adjustment TypeDescription
Brightness/ContrastAdjusts overall brightness and contrast of the image.
CurvesPer-channel tonal control via a draggable spline curve.
LevelsRemaps input/output tonal range with gamma control.
ExposureSimulates camera exposure adjustment (EV stops).
Hue/SaturationShifts hue, adjusts saturation and lightness.
Color BalanceRGB shifts weighted by tonal range (shadows, midtones, highlights).
VibranceBoosts under-saturated colors while protecting already-saturated ones.
Channel MixerRemaps RGB channels via a 3x3 matrix with constant offset. Includes monochrome preset.
Selective ColorPer-hue CMYK adjustments across 9 color ranges with relative or absolute method.
Gradient MapMaps image luminance to a user-defined color gradient.
ThresholdConverts the image to pure black and white at a configurable luminance cutoff.
PosterizeReduces the number of color levels per channel, creating flat color bands.
InvertInverts all color channels, producing a photographic negative effect.

Add an adjustment layer from Image > Add Adjustment Layer or the + dropdown in the Layers panel. They are auto-named sequentially (e.g. “Curves 1”, “Curves 2”).

Group Layers

A group layer acts as a folder that contains child layers. Groups do not have raster content of their own, but they carry their own opacity, blend mode, and optional mask that affect all children collectively. See the Layer Groups section below for details.

Blend Modes

Blend modes control how a layer's pixels combine with the composite of the layers below. Paint Forge supports 23 blend modes organized into six groups. Blend modes can be set per-layer (via the Layers panel) and per-object (via the Properties panel).

Normal Group

Standard compositing with no special blending.

Internal KeyDisplay NameRendering
source-overNormalNative Canvas 2D composite

Darken Group

Each channel keeps the darker value between the layer and the composite below.

Internal KeyDisplay NameRendering
darkenDarkenNative Canvas 2D composite
multiplyMultiplyNative Canvas 2D composite
color-burnColor BurnNative Canvas 2D composite

Lighten Group

Each channel keeps the lighter value between the layer and the composite below.

Internal KeyDisplay NameRendering
lightenLightenNative Canvas 2D composite
screenScreenNative Canvas 2D composite
color-dodgeColor DodgeNative Canvas 2D composite
lighterLinear Dodge (Add)Native Canvas 2D composite

Contrast Group

Increases or decreases contrast depending on the underlying tones.

Internal KeyDisplay NameRendering
overlayOverlayNative Canvas 2D composite
hard-lightHard LightNative Canvas 2D composite
soft-lightSoft LightNative Canvas 2D composite
vivid-lightVivid LightSoftware pixel blending
linear-lightLinear LightSoftware pixel blending
pin-lightPin LightSoftware pixel blending
hard-mixHard MixSoftware pixel blending

Comparative Group

Computes the mathematical difference or ratio between layers.

Internal KeyDisplay NameRendering
differenceDifferenceNative Canvas 2D composite
exclusionExclusionNative Canvas 2D composite
subtractSubtractSoftware pixel blending
divideDivideSoftware pixel blending

Component Group

Blends individual HSL components (hue, saturation, or luminosity) from one layer onto another.

Internal KeyDisplay NameRendering
hueHueNative Canvas 2D composite
saturationSaturationNative Canvas 2D composite
colorColorNative Canvas 2D composite
luminosityLuminosityNative Canvas 2D composite

Blend Mode Features

  • Recent blend modes — the last 5 blend modes you used appear at the top of the dropdown for quick access.
  • Favorite blend modes — click the star icon next to any blend mode to favorite it. Up to 10 favorites are shown in a dedicated section of the dropdown.
  • Blend mode presets — save and load named combinations of blend mode + opacity for frequently used layer styles.

The six software-blended modes (Subtract, Divide, Vivid Light, Linear Light, Pin Light, Hard Mix) use per-pixel math because they are not natively supported by the Canvas 2D API. They are slightly slower than native modes on very large canvases.

Layer Operations

OperationShortcutDescription
Add LayerCreates a new empty regular layer above the active layer.
Delete LayerRemoves the active layer and selects the nearest remaining layer.
Duplicate LayerCreates an identical copy of the active layer including raster data, vector objects, and masks.
Reorder LayersDrag and drop layers in the Layers panel to change their stacking order.
Merge Layer DownCtrl+EMerges the active layer into the layer directly below it.
Merge Visible LayersCtrl+Shift+EComposites all visible layers into the bottom-most visible layer and removes the others. This is destructive.
Merge Visible to New LayerCtrl+Shift+Alt+ENon-destructive stamp: composites all visible layers into a new layer on top while leaving the originals untouched.
Flatten ImageRenders the full composite (raster, vector, adjustments, masks, blend modes, and background) into a single flat raster layer. All other layers are removed.
Rasterize LayerBurns all vector objects on the active layer into the raster canvas. The layer's blend mode and opacity are preserved.
Layer Via CopyCtrl+JCopies the pixel selection content to a new layer inserted above the source layer. The original layer is untouched.
Layer Via CutCtrl+Shift+JCuts the pixel selection content to a new layer inserted above the source layer. The selected area is erased from the source.
Delete Hidden LayersRemoves all layers whose visibility is currently off. Available from the Image menu and command palette.
Delete Empty LayersRemoves all layers that contain no raster pixels and no vector objects. Available from the Image menu and command palette.

Opacity Shortcuts

When no objects are selected, press 09 to set the active layer's opacity (0 = 100%, 1 = 10%, 5 = 50%, etc.). When objects are selected with the Select tool, the same keys control object opacity instead.

Color Labels

Assign a color label to any layer for visual organization. Eight label colors are available: red, orange, yellow, green, blue, purple, pink, and gray. The label appears as a colored dot and left-side accent bar in the Layers panel. You can also filter layers by color label using the extended search syntax color:red in the Layers panel search bar.

Layer Groups

Groups act as folders that organize related layers together. A group has its own opacity and blend mode, which are applied to the composited result of all its children.

  • Create a group with Ctrl+G or via Image menu.
  • Drag layers into or out of a group in the Layers panel.
  • Remove a layer from its group via Image menu or command palette (layer:removefromgroup) — the layer is promoted to the top level without losing its content.
  • Collapse or expand individual groups, or use Collapse All / Expand All from the Layers panel toolbar.
  • Ungroup a group (Ctrl+Shift+G) to dissolve the folder and promote all children to the parent level.
  • Group opacity and blend mode affect all child layers collectively.
  • Groups can have their own layer mask (see Layer Masks below).
  • Nested groups are supported — groups within groups.
  • Select all objects on the active layer via Edit > Select All on Layer (command palette: selection:selectalllayer).

Auto-Organize Layers

The Auto-Organize feature (available from the Layers panel toolbar, Image menu, or command palette) analyzes your top-level layers and groups them by content type into folders: Text, Raster, Shapes, and Adjustments. You can choose which categories to group via checkboxes before applying.

Layer Masks

A layer mask is a grayscale canvas attached to a layer that controls the visibility of each pixel. White pixels in the mask are fully visible, black pixels are fully hidden, and gray values produce partial transparency.

Mask Controls

FeatureDescription
Add / Remove MaskAdd a mask via Image > Mask > Add Mask. New masks start as all-white (fully visible). Remove a mask to discard it entirely.
Mask Density (0 - 1)Controls the overall strength of the mask. At density 1, the mask is fully applied. At 0, the mask has no effect (layer is fully visible).
Mask Feather (0 - 50px)Softens the edges of the mask by applying a blur. Higher values produce smoother transitions between masked and unmasked areas.
Mask Visibility ToggleTemporarily disable the mask without removing it. Useful for comparing the layer with and without its mask.
Mask Editing ModeWhen enabled, painting tools draw on the mask canvas instead of the raster canvas. Paint white to reveal and black to hide.
Invert MaskFlips all mask values (white becomes black and vice versa), reversing which areas are visible.
Copy MaskCopies the mask data from one layer to another via Image > Mask > Copy Mask to Below.
Mask from SelectionCreates or replaces the layer mask using the current pixel selection. Selected areas become white, unselected become black.
Selection from MaskConverts the layer mask into a pixel selection. White mask areas become selected, black become deselected.
Toggle Mask Editing (Ctrl+\)Keyboard shortcut to quickly toggle mask editing mode on the active layer without clicking the mask thumbnail.
View Mask SoloAlt+click the mask thumbnail to view the mask in grayscale isolation. Alt+click again to return to normal composite view.

Quick Mask Mode

Press Q to enter Quick Mask Mode. In this mode, a temporary grayscale canvas is created at document size. If a pixel selection already exists, it is rendered as white on black onto this canvas. You can then use any painting tool to refine the selection: paint white to add to the selection, black to remove from it. A semi-transparent red overlay previews the mask on the canvas.

Press Q again (or switch to a non-painting tool) to exit Quick Mask Mode. The canvas luminance is converted back into a pixel selection mask. The Status Bar shows a “Quick Mask” indicator while the mode is active.

Alpha Lock

Alpha Lock restricts painting tools so they can only affect pixels that already have non-zero alpha (i.e., existing content). Transparent areas remain transparent regardless of brush strokes. This is useful for recoloring or texturing shapes without painting outside their boundaries.

  • Toggle per-layer via the Grid3x3 icon in the Layers panel.
  • Works with all raster painting tools (brush, eraser, spray, calligraphy, blur, sharpen, dodge/burn, smudge, clone stamp, healing brush, color replace, fill).
  • Implemented via alpha channel snapshot/restore: the original alpha is captured before each stroke and restored afterward.
  • Optimized with region-based restore for strokes that affect a small portion of the canvas.

Alpha Lock is independent of layer masks. You can use both on the same layer — the mask controls visibility while alpha lock controls paint boundaries.

Adjustment Layers

Adjustment layers are the primary way to apply non-destructive color and tonal corrections. Unlike applying a filter directly to a raster layer (which permanently modifies pixels), an adjustment layer stores only the filter configuration. It is applied live to the composite of all layers below it during rendering.

TypeKeyWhat It Controls
Brightness/Contrastbrightness-contrastBrightness (-100 to 100) and contrast (-100 to 100) sliders.
CurvescurvesDraggable control points per channel (RGB, Red, Green, Blue). Monotone cubic Hermite spline interpolation. 5 built-in presets.
LevelslevelsInput black/white points, gamma midtone slider, and output range. Per-channel or combined.
ExposureexposureExposure value in EV stops. Works with highlights and shadows sliders.
Hue/Saturationhue-saturationGlobal hue rotation, saturation boost/cut, and lightness shift.
Color Balancecolor-balanceCyan-Red, Magenta-Green, Yellow-Blue shifts independently for shadows, midtones, and highlights.
VibrancevibranceVibrance (smart saturation) and saturation sliders.
Channel Mixerchannel-mixerRed/Green/Blue output channels each controlled by R/G/B input percentages plus constant. Monochrome preset zeroes cross-channels.
Selective Colorselective-colorAdjust Cyan, Magenta, Yellow, Black amounts for Reds, Yellows, Greens, Cyans, Blues, Magentas, Whites, Neutrals, and Blacks.
Gradient Mapgradient-mapLuminance mapped to gradient stops with configurable blend strength. 5 built-in gradient presets.
ThresholdthresholdSingle threshold slider (0-255). Pixels above the threshold become white; below become black.
PosterizeposterizeLevels slider (2-8). Controls how many distinct color levels per channel are preserved.
InvertinvertNo controls — toggles a full channel inversion on or off.

Adjustment Layer Features

  • Clipping masks supported: an adjustment layer can be clipped to the layer directly below it, affecting only that layer instead of the entire composite.
  • Copy / Paste adjustment settings between adjustment layers via Image menu or command palette (layer:copyadjustment / layer:pasteadjustment).
  • Adjustment presets: save, load, export, and import named adjustment configurations. Access via the preset picker in the adjustment layer config panel.
  • Auto-named sequentially (e.g. "Curves 1", "Levels 2") to avoid ambiguity when multiple adjustment layers of the same type exist.
  • Adjustment layers can be reordered, hidden, or deleted like any other layer.
  • Each adjustment type has its own configuration panel with sliders and visual editors (e.g. the Curves editor with interactive control points).
  • A floating Adjustment Dialog (Edit menu or command palette) lets you apply individual adjustments without creating a full adjustment layer.

Use Ctrl+R to repeat the last applied filter or adjustment — it reapplies the exact same settings without opening any dialog.

Layer Comps

Layer Comps are lightweight named snapshots that capture the visibility, opacity, and lock state of every layer. They let you quickly switch between different configurations of your layer stack without duplicating layers or flattening.

  • Create a comp to save the current visibility, opacity, and lock state of all layers.
  • Restore a comp to instantly return all layers to that saved state.
  • Rename or delete comps as your project evolves.
  • Each comp stores a small thumbnail preview for quick identification.
  • Up to 10 layer comps per project.
  • Persisted to localStorage alongside the auto-save.

Cycle through your saved layer comps with Shift+Arrow Left and Shift+Arrow Right when no objects are selected. The comp name and index are shown in a toast notification as you cycle.

Layer comps are ideal for presenting design alternatives to clients — save one comp per variation, then cycle through them during review.

Layer Solo Mode

Solo mode lets you isolate a single layer by hiding everything else. Alt+click the eye (visibility) icon of any layer to solo it. All other layers are hidden and the soloed layer's eye icon turns amber to indicate solo mode.

Alt+click the eye icon again to unsolo and restore the previous visibility state of all layers. You can also use Image > Show All Layers to make every layer visible and exit solo mode at the same time.

Solo mode is especially useful when working in complex documents with many layers — it lets you see and edit one layer in complete isolation without manually toggling dozens of visibility switches.

Mask Solo Mode

Mask solo mode lets you view a layer's mask in isolation as a grayscale preview, making it easier to inspect and paint fine mask details. Alt+click the mask thumbnail in the Layers panel to enter mask solo mode. The canvas shows the mask as grayscale (white = visible, black = hidden) and hides all other layer content.

Alt+click the mask thumbnail again to exit mask solo mode and restore the normal composite view. The mask itself is not modified by entering or exiting solo mode.

Clipping Masks

A clipping mask clips a layer's content to the alpha channel of the layer directly below it. Pixels in the clipped layer are only visible where the layer beneath has non-transparent content. This is a powerful non-destructive technique for containing edits within a shape or selection.

  • Toggle clipping mask via the layer context menu or the Layer > Clipping Mask option in the Layers panel.
  • A clipped layer is shown with a downward arrow indicator and indented thumbnail in the Layers panel.
  • Multiple layers can be clipped to the same base layer by stacking them consecutively above it.
  • Adjustment layers can also be clipped — they then only affect the single layer below them instead of the entire composite.
  • The base layer's opacity and blend mode affect the entire clipping group.

Clipping masks are ideal for applying textures, gradients, or adjustments to a specific shape without painting a mask. For example, place a texture layer above a shape layer and enable clipping — the texture will only appear inside the shape.