NetterSilver and Claude Haiku 5.5
156fe87fdd
Reject a leading plus sign in page range numbers
...
Found while testing crates/doc/src/range.rs:12
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 06:00:21 +07:00
NetterSilver and Claude Haiku 5.5
add5e1e7dd
Reject signed hex digits in XML-ID _xHH_ escapes
...
Found while testing crates/doc/src/xml_id.rs:80 (escaped)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 03:52:14 +07:00
NetterSilver and Claude Opus 5.5
94759cbe71
Flatten transparent image pattern tiles in legacy .ai v7 export
...
Fixes #3666
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-24 02:06:40 +07:00
NetterSilver and Claude Opus 5.5
4331eba12e
Render opacity masks over the masked object's bounds
...
Fixes #3580
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-24 01:44:00 +07:00
NetterSilver and Claude Opus 5.5
22057c973e
Share native-format entries naming the same bytes; cap copies at data
...
Fixes #3574
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-24 01:44:00 +07:00
NetterSilver and Claude Haiku 5.5
58d94f6122
Hash PDF page contents without caching a decoded copy per page
...
Fixes #3570
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:43:59 +07:00
NetterSilver and Claude Haiku 5.5
609132987b
Bound DXF import work for nested inserts that produce no nodes
...
Fixes #3572
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:43:58 +07:00
NetterSilver and Claude Haiku 5.5
23bc1c0027
Fix quadratic paper layout de-duplication in DXF import
...
Fixes #3595
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:43:56 +07:00
NetterSilver and Claude Haiku 5.5
0b6097e572
Charge PostScript filter output to the EPS interpreter budget
...
Fixes #3567
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:43:54 +07:00
NetterSilver and Claude Haiku 5.5
3867e87036
Fix quadratic PostScript search in the EPS importer
...
Fixes #3582
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:43:54 +07:00
NetterSilver and Claude Haiku 5.5
abe277462b
Keep ASCII85 output from starting its first line with '%'
...
Found while testing crates/eps/src/ps.rs:190-197 (ascii85)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-24 01:43:53 +07:00
NetterSilver and Claude Opus 5.5
b3df3d2069
Raise undefinedresult for non-finite EPS arithmetic instead of panicking
...
Fixes #3585
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-24 01:43:52 +07:00
NetterSilver and Claude Opus 5.5
fb53e53eaf
Stop tiny DXF spline weights from splitting every span to the cap
...
Fixes #3588
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-23 11:59:46 +07:00
NetterSilver and Claude Haiku 5.5
77d1f8901f
Stop DXF hatch source-handle loop at first missing handle
...
Fixes #3590
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 11:38:06 +07:00
NetterSilver and Claude Haiku 5.5
b16f44d87f
Make DXF import symbol-name uniquing linear
...
Fixes #3589
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 11:20:15 +07:00
NetterSilver and Claude Opus 5.5
c770e900e3
Cap the input of live Pathfinder effects
...
Fixes #3591
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-23 11:08:06 +07:00
NetterSilver and Claude Haiku 5.5
2f620f8f31
Restore render depth counters after a caught panic
...
Fixes #3598
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 09:26:06 +07:00
NetterSilver and Claude Haiku 5.5
ffd831761e
Cap the face count of a font collection in enumerate_faces
...
Fixes #3596
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 07:44:33 +07:00
NetterSilver and Claude Haiku 5.5
56d34d4ced
Accept an explicit leading plus sign in Unit::parse
...
Found while testing crates/doc/src/lib.rs:379 (number_unit, reached from parse_measure at :374)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 02:10:57 +07:00
NetterSilver and Claude Haiku 5.5
4a29fd4112
Wrap to_hsb hue of 360 back to 0 for near-red colours
...
Found while testing crates/color/src/lib.rs:142
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-23 01:06:55 +07:00
NetterSilver and Claude Haiku 5.5
4444450a44
Keep stroke weight in document space on transformed type
...
Fixes #3241
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-21 15:42:35 +07:00
NetterSilver and Claude Haiku 5.5
acee6cccd8
Keep fallback library name for blank GPL Name line
...
Found while testing crates/color/src/palette_io.rs:373
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 15:20:13 +07:00
NetterSilver and Claude Haiku 5.5
89c1448777
Normalise negative zero in Measure tool angle
...
Found while testing crates/tools/src/xform/measure.rs:20 (shown at :66, reported at :80)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 15:20:12 +07:00
NetterSilver and Claude Haiku 5.5
781d68a971
Encode trailing space as _x20_ in XML ids to keep round trip
...
Found while testing crates/doc/src/xml_id.rs:80 (strip_unique), triggered by from_object_name at :32
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 15:20:11 +07:00
NetterSilver and Claude Haiku 5.5
7c8e772b46
Quote CSS font-family names that are not plain identifiers
...
Found while testing crates/svg/src/css.rs:112
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 15:20:11 +07:00
NetterSilver and Claude Haiku 5.5
2b0d71dbea
Fix EPS writer emitting inf for huge finite numbers
...
Found while testing crates/eps/src/ps.rs:36
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-21 15:20:10 +07:00
NetterSilver and Claude Haiku 5.5
05017111ba
Filter control characters in SVG export title and description
...
Found while testing crates/svg/src/export.rs:138 and :143
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-20 03:15:47 +07:00
NetterSilver and Claude Haiku 5.5
39daf465f5
Keep an island inside a hole a separate Shape Builder region
...
Fixes #3132
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-20 02:37:03 +07:00
NetterSilver and Claude Haiku 5.5
ec4975f237
Fix intersects_rect ignoring paths crossing zero-width/height rects
...
Found while testing crates/geom/src/hit.rs:116
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-20 02:05:00 +07:00
NetterSilver and Claude Haiku 5.5
3eed3be8e6
Stop locked guide objects from blocking marquee selection
...
Fixes #3036
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-19 22:19:42 +07:00
NetterSilver and Claude Haiku 5.5
85af04a83a
Clear dangling handles when deleting anchors from a closed path
...
Found while testing crates/engine/src/cmd/path.rs:632 (without_anchors, closed-path branch uses keep instead of open_run)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 22:19:39 +07:00
NetterSilver and Claude Haiku 5.5
bdd5470dcf
Reject self-intersecting polygons in polygon_covers_rect
...
Found while testing crates/geom/src/hit.rs:12-48
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-19 22:19:37 +07:00
NetterSilver and Claude Haiku 5.5
f2601137ab
Resolve the "ft" unit suffix to Feet in Unit::named
...
Found while testing crates/doc/src/lib.rs:274 (Unit::named)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-18 20:12:47 +07:00
NetterSilver and Claude Haiku 5.5
fe3e8f65a5
Import PDF 0 w strokes as hairlines instead of dropping them
...
Fixes #2674
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-17 19:38:50 +07:00
NetterSilver and Claude Haiku 5.5
a631a0df6c
Escape quotes and backslashes in exported CSS font-family
...
Found while testing crates/svg/src/css.rs:84 (font_props)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 16:38:42 +07:00
NetterSilver and Claude Haiku 5.5
92647fa5b6
Quote graph data CSV labels so they round-trip through graph.setData
...
Found while testing crates/doc/src/graph.rs:429 (GraphSpec::to_csv) and crates/engine/src/cmd/graph.rs:85 (parse_csv)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-17 13:20:23 +07:00
NetterSilver and Claude Haiku 5.5
80685831ac
Escape XML ID first characters that cannot start an XML name
...
Found while testing crates/doc/src/xml_id.rs:31 (from_object_name) / :10 (to_object_name)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 12:50:37 +07:00
NetterSilver and Claude Haiku 5.5
3688ad7a46
Reject '+' and other non-hex characters in Color::from_hex
...
Found while testing crates/color/src/lib.rs:184
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 12:50:37 +07:00
NetterSilver and Claude Haiku 5.5
8ca4cd2cbf
Fix graph axis labels saturating beyond the i64 range
...
Found while testing crates/engine/src/cmd/graph.rs:193 (fmt_value)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-17 12:50:37 +07:00
NetterSilver and Claude Haiku 5.5
e510190867
Keep Layers panel selection inside the isolated group
...
Fixes #2286
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 14:57:21 +07:00
NetterSilver and Claude Haiku 5.5
ee6cd6de55
Keep paragraph styles aligned in Find and Replace with line breaks
...
Found while testing crates/engine/src/cmd/typemenu.rs:668 (find_replace / edit_runs)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 14:57:20 +07:00
NetterSilver and Claude Haiku 5.5
c54a9b0bef
Reveal the active layer in the Layers panel after a canvas selection
...
Fixes #2049
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 04:08:42 +07:00
NetterSilver and Claude Haiku 5.5
dfdb98463f
Open PDFs and .ai files with an image over 256 MB decoded
...
Fixes #2005
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 03:36:19 +07:00
NetterSilver and Claude Haiku 5.5
a8e9b9d86e
Make New Document preset cards follow the chosen units
...
Fixes #2078
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 02:21:27 +07:00
NetterSilver and Claude Haiku 5.5
5162f830d0
Fix New Document orientation on category tabs and preset cards
...
Fixes #2084
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 02:21:27 +07:00
NetterSilver and Claude Haiku 5.5
62ab3bd797
Make SVG export of type with control characters well-formed
...
Found while testing crates/svg/src/export.rs:1908
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 02:21:27 +07:00
NetterSilver and Claude Haiku 5.5
18c1bb0d55
Apply the sign of a picas+points value to the whole value
...
Found while testing crates/doc/src/lib.rs:~298 (parse_measure, picas+points branch)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
2026-10-16 02:21:27 +07:00
NetterSilver and Claude Haiku 5.5
1524ceae09
Evaluate * and / left to right in field arithmetic
...
Found while testing crates/doc/src/lib.rs:269-297 (parse_measure, used by Unit::parse and parse_number)
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 02:21:27 +07:00
NetterSilver and Claude Haiku 5.5
a59621fa78
Accept a negative operand after an operator in field arithmetic
...
Found while testing crates/doc/src/lib.rs:272
Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com >
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-16 02:21:27 +07:00