vectorcraft/crates
bflatastic 4204ce36db Image Trace: a palette of the picture's own colours
Color and Grayscale chose their colours from every pixel, so the blends along anti-aliased edges took palette
entries and traced as slivers, and with more colours asked for than the art has, k-means split flat colours
along their noise and the halves traced as specks all over each other.

- The palette is made from the picture's own colours: a pixel that lies between the pixels on opposite sides
  of it is a blend and counts for nothing (lines one pixel wide and noise are no blends).
- Colours that noise made of one colour merge: close colours whose pixels are mixed through each other. The
  bands of a gradient keep to themselves and stay apart.
- A blend pixel whose nearest palette colour is a third colour (halfway from navy to yellow lies an olive that
  is nearer to a green elsewhere) goes to the nearer of the two colours it lies between.
- Boxes are cut where their two sides differ most (Otsu's criterion) instead of at the median, which split the
  largest colour of flat art along its noise and left two smaller colours in one box.
- Colours are compared in Oklab when pixels are assigned and in k-means.

On each preset's own inputs, all sizes and variants (docs/image-trace-quality.md), before -> after:
- 16 Colors: 69.9 -> 4.2 paths, 1743 -> 66 anchors, outlines 5.08 -> 0.13 px off on average (largest 85.9 ->
  1.09), kinks 1376 -> 4.4, paths in a colour the art doesn't have 5.9 -> 0
- 6 Colors: 21.2 -> 4.0 paths, 4.44 -> 0.14 px off; 3 Colors: colour error 4.86 -> 0.43, 0.33 -> 0.09 px off
- High Fidelity Photo: 3636 -> 639 paths, 81,597 -> 25,604 anchors, colour error 2.50 -> 2.37; a 1 megapixel
  photo-like image 1.98 -> 0.42 s (51,389 -> 4,298 paths), a 4 megapixel one traced (27,583 paths) where it was
  refused
- Low Fidelity Photo: 128 -> 55 paths, colour error 2.59 -> 2.67; Shades of Gray: 91 -> 73 paths, 9.29 -> 9.33
2026-10-13 03:48:30 +07:00
..
affinity Part of #666: Affinity rectangles keep per-corner radii and straight corners 2026-10-12 15:41:46 +07:00
brush #1172: share an object's appearance with its undo history until it changes 2026-10-11 23:27:21 +07:00
cad fix(cad): a closed control-point DXF SPLINE is read as closed (#1299) 2026-10-12 15:16:43 +07:00
color Review: palette writing keeps the swatches PaletteFormat::holds names; ROADMAP (#1110) 2026-10-11 11:33:07 +07:00
doc Fix #1448, #1460: Transform Objects in the Transform dialogs and Transform Each, and Reflect across an angle 2026-10-13 02:54:08 +07:00
effects Effect › 3D and Materials: Extrude & Bevel, Inflate and Rotate 2026-10-13 00:35:07 +07:00
engine Fix #1471: making and restyling type reports text that doesn't fit its frame 2026-10-13 03:27:13 +07:00
eps Fix #1423: an Affinity text frame too short for its first line is made taller instead of showing nothing 2026-10-12 23:42:56 +07:00
format #1244: reserve at most 64 MB for a file's entry before its data is read 2026-10-12 11:03:01 +07:00
geom Part of #1377: Rectangular Grid and Polar Grid tool options (skew, frame, compound path, fill) 2026-10-12 19:22:36 +07:00
mcp Fix #1471: making and restyling type reports text that doesn't fit its frame 2026-10-13 03:27:13 +07:00
metafile #1244: smaller objects: Node 352 -> 152 bytes, NodeKind 200 -> 80, and a cheaper undo estimate 2026-10-12 11:02:32 +07:00
pathops Fix #1462: Split Into Grid has its row and column sizes, gutters, totals, Add Guides and Preview 2026-10-13 02:48:36 +07:00
pdf PDF import: an editor's .ai keeps its RGB numbers, and a fill faded or masked by its group keeps its stroke apart 2026-10-12 23:06:19 +07:00
plugins Plug-ins: numeric defaults stay in their declared range 2026-10-13 02:21:35 +07:00
render Effect › 3D and Materials: Extrude & Bevel, Inflate and Rotate 2026-10-13 00:35:07 +07:00
svg SVG export: knockout groups of opaque art draw in order, without masks 2026-10-12 23:06:34 +07:00
testkit Fix #1387: a .ai whose PDF part is only text opens from it 2026-10-12 19:50:53 +07:00
text Type: frames and paths beyond 1,000,000,000 pt hold no text, and layout limits its search for room 2026-10-13 00:34:40 +07:00
three-d 3D and Materials: the edge index's search from outside its grid looks along the side 2026-10-13 03:14:50 +07:00
tools Fix #1408: the Transform tools and commands act on the anchors selected with Direct Selection 2026-10-12 21:01:15 +07:00
trace Image Trace: a palette of the picture's own colours 2026-10-13 03:48:30 +07:00
ui-egui i18n(hu): informal address in a row added on merge 2026-10-13 03:14:50 +07:00