# Upscaling before vectorization: public audit packet This packet contains two self-authored synthetic fixtures, eight captured SVG outputs, their 384 px renders and a measured comparison. It does not include or reproduce pic2svg's private tracing pipeline. These are local experimental results, not hosted-service measurements. Rerunning the hosted converter may produce different results. ## Reproduce the audit Use Python 3.10 or newer and Pillow 12.3.0 in an isolated environment. From this folder run: python audit.py This regenerates both fixture references in memory, checks all four input variants, recounts SVG paths/nodes/normalized bytes, and recomputes RGB/foreground/gap/dot metrics from the saved renders. It writes no files. It must report eight cases and matching recorded metrics. Optional: install CairoSVG 2.9.1 in that isolated environment, with a working Cairo library, then run: python audit.py --rerender This additionally renders each saved SVG at 384 × 384 with a white background and compares its pixels with the captured PNG. Renderer/library changes can alter antialiasing. No private engine code is imported by either mode. ## Files - `results.json`: recorded table, metrics, supported claims and limits; all asset paths are relative. - `audit.py`: portable fixture-generation and saved-output audit, with no private backend imports. - `tiny_features/` and `simple_control/`: native references and the four input/output/render sets. - `overview.png`: native reference followed by original 96 px, nearest 4×, Lanczos 4× and native 384 px trace renders, for each fixture. Private tracing source and original logs are excluded from this packet. ## How to interpret the table Both fixtures start with original 384 px geometry rendered at 4× resolution and downsampled for antialiasing. The 96 px input is downsampled from that reference. Nearest and Lanczos 4× variants derive only from the 96 px input. The simple control removes the tiny dot and slit. No AI upscaler is involved. All traces used the same Balanced/auto configuration. Some inputs changed the automatically selected tracing mode; results cannot be attributed purely to resampling. RGB error is not perceived quality. The nearest-upscaled dot is present but misshapen and recolored; even the native trace does not retain its coral color. Inspect the images alongside the numbers. Two synthetic examples do not justify an always/never rule.