Fix rendering hashes, empty bounds, and script preservation - #24
Merged
Conversation
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.
Rendering hashes could miss movement within an unchanged bounding box and depend on the previous contents of the output buffer. Empty frames could also retain a previous visible rectangle.
Kerning,Language, andLayoutResX/Yin the Aegisub wrapper.Validation: all three Meson tests pass on macOS arm64 with zlib enabled and disabled. Regression coverage includes reused buffers, unchanged-frame caching, empty scripts, movement within fixed bounds, equal-area drawings with different pixel arrangements, wrapper/native rendering parity, and all four newline/BOM combinations. The new C, wrapper, and newline tests fail against the corresponding original code.
CI: Windows x64, macOS arm64, macOS x86_64, Linux with system dependencies, and Linux without zlib all pass.
Hash values intentionally change with this correction; previously stored hashes should be regenerated.
Opus reviewed
fix-rendering-inspectionwith the prompt: "Please review the fix-rendering-inspection branch. Don't use your code review skill." Its static review found no bugs in the fixes. It did not independently execute the tests; the local and CI results above provide runtime validation. Minor suggestions concerned comments/includes, release-time versioning, and pre-existing example error handling.