-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Fix cubic subdivision estimation using correct Wang’s formula #177758
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
Conversation
Replaced the incorrect Abs()/Max() operations with squared magnitude checks via dot products
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request correctly implements Wang's formula for cubic curve subdivision estimation by using squared magnitude checks instead of the previous incorrect Abs()/Max() operations. This fixes a bug in how curve flatness is determined. The implementation for quadratic subdivisions was also refactored for consistency, and a new unit test file was added for the formula. My review includes a couple of suggestions to improve code consistency and test coverage.
|
Golden file changes have been found for this pull request. Click here to view and triage (e.g. because this is an intentional change). If you are still iterating on this change and are not ready to resolve the images on the Flutter Gold dashboard, consider marking this PR as a draft pull request above. You will still be able to view image results on the dashboard, commenting will be silenced, and the check will not try to resolve itself until marked ready for review. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
flar
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Gemini's comments are worthwhile if you want to accept them. If not, we can triage the goldens and autosubmit.
If I want to accept them, should I make the code changes and then add another commit after the current one? As long as I don’t do a force push or rebase, the previous issues won’t be triggered again, right? |
Correct, committing it is fine, as is also "merging to ToT" which is one of the (default?) github "update this branch" options, as long as rebase is avoided. |
|
I just checked the "Google testing" failure and the failures are all golden image failures which is to be expected. Those goldens will be updated when we roll this into upstream repos and are mostly a "heads up", not a failure for the purposes of an individual PR as long as they "are to be expected". I'll force it to passing when you are ready. |
Thanks for the clarification, I'm ready now. |
|
Golden file changes are available for triage from new commit, Click here to view. For more guidance, visit Writing a golden file test for Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. |
flutter/flutter@6f8abdd...027f2e4 2025-10-31 [email protected] Roll Dart SDK from bb45c4186fb2 to db168d9e7471 (1 revision) (flutter/flutter#177839) 2025-10-31 [email protected] Hide "waiting for customer" issues from text input triage (flutter/flutter#177524) 2025-10-31 [email protected] Making the multiple_windows example app demonstrate dialogs of dialogs (flutter/flutter#177786) 2025-10-31 [email protected] Fix ElevatedButton.icon breaks focus traversal and VoiceOver when toggling icon (flutter/flutter#177579) 2025-10-31 [email protected] Fix FilledButton.icon and FilledButton.tonalIcon break focus traversal and VoiceOver (flutter/flutter#177593) 2025-10-31 [email protected] Fix cubic subdivision estimation using correct Wang’s formula (flutter/flutter#177758) 2025-10-31 [email protected] Roll Skia from ccbd7697791f to 2cf9a1923078 (1 revision) (flutter/flutter#177832) 2025-10-31 [email protected] Roll Fuchsia Linux SDK from ksXeDDo2yYBXJ4uEu... to O-OoG6j4wHXd1ThNM... (flutter/flutter#177831) 2025-10-31 [email protected] Roll Skia from 1532fabb4b7d to ccbd7697791f (4 revisions) (flutter/flutter#177828) 2025-10-31 [email protected] Roll Dart SDK from cf24b43cb643 to bb45c4186fb2 (2 revisions) (flutter/flutter#177824) 2025-10-31 [email protected] Roll Skia from 825d5c854302 to 1532fabb4b7d (3 revisions) (flutter/flutter#177808) 2025-10-30 [email protected] Roll Dart SDK from da663596bf6d to cf24b43cb643 (2 revisions) (flutter/flutter#177798) 2025-10-30 [email protected] Update the path used by the download_fuchsia_sdk.py script to //third_party/fuchsia-sdk (flutter/flutter#177794) 2025-10-30 [email protected] Roll Skia from 6af53143b120 to 825d5c854302 (2 revisions) (flutter/flutter#177788) 2025-10-30 [email protected] Fixes RuntimeEffect when used with ImageFilter.compose and gaussian blur (flutter/flutter#177687) 2025-10-30 [email protected] Adds cache extent type to two_dimentional_viewport (flutter/flutter#177411) 2025-10-30 98614782+auto-submit[bot]@users.noreply.github.com Reverts "Update .ci.yaml in flutter/flutter to use 15.5 (#177669)" (flutter/flutter#177793) 2025-10-30 [email protected] Marks Windows windowing_test to be flaky (flutter/flutter#177716) 2025-10-30 [email protected] Fixes `SettingsChannelTest` flake (flutter/flutter#177061) 2025-10-30 [email protected] Implements uniform-by-name for web (flutter/flutter#176980) 2025-10-30 [email protected] Update .ci.yaml in flutter/flutter to use 15.5 (flutter/flutter#177669) 2025-10-30 [email protected] [Impeller] Fall back to OpenGL ES on older Adreno GPUs (flutter/flutter#177747) 2025-10-30 [email protected] [VPAT] Update a11y assessment app and guideline tests (flutter/flutter#177690) 2025-10-30 [email protected] Roll Skia from 18457971c30f to 6af53143b120 (4 revisions) (flutter/flutter#177778) 2025-10-30 [email protected] Roll Packages from 41c6b3d to 1a7075b (2 revisions) (flutter/flutter#177777) 2025-10-30 [email protected] Roll Dart SDK from 4785d5971d64 to da663596bf6d (1 revision) (flutter/flutter#177772) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC [email protected],[email protected] on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…r#177758) Replaced the incorrect Abs()/Max() operations with squared magnitude checks via dot products
Replaced the incorrect Abs()/Max() operations with squared magnitude checks via dot products