| /** | ||
| * Presets, and the two signals that decide how they adapt to an image. | ||
| * | ||
| * Split out of `api.ts` (Node-only: pulls in libvips/resvg for file I/O) so | ||
| * that a portable consumer — `vecline/core`, which runs unchanged in a | ||
| * browser worker with no bundler shims — can resolve the SAME preset values | ||
| * and the SAME noise/size-adaptive overrides the CLI uses, rather than a | ||
| * hand-copied approximation that drifts the moment a number here is retuned. | ||
| * Everything below is plain computation over a `RasterImage`; nothing here | ||
| * reads a file, spawns a codec, or touches `node:`. | ||
| */ | ||
| import type { RasterImage } from '../types.js'; | ||
| import type { TraceOptions } from './trace.js'; | ||
| export type Preset = 'auto' | 'logo' | 'lineart' | 'poster' | 'photo' | 'detailed' | 'clean' | 'pixelart' | 'exact'; | ||
| /** | ||
| * Presets are starting points, not straitjackets — every field stays | ||
| * overridable. They exist because the useful parameter combinations cluster by | ||
| * *what kind of picture it is*, and asking someone to guess a Douglas–Peucker | ||
| * tolerance is a bad interface. | ||
| */ | ||
| export declare const PRESETS: Record<Exclude<Preset, 'auto' | 'pixelart' | 'exact'>, TraceOptions>; | ||
| export interface Flatness { | ||
| distinctColors: number; | ||
| capped: boolean; | ||
| /** Horizontal runs per pixel. Near 0 is flat artwork, near 1 is noise. */ | ||
| runRatio: number; | ||
| /** | ||
| * Mean absolute deviation from the local mean, measured only AWAY from edges. | ||
| * | ||
| * This is the precondition for sub-pixel refinement, not a content guess. | ||
| * Refinement recovers where an edge fell by inverting the anti-aliasing | ||
| * coverage across it; that inversion assumes the only variation near a | ||
| * boundary IS coverage. Interior noise is variation that is not, and it gets | ||
| * read as edge displacement. | ||
| */ | ||
| interiorNoise: number; | ||
| } | ||
| /** | ||
| * Two cheap signals separate "artwork" from "photograph" reliably: | ||
| * the number of distinct colours, and how often colour changes along a scanline. | ||
| * A screenshot can have thousands of colours yet still be mostly flat; a | ||
| * gradient-heavy photo has both high counts and high run density. | ||
| */ | ||
| export declare function measureFlatness(img: RasterImage, colorCap?: number): Flatness; | ||
| /** | ||
| * Interior noise above which sub-pixel refinement is switched off. | ||
| * | ||
| * Measured, with the same images clean and re-encoded, so the split is not a | ||
| * content guess: | ||
| * | ||
| * PNG rendered from vector 0.014 - 0.219 refinement worth +3.01 dB at scale | ||
| * the same at JPEG q40 0.577 - 1.079 refinement costs 0.03-0.10 SSIM | ||
| * logo-tux.png 0.799 costs 0.058 SSIM | ||
| * photo-parrots.png 1.583 | ||
| * a 100x100 JPEG sticker 5.061 costs 0.095 SSIM and 3.6x bytes | ||
| * | ||
| * No overlap: the clean set tops out at 0.219 and the noisy set starts at 0.577. | ||
| * 0.3 sits inside that gap and is deliberately nearer the clean end, because the | ||
| * two mistakes are not symmetric — refining clean input that did not need it | ||
| * costs a little size, while refining noisy input costs accuracy AND 3x the | ||
| * bytes. | ||
| * | ||
| * This replaces a genuinely bad rule. Refinement was previously switched off by | ||
| * `flat.capped`, a >4096 colour count, which JPEG noise trips on a cartoon — so | ||
| * the reported image that motivated curves-by-default went back to zero curves. | ||
| * A colour count is a proxy for content; this is the mechanism's own | ||
| * precondition. | ||
| */ | ||
| export declare const REFINE_NOISE_LIMIT = 0.3; | ||
| /** | ||
| * The refinement half of `autoTracePreset`, on its own. | ||
| * | ||
| * Split out so an explicitly chosen preset gets the same measured protection that | ||
| * `auto` gets. Deliberately returns ONLY the refine fields — palette choice stays | ||
| * the preset's business, and a preset that names `subpixel` overrides this by | ||
| * spreading after it. | ||
| */ | ||
| export declare function refineGateFor(image: RasterImage): { | ||
| subpixel?: boolean; | ||
| latticeSimplify?: boolean; | ||
| }; | ||
| export declare function cleanMinArea(width: number, height: number): number; | ||
| //# sourceMappingURL=presets.d.ts.map |
| {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/vectorize/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,EAAE,YAAY,CAkpBxF,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,SAAO,GAAG,QAAQ,CAgE3E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAoCtC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAMnG;AAoBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAElE"} |
| "use strict"; | ||
| /** | ||
| * Presets, and the two signals that decide how they adapt to an image. | ||
| * | ||
| * Split out of `api.ts` (Node-only: pulls in libvips/resvg for file I/O) so | ||
| * that a portable consumer — `vecline/core`, which runs unchanged in a | ||
| * browser worker with no bundler shims — can resolve the SAME preset values | ||
| * and the SAME noise/size-adaptive overrides the CLI uses, rather than a | ||
| * hand-copied approximation that drifts the moment a number here is retuned. | ||
| * Everything below is plain computation over a `RasterImage`; nothing here | ||
| * reads a file, spawns a codec, or touches `node:`. | ||
| */ | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.REFINE_NOISE_LIMIT = exports.PRESETS = void 0; | ||
| exports.measureFlatness = measureFlatness; | ||
| exports.refineGateFor = refineGateFor; | ||
| exports.cleanMinArea = cleanMinArea; | ||
| const image_js_1 = require("../image.js"); | ||
| /** | ||
| * Presets are starting points, not straitjackets — every field stays | ||
| * overridable. They exist because the useful parameter combinations cluster by | ||
| * *what kind of picture it is*, and asking someone to guess a Douglas–Peucker | ||
| * tolerance is a bad interface. | ||
| */ | ||
| exports.PRESETS = { | ||
| // Tolerances retuned after the curve-fit diagnosis. `logo` and `lineart` keep | ||
| // a higher value (0.6) because there a large arc should stay a few smooth, | ||
| // editable Béziers rather than a fine polygon — that is the whole point of a | ||
| // logo tracer. `poster`, `photo` and `detailed` favour accuracy, where the | ||
| // measured win is largest; `photo` at the old 1.4 was the worst setting in the | ||
| // whole table. | ||
| // `subpixel` and `precision: 1` are here and nowhere else, and the sweep that | ||
| // decided that is worth recording because three of the five presets failed it. | ||
| // | ||
| // Sub-pixel edge extraction is what lets the curve fitter run at all (see | ||
| // `subpixel.ts`), and on the two presets that already sit above the fitter's | ||
| // engagement threshold it buys a lot for less geometry: | ||
| // | ||
| // logo +1.84 dB @4x, +1.68 @3.902x, true segments -21.2% | ||
| // lineart +1.92 dB @4x, +1.74 @3.902x, true segments -19.2% | ||
| // | ||
| // It costs bytes — logo x1.80 raw / x2.90 gzip, lineart x2.08 / x3.61 across the | ||
| // twelve corpus inputs — and time, x1.49 and x1.77. That trade is worth taking | ||
| // where someone has said "this is a logo" and wants editable curves. | ||
| // | ||
| // It is NOT worth taking anywhere else, measured rather than assumed: | ||
| // | ||
| // - `detailed` couples tolerance/fitError at 0.3, which is *inside* the fitter's | ||
| // dead zone, so it emits zero curve segments today. Sub-pixel input there does | ||
| // not simplify an existing fit, it creates one and pays full price: **more** | ||
| // geometry (+10.1% true segments), x4.07 raw and x6.66 gzip bytes, x2.83 time, | ||
| // worse on 12 of 12 inputs — and it loses accuracy on the statistic these | ||
| // presets were tuned on (photo-cat SSIM 0.8645 -> 0.7003). | ||
| // - `poster` is the same story more mildly: x1.87 raw, x3.53 gzip, only -7.2% | ||
| // segments, and SSIM down on photographs. | ||
| // - `photo` is untouched on purpose; see its own note below. | ||
| // | ||
| // `precision: 1` is a separate, free win and applies only here for the same | ||
| // reason: -13.3% raw and -17.0% gzip for -0.001 dB. It pays for itself because | ||
| // sub-pixel coordinates are fractional, and a fractional coordinate costs both | ||
| // more characters and worse compression (integers gzip ~5.8x, fractionals ~2.7x). | ||
| // `strokeWidth` was finally MEASURED, having been the documented answer to seams | ||
| // for this project's whole life without a single number attached to it. On the | ||
| // metric alone it looks like an accuracy win: | ||
| // | ||
| // subject sw0.25 sw0.5 sw0.75 sw1 sw1.5 | ||
| // logo-tux +0.025 +0.043 +0.054 +0.054 +0.029 | ||
| // alpha-dice +0.026 +0.031 +0.023 +0.012 -0.007 | ||
| // vector-tiger +0.015 +0.027 +0.034 +0.030 -0.009 | ||
| // photo-parrots +0.015 +0.021 +0.020 +0.016 -0.003 | ||
| // photo-cat +0.051 +0.085 +0.099 +0.102 +0.089 | ||
| // the sticker +0.016 +0.021 +0.016 +0.005 -0.046 | ||
| // | ||
| // SSIM delta against the same preset at 0. Positive on 6 of 6 at 0.5, for | ||
| // 1.001x-1.028x raw bytes and 1.001x-1.014x gzipped. A strict improvement, which | ||
| // this project almost never finds, and it was sitting switched off. | ||
| // | ||
| // AND IT IS NOT SWITCHED ON, because the table above is not the whole story. | ||
| // | ||
| // Two things killed it after that measurement, both found by looking where the | ||
| // metric could not: | ||
| // | ||
| // 1. IT PAINTS OUTSIDE THE SILHOUETTE. On logo-tux the stroke puts colour into | ||
| // 831 pixels the source says are fully transparent, against 156 without it, | ||
| // with alpha reaching 183. Composited over white that is invisible, which is | ||
| // exactly why SSIM improved; over a dark background it is a halo. Transparent | ||
| // logos are the main thing `--preset logo` is pointed at, and this project has | ||
| // already shipped one dark-background rendering failure. | ||
| // | ||
| // 2. THE GAIN IS PARTLY SELF-INFLICTED. The preset's own `minArea: 8` and | ||
| // `tolerance: 0.65` cost accuracy that the stroke then partially repays. Plain | ||
| // `auto` scores higher on logo-tux than the preset does with the stroke on. | ||
| // | ||
| // So it is a TRADE, not the strict improvement the numbers alone suggested, and | ||
| // a trade whose cost falls on the preset's primary use case. It stays available | ||
| // as an explicit option, which is what it always was. | ||
| // | ||
| // What would make it shippable: a stroke that stops at the silhouette instead of | ||
| // straddling it. The measured win is real between two OPAQUE regions, where the | ||
| // half-covered pixels belong to both; it is only at the outer boundary against | ||
| // transparency that there is nothing on the other side to repair. | ||
| // | ||
| // (0.5 was the value chosen, on its floor rather than its mean: better worst case | ||
| // than 0.75, +0.021 against +0.016, and 1.5 goes negative on three of six.) | ||
| // | ||
| // Deliberately NOT applied to `auto` or the bare trace defaults, though the table | ||
| // shows it would help there too — photo-cat gains the most of any subject. That | ||
| // changes the published README figures and the byte-identity baseline, so it is a | ||
| // separate decision with its own measurement, not a rider on this one. | ||
| // | ||
| // Why a stroke helps at all: it paints the region's own colour back over the | ||
| // half-covered pixels along its boundary, which is where a fill-only mosaic loses | ||
| // coverage. The paid rival ships `stroke-width="2.00"` on its output group for | ||
| // what looks like the same reason. | ||
| // | ||
| // WHICH SETS ITS LIMIT, and a single antialiased disc shows the boundary | ||
| // condition by disagreeing with every row above: 0.9791 at 0, 0.9798 at 0.25, | ||
| // then DOWN to 0.9736 at 0.5 and 0.9462 at 1. The payoff scales with how much of | ||
| // the picture is boundary, so two big shapes gain almost nothing and lose to the | ||
| // overpaint, while artwork with hundreds of small regions gains throughout. Do | ||
| // not expect this to help a simple figure, and do not tune it on one. | ||
| // `colors: 8`, not 16, and the direction is the finding. Every earlier sweep of | ||
| // this preset went UPWARD — 32 and 64 are both worse — so 16 was treated as a | ||
| // floor and never tested from below. It is not a floor. On logo-tux: | ||
| // | ||
| // colours 6 8 10 12 16 | ||
| // gzip 11,929 12,836 15,459 16,644 19,638 | ||
| // SSIM 0.8872 0.8933 0.8897 0.8906 0.8747 | ||
| // | ||
| // 8 is +0.0186 SSIM against 16 at 0.65x the bytes — better on both axes — and | ||
| // rendered it is visibly cleaner: less mottling in the grey shading, smoother | ||
| // edges. Across the flat-art corpus, best-vs-16: logo-tux +0.0186 at 0.65x, | ||
| // vector-tiger +0.0052 at 0.97x, vector-comparison +0.0036 at 0.83x, all strict. | ||
| // vector-source is unchanged because it only contains two real colours. | ||
| // | ||
| // The one loss is alpha-dice, which prefers 16 by 0.008. That is the trade taken: | ||
| // three strict wins and a visible improvement on the preset's namesake case | ||
| // against one modest regression on a subject with far more real inks than a logo. | ||
| // | ||
| // THE OTHER PRESETS WERE SWEPT THE SAME WAY AND MOSTLY LEFT ALONE, because the | ||
| // "tuned only from above" mistake is not universal: | ||
| // | ||
| // lineart ships 6 logo-tux prefers 8 (+0.009), vector-comparison prefers 6. | ||
| // Mixed, and 6 is right for its actual subject. Unchanged. | ||
| // poster ships 32 photo-parrots prefers 32 — correct for its purpose. | ||
| // vector-tiger prefers 8, but poster is not for flat art. | ||
| // detailed ships 48 the auto palette beats every fixed value tried. Unchanged. | ||
| // clean ships 16 logo-tux prefers 16; the sticker prefers 6. Unchanged. | ||
| // | ||
| // Only `logo` was mistuned. Recorded so the sweep is not repeated on the rest. | ||
| // | ||
| // A paid rival describes logo-tux with TEN fills, which is what prompted looking | ||
| // down rather than up. Our peak is 8 and its gzip at 6 colours (11,929) lands | ||
| // within seven bytes of theirs (11,936) — the palette was never the reason they | ||
| // score higher, but it was costing us a third of our bytes for nothing. | ||
| // | ||
| // `tolerance`/`fitError` 0.6 was inherited, not swept — unlike `colors`, above, | ||
| // it never had its own measurement. `combineAxes` (subpixel.ts) surfaced why | ||
| // that matters: Douglas-Peucker plus `findBreakpoints`'s hard cosine corner | ||
| // threshold is a genuinely CHAOTIC function of tolerance on a synthetic | ||
| // composite fixture (two circles, a diagonal split) — `test/metrics.test.ts`'s | ||
| // "tuned from below" colour-count regression test swept in steps of 0.01 | ||
| // against BOTH the pre-`combineAxes` and post-`combineAxes` geometry and found | ||
| // "8 colours is smaller than 16" flips pass/fail repeatedly across neighbouring | ||
| // tolerances even on the UNCHANGED pre-existing code (fails at 0.53-0.59 and | ||
| // 0.69-0.79; only 0.60-0.68 is a robust pass band). 0.60 sits at the very | ||
| // start of that band, where `combineAxes`'s corrected, sub-pixel-different | ||
| // vertex positions were enough to walk this one fixture across the boundary. | ||
| // 0.65-0.68 is the band both the old and new geometry pass across every | ||
| // step swept — not a coincidence at one operating point, but the middle of a | ||
| // stable region for both. | ||
| // | ||
| // Moved to 0.65 rather than reverting the geometry fix, and checked against | ||
| // real corpus rather than only the synthetic fixture, against the true prior | ||
| // baseline (no combineAxes, tolerance 0.6) rather than an isolated-tolerance | ||
| // comparison that overstates the win: logo-tux 33,343 -> 32,252 bytes (-3.3%) | ||
| // at ssim 0.8913 -> 0.8909 (-0.0004, noise); alpha-dice 253,433 -> 242,822 | ||
| // (-4.2%) at ssim 0.8574 -> 0.8553 (-0.0021, still noise-level). Both a real | ||
| // byte win at an accuracy cost too small to matter. The swept range 0.60-0.70 | ||
| // in 0.01 steps on real corpus is smooth and monotonic in both bytes and | ||
| // ssim — unlike the synthetic fixture, nothing here is a cliff; 0.65 was not | ||
| // picked at a knife edge. | ||
| logo: { | ||
| colors: 8, minArea: 8, tolerance: 0.65, fitError: 0.65, cornerAngle: 75, | ||
| subpixel: true, precision: 1, | ||
| }, | ||
| lineart: { | ||
| colors: 6, minArea: 4, tolerance: 0.6, fitError: 0.6, cornerAngle: 60, | ||
| subpixel: true, precision: 1, | ||
| }, | ||
| poster: { colors: 32, minArea: 12, tolerance: 0.5, fitError: 0.5, cornerAngle: 80 }, | ||
| // `clean` is the one preset that is not trying to be faithful, and says so. | ||
| // | ||
| // It exists for artwork that arrived damaged — a sticker or logo that was flat | ||
| // colour once, then got shrunk and JPEG'd. Every other preset reproduces that | ||
| // damage accurately. This one spends `smooth` to collapse the compression noise | ||
| // and `segment` to make the palette meet coherent regions, and accepts a lower | ||
| // fidelity score on purpose: scoring against the degraded source rewards | ||
| // reproducing the degradation. | ||
| // | ||
| // Measured at colors 16, filter on versus off: | ||
| // | ||
| // sticker (noisy JPEG) 0.48x bytes, SSIM -0.0435 <- what this is for | ||
| // photo-cat 0.64x, -0.1119 | ||
| // logo-tux (clean PNG) 0.77x, -0.0903 <- and why it self-scales | ||
| // | ||
| // The last row is the reason `smooth` is scaled by measured noise instead of | ||
| // being a constant: on a clean source there is nothing to remove, so a fixed | ||
| // strength pays real fidelity for almost no reduction. On a clean input this | ||
| // preset therefore converges toward ordinary `poster` behaviour, which is the | ||
| // correct answer rather than a compromise. | ||
| // | ||
| // What it does NOT do, measured against a paid reconstruction tool on the same | ||
| // sticker: produce redrawn, flat-filled illustration with bold outlines. That | ||
| // recovers the artwork behind the raster using priors about illustrations; this | ||
| // is a filter, and no strength setting turns one into the other — past a point | ||
| // the subject dissolves instead. Recorded so the name is not read as a promise. | ||
| // NOTE the fields that are deliberately absent: tolerance, fitError, cornerAngle. | ||
| // The first version of this preset set them to 0.5/0.5/80 and was WORSE than | ||
| // `auto` — 547 curve segments that speckled every boundary instead of smoothing | ||
| // it, at 28,789 bytes. Removing those three overrides leaves 7 curves and 8,797 | ||
| // bytes on the same image, from the same filter. | ||
| // | ||
| // That is the same finding as the curves-by-default rejection, arriving a second | ||
| // time by a different road: the fitter is not short of tolerance, it is being fed | ||
| // boundaries that are still rough, and fitting a rough boundary produces a rough | ||
| // curve. Smoothing the IMAGE is what earns curves later; forcing them earlier | ||
| // just spends bytes on noise. Do not add them back without rendering the result. | ||
| // | ||
| // MOSAIC, added after the three overrides above were re-examined. The reason | ||
| // they failed is now known and it was never the tolerance: crack-following emits | ||
| // axis-aligned unit steps, so an untouched lattice vertex cannot deviate from a | ||
| // chord by less than 1/sqrt(5) = 0.4472136. Above the 0.4 tolerance, so | ||
| // Douglas-Peucker removed NOTHING, every loop took the polygon shortcut and the | ||
| // Schneider fitter never ran once. Raising the tolerance past the dead zone is | ||
| // what produced the 547 speckling curves: it let the fitter loose on a boundary | ||
| // that was still a staircase. | ||
| // | ||
| // `mosaic` fixes the input instead. Each shared boundary is smoothed once, off | ||
| // the lattice, with junctions pinned, and fitted once for both neighbours — | ||
| // which is required, because the fitter is not reversal-symmetric and two faces | ||
| // fitting private copies land up to 2.94px apart. Segment census against the | ||
| // shipped preset and a paid rival: | ||
| // | ||
| // clean mosaic+stroke rival | ||
| // logo-tux 0.0% / 6,234 75.8% / 1,714 84.8% / 1,350 | ||
| // alpha-dice 23.9% / 47,044 71.7% / 13,425 78.6% / 11,198 | ||
| // | ||
| // WHAT IT COSTS, which is not nothing. On flat art it is a clear win — | ||
| // alpha-dice improves on every axis at once (342,118 -> 225,324 bytes, SSIM | ||
| // 0.8913 -> 0.8974). On PHOTOGRAPHS it is worse on both: over six photographic | ||
| // subjects SSIM falls and gzip roughly doubles, because a photograph has no | ||
| // staircase to remove, only detail. `auto` and `photo` remain the right choice | ||
| // there, and this preset does not claim otherwise. | ||
| // | ||
| // `strokeWidth` is here for a measured reason and not by analogy with the | ||
| // rival. Curved boundaries no longer land on the lattice, so a join antialiases | ||
| // and can leave a hairline: rendered with nothing painted beneath, logo-tux | ||
| // leaks 943 pixels at 2.7x magnification and the stroke takes it to 66, | ||
| // alpha-dice 32 to 0, photo-parrots 284 to 0. This is why the same option | ||
| // measured NEGATIVE as a global default: on lattice-aligned polygons there is no | ||
| // gap to fill and the stroke only fattens the shape. (Those three leak figures | ||
| // are AT WIDTH 1, which this preset no longer ships — see the sweep below. They | ||
| // are kept because they are the argument for having a stroke at all, not the | ||
| // argument for its width; a leak COUNT barely moves with width, only the | ||
| // deficit does, and that is measured under the `interpolate` note further down.) | ||
| // | ||
| // 0.5, AND IT SHIPPED AT 1 FOR A DAY BECAUSE THE WIDTH WAS NEVER SWEPT. The | ||
| // value was chosen on three subjects that all gained, and never varied. Swept | ||
| // properly, N=9, delta SSIM against no stroke at all: | ||
| // | ||
| // width mean subjects harmed worst subject gzip | ||
| // 0.25 +0.0119 0 of 9 +0.0014 1.003x | ||
| // 0.50 +0.0159 1 of 9 -0.0020 1.003x | ||
| // 0.75 +0.0133 3 of 9 -0.0102 1.003x | ||
| // 1.00 +0.0064 3 of 9 -0.0223 1.003x | ||
| // | ||
| // 1.0 was the WORST of the four on the mean and tied for worst on subjects | ||
| // harmed, with ten times the downside of 0.5. The three casualties there | ||
| // (jpeg-artifacts -0.0223, motorcycles -0.0219, lighthouse -0.0220) come back to | ||
| // +0.0005, +0.0028 and -0.0020 at half the width. Byte cost is identical at every | ||
| // width, so nothing is being traded for it. | ||
| // | ||
| // 0.5 IS A SWEPT OPTIMUM ON A SMOOTH TRADE, not a threshold where anything | ||
| // physical happens. A draft of this note claimed 0.5 was "where the interior seam | ||
| // hits zero" and that everything above it was spent on the halo; two independent | ||
| // reviews showed that holds only under an undisclosed threshold, and that the | ||
| // project's own magnification instrument puts the optimum at 0 rather than 0.5. | ||
| // The numbers above are the whole case. If no subject may be harmed at all, 0.25 | ||
| // is the honest choice and costs 0.0040 of the mean. | ||
| // | ||
| // The general lesson is recorded here because this is the second time it has been | ||
| // paid for: a constant that has only ever been swept UPWARD gets read as a floor. | ||
| // 0.25 and 0.5 were never tried until the losses at 1.0 forced the question. | ||
| // | ||
| // THE RIVAL'S STROKE PASS IS NOT A SEAM COVER, and this comment said it was. | ||
| // | ||
| // The earlier reading here — "a separate pass whose colour is the mean of the | ||
| // two fills, duplicating fill geometry, so a same-colour stroke is the cheap | ||
| // equivalent at 2% of the bytes" — got the mechanism wrong and therefore priced | ||
| // it wrong. It is a COLOUR-INTERPOLATION pass: it reconstructs the antialiased | ||
| // blend along every region boundary, which is information the fills do not | ||
| // carry. A same-colour stroke covers a gap and adds no colour at all, so the two | ||
| // are not substitutes. | ||
| // | ||
| // Measured by deleting only the stroke-only group and asserting the filled | ||
| // element count is unchanged, so this is the pass and not geometry removal: | ||
| // | ||
| // subject fills strokes strokes that are also a fill with -> without | ||
| // logo-tux 10 30 0 0.9483 -> 0.8994 | ||
| // alpha-dice 40 125 1 0.9126 -> 0.8962 | ||
| // photo-parrots 124 788 0 0.8669 -> 0.7077 | ||
| // photo-motorcycles 145 3048 3 0.8498 -> 0.6275 | ||
| // | ||
| // Worth +0.0164 to +0.2223 SSIM across nine subjects, for 25-45% of their bytes. | ||
| // Almost none of their stroke colours appear as a fill anywhere in the file — | ||
| // they are blends, which is the whole point. | ||
| // | ||
| // WHAT THAT MEANS FOR US, stated plainly because it reverses the standing | ||
| // conclusion. Strip their pass and their filled partition scores 0.8994 against | ||
| // our 0.9174: we are 0.0180 AHEAD on regions and colour, and the entire deficit | ||
| // on logo-tux is this one rendering pass. Our `strokeWidth` remains correct for | ||
| // what it does — at width 1 it took leaks 943 -> 66 for 1.9% of bytes, and cost | ||
| // bleed into transparent pixels of 217 -> 765 — but it is not the equivalent of | ||
| // theirs and must not be recorded as one. (Both figures are at width 1; the | ||
| // preset ships 0.5, and what half a width still buys is the +0.0159 mean in the | ||
| // sweep above and the alpha deficit in the `interpolate` note below.) | ||
| // | ||
| // BUILT, as `interpolate`, and DELIBERATELY OFF here. See | ||
| // src/vectorize/interpolate.ts. The table that stood here — six subjects, four | ||
| // gains of +0.0058 to +0.0280 and two losses — is deleted rather than patched, | ||
| // because every figure in it was taken against `strokeWidth: 1`, and this preset | ||
| // now ships 0.5. Not one of those six rows survives re-measurement: the four | ||
| // gains fall to +0.0153 / -0.0025 / +0.0083 / +0.0038 and the two losses become | ||
| // -0.0083 and +0.0030. | ||
| // | ||
| // WHY THAT INVALIDATED IT, and this is the trap to remember. `interpolate` | ||
| // SUPPRESSES the stroke entirely (`strokeFor` in trace.ts), so an on/off | ||
| // comparison changes TWO things: it adds the blend AND it removes the stroke. | ||
| // The old table was therefore never blend-versus-nothing; it was | ||
| // blend-versus-the-worst-of-four-stroke-widths. Re-derived on all nine subjects | ||
| // at the shipping 0.5, as four corners, {interpolate off,on} x {strokeWidth | ||
| // 0.5, 0}. Cells C (on/0.5) and D (on/0) come out BYTE-IDENTICAL on all nine, | ||
| // which states the confound as a fact rather than a risk: with the pass on, | ||
| // `strokeWidth` does nothing at all. | ||
| // | ||
| // subject A off/0.5 B off/0 D on D-A D-B D vs blur(A) | ||
| // logo-tux 0.9076 0.8733 0.9229 +0.0153 +0.0496 +0.0425 CLEARS | ||
| // photo-lighthouse 0.6821 0.6841 0.6904 +0.0083 +0.0063 +0.0079 CLEARS | ||
| // photo-jpeg-artifacts 0.5521 0.5517 0.5592 +0.0071 +0.0075 +0.0093 CLEARS | ||
| // photo-motorcycles 0.5945 0.5917 0.5983 +0.0038 +0.0066 +0.0088 CLEARS | ||
| // photo-cat 0.8173 0.7789 0.8203 +0.0030 +0.0414 -0.0159 fails | ||
| // photo-parrots 0.7530 0.7419 0.7513 -0.0017 +0.0094 -0.0146 fails | ||
| // alpha-dice 0.9203 0.8892 0.9178 -0.0025 +0.0286 -0.0196 fails | ||
| // photo-portrait 0.6579 0.6416 0.6555 -0.0025 +0.0139 -0.0133 fails | ||
| // photo-jpeg-source 0.9292 0.9182 0.9209 -0.0083 +0.0027 -0.0113 fails | ||
| // MEAN +0.0025 +0.0184 | ||
| // | ||
| // D-B is what the BLEND is worth: positive on 9 of 9, mean +0.0184. The pass | ||
| // works, and nothing here disputes that. D-A is what it is worth HERE, on top | ||
| // of what already ships, and that is +0.0025 with four subjects harmed — | ||
| // because the 0.5 stroke it suppresses is already collecting a mean +0.0159 | ||
| // (A-B, 8 of 9) of the same thing. Two near-substitutes, and the cheap one is | ||
| // already in: the stroke costs 0.3-2% of the bytes where the pass costs 0.5-14%. | ||
| // | ||
| // THE COST LANDS EXACTLY WHERE THE PRESET LIVES. gzip D/A: logo-tux 1.141x, | ||
| // alpha-dice 1.122x, jpeg-source 1.111x — the flat art `clean` exists for — | ||
| // against 1.005x to 1.064x on the six photographs. Raw, logo-tux 18,698 -> | ||
| // 24,221 bytes. It is most expensive precisely where it would have to earn it. | ||
| // | ||
| // "ON FOR FLAT ART, OFF FOR PHOTOGRAPHS" WAS TESTED AND IS FALSE, so nobody | ||
| // builds a content branch for it. The three flat-art subjects disagree with each | ||
| // other — logo-tux +0.0153, alpha-dice -0.0025, jpeg-source -0.0083 — and two of | ||
| // the three lose. alpha-dice is the OTHER transparency subject, the case this | ||
| // preset most exists for, and it prefers the plain stroke. | ||
| // | ||
| // RENDERED AND LOOKED AT, source beside both cells over mid grey, and this is | ||
| // the deciding evidence rather than the table. logo-tux at 10x on the eye and | ||
| // beak: real and visible — the white ring against black and the yellow beak | ||
| // against black gain an intermediate ramp where the fills-only document has a | ||
| // hard step. photo-jpeg-source at 8x: visibly WORSE — every red glyph gains a | ||
| // pink halo and the counters of `a` and `e` fill in, the blend band spreading | ||
| // into white and thickening the type. On the one preset whose job is to clean | ||
| // damaged artwork UP, that is the wrong direction, and SSIM agrees for once. | ||
| // photo-portrait at 4x: indistinguishable, and alpha-dice at 4x only barely | ||
| // distinguishable — a faint softening along the die-face seams and pip edges, | ||
| // which is the same band spreading and matches its -0.0025. | ||
| // | ||
| // IT DOES NOT FIX THE INTERIOR ALPHA HAIRLINE, despite interpolate.ts having | ||
| // claimed the band "recovers both: the ramp and the gap" (now corrected there). | ||
| // Alpha deficit — the sum of 255-alpha over pixels the SOURCE calls fully | ||
| // opaque, which needs no metric at all and cannot be gamed by a candidate: | ||
| // | ||
| // subject bare stroke 0.5 interpolate stroke 1.0 paid rival | ||
| // logo-tux 175,892 75,634 68,350 23,770 22,971 | ||
| // alpha-dice 57,036 22,284 22,191 6,434 11,476 | ||
| // | ||
| // The pass lands level with the 0.5 stroke it deletes and three times short of a | ||
| // 1.0 stroke. On the worst single pixel of logo-tux it is actively worse: 0/255 | ||
| // against the stroke's 32/255, i.e. a fully transparent pixel inside solid | ||
| // artwork. The hairline is a stroke-width question and must not be spent on this | ||
| // one. Note also that the leak COUNT is inert here — 3,656 on logo-tux for bare, | ||
| // stroked and interpolated alike, because alpha 254 counts the same as alpha 0. | ||
| // Only the deficit moves; quote a count without its threshold and it says nothing. | ||
| // | ||
| // WHAT WOULD CHANGE THIS. One subject clearing the blur floor by 0.0425 while | ||
| // five fail it is an argument for an OPTION, which is what this already is, not | ||
| // for a default. A corpus with more logo-tux-shaped subjects — high-contrast | ||
| // flat art on transparency, few classes, long shared boundaries — could move it; | ||
| // N=9 with one strong win and four losses cannot. DO NOT RE-OPEN THIS AGAINST | ||
| // THE STROKE-1 NUMBERS AGAIN: any comparison that does not also measure the | ||
| // stroke-0 corner is measuring the suppression, not the blend. | ||
| // | ||
| // IT DOES NOT FIX THE INTERIOR HAIRLINE, whatever its docstring implies — see | ||
| // `underpaint` below, which does, and which composes with it. | ||
| // | ||
| // THE BLUR CONTROL, and the correction that came with it. An earlier version of | ||
| // this note said a free Gaussian blur outscored everything the project had | ||
| // shipped, on 8 of 9 subjects, and concluded photographic SSIM was untrustworthy. | ||
| // That was a bug in `compareImages` — the alpha gate let a candidate buy a | ||
| // fourth scored channel by varying its own alpha, which any `<filter>` does. On | ||
| // RGB alone the blur was always making things worse. See src/metrics/index.ts. | ||
| // | ||
| // With that fixed, blur's advantage is at most +0.0229 (alpha-dice) and it LOSES | ||
| // on logo-tux, motorcycles, jpeg-artifacts and lighthouse. SSIM mildly favours | ||
| // smoothing, as it is known to; it is not broken here. | ||
| // | ||
| // `npm run blur:control` remains worth running as a floor: a gain inside what a | ||
| // blur buys for free has not been shown to be visible. | ||
| // | ||
| // Colour count stays at 16. The rival describes logo-tux with ten fills and it | ||
| // was worth checking whether that was the advantage; swept at 8, 10, 12 and 16 | ||
| // it is an ordinary size-for-fidelity trade and not a free win — mean SSIM over | ||
| // eight subjects runs 0.7406 (16), 0.7357 (12), 0.7327 (10), 0.7316 (8). | ||
| // | ||
| // `optimizeError: 0.75` — the merge pass was inert, and not for the reason its | ||
| // own docstring gave. fit.ts reads `opts.optimizeError ?? opts.fitError`, so | ||
| // `clean` inherited 0.4 and a merged curve had to be no worse than a freshly | ||
| // fitted one. Instrumented, it accepted a fraction of the merges it attempted. | ||
| // Giving it its own budget, corpus-wide over eight subjects: | ||
| // | ||
| // value segments curve% raw gzip mean SSIM | ||
| // 0.4 97,117 67.5% 1,485,348 508,628 0.74064 | ||
| // 0.70 85,104 63.1% 1,272,581 453,800 0.73951 | ||
| // 0.75 83,296 62.3% 1,239,972 444,371 0.73940 | ||
| // 0.80 81,556 61.6% 1,208,231 434,582 0.73899 | ||
| // 0.90 77,930 59.8% 1,140,813 417,131 0.73834 | ||
| // | ||
| // THERE IS NO PEAK, and an earlier version of this note claimed one. Corpus | ||
| // mean SSIM falls monotonically across the whole sweep; logo-tux alone reads | ||
| // 0.9168 / 0.9173 / 0.9174 / 0.9173 / 0.9166 at 0.4 / 0.70 / 0.75 / 0.80 / 0.90, | ||
| // which is a plateau one ten-thousandth wide, not an optimum — 0.80 matches it | ||
| // while being 3.7% smaller. So 0.75 is a CHOSEN point on a smooth trade and | ||
| // anything in 0.70-0.85 is defensible. It is picked because it takes 74% of the | ||
| // segment gap to the rival (1,714 -> 1,444 on logo-tux) while keeping curve | ||
| // share above 72%, which is the property this preset exists to raise. | ||
| // | ||
| // WHAT IT COSTS. Curve share, and by arithmetic rather than by anything going | ||
| // wrong: merging two curves into one removes one from the numerator and one | ||
| // from the denominator, which lowers any share above 50%. Lines do NOT rise — | ||
| // they fall corpus-wide, so nothing is being flattened into a straight segment. | ||
| // SSIM falls on seven of eight subjects, worst -0.0044 on photo-jpeg-artifacts. | ||
| // logo-tux rises by 0.0006 and that is not worth quoting: a smoother curve | ||
| // landing nearer the antialiased original explains it at least as well as any | ||
| // gain in accuracy. | ||
| // | ||
| // `quadratics: true`. A quadratic is 4 numbers against a cubic's 6, and the | ||
| // reduction is gated on the fitter's OWN error budget rather than on distance | ||
| // from the cubic — so a converted span is no further from the traced points than | ||
| // the cubic it replaced. Measured over all nine subjects: | ||
| // | ||
| // raw -25.3%, gzip -22.5%, mean SSIM -0.00112, and the SEGMENT COUNT is | ||
| // identical on every subject (0 mismatches), as is the curve share. | ||
| // | ||
| // That last part is why this is defaulted on where other size wins were not: it | ||
| // is a pure representation change. Nothing is simplified away, no boundary | ||
| // moves further than the budget already allowed, and the picture is the same | ||
| // picture — it is written down more cheaply. Per-subject the SSIM cost runs from | ||
| // +0.0013 (logo-tux, which improves) to -0.0031 (photo-jpeg-source). | ||
| // | ||
| // It shipped opt-in first, deliberately: it adds a third `Segment` kind that | ||
| // reaches the DXF, EPS and PDF writers, and that surface wanted a release of | ||
| // exposure before becoming a default. | ||
| // | ||
| // `underpaint: true`, and it is the only preset that turns it on, because it is | ||
| // the only one aimed at artwork with transparency. What it fixes is a COUNT and | ||
| // not a score: pixels the SOURCE calls fully opaque that render see-through | ||
| // where two of our fills meet. Two abutting elements cover `c` and `1 - c` of | ||
| // the shared pixel and source-over leaves `1 - c + c^2`, which is 0.75 at | ||
| // `c = 0.5`. On opaque artwork the background rectangle hides it; on | ||
| // transparent artwork nothing does, and the leak traces every interior | ||
| // boundary in the picture. | ||
| // | ||
| // Leaks (source-opaque pixel rendered below alpha 250) / of those, INTERIOR | ||
| // ones more than a pixel from the silhouette, where the artwork's own edge | ||
| // cannot explain them / worst alpha / total alpha deficit: | ||
| // | ||
| // subject as shipped before with underpaint paid rival | ||
| // logo-tux 3,621 / 3,171 / 32 / 75,466 319 / 0 / 32 / 12,270 387 / 17 | ||
| // alpha-dice 1,350 / 725 /222 / 22,142 243 / 16 /228 / 2,501 567 / 213 | ||
| // other seven 0 / 0 0 / 0 70 - 1,144 | ||
| // | ||
| // The interior count goes to ZERO on logo-tux and to 16 on alpha-dice, and both | ||
| // subjects now beat the paid rival, which reaches its own number the same way | ||
| // (an unclipped opaque underlayer) rather than by clipping. The 319 and 243 that | ||
| // remain are all within one pixel of the silhouette, where partial coverage is | ||
| // the correct answer. The 16 interior stragglers on alpha-dice are opaque | ||
| // pixels bordering a TRANSLUCENT class, which the underpaint deliberately does | ||
| // not reach: painting under a translucent region would show through and repaint | ||
| // it. Measured by doing it anyway — alpha-dice's leaks fall to 19 and its SSIM | ||
| // falls with them, 0.9233 -> 0.8936, for 73% more gzip. Fewer leaks and a worse | ||
| // picture is what a gamed count looks like, which is why the renders decided | ||
| // this and not the table. | ||
| // | ||
| // COSTS, and where. gzip x1.040 logo-tux, x1.121 alpha-dice; RAW x1.92 and | ||
| // x1.12, since the `d` data is repeated and gzip eats the repeat only while the | ||
| // document fits its 32K window. Byte-IDENTICAL on the seven opaque subjects — | ||
| // sha1-checked, not assumed — so nothing a photograph does can be blamed on it. | ||
| // SSIM rises where it applies (logo-tux 0.9076 -> 0.9260, alpha-dice | ||
| // 0.9203 -> 0.9233) and moves nowhere else; the alpha-dice gain is inside what | ||
| // a free blur buys, which is why the case here rests on the count. | ||
| // | ||
| // WHY NOT THE CHEAPER-LOOKING VERSIONS. A clip cannot do this: a `<clipPath>` | ||
| // is rasterised into a mask by the same source-over arithmetic, so a mask built | ||
| // from abutting shapes carries the identical deficit, and an opaque band times | ||
| // a 0.75 mask is 0.75. `interpolate` is the clipped version already shipped | ||
| // here and it behaves exactly as that predicts: 844 of logo-tux's 3,171 | ||
| // interior leaks, and 2 of alpha-dice's 725. `strokeWidth` only covers the seam once | ||
| // the stroke is wide in DEVICE pixels — which is why the shipped 0.5 looks | ||
| // innocent at 4x and leaks 7,733 interior pixels at 1.37x, the scale a viewer | ||
| // actually reads a logo at. Rendered at 1.37x and 3.902x, both non-integer on | ||
| // purpose: an integer scale puts every lattice edge on a pixel boundary and | ||
| // hides antialiasing entirely. | ||
| // | ||
| // `minArea: 4` STAYS AT 4. Lowering it to 2 was proposed on a 9-of-9 sweep, | ||
| // measured twice against non-circular truth, and REFUTED. This note is here so | ||
| // it is not re-proposed on the same table. | ||
| // | ||
| // WHAT THE KNOB ACTUALLY IS. `despeckle` absorbs every component whose area is | ||
| // strictly BELOW `minArea` (components.ts), so 4 -> 2 is not a nudge along a | ||
| // smooth trade: it is exactly the decision to KEEP EVERY 2- AND 3-PIXEL | ||
| // COMPONENT in the picture. Nothing else changes. | ||
| // | ||
| // THE CASE FOR IT, reproduced exactly. N=9, preset `clean`, SSIM at 1x against | ||
| // each subject's own source: | ||
| // | ||
| // subject minArea 1 minArea 2 minArea 3 minArea 4 (ships) | ||
| // alpha-dice 0.9219 0.9242 0.9237 0.9233 clean PNG | ||
| // logo-tux 0.9068 0.9283 0.9264 0.9260 clean PNG | ||
| // photo-cat 0.8175 0.8174 0.8174 0.8173 JPEG | ||
| // photo-jpeg-artifacts 0.5939 0.5757 0.5634 0.5521 JPEG, heavy | ||
| // photo-jpeg-source 0.9813 0.9505 0.9340 0.9292 JPEG | ||
| // photo-lighthouse 0.6925 0.6889 0.6848 0.6821 PNG | ||
| // photo-motorcycles 0.6242 0.6090 0.6006 0.5945 PNG | ||
| // photo-parrots 0.7549 0.7542 0.7535 0.7530 PNG | ||
| // photo-portrait 0.6595 0.6591 0.6582 0.6579 PNG | ||
| // | ||
| // minArea 2: mean +0.0080, better on 9 of 9, gzip 1.074x, SUBPATHS 1.497x. | ||
| // | ||
| // "9 OF 9" IS NOT A DISTINGUISHING PROPERTY ON THIS INSTRUMENT. Three unrelated | ||
| // levers do the same thing on the same corpus: `segment: 0.01` is +0.0032 on 9 of | ||
| // 9 for 1.026x gzip and 1.045x subpaths, `optimizeError: 0.4` is +0.0019 on 9 of | ||
| // 9 with ZERO added subpaths. Anything that makes the output hug its input more | ||
| // closely wins here, because the reference IS the input. A clean sweep of this | ||
| // table says the candidate hugs harder, not that the picture got better. | ||
| // | ||
| // THE NON-CIRCULAR ARM, which is the one that decided it. corpus/src holds four | ||
| // .svg. THREE are genuine third-party vector originals — vector-tiger | ||
| // (Ghostscript Tiger), vector-comparison (Wikimedia, Inkscape 1.3), | ||
| // vector-source (Inkscape 0.45.1). logo-tux.svg is OUR OWN OUTPUT, first line | ||
| // "<!-- Generated by vecline v2.0.0 -->", and is excluded by name — check the | ||
| // provenance of any .svg before treating it as ground truth. Render each | ||
| // original at 384px, damage it down a JPEG ladder, vectorise THAT, and score at | ||
| // magnification against the original the tracer never saw. N=3 x 4 rungs, and | ||
| // both 4x and 3.902x, because at exactly 4x every lattice edge lands on a pixel | ||
| // boundary and antialiasing vanishes from the score. | ||
| // | ||
| // minArea 2 minus minArea 4, at 3.902x: clean q75 q50 q30 | ||
| // vector-tiger against TRUTH +0.0092 +0.0091 +0.0053 +0.0029 | ||
| // CIRCULAR, 1x +0.0490 +0.0454 +0.0380 +0.0339 | ||
| // vector-comparison against TRUTH +0.0014 +0.0037 +0.0021 +0.0027 | ||
| // CIRCULAR, 1x +0.0145 +0.0164 +0.0180 +0.0127 | ||
| // vector-source against TRUTH -0.0006 -0.0020 -0.0010 -0.0003 | ||
| // CIRCULAR, 1x +0.0031 +0.0091 +0.0130 +0.0165 | ||
| // | ||
| // Read the vector-source pair on its own: as damage is added the shipped metric's | ||
| // advantage climbs FIVEFOLD, +0.0031 -> +0.0165, while the same runs are NEGATIVE | ||
| // against the artwork at every rung. The metric and the picture move in opposite | ||
| // directions, and the metric moves further the more damage there is to reproduce. | ||
| // On tiger and comparison the circular figure runs 4.4x to 11.7x the truth | ||
| // figure at every one of the eight rungs, never once agreeing on magnitude. | ||
| // 4x agrees with 3.902x on every conclusion and is uniformly the | ||
| // SMALLER figure, so the integer scale understates the gap. | ||
| // | ||
| // RENDERED AND LOOKED, at 6x-16x. photo-jpeg-source is the +0.0213 row and the | ||
| // second-largest claimed gain: at minArea 4 the red glyphs are clean letterforms | ||
| // with a faint pale wash; at minArea 2 the same glyphs carry a crust of angular | ||
| // mid-pink chips hugging every contour. That crust is the JPEG's own ringing | ||
| // halo, re-encoded as geometry. vector-source at q30 shows it against real truth | ||
| // — the vector 'n' is smooth, minArea 4 is lumpy but continuous, minArea 2 is | ||
| // serrated with terraced grey-and-pink blocks down both stems. It looks dirtier, | ||
| // and truth SSIM agrees while circular SSIM says +0.0165. On the tiger's muzzle | ||
| // minArea 2 BREAKS a continuous dark crease into a dotted chain, so "the lower | ||
| // floor keeps more detail" is not even uniformly true by eye. On photo-lighthouse | ||
| // the two are indistinguishable at the crops tried. | ||
| // | ||
| // WHAT THE ADDED LOOPS ARE. Of the subpaths minArea 2 adds, 38-77% enclose one | ||
| // square pixel or less and 57-84% enclose three or less, per subject | ||
| // (scripts/lib/path-stats.mjs; counting command LETTERS undercounts). Corpus | ||
| // total 1.497x subpaths for 1.074x gzip — the byte axis is the one that moves | ||
| // least, and quoting it alone hides the cost. On the vector originals it is | ||
| // 1.20x-1.39x gzip for 2.4x-2.9x subpaths. | ||
| // | ||
| // THE BLUR FLOOR DOES NOT MOVE. `npm run blur:control` beats the candidate on the | ||
| // same 6 of 9 subjects at minArea 2 as at minArea 4, and photo-jpeg-source reads | ||
| // 0.9505 at minArea 2 against a free ~150-byte blur's 0.9521 — the second-largest | ||
| // claimed gain is still inside what smoothing buys for nothing. | ||
| // | ||
| // THE HONEST COUNTERWEIGHT, recorded rather than buried: on CLEAN input a lower | ||
| // floor recovers real picture. vector-tiger is +0.0092 against clean vector truth | ||
| // at 3.902x, and that arm is non-circular. It is not carried over, because | ||
| // `clean` is documented three screens above as the preset for artwork that | ||
| // ARRIVED DAMAGED, and the damaged arm is where it will actually be pointed. A | ||
| // finding about clean input belongs to a preset aimed at clean input. | ||
| // | ||
| // DO NOT QUOTE detailKept AS AN ARGUMENT FOR EITHER VALUE. bench-scale's | ||
| // destruction tripwire, against clean vector truth at 3.902x, reads 75.9% at | ||
| // minArea 4 and 84.6% at minArea 2 on vector-tiger. Both are under the 90% flag; | ||
| // it does not choose between them, it says the preset's 16-colour palette is | ||
| // losing the tiger's face at either setting. | ||
| // | ||
| // THE "SWEPT ONLY UPWARD" LESSON IS NOW DISCHARGED FOR THIS CONSTANT. `minArea` | ||
| // had only ever been swept up from 4 (8, 16, 40), which is the mistake `colors` | ||
| // and `strokeWidth` each paid for. 1, 2 and 3 have now all been measured from | ||
| // below. 1 is worse on the circular table too (7 of 9; it LOSES logo-tux 0.9068 | ||
| // vs 0.9260 and alpha-dice 0.9219 vs 0.9233) and speckles clean flat art. 2 and 3 | ||
| // are the milder dose of the same mechanism, not something different in kind. | ||
| // | ||
| // WHAT WOULD CHANGE THIS, and what would not. Not another 1x sweep: that | ||
| // instrument has now been shown to disagree with the artwork by sign. It would | ||
| // take a keep rule that separates a 2-pixel FRAGMENT OF A REAL EDGE from a | ||
| // 2-pixel COMPRESSION ARTEFACT, and area alone does not — shape does not either | ||
| // on this evidence, since vector-source's added loops are 62% elongated and its | ||
| // truth SSIM still falls. A per-image branch is NOT available: `refineGateFor` | ||
| // already branches every explicit preset on `measureFlatness().interiorNoise`, | ||
| // and that signal does not separate these two arms — clean vector-tiger reads | ||
| // 1.0174 and clean logo-tux 0.6535, both far above the 0.3 gate and both ABOVE | ||
| // damaged photo-jpeg-source's 0.5117. Branching minArea on the existing signal | ||
| // would put pristine vector art on the damaged side. See `autoTracePreset`, | ||
| // which already records two content-type guesses that failed the same way. | ||
| clean: { | ||
| colors: 16, minArea: 4, smooth: 1, segment: 0.02, | ||
| mosaic: true, strokeWidth: 0.5, optimizeError: 0.75, quadratics: true, | ||
| underpaint: true, | ||
| }, | ||
| // `photo` carries no minArea/tolerance/cornerAngle overrides on purpose. It | ||
| // used to force `minArea: 16, cornerAngle: 90, colors: 64` — the same mistake | ||
| // `autoTracePreset` documents having removed — and `npm run compare` caught | ||
| // the result: a preset named "photo" was *worse than auto on photographs*. | ||
| // Despeckling at 16px erases exactly the fine detail — feathers, hair, | ||
| // foliage — that a photograph is made of, and the extra 16 colours never paid | ||
| // for themselves. | ||
| // | ||
| // Re-measured against the shipped path, because the figures recorded here | ||
| // originally were not reproducible from it. The old arm still reproduces | ||
| // exactly (parrots 0.7868 SSIM / 262 KB, portrait 0.6983 / 439 KB) since it | ||
| // passes an explicit `minArea`. This preset does not, and "no override" no | ||
| // longer means "adaptive": `TRACE_DEFAULTS.minArea` is 0 and is spread over | ||
| // every call site below, while the adaptive floor only applies when `minArea` | ||
| // is `undefined`. So the preset now traces with no despeckling at all. | ||
| // | ||
| // What that actually buys, measured: | ||
| // | ||
| // parrots 0.8340 SSIM / 640 KB vs old 0.7868 / 262 KB | ||
| // portrait 0.9127 SSIM / 1366 KB vs old 0.6983 / 439 KB | ||
| // | ||
| // Quality is far ahead — the point above still holds, and more strongly than | ||
| // the original numbers suggested. But this is a trade, not a clean sweep: it | ||
| // costs 2.4x to 3.1x the bytes. Any claim that it wins "on every axis at | ||
| // once" is false and should not be restored. | ||
| photo: { colors: 48, gradients: true }, | ||
| detailed: { colors: 48, minArea: 2, tolerance: 0.3, fitError: 0.3, cornerAngle: 60 }, | ||
| }; | ||
| /** | ||
| * Two cheap signals separate "artwork" from "photograph" reliably: | ||
| * the number of distinct colours, and how often colour changes along a scanline. | ||
| * A screenshot can have thousands of colours yet still be mostly flat; a | ||
| * gradient-heavy photo has both high counts and high run density. | ||
| */ | ||
| function measureFlatness(img, colorCap = 4096) { | ||
| const seen = new Set(); | ||
| const d = img.data; | ||
| let runs = 0; | ||
| let capped = false; | ||
| let prev = -1; | ||
| for (let y = 0; y < img.height; y++) { | ||
| prev = -1; | ||
| for (let x = 0; x < img.width; x++) { | ||
| const o = (y * img.width + x) * 4; | ||
| const a = d[o + 3]; | ||
| const key = a === 0 ? 0 : (0, image_js_1.packRgba)(d[o], d[o + 1], d[o + 2], a); | ||
| if (key !== prev) { | ||
| runs++; | ||
| prev = key; | ||
| } | ||
| if (!capped) { | ||
| seen.add(key); | ||
| if (seen.size > colorCap) | ||
| capped = true; | ||
| } | ||
| } | ||
| } | ||
| // Second pass, off the edges: how much does a pixel differ from its own | ||
| // neighbourhood where there is no boundary to explain it? Cheap, and the only | ||
| // thing that predicts whether refinement will help or hurt. | ||
| // | ||
| // Weighted by alpha, because an invisible pixel's RGB is whatever the encoder | ||
| // happened to leave behind and must not vote. The first pass above already | ||
| // decided this — `a === 0 ? 0 : packRgba(...)` — and this pass did not, so the | ||
| // inconsistency sat inside one function. | ||
| // | ||
| // Measured on corpus/src/alpha-dice.png against a copy with the RGB under every | ||
| // alpha-0 pixel zeroed, verified render-identical by compositing both over three | ||
| // backgrounds: interiorNoise 1.1284 as shipped against 0.2474 cleaned, with | ||
| // REFINE_NOISE_LIMIT at 0.3 sitting between them. Two files that draw the same | ||
| // picture were getting different tracer configurations, decided by 323,179 | ||
| // pixels nobody can see — and the note printed to the user named a noise figure | ||
| // that was mostly invisible pixels. | ||
| // | ||
| // Opaque artwork is untouched: at a = 255 the weight is exactly 1, so every | ||
| // number this gate was calibrated against still holds. | ||
| const lum = (x, y) => { | ||
| const o = ((y * img.width) + x) * 4; | ||
| return ((d[o] + d[o + 1] + d[o + 2]) / 3) * (d[o + 3] / 255); | ||
| }; | ||
| let noiseSum = 0; | ||
| let noiseN = 0; | ||
| for (let y = 1; y < img.height - 1; y++) { | ||
| for (let x = 1; x < img.width - 1; x++) { | ||
| const gx = lum(x + 1, y) - lum(x - 1, y); | ||
| const gy = lum(x, y + 1) - lum(x, y - 1); | ||
| if (Math.hypot(gx, gy) > 24) | ||
| continue; // a real boundary, not interior | ||
| let mean = 0; | ||
| for (let dy = -1; dy <= 1; dy++) | ||
| for (let dx = -1; dx <= 1; dx++) | ||
| mean += lum(x + dx, y + dy); | ||
| noiseSum += Math.abs(lum(x, y) - mean / 9); | ||
| noiseN++; | ||
| } | ||
| } | ||
| return { | ||
| distinctColors: seen.size, | ||
| capped, | ||
| runRatio: runs / (img.width * img.height), | ||
| interiorNoise: noiseN > 0 ? noiseSum / noiseN : 0, | ||
| }; | ||
| } | ||
| /** | ||
| * Interior noise above which sub-pixel refinement is switched off. | ||
| * | ||
| * Measured, with the same images clean and re-encoded, so the split is not a | ||
| * content guess: | ||
| * | ||
| * PNG rendered from vector 0.014 - 0.219 refinement worth +3.01 dB at scale | ||
| * the same at JPEG q40 0.577 - 1.079 refinement costs 0.03-0.10 SSIM | ||
| * logo-tux.png 0.799 costs 0.058 SSIM | ||
| * photo-parrots.png 1.583 | ||
| * a 100x100 JPEG sticker 5.061 costs 0.095 SSIM and 3.6x bytes | ||
| * | ||
| * No overlap: the clean set tops out at 0.219 and the noisy set starts at 0.577. | ||
| * 0.3 sits inside that gap and is deliberately nearer the clean end, because the | ||
| * two mistakes are not symmetric — refining clean input that did not need it | ||
| * costs a little size, while refining noisy input costs accuracy AND 3x the | ||
| * bytes. | ||
| * | ||
| * This replaces a genuinely bad rule. Refinement was previously switched off by | ||
| * `flat.capped`, a >4096 colour count, which JPEG noise trips on a cartoon — so | ||
| * the reported image that motivated curves-by-default went back to zero curves. | ||
| * A colour count is a proxy for content; this is the mechanism's own | ||
| * precondition. | ||
| */ | ||
| exports.REFINE_NOISE_LIMIT = 0.3; | ||
| // RETUNE ATTEMPTED AND REJECTED, and the reason is a corpus flip worth keeping. | ||
| // | ||
| // `bench-scale` on its built-in synthetic set says sub-pixel refinement is worth | ||
| // 3.91 dB AND 30% fewer bytes (20.87 against 16.96 at 3.902x, 20,180 B against | ||
| // 28,690). Since this limit turns refinement off on most real artwork — logo-tux | ||
| // measures 0.653, vector-tiger 0.456 — that looked like the limit was costing | ||
| // nearly 4 dB on exactly the pictures it was built for, and like it should rise. | ||
| // | ||
| // It should not. Re-run against three REAL vector sources, each JPEG-compressed at | ||
| // six qualities so only noise varies, scored edge-weighted at 3.902x against the | ||
| // vector original the tracer never sees: | ||
| // | ||
| // subject noise range subpixel delta bytes | ||
| // vector-tiger 1.54 - 2.84 +0.11 to +0.19 2.01x | ||
| // vector-source 0.34 - 1.28 -0.10 to -0.17 1.94x | ||
| // vector-comparison 1.05 - 1.68 -0.11 to -0.15 2.10x | ||
| // | ||
| // On two of three it is worse on BOTH axes; on the third it buys under 0.2 dB for | ||
| // double the bytes. Four synthetic shapes and three real ones answer the same | ||
| // question in opposite directions, which is this project's recurring lesson about | ||
| // corpus size, arriving again. | ||
| // | ||
| // The sharper point: the delta does not track noise AT ALL. vector-tiger stays | ||
| // positive from 1.54 to 2.84; vector-source stays negative from 0.34 to 1.28. So | ||
| // `interiorNoise` does not predict the sign of the trade on this material, and the | ||
| // limit is not separating "refinement helps" from "refinement hurts" the way its | ||
| // name implies. It happens to land on the conservative side, which is the right | ||
| // call, for a reason other than the stated one. | ||
| // | ||
| // What would justify moving it: a corpus where the delta actually changes sign | ||
| // with noise. That has not been found, and until it is, the honest description of | ||
| // this constant is "a conservative default that keeps refinement off unless a | ||
| // preset asks for it", not "the noise level above which refinement stops paying". | ||
| /** | ||
| * The refinement half of `autoTracePreset`, on its own. | ||
| * | ||
| * Split out so an explicitly chosen preset gets the same measured protection that | ||
| * `auto` gets. Deliberately returns ONLY the refine fields — palette choice stays | ||
| * the preset's business, and a preset that names `subpixel` overrides this by | ||
| * spreading after it. | ||
| */ | ||
| function refineGateFor(image) { | ||
| const flat = measureFlatness(image); | ||
| if (flat.interiorNoise <= exports.REFINE_NOISE_LIMIT) | ||
| return {}; | ||
| // Both, together. `latticeSimplify` defaults to `!subpixel`, so switching only | ||
| // subpixel off turns simplification ON and costs MORE bytes than leaving it be. | ||
| return { subpixel: false, latticeSimplify: false }; | ||
| } | ||
| // `clean`'s despeckle floor cannot be one constant — swept across 18 real | ||
| // subjects, tolerance for it is a property of CONTENT, not size: two | ||
| // subjects at the identical 393,216px resolution differ 10x in what | ||
| // minArea:60 costs (photo-motorcycles.png, real mechanical detail, | ||
| // -0.136 SSIM; photo-parrots.png, -0.014), so nothing below ~2,000,000px | ||
| // can safely move off the conservative default without a working content | ||
| // signal, which does not exist yet. At or above that size, every subject | ||
| // measured — including a real photograph — tolerated minArea:40 for | ||
| // <=0.005 SSIM (confirmed visually indistinguishable, not just by the | ||
| // number). That directly answers the reported defect: a 14.9-megapixel | ||
| // subject where minArea:4 let JPEG/paper-texture noise through as | ||
| // thousands of tiny subpaths (curve fraction 62.0%->99.0%, gzip -40%). | ||
| // A 100x100 icon with the SAME defect (minArea:4 fragmenting it into 268 | ||
| // regions, 43% of shared boundaries collapsing to straight 2-point lines) | ||
| // is NOT fixed by this — every minArea tested above 4 visually destroyed | ||
| // real content on that specific subject. That is `fitOpen`'s 2-point | ||
| // segments only ever being able to express a line, not a despeckle-floor | ||
| // problem, and belongs to a separate investigation. | ||
| function cleanMinArea(width, height) { | ||
| return width * height >= 2_000_000 ? 40 : 4; | ||
| } | ||
| //# sourceMappingURL=presets.js.map |
| {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/vectorize/presets.ts"],"names":[],"mappings":"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"} |
| /** | ||
| * Presets, and the two signals that decide how they adapt to an image. | ||
| * | ||
| * Split out of `api.ts` (Node-only: pulls in libvips/resvg for file I/O) so | ||
| * that a portable consumer — `vecline/core`, which runs unchanged in a | ||
| * browser worker with no bundler shims — can resolve the SAME preset values | ||
| * and the SAME noise/size-adaptive overrides the CLI uses, rather than a | ||
| * hand-copied approximation that drifts the moment a number here is retuned. | ||
| * Everything below is plain computation over a `RasterImage`; nothing here | ||
| * reads a file, spawns a codec, or touches `node:`. | ||
| */ | ||
| import type { RasterImage } from '../types.js'; | ||
| import type { TraceOptions } from './trace.js'; | ||
| export type Preset = 'auto' | 'logo' | 'lineart' | 'poster' | 'photo' | 'detailed' | 'clean' | 'pixelart' | 'exact'; | ||
| /** | ||
| * Presets are starting points, not straitjackets — every field stays | ||
| * overridable. They exist because the useful parameter combinations cluster by | ||
| * *what kind of picture it is*, and asking someone to guess a Douglas–Peucker | ||
| * tolerance is a bad interface. | ||
| */ | ||
| export declare const PRESETS: Record<Exclude<Preset, 'auto' | 'pixelart' | 'exact'>, TraceOptions>; | ||
| export interface Flatness { | ||
| distinctColors: number; | ||
| capped: boolean; | ||
| /** Horizontal runs per pixel. Near 0 is flat artwork, near 1 is noise. */ | ||
| runRatio: number; | ||
| /** | ||
| * Mean absolute deviation from the local mean, measured only AWAY from edges. | ||
| * | ||
| * This is the precondition for sub-pixel refinement, not a content guess. | ||
| * Refinement recovers where an edge fell by inverting the anti-aliasing | ||
| * coverage across it; that inversion assumes the only variation near a | ||
| * boundary IS coverage. Interior noise is variation that is not, and it gets | ||
| * read as edge displacement. | ||
| */ | ||
| interiorNoise: number; | ||
| } | ||
| /** | ||
| * Two cheap signals separate "artwork" from "photograph" reliably: | ||
| * the number of distinct colours, and how often colour changes along a scanline. | ||
| * A screenshot can have thousands of colours yet still be mostly flat; a | ||
| * gradient-heavy photo has both high counts and high run density. | ||
| */ | ||
| export declare function measureFlatness(img: RasterImage, colorCap?: number): Flatness; | ||
| /** | ||
| * Interior noise above which sub-pixel refinement is switched off. | ||
| * | ||
| * Measured, with the same images clean and re-encoded, so the split is not a | ||
| * content guess: | ||
| * | ||
| * PNG rendered from vector 0.014 - 0.219 refinement worth +3.01 dB at scale | ||
| * the same at JPEG q40 0.577 - 1.079 refinement costs 0.03-0.10 SSIM | ||
| * logo-tux.png 0.799 costs 0.058 SSIM | ||
| * photo-parrots.png 1.583 | ||
| * a 100x100 JPEG sticker 5.061 costs 0.095 SSIM and 3.6x bytes | ||
| * | ||
| * No overlap: the clean set tops out at 0.219 and the noisy set starts at 0.577. | ||
| * 0.3 sits inside that gap and is deliberately nearer the clean end, because the | ||
| * two mistakes are not symmetric — refining clean input that did not need it | ||
| * costs a little size, while refining noisy input costs accuracy AND 3x the | ||
| * bytes. | ||
| * | ||
| * This replaces a genuinely bad rule. Refinement was previously switched off by | ||
| * `flat.capped`, a >4096 colour count, which JPEG noise trips on a cartoon — so | ||
| * the reported image that motivated curves-by-default went back to zero curves. | ||
| * A colour count is a proxy for content; this is the mechanism's own | ||
| * precondition. | ||
| */ | ||
| export declare const REFINE_NOISE_LIMIT = 0.3; | ||
| /** | ||
| * The refinement half of `autoTracePreset`, on its own. | ||
| * | ||
| * Split out so an explicitly chosen preset gets the same measured protection that | ||
| * `auto` gets. Deliberately returns ONLY the refine fields — palette choice stays | ||
| * the preset's business, and a preset that names `subpixel` overrides this by | ||
| * spreading after it. | ||
| */ | ||
| export declare function refineGateFor(image: RasterImage): { | ||
| subpixel?: boolean; | ||
| latticeSimplify?: boolean; | ||
| }; | ||
| export declare function cleanMinArea(width: number, height: number): number; | ||
| //# sourceMappingURL=presets.d.ts.map |
| {"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/vectorize/presets.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,OAAO,CAAC;AAEpH;;;;;GAKG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,GAAG,OAAO,CAAC,EAAE,YAAY,CAkpBxF,CAAC;AAEF,MAAM,WAAW,QAAQ;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;;;OAQG;IACH,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,SAAO,GAAG,QAAQ,CAgE3E;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAoCtC;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,CAMnG;AAoBD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAElE"} |
| /** | ||
| * Presets, and the two signals that decide how they adapt to an image. | ||
| * | ||
| * Split out of `api.ts` (Node-only: pulls in libvips/resvg for file I/O) so | ||
| * that a portable consumer — `vecline/core`, which runs unchanged in a | ||
| * browser worker with no bundler shims — can resolve the SAME preset values | ||
| * and the SAME noise/size-adaptive overrides the CLI uses, rather than a | ||
| * hand-copied approximation that drifts the moment a number here is retuned. | ||
| * Everything below is plain computation over a `RasterImage`; nothing here | ||
| * reads a file, spawns a codec, or touches `node:`. | ||
| */ | ||
| import { packRgba } from '../image.js'; | ||
| /** | ||
| * Presets are starting points, not straitjackets — every field stays | ||
| * overridable. They exist because the useful parameter combinations cluster by | ||
| * *what kind of picture it is*, and asking someone to guess a Douglas–Peucker | ||
| * tolerance is a bad interface. | ||
| */ | ||
| export const PRESETS = { | ||
| // Tolerances retuned after the curve-fit diagnosis. `logo` and `lineart` keep | ||
| // a higher value (0.6) because there a large arc should stay a few smooth, | ||
| // editable Béziers rather than a fine polygon — that is the whole point of a | ||
| // logo tracer. `poster`, `photo` and `detailed` favour accuracy, where the | ||
| // measured win is largest; `photo` at the old 1.4 was the worst setting in the | ||
| // whole table. | ||
| // `subpixel` and `precision: 1` are here and nowhere else, and the sweep that | ||
| // decided that is worth recording because three of the five presets failed it. | ||
| // | ||
| // Sub-pixel edge extraction is what lets the curve fitter run at all (see | ||
| // `subpixel.ts`), and on the two presets that already sit above the fitter's | ||
| // engagement threshold it buys a lot for less geometry: | ||
| // | ||
| // logo +1.84 dB @4x, +1.68 @3.902x, true segments -21.2% | ||
| // lineart +1.92 dB @4x, +1.74 @3.902x, true segments -19.2% | ||
| // | ||
| // It costs bytes — logo x1.80 raw / x2.90 gzip, lineart x2.08 / x3.61 across the | ||
| // twelve corpus inputs — and time, x1.49 and x1.77. That trade is worth taking | ||
| // where someone has said "this is a logo" and wants editable curves. | ||
| // | ||
| // It is NOT worth taking anywhere else, measured rather than assumed: | ||
| // | ||
| // - `detailed` couples tolerance/fitError at 0.3, which is *inside* the fitter's | ||
| // dead zone, so it emits zero curve segments today. Sub-pixel input there does | ||
| // not simplify an existing fit, it creates one and pays full price: **more** | ||
| // geometry (+10.1% true segments), x4.07 raw and x6.66 gzip bytes, x2.83 time, | ||
| // worse on 12 of 12 inputs — and it loses accuracy on the statistic these | ||
| // presets were tuned on (photo-cat SSIM 0.8645 -> 0.7003). | ||
| // - `poster` is the same story more mildly: x1.87 raw, x3.53 gzip, only -7.2% | ||
| // segments, and SSIM down on photographs. | ||
| // - `photo` is untouched on purpose; see its own note below. | ||
| // | ||
| // `precision: 1` is a separate, free win and applies only here for the same | ||
| // reason: -13.3% raw and -17.0% gzip for -0.001 dB. It pays for itself because | ||
| // sub-pixel coordinates are fractional, and a fractional coordinate costs both | ||
| // more characters and worse compression (integers gzip ~5.8x, fractionals ~2.7x). | ||
| // `strokeWidth` was finally MEASURED, having been the documented answer to seams | ||
| // for this project's whole life without a single number attached to it. On the | ||
| // metric alone it looks like an accuracy win: | ||
| // | ||
| // subject sw0.25 sw0.5 sw0.75 sw1 sw1.5 | ||
| // logo-tux +0.025 +0.043 +0.054 +0.054 +0.029 | ||
| // alpha-dice +0.026 +0.031 +0.023 +0.012 -0.007 | ||
| // vector-tiger +0.015 +0.027 +0.034 +0.030 -0.009 | ||
| // photo-parrots +0.015 +0.021 +0.020 +0.016 -0.003 | ||
| // photo-cat +0.051 +0.085 +0.099 +0.102 +0.089 | ||
| // the sticker +0.016 +0.021 +0.016 +0.005 -0.046 | ||
| // | ||
| // SSIM delta against the same preset at 0. Positive on 6 of 6 at 0.5, for | ||
| // 1.001x-1.028x raw bytes and 1.001x-1.014x gzipped. A strict improvement, which | ||
| // this project almost never finds, and it was sitting switched off. | ||
| // | ||
| // AND IT IS NOT SWITCHED ON, because the table above is not the whole story. | ||
| // | ||
| // Two things killed it after that measurement, both found by looking where the | ||
| // metric could not: | ||
| // | ||
| // 1. IT PAINTS OUTSIDE THE SILHOUETTE. On logo-tux the stroke puts colour into | ||
| // 831 pixels the source says are fully transparent, against 156 without it, | ||
| // with alpha reaching 183. Composited over white that is invisible, which is | ||
| // exactly why SSIM improved; over a dark background it is a halo. Transparent | ||
| // logos are the main thing `--preset logo` is pointed at, and this project has | ||
| // already shipped one dark-background rendering failure. | ||
| // | ||
| // 2. THE GAIN IS PARTLY SELF-INFLICTED. The preset's own `minArea: 8` and | ||
| // `tolerance: 0.65` cost accuracy that the stroke then partially repays. Plain | ||
| // `auto` scores higher on logo-tux than the preset does with the stroke on. | ||
| // | ||
| // So it is a TRADE, not the strict improvement the numbers alone suggested, and | ||
| // a trade whose cost falls on the preset's primary use case. It stays available | ||
| // as an explicit option, which is what it always was. | ||
| // | ||
| // What would make it shippable: a stroke that stops at the silhouette instead of | ||
| // straddling it. The measured win is real between two OPAQUE regions, where the | ||
| // half-covered pixels belong to both; it is only at the outer boundary against | ||
| // transparency that there is nothing on the other side to repair. | ||
| // | ||
| // (0.5 was the value chosen, on its floor rather than its mean: better worst case | ||
| // than 0.75, +0.021 against +0.016, and 1.5 goes negative on three of six.) | ||
| // | ||
| // Deliberately NOT applied to `auto` or the bare trace defaults, though the table | ||
| // shows it would help there too — photo-cat gains the most of any subject. That | ||
| // changes the published README figures and the byte-identity baseline, so it is a | ||
| // separate decision with its own measurement, not a rider on this one. | ||
| // | ||
| // Why a stroke helps at all: it paints the region's own colour back over the | ||
| // half-covered pixels along its boundary, which is where a fill-only mosaic loses | ||
| // coverage. The paid rival ships `stroke-width="2.00"` on its output group for | ||
| // what looks like the same reason. | ||
| // | ||
| // WHICH SETS ITS LIMIT, and a single antialiased disc shows the boundary | ||
| // condition by disagreeing with every row above: 0.9791 at 0, 0.9798 at 0.25, | ||
| // then DOWN to 0.9736 at 0.5 and 0.9462 at 1. The payoff scales with how much of | ||
| // the picture is boundary, so two big shapes gain almost nothing and lose to the | ||
| // overpaint, while artwork with hundreds of small regions gains throughout. Do | ||
| // not expect this to help a simple figure, and do not tune it on one. | ||
| // `colors: 8`, not 16, and the direction is the finding. Every earlier sweep of | ||
| // this preset went UPWARD — 32 and 64 are both worse — so 16 was treated as a | ||
| // floor and never tested from below. It is not a floor. On logo-tux: | ||
| // | ||
| // colours 6 8 10 12 16 | ||
| // gzip 11,929 12,836 15,459 16,644 19,638 | ||
| // SSIM 0.8872 0.8933 0.8897 0.8906 0.8747 | ||
| // | ||
| // 8 is +0.0186 SSIM against 16 at 0.65x the bytes — better on both axes — and | ||
| // rendered it is visibly cleaner: less mottling in the grey shading, smoother | ||
| // edges. Across the flat-art corpus, best-vs-16: logo-tux +0.0186 at 0.65x, | ||
| // vector-tiger +0.0052 at 0.97x, vector-comparison +0.0036 at 0.83x, all strict. | ||
| // vector-source is unchanged because it only contains two real colours. | ||
| // | ||
| // The one loss is alpha-dice, which prefers 16 by 0.008. That is the trade taken: | ||
| // three strict wins and a visible improvement on the preset's namesake case | ||
| // against one modest regression on a subject with far more real inks than a logo. | ||
| // | ||
| // THE OTHER PRESETS WERE SWEPT THE SAME WAY AND MOSTLY LEFT ALONE, because the | ||
| // "tuned only from above" mistake is not universal: | ||
| // | ||
| // lineart ships 6 logo-tux prefers 8 (+0.009), vector-comparison prefers 6. | ||
| // Mixed, and 6 is right for its actual subject. Unchanged. | ||
| // poster ships 32 photo-parrots prefers 32 — correct for its purpose. | ||
| // vector-tiger prefers 8, but poster is not for flat art. | ||
| // detailed ships 48 the auto palette beats every fixed value tried. Unchanged. | ||
| // clean ships 16 logo-tux prefers 16; the sticker prefers 6. Unchanged. | ||
| // | ||
| // Only `logo` was mistuned. Recorded so the sweep is not repeated on the rest. | ||
| // | ||
| // A paid rival describes logo-tux with TEN fills, which is what prompted looking | ||
| // down rather than up. Our peak is 8 and its gzip at 6 colours (11,929) lands | ||
| // within seven bytes of theirs (11,936) — the palette was never the reason they | ||
| // score higher, but it was costing us a third of our bytes for nothing. | ||
| // | ||
| // `tolerance`/`fitError` 0.6 was inherited, not swept — unlike `colors`, above, | ||
| // it never had its own measurement. `combineAxes` (subpixel.ts) surfaced why | ||
| // that matters: Douglas-Peucker plus `findBreakpoints`'s hard cosine corner | ||
| // threshold is a genuinely CHAOTIC function of tolerance on a synthetic | ||
| // composite fixture (two circles, a diagonal split) — `test/metrics.test.ts`'s | ||
| // "tuned from below" colour-count regression test swept in steps of 0.01 | ||
| // against BOTH the pre-`combineAxes` and post-`combineAxes` geometry and found | ||
| // "8 colours is smaller than 16" flips pass/fail repeatedly across neighbouring | ||
| // tolerances even on the UNCHANGED pre-existing code (fails at 0.53-0.59 and | ||
| // 0.69-0.79; only 0.60-0.68 is a robust pass band). 0.60 sits at the very | ||
| // start of that band, where `combineAxes`'s corrected, sub-pixel-different | ||
| // vertex positions were enough to walk this one fixture across the boundary. | ||
| // 0.65-0.68 is the band both the old and new geometry pass across every | ||
| // step swept — not a coincidence at one operating point, but the middle of a | ||
| // stable region for both. | ||
| // | ||
| // Moved to 0.65 rather than reverting the geometry fix, and checked against | ||
| // real corpus rather than only the synthetic fixture, against the true prior | ||
| // baseline (no combineAxes, tolerance 0.6) rather than an isolated-tolerance | ||
| // comparison that overstates the win: logo-tux 33,343 -> 32,252 bytes (-3.3%) | ||
| // at ssim 0.8913 -> 0.8909 (-0.0004, noise); alpha-dice 253,433 -> 242,822 | ||
| // (-4.2%) at ssim 0.8574 -> 0.8553 (-0.0021, still noise-level). Both a real | ||
| // byte win at an accuracy cost too small to matter. The swept range 0.60-0.70 | ||
| // in 0.01 steps on real corpus is smooth and monotonic in both bytes and | ||
| // ssim — unlike the synthetic fixture, nothing here is a cliff; 0.65 was not | ||
| // picked at a knife edge. | ||
| logo: { | ||
| colors: 8, minArea: 8, tolerance: 0.65, fitError: 0.65, cornerAngle: 75, | ||
| subpixel: true, precision: 1, | ||
| }, | ||
| lineart: { | ||
| colors: 6, minArea: 4, tolerance: 0.6, fitError: 0.6, cornerAngle: 60, | ||
| subpixel: true, precision: 1, | ||
| }, | ||
| poster: { colors: 32, minArea: 12, tolerance: 0.5, fitError: 0.5, cornerAngle: 80 }, | ||
| // `clean` is the one preset that is not trying to be faithful, and says so. | ||
| // | ||
| // It exists for artwork that arrived damaged — a sticker or logo that was flat | ||
| // colour once, then got shrunk and JPEG'd. Every other preset reproduces that | ||
| // damage accurately. This one spends `smooth` to collapse the compression noise | ||
| // and `segment` to make the palette meet coherent regions, and accepts a lower | ||
| // fidelity score on purpose: scoring against the degraded source rewards | ||
| // reproducing the degradation. | ||
| // | ||
| // Measured at colors 16, filter on versus off: | ||
| // | ||
| // sticker (noisy JPEG) 0.48x bytes, SSIM -0.0435 <- what this is for | ||
| // photo-cat 0.64x, -0.1119 | ||
| // logo-tux (clean PNG) 0.77x, -0.0903 <- and why it self-scales | ||
| // | ||
| // The last row is the reason `smooth` is scaled by measured noise instead of | ||
| // being a constant: on a clean source there is nothing to remove, so a fixed | ||
| // strength pays real fidelity for almost no reduction. On a clean input this | ||
| // preset therefore converges toward ordinary `poster` behaviour, which is the | ||
| // correct answer rather than a compromise. | ||
| // | ||
| // What it does NOT do, measured against a paid reconstruction tool on the same | ||
| // sticker: produce redrawn, flat-filled illustration with bold outlines. That | ||
| // recovers the artwork behind the raster using priors about illustrations; this | ||
| // is a filter, and no strength setting turns one into the other — past a point | ||
| // the subject dissolves instead. Recorded so the name is not read as a promise. | ||
| // NOTE the fields that are deliberately absent: tolerance, fitError, cornerAngle. | ||
| // The first version of this preset set them to 0.5/0.5/80 and was WORSE than | ||
| // `auto` — 547 curve segments that speckled every boundary instead of smoothing | ||
| // it, at 28,789 bytes. Removing those three overrides leaves 7 curves and 8,797 | ||
| // bytes on the same image, from the same filter. | ||
| // | ||
| // That is the same finding as the curves-by-default rejection, arriving a second | ||
| // time by a different road: the fitter is not short of tolerance, it is being fed | ||
| // boundaries that are still rough, and fitting a rough boundary produces a rough | ||
| // curve. Smoothing the IMAGE is what earns curves later; forcing them earlier | ||
| // just spends bytes on noise. Do not add them back without rendering the result. | ||
| // | ||
| // MOSAIC, added after the three overrides above were re-examined. The reason | ||
| // they failed is now known and it was never the tolerance: crack-following emits | ||
| // axis-aligned unit steps, so an untouched lattice vertex cannot deviate from a | ||
| // chord by less than 1/sqrt(5) = 0.4472136. Above the 0.4 tolerance, so | ||
| // Douglas-Peucker removed NOTHING, every loop took the polygon shortcut and the | ||
| // Schneider fitter never ran once. Raising the tolerance past the dead zone is | ||
| // what produced the 547 speckling curves: it let the fitter loose on a boundary | ||
| // that was still a staircase. | ||
| // | ||
| // `mosaic` fixes the input instead. Each shared boundary is smoothed once, off | ||
| // the lattice, with junctions pinned, and fitted once for both neighbours — | ||
| // which is required, because the fitter is not reversal-symmetric and two faces | ||
| // fitting private copies land up to 2.94px apart. Segment census against the | ||
| // shipped preset and a paid rival: | ||
| // | ||
| // clean mosaic+stroke rival | ||
| // logo-tux 0.0% / 6,234 75.8% / 1,714 84.8% / 1,350 | ||
| // alpha-dice 23.9% / 47,044 71.7% / 13,425 78.6% / 11,198 | ||
| // | ||
| // WHAT IT COSTS, which is not nothing. On flat art it is a clear win — | ||
| // alpha-dice improves on every axis at once (342,118 -> 225,324 bytes, SSIM | ||
| // 0.8913 -> 0.8974). On PHOTOGRAPHS it is worse on both: over six photographic | ||
| // subjects SSIM falls and gzip roughly doubles, because a photograph has no | ||
| // staircase to remove, only detail. `auto` and `photo` remain the right choice | ||
| // there, and this preset does not claim otherwise. | ||
| // | ||
| // `strokeWidth` is here for a measured reason and not by analogy with the | ||
| // rival. Curved boundaries no longer land on the lattice, so a join antialiases | ||
| // and can leave a hairline: rendered with nothing painted beneath, logo-tux | ||
| // leaks 943 pixels at 2.7x magnification and the stroke takes it to 66, | ||
| // alpha-dice 32 to 0, photo-parrots 284 to 0. This is why the same option | ||
| // measured NEGATIVE as a global default: on lattice-aligned polygons there is no | ||
| // gap to fill and the stroke only fattens the shape. (Those three leak figures | ||
| // are AT WIDTH 1, which this preset no longer ships — see the sweep below. They | ||
| // are kept because they are the argument for having a stroke at all, not the | ||
| // argument for its width; a leak COUNT barely moves with width, only the | ||
| // deficit does, and that is measured under the `interpolate` note further down.) | ||
| // | ||
| // 0.5, AND IT SHIPPED AT 1 FOR A DAY BECAUSE THE WIDTH WAS NEVER SWEPT. The | ||
| // value was chosen on three subjects that all gained, and never varied. Swept | ||
| // properly, N=9, delta SSIM against no stroke at all: | ||
| // | ||
| // width mean subjects harmed worst subject gzip | ||
| // 0.25 +0.0119 0 of 9 +0.0014 1.003x | ||
| // 0.50 +0.0159 1 of 9 -0.0020 1.003x | ||
| // 0.75 +0.0133 3 of 9 -0.0102 1.003x | ||
| // 1.00 +0.0064 3 of 9 -0.0223 1.003x | ||
| // | ||
| // 1.0 was the WORST of the four on the mean and tied for worst on subjects | ||
| // harmed, with ten times the downside of 0.5. The three casualties there | ||
| // (jpeg-artifacts -0.0223, motorcycles -0.0219, lighthouse -0.0220) come back to | ||
| // +0.0005, +0.0028 and -0.0020 at half the width. Byte cost is identical at every | ||
| // width, so nothing is being traded for it. | ||
| // | ||
| // 0.5 IS A SWEPT OPTIMUM ON A SMOOTH TRADE, not a threshold where anything | ||
| // physical happens. A draft of this note claimed 0.5 was "where the interior seam | ||
| // hits zero" and that everything above it was spent on the halo; two independent | ||
| // reviews showed that holds only under an undisclosed threshold, and that the | ||
| // project's own magnification instrument puts the optimum at 0 rather than 0.5. | ||
| // The numbers above are the whole case. If no subject may be harmed at all, 0.25 | ||
| // is the honest choice and costs 0.0040 of the mean. | ||
| // | ||
| // The general lesson is recorded here because this is the second time it has been | ||
| // paid for: a constant that has only ever been swept UPWARD gets read as a floor. | ||
| // 0.25 and 0.5 were never tried until the losses at 1.0 forced the question. | ||
| // | ||
| // THE RIVAL'S STROKE PASS IS NOT A SEAM COVER, and this comment said it was. | ||
| // | ||
| // The earlier reading here — "a separate pass whose colour is the mean of the | ||
| // two fills, duplicating fill geometry, so a same-colour stroke is the cheap | ||
| // equivalent at 2% of the bytes" — got the mechanism wrong and therefore priced | ||
| // it wrong. It is a COLOUR-INTERPOLATION pass: it reconstructs the antialiased | ||
| // blend along every region boundary, which is information the fills do not | ||
| // carry. A same-colour stroke covers a gap and adds no colour at all, so the two | ||
| // are not substitutes. | ||
| // | ||
| // Measured by deleting only the stroke-only group and asserting the filled | ||
| // element count is unchanged, so this is the pass and not geometry removal: | ||
| // | ||
| // subject fills strokes strokes that are also a fill with -> without | ||
| // logo-tux 10 30 0 0.9483 -> 0.8994 | ||
| // alpha-dice 40 125 1 0.9126 -> 0.8962 | ||
| // photo-parrots 124 788 0 0.8669 -> 0.7077 | ||
| // photo-motorcycles 145 3048 3 0.8498 -> 0.6275 | ||
| // | ||
| // Worth +0.0164 to +0.2223 SSIM across nine subjects, for 25-45% of their bytes. | ||
| // Almost none of their stroke colours appear as a fill anywhere in the file — | ||
| // they are blends, which is the whole point. | ||
| // | ||
| // WHAT THAT MEANS FOR US, stated plainly because it reverses the standing | ||
| // conclusion. Strip their pass and their filled partition scores 0.8994 against | ||
| // our 0.9174: we are 0.0180 AHEAD on regions and colour, and the entire deficit | ||
| // on logo-tux is this one rendering pass. Our `strokeWidth` remains correct for | ||
| // what it does — at width 1 it took leaks 943 -> 66 for 1.9% of bytes, and cost | ||
| // bleed into transparent pixels of 217 -> 765 — but it is not the equivalent of | ||
| // theirs and must not be recorded as one. (Both figures are at width 1; the | ||
| // preset ships 0.5, and what half a width still buys is the +0.0159 mean in the | ||
| // sweep above and the alpha deficit in the `interpolate` note below.) | ||
| // | ||
| // BUILT, as `interpolate`, and DELIBERATELY OFF here. See | ||
| // src/vectorize/interpolate.ts. The table that stood here — six subjects, four | ||
| // gains of +0.0058 to +0.0280 and two losses — is deleted rather than patched, | ||
| // because every figure in it was taken against `strokeWidth: 1`, and this preset | ||
| // now ships 0.5. Not one of those six rows survives re-measurement: the four | ||
| // gains fall to +0.0153 / -0.0025 / +0.0083 / +0.0038 and the two losses become | ||
| // -0.0083 and +0.0030. | ||
| // | ||
| // WHY THAT INVALIDATED IT, and this is the trap to remember. `interpolate` | ||
| // SUPPRESSES the stroke entirely (`strokeFor` in trace.ts), so an on/off | ||
| // comparison changes TWO things: it adds the blend AND it removes the stroke. | ||
| // The old table was therefore never blend-versus-nothing; it was | ||
| // blend-versus-the-worst-of-four-stroke-widths. Re-derived on all nine subjects | ||
| // at the shipping 0.5, as four corners, {interpolate off,on} x {strokeWidth | ||
| // 0.5, 0}. Cells C (on/0.5) and D (on/0) come out BYTE-IDENTICAL on all nine, | ||
| // which states the confound as a fact rather than a risk: with the pass on, | ||
| // `strokeWidth` does nothing at all. | ||
| // | ||
| // subject A off/0.5 B off/0 D on D-A D-B D vs blur(A) | ||
| // logo-tux 0.9076 0.8733 0.9229 +0.0153 +0.0496 +0.0425 CLEARS | ||
| // photo-lighthouse 0.6821 0.6841 0.6904 +0.0083 +0.0063 +0.0079 CLEARS | ||
| // photo-jpeg-artifacts 0.5521 0.5517 0.5592 +0.0071 +0.0075 +0.0093 CLEARS | ||
| // photo-motorcycles 0.5945 0.5917 0.5983 +0.0038 +0.0066 +0.0088 CLEARS | ||
| // photo-cat 0.8173 0.7789 0.8203 +0.0030 +0.0414 -0.0159 fails | ||
| // photo-parrots 0.7530 0.7419 0.7513 -0.0017 +0.0094 -0.0146 fails | ||
| // alpha-dice 0.9203 0.8892 0.9178 -0.0025 +0.0286 -0.0196 fails | ||
| // photo-portrait 0.6579 0.6416 0.6555 -0.0025 +0.0139 -0.0133 fails | ||
| // photo-jpeg-source 0.9292 0.9182 0.9209 -0.0083 +0.0027 -0.0113 fails | ||
| // MEAN +0.0025 +0.0184 | ||
| // | ||
| // D-B is what the BLEND is worth: positive on 9 of 9, mean +0.0184. The pass | ||
| // works, and nothing here disputes that. D-A is what it is worth HERE, on top | ||
| // of what already ships, and that is +0.0025 with four subjects harmed — | ||
| // because the 0.5 stroke it suppresses is already collecting a mean +0.0159 | ||
| // (A-B, 8 of 9) of the same thing. Two near-substitutes, and the cheap one is | ||
| // already in: the stroke costs 0.3-2% of the bytes where the pass costs 0.5-14%. | ||
| // | ||
| // THE COST LANDS EXACTLY WHERE THE PRESET LIVES. gzip D/A: logo-tux 1.141x, | ||
| // alpha-dice 1.122x, jpeg-source 1.111x — the flat art `clean` exists for — | ||
| // against 1.005x to 1.064x on the six photographs. Raw, logo-tux 18,698 -> | ||
| // 24,221 bytes. It is most expensive precisely where it would have to earn it. | ||
| // | ||
| // "ON FOR FLAT ART, OFF FOR PHOTOGRAPHS" WAS TESTED AND IS FALSE, so nobody | ||
| // builds a content branch for it. The three flat-art subjects disagree with each | ||
| // other — logo-tux +0.0153, alpha-dice -0.0025, jpeg-source -0.0083 — and two of | ||
| // the three lose. alpha-dice is the OTHER transparency subject, the case this | ||
| // preset most exists for, and it prefers the plain stroke. | ||
| // | ||
| // RENDERED AND LOOKED AT, source beside both cells over mid grey, and this is | ||
| // the deciding evidence rather than the table. logo-tux at 10x on the eye and | ||
| // beak: real and visible — the white ring against black and the yellow beak | ||
| // against black gain an intermediate ramp where the fills-only document has a | ||
| // hard step. photo-jpeg-source at 8x: visibly WORSE — every red glyph gains a | ||
| // pink halo and the counters of `a` and `e` fill in, the blend band spreading | ||
| // into white and thickening the type. On the one preset whose job is to clean | ||
| // damaged artwork UP, that is the wrong direction, and SSIM agrees for once. | ||
| // photo-portrait at 4x: indistinguishable, and alpha-dice at 4x only barely | ||
| // distinguishable — a faint softening along the die-face seams and pip edges, | ||
| // which is the same band spreading and matches its -0.0025. | ||
| // | ||
| // IT DOES NOT FIX THE INTERIOR ALPHA HAIRLINE, despite interpolate.ts having | ||
| // claimed the band "recovers both: the ramp and the gap" (now corrected there). | ||
| // Alpha deficit — the sum of 255-alpha over pixels the SOURCE calls fully | ||
| // opaque, which needs no metric at all and cannot be gamed by a candidate: | ||
| // | ||
| // subject bare stroke 0.5 interpolate stroke 1.0 paid rival | ||
| // logo-tux 175,892 75,634 68,350 23,770 22,971 | ||
| // alpha-dice 57,036 22,284 22,191 6,434 11,476 | ||
| // | ||
| // The pass lands level with the 0.5 stroke it deletes and three times short of a | ||
| // 1.0 stroke. On the worst single pixel of logo-tux it is actively worse: 0/255 | ||
| // against the stroke's 32/255, i.e. a fully transparent pixel inside solid | ||
| // artwork. The hairline is a stroke-width question and must not be spent on this | ||
| // one. Note also that the leak COUNT is inert here — 3,656 on logo-tux for bare, | ||
| // stroked and interpolated alike, because alpha 254 counts the same as alpha 0. | ||
| // Only the deficit moves; quote a count without its threshold and it says nothing. | ||
| // | ||
| // WHAT WOULD CHANGE THIS. One subject clearing the blur floor by 0.0425 while | ||
| // five fail it is an argument for an OPTION, which is what this already is, not | ||
| // for a default. A corpus with more logo-tux-shaped subjects — high-contrast | ||
| // flat art on transparency, few classes, long shared boundaries — could move it; | ||
| // N=9 with one strong win and four losses cannot. DO NOT RE-OPEN THIS AGAINST | ||
| // THE STROKE-1 NUMBERS AGAIN: any comparison that does not also measure the | ||
| // stroke-0 corner is measuring the suppression, not the blend. | ||
| // | ||
| // IT DOES NOT FIX THE INTERIOR HAIRLINE, whatever its docstring implies — see | ||
| // `underpaint` below, which does, and which composes with it. | ||
| // | ||
| // THE BLUR CONTROL, and the correction that came with it. An earlier version of | ||
| // this note said a free Gaussian blur outscored everything the project had | ||
| // shipped, on 8 of 9 subjects, and concluded photographic SSIM was untrustworthy. | ||
| // That was a bug in `compareImages` — the alpha gate let a candidate buy a | ||
| // fourth scored channel by varying its own alpha, which any `<filter>` does. On | ||
| // RGB alone the blur was always making things worse. See src/metrics/index.ts. | ||
| // | ||
| // With that fixed, blur's advantage is at most +0.0229 (alpha-dice) and it LOSES | ||
| // on logo-tux, motorcycles, jpeg-artifacts and lighthouse. SSIM mildly favours | ||
| // smoothing, as it is known to; it is not broken here. | ||
| // | ||
| // `npm run blur:control` remains worth running as a floor: a gain inside what a | ||
| // blur buys for free has not been shown to be visible. | ||
| // | ||
| // Colour count stays at 16. The rival describes logo-tux with ten fills and it | ||
| // was worth checking whether that was the advantage; swept at 8, 10, 12 and 16 | ||
| // it is an ordinary size-for-fidelity trade and not a free win — mean SSIM over | ||
| // eight subjects runs 0.7406 (16), 0.7357 (12), 0.7327 (10), 0.7316 (8). | ||
| // | ||
| // `optimizeError: 0.75` — the merge pass was inert, and not for the reason its | ||
| // own docstring gave. fit.ts reads `opts.optimizeError ?? opts.fitError`, so | ||
| // `clean` inherited 0.4 and a merged curve had to be no worse than a freshly | ||
| // fitted one. Instrumented, it accepted a fraction of the merges it attempted. | ||
| // Giving it its own budget, corpus-wide over eight subjects: | ||
| // | ||
| // value segments curve% raw gzip mean SSIM | ||
| // 0.4 97,117 67.5% 1,485,348 508,628 0.74064 | ||
| // 0.70 85,104 63.1% 1,272,581 453,800 0.73951 | ||
| // 0.75 83,296 62.3% 1,239,972 444,371 0.73940 | ||
| // 0.80 81,556 61.6% 1,208,231 434,582 0.73899 | ||
| // 0.90 77,930 59.8% 1,140,813 417,131 0.73834 | ||
| // | ||
| // THERE IS NO PEAK, and an earlier version of this note claimed one. Corpus | ||
| // mean SSIM falls monotonically across the whole sweep; logo-tux alone reads | ||
| // 0.9168 / 0.9173 / 0.9174 / 0.9173 / 0.9166 at 0.4 / 0.70 / 0.75 / 0.80 / 0.90, | ||
| // which is a plateau one ten-thousandth wide, not an optimum — 0.80 matches it | ||
| // while being 3.7% smaller. So 0.75 is a CHOSEN point on a smooth trade and | ||
| // anything in 0.70-0.85 is defensible. It is picked because it takes 74% of the | ||
| // segment gap to the rival (1,714 -> 1,444 on logo-tux) while keeping curve | ||
| // share above 72%, which is the property this preset exists to raise. | ||
| // | ||
| // WHAT IT COSTS. Curve share, and by arithmetic rather than by anything going | ||
| // wrong: merging two curves into one removes one from the numerator and one | ||
| // from the denominator, which lowers any share above 50%. Lines do NOT rise — | ||
| // they fall corpus-wide, so nothing is being flattened into a straight segment. | ||
| // SSIM falls on seven of eight subjects, worst -0.0044 on photo-jpeg-artifacts. | ||
| // logo-tux rises by 0.0006 and that is not worth quoting: a smoother curve | ||
| // landing nearer the antialiased original explains it at least as well as any | ||
| // gain in accuracy. | ||
| // | ||
| // `quadratics: true`. A quadratic is 4 numbers against a cubic's 6, and the | ||
| // reduction is gated on the fitter's OWN error budget rather than on distance | ||
| // from the cubic — so a converted span is no further from the traced points than | ||
| // the cubic it replaced. Measured over all nine subjects: | ||
| // | ||
| // raw -25.3%, gzip -22.5%, mean SSIM -0.00112, and the SEGMENT COUNT is | ||
| // identical on every subject (0 mismatches), as is the curve share. | ||
| // | ||
| // That last part is why this is defaulted on where other size wins were not: it | ||
| // is a pure representation change. Nothing is simplified away, no boundary | ||
| // moves further than the budget already allowed, and the picture is the same | ||
| // picture — it is written down more cheaply. Per-subject the SSIM cost runs from | ||
| // +0.0013 (logo-tux, which improves) to -0.0031 (photo-jpeg-source). | ||
| // | ||
| // It shipped opt-in first, deliberately: it adds a third `Segment` kind that | ||
| // reaches the DXF, EPS and PDF writers, and that surface wanted a release of | ||
| // exposure before becoming a default. | ||
| // | ||
| // `underpaint: true`, and it is the only preset that turns it on, because it is | ||
| // the only one aimed at artwork with transparency. What it fixes is a COUNT and | ||
| // not a score: pixels the SOURCE calls fully opaque that render see-through | ||
| // where two of our fills meet. Two abutting elements cover `c` and `1 - c` of | ||
| // the shared pixel and source-over leaves `1 - c + c^2`, which is 0.75 at | ||
| // `c = 0.5`. On opaque artwork the background rectangle hides it; on | ||
| // transparent artwork nothing does, and the leak traces every interior | ||
| // boundary in the picture. | ||
| // | ||
| // Leaks (source-opaque pixel rendered below alpha 250) / of those, INTERIOR | ||
| // ones more than a pixel from the silhouette, where the artwork's own edge | ||
| // cannot explain them / worst alpha / total alpha deficit: | ||
| // | ||
| // subject as shipped before with underpaint paid rival | ||
| // logo-tux 3,621 / 3,171 / 32 / 75,466 319 / 0 / 32 / 12,270 387 / 17 | ||
| // alpha-dice 1,350 / 725 /222 / 22,142 243 / 16 /228 / 2,501 567 / 213 | ||
| // other seven 0 / 0 0 / 0 70 - 1,144 | ||
| // | ||
| // The interior count goes to ZERO on logo-tux and to 16 on alpha-dice, and both | ||
| // subjects now beat the paid rival, which reaches its own number the same way | ||
| // (an unclipped opaque underlayer) rather than by clipping. The 319 and 243 that | ||
| // remain are all within one pixel of the silhouette, where partial coverage is | ||
| // the correct answer. The 16 interior stragglers on alpha-dice are opaque | ||
| // pixels bordering a TRANSLUCENT class, which the underpaint deliberately does | ||
| // not reach: painting under a translucent region would show through and repaint | ||
| // it. Measured by doing it anyway — alpha-dice's leaks fall to 19 and its SSIM | ||
| // falls with them, 0.9233 -> 0.8936, for 73% more gzip. Fewer leaks and a worse | ||
| // picture is what a gamed count looks like, which is why the renders decided | ||
| // this and not the table. | ||
| // | ||
| // COSTS, and where. gzip x1.040 logo-tux, x1.121 alpha-dice; RAW x1.92 and | ||
| // x1.12, since the `d` data is repeated and gzip eats the repeat only while the | ||
| // document fits its 32K window. Byte-IDENTICAL on the seven opaque subjects — | ||
| // sha1-checked, not assumed — so nothing a photograph does can be blamed on it. | ||
| // SSIM rises where it applies (logo-tux 0.9076 -> 0.9260, alpha-dice | ||
| // 0.9203 -> 0.9233) and moves nowhere else; the alpha-dice gain is inside what | ||
| // a free blur buys, which is why the case here rests on the count. | ||
| // | ||
| // WHY NOT THE CHEAPER-LOOKING VERSIONS. A clip cannot do this: a `<clipPath>` | ||
| // is rasterised into a mask by the same source-over arithmetic, so a mask built | ||
| // from abutting shapes carries the identical deficit, and an opaque band times | ||
| // a 0.75 mask is 0.75. `interpolate` is the clipped version already shipped | ||
| // here and it behaves exactly as that predicts: 844 of logo-tux's 3,171 | ||
| // interior leaks, and 2 of alpha-dice's 725. `strokeWidth` only covers the seam once | ||
| // the stroke is wide in DEVICE pixels — which is why the shipped 0.5 looks | ||
| // innocent at 4x and leaks 7,733 interior pixels at 1.37x, the scale a viewer | ||
| // actually reads a logo at. Rendered at 1.37x and 3.902x, both non-integer on | ||
| // purpose: an integer scale puts every lattice edge on a pixel boundary and | ||
| // hides antialiasing entirely. | ||
| // | ||
| // `minArea: 4` STAYS AT 4. Lowering it to 2 was proposed on a 9-of-9 sweep, | ||
| // measured twice against non-circular truth, and REFUTED. This note is here so | ||
| // it is not re-proposed on the same table. | ||
| // | ||
| // WHAT THE KNOB ACTUALLY IS. `despeckle` absorbs every component whose area is | ||
| // strictly BELOW `minArea` (components.ts), so 4 -> 2 is not a nudge along a | ||
| // smooth trade: it is exactly the decision to KEEP EVERY 2- AND 3-PIXEL | ||
| // COMPONENT in the picture. Nothing else changes. | ||
| // | ||
| // THE CASE FOR IT, reproduced exactly. N=9, preset `clean`, SSIM at 1x against | ||
| // each subject's own source: | ||
| // | ||
| // subject minArea 1 minArea 2 minArea 3 minArea 4 (ships) | ||
| // alpha-dice 0.9219 0.9242 0.9237 0.9233 clean PNG | ||
| // logo-tux 0.9068 0.9283 0.9264 0.9260 clean PNG | ||
| // photo-cat 0.8175 0.8174 0.8174 0.8173 JPEG | ||
| // photo-jpeg-artifacts 0.5939 0.5757 0.5634 0.5521 JPEG, heavy | ||
| // photo-jpeg-source 0.9813 0.9505 0.9340 0.9292 JPEG | ||
| // photo-lighthouse 0.6925 0.6889 0.6848 0.6821 PNG | ||
| // photo-motorcycles 0.6242 0.6090 0.6006 0.5945 PNG | ||
| // photo-parrots 0.7549 0.7542 0.7535 0.7530 PNG | ||
| // photo-portrait 0.6595 0.6591 0.6582 0.6579 PNG | ||
| // | ||
| // minArea 2: mean +0.0080, better on 9 of 9, gzip 1.074x, SUBPATHS 1.497x. | ||
| // | ||
| // "9 OF 9" IS NOT A DISTINGUISHING PROPERTY ON THIS INSTRUMENT. Three unrelated | ||
| // levers do the same thing on the same corpus: `segment: 0.01` is +0.0032 on 9 of | ||
| // 9 for 1.026x gzip and 1.045x subpaths, `optimizeError: 0.4` is +0.0019 on 9 of | ||
| // 9 with ZERO added subpaths. Anything that makes the output hug its input more | ||
| // closely wins here, because the reference IS the input. A clean sweep of this | ||
| // table says the candidate hugs harder, not that the picture got better. | ||
| // | ||
| // THE NON-CIRCULAR ARM, which is the one that decided it. corpus/src holds four | ||
| // .svg. THREE are genuine third-party vector originals — vector-tiger | ||
| // (Ghostscript Tiger), vector-comparison (Wikimedia, Inkscape 1.3), | ||
| // vector-source (Inkscape 0.45.1). logo-tux.svg is OUR OWN OUTPUT, first line | ||
| // "<!-- Generated by vecline v2.0.0 -->", and is excluded by name — check the | ||
| // provenance of any .svg before treating it as ground truth. Render each | ||
| // original at 384px, damage it down a JPEG ladder, vectorise THAT, and score at | ||
| // magnification against the original the tracer never saw. N=3 x 4 rungs, and | ||
| // both 4x and 3.902x, because at exactly 4x every lattice edge lands on a pixel | ||
| // boundary and antialiasing vanishes from the score. | ||
| // | ||
| // minArea 2 minus minArea 4, at 3.902x: clean q75 q50 q30 | ||
| // vector-tiger against TRUTH +0.0092 +0.0091 +0.0053 +0.0029 | ||
| // CIRCULAR, 1x +0.0490 +0.0454 +0.0380 +0.0339 | ||
| // vector-comparison against TRUTH +0.0014 +0.0037 +0.0021 +0.0027 | ||
| // CIRCULAR, 1x +0.0145 +0.0164 +0.0180 +0.0127 | ||
| // vector-source against TRUTH -0.0006 -0.0020 -0.0010 -0.0003 | ||
| // CIRCULAR, 1x +0.0031 +0.0091 +0.0130 +0.0165 | ||
| // | ||
| // Read the vector-source pair on its own: as damage is added the shipped metric's | ||
| // advantage climbs FIVEFOLD, +0.0031 -> +0.0165, while the same runs are NEGATIVE | ||
| // against the artwork at every rung. The metric and the picture move in opposite | ||
| // directions, and the metric moves further the more damage there is to reproduce. | ||
| // On tiger and comparison the circular figure runs 4.4x to 11.7x the truth | ||
| // figure at every one of the eight rungs, never once agreeing on magnitude. | ||
| // 4x agrees with 3.902x on every conclusion and is uniformly the | ||
| // SMALLER figure, so the integer scale understates the gap. | ||
| // | ||
| // RENDERED AND LOOKED, at 6x-16x. photo-jpeg-source is the +0.0213 row and the | ||
| // second-largest claimed gain: at minArea 4 the red glyphs are clean letterforms | ||
| // with a faint pale wash; at minArea 2 the same glyphs carry a crust of angular | ||
| // mid-pink chips hugging every contour. That crust is the JPEG's own ringing | ||
| // halo, re-encoded as geometry. vector-source at q30 shows it against real truth | ||
| // — the vector 'n' is smooth, minArea 4 is lumpy but continuous, minArea 2 is | ||
| // serrated with terraced grey-and-pink blocks down both stems. It looks dirtier, | ||
| // and truth SSIM agrees while circular SSIM says +0.0165. On the tiger's muzzle | ||
| // minArea 2 BREAKS a continuous dark crease into a dotted chain, so "the lower | ||
| // floor keeps more detail" is not even uniformly true by eye. On photo-lighthouse | ||
| // the two are indistinguishable at the crops tried. | ||
| // | ||
| // WHAT THE ADDED LOOPS ARE. Of the subpaths minArea 2 adds, 38-77% enclose one | ||
| // square pixel or less and 57-84% enclose three or less, per subject | ||
| // (scripts/lib/path-stats.mjs; counting command LETTERS undercounts). Corpus | ||
| // total 1.497x subpaths for 1.074x gzip — the byte axis is the one that moves | ||
| // least, and quoting it alone hides the cost. On the vector originals it is | ||
| // 1.20x-1.39x gzip for 2.4x-2.9x subpaths. | ||
| // | ||
| // THE BLUR FLOOR DOES NOT MOVE. `npm run blur:control` beats the candidate on the | ||
| // same 6 of 9 subjects at minArea 2 as at minArea 4, and photo-jpeg-source reads | ||
| // 0.9505 at minArea 2 against a free ~150-byte blur's 0.9521 — the second-largest | ||
| // claimed gain is still inside what smoothing buys for nothing. | ||
| // | ||
| // THE HONEST COUNTERWEIGHT, recorded rather than buried: on CLEAN input a lower | ||
| // floor recovers real picture. vector-tiger is +0.0092 against clean vector truth | ||
| // at 3.902x, and that arm is non-circular. It is not carried over, because | ||
| // `clean` is documented three screens above as the preset for artwork that | ||
| // ARRIVED DAMAGED, and the damaged arm is where it will actually be pointed. A | ||
| // finding about clean input belongs to a preset aimed at clean input. | ||
| // | ||
| // DO NOT QUOTE detailKept AS AN ARGUMENT FOR EITHER VALUE. bench-scale's | ||
| // destruction tripwire, against clean vector truth at 3.902x, reads 75.9% at | ||
| // minArea 4 and 84.6% at minArea 2 on vector-tiger. Both are under the 90% flag; | ||
| // it does not choose between them, it says the preset's 16-colour palette is | ||
| // losing the tiger's face at either setting. | ||
| // | ||
| // THE "SWEPT ONLY UPWARD" LESSON IS NOW DISCHARGED FOR THIS CONSTANT. `minArea` | ||
| // had only ever been swept up from 4 (8, 16, 40), which is the mistake `colors` | ||
| // and `strokeWidth` each paid for. 1, 2 and 3 have now all been measured from | ||
| // below. 1 is worse on the circular table too (7 of 9; it LOSES logo-tux 0.9068 | ||
| // vs 0.9260 and alpha-dice 0.9219 vs 0.9233) and speckles clean flat art. 2 and 3 | ||
| // are the milder dose of the same mechanism, not something different in kind. | ||
| // | ||
| // WHAT WOULD CHANGE THIS, and what would not. Not another 1x sweep: that | ||
| // instrument has now been shown to disagree with the artwork by sign. It would | ||
| // take a keep rule that separates a 2-pixel FRAGMENT OF A REAL EDGE from a | ||
| // 2-pixel COMPRESSION ARTEFACT, and area alone does not — shape does not either | ||
| // on this evidence, since vector-source's added loops are 62% elongated and its | ||
| // truth SSIM still falls. A per-image branch is NOT available: `refineGateFor` | ||
| // already branches every explicit preset on `measureFlatness().interiorNoise`, | ||
| // and that signal does not separate these two arms — clean vector-tiger reads | ||
| // 1.0174 and clean logo-tux 0.6535, both far above the 0.3 gate and both ABOVE | ||
| // damaged photo-jpeg-source's 0.5117. Branching minArea on the existing signal | ||
| // would put pristine vector art on the damaged side. See `autoTracePreset`, | ||
| // which already records two content-type guesses that failed the same way. | ||
| clean: { | ||
| colors: 16, minArea: 4, smooth: 1, segment: 0.02, | ||
| mosaic: true, strokeWidth: 0.5, optimizeError: 0.75, quadratics: true, | ||
| underpaint: true, | ||
| }, | ||
| // `photo` carries no minArea/tolerance/cornerAngle overrides on purpose. It | ||
| // used to force `minArea: 16, cornerAngle: 90, colors: 64` — the same mistake | ||
| // `autoTracePreset` documents having removed — and `npm run compare` caught | ||
| // the result: a preset named "photo" was *worse than auto on photographs*. | ||
| // Despeckling at 16px erases exactly the fine detail — feathers, hair, | ||
| // foliage — that a photograph is made of, and the extra 16 colours never paid | ||
| // for themselves. | ||
| // | ||
| // Re-measured against the shipped path, because the figures recorded here | ||
| // originally were not reproducible from it. The old arm still reproduces | ||
| // exactly (parrots 0.7868 SSIM / 262 KB, portrait 0.6983 / 439 KB) since it | ||
| // passes an explicit `minArea`. This preset does not, and "no override" no | ||
| // longer means "adaptive": `TRACE_DEFAULTS.minArea` is 0 and is spread over | ||
| // every call site below, while the adaptive floor only applies when `minArea` | ||
| // is `undefined`. So the preset now traces with no despeckling at all. | ||
| // | ||
| // What that actually buys, measured: | ||
| // | ||
| // parrots 0.8340 SSIM / 640 KB vs old 0.7868 / 262 KB | ||
| // portrait 0.9127 SSIM / 1366 KB vs old 0.6983 / 439 KB | ||
| // | ||
| // Quality is far ahead — the point above still holds, and more strongly than | ||
| // the original numbers suggested. But this is a trade, not a clean sweep: it | ||
| // costs 2.4x to 3.1x the bytes. Any claim that it wins "on every axis at | ||
| // once" is false and should not be restored. | ||
| photo: { colors: 48, gradients: true }, | ||
| detailed: { colors: 48, minArea: 2, tolerance: 0.3, fitError: 0.3, cornerAngle: 60 }, | ||
| }; | ||
| /** | ||
| * Two cheap signals separate "artwork" from "photograph" reliably: | ||
| * the number of distinct colours, and how often colour changes along a scanline. | ||
| * A screenshot can have thousands of colours yet still be mostly flat; a | ||
| * gradient-heavy photo has both high counts and high run density. | ||
| */ | ||
| export function measureFlatness(img, colorCap = 4096) { | ||
| const seen = new Set(); | ||
| const d = img.data; | ||
| let runs = 0; | ||
| let capped = false; | ||
| let prev = -1; | ||
| for (let y = 0; y < img.height; y++) { | ||
| prev = -1; | ||
| for (let x = 0; x < img.width; x++) { | ||
| const o = (y * img.width + x) * 4; | ||
| const a = d[o + 3]; | ||
| const key = a === 0 ? 0 : packRgba(d[o], d[o + 1], d[o + 2], a); | ||
| if (key !== prev) { | ||
| runs++; | ||
| prev = key; | ||
| } | ||
| if (!capped) { | ||
| seen.add(key); | ||
| if (seen.size > colorCap) | ||
| capped = true; | ||
| } | ||
| } | ||
| } | ||
| // Second pass, off the edges: how much does a pixel differ from its own | ||
| // neighbourhood where there is no boundary to explain it? Cheap, and the only | ||
| // thing that predicts whether refinement will help or hurt. | ||
| // | ||
| // Weighted by alpha, because an invisible pixel's RGB is whatever the encoder | ||
| // happened to leave behind and must not vote. The first pass above already | ||
| // decided this — `a === 0 ? 0 : packRgba(...)` — and this pass did not, so the | ||
| // inconsistency sat inside one function. | ||
| // | ||
| // Measured on corpus/src/alpha-dice.png against a copy with the RGB under every | ||
| // alpha-0 pixel zeroed, verified render-identical by compositing both over three | ||
| // backgrounds: interiorNoise 1.1284 as shipped against 0.2474 cleaned, with | ||
| // REFINE_NOISE_LIMIT at 0.3 sitting between them. Two files that draw the same | ||
| // picture were getting different tracer configurations, decided by 323,179 | ||
| // pixels nobody can see — and the note printed to the user named a noise figure | ||
| // that was mostly invisible pixels. | ||
| // | ||
| // Opaque artwork is untouched: at a = 255 the weight is exactly 1, so every | ||
| // number this gate was calibrated against still holds. | ||
| const lum = (x, y) => { | ||
| const o = ((y * img.width) + x) * 4; | ||
| return ((d[o] + d[o + 1] + d[o + 2]) / 3) * (d[o + 3] / 255); | ||
| }; | ||
| let noiseSum = 0; | ||
| let noiseN = 0; | ||
| for (let y = 1; y < img.height - 1; y++) { | ||
| for (let x = 1; x < img.width - 1; x++) { | ||
| const gx = lum(x + 1, y) - lum(x - 1, y); | ||
| const gy = lum(x, y + 1) - lum(x, y - 1); | ||
| if (Math.hypot(gx, gy) > 24) | ||
| continue; // a real boundary, not interior | ||
| let mean = 0; | ||
| for (let dy = -1; dy <= 1; dy++) | ||
| for (let dx = -1; dx <= 1; dx++) | ||
| mean += lum(x + dx, y + dy); | ||
| noiseSum += Math.abs(lum(x, y) - mean / 9); | ||
| noiseN++; | ||
| } | ||
| } | ||
| return { | ||
| distinctColors: seen.size, | ||
| capped, | ||
| runRatio: runs / (img.width * img.height), | ||
| interiorNoise: noiseN > 0 ? noiseSum / noiseN : 0, | ||
| }; | ||
| } | ||
| /** | ||
| * Interior noise above which sub-pixel refinement is switched off. | ||
| * | ||
| * Measured, with the same images clean and re-encoded, so the split is not a | ||
| * content guess: | ||
| * | ||
| * PNG rendered from vector 0.014 - 0.219 refinement worth +3.01 dB at scale | ||
| * the same at JPEG q40 0.577 - 1.079 refinement costs 0.03-0.10 SSIM | ||
| * logo-tux.png 0.799 costs 0.058 SSIM | ||
| * photo-parrots.png 1.583 | ||
| * a 100x100 JPEG sticker 5.061 costs 0.095 SSIM and 3.6x bytes | ||
| * | ||
| * No overlap: the clean set tops out at 0.219 and the noisy set starts at 0.577. | ||
| * 0.3 sits inside that gap and is deliberately nearer the clean end, because the | ||
| * two mistakes are not symmetric — refining clean input that did not need it | ||
| * costs a little size, while refining noisy input costs accuracy AND 3x the | ||
| * bytes. | ||
| * | ||
| * This replaces a genuinely bad rule. Refinement was previously switched off by | ||
| * `flat.capped`, a >4096 colour count, which JPEG noise trips on a cartoon — so | ||
| * the reported image that motivated curves-by-default went back to zero curves. | ||
| * A colour count is a proxy for content; this is the mechanism's own | ||
| * precondition. | ||
| */ | ||
| export const REFINE_NOISE_LIMIT = 0.3; | ||
| // RETUNE ATTEMPTED AND REJECTED, and the reason is a corpus flip worth keeping. | ||
| // | ||
| // `bench-scale` on its built-in synthetic set says sub-pixel refinement is worth | ||
| // 3.91 dB AND 30% fewer bytes (20.87 against 16.96 at 3.902x, 20,180 B against | ||
| // 28,690). Since this limit turns refinement off on most real artwork — logo-tux | ||
| // measures 0.653, vector-tiger 0.456 — that looked like the limit was costing | ||
| // nearly 4 dB on exactly the pictures it was built for, and like it should rise. | ||
| // | ||
| // It should not. Re-run against three REAL vector sources, each JPEG-compressed at | ||
| // six qualities so only noise varies, scored edge-weighted at 3.902x against the | ||
| // vector original the tracer never sees: | ||
| // | ||
| // subject noise range subpixel delta bytes | ||
| // vector-tiger 1.54 - 2.84 +0.11 to +0.19 2.01x | ||
| // vector-source 0.34 - 1.28 -0.10 to -0.17 1.94x | ||
| // vector-comparison 1.05 - 1.68 -0.11 to -0.15 2.10x | ||
| // | ||
| // On two of three it is worse on BOTH axes; on the third it buys under 0.2 dB for | ||
| // double the bytes. Four synthetic shapes and three real ones answer the same | ||
| // question in opposite directions, which is this project's recurring lesson about | ||
| // corpus size, arriving again. | ||
| // | ||
| // The sharper point: the delta does not track noise AT ALL. vector-tiger stays | ||
| // positive from 1.54 to 2.84; vector-source stays negative from 0.34 to 1.28. So | ||
| // `interiorNoise` does not predict the sign of the trade on this material, and the | ||
| // limit is not separating "refinement helps" from "refinement hurts" the way its | ||
| // name implies. It happens to land on the conservative side, which is the right | ||
| // call, for a reason other than the stated one. | ||
| // | ||
| // What would justify moving it: a corpus where the delta actually changes sign | ||
| // with noise. That has not been found, and until it is, the honest description of | ||
| // this constant is "a conservative default that keeps refinement off unless a | ||
| // preset asks for it", not "the noise level above which refinement stops paying". | ||
| /** | ||
| * The refinement half of `autoTracePreset`, on its own. | ||
| * | ||
| * Split out so an explicitly chosen preset gets the same measured protection that | ||
| * `auto` gets. Deliberately returns ONLY the refine fields — palette choice stays | ||
| * the preset's business, and a preset that names `subpixel` overrides this by | ||
| * spreading after it. | ||
| */ | ||
| export function refineGateFor(image) { | ||
| const flat = measureFlatness(image); | ||
| if (flat.interiorNoise <= REFINE_NOISE_LIMIT) | ||
| return {}; | ||
| // Both, together. `latticeSimplify` defaults to `!subpixel`, so switching only | ||
| // subpixel off turns simplification ON and costs MORE bytes than leaving it be. | ||
| return { subpixel: false, latticeSimplify: false }; | ||
| } | ||
| // `clean`'s despeckle floor cannot be one constant — swept across 18 real | ||
| // subjects, tolerance for it is a property of CONTENT, not size: two | ||
| // subjects at the identical 393,216px resolution differ 10x in what | ||
| // minArea:60 costs (photo-motorcycles.png, real mechanical detail, | ||
| // -0.136 SSIM; photo-parrots.png, -0.014), so nothing below ~2,000,000px | ||
| // can safely move off the conservative default without a working content | ||
| // signal, which does not exist yet. At or above that size, every subject | ||
| // measured — including a real photograph — tolerated minArea:40 for | ||
| // <=0.005 SSIM (confirmed visually indistinguishable, not just by the | ||
| // number). That directly answers the reported defect: a 14.9-megapixel | ||
| // subject where minArea:4 let JPEG/paper-texture noise through as | ||
| // thousands of tiny subpaths (curve fraction 62.0%->99.0%, gzip -40%). | ||
| // A 100x100 icon with the SAME defect (minArea:4 fragmenting it into 268 | ||
| // regions, 43% of shared boundaries collapsing to straight 2-point lines) | ||
| // is NOT fixed by this — every minArea tested above 4 visually destroyed | ||
| // real content on that specific subject. That is `fitOpen`'s 2-point | ||
| // segments only ever being able to express a line, not a despeckle-floor | ||
| // problem, and belongs to a separate investigation. | ||
| export function cleanMinArea(width, height) { | ||
| return width * height >= 2_000_000 ? 40 : 4; | ||
| } | ||
| //# sourceMappingURL=presets.js.map |
| {"version":3,"file":"presets.js","sourceRoot":"","sources":["../../../src/vectorize/presets.ts"],"names":[],"mappings":"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"} |
+3
-62
@@ -10,12 +10,6 @@ import { type DecodeOptions } from './io/decode.js'; | ||
| import { type TraceOptions } from './vectorize/trace.js'; | ||
| export declare const VERSION = "2.1.3"; | ||
| import { type Preset } from './vectorize/presets.js'; | ||
| export { PRESETS, measureFlatness, type Preset } from './vectorize/presets.js'; | ||
| export declare const VERSION = "2.1.4"; | ||
| export type VectorizeModeOption = VectorizeMode | 'auto' | 'lossless'; | ||
| export type Preset = 'auto' | 'logo' | 'lineart' | 'poster' | 'photo' | 'detailed' | 'clean' | 'pixelart' | 'exact'; | ||
| /** | ||
| * Presets are starting points, not straitjackets — every field stays | ||
| * overridable. They exist because the useful parameter combinations cluster by | ||
| * *what kind of picture it is*, and asking someone to guess a Douglas–Peucker | ||
| * tolerance is a bad interface. | ||
| */ | ||
| export declare const PRESETS: Record<Exclude<Preset, 'auto' | 'pixelart' | 'exact'>, TraceOptions>; | ||
| export interface VectorizeOptions { | ||
@@ -91,54 +85,2 @@ /** | ||
| export declare function verifySvg(svg: string, reference: RasterImage, compare?: CompareOptions, rasterizeOpts?: RasterizeOptions): Promise<QualityReport>; | ||
| interface Flatness { | ||
| distinctColors: number; | ||
| capped: boolean; | ||
| /** Horizontal runs per pixel. Near 0 is flat artwork, near 1 is noise. */ | ||
| runRatio: number; | ||
| /** | ||
| * Mean absolute deviation from the local mean, measured only AWAY from edges. | ||
| * | ||
| * This is the precondition for sub-pixel refinement, not a content guess. | ||
| * Refinement recovers where an edge fell by inverting the anti-aliasing | ||
| * coverage across it; that inversion assumes the only variation near a | ||
| * boundary IS coverage. Interior noise is variation that is not, and it gets | ||
| * read as edge displacement. | ||
| */ | ||
| interiorNoise: number; | ||
| } | ||
| /** | ||
| * Two cheap signals separate "artwork" from "photograph" reliably: | ||
| * the number of distinct colours, and how often colour changes along a scanline. | ||
| * A screenshot can have thousands of colours yet still be mostly flat; a | ||
| * gradient-heavy photo has both high counts and high run density. | ||
| */ | ||
| export declare function measureFlatness(img: RasterImage, colorCap?: number): Flatness; | ||
| /** | ||
| * Trace, then — if a quality target was given — escalate and try again. | ||
| * | ||
| * Each step doubles the palette and tightens the geometric tolerances, because | ||
| * the two failure modes are different: too few colours shows up as banding, | ||
| * too loose a tolerance shows up as rounded-off detail. Moving both keeps the | ||
| * search short. The best result seen is kept, so a target that turns out to be | ||
| * unreachable still returns the closest attempt rather than the last one. | ||
| */ | ||
| /** | ||
| * When no preset is named, scale the trace settings to the content instead of | ||
| * always using the lean 16-colour default. A photograph traced with 16 colours | ||
| * bands visibly; a zero-config `convert photo.png out.svg` should give it a | ||
| * photo-grade palette and gradient de-banding (which can only help). Flat artwork | ||
| * keeps the lean default, which is already ideal — and is never sent here anyway, | ||
| * since auto mode routes it to bit-exact pixel output first. | ||
| */ | ||
| /** | ||
| * The refinement half of `autoTracePreset`, on its own. | ||
| * | ||
| * Split out so an explicitly chosen preset gets the same measured protection that | ||
| * `auto` gets. Deliberately returns ONLY the refine fields — palette choice stays | ||
| * the preset's business, and a preset that names `subpixel` overrides this by | ||
| * spreading after it. | ||
| */ | ||
| export declare function refineGateFor(image: RasterImage): { | ||
| subpixel?: boolean; | ||
| latticeSimplify?: boolean; | ||
| }; | ||
| export interface RasterizeToBufferOptions extends RasterizeOptions { | ||
@@ -175,3 +117,2 @@ encode: EncodeOptions; | ||
| export declare function suggestTitle(path: string): string; | ||
| export {}; | ||
| //# sourceMappingURL=api.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} |
@@ -43,2 +43,3 @@ /** | ||
| export { trace, traceSeparations, TRACE_DEFAULTS, type TraceOptions, type TraceOutput, type Separation, } from './vectorize/trace.js'; | ||
| export { PRESETS, measureFlatness, refineGateFor, cleanMinArea, REFINE_NOISE_LIMIT, type Preset, type Flatness, } from './vectorize/presets.js'; | ||
| export { selectiveBlur, type BlurOptions } from './preprocess.js'; | ||
@@ -66,3 +67,3 @@ export { applyThreshold, otsuThreshold, bradleyMask, type ThresholdOptions, type ThresholdResult, } from './vectorize/threshold.js'; | ||
| /** Version of the package this build came from. */ | ||
| export declare const VERSION = "2.1.3"; | ||
| export declare const VERSION = "2.1.4"; | ||
| //# sourceMappingURL=core.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} |
+14
-4
@@ -32,5 +32,5 @@ "use strict"; | ||
| Object.defineProperty(exports, "__esModule", { value: true }); | ||
| exports.paletteToCssVars = exports.extractPalette = exports.NearestColor = exports.quantizeAlpha = exports.quantize = exports.bradleyMask = exports.otsuThreshold = exports.applyThreshold = exports.selectiveBlur = exports.TRACE_DEFAULTS = exports.traceSeparations = exports.trace = exports.vectorizeExactContours = exports.vectorizeExact = exports.dominantColor = exports.countDistinctColors = exports.vectorizePixels = exports.countPathNodes = exports.measureSvgComplexity = exports.optimizeSvg = exports.escapeAttr = exports.escapeText = exports.fillAttrs = exports.SvgDoc = exports.num = exports.PathBuilder = exports.diffImages = exports.ssimPlane = exports.compareImages = exports.detectBackgroundColor = exports.removeBackground = exports.subsample = exports.colorHistogram = exports.unpackRgba = exports.packRgba = exports.isOpaque = exports.compositeOver = exports.premultiply = exports.sameSize = exports.createImage = exports.parseCssColor = exports.shortHex = exports.hex = exports.luma709 = exports.deltaE2000 = exports.srgbToLab = exports.oklabToSrgb = exports.srgbToOklab = exports.linearToSrgb = exports.srgbToLinear = void 0; | ||
| exports.lqipSvg = exports.blurHash = exports.framesToAnimatedSvg = exports.cropImage = exports.smartCrop = exports.svgSprite = exports.toComponent = exports.registeredFormats = exports.findEncoder = exports.findDecoder = exports.unregisterEncoder = exports.unregisterDecoder = exports.registerEncoder = exports.registerDecoder = exports.latin1 = exports.bytesEqual = exports.fromBase64 = exports.toBase64 = exports.chooseConvertRoute = exports.autoMinArea = exports.encodeIcoDib = exports.encodeIco = exports.encodeTga = exports.encodePnm = exports.encodeBmp = exports.isTga = exports.isPnm = exports.isIco = exports.isBmp = exports.listIcoEntries = exports.sniffFallbackFormat = exports.decodeTgaFallback = exports.decodeFallback = exports.decodeTga = exports.decodePnm = exports.decodeIco = exports.decodeBmp = exports.GRADIENT_DEFAULTS = exports.GRAD_BASE = exports.detectGradients = exports.primitiveSvg = exports.detectPrimitive = exports.fitLoop = exports.centerlinePolylines = exports.centerlineTrace = exports.refineLoop = exports.traceComponents = exports.adaptiveMinArea = exports.despeckle = exports.connectedComponents = void 0; | ||
| exports.VERSION = exports.toGcode = exports.toPdf = exports.toEps = exports.toDxf = exports.traceGeometry = void 0; | ||
| exports.bradleyMask = exports.otsuThreshold = exports.applyThreshold = exports.selectiveBlur = exports.REFINE_NOISE_LIMIT = exports.cleanMinArea = exports.refineGateFor = exports.measureFlatness = exports.PRESETS = exports.TRACE_DEFAULTS = exports.traceSeparations = exports.trace = exports.vectorizeExactContours = exports.vectorizeExact = exports.dominantColor = exports.countDistinctColors = exports.vectorizePixels = exports.countPathNodes = exports.measureSvgComplexity = exports.optimizeSvg = exports.escapeAttr = exports.escapeText = exports.fillAttrs = exports.SvgDoc = exports.num = exports.PathBuilder = exports.diffImages = exports.ssimPlane = exports.compareImages = exports.detectBackgroundColor = exports.removeBackground = exports.subsample = exports.colorHistogram = exports.unpackRgba = exports.packRgba = exports.isOpaque = exports.compositeOver = exports.premultiply = exports.sameSize = exports.createImage = exports.parseCssColor = exports.shortHex = exports.hex = exports.luma709 = exports.deltaE2000 = exports.srgbToLab = exports.oklabToSrgb = exports.srgbToOklab = exports.linearToSrgb = exports.srgbToLinear = void 0; | ||
| exports.svgSprite = exports.toComponent = exports.registeredFormats = exports.findEncoder = exports.findDecoder = exports.unregisterEncoder = exports.unregisterDecoder = exports.registerEncoder = exports.registerDecoder = exports.latin1 = exports.bytesEqual = exports.fromBase64 = exports.toBase64 = exports.chooseConvertRoute = exports.autoMinArea = exports.encodeIcoDib = exports.encodeIco = exports.encodeTga = exports.encodePnm = exports.encodeBmp = exports.isTga = exports.isPnm = exports.isIco = exports.isBmp = exports.listIcoEntries = exports.sniffFallbackFormat = exports.decodeTgaFallback = exports.decodeFallback = exports.decodeTga = exports.decodePnm = exports.decodeIco = exports.decodeBmp = exports.GRADIENT_DEFAULTS = exports.GRAD_BASE = exports.detectGradients = exports.primitiveSvg = exports.detectPrimitive = exports.fitLoop = exports.centerlinePolylines = exports.centerlineTrace = exports.refineLoop = exports.traceComponents = exports.adaptiveMinArea = exports.despeckle = exports.connectedComponents = exports.paletteToCssVars = exports.extractPalette = exports.NearestColor = exports.quantizeAlpha = exports.quantize = void 0; | ||
| exports.VERSION = exports.toGcode = exports.toPdf = exports.toEps = exports.toDxf = exports.traceGeometry = exports.lqipSvg = exports.blurHash = exports.framesToAnimatedSvg = exports.cropImage = exports.smartCrop = void 0; | ||
| // --- Colour science -------------------------------------------------------- | ||
@@ -96,2 +96,12 @@ var color_js_1 = require("./color.js"); | ||
| Object.defineProperty(exports, "TRACE_DEFAULTS", { enumerable: true, get: function () { return trace_js_1.TRACE_DEFAULTS; } }); | ||
| // --- Preset resolution, including its noise/size-adaptive overrides -------- | ||
| // The same values and gates `vecline`'s CLI/`vectorize()` use for a named | ||
| // preset, so a portable caller (a browser worker, an edge function) can | ||
| // resolve identical trace options instead of a hand-copied approximation. | ||
| var presets_js_1 = require("./vectorize/presets.js"); | ||
| Object.defineProperty(exports, "PRESETS", { enumerable: true, get: function () { return presets_js_1.PRESETS; } }); | ||
| Object.defineProperty(exports, "measureFlatness", { enumerable: true, get: function () { return presets_js_1.measureFlatness; } }); | ||
| Object.defineProperty(exports, "refineGateFor", { enumerable: true, get: function () { return presets_js_1.refineGateFor; } }); | ||
| Object.defineProperty(exports, "cleanMinArea", { enumerable: true, get: function () { return presets_js_1.cleanMinArea; } }); | ||
| Object.defineProperty(exports, "REFINE_NOISE_LIMIT", { enumerable: true, get: function () { return presets_js_1.REFINE_NOISE_LIMIT; } }); | ||
| // --- Pre-tracing pixel filters, all pure ------------------------------------ | ||
@@ -209,3 +219,3 @@ var preprocess_js_1 = require("./preprocess.js"); | ||
| /** Version of the package this build came from. */ | ||
| exports.VERSION = '2.1.3'; | ||
| exports.VERSION = '2.1.4'; | ||
| //# sourceMappingURL=core.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"despike.d.ts","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2U/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAyB5D"} | ||
| {"version":3,"file":"despike.d.ts","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAiZ/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAyB5D"} |
@@ -89,4 +89,9 @@ "use strict"; | ||
| * by more than a noise floor ({@link OVERSHOOT_MIN_SQ}). | ||
| * 6. If `A`, `B` AND the candidate are all achromatic (grey: R≈G≈B on | ||
| * each), the overshoot found in gate 5 must also be small relative to | ||
| * the A-B step itself ({@link ACHROMATIC_EXCESS_RATIO_MAX}). See that | ||
| * constant's doc comment for why gate 4 cannot do this job for grey | ||
| * content the way it does for colour. | ||
| * | ||
| * A pixel that clears all five is corrected by projecting it back onto the | ||
| * A pixel that clears every gate is corrected by projecting it back onto the | ||
| * segment — clamping its interpolation parameter to `[0, 1]` — using | ||
@@ -189,2 +194,55 @@ * whichever of the (up to 4) axes measured the largest overshoot. Every | ||
| const OVERSHOOT_MIN_SQ = 500; | ||
| /** | ||
| * Per-channel spread (`max(R,G,B) - min(R,G,B)`, raw bytes) at or below which | ||
| * a sample counts as achromatic (grey) for {@link ACHROMATIC_EXCESS_RATIO_MAX} | ||
| * below. 2 matches the same real-corpus-measured per-channel jitter floor | ||
| * `EPS_SQ` above is built on (see that constant's doc comment) — the same | ||
| * amount of noise this file already treats as "not a real difference" | ||
| * elsewhere is also not enough to call a sample "not quite grey". | ||
| */ | ||
| const ACHROMATIC_CHANNEL_EPS = 2; | ||
| /** | ||
| * Why gate 4 (colinearity, {@link RESID_MAX_SQ}) is a structural no-op when | ||
| * `A`, `B` and the candidate are all achromatic, and what stands in for it. | ||
| * | ||
| * Colinearity works for colour because a real edge's overshoot is a | ||
| * continuation of that SPECIFIC edge's own colour trajectory extrapolated | ||
| * too far — a candidate belonging to some unrelated feature generically | ||
| * sits off that line, in the 4-D premultiplied-RGBA space gate 4 tests. But | ||
| * every achromatic point `(v, v, v, a)` (fixed `a`) sits on the single | ||
| * straight line `R = G = B` by construction: ANY three grey samples are | ||
| * exactly colinear regardless of what they mean, so `residSq` is ~0 whether | ||
| * the candidate is genuine ringing or a wholly independent grey feature. | ||
| * Measured directly: a synthetic grey triple (20, 250, 70) — a 1-3px grey | ||
| * sliver sitting as a local brightness extremum between two distinct grey | ||
| * plateaus, real content, not ringing — clears gates 1-5 exactly as cleanly | ||
| * as the real `yoyokd14` defect does (`residSq` ~2.4e-27, i.e. floating-point | ||
| * zero) and was fully erased to the plateau colour before this gate existed. | ||
| * | ||
| * What stands in for colinearity here is the RATIO of the overshoot | ||
| * (`excessSq`, gate 5) to the A-B step it overshoots (`abSq`) rather than | ||
| * either number alone: a genuine reconstruction/sharpening-kernel ringing | ||
| * artifact is bounded by a modest fraction of the edge amplitude that | ||
| * produced it (a few percent for Lanczos-family resamplers, rarely | ||
| * approaching 100% even under aggressive unsharp masking) — it cannot | ||
| * plausibly exceed the step itself, because the ripple is a side-lobe of | ||
| * that same step's reconstruction, not an independent signal. A real grey | ||
| * feature has no such relationship to the plateaus flanking it; its | ||
| * brightness is set by whatever content it actually is. | ||
| * | ||
| * Measured on both ends: the one diagnosed real overshoot in this codebase | ||
| * (chromatic, `yoyokd14` at (1148, 697)) has `excessSq` ~1,669-2,171 against | ||
| * `abSq` ~100,949 — ratio ~0.0165-0.0215. The false positive above measures | ||
| * `excessSq` ~97,200 against `abSq` 7,500 — ratio ~12.96, over 600x larger. | ||
| * 0.5 sits at roughly the log-midpoint of those two measurements, ~30x | ||
| * above the one genuine ratio on record and ~26x below the measured false | ||
| * positive, with room on both sides. | ||
| */ | ||
| const ACHROMATIC_EXCESS_RATIO_MAX = 0.5; | ||
| /** Whether the raw R,G,B at `off` are close enough to call the sample gray. */ | ||
| function isAchromatic(data, off) { | ||
| const r = data[off], g = data[off + 1], b = data[off + 2]; | ||
| const max = Math.max(r, g, b), min = Math.min(r, g, b); | ||
| return max - min <= ACHROMATIC_CHANNEL_EPS; | ||
| } | ||
| const DESPIKE_DIRS = [ | ||
@@ -273,2 +331,11 @@ [1, 0], [0, 1], [1, 1], [1, -1], | ||
| return null; | ||
| // Gate 6: see ACHROMATIC_EXCESS_RATIO_MAX's doc comment. Colinearity (gate | ||
| // 4) cannot discriminate real grey content from ringing when A, B and the | ||
| // candidate are all achromatic — every grey triple is exactly colinear by | ||
| // construction — so a grey overshoot must also be small relative to the | ||
| // step it overshoots, not merely past its endpoint by the ordinary floor. | ||
| if (isAchromatic(data, offA) && isAchromatic(data, offB) && isAchromatic(data, p)) { | ||
| if (excessSq > ACHROMATIC_EXCESS_RATIO_MAX * abSq) | ||
| return null; | ||
| } | ||
| const tc = t < 0 ? 0 : 1; | ||
@@ -275,0 +342,0 @@ const ca = A4[3] + tc * AB4[3]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"despike.js","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"despike.js","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"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"} |
+3
-62
@@ -10,12 +10,6 @@ import { type DecodeOptions } from './io/decode.js'; | ||
| import { type TraceOptions } from './vectorize/trace.js'; | ||
| export declare const VERSION = "2.1.3"; | ||
| import { type Preset } from './vectorize/presets.js'; | ||
| export { PRESETS, measureFlatness, type Preset } from './vectorize/presets.js'; | ||
| export declare const VERSION = "2.1.4"; | ||
| export type VectorizeModeOption = VectorizeMode | 'auto' | 'lossless'; | ||
| export type Preset = 'auto' | 'logo' | 'lineart' | 'poster' | 'photo' | 'detailed' | 'clean' | 'pixelart' | 'exact'; | ||
| /** | ||
| * Presets are starting points, not straitjackets — every field stays | ||
| * overridable. They exist because the useful parameter combinations cluster by | ||
| * *what kind of picture it is*, and asking someone to guess a Douglas–Peucker | ||
| * tolerance is a bad interface. | ||
| */ | ||
| export declare const PRESETS: Record<Exclude<Preset, 'auto' | 'pixelart' | 'exact'>, TraceOptions>; | ||
| export interface VectorizeOptions { | ||
@@ -91,54 +85,2 @@ /** | ||
| export declare function verifySvg(svg: string, reference: RasterImage, compare?: CompareOptions, rasterizeOpts?: RasterizeOptions): Promise<QualityReport>; | ||
| interface Flatness { | ||
| distinctColors: number; | ||
| capped: boolean; | ||
| /** Horizontal runs per pixel. Near 0 is flat artwork, near 1 is noise. */ | ||
| runRatio: number; | ||
| /** | ||
| * Mean absolute deviation from the local mean, measured only AWAY from edges. | ||
| * | ||
| * This is the precondition for sub-pixel refinement, not a content guess. | ||
| * Refinement recovers where an edge fell by inverting the anti-aliasing | ||
| * coverage across it; that inversion assumes the only variation near a | ||
| * boundary IS coverage. Interior noise is variation that is not, and it gets | ||
| * read as edge displacement. | ||
| */ | ||
| interiorNoise: number; | ||
| } | ||
| /** | ||
| * Two cheap signals separate "artwork" from "photograph" reliably: | ||
| * the number of distinct colours, and how often colour changes along a scanline. | ||
| * A screenshot can have thousands of colours yet still be mostly flat; a | ||
| * gradient-heavy photo has both high counts and high run density. | ||
| */ | ||
| export declare function measureFlatness(img: RasterImage, colorCap?: number): Flatness; | ||
| /** | ||
| * Trace, then — if a quality target was given — escalate and try again. | ||
| * | ||
| * Each step doubles the palette and tightens the geometric tolerances, because | ||
| * the two failure modes are different: too few colours shows up as banding, | ||
| * too loose a tolerance shows up as rounded-off detail. Moving both keeps the | ||
| * search short. The best result seen is kept, so a target that turns out to be | ||
| * unreachable still returns the closest attempt rather than the last one. | ||
| */ | ||
| /** | ||
| * When no preset is named, scale the trace settings to the content instead of | ||
| * always using the lean 16-colour default. A photograph traced with 16 colours | ||
| * bands visibly; a zero-config `convert photo.png out.svg` should give it a | ||
| * photo-grade palette and gradient de-banding (which can only help). Flat artwork | ||
| * keeps the lean default, which is already ideal — and is never sent here anyway, | ||
| * since auto mode routes it to bit-exact pixel output first. | ||
| */ | ||
| /** | ||
| * The refinement half of `autoTracePreset`, on its own. | ||
| * | ||
| * Split out so an explicitly chosen preset gets the same measured protection that | ||
| * `auto` gets. Deliberately returns ONLY the refine fields — palette choice stays | ||
| * the preset's business, and a preset that names `subpixel` overrides this by | ||
| * spreading after it. | ||
| */ | ||
| export declare function refineGateFor(image: RasterImage): { | ||
| subpixel?: boolean; | ||
| latticeSimplify?: boolean; | ||
| }; | ||
| export interface RasterizeToBufferOptions extends RasterizeOptions { | ||
@@ -175,3 +117,2 @@ encode: EncodeOptions; | ||
| export declare function suggestTitle(path: string): string; | ||
| export {}; | ||
| //# sourceMappingURL=api.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"api.js","sourceRoot":"","sources":["../../src/api.ts"],"names":[],"mappings":"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"} |
@@ -43,2 +43,3 @@ /** | ||
| export { trace, traceSeparations, TRACE_DEFAULTS, type TraceOptions, type TraceOutput, type Separation, } from './vectorize/trace.js'; | ||
| export { PRESETS, measureFlatness, refineGateFor, cleanMinArea, REFINE_NOISE_LIMIT, type Preset, type Flatness, } from './vectorize/presets.js'; | ||
| export { selectiveBlur, type BlurOptions } from './preprocess.js'; | ||
@@ -66,3 +67,3 @@ export { applyThreshold, otsuThreshold, bradleyMask, type ThresholdOptions, type ThresholdResult, } from './vectorize/threshold.js'; | ||
| /** Version of the package this build came from. */ | ||
| export declare const VERSION = "2.1.3"; | ||
| export declare const VERSION = "2.1.4"; | ||
| //# sourceMappingURL=core.d.ts.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,WAAW,EACX,UAAU,EACV,YAAY,EACZ,SAAS,EACT,IAAI,EACJ,KAAK,EACL,eAAe,EACf,aAAa,EACb,aAAa,EACb,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,OAAO,EACP,GAAG,EACH,QAAQ,EACR,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,WAAW,EACX,QAAQ,EACR,WAAW,EACX,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,cAAc,EACd,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,KAAK,uBAAuB,EAC5B,KAAK,sBAAsB,GAC5B,MAAM,iBAAiB,CAAC;AAGzB,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGnF,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAG1E,OAAO,EAAE,WAAW,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/F,OAAO,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAG3F,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,aAAa,GACnB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,UAAU,GAChB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EACL,OAAO,EACP,eAAe,EACf,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,KAAK,MAAM,EACX,KAAK,QAAQ,GACd,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,aAAa,EAAE,KAAK,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EACL,cAAc,EACd,aAAa,EACb,WAAW,EACX,KAAK,gBAAgB,EACrB,KAAK,eAAe,GACrB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,KAAK,OAAO,EACZ,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,mBAAmB,EACnB,SAAS,EACT,eAAe,EACf,KAAK,YAAY,GAClB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,KAAK,IAAI,EAAE,KAAK,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,KAAK,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEvE,OAAO,EACL,eAAe,EACf,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,OAAO,EACP,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,OAAO,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,eAAe,EACf,YAAY,EACZ,KAAK,SAAS,EACd,KAAK,gBAAgB,GACtB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EACL,eAAe,EACf,SAAS,EACT,iBAAiB,EACjB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,cAAc,GACpB,MAAM,yBAAyB,CAAC;AASjC,OAAO,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,cAAc,EACd,iBAAiB,EACjB,mBAAmB,EACnB,cAAc,EACd,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,SAAS,EACT,SAAS,EACT,SAAS,EACT,SAAS,EACT,YAAY,EACZ,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACb,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,aAAa,GACnB,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAKnD,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAC;AAGtE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAMjF,OAAO,EACL,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAGzF,OAAO,EAAE,SAAS,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGlF,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGvF,OAAO,EAAE,mBAAmB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAK7E,OAAO,EACL,aAAa,EACb,KAAK,EACL,KAAK,EACL,KAAK,EACL,OAAO,EACP,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,YAAY,GAClB,MAAM,sBAAsB,CAAC;AAE9B,mDAAmD;AACnD,eAAO,MAAM,OAAO,UAAU,CAAC"} |
+6
-1
@@ -49,2 +49,7 @@ /** | ||
| export { trace, traceSeparations, TRACE_DEFAULTS, } from './vectorize/trace.js'; | ||
| // --- Preset resolution, including its noise/size-adaptive overrides -------- | ||
| // The same values and gates `vecline`'s CLI/`vectorize()` use for a named | ||
| // preset, so a portable caller (a browser worker, an edge function) can | ||
| // resolve identical trace options instead of a hand-copied approximation. | ||
| export { PRESETS, measureFlatness, refineGateFor, cleanMinArea, REFINE_NOISE_LIMIT, } from './vectorize/presets.js'; | ||
| // --- Pre-tracing pixel filters, all pure ------------------------------------ | ||
@@ -98,3 +103,3 @@ export { selectiveBlur } from './preprocess.js'; | ||
| /** Version of the package this build came from. */ | ||
| export const VERSION = '2.1.3'; | ||
| export const VERSION = '2.1.4'; | ||
| //# sourceMappingURL=core.js.map |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/core.ts"],"names":[],"mappings":"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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"despike.d.ts","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AA2U/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAyB5D"} | ||
| {"version":3,"file":"despike.d.ts","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAiZ/C;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,CAyB5D"} |
@@ -86,4 +86,9 @@ /** | ||
| * by more than a noise floor ({@link OVERSHOOT_MIN_SQ}). | ||
| * 6. If `A`, `B` AND the candidate are all achromatic (grey: R≈G≈B on | ||
| * each), the overshoot found in gate 5 must also be small relative to | ||
| * the A-B step itself ({@link ACHROMATIC_EXCESS_RATIO_MAX}). See that | ||
| * constant's doc comment for why gate 4 cannot do this job for grey | ||
| * content the way it does for colour. | ||
| * | ||
| * A pixel that clears all five is corrected by projecting it back onto the | ||
| * A pixel that clears every gate is corrected by projecting it back onto the | ||
| * segment — clamping its interpolation parameter to `[0, 1]` — using | ||
@@ -186,2 +191,55 @@ * whichever of the (up to 4) axes measured the largest overshoot. Every | ||
| const OVERSHOOT_MIN_SQ = 500; | ||
| /** | ||
| * Per-channel spread (`max(R,G,B) - min(R,G,B)`, raw bytes) at or below which | ||
| * a sample counts as achromatic (grey) for {@link ACHROMATIC_EXCESS_RATIO_MAX} | ||
| * below. 2 matches the same real-corpus-measured per-channel jitter floor | ||
| * `EPS_SQ` above is built on (see that constant's doc comment) — the same | ||
| * amount of noise this file already treats as "not a real difference" | ||
| * elsewhere is also not enough to call a sample "not quite grey". | ||
| */ | ||
| const ACHROMATIC_CHANNEL_EPS = 2; | ||
| /** | ||
| * Why gate 4 (colinearity, {@link RESID_MAX_SQ}) is a structural no-op when | ||
| * `A`, `B` and the candidate are all achromatic, and what stands in for it. | ||
| * | ||
| * Colinearity works for colour because a real edge's overshoot is a | ||
| * continuation of that SPECIFIC edge's own colour trajectory extrapolated | ||
| * too far — a candidate belonging to some unrelated feature generically | ||
| * sits off that line, in the 4-D premultiplied-RGBA space gate 4 tests. But | ||
| * every achromatic point `(v, v, v, a)` (fixed `a`) sits on the single | ||
| * straight line `R = G = B` by construction: ANY three grey samples are | ||
| * exactly colinear regardless of what they mean, so `residSq` is ~0 whether | ||
| * the candidate is genuine ringing or a wholly independent grey feature. | ||
| * Measured directly: a synthetic grey triple (20, 250, 70) — a 1-3px grey | ||
| * sliver sitting as a local brightness extremum between two distinct grey | ||
| * plateaus, real content, not ringing — clears gates 1-5 exactly as cleanly | ||
| * as the real `yoyokd14` defect does (`residSq` ~2.4e-27, i.e. floating-point | ||
| * zero) and was fully erased to the plateau colour before this gate existed. | ||
| * | ||
| * What stands in for colinearity here is the RATIO of the overshoot | ||
| * (`excessSq`, gate 5) to the A-B step it overshoots (`abSq`) rather than | ||
| * either number alone: a genuine reconstruction/sharpening-kernel ringing | ||
| * artifact is bounded by a modest fraction of the edge amplitude that | ||
| * produced it (a few percent for Lanczos-family resamplers, rarely | ||
| * approaching 100% even under aggressive unsharp masking) — it cannot | ||
| * plausibly exceed the step itself, because the ripple is a side-lobe of | ||
| * that same step's reconstruction, not an independent signal. A real grey | ||
| * feature has no such relationship to the plateaus flanking it; its | ||
| * brightness is set by whatever content it actually is. | ||
| * | ||
| * Measured on both ends: the one diagnosed real overshoot in this codebase | ||
| * (chromatic, `yoyokd14` at (1148, 697)) has `excessSq` ~1,669-2,171 against | ||
| * `abSq` ~100,949 — ratio ~0.0165-0.0215. The false positive above measures | ||
| * `excessSq` ~97,200 against `abSq` 7,500 — ratio ~12.96, over 600x larger. | ||
| * 0.5 sits at roughly the log-midpoint of those two measurements, ~30x | ||
| * above the one genuine ratio on record and ~26x below the measured false | ||
| * positive, with room on both sides. | ||
| */ | ||
| const ACHROMATIC_EXCESS_RATIO_MAX = 0.5; | ||
| /** Whether the raw R,G,B at `off` are close enough to call the sample gray. */ | ||
| function isAchromatic(data, off) { | ||
| const r = data[off], g = data[off + 1], b = data[off + 2]; | ||
| const max = Math.max(r, g, b), min = Math.min(r, g, b); | ||
| return max - min <= ACHROMATIC_CHANNEL_EPS; | ||
| } | ||
| const DESPIKE_DIRS = [ | ||
@@ -270,2 +328,11 @@ [1, 0], [0, 1], [1, 1], [1, -1], | ||
| return null; | ||
| // Gate 6: see ACHROMATIC_EXCESS_RATIO_MAX's doc comment. Colinearity (gate | ||
| // 4) cannot discriminate real grey content from ringing when A, B and the | ||
| // candidate are all achromatic — every grey triple is exactly colinear by | ||
| // construction — so a grey overshoot must also be small relative to the | ||
| // step it overshoots, not merely past its endpoint by the ordinary floor. | ||
| if (isAchromatic(data, offA) && isAchromatic(data, offB) && isAchromatic(data, p)) { | ||
| if (excessSq > ACHROMATIC_EXCESS_RATIO_MAX * abSq) | ||
| return null; | ||
| } | ||
| const tc = t < 0 ? 0 : 1; | ||
@@ -272,0 +339,0 @@ const ca = A4[3] + tc * AB4[3]; |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"despike.js","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"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"} | ||
| {"version":3,"file":"despike.js","sourceRoot":"","sources":["../../../src/vectorize/despike.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkHG;AAEH;;;;;;;SAOS;AACT,SAAS,SAAS,CAAC,IAAuB,EAAE,IAAY,EAAE,IAAY;IACpE,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,GAAG,CAAC;IAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,CAAE,GAAG,EAAE,CAAC;IAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,EAAE,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,EAAE,CAAC;IACvD,MAAM,EAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,CAAE,CAAC;IAC7C,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC/C,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAE5B;;;;;;GAMG;AACH,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB;;;;;;;;;;;;;GAaG;AACH,MAAM,eAAe,GAAG,IAAI,CAAC;AAE7B;;;;;;;;;;;;;GAaG;AACH,MAAM,YAAY,GAAG,GAAG,CAAC;AAEzB;;;;;;;GAOG;AACH,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B;;;;;;;GAOG;AACH,MAAM,sBAAsB,GAAG,CAAC,CAAC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,2BAA2B,GAAG,GAAG,CAAC;AAExC,+EAA+E;AAC/E,SAAS,YAAY,CAAC,IAAuB,EAAE,GAAW;IACxD,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAE,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,OAAO,GAAG,GAAG,GAAG,IAAI,sBAAsB,CAAC;AAC7C,CAAC;AAED,MAAM,YAAY,GAA2C;IAC3D,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAChC,CAAC;AAEF;;;;;;;;;;;;;;;;;GAiBG;AACH,SAAS,aAAa,CACpB,IAAuB,EAAE,KAAa,EAAE,MAAc,EACtD,EAAU,EAAE,EAAU,EAAE,EAAU,EAAE,EAAU;IAE9C,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,iBAAiB,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QAC7C,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,MAAM;YAAE,MAAM;QACvD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IACE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,MAAM;YACjD,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAE,CAAC,IAAI,MAAM,EACrD,CAAC;YACD,OAAO,IAAI,CAAC,CAAC,CAAE,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,CAAC,CAAC,CAAC;AACZ,CAAC;AAQD,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,EAAE,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAC/B,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC;AAEhC,SAAS,WAAW,CAAC,IAAuB,EAAE,GAAW,EAAE,GAAiB;IAC1E,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAE,CAAC;IACzB,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAC9B,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAClC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC,CAAE,GAAG,CAAC,GAAG,GAAG,CAAC;IAClC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,SAAS,QAAQ,CACf,IAAuB,EAAE,KAAa,EAAE,MAAc,EACtD,CAAS,EAAE,CAAS,EAAE,EAAU,EAAE,EAAU;IAE5C,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;IAChE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9D,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,IAAI,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,eAAe;QAAE,OAAO,IAAI,CAAC;IAE/D,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;IAC9B,WAAW,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC;QACzB,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,CAAC,CAAC,CAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QACnC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IAC5B,CAAC;IACD,IAAI,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC5B,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC;IACrB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,oCAAoC;IAEvE,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;QAClC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,IAAI,CAAC;QACxB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,GAAG,YAAY;QAAE,OAAO,IAAI,CAAC;IAExC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7E,MAAM,QAAQ,GAAG,WAAW,GAAG,WAAW,CAAC;IAC3C,IAAI,QAAQ,GAAG,gBAAgB;QAAE,OAAO,IAAI,CAAC;IAE7C,2EAA2E;IAC3E,0EAA0E;IAC1E,0EAA0E;IAC1E,wEAAwE;IACxE,0EAA0E;IAC1E,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;QAClF,IAAI,QAAQ,GAAG,2BAA2B,GAAG,IAAI;YAAE,OAAO,IAAI,CAAC;IACjE,CAAC;IAED,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzB,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IACjC,IAAI,EAAE,IAAI,CAAC;QAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACzD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAE,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAE,CAAC;IACjC,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;AACzF,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,yBAAyB,CAChC,IAAuB,EAAE,KAAa,EAAE,MAAc,EAAE,CAAS,EAAE,CAAS,EAAE,CAAS;IAEvF,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,EAAE,GAAG,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBAAE,SAAS;YACnC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;YAC/B,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,EAAE,IAAI,MAAM;gBAAE,SAAS;YAC9D,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;YAChC,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,EAC1D,CAAC;gBACD,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACpC,IAAI,KAAK,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IAExC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,GAAG,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,yBAAyB,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;gBAAE,SAAS;YAEtE,IAAI,IAAI,GAAsB,IAAI,CAAC;YACnC,KAAK,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,IAAI,YAAY,EAAE,CAAC;gBACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAAE,IAAI,GAAG,CAAC,CAAC;YAC3D,CAAC;YACD,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,GAAG,IAAI,CAAC;gBACf,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;gBAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;AACtD,CAAC"} |
+1
-1
| { | ||
| "name": "vecline", | ||
| "version": "2.1.3", | ||
| "version": "2.1.4", | ||
| "mcpName": "io.github.shunyagatha/vecline", | ||
@@ -5,0 +5,0 @@ "description": "The measurable image + document toolkit for JavaScript. On flat art -- logos, icons, UI, screenshots, pixel art -- the SVG is bit-exact: SSIM 1.0000, zero differing pixels, verified by rendering it back. On photographs it leads potrace, imagetracerjs and vtracer on SSIM, and says how close it landed instead of claiming perfection. Converts any of 11 raster formats to any other, writes cut-ready DXF that declares its own physical size, plus EPS, PDF and G-code for lasers, plotters and CNC. Renders PDF and Office (docx/xlsx/pptx), images-to-PDF, centerline tracing, gradients, content-aware crop and image editing. Zero-dependency portable core, an MCP server for AI agents, and a local bridge (vecline serve) so a browser can drive your LibreOffice without uploading anything.", |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is too big to display
4262314
0.45%633
1.28%52866
0.46%