Why This AI Illustration Tool Deliberately Removed Its SVG Export Feature: A Counter-Intuitive Engineering Decision

DnR FlatPic removed SVG export because it degraded core PNG quality — a textbook case of subtractive product thinking.
DnR FlatPic is an open-source Agent Skill that converts photos into flat-color illustrations. Its author integrated a VTracer-based SVG export pipeline with fixed presets to ensure predictability, but three persistent issues emerged: geometric distortion, noise baked into SVG paths, and most critically, the need to disable PNG gradients upstream to keep vectorization stable. Faced with an ancillary feature eroding the core experience, the author removed SVG export entirely and stopped the pipeline at the raster stage — a decision grounded in three engineering principles: avoid stacking uncertainty, respect output hierarchy, and prioritize reproducibility over peak quality.
A Counter-Intuitive Technical Decision
In AI image generation tooling, more features are generally considered better. But the author of the open-source project DnR FlatPic (developed by CreateLafont) made a counter-intuitive call: deliberately removing the much-anticipated SVG export feature. The reason was straightforward — it was dragging down the quality of the core PNG output.
DnR FlatPic is an Agent Skill that converts reference photos into low-complexity, flat-color illustrations. Rather than simply tracing a photo, it first identifies visual anchor points in the scene, strips away non-essential information, and then reconstructs the entire image using a minimal set of hard-edged color blocks. This is a classic "subtraction" design philosophy — prioritizing clean geometric structure and restrained color expression.

The Original Goal of SVG Export and the Choice of VTracer
Originally, the author integrated a PNG-to-SVG pipeline powered by VTracer (version 1.0.0-alpha.3, invoked via Node/WASM). The rationale for choosing VTracer was practical: it has a small footprint (~0.66 MiB) and delivered the best vectorization results in baseline testing.
What's worth noting is that the author deliberately avoided using an AI model to dynamically select tracing parameters on a per-image basis. His reasoning is compelling:
"Raster image generation is already nondeterministic. Stacking a probabilistic parameter-selection layer on top would turn debugging into a nightmare."
This is a critical engineering judgment — in a pipeline already full of uncertainty, avoid introducing more uncertainty. So, based on extensive testing across source images, the author locked in a fixed set of preset parameters: layered color clustering mode, spline curve paths, maxColors: 24, filterSpeckle: 10, cornerThreshold: 30, and more. This fixed preset kept the entire workflow predictable.
Three Edge Cases That Couldn't Be Worked Around
Despite the carefully tuned fixed presets, the author kept running into three frustrating problems.
Geometric Distortion: Clean Lines Get Warped
Building edges that should be perfectly straight would sometimes come out slightly curved or rounded after vectorization. For a visual style built on "clean geometry," these minor deviations are especially jarring — they directly undermine the core aesthetic of flat illustration work.
Noise Gets Baked Into Solid Geometry
Sharpening halos, anti-aliased edges, and minor raster noise were all faithfully converted by VTracer into explicit SVG path segments. Artifacts that should have been ignored instead got solidified into structural geometry in the vector output, polluting the overall structure.
The Real Dealbreaker: PNG Gradients Forced Off
The third problem was the final straw. To keep SVG tracing stable, the author was forced to completely disable gradients in the upstream PNG generation stage.
The reason: VTracer cannot faithfully reconstruct smooth color transitions — like a sunset sky or water surface — as true SVG gradients. Instead, it slices them into adjacent blocks of hard-stepping colors. In other words, keeping SVG export meant forcing the generated PNG to become flatter and less expressive.
The core contradiction was now fully exposed: supporting vector output required sacrificing the quality of raster output. That's backwards — PNG is this tool's primary deliverable.
Decisive Subtraction: The Pipeline Stops at the Raster Stage
Ultimately, the author chose to remove the SVG export feature entirely. The generation pipeline now intentionally terminates at the raster PNG stage.
This decision reflects a mature product instinct: when an ancillary feature starts eroding the core experience, removing it is wiser than patching it. The fixed presets guaranteed workflow predictability, but they couldn't deliver consistent results across diverse source images — not reliably enough to justify keeping the feature as a default.
An Unresolved Technical Challenge: A Deterministic Raster-to-SVG Pipeline
At the end of his post, the author posed an open question to the community — one that also articulates a shared challenge for AI illustration tools:
Has anyone successfully built a deterministic raster-to-SVG pipeline specifically for AI-generated flat-color illustrations, without relying on per-image AI parameter tuning or manual tweaking?
He laid out his priority ordering clearly:
Reproducibility > Structural Cleanliness > Pixel-level Fidelity
This ranking is revealing. The author isn't chasing pixel-perfect parity between SVG and PNG — he's perfectly fine with minor differences, as long as the geometric structure is clean and the output is perceptually equivalent. What he truly wants to avoid is an unstable pipeline that produces perfect geometry on one image and spaghetti topology on the next.
Lessons for Developers
This seemingly simple case of removing a feature contains several principles worth reflecting on.
First, beware of stacking uncertainty. When one stage of a system already has randomness baked in, adding a probabilistic component on top can exponentially amplify debugging difficulty. The author's refusal to use AI for parameter selection was grounded in exactly this insight.
Second, establish a clear hierarchy among your outputs. A tool's core output must receive the highest priority. Any supplementary feature that asks the core deliverable to make compromises should be evaluated with serious skepticism.
Third, determinism can matter more than quality. In engineering practice, a stable and predictable result with minor imperfections is often more valuable than a "best-case" result that's inconsistent. This is the deeper reason the author placed Reproducibility at the top of his list.
DnR FlatPic's feature trim is a real and measured engineering decision from the open-source community. It's a reminder that great products are defined not just by what you add — but by what you're willing to cut.
Related articles

Catalyst: A Vision for an Enzyme-Like Testing Framework for AI Agents
A developer shared Catalyst on Reddit, an Enzyme-inspired framework for AI Agents, exploring why agents need observable, testable dev tools and the design philosophy behind them.

The Real Capability of AI Coding Agents: Best Models Complete Only 35% of Feature Development Tasks
The 'Agents on Rails' benchmark finds top AI models complete only 35% of feature development tasks. What this means for coding agents and developer teams.

How to Prevent Duplicate Refunds After an AI Agent Crashes: CellaFlow's Durable Execution Approach
How can AI agents avoid duplicate refunds after a crash without deadlocking workflows? CellaFlow uses durable execution, shared work identity, leases, and fencing to solve safety and liveness in multi-agent systems.