Troubleshooting
Common issues and how to resolve them. If something here doesn’t match what you’re seeing, please file a bug report — see Reporting Bugs below.
Save & Sync
Autosave isn’t recovering my work
Paint Forge auto-saves to your browser’s local storage every 10 seconds and on every meaningful edit. If you reload and your project is gone, check:
- You’re using the same browser profile (autosave is per-browser, per-device).
- Private / Incognito mode disables persistent storage on most browsers.
- Browser storage may have been cleared (manually or via "Clear browsing data").
- The autosave file may exceed the 50 MB cap — very large projects skip autosave silently.
A “Save Conflict” warning appeared
Conflicts happen when the same project was edited in two places at once (e.g., a second tab or another device). The resolver shows side-by-side thumbnails of both versions. Pick the one to keep, or reload the cloud version into a new local copy.
I’m offline — what happens to my work?
Local autosave still runs offline. Cloud save and persistent history are buffered locally and uploaded automatically when you reconnect. The retry queue uses exponential backoff, capped at 5 attempts.
Performance
Brush strokes feel laggy
- Drop the brush size — large brushes cost a lot per stamp.
- Reduce the painting frame rate ceiling in Preferences → Display.
- Hide layers you’re not actively using. Composite cost scales with visible layer count.
- Flatten the project (Image → Flatten Canvas) when you no longer need editable layers — drops compositing overhead dramatically.
- Disable view modes you’re not using (Color Blindness, Clipping Overlay, Render Stats).
Software-blended modes
Large canvases are slow
Paint Forge supports canvases up to 10,000 × 10,000 px, but performance drops past about 4 megapixels on weaker hardware. If you need to ship at large dimensions:
- Work at 50% size and use Image → Batch Resample Layers at the end to scale up.
- Reduce the active layer’s raster bounds with Image → Auto-Crop Layer.
- Hide adjustment layers you’re not actively previewing — they re-composite the underlying stack.
Undo history is using too much memory
Lower Max Undo Steps in Preferences → General. History is patch-compressed between keyframes, but a long session with large layers can still accumulate hundreds of megabytes. The system also enforces a memory cap and trims oldest entries automatically.
Display & Color
Exported colors don’t match what I see
- Disable any active View Modes (Color Blindness, Clipping Overlay, Outline Mode) — they affect display only, but it’s easy to forget they’re on.
- Check whether the destination app supports the export format’s color profile. JPEG and PNG ship without a profile and assume sRGB.
- Soft-proof for color-blind users via the Color Blindness View Mode while editing — exports stay accurate.
Dark mode renders thin lines or halos
Dark mode is a UI theme — the canvas always renders against your declared background color. If you’re exporting with a transparent background, anti-aliased edges may appear haloed against a different background later. Use Image → Background → solid color to bake an intentional backdrop.
File Import & Export
PSD opens with editable text in Photoshop
Layers containing exactly one text object (no raster pixels) export as native PSD text layers and stay editable in Photoshop. Mixed layers (text + brush strokes on the same layer) export as flattened raster.
GIF exports are too large
- Lower the export scale (50% halves the dimensions in each axis, ~quartering the size).
- Reduce the frame rate or trim the duration.
- Cut the number of unique layers — GIFs encode a separate frame per timeline step, so motion-heavy scenes balloon fast.
- Try WebM or MP4 export instead — both compress dramatically better than GIF.
Lottie export reports unsupported objects
Lottie supports rectangles, ellipses, and image layers with animated transforms. Text, paths, polygons, stars, brush strokes, gradients, effects, frame groups, audio, and adjustment layers don’t map cleanly and are skipped (with a warning toast). Convert paths and text to raster or rasterize unsupported layers before exporting.
Pasted images don’t appear
Paste from the OS clipboard (Ctrl+V) only inserts an image when the clipboard contains image data. If you copied a file from a folder, most browsers store a file path rather than the image bytes — drag-drop the file into the canvas instead.
Known Limitations
| Area | Limitation |
|---|---|
| Canvas size | Hard cap at 10,000 × 10,000 px. Browser memory may force you lower in practice. |
| Export size | Hard cap at 16,384 px in either dimension to stay within browser canvas safety limits. |
| Flood fill | Aborts after 4 megapixels of fill area to avoid runaway memory; large continuous regions may need to be split. |
| History | Capped at the user-configured Max Undo Steps and a memory budget; oldest entries trim first. |
| Realtime presence | Up to 8 collaborators per project. Beyond that, color cycling repeats. |
| Spell check | English-only built-in dictionary (~500 words) plus your custom additions. No other languages bundled. |
| Variable fonts | Limited to a curated registry of well-known variable fonts (Inter, Roboto Flex, Recursive, Source Sans 3, Crimson Pro, Fraunces). Custom variable fonts fall back to common axes. |
Reporting Bugs
Found something broken? Help us fix it:
- Reproduce the issue with a minimal project — the smaller, the easier to triage.
- Capture the steps that lead to the bug (a quick screen recording is gold).
- Note your browser, OS, and approximate canvas size.
- Open the browser console and copy any visible errors or warnings.
- File the report at the project’s issue tracker with the above details.
Don’t paste sensitive data