-
Notifications
You must be signed in to change notification settings - Fork 175
Fix scrollbar rendering bug #1512
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This is a very unprincipled fix, but the short version is that reducing the scrollbar radius seems to stop the bug from occurring.
|
See also linebender/vello#1314 |
|
How is this related to #1128? Looking at linebender/vello#1314, that seems to be a different issue? |
|
AFAICT #1128 and linebender/vello#1314 describe variations of the same bug (the screenshot I posted just happens to have more spectacular rendering artifacts, but most of the times it has the same artifacts as the one shown in #1128). In my experiments, changing the scrollbar radius was enough to stop the rendering bugs, though I'd rather not merge this until I've had independent confirmation, especially from people on Macs. |
|
I just tested this on a M4 Pro with macOS 15.2 and I can confirm I see the glitching on main but not the branch from this PR. Opus 4.5 says the sparse strips stuff would fix this and make a hacky fix not needed:
|
For the record, I really don't find these "here's what the LLM told me" comments helpful. |
|
Ok noted, but this is a really hacky fix that just sweeps the problem under the rug, so I tried to use a hacky solution. Is the LLM wrong? I think as I dig into this it is not. As a designer being forced to design the visual form in a certain way to avoid a bug makes the software unusable. |
I firmly believe so. Conflation artifacts are only related to the pixels where two paths (or subpaths) intersect, which the screenshots in the linked issues clearly do not show. The sparse strips work doesn't fundamentally change how paths are rendered in a way which makes watertightness bugs impossible; the fact that it's a new implementation is the main reason that the sparse strips work is less likely to show this issue, but obviously it's likely to have its own issues. Everyone agrees that we should fix the underlying bug, but I find it unlikely that stating distruths about the cause will help with that. What would help is making a reproduction from pure Vello commands, and then minimising that to the smallest geometry which still reproduces it (i.e. inlining the path segments output by Kurbo's iterator and eliminating those which aren't needed); it would also help to see whether this still happens with |
This is a very unprincipled fix, but the short version is that reducing the scrollbar radius seems to stop the bug from occurring.