Path & Vector
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.
Path Boolean Operations
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. |
Brush Stroke Editing
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.
- Drag the blue handle to move a point — half-width and pressure ride along untouched.
- Drag the amber ring to project the cursor onto the perpendicular and resize that segment.
- Shift+click on the polyline to insert a new point with interpolated halfWidth.
- Alt+drag from an endpoint to extend the stroke with new points.
- Shift+Alt+click on the polyline to split the stroke into two independent objects at the click point.
- Delete or Backspace removes the selected point (when at least 3 would remain).
- Escape returns to the Select tool.
Touch input
Custom Vector Variants
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.Stroke Recording & Macros
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
Animation Power Tools
Frame Groups
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.
- Loop modes: loop (wrap), pingpong (forward+reverse), once (stop at the end).
- Per-frame duration: override the group FPS for individual frames via frameDuration.
- Use Alt+, and Alt+. to step backward / forward through frames manually.
- The Animation panel cel blocks size in proportion to each frame’s duration.
Onion Skin
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.
Draw-Through & Auto-Advance
Two stroke modes specific to frame groups (set per-group):
- Draw-Through: a raster stroke on any child copies onto every sibling on stroke end. Use this for backgrounds shared across all frames.
- Auto-Advance: stroke end steps currentFrameIndex forward and activates the next child. Lets you draw frame-by-frame without leaving the canvas.
Batch Operations
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 Modes
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
Workflow Recipes
Frame-by-Frame Animation
- Create a group layer, then enable Frame Group on it.
- Add empty layers as children — each becomes a frame.
- Turn on Auto-Advance and Onion Skin (1 prev, 1 next).
- Draw on the active frame; on stroke end the timeline advances and a new ghost appears for reference.
- Open the Animation panel to scrub or play back.
Non-Destructive Color Grade
- Stack adjustment layers above a raster layer (Curves, then Color Balance, then Split Toning).
- Use Layer Comps to save before/after configurations.
- Turn on Filters Split View to drag-compare original vs graded.
- Use Copy/Paste Adjustment to reuse the same grade across other projects.
Reusable Vector Stamps
- Draw a complex shape using the brush + path tools.
- Save it to the Object Library (right-click → Save to Library…).
- Use the Pattern Brush dialog to scatter copies of the saved object along a brush stroke centerline.
- Optionally orient each instance to the centerline tangent for natural strokes.