feat: add configurable compression level to SD0 converter#18
Merged
Conversation
Allow callers to specify a compression level (0-9) instead of always using best (9). This enables faster builds during development while keeping the option for maximum compression in release builds. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Contributor
Author
|
The lint failure is a pre-existing issue unrelated to this PR's changes. It's caused by an older version of the |
Xiphoseer
reviewed
Jun 23, 2026
Address review feedback: - Change compression field from Option<Compression> to Option<u32> to avoid leaking flate2's Compression type in the public API - Use unwrap_or_else(Compression::best) to avoid eager evaluation Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
RemFile was incorrectly using ArgEffect::Include instead of ArgEffect::Exclude, causing file exclusions to be treated as inclusions. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Xiphoseer
approved these changes
Jun 25, 2026
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.
Summary
compressionfield to theConverterstruct, allowing callers to specify a compression level (0-9) instead of always usingCompression::best()(9)Motivation
When building during, level 9 compression is unnecessarily slow with not enough benefit in compression. This allows tools like LUpdate to offer a
--compressionflag for faster builds while keeping maximum compression available for those that want it.Test plan
compressionstill getCompression::best()compression: Some(Compression::new(1))produces valid SD0 output at faster speed🤖 Generated with Claude Code