Paint Forge ships a full vector pipeline alongside its raster engine. These features unlock non-destructive shape work, editable strokes, and reusable brushes — all backed by the same underlying engine the rest of the app uses.
Combine two vector objects into a new PathObject using boolean operations. Select exactly two shapes (rect, ellipse, polygon, star, path, or brush stroke), then choose an operation from the Image > Path submenu, the Arrange toolbar, or the command palette.
| Operation | Result |
|---|---|
| Union | Outline that surrounds both shapes — useful for merging overlapping forms. |
| Subtract | Removes the second shape from the first — punches a hole. |
| Intersect | Keeps only the area where both shapes overlap — useful for clipping a shape against another. |
| Exclude | Keeps the area covered by either shape but not both — produces a "donut" or XOR pattern. |
Vector brush strokes (BrushStrokeObject) remain editable after you draw them. Double-click a stroke with the Select tool to enter Edit Brush Stroke mode. Each centerline point shows two handles: a blue dot for position and an amber ring for per-vertex width.
Touch input
Beyond the 47 built-in vector brush variants, you can save your own. The Brush Customize dialog lets you tune taper, halo, color jitter, pen tilt, pressure curve, dash pattern, and per-vertex gradient stops — then save the result as a Custom Vector Variant. Saved variants appear under their own section in the Variant Grid and can be renamed, duplicated, or shared to the community.
colorJitter: 0 override the base, so you can disable a feature the parent enabled.Record a sequence of strokes and replay them later with different colors, sizes, or even a completely different brush variant. Recordings can be saved as macros and recalled from the Brush Macros picker for one-click replay.
Use case
A frame group is a group layer with cel-animation playback enabled. When isFrameGroup is on, only the layer at currentFrameIndex renders during compositing — siblings stay in the document and remain editable but are hidden from the active frame. Each group has its own FPS, loop mode, and per-frame duration overrides.
Onion skin renders ghosts of adjacent frames around the active frame so you can register new strokes against neighbors. Configure 0–3 previous and next frames with independent opacity and tint per direction. Strictly view-only — exports stay clean.
Two stroke modes specific to frame groups (set per-group):
Sticky links are persistent constraints between two vector objects — move the source and the target snaps to stay in compliance (e.g. “B always sits 1 inch to the right of A”). Create one by selecting two objects and pressing Ctrl+Alt+L (or right-click > “Link to other selected object…”); manage them in the Links section of the Properties panel.
While a linked object is selected, the canvas draws blue (outgoing) and green (incoming) dimension lines so the relationship is visible, and smart-guide snaps to a linked partner render in a distinct color.
When several signed-in people open the same cloud project, Paint Forge shows live presence: colored avatar dots in the top bar, each collaborator's cursor with a name label on the canvas, and indicators for which slices someone is viewing or commenting on. Up to 8 collaborators are shown per project, each with a distinct color. This is presence and awareness — not yet live co-editing of the document, so coordinate edits to avoid save conflicts (see Sharing & Collaboration).
Operations that apply across many layers or objects in a single command. All push one history entry so a single undo reverses the whole batch.
| Operation | Description |
|---|---|
| Batch Color Replace | Replace one color with another across vector fills/strokes and/or raster pixels. Configurable tolerance and scope (selected / active layer / all). |
| Auto-Organize Layers | Sort top-level layers into Text / Raster / Shapes / Adjustments group folders. |
| Batch Resample Layers | Scale every visible non-adjustment layer’s raster + vector geometry by a single factor (1–400%) using bilinear interpolation. |
| Sort Layers | Sort siblings by name, type, or blend mode — preserves group hierarchy via DFS rebuild. |
| Apply Filter to All Visible Layers | Re-applies the current FiltersPanel state to every visible raster layer; vector-only layers are skipped. |
| Batch Export | Export each layer or object as a separate file with a configurable naming template, packaged as a ZIP. |
| Batch Rename | Rename multiple objects with token-based templates ({name}, {type}, {#}, {layer}). |
View-only display modes that change how the canvas is rendered without affecting export. All toggle from the View menu or command palette.
| Mode | Use case |
|---|---|
| Color Blindness Simulation | Preview your work as protanopia, deuteranopia, tritanopia, or achromatopsia would see it. Cycle with Ctrl+Shift+B. |
| Exposure Clipping Overlay | Highlights blown highlights in red and crushed shadows in blue. Configurable thresholds. |
| Outline Mode | Wireframe rendering: blue 1px outlines on white, no fills, raster, or effects. Toggle with Ctrl+Shift+O. |
| Off-Canvas Rendering | Photoshop-style pasteboard. When enabled, content extending past document bounds renders onto the editor pasteboard. |
| Pixel Grid | Shows a 1px grid between pixels at 800%+ zoom for pixel-precise edits. |
| Render Stats | Overlays FPS, layer count, object count, and dimensions — useful when profiling performance. |
Export safety