Commit graph

396 commits

Author SHA1 Message Date
jaseg
b07f461be3 Bump version to v3.3.0 2026-04-25 13:14:28 +02:00
jaseg
a4c06658fe gerbolyze: Add scale-series sub-command 2026-04-25 13:14:28 +02:00
jaseg
25733242fc Update uv lockfiles 2026-04-25 12:28:48 +02:00
jaseg
671ba536fb svg-flatten-wasi: Fix typo 2026-04-25 12:28:28 +02:00
jaseg
a5c14fc09a svg-flatten: Improve error messages when calling usvg 2026-04-25 12:27:58 +02:00
jaseg
e977db5bb5 svg-flatten: Default s-exp module name to input filename stem 2026-04-25 12:27:37 +02:00
jaseg
095ea10ee8 svg-flatten: Fix parsing of layer groups in recent usvg
Recent usvg versions introduce an unnamed parent group at root level
when the input SVG's viewBox and width/height attributes mismatch. We
now deal with both this situation and with usvg's old behavior
correctly.
2026-04-25 12:26:34 +02:00
jaseg
71531021b9 svg-flatten: Automatically map gerbonara layer names to kicad layers in s-exp output 2026-04-25 12:25:40 +02:00
jaseg
30ba0da742 Make resvg-wasi dependency optional again 2026-03-21 11:13:31 +01:00
jaseg
5c6fc59f68 Bump version to v3.2.0 2026-03-10 22:42:50 +01:00
jaseg
bf704e0f35 Disable broken ubuntu rolling image for now
The ubuntu rolling image didn't build because ubuntu's rustc is too old
for up-to-date resvg.
2026-03-10 21:30:23 +01:00
jaseg
48ecde4698 Move gerbolyze module to pyproject.toml/uv-build
...and hopefully fix tests for current gerbonara.
2026-03-10 21:17:55 +01:00
jaseg
7d008ef057 Update svg-flatten-wasi package to pyproject.toml/uv-build 2026-03-10 19:02:21 +01:00
jaseg
e0c6c0c03a Fix typo in __init__.py
Partially fixes github issue #53
2026-03-10 17:17:32 +01:00
jaseg
cb827edde8 Update gerbolyze paste command line in README
Partially fixes #53
2026-03-10 17:16:26 +01:00
jaseg
302d7d3db7 svg-flatten: Fix document scale with newer USVG 2025-01-22 15:25:05 +01:00
jaseg
05d4b0195f Make tox tests run 2025-01-22 14:45:13 +01:00
Wulfsta
39feccb979 fix empty-template additional layers 2024-12-17 21:20:04 -05:00
jaseg
7ce9f1672e svg-flatten: tests: Adjust vectorizer image comparison thresholds
With some changes in usvg/resvg the old thresholds were too low. I
visually checked svg-flatten's output, and it looks okay.
2024-09-23 22:46:50 +02:00
jaseg
d2ef9d19ce Add regression test for github issue #48
This bug caused a hang when deholing certain concave polygons
2024-09-23 22:46:04 +02:00
jaseg
67e4563a8f svg-flatten: Fix pattern stroke rendering
We applied a transform backwards
2024-09-23 22:45:09 +02:00
jaseg
d6ca9cdf71 svg-flatten: Fix uniformity calculation
Previously, the uniformity check miscalculated the worst-case absolute deviation
2024-09-23 22:44:31 +02:00
jaseg
00f0d772f7 svg-flatten: Fix hang in dehole_polytree
previously, dehole_polytree could hang for certain inputs containing
concave holes.
2024-09-23 20:38:27 +02:00
jaseg
f50c4f8172 Bump version to v3.1.9 2024-07-05 19:25:45 +02:00
jaseg
af79ff24df Add regression test for large attr issue (#46)
The test processes an SVG file of ~36MB with about 500k points per
layer, so it's a bit slow.
2024-07-05 19:20:29 +02:00
jaseg
d7df97e8f6 Improve svg-flatten document scale error messages 2024-07-05 12:37:48 +02:00
jaseg
bd2b3733ee Move from bs4 to etree
BeautifulSoup when using lxml in XML mode would mis-parse XML with very
long attributes. Specifically, a <polygon> with about 18MB in its points
attr would make lxml not return anything past that point in the file.

bs4 uses lxml, which uses libxml2. libxml2 has a config option for
parsing "huge" files that increases buffer sizes and avoids this error,
and this option is exposed in lxml, but AFAICT you can't tell bs4 to set
it, and bs4 just silently swallows the error from lxml.

Fixes one half of #46
2024-07-05 12:37:42 +02:00
jaseg
534c2e4ea3 Bump version to v3.1.8
This version adds compatibility with resvg/usvg v0.42.0
2024-06-26 11:24:23 +02:00
jaseg
6f075fff2b svg-flatten: Fix handling of missing viewBox
This makes svg-flatten compatible with usvg v0.42.0, which changed its
viewbox/width/height output.

Closes #47
2024-06-26 11:16:24 +02:00
jaseg
419fa73865 Bump version to v3.1.7 2023-11-14 22:06:18 +01:00
jaseg
357c49016d Bump required gerbonara version to v1.2.0
gerbonara v1.2.0 lands a fix for extremely broken aperture macro parsing
at certain cheap PCB fab houses.
2023-11-14 22:06:18 +01:00
jaseg
2384f4fc94 Fix failing unit test 2023-11-14 20:51:05 +01:00
jaseg
8e8bcee209 Fix infinite loop bug in dehole_polytree
Closes #43. Thanks to github users @Altomare for reporting this one, and
@fstark for suggesting a fix.
2023-11-14 20:50:52 +01:00
jaseg
1442601f7b Bump version to v3.1.6 2023-10-27 15:12:01 +02:00
jaseg
7e6b8abc85 ci: Disable tests for now 2023-10-27 15:12:01 +02:00
jaseg
92f78e09de Work around pip now needing a new feature switch for no good reason
...except to break every CI pipeline in existence, that is.
2023-10-27 00:19:53 +02:00
jaseg
42a4665268 Bump required gerbonara and svg-flatten-wasi versions 2023-10-27 00:19:48 +02:00
jaseg
4d711a2fe8 Update all svg-flatten dependencies 2023-10-26 00:32:02 +02:00
jaseg
00eb9594d6 svg-flatten: Add cubic bezier support for newer usvg versions 2023-10-26 00:04:17 +02:00
jaseg
8ab0c9fa01 Make warning messages in color handling code easier to understand 2023-06-21 15:39:46 +02:00
jaseg
2fbde62df9 Fix build on newer gcc 2023-06-21 15:39:32 +02:00
jaseg
86e5c531f5 README: Add note on resvg-wasi 2023-04-19 11:03:34 +02:00
jaseg
8d2f1b830d Add bs4 dependency 2023-04-19 10:59:52 +02:00
jaseg
17c186ea6b Bump version to v3.1.5 2023-04-16 20:37:54 +02:00
jaseg
8c2fc45601 ci: Use system twine in svg-flatten 2023-04-16 20:37:33 +02:00
jaseg
bcfd27bd53 Bump version to v3.1.4 2023-04-16 20:23:59 +02:00
jaseg
f80f341a72 svg-flatten: Remove trace of legacy usvg command line 2023-04-16 20:23:31 +02:00
jaseg
c5640b4db3 svg-flatten: Improve error handling in Makefile 2023-04-16 20:13:51 +02:00
jaseg
288e36764c svg-flatten: Fix broken math in transform inversion 2023-04-16 20:13:24 +02:00
jaseg
4aa448a5a3 svg-flatten: Fix pattern clipping for rotated/skewed transforms 2023-04-16 20:12:59 +02:00