Repository navigation
Conversation
Fixes #42 Co-authored-by: ajianaz <ajianaz@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
…le (#46) Cargo.lock still recorded 0.1.0 while the workspace Cargo.toml moved to 0.1.1 in the v0.1.1 release; any cargo invocation on a fresh clone dirtied the tree. Sync the lockfile and add --locked to CI check/clippy/test/build so this class of drift fails CI instead of accumulating. Fixes #44 Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
…ming metadata (#47) * test(core): parity test between vectorize() and vectorize_to() Same request through both entry points must produce identical SVG bytes and equal metadata (ignoring processing_time_ms), across both engines x optimize on/off, including a translucent region. Locks the divergence class that produced #42. Reveals an existing metadata bug on the PixelExact streaming path: svg_byte_size is off by one per emission of the closing tag. Ref #45 * fix(core): correct PixelExact streaming metadata (svg_byte_size, path_count) The parity test from the previous commit caught two real metadata bugs on the streaming path: - svg_byte_size under-counted by 1 per run: byte_count += 6 for the 7-byte closing tag "</svg>\\n" - path_count double-counted translucent paths: incremented in the classification loop AND again when emitting the grouped <g> block, so every translucent path was counted twice Both counters now reflect the actual written bytes/paths, matching the buffered vectorize() path and the API. Fixes #45 --------- Co-authored-by: ajianaz <ajianaz@users.noreply.github.com>
Ref #48 Co-authored-by: ajianaz <ajianaz@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Fixed: - Streaming path (vectorize_to) now applies SVG optimization when optimize=true; it was silently skipped (#43) - PixelExact streaming metadata: svg_byte_size off-by-one and path_count double-counting translucent paths (#47) Changed: - CI, release workflow and Dockerfile build with --locked; Cargo.lock synced with the workspace version (#46, #50) - Parity test vectorize()/vectorize_to() hardened: 58 cases, config matrix, ground-truth counter assertions (#47, #49) Co-authored-by: ajianaz <ajianaz@users.noreply.github.com> Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Release merge develop → main for v0.1.2. Tag
v0.1.2will be pushed to main immediately after this PR merges, triggering the release workflow (build artifacts + crates.io publish).Brings develop (7 commits ahead of main) current: streaming SVG optimization fix (#43), lockfile hygiene (#46, #50), parity test infrastructure + PixelExact streaming metadata fix (#47, #49), release prep (#51).
Type
chore— Maintenance, CI, etc.Changes
Testing
Related Issues
Closes out the 2026-10-15 audit session (#42–#48 all resolved).
Checklist